payload 3.0.0-alpha.2 → 3.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/auth.js +5 -44
  2. package/bin.js +40 -1
  3. package/components.d.ts +14 -0
  4. package/components.js +71 -0
  5. package/config.js +10 -59
  6. package/database.js +21 -108
  7. package/dist/admin/RichText.js +2 -5
  8. package/dist/admin/elements/Cell.js +2 -5
  9. package/dist/admin/elements/DatePicker.js +2 -5
  10. package/dist/admin/elements/PreviewButton.js +2 -5
  11. package/dist/admin/elements/PublishButton.js +2 -5
  12. package/dist/admin/elements/SaveButton.js +2 -5
  13. package/dist/admin/elements/SaveDraftButton.js +2 -5
  14. package/dist/admin/elements/Tab.js +2 -5
  15. package/dist/admin/forms/Error.js +2 -5
  16. package/dist/admin/forms/FieldDescription.js +2 -5
  17. package/dist/admin/forms/FieldTypes.js +2 -5
  18. package/dist/admin/forms/Form.d.ts +22 -0
  19. package/dist/admin/forms/Form.d.ts.map +1 -1
  20. package/dist/admin/forms/Form.js +2 -5
  21. package/dist/admin/forms/Label.js +2 -5
  22. package/dist/admin/forms/RowLabel.js +2 -5
  23. package/dist/admin/types.d.ts +2 -1
  24. package/dist/admin/types.d.ts.map +1 -1
  25. package/dist/admin/types.js +2 -5
  26. package/dist/admin/views/types.d.ts +41 -0
  27. package/dist/admin/views/types.d.ts.map +1 -0
  28. package/dist/admin/views/types.js +3 -0
  29. package/dist/assets/assets.d.js +0 -1
  30. package/dist/auth/baseFields/accountLock.js +2 -12
  31. package/dist/auth/baseFields/apiKey.js +6 -21
  32. package/dist/auth/baseFields/auth.js +6 -16
  33. package/dist/auth/baseFields/verification.js +4 -14
  34. package/dist/auth/cookies.js +6 -33
  35. package/dist/auth/crypto.js +7 -30
  36. package/dist/auth/defaultAccess.js +2 -12
  37. package/dist/auth/defaultUser.js +4 -14
  38. package/dist/auth/executeAccess.js +5 -15
  39. package/dist/auth/extractJWT.js +4 -14
  40. package/dist/auth/getAccessResults.js +5 -15
  41. package/dist/auth/getAuthenticatedUser.js +2 -12
  42. package/dist/auth/getFieldsToSign.js +5 -15
  43. package/dist/auth/index.js +4 -27
  44. package/dist/auth/isLocked.js +2 -12
  45. package/dist/auth/operations/access.js +12 -22
  46. package/dist/auth/operations/forgotPassword.js +17 -32
  47. package/dist/auth/operations/init.js +2 -12
  48. package/dist/auth/operations/local/forgotPassword.js +8 -18
  49. package/dist/auth/operations/local/index.js +12 -27
  50. package/dist/auth/operations/local/login.js +8 -18
  51. package/dist/auth/operations/local/resetPassword.js +8 -18
  52. package/dist/auth/operations/local/unlock.js +8 -18
  53. package/dist/auth/operations/local/verifyEmail.js +8 -18
  54. package/dist/auth/operations/login.js +32 -47
  55. package/dist/auth/operations/logout.js +6 -21
  56. package/dist/auth/operations/me.js +4 -19
  57. package/dist/auth/operations/refresh.js +19 -34
  58. package/dist/auth/operations/registerFirstUser.js +10 -20
  59. package/dist/auth/operations/resetPassword.js +20 -43
  60. package/dist/auth/operations/unlock.js +16 -39
  61. package/dist/auth/operations/verifyEmail.js +14 -37
  62. package/dist/auth/sendVerificationEmail.js +4 -14
  63. package/dist/auth/strategies/apiKey.js +4 -19
  64. package/dist/auth/strategies/jwt.js +6 -21
  65. package/dist/auth/strategies/local/authenticate.js +6 -21
  66. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  67. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  68. package/dist/auth/strategies/local/register.js +6 -16
  69. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  70. package/dist/auth/types.js +2 -12
  71. package/dist/bin/generateTypes.js +12 -27
  72. package/dist/bin/index.js +11 -53
  73. package/dist/bin/loadEnv.js +13 -26
  74. package/dist/bin/migrate.js +15 -30
  75. package/dist/bundlers/mocks/db-mongodb.js +0 -1
  76. package/dist/bundlers/mocks/db-postgres.js +2 -12
  77. package/dist/bundlers/mocks/dotENV.js +2 -12
  78. package/dist/bundlers/mocks/emptyModule.js +2 -12
  79. package/dist/bundlers/mocks/fileMock.js +2 -12
  80. package/dist/bundlers/types.js +2 -5
  81. package/dist/collections/config/build.js +2 -12
  82. package/dist/collections/config/defaults.js +9 -32
  83. package/dist/collections/config/sanitize.js +34 -49
  84. package/dist/collections/config/schema.js +157 -172
  85. package/dist/collections/config/types.d.ts +5 -5
  86. package/dist/collections/config/types.d.ts.map +1 -1
  87. package/dist/collections/config/types.js +2 -5
  88. package/dist/collections/dataloader.js +8 -23
  89. package/dist/collections/operations/create.js +38 -53
  90. package/dist/collections/operations/delete.js +27 -42
  91. package/dist/collections/operations/deleteByID.js +27 -42
  92. package/dist/collections/operations/docAccess.js +10 -20
  93. package/dist/collections/operations/find.js +25 -40
  94. package/dist/collections/operations/findByID.js +21 -36
  95. package/dist/collections/operations/findVersionByID.js +19 -34
  96. package/dist/collections/operations/findVersions.js +20 -35
  97. package/dist/collections/operations/local/create.js +10 -25
  98. package/dist/collections/operations/local/delete.js +10 -20
  99. package/dist/collections/operations/local/find.js +8 -18
  100. package/dist/collections/operations/local/findByID.js +8 -18
  101. package/dist/collections/operations/local/findVersionByID.js +8 -18
  102. package/dist/collections/operations/local/findVersions.js +8 -18
  103. package/dist/collections/operations/local/index.js +20 -35
  104. package/dist/collections/operations/local/restoreVersion.js +8 -18
  105. package/dist/collections/operations/local/update.js +12 -27
  106. package/dist/collections/operations/restoreVersion.js +26 -41
  107. package/dist/collections/operations/update.js +43 -58
  108. package/dist/collections/operations/updateByID.js +44 -59
  109. package/dist/collections/operations/utils.js +3 -12
  110. package/dist/config/build.js +9 -15
  111. package/dist/config/clientFiles.js +2 -12
  112. package/dist/config/createClientConfig.d.ts.map +1 -1
  113. package/dist/config/createClientConfig.js +12 -25
  114. package/dist/config/defaults.js +4 -19
  115. package/dist/config/find.js +18 -33
  116. package/dist/config/load.d.ts +1 -3
  117. package/dist/config/load.d.ts.map +1 -1
  118. package/dist/config/load.js +8 -37
  119. package/dist/config/sanitize.js +25 -40
  120. package/dist/config/schema.d.ts.map +1 -1
  121. package/dist/config/schema.js +116 -133
  122. package/dist/config/shared/adminViewSchema.js +9 -24
  123. package/dist/config/shared/componentSchema.js +21 -50
  124. package/dist/config/types.d.ts +12 -21
  125. package/dist/config/types.d.ts.map +1 -1
  126. package/dist/config/types.js +9 -21
  127. package/dist/config/validate.js +15 -71
  128. package/dist/database/combineQueries.js +4 -14
  129. package/dist/database/createDatabaseAdapter.js +14 -24
  130. package/dist/database/flattenWhereToOperators.js +2 -12
  131. package/dist/database/getLocalizedPaths.js +7 -22
  132. package/dist/database/migrations/createMigration.js +7 -22
  133. package/dist/database/migrations/getMigrations.js +4 -12
  134. package/dist/database/migrations/migrate.js +12 -22
  135. package/dist/database/migrations/migrateDown.js +12 -22
  136. package/dist/database/migrations/migrateRefresh.js +16 -24
  137. package/dist/database/migrations/migrateReset.js +12 -22
  138. package/dist/database/migrations/migrateStatus.js +8 -18
  139. package/dist/database/migrations/migrationTemplate.js +2 -12
  140. package/dist/database/migrations/migrationsCollection.js +2 -12
  141. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  142. package/dist/database/migrations/readMigrationFiles.js +12 -24
  143. package/dist/database/queryValidation/types.js +2 -5
  144. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  145. package/dist/database/queryValidation/validateSearchParams.js +13 -21
  146. package/dist/database/types.d.ts +5 -2
  147. package/dist/database/types.d.ts.map +1 -1
  148. package/dist/database/types.js +2 -5
  149. package/dist/email/build.js +11 -26
  150. package/dist/email/defaults.js +2 -12
  151. package/dist/email/mockHandler.js +8 -23
  152. package/dist/email/sendEmail.js +2 -12
  153. package/dist/email/types.js +2 -5
  154. package/dist/errors/APIError.js +4 -19
  155. package/dist/errors/AuthenticationError.js +7 -22
  156. package/dist/errors/DuplicateCollection.js +4 -19
  157. package/dist/errors/DuplicateFieldName.js +4 -19
  158. package/dist/errors/DuplicateGlobal.js +4 -19
  159. package/dist/errors/ErrorDeletingFile.js +7 -22
  160. package/dist/errors/FileUploadError.js +7 -22
  161. package/dist/errors/Forbidden.js +7 -22
  162. package/dist/errors/InvalidConfiguration.js +6 -21
  163. package/dist/errors/InvalidFieldName.js +4 -19
  164. package/dist/errors/InvalidFieldRelationship.js +4 -19
  165. package/dist/errors/InvalidSchema.js +6 -21
  166. package/dist/errors/LockedAuth.js +7 -22
  167. package/dist/errors/MissingCollectionLabel.js +4 -19
  168. package/dist/errors/MissingFieldInputOptions.js +4 -19
  169. package/dist/errors/MissingFieldType.js +6 -21
  170. package/dist/errors/MissingFile.js +7 -22
  171. package/dist/errors/NotFound.js +7 -22
  172. package/dist/errors/QueryError.js +6 -21
  173. package/dist/errors/TimestampsRequired.js +4 -19
  174. package/dist/errors/UnathorizedError.js +7 -22
  175. package/dist/errors/ValidationError.js +8 -23
  176. package/dist/errors/index.js +20 -94
  177. package/dist/errors/types.js +2 -19
  178. package/dist/exports/auth.js +5 -44
  179. package/dist/exports/components/utilities.d.ts +0 -1
  180. package/dist/exports/components/utilities.js +0 -1
  181. package/dist/exports/config.js +10 -59
  182. package/dist/exports/database.js +21 -108
  183. package/dist/exports/errors.js +2 -68
  184. package/dist/exports/fields/index.js +3 -26
  185. package/dist/exports/fields/validations.js +2 -19
  186. package/dist/exports/operations.js +29 -125
  187. package/dist/exports/types.js +4 -74
  188. package/dist/exports/utilities.js +28 -141
  189. package/dist/exports/versions.js +9 -45
  190. package/dist/express/middleware/errorHandler.d.ts +0 -1
  191. package/dist/express/middleware/errorHandler.js +0 -1
  192. package/dist/express/middleware/index.d.ts +0 -1
  193. package/dist/express/middleware/index.js +0 -1
  194. package/dist/fields/baseFields/baseBlockFields.js +4 -14
  195. package/dist/fields/baseFields/baseIDField.js +4 -19
  196. package/dist/fields/config/sanitize.js +24 -39
  197. package/dist/fields/config/sanitize.spec.js +25 -29
  198. package/dist/fields/config/schema.js +329 -424
  199. package/dist/fields/config/types.js +15 -69
  200. package/dist/fields/getDefaultValue.js +2 -12
  201. package/dist/fields/hooks/afterChange/index.js +6 -16
  202. package/dist/fields/hooks/afterChange/promise.js +14 -22
  203. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  204. package/dist/fields/hooks/afterRead/index.js +6 -16
  205. package/dist/fields/hooks/afterRead/promise.js +28 -36
  206. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  207. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  208. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  209. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  210. package/dist/fields/hooks/beforeChange/index.js +8 -18
  211. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  212. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  213. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  214. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  215. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  216. package/dist/fields/mergeBaseFields.js +8 -23
  217. package/dist/fields/sortableFieldTypes.js +2 -12
  218. package/dist/fields/validations.js +31 -97
  219. package/dist/fields/validations.spec.js +93 -87
  220. package/dist/globals/config/build.d.ts +0 -1
  221. package/dist/globals/config/build.js +0 -1
  222. package/dist/globals/config/sanitize.js +17 -32
  223. package/dist/globals/config/schema.js +55 -70
  224. package/dist/globals/config/types.d.ts +5 -5
  225. package/dist/globals/config/types.d.ts.map +1 -1
  226. package/dist/globals/config/types.js +2 -5
  227. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
  228. package/dist/globals/graphql/resolvers/docAccess.js +0 -1
  229. package/dist/globals/operations/docAccess.js +10 -20
  230. package/dist/globals/operations/findOne.js +14 -29
  231. package/dist/globals/operations/findVersionByID.js +18 -33
  232. package/dist/globals/operations/findVersions.js +20 -35
  233. package/dist/globals/operations/local/findOne.js +8 -18
  234. package/dist/globals/operations/local/findVersionByID.js +8 -18
  235. package/dist/globals/operations/local/findVersions.js +8 -18
  236. package/dist/globals/operations/local/index.js +12 -27
  237. package/dist/globals/operations/local/restoreVersion.js +8 -18
  238. package/dist/globals/operations/local/update.js +8 -18
  239. package/dist/globals/operations/restoreVersion.js +16 -31
  240. package/dist/globals/operations/update.js +23 -38
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +50 -70
  243. package/dist/localization/middleware.js +2 -12
  244. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  245. package/dist/preferences/deleteUserPreferences.js +2 -12
  246. package/dist/preferences/operations/delete.js +10 -25
  247. package/dist/preferences/operations/findOne.js +2 -12
  248. package/dist/preferences/operations/update.js +8 -23
  249. package/dist/preferences/preferencesCollection.js +8 -18
  250. package/dist/preferences/requestHandlers/delete.js +6 -21
  251. package/dist/preferences/requestHandlers/findOne.js +6 -21
  252. package/dist/preferences/requestHandlers/update.js +6 -21
  253. package/dist/preferences/types.js +2 -5
  254. package/dist/translations/extractTranslations.js +4 -14
  255. package/dist/translations/getLocalI18n.js +5 -15
  256. package/dist/types/constants.js +2 -12
  257. package/dist/types/index.js +2 -12
  258. package/dist/uploads/canResizeImage.js +2 -12
  259. package/dist/uploads/cropImage.d.ts +3 -7
  260. package/dist/uploads/cropImage.d.ts.map +1 -1
  261. package/dist/uploads/cropImage.js +4 -28
  262. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  263. package/dist/uploads/docWithFilenameExists.js +2 -12
  264. package/dist/uploads/fileExists.js +4 -19
  265. package/dist/uploads/formatFilesize.js +2 -12
  266. package/dist/uploads/generateFileData.d.ts.map +1 -1
  267. package/dist/uploads/generateFileData.js +40 -53
  268. package/dist/uploads/getBaseFields.js +6 -16
  269. package/dist/uploads/getExternalFile.js +5 -15
  270. package/dist/uploads/getFileByPath.js +10 -25
  271. package/dist/uploads/getImageSize.js +7 -22
  272. package/dist/uploads/getSafeFilename.js +8 -23
  273. package/dist/uploads/imageResizer.d.ts +3 -1
  274. package/dist/uploads/imageResizer.d.ts.map +1 -1
  275. package/dist/uploads/imageResizer.js +28 -44
  276. package/dist/uploads/isImage.js +2 -12
  277. package/dist/uploads/mimeTypeValidator.js +2 -12
  278. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  279. package/dist/uploads/saveBufferToFile.js +6 -21
  280. package/dist/uploads/types.d.ts +7 -1
  281. package/dist/uploads/types.d.ts.map +1 -1
  282. package/dist/uploads/types.js +2 -5
  283. package/dist/uploads/unlinkTempFiles.js +9 -22
  284. package/dist/uploads/uploadFiles.js +6 -21
  285. package/dist/utilities/checkDuplicateCollections.js +4 -14
  286. package/dist/utilities/combineMerge.js +4 -19
  287. package/dist/utilities/commitTransaction.js +4 -12
  288. package/dist/utilities/configToJSONSchema.js +22 -41
  289. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  290. package/dist/utilities/convertData.js +3 -23
  291. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  292. package/dist/utilities/createLocalReq.js +6 -16
  293. package/dist/utilities/deepCopyObject.js +2 -12
  294. package/dist/utilities/deepMerge.js +2 -12
  295. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  296. package/dist/utilities/flattenTopLevelFields.js +6 -16
  297. package/dist/utilities/formatLabels.js +9 -70
  298. package/dist/utilities/formatLabels.spec.js +8 -12
  299. package/dist/utilities/getCSSVariable.js +2 -12
  300. package/dist/utilities/getEntityPolicies.js +4 -14
  301. package/dist/utilities/getIDType.js +2 -12
  302. package/dist/utilities/getObjectDotNotation.js +2 -12
  303. package/dist/utilities/getUniqueListBy.js +2 -12
  304. package/dist/utilities/initTransaction.js +5 -12
  305. package/dist/utilities/isEntityHidden.js +2 -12
  306. package/dist/utilities/isNumber.js +2 -12
  307. package/dist/utilities/isValidID.js +5 -20
  308. package/dist/utilities/isolateObjectProperty.js +2 -12
  309. package/dist/utilities/killTransaction.js +4 -12
  310. package/dist/utilities/logger.d.ts.map +1 -1
  311. package/dist/utilities/logger.js +16 -37
  312. package/dist/utilities/mapAsync.js +2 -12
  313. package/dist/utilities/overwriteMerge.js +2 -12
  314. package/dist/utilities/parseCookies.js +4 -14
  315. package/dist/utilities/pinoPretty.d.ts +1 -0
  316. package/dist/utilities/pinoPretty.d.ts.map +1 -0
  317. package/dist/utilities/pinoPretty.js +2 -0
  318. package/dist/utilities/sanitizeInternalFields.js +2 -12
  319. package/dist/utilities/setsAreEqual.js +2 -12
  320. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  321. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  322. package/dist/utilities/telemetry/index.js +17 -40
  323. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  324. package/dist/utilities/timestamp.js +2 -12
  325. package/dist/utilities/toKebabCase.js +2 -12
  326. package/dist/utilities/wait.js +2 -12
  327. package/dist/utilities/wordBoundariesRegex.js +3 -13
  328. package/dist/versions/baseFields.js +5 -23
  329. package/dist/versions/buildCollectionFields.js +2 -12
  330. package/dist/versions/buildGlobalFields.js +2 -12
  331. package/dist/versions/deleteCollectionVersions.js +2 -12
  332. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  333. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  334. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  335. package/dist/versions/enforceMaxVersions.js +2 -12
  336. package/dist/versions/getLatestCollectionVersion.js +4 -14
  337. package/dist/versions/getLatestGlobalVersion.js +4 -14
  338. package/dist/versions/getVersionsModelName.js +2 -12
  339. package/dist/versions/saveVersion.js +8 -23
  340. package/dist/versions/types.js +2 -5
  341. package/errors.js +2 -68
  342. package/graphql.d.ts +3 -0
  343. package/graphql.js +27 -0
  344. package/operations.js +29 -125
  345. package/package.json +17 -5
  346. package/types.js +4 -74
  347. package/utilities.js +28 -141
  348. package/versions.js +9 -45
@@ -1,27 +1,19 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "promise", {
6
- enumerable: true,
7
- get: function() {
8
- return promise;
9
- }
10
- });
11
- const _types = require("../../config/types");
12
- const _getDefaultValue = /*#__PURE__*/ _interop_require_default(require("../../getDefaultValue"));
13
- const _relationshipPopulationPromise = require("./relationshipPopulationPromise");
14
- const _traverseFields = require("./traverseFields");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- const promise = async ({ collection, context, currentDepth, depth, doc, fallbackLocale, field, fieldPromises, findMany, flattenLocales, global, locale, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, triggerAccessControl = true, triggerHooks = true })=>{
21
- if ((0, _types.fieldAffectsData)(field) && field.hidden && typeof siblingDoc[field.name] !== 'undefined' && !showHiddenFields) {
1
+ /* eslint-disable no-param-reassign */ import { fieldAffectsData, tabHasName } from '../../config/types';
2
+ import getValueWithDefault from '../../getDefaultValue';
3
+ import { relationshipPopulationPromise } from './relationshipPopulationPromise';
4
+ import { traverseFields } from './traverseFields';
5
+ // This function is responsible for the following actions, in order:
6
+ // - Remove hidden fields from response
7
+ // - Flatten locales into requested locale
8
+ // - Sanitize outgoing data (point field, etc.)
9
+ // - Execute field hooks
10
+ // - Execute read access control
11
+ // - Populate relationships
12
+ export const promise = async ({ collection, context, currentDepth, depth, doc, fallbackLocale, field, fieldPromises, findMany, flattenLocales, global, locale, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, triggerAccessControl = true, triggerHooks = true })=>{
13
+ if (fieldAffectsData(field) && field.hidden && typeof siblingDoc[field.name] !== 'undefined' && !showHiddenFields) {
22
14
  delete siblingDoc[field.name];
23
15
  }
24
- const shouldHoistLocalizedValue = flattenLocales && (0, _types.fieldAffectsData)(field) && typeof siblingDoc[field.name] === 'object' && siblingDoc[field.name] !== null && field.localized && locale !== 'all' && req.payload.config.localization;
16
+ const shouldHoistLocalizedValue = flattenLocales && fieldAffectsData(field) && typeof siblingDoc[field.name] === 'object' && siblingDoc[field.name] !== null && field.localized && locale !== 'all' && req.payload.config.localization;
25
17
  if (shouldHoistLocalizedValue) {
26
18
  // replace actual value with localized value before sanitizing
27
19
  // { [locale]: fields } -> fields
@@ -66,7 +58,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
66
58
  case 'tabs':
67
59
  {
68
60
  field.tabs.forEach((tab)=>{
69
- if ((0, _types.tabHasName)(tab) && (typeof siblingDoc[tab.name] === 'undefined' || siblingDoc[tab.name] === null)) {
61
+ if (tabHasName(tab) && (typeof siblingDoc[tab.name] === 'undefined' || siblingDoc[tab.name] === null)) {
70
62
  siblingDoc[tab.name] = {};
71
63
  }
72
64
  });
@@ -124,7 +116,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
124
116
  break;
125
117
  }
126
118
  }
127
- if ((0, _types.fieldAffectsData)(field)) {
119
+ if (fieldAffectsData(field)) {
128
120
  // Execute hooks
129
121
  if (triggerHooks && field.hooks?.afterRead) {
130
122
  await field.hooks.afterRead.reduce(async (priorHook, currentHook)=>{
@@ -187,7 +179,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
187
179
  // Set defaultValue on the field for globals being returned without being first created
188
180
  // or collection documents created prior to having a default
189
181
  if (allowDefaultValue && typeof siblingDoc[field.name] === 'undefined' && typeof field.defaultValue !== 'undefined') {
190
- siblingDoc[field.name] = await (0, _getDefaultValue.default)({
182
+ siblingDoc[field.name] = await getValueWithDefault({
191
183
  defaultValue: field.defaultValue,
192
184
  locale,
193
185
  user: req.user,
@@ -195,7 +187,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
195
187
  });
196
188
  }
197
189
  if (field.type === 'relationship' || field.type === 'upload') {
198
- populationPromises.push((0, _relationshipPopulationPromise.relationshipPopulationPromise)({
190
+ populationPromises.push(relationshipPopulationPromise({
199
191
  currentDepth,
200
192
  depth,
201
193
  fallbackLocale,
@@ -213,7 +205,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
213
205
  {
214
206
  let groupDoc = siblingDoc[field.name];
215
207
  if (typeof siblingDoc[field.name] !== 'object') groupDoc = {};
216
- (0, _traverseFields.traverseFields)({
208
+ traverseFields({
217
209
  collection,
218
210
  context,
219
211
  currentDepth,
@@ -241,7 +233,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
241
233
  const rows = siblingDoc[field.name];
242
234
  if (Array.isArray(rows)) {
243
235
  rows.forEach((row)=>{
244
- (0, _traverseFields.traverseFields)({
236
+ traverseFields({
245
237
  collection,
246
238
  context,
247
239
  currentDepth,
@@ -267,7 +259,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
267
259
  Object.values(rows).forEach((localeRows)=>{
268
260
  if (Array.isArray(localeRows)) {
269
261
  localeRows.forEach((row)=>{
270
- (0, _traverseFields.traverseFields)({
262
+ traverseFields({
271
263
  collection,
272
264
  context,
273
265
  currentDepth,
@@ -303,7 +295,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
303
295
  rows.forEach((row)=>{
304
296
  const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
305
297
  if (block) {
306
- (0, _traverseFields.traverseFields)({
298
+ traverseFields({
307
299
  collection,
308
300
  context,
309
301
  currentDepth,
@@ -332,7 +324,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
332
324
  localeRows.forEach((row)=>{
333
325
  const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
334
326
  if (block) {
335
- (0, _traverseFields.traverseFields)({
327
+ traverseFields({
336
328
  collection,
337
329
  context,
338
330
  currentDepth,
@@ -365,7 +357,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
365
357
  case 'row':
366
358
  case 'collapsible':
367
359
  {
368
- (0, _traverseFields.traverseFields)({
360
+ traverseFields({
369
361
  collection,
370
362
  context,
371
363
  currentDepth,
@@ -391,11 +383,11 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
391
383
  case 'tab':
392
384
  {
393
385
  let tabDoc = siblingDoc;
394
- if ((0, _types.tabHasName)(field)) {
386
+ if (tabHasName(field)) {
395
387
  tabDoc = siblingDoc[field.name];
396
388
  if (typeof siblingDoc[field.name] !== 'object') tabDoc = {};
397
389
  }
398
- (0, _traverseFields.traverseFields)({
390
+ traverseFields({
399
391
  collection,
400
392
  context,
401
393
  currentDepth,
@@ -420,7 +412,7 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
420
412
  }
421
413
  case 'tabs':
422
414
  {
423
- (0, _traverseFields.traverseFields)({
415
+ traverseFields({
424
416
  collection,
425
417
  context,
426
418
  currentDepth,
@@ -453,4 +445,4 @@ const promise = async ({ collection, context, currentDepth, depth, doc, fallback
453
445
  }
454
446
  };
455
447
 
456
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgZ2V0VmFsdWVXaXRoRGVmYXVsdCBmcm9tICcuLi8uLi9nZXREZWZhdWx0VmFsdWUnXG5pbXBvcnQgeyByZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSB9IGZyb20gJy4vcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgY3VycmVudERlcHRoOiBudW1iZXJcbiAgZGVwdGg6IG51bWJlclxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGRcbiAgZmllbGRQcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIGZpbmRNYW55OiBib29sZWFuXG4gIGZsYXR0ZW5Mb2NhbGVzOiBib29sZWFuXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBsb2NhbGU6IG51bGwgfCBzdHJpbmdcbiAgb3ZlcnJpZGVBY2Nlc3M6IGJvb2xlYW5cbiAgcG9wdWxhdGlvblByb21pc2VzOiBQcm9taXNlPHZvaWQ+W11cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzOiBib29sZWFuXG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHRyaWdnZXJBY2Nlc3NDb250cm9sPzogYm9vbGVhblxuICB0cmlnZ2VySG9va3M/OiBib29sZWFuXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBmb2xsb3dpbmcgYWN0aW9ucywgaW4gb3JkZXI6XG4vLyAtIFJlbW92ZSBoaWRkZW4gZmllbGRzIGZyb20gcmVzcG9uc2Vcbi8vIC0gRmxhdHRlbiBsb2NhbGVzIGludG8gcmVxdWVzdGVkIGxvY2FsZVxuLy8gLSBTYW5pdGl6ZSBvdXRnb2luZyBkYXRhIChwb2ludCBmaWVsZCwgZXRjLilcbi8vIC0gRXhlY3V0ZSBmaWVsZCBob29rc1xuLy8gLSBFeGVjdXRlIHJlYWQgYWNjZXNzIGNvbnRyb2xcbi8vIC0gUG9wdWxhdGUgcmVsYXRpb25zaGlwc1xuXG5leHBvcnQgY29uc3QgcHJvbWlzZSA9IGFzeW5jICh7XG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGN1cnJlbnREZXB0aCxcbiAgZGVwdGgsXG4gIGRvYyxcbiAgZmFsbGJhY2tMb2NhbGUsXG4gIGZpZWxkLFxuICBmaWVsZFByb21pc2VzLFxuICBmaW5kTWFueSxcbiAgZmxhdHRlbkxvY2FsZXMsXG4gIGdsb2JhbCxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcG9wdWxhdGlvblByb21pc2VzLFxuICByZXEsXG4gIHNob3dIaWRkZW5GaWVsZHMsXG4gIHNpYmxpbmdEb2MsXG4gIHRyaWdnZXJBY2Nlc3NDb250cm9sID0gdHJ1ZSxcbiAgdHJpZ2dlckhvb2tzID0gdHJ1ZSxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKFxuICAgIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmXG4gICAgZmllbGQuaGlkZGVuICYmXG4gICAgdHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICd1bmRlZmluZWQnICYmXG4gICAgIXNob3dIaWRkZW5GaWVsZHNcbiAgKSB7XG4gICAgZGVsZXRlIHNpYmxpbmdEb2NbZmllbGQubmFtZV1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZEhvaXN0TG9jYWxpemVkVmFsdWUgPVxuICAgIGZsYXR0ZW5Mb2NhbGVzICYmXG4gICAgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiZcbiAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdICE9PSBudWxsICYmXG4gICAgZmllbGQubG9jYWxpemVkICYmXG4gICAgbG9jYWxlICE9PSAnYWxsJyAmJlxuICAgIHJlcS5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cblxuICBpZiAoc2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSkge1xuICAgIC8vIHJlcGxhY2UgYWN0dWFsIHZhbHVlIHdpdGggbG9jYWxpemVkIHZhbHVlIGJlZm9yZSBzYW5pdGl6aW5nXG4gICAgLy8geyBbbG9jYWxlXTogZmllbGRzIH0gLT4gZmllbGRzXG4gICAgY29uc3QgdmFsdWUgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2xvY2FsZV1cblxuICAgIGxldCBob2lzdGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgaWYgKGZhbGxiYWNrTG9jYWxlICYmIGZhbGxiYWNrTG9jYWxlICE9PSBsb2NhbGUpIHtcbiAgICAgIGNvbnN0IGZhbGxiYWNrVmFsdWUgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2ZhbGxiYWNrTG9jYWxlXVxuICAgICAgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHZhbHVlID09PSBudWxsXG5cbiAgICAgIGlmIChmYWxsYmFja1ZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCBpc051bGxPclVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBob2lzdGVkVmFsdWUgPSBmYWxsYmFja1ZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBob2lzdGVkVmFsdWUgPSBmYWxsYmFja1ZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBob2lzdGVkVmFsdWVcbiAgfVxuXG4gIC8vIFNhbml0aXplIG91dGdvaW5nIGZpZWxkIHZhbHVlXG4gIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgLy8gRmlsbCBncm91cHMgd2l0aCBlbXB0eSBvYmplY3RzIHNvIGZpZWxkcyB3aXRoIGhvb2tzIHdpdGhpbiBncm91cHMgY2FuIHBvcHVsYXRlXG4gICAgICAvLyB0aGVtc2VsdmVzIHZpcnR1YWxseSBhcyBuZWNlc3NhcnlcbiAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHt9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGFiSGFzTmFtZSh0YWIpICYmXG4gICAgICAgICAgKHR5cGVvZiBzaWJsaW5nRG9jW3RhYi5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcgfHwgc2libGluZ0RvY1t0YWIubmFtZV0gPT09IG51bGwpXG4gICAgICAgICkge1xuICAgICAgICAgIHNpYmxpbmdEb2NbdGFiLm5hbWVdID0ge31cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuICAgICAgLy8gVGhpcyBpcyBydW4gaGVyZSBBTkQgaW4gdGhlIEdyYXBoUUwgUmVzb2x2ZXJcbiAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IHBvcHVsYXRpb25Qcm9taXNlID0gZWRpdG9yLnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgLy8gVE9ETzogSkFSUk9EIGByZXFgIGRpZmZlcnMgaGVyZVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmUtbmV4dC1saW5lXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocG9wdWxhdGlvblByb21pc2UpIHtcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChwb3B1bGF0aW9uUHJvbWlzZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGlzIGlzIG9ubHkgcnVuIGhlcmUsIGluZGVwZW5kZW50IG9mIGRlcHRoXG4gICAgICBpZiAoZWRpdG9yPy5hZnRlclJlYWRQcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IGFmdGVyUmVhZFByb21pc2UgPSBlZGl0b3I/LmFmdGVyUmVhZFByb21pc2Uoe1xuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGluY29taW5nRWRpdG9yU3RhdGU6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgb2JqZWN0LFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGFmdGVyUmVhZFByb21pc2UpIHtcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChhZnRlclJlYWRQcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICBjb25zdCBwb2ludERvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBvaW50RG9jPy5jb29yZGluYXRlcykgJiYgcG9pbnREb2MuY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBwb2ludERvYy5jb29yZGluYXRlc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmICh0cmlnZ2VySG9va3MgJiYgZmllbGQuaG9va3M/LmFmdGVyUmVhZCkge1xuICAgICAgYXdhaXQgZmllbGQuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBjdXJyZW50SG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBjb25zdCBzaG91bGRSdW5Ib29rT25BbGxMb2NhbGVzID1cbiAgICAgICAgICBmaWVsZC5sb2NhbGl6ZWQgJiZcbiAgICAgICAgICAobG9jYWxlID09PSAnYWxsJyB8fCAhZmxhdHRlbkxvY2FsZXMpICYmXG4gICAgICAgICAgdHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPT09ICdvYmplY3QnXG5cbiAgICAgICAgaWYgKHNob3VsZFJ1bkhvb2tPbkFsbExvY2FsZXMpIHtcbiAgICAgICAgICBjb25zdCBob29rUHJvbWlzZXMgPSBPYmplY3QuZW50cmllcyhzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdKS5tYXAoKFtsb2NhbGUsIHZhbHVlXSkgPT5cbiAgICAgICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGhvb2tlZFZhbHVlID0gYXdhaXQgY3VycmVudEhvb2soe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkb2MsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogJ3JlYWQnLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXVtsb2NhbGVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICApXG5cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChob29rUHJvbWlzZXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaG9va2VkVmFsdWUgPSBhd2FpdCBjdXJyZW50SG9vayh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIGRhdGE6IGRvYyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmluZE1hbnksXG4gICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdyZWFkJyxcbiAgICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RvYyxcbiAgICAgICAgICAgIHZhbHVlOiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoaG9va2VkVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IGhvb2tlZFZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgICB9XG5cbiAgICAvLyBFeGVjdXRlIGFjY2VzcyBjb250cm9sXG4gICAgbGV0IGFsbG93RGVmYXVsdFZhbHVlID0gdHJ1ZVxuICAgIGlmICh0cmlnZ2VyQWNjZXNzQ29udHJvbCAmJiBmaWVsZC5hY2Nlc3MgJiYgZmllbGQuYWNjZXNzLnJlYWQpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG92ZXJyaWRlQWNjZXNzXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGF3YWl0IGZpZWxkLmFjY2Vzcy5yZWFkKHtcbiAgICAgICAgICAgIGlkOiBkb2MuaWQgYXMgbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICAgICAgZGF0YTogZG9jLFxuICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEb2MsXG4gICAgICAgICAgfSlcblxuICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgYWxsb3dEZWZhdWx0VmFsdWUgPSBmYWxzZVxuICAgICAgICBkZWxldGUgc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0VmFsdWUgb24gdGhlIGZpZWxkIGZvciBnbG9iYWxzIGJlaW5nIHJldHVybmVkIHdpdGhvdXQgYmVpbmcgZmlyc3QgY3JlYXRlZFxuICAgIC8vIG9yIGNvbGxlY3Rpb24gZG9jdW1lbnRzIGNyZWF0ZWQgcHJpb3IgdG8gaGF2aW5nIGEgZGVmYXVsdFxuICAgIGlmIChcbiAgICAgIGFsbG93RGVmYXVsdFZhbHVlICYmXG4gICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHR5cGVvZiBmaWVsZC5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnXG4gICAgKSB7XG4gICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gYXdhaXQgZ2V0VmFsdWVXaXRoRGVmYXVsdCh7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmllbGQuZGVmYXVsdFZhbHVlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHVzZXI6IHJlcS51c2VyLFxuICAgICAgICB2YWx1ZTogc2libGluZ0RvY1tmaWVsZC5uYW1lXSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICBsZXQgZ3JvdXBEb2MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSBncm91cERvYyA9IHt9XG5cbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIGZpbmRNYW55LFxuICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYzogZ3JvdXBEb2MsXG4gICAgICAgIHRyaWdnZXJBY2Nlc3NDb250cm9sLFxuICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgY29uc3Qgcm93cyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhvaXN0TG9jYWxpemVkVmFsdWUgJiYgdHlwZW9mIHJvd3MgPT09ICdvYmplY3QnICYmIHJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhyb3dzKS5mb3JFYWNoKChsb2NhbGVSb3dzKSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlUm93cykpIHtcbiAgICAgICAgICAgIGxvY2FsZVJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHJvdyB8fCB7fSxcbiAgICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBbXVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrVHlwZSkgPT4gYmxvY2tUeXBlLnNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgdHJpZ2dlckhvb2tzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlICYmIHR5cGVvZiByb3dzID09PSAnb2JqZWN0JyAmJiByb3dzICE9PSBudWxsKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMocm93cykuZm9yRWFjaCgobG9jYWxlUm93cykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZVJvd3MpKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKChibG9ja1R5cGUpID0+IGJsb2NrVHlwZS5zbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3cgfHwge30sXG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBbXVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3Jvdyc6XG4gICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIHRyaWdnZXJBY2Nlc3NDb250cm9sLFxuICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgIGxldCB0YWJEb2MgPSBzaWJsaW5nRG9jXG4gICAgICBpZiAodGFiSGFzTmFtZShmaWVsZCkpIHtcbiAgICAgICAgdGFiRG9jID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSB0YWJEb2MgPSB7fVxuICAgICAgfVxuXG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2M6IHRhYkRvYyxcbiAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgZmluZE1hbnksXG4gICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgdHJpZ2dlckhvb2tzLFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRvYyIsImZhbGxiYWNrTG9jYWxlIiwiZmllbGQiLCJmaWVsZFByb21pc2VzIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsImdsb2JhbCIsImxvY2FsZSIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJ0cmlnZ2VyQWNjZXNzQ29udHJvbCIsInRyaWdnZXJIb29rcyIsImZpZWxkQWZmZWN0c0RhdGEiLCJoaWRkZW4iLCJuYW1lIiwic2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSIsImxvY2FsaXplZCIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJ2YWx1ZSIsImhvaXN0ZWRWYWx1ZSIsImZhbGxiYWNrVmFsdWUiLCJpc051bGxPclVuZGVmaW5lZCIsInR5cGUiLCJ0YWJzIiwiZm9yRWFjaCIsInRhYiIsInRhYkhhc05hbWUiLCJlZGl0b3IiLCJwb3B1bGF0aW9uUHJvbWlzZSIsInB1c2giLCJhZnRlclJlYWRQcm9taXNlIiwiaW5jb21pbmdFZGl0b3JTdGF0ZSIsInBvaW50RG9jIiwiQXJyYXkiLCJpc0FycmF5IiwiY29vcmRpbmF0ZXMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJob29rcyIsImFmdGVyUmVhZCIsInJlZHVjZSIsInByaW9ySG9vayIsImN1cnJlbnRIb29rIiwic2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcyIsImhvb2tQcm9taXNlcyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJob29rZWRWYWx1ZSIsImRhdGEiLCJvcGVyYXRpb24iLCJvcmlnaW5hbERvYyIsInNpYmxpbmdEYXRhIiwiUHJvbWlzZSIsImFsbCIsInJlc29sdmUiLCJhbGxvd0RlZmF1bHRWYWx1ZSIsImFjY2VzcyIsInJlYWQiLCJyZXN1bHQiLCJpZCIsImRlZmF1bHRWYWx1ZSIsImdldFZhbHVlV2l0aERlZmF1bHQiLCJ1c2VyIiwicmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UiLCJncm91cERvYyIsInRyYXZlcnNlRmllbGRzIiwiZmllbGRzIiwicm93cyIsInJvdyIsInZhbHVlcyIsImxvY2FsZVJvd3MiLCJibG9jayIsImJsb2NrcyIsImZpbmQiLCJibG9ja1R5cGUiLCJzbHVnIiwidGFiRG9jIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBMEN2QkE7OztlQUFBQTs7O3VCQW5DZ0M7d0VBQ2I7K0NBQ2M7Z0NBQ2Y7Ozs7OztBQWdDeEIsTUFBTUEsVUFBVSxPQUFPLEVBQzVCQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxLQUFLLEVBQ0xDLGFBQWEsRUFDYkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDVkMsdUJBQXVCLElBQUksRUFDM0JDLGVBQWUsSUFBSSxFQUNkO0lB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
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgZ2V0VmFsdWVXaXRoRGVmYXVsdCBmcm9tICcuLi8uLi9nZXREZWZhdWx0VmFsdWUnXG5pbXBvcnQgeyByZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSB9IGZyb20gJy4vcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgY3VycmVudERlcHRoOiBudW1iZXJcbiAgZGVwdGg6IG51bWJlclxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGRcbiAgZmllbGRQcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIGZpbmRNYW55OiBib29sZWFuXG4gIGZsYXR0ZW5Mb2NhbGVzOiBib29sZWFuXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBsb2NhbGU6IG51bGwgfCBzdHJpbmdcbiAgb3ZlcnJpZGVBY2Nlc3M6IGJvb2xlYW5cbiAgcG9wdWxhdGlvblByb21pc2VzOiBQcm9taXNlPHZvaWQ+W11cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzOiBib29sZWFuXG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHRyaWdnZXJBY2Nlc3NDb250cm9sPzogYm9vbGVhblxuICB0cmlnZ2VySG9va3M/OiBib29sZWFuXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBmb2xsb3dpbmcgYWN0aW9ucywgaW4gb3JkZXI6XG4vLyAtIFJlbW92ZSBoaWRkZW4gZmllbGRzIGZyb20gcmVzcG9uc2Vcbi8vIC0gRmxhdHRlbiBsb2NhbGVzIGludG8gcmVxdWVzdGVkIGxvY2FsZVxuLy8gLSBTYW5pdGl6ZSBvdXRnb2luZyBkYXRhIChwb2ludCBmaWVsZCwgZXRjLilcbi8vIC0gRXhlY3V0ZSBmaWVsZCBob29rc1xuLy8gLSBFeGVjdXRlIHJlYWQgYWNjZXNzIGNvbnRyb2xcbi8vIC0gUG9wdWxhdGUgcmVsYXRpb25zaGlwc1xuXG5leHBvcnQgY29uc3QgcHJvbWlzZSA9IGFzeW5jICh7XG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGN1cnJlbnREZXB0aCxcbiAgZGVwdGgsXG4gIGRvYyxcbiAgZmFsbGJhY2tMb2NhbGUsXG4gIGZpZWxkLFxuICBmaWVsZFByb21pc2VzLFxuICBmaW5kTWFueSxcbiAgZmxhdHRlbkxvY2FsZXMsXG4gIGdsb2JhbCxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcG9wdWxhdGlvblByb21pc2VzLFxuICByZXEsXG4gIHNob3dIaWRkZW5GaWVsZHMsXG4gIHNpYmxpbmdEb2MsXG4gIHRyaWdnZXJBY2Nlc3NDb250cm9sID0gdHJ1ZSxcbiAgdHJpZ2dlckhvb2tzID0gdHJ1ZSxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKFxuICAgIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmXG4gICAgZmllbGQuaGlkZGVuICYmXG4gICAgdHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICd1bmRlZmluZWQnICYmXG4gICAgIXNob3dIaWRkZW5GaWVsZHNcbiAgKSB7XG4gICAgZGVsZXRlIHNpYmxpbmdEb2NbZmllbGQubmFtZV1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZEhvaXN0TG9jYWxpemVkVmFsdWUgPVxuICAgIGZsYXR0ZW5Mb2NhbGVzICYmXG4gICAgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiZcbiAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdICE9PSBudWxsICYmXG4gICAgZmllbGQubG9jYWxpemVkICYmXG4gICAgbG9jYWxlICE9PSAnYWxsJyAmJlxuICAgIHJlcS5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cblxuICBpZiAoc2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSkge1xuICAgIC8vIHJlcGxhY2UgYWN0dWFsIHZhbHVlIHdpdGggbG9jYWxpemVkIHZhbHVlIGJlZm9yZSBzYW5pdGl6aW5nXG4gICAgLy8geyBbbG9jYWxlXTogZmllbGRzIH0gLT4gZmllbGRzXG4gICAgY29uc3QgdmFsdWUgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2xvY2FsZV1cblxuICAgIGxldCBob2lzdGVkVmFsdWUgPSB2YWx1ZVxuXG4gICAgaWYgKGZhbGxiYWNrTG9jYWxlICYmIGZhbGxiYWNrTG9jYWxlICE9PSBsb2NhbGUpIHtcbiAgICAgIGNvbnN0IGZhbGxiYWNrVmFsdWUgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2ZhbGxiYWNrTG9jYWxlXVxuICAgICAgY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHZhbHVlID09PSBudWxsXG5cbiAgICAgIGlmIChmYWxsYmFja1ZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCBpc051bGxPclVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBob2lzdGVkVmFsdWUgPSBmYWxsYmFja1ZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBob2lzdGVkVmFsdWUgPSBmYWxsYmFja1ZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBob2lzdGVkVmFsdWVcbiAgfVxuXG4gIC8vIFNhbml0aXplIG91dGdvaW5nIGZpZWxkIHZhbHVlXG4gIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgLy8gRmlsbCBncm91cHMgd2l0aCBlbXB0eSBvYmplY3RzIHNvIGZpZWxkcyB3aXRoIGhvb2tzIHdpdGhpbiBncm91cHMgY2FuIHBvcHVsYXRlXG4gICAgICAvLyB0aGVtc2VsdmVzIHZpcnR1YWxseSBhcyBuZWNlc3NhcnlcbiAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHt9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGFiSGFzTmFtZSh0YWIpICYmXG4gICAgICAgICAgKHR5cGVvZiBzaWJsaW5nRG9jW3RhYi5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcgfHwgc2libGluZ0RvY1t0YWIubmFtZV0gPT09IG51bGwpXG4gICAgICAgICkge1xuICAgICAgICAgIHNpYmxpbmdEb2NbdGFiLm5hbWVdID0ge31cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGQ/LmVkaXRvclxuICAgICAgLy8gVGhpcyBpcyBydW4gaGVyZSBBTkQgaW4gdGhlIEdyYXBoUUwgUmVzb2x2ZXJcbiAgICAgIGlmIChlZGl0b3I/LnBvcHVsYXRpb25Qcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IHBvcHVsYXRpb25Qcm9taXNlID0gZWRpdG9yLnBvcHVsYXRpb25Qcm9taXNlKHtcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgLy8gVE9ETzogSkFSUk9EIGByZXFgIGRpZmZlcnMgaGVyZVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmUtbmV4dC1saW5lXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocG9wdWxhdGlvblByb21pc2UpIHtcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChwb3B1bGF0aW9uUHJvbWlzZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGlzIGlzIG9ubHkgcnVuIGhlcmUsIGluZGVwZW5kZW50IG9mIGRlcHRoXG4gICAgICBpZiAoZWRpdG9yPy5hZnRlclJlYWRQcm9taXNlKSB7XG4gICAgICAgIGNvbnN0IGFmdGVyUmVhZFByb21pc2UgPSBlZGl0b3I/LmFmdGVyUmVhZFByb21pc2Uoe1xuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGluY29taW5nRWRpdG9yU3RhdGU6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgb2JqZWN0LFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGFmdGVyUmVhZFByb21pc2UpIHtcbiAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChhZnRlclJlYWRQcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICBjb25zdCBwb2ludERvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBvaW50RG9jPy5jb29yZGluYXRlcykgJiYgcG9pbnREb2MuY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBwb2ludERvYy5jb29yZGluYXRlc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmICh0cmlnZ2VySG9va3MgJiYgZmllbGQuaG9va3M/LmFmdGVyUmVhZCkge1xuICAgICAgYXdhaXQgZmllbGQuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBjdXJyZW50SG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBjb25zdCBzaG91bGRSdW5Ib29rT25BbGxMb2NhbGVzID1cbiAgICAgICAgICBmaWVsZC5sb2NhbGl6ZWQgJiZcbiAgICAgICAgICAobG9jYWxlID09PSAnYWxsJyB8fCAhZmxhdHRlbkxvY2FsZXMpICYmXG4gICAgICAgICAgdHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPT09ICdvYmplY3QnXG5cbiAgICAgICAgaWYgKHNob3VsZFJ1bkhvb2tPbkFsbExvY2FsZXMpIHtcbiAgICAgICAgICBjb25zdCBob29rUHJvbWlzZXMgPSBPYmplY3QuZW50cmllcyhzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdKS5tYXAoKFtsb2NhbGUsIHZhbHVlXSkgPT5cbiAgICAgICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGhvb2tlZFZhbHVlID0gYXdhaXQgY3VycmVudEhvb2soe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkb2MsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogJ3JlYWQnLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXVtsb2NhbGVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICApXG5cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChob29rUHJvbWlzZXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaG9va2VkVmFsdWUgPSBhd2FpdCBjdXJyZW50SG9vayh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIGRhdGE6IGRvYyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgZmluZE1hbnksXG4gICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdyZWFkJyxcbiAgICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RvYyxcbiAgICAgICAgICAgIHZhbHVlOiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoaG9va2VkVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IGhvb2tlZFZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgICB9XG5cbiAgICAvLyBFeGVjdXRlIGFjY2VzcyBjb250cm9sXG4gICAgbGV0IGFsbG93RGVmYXVsdFZhbHVlID0gdHJ1ZVxuICAgIGlmICh0cmlnZ2VyQWNjZXNzQ29udHJvbCAmJiBmaWVsZC5hY2Nlc3MgJiYgZmllbGQuYWNjZXNzLnJlYWQpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG92ZXJyaWRlQWNjZXNzXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGF3YWl0IGZpZWxkLmFjY2Vzcy5yZWFkKHtcbiAgICAgICAgICAgIGlkOiBkb2MuaWQgYXMgbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICAgICAgZGF0YTogZG9jLFxuICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEb2MsXG4gICAgICAgICAgfSlcblxuICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgYWxsb3dEZWZhdWx0VmFsdWUgPSBmYWxzZVxuICAgICAgICBkZWxldGUgc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0VmFsdWUgb24gdGhlIGZpZWxkIGZvciBnbG9iYWxzIGJlaW5nIHJldHVybmVkIHdpdGhvdXQgYmVpbmcgZmlyc3QgY3JlYXRlZFxuICAgIC8vIG9yIGNvbGxlY3Rpb24gZG9jdW1lbnRzIGNyZWF0ZWQgcHJpb3IgdG8gaGF2aW5nIGEgZGVmYXVsdFxuICAgIGlmIChcbiAgICAgIGFsbG93RGVmYXVsdFZhbHVlICYmXG4gICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHR5cGVvZiBmaWVsZC5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnXG4gICAgKSB7XG4gICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gYXdhaXQgZ2V0VmFsdWVXaXRoRGVmYXVsdCh7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmllbGQuZGVmYXVsdFZhbHVlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHVzZXI6IHJlcS51c2VyLFxuICAgICAgICB2YWx1ZTogc2libGluZ0RvY1tmaWVsZC5uYW1lXSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICBsZXQgZ3JvdXBEb2MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSBncm91cERvYyA9IHt9XG5cbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIGZpbmRNYW55LFxuICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYzogZ3JvdXBEb2MsXG4gICAgICAgIHRyaWdnZXJBY2Nlc3NDb250cm9sLFxuICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgY29uc3Qgcm93cyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhvaXN0TG9jYWxpemVkVmFsdWUgJiYgdHlwZW9mIHJvd3MgPT09ICdvYmplY3QnICYmIHJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhyb3dzKS5mb3JFYWNoKChsb2NhbGVSb3dzKSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlUm93cykpIHtcbiAgICAgICAgICAgIGxvY2FsZVJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHJvdyB8fCB7fSxcbiAgICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBbXVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrVHlwZSkgPT4gYmxvY2tUeXBlLnNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgdHJpZ2dlckhvb2tzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlICYmIHR5cGVvZiByb3dzID09PSAnb2JqZWN0JyAmJiByb3dzICE9PSBudWxsKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMocm93cykuZm9yRWFjaCgobG9jYWxlUm93cykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZVJvd3MpKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKChibG9ja1R5cGUpID0+IGJsb2NrVHlwZS5zbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3cgfHwge30sXG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSBbXVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3Jvdyc6XG4gICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIHRyaWdnZXJBY2Nlc3NDb250cm9sLFxuICAgICAgICB0cmlnZ2VySG9va3MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgIGxldCB0YWJEb2MgPSBzaWJsaW5nRG9jXG4gICAgICBpZiAodGFiSGFzTmFtZShmaWVsZCkpIHtcbiAgICAgICAgdGFiRG9jID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09ICdvYmplY3QnKSB0YWJEb2MgPSB7fVxuICAgICAgfVxuXG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2M6IHRhYkRvYyxcbiAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgZmluZE1hbnksXG4gICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB0cmlnZ2VyQWNjZXNzQ29udHJvbCxcbiAgICAgICAgdHJpZ2dlckhvb2tzLFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsImdldFZhbHVlV2l0aERlZmF1bHQiLCJyZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSIsInRyYXZlcnNlRmllbGRzIiwicHJvbWlzZSIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJkb2MiLCJmYWxsYmFja0xvY2FsZSIsImZpZWxkIiwiZmllbGRQcm9taXNlcyIsImZpbmRNYW55IiwiZmxhdHRlbkxvY2FsZXMiLCJnbG9iYWwiLCJsb2NhbGUiLCJvdmVycmlkZUFjY2VzcyIsInBvcHVsYXRpb25Qcm9taXNlcyIsInJlcSIsInNob3dIaWRkZW5GaWVsZHMiLCJzaWJsaW5nRG9jIiwidHJpZ2dlckFjY2Vzc0NvbnRyb2wiLCJ0cmlnZ2VySG9va3MiLCJoaWRkZW4iLCJuYW1lIiwic2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSIsImxvY2FsaXplZCIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJ2YWx1ZSIsImhvaXN0ZWRWYWx1ZSIsImZhbGxiYWNrVmFsdWUiLCJpc051bGxPclVuZGVmaW5lZCIsInR5cGUiLCJ0YWJzIiwiZm9yRWFjaCIsInRhYiIsImVkaXRvciIsInBvcHVsYXRpb25Qcm9taXNlIiwicHVzaCIsImFmdGVyUmVhZFByb21pc2UiLCJpbmNvbWluZ0VkaXRvclN0YXRlIiwicG9pbnREb2MiLCJBcnJheSIsImlzQXJyYXkiLCJjb29yZGluYXRlcyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImhvb2tzIiwiYWZ0ZXJSZWFkIiwicmVkdWNlIiwicHJpb3JIb29rIiwiY3VycmVudEhvb2siLCJzaG91bGRSdW5Ib29rT25BbGxMb2NhbGVzIiwiaG9va1Byb21pc2VzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1hcCIsImhvb2tlZFZhbHVlIiwiZGF0YSIsIm9wZXJhdGlvbiIsIm9yaWdpbmFsRG9jIiwic2libGluZ0RhdGEiLCJQcm9taXNlIiwiYWxsIiwicmVzb2x2ZSIsImFsbG93RGVmYXVsdFZhbHVlIiwiYWNjZXNzIiwicmVhZCIsInJlc3VsdCIsImlkIiwiZGVmYXVsdFZhbHVlIiwidXNlciIsImdyb3VwRG9jIiwiZmllbGRzIiwicm93cyIsInJvdyIsInZhbHVlcyIsImxvY2FsZVJvd3MiLCJibG9jayIsImJsb2NrcyIsImZpbmQiLCJibG9ja1R5cGUiLCJzbHVnIiwidGFiRG9jIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0MsR0FPcEMsU0FBU0EsZ0JBQWdCLEVBQUVDLFVBQVUsUUFBUSxxQkFBb0I7QUFDakUsT0FBT0MseUJBQXlCLHdCQUF1QjtBQUN2RCxTQUFTQyw2QkFBNkIsUUFBUSxrQ0FBaUM7QUFDL0UsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQXdCakQsb0VBQW9FO0FBQ3BFLHVDQUF1QztBQUN2QywwQ0FBMEM7QUFDMUMsK0NBQStDO0FBQy9DLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsMkJBQTJCO0FBRTNCLE9BQU8sTUFBTUMsVUFBVSxPQUFPLEVBQzVCQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEdBQUcsRUFDSEMsY0FB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
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "relationshipPopulationPromise", {
6
- enumerable: true,
7
- get: function() {
8
- return relationshipPopulationPromise;
9
- }
10
- });
11
- const _types = require("../../config/types");
1
+ import { fieldHasMaxDepth, fieldSupportsMany } from '../../config/types';
12
2
  const populate = async ({ currentDepth, data, dataReference, depth, fallbackLocale, field, index, key, locale, overrideAccess, req, showHiddenFields })=>{
13
3
  const dataToUpdate = dataReference;
14
4
  const relation = Array.isArray(field.relationTo) ? data.relationTo : field.relationTo;
@@ -56,11 +46,11 @@ const populate = async ({ currentDepth, data, dataReference, depth, fallbackLoca
56
46
  }
57
47
  }
58
48
  };
59
- const relationshipPopulationPromise = async ({ currentDepth, depth, fallbackLocale, field, locale, overrideAccess, req, showHiddenFields, siblingDoc })=>{
49
+ export const relationshipPopulationPromise = async ({ currentDepth, depth, fallbackLocale, field, locale, overrideAccess, req, showHiddenFields, siblingDoc })=>{
60
50
  const resultingDoc = siblingDoc;
61
- const populateDepth = (0, _types.fieldHasMaxDepth)(field) && field.maxDepth < depth ? field.maxDepth : depth;
51
+ const populateDepth = fieldHasMaxDepth(field) && field.maxDepth < depth ? field.maxDepth : depth;
62
52
  const rowPromises = [];
63
- if ((0, _types.fieldSupportsMany)(field) && field.hasMany) {
53
+ if (fieldSupportsMany(field) && field.hasMany) {
64
54
  if (locale === 'all' && typeof siblingDoc[field.name] === 'object' && siblingDoc[field.name] !== null) {
65
55
  Object.keys(siblingDoc[field.name]).forEach((key)=>{
66
56
  if (Array.isArray(siblingDoc[field.name][key])) {
@@ -144,4 +134,4 @@ const relationshipPopulationPromise = async ({ currentDepth, depth, fallbackLoca
144
134
  await Promise.all(rowPromises);
145
135
  };
146
136
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3JlbGF0aW9uc2hpcFBvcHVsYXRpb25Qcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVsYXRpb25zaGlwRmllbGQsIFVwbG9hZEZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEhhc01heERlcHRoLCBmaWVsZFN1cHBvcnRzTWFueSB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxudHlwZSBQb3B1bGF0ZUFyZ3MgPSB7XG4gIGN1cnJlbnREZXB0aDogbnVtYmVyXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRhdGFSZWZlcmVuY2U6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgZGVwdGg6IG51bWJlclxuICBmYWxsYmFja0xvY2FsZTogbnVsbCB8IHN0cmluZ1xuICBmaWVsZDogUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuICBpbmRleD86IG51bWJlclxuICBrZXk/OiBzdHJpbmdcbiAgbG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxufVxuXG5jb25zdCBwb3B1bGF0ZSA9IGFzeW5jICh7XG4gIGN1cnJlbnREZXB0aCxcbiAgZGF0YSxcbiAgZGF0YVJlZmVyZW5jZSxcbiAgZGVwdGgsXG4gIGZhbGxiYWNrTG9jYWxlLFxuICBmaWVsZCxcbiAgaW5kZXgsXG4gIGtleSxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcmVxLFxuICBzaG93SGlkZGVuRmllbGRzLFxufTogUG9wdWxhdGVBcmdzKSA9PiB7XG4gIGNvbnN0IGRhdGFUb1VwZGF0ZSA9IGRhdGFSZWZlcmVuY2VcbiAgY29uc3QgcmVsYXRpb24gPSBBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pID8gKGRhdGEucmVsYXRpb25UbyBhcyBzdHJpbmcpIDogZmllbGQucmVsYXRpb25Ub1xuICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uXVxuXG4gIGlmIChyZWxhdGVkQ29sbGVjdGlvbikge1xuICAgIGxldCBpZCA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBkYXRhLnZhbHVlIDogZGF0YVxuICAgIGxldCByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIGNvbnN0IHNob3VsZFBvcHVsYXRlID0gZGVwdGggJiYgY3VycmVudERlcHRoIDw9IGRlcHRoXG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgaWQgIT09ICdzdHJpbmcnICYmXG4gICAgICB0eXBlb2YgaWQgIT09ICdudW1iZXInICYmXG4gICAgICB0eXBlb2YgaWQ/LnRvU3RyaW5nID09PSAnZnVuY3Rpb24nICYmXG4gICAgICB0eXBlb2YgaWQgIT09ICdvYmplY3QnXG4gICAgKSB7XG4gICAgICBpZCA9IGlkLnRvU3RyaW5nKClcbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkUG9wdWxhdGUpIHtcbiAgICAgIHJlbGF0aW9uc2hpcFZhbHVlID0gYXdhaXQgcmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICByZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICByZWxhdGVkQ29sbGVjdGlvbi5jb25maWcuc2x1ZyxcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBjdXJyZW50RGVwdGggKyAxLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBdKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoIXJlbGF0aW9uc2hpcFZhbHVlKSB7XG4gICAgICAvLyBpZHMgYXJlIHZpc2libGUgcmVnYXJkbGVzcyBvZiBhY2Nlc3MgY29udHJvbHNcbiAgICAgIHJlbGF0aW9uc2hpcFZhbHVlID0gaWRcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluZGV4ID09PSAnbnVtYmVyJyAmJiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgZGF0YVRvVXBkYXRlW2ZpZWxkLm5hbWVdW2tleV1baW5kZXhdLnZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGFUb1VwZGF0ZVtmaWVsZC5uYW1lXVtrZXldW2luZGV4XSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaW5kZXggPT09ICdudW1iZXInIHx8IHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV1baW5kZXggPz8ga2V5XS52YWx1ZSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV1baW5kZXggPz8ga2V5XSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV0udmFsdWUgPSByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV0gPSByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIH1cbiAgfVxufVxuXG50eXBlIFByb21pc2VBcmdzID0ge1xuICBjdXJyZW50RGVwdGg6IG51bWJlclxuICBkZXB0aDogbnVtYmVyXG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCB8IFVwbG9hZEZpZWxkXG4gIGxvY2FsZTogbnVsbCB8IHN0cmluZ1xuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM6IGJvb2xlYW5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UgPSBhc3luYyAoe1xuICBjdXJyZW50RGVwdGgsXG4gIGRlcHRoLFxuICBmYWxsYmFja0xvY2FsZSxcbiAgZmllbGQsXG4gIGxvY2FsZSxcbiAgb3ZlcnJpZGVBY2Nlc3MsXG4gIHJlcSxcbiAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgc2libGluZ0RvYyxcbn06IFByb21pc2VBcmdzKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHJlc3VsdGluZ0RvYyA9IHNpYmxpbmdEb2NcbiAgY29uc3QgcG9wdWxhdGVEZXB0aCA9IGZpZWxkSGFzTWF4RGVwdGgoZmllbGQpICYmIGZpZWxkLm1heERlcHRoIDwgZGVwdGggPyBmaWVsZC5tYXhEZXB0aCA6IGRlcHRoXG4gIGNvbnN0IHJvd1Byb21pc2VzID0gW11cblxuICBpZiAoZmllbGRTdXBwb3J0c01hbnkoZmllbGQpICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICBpZiAoXG4gICAgICBsb2NhbGUgPT09ICdhbGwnICYmXG4gICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09IG51bGxcbiAgICApIHtcbiAgICAgIE9iamVjdC5rZXlzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2tleV0pKSB7XG4gICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXVtrZXldLmZvckVhY2goKHJlbGF0ZWREb2MsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBhd2FpdCBwb3B1bGF0ZSh7XG4gICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgIGRhdGE6IHNpYmxpbmdEb2NbZmllbGQubmFtZV1ba2V5XVtpbmRleF0sXG4gICAgICAgICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgICAgICAgIGRlcHRoOiBwb3B1bGF0ZURlcHRoLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXS5mb3JFYWNoKChyZWxhdGVkRG9jLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCByb3dQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChyZWxhdGVkRG9jKSB7XG4gICAgICAgICAgICBhd2FpdCBwb3B1bGF0ZSh7XG4gICAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgICAgZGF0YTogcmVsYXRlZERvYyxcbiAgICAgICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgICAgICBkZXB0aDogcG9wdWxhdGVEZXB0aCxcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICAgIH0pXG4gICAgfVxuICB9IGVsc2UgaWYgKFxuICAgIHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09IG51bGwgJiZcbiAgICBsb2NhbGUgPT09ICdhbGwnXG4gICkge1xuICAgIE9iamVjdC5rZXlzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3Qgcm93UHJvbWlzZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgcG9wdWxhdGUoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkYXRhOiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2tleV0sXG4gICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgIGRlcHRoOiBwb3B1bGF0ZURlcHRoLFxuICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGtleSxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICB9KVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocm93UHJvbWlzZXMpXG4gIH0gZWxzZSBpZiAoc2libGluZ0RvY1tmaWVsZC5uYW1lXSkge1xuICAgIGF3YWl0IHBvcHVsYXRlKHtcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRhdGE6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0sXG4gICAgICBkYXRhUmVmZXJlbmNlOiByZXN1bHRpbmdEb2MsXG4gICAgICBkZXB0aDogcG9wdWxhdGVEZXB0aCxcbiAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgZmllbGQsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcbiAgfVxuICBhd2FpdCBQcm9taXNlLmFsbChyb3dQcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJyZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSIsInBvcHVsYXRlIiwiY3VycmVudERlcHRoIiwiZGF0YSIsImRhdGFSZWZlcmVuY2UiLCJkZXB0aCIsImZhbGxiYWNrTG9jYWxlIiwiZmllbGQiLCJpbmRleCIsImtleSIsImxvY2FsZSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsImRhdGFUb1VwZGF0ZSIsInJlbGF0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0ZWRDb2xsZWN0aW9uIiwicGF5bG9hZCIsImNvbGxlY3Rpb25zIiwiaWQiLCJ2YWx1ZSIsInJlbGF0aW9uc2hpcFZhbHVlIiwic2hvdWxkUG9wdWxhdGUiLCJ0b1N0cmluZyIsInBheWxvYWREYXRhTG9hZGVyIiwibG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmFuc2FjdGlvbklEIiwiY29uZmlnIiwic2x1ZyIsIm5hbWUiLCJzaWJsaW5nRG9jIiwicmVzdWx0aW5nRG9jIiwicG9wdWxhdGVEZXB0aCIsImZpZWxkSGFzTWF4RGVwdGgiLCJtYXhEZXB0aCIsInJvd1Byb21pc2VzIiwiZmllbGRTdXBwb3J0c01hbnkiLCJoYXNNYW55IiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJyZWxhdGVkRG9jIiwicm93UHJvbWlzZSIsInB1c2giLCJQcm9taXNlIiwiYWxsIl0sIm1hcHBpbmdzIjoiOzs7OytCQXlHYUE7OztlQUFBQTs7O3VCQXRHdUM7QUFpQnBELE1BQU1DLFdBQVcsT0FBTyxFQUN0QkMsWUFBWSxFQUNaQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMsS0FBSyxFQUNMQyxjQUFjLEVBQ2RDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxHQUFHLEVBQ0hDLE1BQU0sRUFDTkMsY0FBYyxFQUNkQyxHQUFHLEVBQ0hDLGdCQUFnQixFQUNIO0lBQ2IsTUFBTUMsZUFBZVY7SUFDckIsTUFBTVcsV0FBV0MsTUFBTUMsT0FBTyxDQUFDVixNQUFNVyxVQUFVLElBQUtmLEtBQUtlLFVBQVUsR0FBY1gsTUFBTVcsVUFBVTtJQUNqRyxNQUFNQyxvQkFBb0JQLElBQUlRLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDTixTQUFTO0lBRTNELElBQUlJLG1CQUFtQjtRQUNyQixJQUFJRyxLQUFLTixNQUFNQyxPQUFPLENBQUNWLE1BQU1XLFVBQVUsSUFBSWYsS0FBS29CLEtBQUssR0FBR3BCO1FBQ3hELElBQUlxQjtRQUNKLE1BQU1DLGlCQUFpQnBCLFNBQVNILGdCQUFnQkc7UUFFaEQsSUFDRSxPQUFPaUIsT0FBTyxZQUNkLE9BQU9BLE9BQU8sWUFDZCxPQUFPQSxJQUFJSSxhQUFhLGNB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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3JlbGF0aW9uc2hpcFBvcHVsYXRpb25Qcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVsYXRpb25zaGlwRmllbGQsIFVwbG9hZEZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEhhc01heERlcHRoLCBmaWVsZFN1cHBvcnRzTWFueSB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxudHlwZSBQb3B1bGF0ZUFyZ3MgPSB7XG4gIGN1cnJlbnREZXB0aDogbnVtYmVyXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRhdGFSZWZlcmVuY2U6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgZGVwdGg6IG51bWJlclxuICBmYWxsYmFja0xvY2FsZTogbnVsbCB8IHN0cmluZ1xuICBmaWVsZDogUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuICBpbmRleD86IG51bWJlclxuICBrZXk/OiBzdHJpbmdcbiAgbG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxufVxuXG5jb25zdCBwb3B1bGF0ZSA9IGFzeW5jICh7XG4gIGN1cnJlbnREZXB0aCxcbiAgZGF0YSxcbiAgZGF0YVJlZmVyZW5jZSxcbiAgZGVwdGgsXG4gIGZhbGxiYWNrTG9jYWxlLFxuICBmaWVsZCxcbiAgaW5kZXgsXG4gIGtleSxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcmVxLFxuICBzaG93SGlkZGVuRmllbGRzLFxufTogUG9wdWxhdGVBcmdzKSA9PiB7XG4gIGNvbnN0IGRhdGFUb1VwZGF0ZSA9IGRhdGFSZWZlcmVuY2VcbiAgY29uc3QgcmVsYXRpb24gPSBBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pID8gKGRhdGEucmVsYXRpb25UbyBhcyBzdHJpbmcpIDogZmllbGQucmVsYXRpb25Ub1xuICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW3JlbGF0aW9uXVxuXG4gIGlmIChyZWxhdGVkQ29sbGVjdGlvbikge1xuICAgIGxldCBpZCA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBkYXRhLnZhbHVlIDogZGF0YVxuICAgIGxldCByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIGNvbnN0IHNob3VsZFBvcHVsYXRlID0gZGVwdGggJiYgY3VycmVudERlcHRoIDw9IGRlcHRoXG5cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgaWQgIT09ICdzdHJpbmcnICYmXG4gICAgICB0eXBlb2YgaWQgIT09ICdudW1iZXInICYmXG4gICAgICB0eXBlb2YgaWQ/LnRvU3RyaW5nID09PSAnZnVuY3Rpb24nICYmXG4gICAgICB0eXBlb2YgaWQgIT09ICdvYmplY3QnXG4gICAgKSB7XG4gICAgICBpZCA9IGlkLnRvU3RyaW5nKClcbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkUG9wdWxhdGUpIHtcbiAgICAgIHJlbGF0aW9uc2hpcFZhbHVlID0gYXdhaXQgcmVxLnBheWxvYWREYXRhTG9hZGVyLmxvYWQoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICByZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICByZWxhdGVkQ29sbGVjdGlvbi5jb25maWcuc2x1ZyxcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBjdXJyZW50RGVwdGggKyAxLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBdKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoIXJlbGF0aW9uc2hpcFZhbHVlKSB7XG4gICAgICAvLyBpZHMgYXJlIHZpc2libGUgcmVnYXJkbGVzcyBvZiBhY2Nlc3MgY29udHJvbHNcbiAgICAgIHJlbGF0aW9uc2hpcFZhbHVlID0gaWRcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluZGV4ID09PSAnbnVtYmVyJyAmJiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgZGF0YVRvVXBkYXRlW2ZpZWxkLm5hbWVdW2tleV1baW5kZXhdLnZhbHVlID0gcmVsYXRpb25zaGlwVmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGFUb1VwZGF0ZVtmaWVsZC5uYW1lXVtrZXldW2luZGV4XSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaW5kZXggPT09ICdudW1iZXInIHx8IHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV1baW5kZXggPz8ga2V5XS52YWx1ZSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV1baW5kZXggPz8ga2V5XSA9IHJlbGF0aW9uc2hpcFZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV0udmFsdWUgPSByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhVG9VcGRhdGVbZmllbGQubmFtZV0gPSByZWxhdGlvbnNoaXBWYWx1ZVxuICAgIH1cbiAgfVxufVxuXG50eXBlIFByb21pc2VBcmdzID0ge1xuICBjdXJyZW50RGVwdGg6IG51bWJlclxuICBkZXB0aDogbnVtYmVyXG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCB8IFVwbG9hZEZpZWxkXG4gIGxvY2FsZTogbnVsbCB8IHN0cmluZ1xuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM6IGJvb2xlYW5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UgPSBhc3luYyAoe1xuICBjdXJyZW50RGVwdGgsXG4gIGRlcHRoLFxuICBmYWxsYmFja0xvY2FsZSxcbiAgZmllbGQsXG4gIGxvY2FsZSxcbiAgb3ZlcnJpZGVBY2Nlc3MsXG4gIHJlcSxcbiAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgc2libGluZ0RvYyxcbn06IFByb21pc2VBcmdzKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHJlc3VsdGluZ0RvYyA9IHNpYmxpbmdEb2NcbiAgY29uc3QgcG9wdWxhdGVEZXB0aCA9IGZpZWxkSGFzTWF4RGVwdGgoZmllbGQpICYmIGZpZWxkLm1heERlcHRoIDwgZGVwdGggPyBmaWVsZC5tYXhEZXB0aCA6IGRlcHRoXG4gIGNvbnN0IHJvd1Byb21pc2VzID0gW11cblxuICBpZiAoZmllbGRTdXBwb3J0c01hbnkoZmllbGQpICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICBpZiAoXG4gICAgICBsb2NhbGUgPT09ICdhbGwnICYmXG4gICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09IG51bGxcbiAgICApIHtcbiAgICAgIE9iamVjdC5rZXlzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2tleV0pKSB7XG4gICAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXVtrZXldLmZvckVhY2goKHJlbGF0ZWREb2MsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBhd2FpdCBwb3B1bGF0ZSh7XG4gICAgICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgICAgIGRhdGE6IHNpYmxpbmdEb2NbZmllbGQubmFtZV1ba2V5XVtpbmRleF0sXG4gICAgICAgICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgICAgICAgIGRlcHRoOiBwb3B1bGF0ZURlcHRoLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXS5mb3JFYWNoKChyZWxhdGVkRG9jLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCByb3dQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChyZWxhdGVkRG9jKSB7XG4gICAgICAgICAgICBhd2FpdCBwb3B1bGF0ZSh7XG4gICAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgICAgZGF0YTogcmVsYXRlZERvYyxcbiAgICAgICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgICAgICBkZXB0aDogcG9wdWxhdGVEZXB0aCxcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICAgIH0pXG4gICAgfVxuICB9IGVsc2UgaWYgKFxuICAgIHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09IG51bGwgJiZcbiAgICBsb2NhbGUgPT09ICdhbGwnXG4gICkge1xuICAgIE9iamVjdC5rZXlzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3Qgcm93UHJvbWlzZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgcG9wdWxhdGUoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkYXRhOiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2tleV0sXG4gICAgICAgICAgZGF0YVJlZmVyZW5jZTogcmVzdWx0aW5nRG9jLFxuICAgICAgICAgIGRlcHRoOiBwb3B1bGF0ZURlcHRoLFxuICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGtleSxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByb3dQcm9taXNlcy5wdXNoKHJvd1Byb21pc2UoKSlcbiAgICB9KVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocm93UHJvbWlzZXMpXG4gIH0gZWxzZSBpZiAoc2libGluZ0RvY1tmaWVsZC5uYW1lXSkge1xuICAgIGF3YWl0IHBvcHVsYXRlKHtcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRhdGE6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0sXG4gICAgICBkYXRhUmVmZXJlbmNlOiByZXN1bHRpbmdEb2MsXG4gICAgICBkZXB0aDogcG9wdWxhdGVEZXB0aCxcbiAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgZmllbGQsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcbiAgfVxuICBhd2FpdCBQcm9taXNlLmFsbChyb3dQcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJmaWVsZEhhc01heERlcHRoIiwiZmllbGRTdXBwb3J0c01hbnkiLCJwb3B1bGF0ZSIsImN1cnJlbnREZXB0aCIsImRhdGEiLCJkYXRhUmVmZXJlbmNlIiwiZGVwdGgiLCJmYWxsYmFja0xvY2FsZSIsImZpZWxkIiwiaW5kZXgiLCJrZXkiLCJsb2NhbGUiLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInNob3dIaWRkZW5GaWVsZHMiLCJkYXRhVG9VcGRhdGUiLCJyZWxhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJyZWxhdGVkQ29sbGVjdGlvbiIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImlkIiwidmFsdWUiLCJyZWxhdGlvbnNoaXBWYWx1ZSIsInNob3VsZFBvcHVsYXRlIiwidG9TdHJpbmciLCJwYXlsb2FkRGF0YUxvYWRlciIsImxvYWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHJhbnNhY3Rpb25JRCIsImNvbmZpZyIsInNsdWciLCJuYW1lIiwicmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UiLCJzaWJsaW5nRG9jIiwicmVzdWx0aW5nRG9jIiwicG9wdWxhdGVEZXB0aCIsIm1heERlcHRoIiwicm93UHJvbWlzZXMiLCJoYXNNYW55IiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJyZWxhdGVkRG9jIiwicm93UHJvbWlzZSIsInB1c2giLCJQcm9taXNlIiwiYWxsIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxnQkFBZ0IsRUFBRUMsaUJBQWlCLFFBQVEscUJBQW9CO0FBaUJ4RSxNQUFNQyxXQUFXLE9BQU8sRUFDdEJDLFlBQVksRUFDWkMsSUFBSSxFQUNKQyxhQUFhLEVBQ2JDLEtBQUssRUFDTEMsY0FBYyxFQUNkQyxLQUFLLEVBQ0xDLEtBQUssRUFDTEMsR0FBRyxFQUNIQyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDSDtJQUNiLE1BQU1DLGVBQWVWO0lBQ3JCLE1BQU1XLFdBQVdDLE1BQU1DLE9BQU8sQ0FBQ1YsTUFBTVcsVUFBVSxJQUFLZixLQUFLZSxVQUFVLEdBQWNYLE1BQU1XLFVBQVU7SUFDakcsTUFBTUMsb0JBQW9CUCxJQUFJUSxPQUFPLENBQUNDLFdBQVcsQ0FBQ04sU0FBUztJQUUzRCxJQUFJSSxtQkFBbUI7UUFDckIsSUFBSUcsS0FBS04sTUFBTUMsT0FBTyxDQUFDVixNQUFNVyxVQUFVLElBQUlmLEtBQUtvQixLQUFLLEdBQUdwQjtRQUN4RCxJQUFJcUI7UUFDSixNQUFNQyxpQkFBaUJwQixTQUFTSCxnQkFBZ0JHO1FBRWhELElBQ0UsT0FBT2lCLE9BQU8sWUFDZCxPQUFPQSxPQUFPLFlBQ2QsT0FBT0EsSUFBSUksYUFBYSxjQUN4QixPQUFPSixPQUFPLFVBQ2Q7WUFDQUEsS0FBS0EsR0FBR0ksUUFBUTtRQUNsQjtRQUVBLElBQUlELGdCQUFnQjtZQUNsQkQsb0JBQW9CLE1BQU1aLElBQUllLGlCQUFpQixDQUFDQyxJQUFJLENBQ2xEQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ2JsQixJQUFJbUIsYUFBYTtnQkFDakJaLGtCQUFrQmEsTUFBTSxDQUFDQyxJQUFJO2dCQUM3Qlg7Z0JBQ0FqQjtnQkFDQUgsZUFBZTtnQkFDZlE7Z0JBQ0FKO2dCQUNBSztnQkFDQUU7YUFDRDtRQUVMO1FBRUEsSUFBSSxDQUFDVyxtQkFBbUI7WUFDdEIsZ0RBQWdEO1lBQ2hEQSxvQkFBb0JGO1FBQ3RCO1FBRUEsSUFBSSxPQUFPZCxVQUFVLFlBQVksT0FBT0MsUUFBUSxVQUFVO1lBQ3hELElBQUlPLE1BQU1DLE9BQU8sQ0FBQ1YsTUFBTVcsVUFBVSxHQUFHO2dCQUNuQ0osWUFBWSxDQUFDUCxNQUFNMkIsSUFBSSxDQUFDLENBQUN6QixJQUFJLENBQUNELE1BQU0sQ0FBQ2UsS0FBSyxHQUFHQztZQUMvQyxPQUFPO2dCQUNMVixZQUFZLENBQUNQLE1BQU0yQixJQUFJLENBQUMsQ0FBQ3pCLElBQUksQ0FBQ0QsTUFBTSxHQUFHZ0I7WUFDekM7UUFDRixPQUFPLElBQUksT0FBT2hCLFVBQVUsWUFBWSxPQUFPQyxRQUFRLFVBQVU7WUFDL0QsSUFBSU8sTUFBTUMsT0FBTyxDQUFDVixNQUFNVyxVQUFVLEdBQUc7Z0JBQ25DSixZQUFZLENBQUNQLE1BQU0yQixJQUFJLENBQUMsQ0FBQzFCLFNBQVNDLElBQUksQ0FBQ2MsS0FBSyxHQUFHQztZQUNqRCxPQUFPO2dCQUNMVixZQUFZLENBQUNQLE1BQU0yQixJQUFJLENBQUMsQ0FBQzFCLFNBQVNDLElBQUksR0FBR2U7WUFDM0M7UUFDRixPQUFPLElBQUlSLE1BQU1DLE9BQU8sQ0FBQ1YsTUFBTVcsVUFBVSxHQUFHO1lBQzFDSixZQUFZLENBQUNQLE1BQU0yQixJQUFJLENBQUMsQ0FBQ1gsS0FBSyxHQUFHQztRQUNuQyxPQUFPO1lBQ0xWLFlBQVksQ0FBQ1AsTUFBTTJCLElBQUksQ0FBQyxHQUFHVjtRQUM3QjtJQUNGO0FBQ0Y7QUFjQSxPQUFPLE1BQU1XLGdDQUFnQyxPQUFPLEVBQ2xEakMsWUFBWSxFQUNaRyxLQUFLLEVBQ0xDLGNBQWMsRUFDZEMsS0FBSyxFQUNMRyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJ1QixVQUFVLEVBQ0U7SUFDWixNQUFNQyxlQUFlRDtJQUNyQixNQUFNRSxnQkFBZ0J2QyxpQkFBaUJRLFVBQVVBLE1BQU1nQyxRQUFRLEdBQUdsQyxRQUFRRSxNQUFNZ0MsUUFBUSxHQUFHbEM7SUFDM0YsTUFBTW1DLGNBQWMsRUFBRTtJQUV0QixJQUFJeEMsa0JBQWtCTyxVQUFVQSxNQUFNa0MsT0FBTyxFQUFFO1FBQzdDLElBQ0UvQixXQUFXLFNBQ1gsT0FBTzBCLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsS0FBSyxZQUNsQ0UsVUFBVSxDQUFDN0IsTUFBTTJCLElBQUksQ0FBQyxLQUFLLE1BQzNCO1lBQ0FRLE9BQU9DLElBQUksQ0FBQ1AsVUFBVSxDQUFDN0IsTUFBTTJCLElBQUksQ0FBQyxFQUFFVSxPQUFPLENBQUMsQ0FBQ25DO2dCQUMzQyxJQUFJTyxNQUFNQyxPQUFPLENBQUNtQixVQUFVLENBQUM3QixNQUFNMkIsSUFBSSxDQUFDLENBQUN6QixJQUFJLEdBQUc7b0JBQzlDMkIsVUFBVSxDQUFDN0IsTUFBTTJCLElBQUksQ0FBQyxDQUFDekIsSUFBSSxDQUFDbUMsT0FBTyxDQUFDLENBQUNDLFlBQVlyQzt3QkFDL0MsTUFBTXNDLGFBQWE7NEJBQ2pCLE1BQU03QyxTQUFTO2dDQUNiQztnQ0FDQUMsTUFBTWlDLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsQ0FBQ3pCLElBQUksQ0FBQ0QsTUFBTTtnQ0FDeENKLGVBQWVpQztnQ0FDZmhDLE9BQU9pQztnQ0FDUGhDO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDO2dDQUNBQzs0QkFDRjt3QkFDRjt3QkFDQTJCLFlBQVlPLElBQUksQ0FBQ0Q7b0JBQ25CO2dCQUNGO1lBQ0Y7UUFDRixPQUFPLElBQUk5QixNQUFNQyxPQUFPLENBQUNtQixVQUFVLENBQUM3QixNQUFNMkIsSUFBSSxDQUFDLEdBQUc7WUFDaERFLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsQ0FBQ1UsT0FBTyxDQUFDLENBQUNDLFlBQVlyQztnQkFDMUMsTUFBTXNDLGFBQWE7b0JBQ2pCLElBQUlELFlBQVk7d0JBQ2QsTUFBTTVDLFNBQVM7NEJBQ2JDOzRCQUNBQyxNQUFNMEM7NEJBQ056QyxlQUFlaUM7NEJBQ2ZoQyxPQUFPaUM7NEJBQ1BoQzs0QkFDQUM7NEJBQ0FDOzRCQUNBRTs0QkFDQUM7NEJBQ0FDOzRCQUNBQzt3QkFDRjtvQkFDRjtnQkFDRjtnQkFFQTJCLFlBQVlPLElBQUksQ0FBQ0Q7WUFDbkI7UUFDRjtJQUNGLE9BQU8sSUFDTCxPQUFPVixVQUFVLENBQUM3QixNQUFNMkIsSUFBSSxDQUFDLEtBQUssWUFDbENFLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsS0FBSyxRQUMzQnhCLFdBQVcsT0FDWDtRQUNBZ0MsT0FBT0MsSUFBSSxDQUFDUCxVQUFVLENBQUM3QixNQUFNMkIsSUFBSSxDQUFDLEVBQUVVLE9BQU8sQ0FBQyxDQUFDbkM7WUFDM0MsTUFBTXFDLGFBQWE7Z0JBQ2pCLE1BQU03QyxTQUFTO29CQUNiQztvQkFDQUMsTUFBTWlDLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsQ0FBQ3pCLElBQUk7b0JBQ2pDTCxlQUFlaUM7b0JBQ2ZoQyxPQUFPaUM7b0JBQ1BoQztvQkFDQUM7b0JBQ0FFO29CQUNBQztvQkFDQUM7b0JBQ0FDO29CQUNBQztnQkFDRjtZQUNGO1lBQ0EyQixZQUFZTyxJQUFJLENBQUNEO1FBQ25CO1FBRUEsTUFBTUUsUUFBUUMsR0FBRyxDQUFDVDtJQUNwQixPQUFPLElBQUlKLFVBQVUsQ0FBQzdCLE1BQU0yQixJQUFJLENBQUMsRUFBRTtRQUNqQyxNQUFNakMsU0FBUztZQUNiQztZQUNBQyxNQUFNaUMsVUFBVSxDQUFDN0IsTUFBTTJCLElBQUksQ0FBQztZQUM1QjlCLGVBQWVpQztZQUNmaEMsT0FBT2lDO1lBQ1BoQztZQUNBQztZQUNBRztZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBQ0Y7SUFDQSxNQUFNbUMsUUFBUUMsR0FBRyxDQUFDVDtBQUNwQixFQUFDIn0=
@@ -1,17 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "traverseFields", {
6
- enumerable: true,
7
- get: function() {
8
- return traverseFields;
9
- }
10
- });
11
- const _promise = require("./promise");
12
- const traverseFields = ({ collection, context, currentDepth, depth, doc, fallbackLocale, fieldPromises, fields, findMany, flattenLocales, global, locale, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, triggerAccessControl = true, triggerHooks = true })=>{
1
+ import { promise } from './promise';
2
+ export const traverseFields = ({ collection, context, currentDepth, depth, doc, fallbackLocale, fieldPromises, fields, findMany, flattenLocales, global, locale, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, triggerAccessControl = true, triggerHooks = true })=>{
13
3
  fields.forEach((field)=>{
14
- fieldPromises.push((0, _promise.promise)({
4
+ fieldPromises.push(promise({
15
5
  collection,
16
6
  context,
17
7
  currentDepth,
@@ -35,4 +25,4 @@ const traverseFields = ({ collection, context, currentDepth, depth, doc, fallbac
35
25
  });
36
26
  };
37
27
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgVGFiQXNGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgcHJvbWlzZSB9IGZyb20gJy4vcHJvbWlzZSdcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBjdXJyZW50RGVwdGg6IG51bWJlclxuICBkZXB0aDogbnVtYmVyXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU6IG51bGwgfCBzdHJpbmdcbiAgZmllbGRQcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBmaW5kTWFueTogYm9vbGVhblxuICBmbGF0dGVuTG9jYWxlczogYm9vbGVhblxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgbG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxuICBzaWJsaW5nRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0cmlnZ2VyQWNjZXNzQ29udHJvbD86IGJvb2xlYW5cbiAgdHJpZ2dlckhvb2tzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBjdXJyZW50RGVwdGgsXG4gIGRlcHRoLFxuICBkb2MsXG4gIGZhbGxiYWNrTG9jYWxlLFxuICBmaWVsZFByb21pc2VzLFxuICBmaWVsZHMsXG4gIGZpbmRNYW55LFxuICBmbGF0dGVuTG9jYWxlcyxcbiAgZ2xvYmFsLFxuICBsb2NhbGUsXG4gIG92ZXJyaWRlQWNjZXNzLFxuICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gIHJlcSxcbiAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgc2libGluZ0RvYyxcbiAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wgPSB0cnVlLFxuICB0cmlnZ2VySG9va3MgPSB0cnVlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBmaWVsZFByb21pc2VzLnB1c2goXG4gICAgICBwcm9taXNlKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpbmRNYW55LFxuICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgIH0pLFxuICAgIClcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJkb2MiLCJmYWxsYmFja0xvY2FsZSIsImZpZWxkUHJvbWlzZXMiLCJmaWVsZHMiLCJmaW5kTWFueSIsImZsYXR0ZW5Mb2NhbGVzIiwiZ2xvYmFsIiwibG9jYWxlIiwib3ZlcnJpZGVBY2Nlc3MiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXEiLCJzaG93SGlkZGVuRmllbGRzIiwic2libGluZ0RvYyIsInRyaWdnZXJBY2Nlc3NDb250cm9sIiwidHJpZ2dlckhvb2tzIiwiZm9yRWFjaCIsImZpZWxkIiwicHVzaCIsInByb21pc2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNkJhQTs7O2VBQUFBOzs7eUJBeEJXO0FBd0JqQixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLFlBQVksRUFDWkMsS0FBSyxFQUNMQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsYUFBYSxFQUNiQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsY0FBYyxFQUNkQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsY0FBYyxFQUNkQyxrQkFBa0IsRUFDbEJDLEdBQUcsRUFDSEMsZ0JBQWdCLEVBQ2hCQyxVQUFVLEVBQ1ZDLHVCQUF1QixJQUFJLEVBQzNCQyxlQUFlLElBQUksRUFDZDtJQUNMWCxPQUFPWSxPQUFPLENBQUMsQ0FBQ0M7UUFDZGQsY0FBY2UsSUFBSSxDQUNoQkMsSUFBQUEsZ0JBQU8sRUFBQztZQUNOdEI7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQWU7WUFDQWQ7WUFDQUU7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7UUFDRjtJQUVKO0FBQ0YifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgVGFiQXNGaWVsZCB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgcHJvbWlzZSB9IGZyb20gJy4vcHJvbWlzZSdcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBjdXJyZW50RGVwdGg6IG51bWJlclxuICBkZXB0aDogbnVtYmVyXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU6IG51bGwgfCBzdHJpbmdcbiAgZmllbGRQcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBmaW5kTWFueTogYm9vbGVhblxuICBmbGF0dGVuTG9jYWxlczogYm9vbGVhblxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgbG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHBvcHVsYXRpb25Qcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxuICBzaWJsaW5nRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0cmlnZ2VyQWNjZXNzQ29udHJvbD86IGJvb2xlYW5cbiAgdHJpZ2dlckhvb2tzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBjdXJyZW50RGVwdGgsXG4gIGRlcHRoLFxuICBkb2MsXG4gIGZhbGxiYWNrTG9jYWxlLFxuICBmaWVsZFByb21pc2VzLFxuICBmaWVsZHMsXG4gIGZpbmRNYW55LFxuICBmbGF0dGVuTG9jYWxlcyxcbiAgZ2xvYmFsLFxuICBsb2NhbGUsXG4gIG92ZXJyaWRlQWNjZXNzLFxuICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gIHJlcSxcbiAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgc2libGluZ0RvYyxcbiAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wgPSB0cnVlLFxuICB0cmlnZ2VySG9va3MgPSB0cnVlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBmaWVsZFByb21pc2VzLnB1c2goXG4gICAgICBwcm9taXNlKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpbmRNYW55LFxuICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgdHJpZ2dlckFjY2Vzc0NvbnRyb2wsXG4gICAgICAgIHRyaWdnZXJIb29rcyxcbiAgICAgIH0pLFxuICAgIClcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwidHJhdmVyc2VGaWVsZHMiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImN1cnJlbnREZXB0aCIsImRlcHRoIiwiZG9jIiwiZmFsbGJhY2tMb2NhbGUiLCJmaWVsZFByb21pc2VzIiwiZmllbGRzIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsImdsb2JhbCIsImxvY2FsZSIsIm92ZXJyaWRlQWNjZXNzIiwicG9wdWxhdGlvblByb21pc2VzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJ0cmlnZ2VyQWNjZXNzQ29udHJvbCIsInRyaWdnZXJIb29rcyIsImZvckVhY2giLCJmaWVsZCIsInB1c2giXSwibWFwcGluZ3MiOiJBQUtBLFNBQVNBLE9BQU8sUUFBUSxZQUFXO0FBd0JuQyxPQUFPLE1BQU1DLGlCQUFpQixDQUFDLEVBQzdCQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxhQUFhLEVBQ2JDLE1BQU0sRUFDTkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDVkMsdUJBQXVCLElBQUksRUFDM0JDLGVBQWUsSUFBSSxFQUNkO0lBQ0xYLE9BQU9ZLE9BQU8sQ0FBQyxDQUFDQztRQUNkZCxjQUFjZSxJQUFJLENBQ2hCdkIsUUFBUTtZQUNORTtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBZTtZQUNBZDtZQUNBRTtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBRUo7QUFDRixFQUFDIn0=
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "cloneDataFromOriginalDoc", {
6
- enumerable: true,
7
- get: function() {
8
- return cloneDataFromOriginalDoc;
9
- }
10
- });
11
- const cloneDataFromOriginalDoc = (originalDocData)=>{
1
+ export const cloneDataFromOriginalDoc = (originalDocData)=>{
12
2
  if (Array.isArray(originalDocData)) {
13
3
  return originalDocData.map((row)=>{
14
4
  if (typeof row === 'object' && row != null) {
@@ -27,4 +17,4 @@ const cloneDataFromOriginalDoc = (originalDocData)=>{
27
17
  return originalDocData;
28
18
  };
29
19
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2Nsb25lRGF0YUZyb21PcmlnaW5hbERvYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jID0gKG9yaWdpbmFsRG9jRGF0YTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbERvY0RhdGEpKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsRG9jRGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgaWYgKHR5cGVvZiByb3cgPT09ICdvYmplY3QnICYmIHJvdyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3dcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvcmlnaW5hbERvY0RhdGEgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRG9jRGF0YSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB7IC4uLm9yaWdpbmFsRG9jRGF0YSB9XG4gIH1cblxuICByZXR1cm4gb3JpZ2luYWxEb2NEYXRhXG59XG4iXSwibmFtZXMiOlsiY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jIiwib3JpZ2luYWxEb2NEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwicm93Il0sIm1hcHBpbmdzIjoiOzs7OytCQUFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSwyQkFBMkIsQ0FBQ0M7SUFDdkMsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixrQkFBa0I7UUFDbEMsT0FBT0EsZ0JBQWdCRyxHQUFHLENBQUMsQ0FBQ0M7WUFDMUIsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLE9BQU8sTUFBTTtnQkFDMUMsT0FBTztvQkFDTCxHQUFHQSxHQUFHO2dCQUNSO1lBQ0Y7WUFFQSxPQUFPQTtRQUNUO0lBQ0Y7SUFFQSxJQUFJLE9BQU9KLG9CQUFvQixZQUFZQSxvQkFBb0IsTUFBTTtRQUNuRSxPQUFPO1lBQUUsR0FBR0EsZUFBZTtRQUFDO0lBQzlCO0lBRUEsT0FBT0E7QUFDVCJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2Nsb25lRGF0YUZyb21PcmlnaW5hbERvYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jID0gKG9yaWdpbmFsRG9jRGF0YTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbERvY0RhdGEpKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsRG9jRGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgaWYgKHR5cGVvZiByb3cgPT09ICdvYmplY3QnICYmIHJvdyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3dcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvcmlnaW5hbERvY0RhdGEgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsRG9jRGF0YSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB7IC4uLm9yaWdpbmFsRG9jRGF0YSB9XG4gIH1cblxuICByZXR1cm4gb3JpZ2luYWxEb2NEYXRhXG59XG4iXSwibmFtZXMiOlsiY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jIiwib3JpZ2luYWxEb2NEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwicm93Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU1BLDJCQUEyQixDQUFDQztJQUN2QyxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLGtCQUFrQjtRQUNsQyxPQUFPQSxnQkFBZ0JHLEdBQUcsQ0FBQyxDQUFDQztZQUMxQixJQUFJLE9BQU9BLFFBQVEsWUFBWUEsT0FBTyxNQUFNO2dCQUMxQyxPQUFPO29CQUNMLEdBQUdBLEdBQUc7Z0JBQ1I7WUFDRjtZQUVBLE9BQU9BO1FBQ1Q7SUFDRjtJQUVBLElBQUksT0FBT0osb0JBQW9CLFlBQVlBLG9CQUFvQixNQUFNO1FBQ25FLE9BQU87WUFBRSxHQUFHQSxlQUFlO1FBQUM7SUFDOUI7SUFFQSxPQUFPQTtBQUNULEVBQUMifQ==
@@ -3,17 +3,7 @@
3
3
  * and it matches the existing sibling doc id,
4
4
  * this is an existing row, so it should be merged.
5
5
  * Otherwise, return an empty object.
6
- */ "use strict";
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- Object.defineProperty(exports, "getExistingRowDoc", {
11
- enumerable: true,
12
- get: function() {
13
- return getExistingRowDoc;
14
- }
15
- });
16
- const getExistingRowDoc = (incomingRow, existingRows)=>{
6
+ */ export const getExistingRowDoc = (incomingRow, existingRows)=>{
17
7
  if (incomingRow.id && Array.isArray(existingRows)) {
18
8
  const matchedExistingRow = existingRows.find((existingRow)=>{
19
9
  if (typeof existingRow === 'object' && 'id' in existingRow) {
@@ -26,4 +16,4 @@ const getExistingRowDoc = (incomingRow, existingRows)=>{
26
16
  return {};
27
17
  };
28
18
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2dldEV4aXN0aW5nUm93RG9jLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSWYgdGhlcmUgaXMgYW4gaW5jb21pbmcgcm93IGlkLFxuICogYW5kIGl0IG1hdGNoZXMgdGhlIGV4aXN0aW5nIHNpYmxpbmcgZG9jIGlkLFxuICogdGhpcyBpcyBhbiBleGlzdGluZyByb3csIHNvIGl0IHNob3VsZCBiZSBtZXJnZWQuXG4gKiBPdGhlcndpc2UsIHJldHVybiBhbiBlbXB0eSBvYmplY3QuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldEV4aXN0aW5nUm93RG9jID0gKFxuICBpbmNvbWluZ1JvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGV4aXN0aW5nUm93cz86IHVua25vd24sXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGlmIChpbmNvbWluZ1Jvdy5pZCAmJiBBcnJheS5pc0FycmF5KGV4aXN0aW5nUm93cykpIHtcbiAgICBjb25zdCBtYXRjaGVkRXhpc3RpbmdSb3cgPSBleGlzdGluZ1Jvd3MuZmluZCgoZXhpc3RpbmdSb3cpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdSb3cgPT09ICdvYmplY3QnICYmICdpZCcgaW4gZXhpc3RpbmdSb3cpIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nUm93LmlkID09PSBpbmNvbWluZ1Jvdy5pZCkgcmV0dXJuIGV4aXN0aW5nUm93XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG5cbiAgICBpZiAobWF0Y2hlZEV4aXN0aW5nUm93KSByZXR1cm4gbWF0Y2hlZEV4aXN0aW5nUm93XG4gIH1cblxuICByZXR1cm4ge31cbn1cbiJdLCJuYW1lcyI6WyJnZXRFeGlzdGluZ1Jvd0RvYyIsImluY29taW5nUm93IiwiZXhpc3RpbmdSb3dzIiwiaWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXRjaGVkRXhpc3RpbmdSb3ciLCJmaW5kIiwiZXhpc3RpbmdSb3ciXSwibWFwcGluZ3MiOiJBQUFBOzs7OztDQUtDOzs7OytCQUVZQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxvQkFBb0IsQ0FDL0JDLGFBQ0FDO0lBRUEsSUFBSUQsWUFBWUUsRUFBRSxJQUFJQyxNQUFNQyxPQUFPLENBQUNILGVBQWU7UUFDakQsTUFBTUkscUJBQXFCSixhQUFhSyxJQUFJLENBQUMsQ0FBQ0M7WUFDNUMsSUFBSSxPQUFPQSxnQkFBZ0IsWUFBWSxRQUFRQSxhQUFhO2dCQUMxRCxJQUFJQSxZQUFZTCxFQUFFLEtBQUtGLFlBQVlFLEVBQUUsRUFBRSxPQUFPSztZQUNoRDtZQUVBLE9BQU87UUFDVDtRQUVBLElBQUlGLG9CQUFvQixPQUFPQTtJQUNqQztJQUVBLE9BQU8sQ0FBQztBQUNWIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2dldEV4aXN0aW5nUm93RG9jLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSWYgdGhlcmUgaXMgYW4gaW5jb21pbmcgcm93IGlkLFxuICogYW5kIGl0IG1hdGNoZXMgdGhlIGV4aXN0aW5nIHNpYmxpbmcgZG9jIGlkLFxuICogdGhpcyBpcyBhbiBleGlzdGluZyByb3csIHNvIGl0IHNob3VsZCBiZSBtZXJnZWQuXG4gKiBPdGhlcndpc2UsIHJldHVybiBhbiBlbXB0eSBvYmplY3QuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldEV4aXN0aW5nUm93RG9jID0gKFxuICBpbmNvbWluZ1JvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGV4aXN0aW5nUm93cz86IHVua25vd24sXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGlmIChpbmNvbWluZ1Jvdy5pZCAmJiBBcnJheS5pc0FycmF5KGV4aXN0aW5nUm93cykpIHtcbiAgICBjb25zdCBtYXRjaGVkRXhpc3RpbmdSb3cgPSBleGlzdGluZ1Jvd3MuZmluZCgoZXhpc3RpbmdSb3cpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZXhpc3RpbmdSb3cgPT09ICdvYmplY3QnICYmICdpZCcgaW4gZXhpc3RpbmdSb3cpIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nUm93LmlkID09PSBpbmNvbWluZ1Jvdy5pZCkgcmV0dXJuIGV4aXN0aW5nUm93XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG5cbiAgICBpZiAobWF0Y2hlZEV4aXN0aW5nUm93KSByZXR1cm4gbWF0Y2hlZEV4aXN0aW5nUm93XG4gIH1cblxuICByZXR1cm4ge31cbn1cbiJdLCJuYW1lcyI6WyJnZXRFeGlzdGluZ1Jvd0RvYyIsImluY29taW5nUm93IiwiZXhpc3RpbmdSb3dzIiwiaWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXRjaGVkRXhpc3RpbmdSb3ciLCJmaW5kIiwiZXhpc3RpbmdSb3ciXSwibWFwcGluZ3MiOiJBQUFBOzs7OztDQUtDLEdBRUQsT0FBTyxNQUFNQSxvQkFBb0IsQ0FDL0JDLGFBQ0FDO0lBRUEsSUFBSUQsWUFBWUUsRUFBRSxJQUFJQyxNQUFNQyxPQUFPLENBQUNILGVBQWU7UUFDakQsTUFBTUkscUJBQXFCSixhQUFhSyxJQUFJLENBQUMsQ0FBQ0M7WUFDNUMsSUFBSSxPQUFPQSxnQkFBZ0IsWUFBWSxRQUFRQSxhQUFhO2dCQUMxRCxJQUFJQSxZQUFZTCxFQUFFLEtBQUtGLFlBQVlFLEVBQUUsRUFBRSxPQUFPSztZQUNoRDtZQUVBLE9BQU87UUFDVDtRQUVBLElBQUlGLG9CQUFvQixPQUFPQTtJQUNqQztJQUVBLE9BQU8sQ0FBQztBQUNWLEVBQUMifQ==
@@ -1,21 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "beforeChange", {
6
- enumerable: true,
7
- get: function() {
8
- return beforeChange;
9
- }
10
- });
11
- const _errors = require("../../../errors");
12
- const _deepCopyObject = require("../../../utilities/deepCopyObject");
13
- const _traverseFields = require("./traverseFields");
14
- const beforeChange = async ({ id, collection, context, data: incomingData, doc, docWithLocales, global, operation, req, skipValidation })=>{
15
- const data = (0, _deepCopyObject.deepCopyObject)(incomingData);
1
+ import { ValidationError } from '../../../errors';
2
+ import { deepCopyObject } from '../../../utilities/deepCopyObject';
3
+ import { traverseFields } from './traverseFields';
4
+ export const beforeChange = async ({ id, collection, context, data: incomingData, doc, docWithLocales, global, operation, req, skipValidation })=>{
5
+ const data = deepCopyObject(incomingData);
16
6
  const mergeLocaleActions = [];
17
7
  const errors = [];
18
- await (0, _traverseFields.traverseFields)({
8
+ await traverseFields({
19
9
  id,
20
10
  collection,
21
11
  context,
@@ -35,10 +25,10 @@ const beforeChange = async ({ id, collection, context, data: incomingData, doc,
35
25
  skipValidation
36
26
  });
37
27
  if (errors.length > 0) {
38
- throw new _errors.ValidationError(errors, req.t);
28
+ throw new ValidationError(errors, req.t);
39
29
  }
40
30
  mergeLocaleActions.forEach((action)=>action());
41
31
  return data;
42
32
  };
43
33
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvY1dpdGhMb2NhbGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uOiBPcGVyYXRpb25cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBza2lwVmFsaWRhdGlvbj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGJlZm9yZUNoYW5nZSA9IGFzeW5jIDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgaWQsXG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGRhdGE6IGluY29taW5nRGF0YSxcbiAgZG9jLFxuICBkb2NXaXRoTG9jYWxlcyxcbiAgZ2xvYmFsLFxuICBvcGVyYXRpb24sXG4gIHJlcSxcbiAgc2tpcFZhbGlkYXRpb24sXG59OiBBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IGRhdGEgPSBkZWVwQ29weU9iamVjdChpbmNvbWluZ0RhdGEpXG4gIGNvbnN0IG1lcmdlTG9jYWxlQWN0aW9ucyA9IFtdXG4gIGNvbnN0IGVycm9yczogeyBmaWVsZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdID0gW11cblxuICBhd2FpdCB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgaWQsXG4gICAgY29sbGVjdGlvbixcbiAgICBjb250ZXh0LFxuICAgIGRhdGEsXG4gICAgZG9jLFxuICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgIGVycm9ycyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/LmZpZWxkcyxcbiAgICBnbG9iYWwsXG4gICAgbWVyZ2VMb2NhbGVBY3Rpb25zLFxuICAgIG9wZXJhdGlvbixcbiAgICBwYXRoOiAnJyxcbiAgICByZXEsXG4gICAgc2libGluZ0RhdGE6IGRhdGEsXG4gICAgc2libGluZ0RvYzogZG9jLFxuICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogZG9jV2l0aExvY2FsZXMsXG4gICAgc2tpcFZhbGlkYXRpb24sXG4gIH0pXG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJvcnMsIHJlcS50KVxuICB9XG5cbiAgbWVyZ2VMb2NhbGVBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uKCkpXG5cbiAgcmV0dXJuIGRhdGFcbn1cbiJdLCJuYW1lcyI6WyJiZWZvcmVDaGFuZ2UiLCJpZCIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZGF0YSIsImluY29taW5nRGF0YSIsImRvYyIsImRvY1dpdGhMb2NhbGVzIiwiZ2xvYmFsIiwib3BlcmF0aW9uIiwicmVxIiwic2tpcFZhbGlkYXRpb24iLCJkZWVwQ29weU9iamVjdCIsIm1lcmdlTG9jYWxlQWN0aW9ucyIsImVycm9ycyIsInRyYXZlcnNlRmllbGRzIiwiZmllbGRzIiwicGF0aCIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsInNpYmxpbmdEb2NXaXRoTG9jYWxlcyIsImxlbmd0aCIsIlZhbGlkYXRpb25FcnJvciIsInQiLCJmb3JFYWNoIiwiYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQXNCYUE7OztlQUFBQTs7O3dCQWpCbUI7Z0NBQ0Q7Z0NBQ0E7QUFleEIsTUFBTUEsZUFBZSxPQUEwQyxFQUNwRUMsRUFBRSxFQUNGQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsTUFBTUMsWUFBWSxFQUNsQkMsR0FBRyxFQUNIQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxHQUFHLEVBQ0hDLGNBQWMsRUFDTjtJQUNSLE1BQU1QLE9BQU9RLElBQUFBLDhCQUFjLEVBQUNQO0lBQzVCLE1BQU1RLHFCQUFxQixFQUFFO0lBQzdCLE1BQU1DLFNBQStDLEVBQUU7SUFFdkQsTUFBTUMsSUFBQUEsOEJBQWMsRUFBQztRQUNuQmQ7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUU7UUFDQUM7UUFDQU87UUFDQUUsUUFBUWQsWUFBWWMsVUFBVVIsUUFBUVE7UUFDdENSO1FBQ0FLO1FBQ0FKO1FBQ0FRLE1BQU07UUFDTlA7UUFDQVEsYUFBYWQ7UUFDYmUsWUFBWWI7UUFDWmMsdUJBQXVCYjtRQUN2Qkk7SUFDRjtJQUVBLElBQUlHLE9BQU9PLE1BQU0sR0FBRyxHQUFHO1FBQ3JCLE1BQU0sSUFBSUMsdUJBQWUsQ0FBQ1IsUUFBUUosSUFBSWEsQ0FBQztJQUN6QztJQUVBVixtQkFBbUJXLE9BQU8sQ0FBQyxDQUFDQyxTQUFXQTtJQUV2QyxPQUFPckI7QUFDVCJ9
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvY1dpdGhMb2NhbGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uOiBPcGVyYXRpb25cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBza2lwVmFsaWRhdGlvbj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGJlZm9yZUNoYW5nZSA9IGFzeW5jIDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgaWQsXG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGRhdGE6IGluY29taW5nRGF0YSxcbiAgZG9jLFxuICBkb2NXaXRoTG9jYWxlcyxcbiAgZ2xvYmFsLFxuICBvcGVyYXRpb24sXG4gIHJlcSxcbiAgc2tpcFZhbGlkYXRpb24sXG59OiBBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IGRhdGEgPSBkZWVwQ29weU9iamVjdChpbmNvbWluZ0RhdGEpXG4gIGNvbnN0IG1lcmdlTG9jYWxlQWN0aW9ucyA9IFtdXG4gIGNvbnN0IGVycm9yczogeyBmaWVsZDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdID0gW11cblxuICBhd2FpdCB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgaWQsXG4gICAgY29sbGVjdGlvbixcbiAgICBjb250ZXh0LFxuICAgIGRhdGEsXG4gICAgZG9jLFxuICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgIGVycm9ycyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/LmZpZWxkcyxcbiAgICBnbG9iYWwsXG4gICAgbWVyZ2VMb2NhbGVBY3Rpb25zLFxuICAgIG9wZXJhdGlvbixcbiAgICBwYXRoOiAnJyxcbiAgICByZXEsXG4gICAgc2libGluZ0RhdGE6IGRhdGEsXG4gICAgc2libGluZ0RvYzogZG9jLFxuICAgIHNpYmxpbmdEb2NXaXRoTG9jYWxlczogZG9jV2l0aExvY2FsZXMsXG4gICAgc2tpcFZhbGlkYXRpb24sXG4gIH0pXG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJvcnMsIHJlcS50KVxuICB9XG5cbiAgbWVyZ2VMb2NhbGVBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uKCkpXG5cbiAgcmV0dXJuIGRhdGFcbn1cbiJdLCJuYW1lcyI6WyJWYWxpZGF0aW9uRXJyb3IiLCJkZWVwQ29weU9iamVjdCIsInRyYXZlcnNlRmllbGRzIiwiYmVmb3JlQ2hhbmdlIiwiaWQiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRhdGEiLCJpbmNvbWluZ0RhdGEiLCJkb2MiLCJkb2NXaXRoTG9jYWxlcyIsImdsb2JhbCIsIm9wZXJhdGlvbiIsInJlcSIsInNraXBWYWxpZGF0aW9uIiwibWVyZ2VMb2NhbGVBY3Rpb25zIiwiZXJyb3JzIiwiZmllbGRzIiwicGF0aCIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsInNpYmxpbmdEb2NXaXRoTG9jYWxlcyIsImxlbmd0aCIsInQiLCJmb3JFYWNoIiwiYWN0aW9uIl0sIm1hcHBpbmdzIjoiQUFLQSxTQUFTQSxlQUFlLFFBQVEsa0JBQWlCO0FBQ2pELFNBQVNDLGNBQWMsUUFBUSxvQ0FBbUM7QUFDbEUsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQWVqRCxPQUFPLE1BQU1DLGVBQWUsT0FBMEMsRUFDcEVDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLE1BQU1DLFlBQVksRUFDbEJDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsR0FBRyxFQUNIQyxjQUFjLEVBQ047SUFDUixNQUFNUCxPQUFPTixlQUFlTztJQUM1QixNQUFNTyxxQkFBcUIsRUFBRTtJQUM3QixNQUFNQyxTQUErQyxFQUFFO0lBRXZELE1BQU1kLGVBQWU7UUFDbkJFO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FFO1FBQ0FDO1FBQ0FNO1FBQ0FDLFFBQVFaLFlBQVlZLFVBQVVOLFFBQVFNO1FBQ3RDTjtRQUNBSTtRQUNBSDtRQUNBTSxNQUFNO1FBQ05MO1FBQ0FNLGFBQWFaO1FBQ2JhLFlBQVlYO1FBQ1pZLHVCQUF1Qlg7UUFDdkJJO0lBQ0Y7SUFFQSxJQUFJRSxPQUFPTSxNQUFNLEdBQUcsR0FBRztRQUNyQixNQUFNLElBQUl0QixnQkFBZ0JnQixRQUFRSCxJQUFJVSxDQUFDO0lBQ3pDO0lBRUFSLG1CQUFtQlMsT0FBTyxDQUFDLENBQUNDLFNBQVdBO0lBRXZDLE9BQU9sQjtBQUNULEVBQUMifQ==