payload 2.11.1 → 2.12.0

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 (88) hide show
  1. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  2. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +4 -7
  3. package/dist/admin/components/elements/EditMany/index.d.ts.map +1 -1
  4. package/dist/admin/components/elements/EditMany/index.js +5 -2
  5. package/dist/admin/components/forms/field-types/RichText/types.d.ts +6 -1
  6. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  7. package/dist/admin/hooks/useThumbnail.js +2 -2
  8. package/dist/auth/baseFields/apiKey.js +8 -8
  9. package/dist/auth/operations/login.d.ts.map +1 -1
  10. package/dist/auth/operations/login.js +4 -2
  11. package/dist/bin/generateTypes.js +2 -2
  12. package/dist/bin/index.js +26 -22
  13. package/dist/collections/config/types.d.ts +1 -1
  14. package/dist/collections/config/types.d.ts.map +1 -1
  15. package/dist/collections/config/types.js +1 -1
  16. package/dist/collections/operations/create.d.ts.map +1 -1
  17. package/dist/collections/operations/create.js +5 -3
  18. package/dist/collections/operations/delete.d.ts.map +1 -1
  19. package/dist/collections/operations/delete.js +6 -4
  20. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  21. package/dist/collections/operations/deleteByID.js +6 -4
  22. package/dist/collections/operations/find.d.ts.map +1 -1
  23. package/dist/collections/operations/find.js +4 -2
  24. package/dist/collections/operations/findByID.d.ts.map +1 -1
  25. package/dist/collections/operations/findByID.js +4 -2
  26. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  27. package/dist/collections/operations/findVersionByID.js +4 -2
  28. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  29. package/dist/collections/operations/findVersions.js +4 -2
  30. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  31. package/dist/collections/operations/restoreVersion.js +4 -2
  32. package/dist/collections/operations/update.d.ts.map +1 -1
  33. package/dist/collections/operations/update.js +6 -2
  34. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  35. package/dist/collections/operations/updateByID.js +6 -2
  36. package/dist/exports/utilities.d.ts +1 -0
  37. package/dist/exports/utilities.d.ts.map +1 -1
  38. package/dist/exports/utilities.js +5 -1
  39. package/dist/express/middleware/errorHandler.js +2 -2
  40. package/dist/fields/config/schema.d.ts.map +1 -1
  41. package/dist/fields/config/schema.js +58 -50
  42. package/dist/fields/config/types.d.ts +8 -3
  43. package/dist/fields/config/types.d.ts.map +1 -1
  44. package/dist/fields/config/types.js +1 -1
  45. package/dist/fields/hooks/afterRead/index.d.ts +2 -0
  46. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  47. package/dist/fields/hooks/afterRead/index.js +4 -2
  48. package/dist/fields/hooks/afterRead/promise.d.ts +3 -1
  49. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  50. package/dist/fields/hooks/afterRead/promise.js +23 -7
  51. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +3 -1
  52. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  53. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +15 -7
  54. package/dist/fields/hooks/afterRead/traverseFields.d.ts +3 -1
  55. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  56. package/dist/fields/hooks/afterRead/traverseFields.js +4 -2
  57. package/dist/fields/validations.js +2 -2
  58. package/dist/globals/config/types.d.ts +1 -1
  59. package/dist/globals/config/types.d.ts.map +1 -1
  60. package/dist/globals/operations/findOne.d.ts.map +1 -1
  61. package/dist/globals/operations/findOne.js +5 -3
  62. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  63. package/dist/globals/operations/findVersionByID.js +4 -2
  64. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  65. package/dist/globals/operations/findVersions.js +4 -2
  66. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  67. package/dist/globals/operations/restoreVersion.js +12 -10
  68. package/dist/globals/operations/update.d.ts.map +1 -1
  69. package/dist/globals/operations/update.js +11 -7
  70. package/dist/payload.d.ts.map +1 -1
  71. package/dist/payload.js +2 -3
  72. package/dist/preferences/operations/delete.d.ts.map +1 -1
  73. package/dist/preferences/operations/delete.js +1 -2
  74. package/dist/translations/nb.json +1 -1
  75. package/dist/translations/nl.json +2 -2
  76. package/dist/uploads/canResizeImage.js +3 -2
  77. package/dist/uploads/generateFileData.js +2 -2
  78. package/dist/utilities/configToJSONSchema.d.ts +11 -4
  79. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  80. package/dist/utilities/configToJSONSchema.js +65 -62
  81. package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
  82. package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
  83. package/dist/utilities/getCollectionIDFieldTypes.js +22 -0
  84. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  85. package/dist/utilities/getEntityPolicies.js +10 -2
  86. package/package.json +3 -2
  87. package/utilities.d.ts +1 -0
  88. package/utilities.js +5 -1
@@ -24,7 +24,7 @@ function _interop_require_default(obj) {
24
24
  };
25
25
  }
26
26
  async function update(args) {
27
- const { autosave, depth, draft: draftArg, globalConfig, overrideAccess, req: { locale, payload }, req, showHiddenFields, slug } = args;
27
+ const { slug, autosave, depth, draft: draftArg, globalConfig, overrideAccess, req: { fallbackLocale, locale, payload }, req, showHiddenFields } = args;
28
28
  try {
29
29
  const shouldCommit = await (0, _initTransaction.initTransaction)(req);
30
30
  let { data } = args;
@@ -44,11 +44,11 @@ async function update(args) {
44
44
  // 2. Retrieve document
45
45
  // /////////////////////////////////////
46
46
  const { global, globalExists } = await (0, _getLatestGlobalVersion.getLatestGlobalVersion)({
47
+ slug,
47
48
  config: globalConfig,
48
49
  locale,
49
50
  payload,
50
51
  req,
51
- slug,
52
52
  where: query
53
53
  });
54
54
  let globalJSON = {};
@@ -63,7 +63,9 @@ async function update(args) {
63
63
  context: req.context,
64
64
  depth: 0,
65
65
  doc: globalJSON,
66
+ fallbackLocale,
66
67
  global: globalConfig,
68
+ locale,
67
69
  overrideAccess: true,
68
70
  req,
69
71
  showHiddenFields
@@ -127,15 +129,15 @@ async function update(args) {
127
129
  if (!shouldSaveDraft) {
128
130
  if (globalExists) {
129
131
  result = await payload.db.updateGlobal({
132
+ slug,
130
133
  data: result,
131
- req,
132
- slug
134
+ req
133
135
  });
134
136
  } else {
135
137
  result = await payload.db.createGlobal({
138
+ slug,
136
139
  data: result,
137
- req,
138
- slug
140
+ req
139
141
  });
140
142
  }
141
143
  }
@@ -166,7 +168,9 @@ async function update(args) {
166
168
  context: req.context,
167
169
  depth,
168
170
  doc: result,
171
+ fallbackLocale: null,
169
172
  global: globalConfig,
173
+ locale,
170
174
  overrideAccess,
171
175
  req,
172
176
  showHiddenFields
@@ -221,4 +225,4 @@ async function update(args) {
221
225
  }
222
226
  const _default = update;
223
227
 
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL29wZXJhdGlvbnMvdXBkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZSdcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCB7IGdldExhdGVzdEdsb2JhbFZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9nZXRMYXRlc3RHbG9iYWxWZXJzaW9uJ1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbidcblxudHlwZSBBcmdzPFQgZXh0ZW5kcyB7IFtmaWVsZDogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogdW5rbm93biB9PiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGRhdGE6IERlZXBQYXJ0aWFsPE9taXQ8VCwgJ2lkJz4+XG4gIGRlcHRoPzogbnVtYmVyXG4gIGRyYWZ0PzogYm9vbGVhblxuICBnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBvdmVycmlkZUFjY2Vzcz86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzPzogYm9vbGVhblxuICBzbHVnOiBzdHJpbmdcbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBkYXRlPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gIGFyZ3M6IEFyZ3M8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RTbHVnXT4ge1xuICBjb25zdCB7XG4gICAgYXV0b3NhdmUsXG4gICAgZGVwdGgsXG4gICAgZHJhZnQ6IGRyYWZ0QXJnLFxuICAgIGdsb2JhbENvbmZpZyxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXE6IHsgbG9jYWxlLCBwYXlsb2FkIH0sXG4gICAgcmVxLFxuICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgc2x1ZyxcbiAgfSA9IGFyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICBsZXQgeyBkYXRhIH0gPSBhcmdzXG5cbiAgICBjb25zdCBzaG91bGRTYXZlRHJhZnQgPSBCb29sZWFuKGRyYWZ0QXJnICYmIGdsb2JhbENvbmZpZy52ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIDEuIFJldHJpZXZlIGFuZCBleGVjdXRlIGFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2VzcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2xvYmFsQ29uZmlnLmFjY2Vzcy51cGRhdGUsXG4gICAgICAgIClcbiAgICAgIDogdHJ1ZVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgcXVlcnk6IFdoZXJlID0gb3ZlcnJpZGVBY2Nlc3MgPyB1bmRlZmluZWQgOiAoYWNjZXNzUmVzdWx0cyBhcyBXaGVyZSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyAyLiBSZXRyaWV2ZSBkb2N1bWVudFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBjb25zdCB7IGdsb2JhbCwgZ2xvYmFsRXhpc3RzIH0gPSBhd2FpdCBnZXRMYXRlc3RHbG9iYWxWZXJzaW9uKHtcbiAgICAgIGNvbmZpZzogZ2xvYmFsQ29uZmlnLFxuICAgICAgbG9jYWxlLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHJlcSxcbiAgICAgIHNsdWcsXG4gICAgICB3aGVyZTogcXVlcnksXG4gICAgfSlcblxuICAgIGxldCBnbG9iYWxKU09OOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9XG5cbiAgICBpZiAoZ2xvYmFsKSB7XG4gICAgICBnbG9iYWxKU09OID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShnbG9iYWwpKVxuXG4gICAgICBpZiAoZ2xvYmFsSlNPTi5faWQpIHtcbiAgICAgICAgZGVsZXRlIGdsb2JhbEpTT04uX2lkXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWxEb2MgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgY29sbGVjdGlvbjogbnVsbCxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGVwdGg6IDAsXG4gICAgICBkb2M6IGdsb2JhbEpTT04sXG4gICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IG51bGwsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIEdsb2JhbFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGdsb2JhbENvbmZpZy5ob29rcy5iZWZvcmVWYWxpZGF0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGRhdGEgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlQ2hhbmdlIC0gR2xvYmFsXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgZ2xvYmFsQ29uZmlnLmhvb2tzLmJlZm9yZUNoYW5nZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGRhdGEgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlQ2hhbmdlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IGJlZm9yZUNoYW5nZSh7XG4gICAgICBjb2xsZWN0aW9uOiBudWxsLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIGRvY1dpdGhMb2NhbGVzOiBnbG9iYWxKU09OLFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFVwZGF0ZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghc2hvdWxkU2F2ZURyYWZ0KSB7XG4gICAgICBpZiAoZ2xvYmFsRXhpc3RzKSB7XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIudXBkYXRlR2xvYmFsKHtcbiAgICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNsdWcsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZUdsb2JhbCh7XG4gICAgICAgICAgZGF0YTogcmVzdWx0LFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzbHVnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChnbG9iYWxDb25maWcudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHsgZ2xvYmFsVHlwZSB9ID0gcmVzdWx0XG4gICAgICByZXN1bHQgPSBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGF1dG9zYXZlLFxuICAgICAgICBkb2NXaXRoTG9jYWxlczoge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICBjcmVhdGVkQXQ6IHJlc3VsdC5jcmVhdGVkQXQsXG4gICAgICAgICAgdXBkYXRlZEF0OiByZXN1bHQudXBkYXRlZEF0LFxuICAgICAgICB9LFxuICAgICAgICBkcmFmdDogc2hvdWxkU2F2ZURyYWZ0LFxuICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICAgIHJlc3VsdC5nbG9iYWxUeXBlID0gZ2xvYmFsVHlwZVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgY29sbGVjdGlvbjogbnVsbCxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGVwdGgsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogZ2xvYmFsQ29uZmlnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gR2xvYmFsXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgZ2xvYmFsQ29uZmlnLmhvb2tzLmFmdGVyUmVhZC5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHJlc3VsdCA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IG51bGwsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogZ2xvYmFsQ29uZmlnLFxuICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyQ2hhbmdlIC0gR2xvYmFsXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgZ2xvYmFsQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgIGdsb2JhbDogZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXBkYXRlXG4iXSwibmFtZXMiOlsidXBkYXRlIiwiYXJncyIsImF1dG9zYXZlIiwiZGVwdGgiLCJkcmFmdCIsImRyYWZ0QXJnIiwiZ2xvYmFsQ29uZmlnIiwib3ZlcnJpZGVBY2Nlc3MiLCJyZXEiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsInNsdWciLCJzaG91bGRDb21taXQiLCJpbml0VHJhbnNhY3Rpb24iLCJkYXRhIiwic2hvdWxkU2F2ZURyYWZ0IiwiQm9vbGVhbiIsInZlcnNpb25zIiwiZHJhZnRzIiwiYWNjZXNzUmVzdWx0cyIsImV4ZWN1dGVBY2Nlc3MiLCJhY2Nlc3MiLCJxdWVyeSIsInVuZGVmaW5lZCIsImdsb2JhbCIsImdsb2JhbEV4aXN0cyIsImdldExhdGVzdEdsb2JhbFZlcnNpb24iLCJjb25maWciLCJ3aGVyZSIsImdsb2JhbEpTT04iLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJfaWQiLCJvcmlnaW5hbERvYyIsImFmdGVyUmVhZCIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZG9jIiwiYmVmb3JlVmFsaWRhdGUiLCJvcGVyYXRpb24iLCJob29rcyIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJQcm9taXNlIiwicmVzb2x2ZSIsImJlZm9yZUNoYW5nZSIsInJlc3VsdCIsImRvY1dpdGhMb2NhbGVzIiwic2tpcFZhbGlkYXRpb24iLCJkYiIsInVwZGF0ZUdsb2JhbCIsImNyZWF0ZUdsb2JhbCIsImdsb2JhbFR5cGUiLCJzYXZlVmVyc2lvbiIsImNyZWF0ZWRBdCIsInVwZGF0ZWRBdCIsImFmdGVyQ2hhbmdlIiwicHJldmlvdXNEb2MiLCJjb21taXRUcmFuc2FjdGlvbiIsImVycm9yIiwia2lsbFRyYW5zYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQStSQTs7O2VBQUE7OztzRUF4UjBCOzZCQUNFOzJCQUNGOzhCQUNHO2dDQUNFO21DQUNHO2lDQUNGO2lDQUNBO3dDQUNPOzZCQUNYOzs7Ozs7QUFjNUIsZUFBZUEsT0FDYkMsSUFBNEM7SUFFNUMsTUFBTSxFQUNKQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsT0FBT0MsUUFBUSxFQUNmQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRSxFQUN4QkYsR0FBRyxFQUNIRyxnQkFBZ0IsRUFDaEJDLElBQUksRUFDTCxHQUFHWDtJQUVKLElBQUk7UUFDRixNQUFNWSxlQUFlLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNOO1FBRTNDLElBQUksRUFBRU8sSUFBSSxFQUFFLEdBQUdkO1FBRWYsTUFBTWUsa0JBQWtCQyxRQUFRWixZQUFZQyxhQUFhWSxRQUFRLEVBQUVDO1FBRW5FLHdDQUF3QztRQUN4QyxpQ0FBaUM7UUFDakMsd0NBQXdDO1FBRXhDLE1BQU1DLGdCQUFnQixDQUFDYixpQkFDbkIsTUFBTWMsSUFBQUEsc0JBQWEsRUFDakI7WUFDRU47WUFDQVA7UUFDRixHQUNBRixhQUFhZ0IsTUFBTSxDQUFDdEIsTUFBTSxJQUU1QjtRQUVKLHdDQUF3QztRQUN4QyxvQkFBb0I7UUFDcEIsd0NBQXdDO1FB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
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL29wZXJhdGlvbnMvdXBkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGV4ZWN1dGVBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9leGVjdXRlQWNjZXNzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZSdcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbidcbmltcG9ydCB7IGdldExhdGVzdEdsb2JhbFZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9nZXRMYXRlc3RHbG9iYWxWZXJzaW9uJ1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbidcblxudHlwZSBBcmdzPFQgZXh0ZW5kcyB7IFtmaWVsZDogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogdW5rbm93biB9PiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGRhdGE6IERlZXBQYXJ0aWFsPE9taXQ8VCwgJ2lkJz4+XG4gIGRlcHRoPzogbnVtYmVyXG4gIGRyYWZ0PzogYm9vbGVhblxuICBnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBvdmVycmlkZUFjY2Vzcz86IGJvb2xlYW5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzPzogYm9vbGVhblxuICBzbHVnOiBzdHJpbmdcbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBkYXRlPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gIGFyZ3M6IEFyZ3M8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RTbHVnXT4ge1xuICBjb25zdCB7XG4gICAgc2x1ZyxcbiAgICBhdXRvc2F2ZSxcbiAgICBkZXB0aCxcbiAgICBkcmFmdDogZHJhZnRBcmcsXG4gICAgZ2xvYmFsQ29uZmlnLFxuICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgIHJlcTogeyBmYWxsYmFja0xvY2FsZSwgbG9jYWxlLCBwYXlsb2FkIH0sXG4gICAgcmVxLFxuICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gIH0gPSBhcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgbGV0IHsgZGF0YSB9ID0gYXJnc1xuXG4gICAgY29uc3Qgc2hvdWxkU2F2ZURyYWZ0ID0gQm9vbGVhbihkcmFmdEFyZyAmJiBnbG9iYWxDb25maWcudmVyc2lvbnM/LmRyYWZ0cylcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyAxLiBSZXRyaWV2ZSBhbmQgZXhlY3V0ZSBhY2Nlc3NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBhY2Nlc3NSZXN1bHRzID0gIW92ZXJyaWRlQWNjZXNzXG4gICAgICA/IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdsb2JhbENvbmZpZy5hY2Nlc3MudXBkYXRlLFxuICAgICAgICApXG4gICAgICA6IHRydWVcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXRyaWV2ZSBkb2N1bWVudFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHF1ZXJ5OiBXaGVyZSA9IG92ZXJyaWRlQWNjZXNzID8gdW5kZWZpbmVkIDogKGFjY2Vzc1Jlc3VsdHMgYXMgV2hlcmUpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gMi4gUmV0cmlldmUgZG9jdW1lbnRcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgY29uc3QgeyBnbG9iYWwsIGdsb2JhbEV4aXN0cyB9ID0gYXdhaXQgZ2V0TGF0ZXN0R2xvYmFsVmVyc2lvbih7XG4gICAgICBzbHVnLFxuICAgICAgY29uZmlnOiBnbG9iYWxDb25maWcsXG4gICAgICBsb2NhbGUsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IHF1ZXJ5LFxuICAgIH0pXG5cbiAgICBsZXQgZ2xvYmFsSlNPTjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fVxuXG4gICAgaWYgKGdsb2JhbCkge1xuICAgICAgZ2xvYmFsSlNPTiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZ2xvYmFsKSlcblxuICAgICAgaWYgKGdsb2JhbEpTT04uX2lkKSB7XG4gICAgICAgIGRlbGV0ZSBnbG9iYWxKU09OLl9pZFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsRG9jID0gYXdhaXQgYWZ0ZXJSZWFkKHtcbiAgICAgIGNvbGxlY3Rpb246IG51bGwsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZG9jOiBnbG9iYWxKU09OLFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IG51bGwsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIEdsb2JhbFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGdsb2JhbENvbmZpZy5ob29rcy5iZWZvcmVWYWxpZGF0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGRhdGEgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlQ2hhbmdlIC0gR2xvYmFsXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgZ2xvYmFsQ29uZmlnLmhvb2tzLmJlZm9yZUNoYW5nZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGRhdGEgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlQ2hhbmdlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IGJlZm9yZUNoYW5nZSh7XG4gICAgICBjb2xsZWN0aW9uOiBudWxsLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIGRvY1dpdGhMb2NhbGVzOiBnbG9iYWxKU09OLFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFVwZGF0ZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghc2hvdWxkU2F2ZURyYWZ0KSB7XG4gICAgICBpZiAoZ2xvYmFsRXhpc3RzKSB7XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZGIudXBkYXRlR2xvYmFsKHtcbiAgICAgICAgICBzbHVnLFxuICAgICAgICAgIGRhdGE6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRiLmNyZWF0ZUdsb2JhbCh7XG4gICAgICAgICAgc2x1ZyxcbiAgICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChnbG9iYWxDb25maWcudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHsgZ2xvYmFsVHlwZSB9ID0gcmVzdWx0XG4gICAgICByZXN1bHQgPSBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGF1dG9zYXZlLFxuICAgICAgICBkb2NXaXRoTG9jYWxlczoge1xuICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICBjcmVhdGVkQXQ6IHJlc3VsdC5jcmVhdGVkQXQsXG4gICAgICAgICAgdXBkYXRlZEF0OiByZXN1bHQudXBkYXRlZEF0LFxuICAgICAgICB9LFxuICAgICAgICBkcmFmdDogc2hvdWxkU2F2ZURyYWZ0LFxuICAgICAgICBnbG9iYWw6IGdsb2JhbENvbmZpZyxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICAgIHJlc3VsdC5nbG9iYWxUeXBlID0gZ2xvYmFsVHlwZVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgY29sbGVjdGlvbjogbnVsbCxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGVwdGgsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGZhbGxiYWNrTG9jYWxlOiBudWxsLFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBHbG9iYWxcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBnbG9iYWxDb25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgIGdsb2JhbDogZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyQ2hhbmdlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJDaGFuZ2Uoe1xuICAgICAgY29sbGVjdGlvbjogbnVsbCxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgcHJldmlvdXNEb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJDaGFuZ2UgLSBHbG9iYWxcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBnbG9iYWxDb25maWcuaG9va3MuYWZ0ZXJDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgZ2xvYmFsOiBnbG9iYWxDb25maWcsXG4gICAgICAgICAgcHJldmlvdXNEb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1cGRhdGVcbiJdLCJuYW1lcyI6WyJ1cGRhdGUiLCJhcmdzIiwic2x1ZyIsImF1dG9zYXZlIiwiZGVwdGgiLCJkcmFmdCIsImRyYWZ0QXJnIiwiZ2xvYmFsQ29uZmlnIiwib3ZlcnJpZGVBY2Nlc3MiLCJyZXEiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInBheWxvYWQiLCJzaG93SGlkZGVuRmllbGRzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwiZGF0YSIsInNob3VsZFNhdmVEcmFmdCIsIkJvb2xlYW4iLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImFjY2Vzc1Jlc3VsdHMiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwicXVlcnkiLCJ1bmRlZmluZWQiLCJnbG9iYWwiLCJnbG9iYWxFeGlzdHMiLCJnZXRMYXRlc3RHbG9iYWxWZXJzaW9uIiwiY29uZmlnIiwid2hlcmUiLCJnbG9iYWxKU09OIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX2lkIiwib3JpZ2luYWxEb2MiLCJhZnRlclJlYWQiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRvYyIsImJlZm9yZVZhbGlkYXRlIiwib3BlcmF0aW9uIiwiaG9va3MiLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJob29rIiwiUHJvbWlzZSIsInJlc29sdmUiLCJiZWZvcmVDaGFuZ2UiLCJyZXN1bHQiLCJkb2NXaXRoTG9jYWxlcyIsInNraXBWYWxpZGF0aW9uIiwiZGIiLCJ1cGRhdGVHbG9iYWwiLCJjcmVhdGVHbG9iYWwiLCJnbG9iYWxUeXBlIiwic2F2ZVZlcnNpb24iLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJhZnRlckNoYW5nZSIsInByZXZpb3VzRG9jIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnJvciIsImtpbGxUcmFuc2FjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFtU0E7OztlQUFBOzs7c0VBNVIwQjs2QkFDRTsyQkFDRjs4QkFDRztnQ0FDRTttQ0FDRztpQ0FDRjtpQ0FDQTt3Q0FDTzs2QkFDWDs7Ozs7O0FBYzVCLGVBQWVBLE9BQ2JDLElBQTRDO0lBRTVDLE1BQU0sRUFDSkMsSUFBSSxFQUNKQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsT0FBT0MsUUFBUSxFQUNmQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEVBQ3hDSCxHQUFHLEVBQ0hJLGdCQUFnQixFQUNqQixHQUFHWjtJQUVKLElBQUk7UUFDRixNQUFNYSxlQUFlLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNOO1FBRTNDLElBQUksRUFBRU8sSUFBSSxFQUFFLEdBQUdmO1FBRWYsTUFBTWdCLGtCQUFrQkMsUUFBUVosWUFBWUMsYUFBYVksUUFBUSxFQUFFQztRQUVuRSx3Q0FBd0M7UUFDeEMsaUNBQWlDO1FBQ2pDLHdDQUF3QztRQUV4QyxNQUFNQyxnQkFBZ0IsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
package/dist/payload.js CHANGED
@@ -172,8 +172,7 @@ class BasePayload {
172
172
  /**
173
173
  * @description Initializes Payload
174
174
  * @param options
175
- */ // @ts-expect-error // TODO: TypeScript hallucinating again. fix later
176
- async init(options) {
175
+ */ async init(options) {
177
176
  this.logger = options.logger ?? (0, _logger.default)('payload', options.loggerOptions, options.loggerDestination);
178
177
  if (!options.secret) {
179
178
  throw new Error('Error: missing secret key. A secret key is needed to secure Payload.');
@@ -264,4 +263,4 @@ const getPayload = async (options)=>{
264
263
  return cached.payload;
265
264
  };
266
265
 
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXlsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXhwcmVzcywgUm91dGVyIH0gZnJvbSAnZXhwcmVzcydcbmltcG9ydCB0eXBlIHsgRXhlY3V0aW9uUmVzdWx0LCBHcmFwaFFMU2NoZW1hLCBWYWxpZGF0aW9uUnVsZSB9IGZyb20gJ2dyYXBocWwnXG4vLyBAdHMtZXhwZWN0LWVycm9yIC8vIFRPRE8gRml4IHRoaXMgLSBtb2R1bGVSZXNvbHV0aW9uIDE2IGJyZWFrcyB0aGlzIGltcG9ydFxuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwL2xpYi9oYW5kbGVyJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VBZGFwdGVyLCBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4vJyAvLyBNdXN0IGltcG9ydCBmcm9tIFBheWxvYWQgdG8gc3VwcG9ydCBkZWNsYXJlIG1vZHVsZVxuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgRm9yZ290UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9mb3Jnb3RQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGb3Jnb3RQYXNzd29yZE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9mb3Jnb3RQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9sb2dpbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXNldFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3Jlc2V0UGFzc3dvcmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVW5sb2NrT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3VubG9jaydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBWZXJpZnlFbWFpbE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC92ZXJpZnlFbWFpbCdcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIExvZ2luUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9naW4nXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBSZXNldFBhc3N3b3JkUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgQnVsa09wZXJhdGlvblJlc3VsdCwgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIENyZWF0ZU9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvY3JlYXRlJ1xuaW1wb3J0IHR5cGUge1xuICBCeUlET3B0aW9ucyBhcyBEZWxldGVCeUlET3B0aW9ucyxcbiAgTWFueU9wdGlvbnMgYXMgRGVsZXRlTWFueU9wdGlvbnMsXG4gIE9wdGlvbnMgYXMgRGVsZXRlT3B0aW9ucyxcbn0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2RlbGV0ZSdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9maW5kJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRCeUlET3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9maW5kQnlJRCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kVmVyc2lvbkJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kVmVyc2lvbnNPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIFVwZGF0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBVcGRhdGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBVcGRhdGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBFbWFpbE9wdGlvbnMsIEluaXRPcHRpb25zLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGFnaW5hdGVkRG9jcyB9IGZyb20gJy4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJ1aWxkRW1haWxSZXN1bHQgfSBmcm9tICcuL2VtYWlsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkQXV0aGVudGljYXRlIH0gZnJvbSAnLi9leHByZXNzL21pZGRsZXdhcmUvYXV0aGVudGljYXRlJ1xuaW1wb3J0IHR5cGUgeyBFcnJvckhhbmRsZXIgfSBmcm9tICcuL2V4cHJlc3MvbWlkZGxld2FyZS9lcnJvckhhbmRsZXInXG5pbXBvcnQgdHlwZSB7IEdsb2JhbHMgfSBmcm9tICcuL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvZmluZE9uZSdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kR2xvYmFsVmVyc2lvbkJ5SURPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbnMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgUmVzdG9yZUdsb2JhbFZlcnNpb25PcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVXBkYXRlR2xvYmFsT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL3VwZGF0ZSdcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uIH0gZnJvbSAnLi92ZXJzaW9ucy90eXBlcydcblxuaW1wb3J0IHsgZGVjcnlwdCwgZW5jcnlwdCB9IGZyb20gJy4vYXV0aC9jcnlwdG8nXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCBmaW5kQ29uZmlnIGZyb20gJy4vY29uZmlnL2ZpbmQnXG5pbXBvcnQgYnVpbGRFbWFpbCBmcm9tICcuL2VtYWlsL2J1aWxkJ1xuaW1wb3J0IHsgZGVmYXVsdHMgYXMgZW1haWxEZWZhdWx0cyB9IGZyb20gJy4vZW1haWwvZGVmYXVsdHMnXG5pbXBvcnQgc2VuZEVtYWlsIGZyb20gJy4vZW1haWwvc2VuZEVtYWlsJ1xuaW1wb3J0IGxvY2FsR2xvYmFsT3BlcmF0aW9ucyBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCByZWdpc3RlckdyYXBoUUxTY2hlbWEgZnJvbSAnLi9ncmFwaHFsL3JlZ2lzdGVyU2NoZW1hJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIE11dGF0aW9uOiB7IGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgbmFtZTogc3RyaW5nIH0gPSB7IG5hbWU6ICdNdXRhdGlvbicsIGZpZWxkczoge30gfVxuXG4gIFF1ZXJ5OiB7IGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgbmFtZTogc3RyaW5nIH0gPSB7IG5hbWU6ICdRdWVyeScsIGZpZWxkczoge30gfVxuXG4gIGF1dGhlbnRpY2F0ZTogUGF5bG9hZEF1dGhlbnRpY2F0ZVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBEYXRhYmFzZUFkYXB0ZXJcblxuICBkZWNyeXB0ID0gZGVjcnlwdFxuXG4gIGVtYWlsOiBCdWlsZEVtYWlsUmVzdWx0XG5cbiAgZW1haWxPcHRpb25zOiBFbWFpbE9wdGlvbnNcblxuICBlbmNyeXB0ID0gZW5jcnlwdFxuXG4gIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyXG5cbiAgZXhwcmVzcz86IEV4cHJlc3NcblxuICBleHRlbnNpb25zOiAoYXJnczoge1xuICAgIGFyZ3M6IE9wZXJhdGlvbkFyZ3M8YW55PlxuICAgIHJlcTogZ3JhcGhRTFJlcXVlc3Q8dW5rbm93biwgdW5rbm93bj5cbiAgICByZXN1bHQ6IEV4ZWN1dGlvblJlc3VsdFxuICB9KSA9PiBQcm9taXNlPGFueT5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnRzIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnRzIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZmluZEJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZEJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4gPT4ge1xuICAgIGNvbnN0IHsgZmluZEJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kQnlJRDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZmluZEdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kT25lIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZE9uZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGaW5kIGdsb2JhbCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIGdsb2JhbCB2ZXJzaW9uIHdpdGggc3BlY2lmaWVkIElEXG4gICAqL1xuICBmaW5kR2xvYmFsVmVyc2lvbkJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBGaW5kR2xvYmFsVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRWZXJzaW9uQnlJRCB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRWZXJzaW9uQnlJRDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGaW5kIGdsb2JhbCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uc09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUeXBlV2l0aFZlcnNpb248VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+Pj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25zIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25zPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgdmVyc2lvbiBieSBJRFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB2ZXJzaW9uIHdpdGggc3BlY2lmaWVkIElEXG4gICAqL1xuICBmaW5kVmVyc2lvbkJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZFZlcnNpb25CeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUeXBlV2l0aFZlcnNpb248VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgdmVyc2lvbnMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB2ZXJzaW9ucyBzYXRpc2Z5aW5nIHF1ZXJ5XG4gICAqL1xuICBmaW5kVmVyc2lvbnMgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+Pj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25zIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25zPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmb3Jnb3RQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGb3Jnb3RQYXNzd29yZE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Rm9yZ290UGFzc3dvcmRSZXN1bHQ+ID0+IHtcbiAgICBjb25zdCB7IGZvcmdvdFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiBmb3Jnb3RQYXNzd29yZDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZ2V0QVBJVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYXBpfWBcblxuICBnZXRBZG1pblVSTCA9ICgpOiBzdHJpbmcgPT4gYCR7dGhpcy5jb25maWcuc2VydmVyVVJMfSR7dGhpcy5jb25maWcucm91dGVzLmFkbWlufWBcblxuICBnbG9iYWxzOiBHbG9iYWxzXG5cbiAgbG9jYWw6IGJvb2xlYW5cblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHJvdXRlcj86IFJvdXRlclxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gIH1cblxuICB1bmxvY2sgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVW5sb2NrT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgY29uc3QgeyB1bmxvY2sgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIHVubG9jayh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdXBkYXRlR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlR2xvYmFsT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4gPT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICB2YWxpZGF0aW9uUnVsZXM6IChhcmdzOiBPcGVyYXRpb25BcmdzPGFueT4pID0+IFZhbGlkYXRpb25SdWxlW11cblxuICB2ZXJpZnlFbWFpbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBWZXJpZnlFbWFpbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdmVyaWZ5RW1haWwgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIHZlcmlmeUVtYWlsKHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICB2ZXJzaW9uczoge1xuICAgIFtzbHVnOiBzdHJpbmddOiBhbnkgLy8gVE9ETzogVHlwZSB0aGlzXG4gIH0gPSB7fVxuXG4gIGRlbGV0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBEZWxldGVPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4gfCBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+IHtcbiAgICBjb25zdCB7IGRlbGV0ZUxvY2FsIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZGVsZXRlTG9jYWw8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9uZSBvciBtb3JlIGRvY3VtZW50c1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBVcGRhdGVkIGRvY3VtZW50KHMpXG4gICAqL1xuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPlxuXG4gIGRlbGV0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBEZWxldGVNYW55T3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgUGF5bG9hZFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBUeXBlU2NyaXB0IGhhbGx1Y2luYXRpbmcgYWdhaW4uIGZpeCBsYXRlclxuICBhc3luYyBpbml0KG9wdGlvbnM6IEluaXRPcHRpb25zKTogUHJvbWlzZTxQYXlsb2FkPiB7XG4gICAgdGhpcy5sb2dnZXIgPVxuICAgICAgb3B0aW9ucy5sb2dnZXIgPz8gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgaWYgKCFvcHRpb25zLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKG9wdGlvbnMuc2VjcmV0KS5kaWdlc3QoJ2hleCcpLnNsaWNlKDAsIDMyKVxuXG4gICAgdGhpcy5sb2NhbCA9IG9wdGlvbnMubG9jYWxcblxuICAgIGlmIChvcHRpb25zLmNvbmZpZykge1xuICAgICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuICAgICAgY29uc3QgY29uZmlnUGF0aCA9IGZpbmRDb25maWcoKVxuXG4gICAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICAgIHBhdGhzOiB7XG4gICAgICAgICAgY29uZmlnOiBjb25maWdQYXRoLFxuICAgICAgICAgIGNvbmZpZ0RpcjogcGF0aC5kaXJuYW1lKGNvbmZpZ1BhdGgpLFxuICAgICAgICAgIHJhd0NvbmZpZzogY29uZmlnUGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMsIGdsb2JhbC1yZXF1aXJlXG4gICAgICBjb25zdCBsb2FkQ29uZmlnID0gcmVxdWlyZSgnLi9jb25maWcvbG9hZCcpLmRlZmF1bHRcbiAgICAgIHRoaXMuY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyh0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICB0aGlzLmdsb2JhbHMgPSB7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmdsb2JhbHMsXG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbi5zbHVnXSA9IHtcbiAgICAgICAgY29uZmlnOiBjb2xsZWN0aW9uLFxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmRiID0gdGhpcy5jb25maWcuZGIoeyBwYXlsb2FkOiB0aGlzIH0pXG4gICAgdGhpcy5kYi5wYXlsb2FkID0gdGhpc1xuXG4gICAgaWYgKHRoaXMuZGI/LmluaXQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuaW5pdCh0aGlzKVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlREJDb25uZWN0ICYmIHRoaXMuZGIuY29ubmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5jb25uZWN0KHRoaXMpXG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnU3RhcnRpbmcgUGF5bG9hZC4uLicpXG5cbiAgICAvLyBDb25maWd1cmUgZW1haWwgc2VydmljZVxuICAgIGNvbnN0IGVtYWlsT3B0aW9ucyA9IG9wdGlvbnMuZW1haWwgPyB7IC4uLm9wdGlvbnMuZW1haWwgfSA6IHRoaXMuY29uZmlnLmVtYWlsXG4gICAgaWYgKG9wdGlvbnMuZW1haWwgJiYgdGhpcy5jb25maWcuZW1haWwpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICdFbWFpbCBvcHRpb25zIHByb3ZpZGVkIGluIGJvdGggaW5pdCBvcHRpb25zIGFuZCBjb25maWcuIFVzaW5nIGluaXQgb3B0aW9ucy4nLFxuICAgICAgKVxuICAgIH1cblxuICAgIHRoaXMuZW1haWxPcHRpb25zID0gZW1haWxPcHRpb25zID8/IGVtYWlsRGVmYXVsdHNcbiAgICB0aGlzLmVtYWlsID0gYnVpbGRFbWFpbCh0aGlzLmVtYWlsT3B0aW9ucywgdGhpcy5sb2dnZXIpXG4gICAgdGhpcy5zZW5kRW1haWwgPSBzZW5kRW1haWwuYmluZCh0aGlzKVxuXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5ncmFwaFFMLmRpc2FibGUpIHtcbiAgICAgIHJlZ2lzdGVyR3JhcGhRTFNjaGVtYSh0aGlzKVxuICAgIH1cblxuICAgIHNlcnZlckluaXRUZWxlbWV0cnkodGhpcylcblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlT25Jbml0KSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCBvcHRpb25zLm9uSW5pdCh0aGlzKVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IHRoaXMuY29uZmlnLm9uSW5pdCh0aGlzKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyB1cGRhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiB1cGRhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQYXlsb2FkID0gQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+XG5cbmxldCBjYWNoZWQgPSBnbG9iYWwuX3BheWxvYWRcblxuaWYgKCFjYWNoZWQpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW11bHRpLWFzc2lnblxuICBjYWNoZWQgPSBnbG9iYWwuX3BheWxvYWQgPSB7IHBheWxvYWQ6IG51bGwsIHByb21pc2U6IG51bGwgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UGF5bG9hZCA9IGFzeW5jIChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4gPT4ge1xuICBpZiAoY2FjaGVkLnBheWxvYWQpIHtcbiAgICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbiAgfVxuXG4gIGlmICghY2FjaGVkLnByb21pc2UpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG5ldyBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4oKS5pbml0KG9wdGlvbnMpXG4gIH1cblxuICB0cnkge1xuICAgIGNhY2hlZC5wYXlsb2FkID0gYXdhaXQgY2FjaGVkLnByb21pc2VcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNhY2hlZC5wcm9taXNlID0gbnVsbFxuICAgIHRocm93IGVcbiAgfVxuXG4gIHJldHVybiBjYWNoZWQucGF5bG9hZFxufVxuIl0sIm5hbWVzIjpbIkJhc2VQYXlsb2FkIiwiZ2V0UGF5bG9hZCIsIk11dGF0aW9uIiwibmFtZSIsImZpZWxkcyIsIlF1ZXJ5IiwiYXV0aGVudGljYXRlIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJjcmVhdGUiLCJvcHRpb25zIiwibG9jYWxPcGVyYXRpb25zIiwiZGIiLCJkZWNyeXB0IiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJlbmNyeXB0IiwiZXJyb3JIYW5kbGVyIiwiZXhwcmVzcyIsImV4dGVuc2lvbnMiLCJmaW5kIiwiZmluZEJ5SUQiLCJmaW5kR2xvYmFsIiwiZmluZE9uZSIsImxvY2FsR2xvYmFsT3BlcmF0aW9ucyIsImZpbmRHbG9iYWxWZXJzaW9uQnlJRCIsImZpbmRWZXJzaW9uQnlJRCIsImZpbmRHbG9iYWxWZXJzaW9ucyIsImZpbmRWZXJzaW9ucyIsImZvcmdvdFBhc3N3b3JkIiwiYXV0aCIsImdldEFQSVVSTCIsInNlcnZlclVSTCIsInJvdXRlcyIsImFwaSIsImdldEFkbWluVVJMIiwiYWRtaW4iLCJnbG9iYWxzIiwibG9jYWwiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwicm91dGVyIiwic2NoZW1hIiwic2VjcmV0Iiwic2VuZEVtYWlsIiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwiTG9nZ2VyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwiRXJyb3IiLCJjcnlwdG8iLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJjb25maWdQYXRoIiwiZmluZENvbmZpZyIsInBhdGhzIiwiY29uZmlnRGlyIiwicGF0aCIsImRpcm5hbWUiLCJyYXdDb25maWciLCJsb2FkQ29uZmlnIiwicmVxdWlyZSIsImRlZmF1bHQiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJpbmZvIiwid2FybiIsImVtYWlsRGVmYXVsdHMiLCJidWlsZEVtYWlsIiwiYmluZCIsImdyYXBoUUwiLCJkaXNhYmxlIiwicmVnaXN0ZXJHcmFwaFFMU2NoZW1hIiwic2VydmVySW5pdFRlbGVtZXRyeSIsImRpc2FibGVPbkluaXQiLCJvbkluaXQiLCJjYWNoZWQiLCJnbG9iYWwiLCJfcGF5bG9hZCIsInByb21pc2UiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQStEYUEsV0FBVztlQUFYQTs7SUFxV0FDLFVBQVU7ZUFBVkE7OzsrREE3Wk07NkRBQ0Y7eUJBeUNnQjs4REFDTDs2REFDTDs4REFDQTswQkFDbUI7a0VBQ3BCOytEQUNZO3VFQUNBOytEQUNmOzRCQUMrQjs7Ozs7O0FBSzNDLE1BQU1EO0lBQ1hFLFdBQTZEO1FBQUVDLE1BQU07UUFB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
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXlsb2FkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXhwcmVzcywgUm91dGVyIH0gZnJvbSAnZXhwcmVzcydcbmltcG9ydCB0eXBlIHsgRXhlY3V0aW9uUmVzdWx0LCBHcmFwaFFMU2NoZW1hLCBWYWxpZGF0aW9uUnVsZSB9IGZyb20gJ2dyYXBocWwnXG4vLyBAdHMtZXhwZWN0LWVycm9yIC8vIFRPRE8gRml4IHRoaXMgLSBtb2R1bGVSZXNvbHV0aW9uIDE2IGJyZWFrcyB0aGlzIGltcG9ydFxuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwL2xpYi9oYW5kbGVyJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VBZGFwdGVyLCBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4vJyAvLyBNdXN0IGltcG9ydCBmcm9tIFBheWxvYWQgdG8gc3VwcG9ydCBkZWNsYXJlIG1vZHVsZVxuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgRm9yZ290UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9mb3Jnb3RQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGb3Jnb3RQYXNzd29yZE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9mb3Jnb3RQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9sb2dpbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXNldFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3Jlc2V0UGFzc3dvcmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVW5sb2NrT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3VubG9jaydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBWZXJpZnlFbWFpbE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC92ZXJpZnlFbWFpbCdcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIExvZ2luUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9naW4nXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBSZXNldFBhc3N3b3JkUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgQnVsa09wZXJhdGlvblJlc3VsdCwgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIENyZWF0ZU9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvY3JlYXRlJ1xuaW1wb3J0IHR5cGUge1xuICBCeUlET3B0aW9ucyBhcyBEZWxldGVCeUlET3B0aW9ucyxcbiAgTWFueU9wdGlvbnMgYXMgRGVsZXRlTWFueU9wdGlvbnMsXG4gIE9wdGlvbnMgYXMgRGVsZXRlT3B0aW9ucyxcbn0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2RlbGV0ZSdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9maW5kJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRCeUlET3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9maW5kQnlJRCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kVmVyc2lvbkJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kVmVyc2lvbnNPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIFVwZGF0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBVcGRhdGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBVcGRhdGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBFbWFpbE9wdGlvbnMsIEluaXRPcHRpb25zLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGFnaW5hdGVkRG9jcyB9IGZyb20gJy4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJ1aWxkRW1haWxSZXN1bHQgfSBmcm9tICcuL2VtYWlsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkQXV0aGVudGljYXRlIH0gZnJvbSAnLi9leHByZXNzL21pZGRsZXdhcmUvYXV0aGVudGljYXRlJ1xuaW1wb3J0IHR5cGUgeyBFcnJvckhhbmRsZXIgfSBmcm9tICcuL2V4cHJlc3MvbWlkZGxld2FyZS9lcnJvckhhbmRsZXInXG5pbXBvcnQgdHlwZSB7IEdsb2JhbHMgfSBmcm9tICcuL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvZmluZE9uZSdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGaW5kR2xvYmFsVmVyc2lvbkJ5SURPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbnMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgUmVzdG9yZUdsb2JhbFZlcnNpb25PcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVXBkYXRlR2xvYmFsT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL3VwZGF0ZSdcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhWZXJzaW9uIH0gZnJvbSAnLi92ZXJzaW9ucy90eXBlcydcblxuaW1wb3J0IHsgZGVjcnlwdCwgZW5jcnlwdCB9IGZyb20gJy4vYXV0aC9jcnlwdG8nXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCBmaW5kQ29uZmlnIGZyb20gJy4vY29uZmlnL2ZpbmQnXG5pbXBvcnQgYnVpbGRFbWFpbCBmcm9tICcuL2VtYWlsL2J1aWxkJ1xuaW1wb3J0IHsgZGVmYXVsdHMgYXMgZW1haWxEZWZhdWx0cyB9IGZyb20gJy4vZW1haWwvZGVmYXVsdHMnXG5pbXBvcnQgc2VuZEVtYWlsIGZyb20gJy4vZW1haWwvc2VuZEVtYWlsJ1xuaW1wb3J0IGxvY2FsR2xvYmFsT3BlcmF0aW9ucyBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCByZWdpc3RlckdyYXBoUUxTY2hlbWEgZnJvbSAnLi9ncmFwaHFsL3JlZ2lzdGVyU2NoZW1hJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIE11dGF0aW9uOiB7IGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgbmFtZTogc3RyaW5nIH0gPSB7IG5hbWU6ICdNdXRhdGlvbicsIGZpZWxkczoge30gfVxuXG4gIFF1ZXJ5OiB7IGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgbmFtZTogc3RyaW5nIH0gPSB7IG5hbWU6ICdRdWVyeScsIGZpZWxkczoge30gfVxuXG4gIGF1dGhlbnRpY2F0ZTogUGF5bG9hZEF1dGhlbnRpY2F0ZVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBEYXRhYmFzZUFkYXB0ZXJcblxuICBkZWNyeXB0ID0gZGVjcnlwdFxuXG4gIGVtYWlsOiBCdWlsZEVtYWlsUmVzdWx0XG5cbiAgZW1haWxPcHRpb25zOiBFbWFpbE9wdGlvbnNcblxuICBlbmNyeXB0ID0gZW5jcnlwdFxuXG4gIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyXG5cbiAgZXhwcmVzcz86IEV4cHJlc3NcblxuICBleHRlbnNpb25zOiAoYXJnczoge1xuICAgIGFyZ3M6IE9wZXJhdGlvbkFyZ3M8YW55PlxuICAgIHJlcTogZ3JhcGhRTFJlcXVlc3Q8dW5rbm93biwgdW5rbm93bj5cbiAgICByZXN1bHQ6IEV4ZWN1dGlvblJlc3VsdFxuICB9KSA9PiBQcm9taXNlPGFueT5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnRzIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnRzIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZmluZEJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZEJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4gPT4ge1xuICAgIGNvbnN0IHsgZmluZEJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kQnlJRDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZmluZEdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kT25lIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZE9uZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGaW5kIGdsb2JhbCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIGdsb2JhbCB2ZXJzaW9uIHdpdGggc3BlY2lmaWVkIElEXG4gICAqL1xuICBmaW5kR2xvYmFsVmVyc2lvbkJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBGaW5kR2xvYmFsVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRWZXJzaW9uQnlJRCB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRWZXJzaW9uQnlJRDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGaW5kIGdsb2JhbCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uc09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8UGFnaW5hdGVkRG9jczxUeXBlV2l0aFZlcnNpb248VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+Pj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25zIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25zPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgdmVyc2lvbiBieSBJRFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB2ZXJzaW9uIHdpdGggc3BlY2lmaWVkIElEXG4gICAqL1xuICBmaW5kVmVyc2lvbkJ5SUQgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZFZlcnNpb25CeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUeXBlV2l0aFZlcnNpb248VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgdmVyc2lvbnMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB2ZXJzaW9ucyBzYXRpc2Z5aW5nIHF1ZXJ5XG4gICAqL1xuICBmaW5kVmVyc2lvbnMgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRmluZFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+Pj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25zIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25zPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmb3Jnb3RQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGb3Jnb3RQYXNzd29yZE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Rm9yZ290UGFzc3dvcmRSZXN1bHQ+ID0+IHtcbiAgICBjb25zdCB7IGZvcmdvdFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiBmb3Jnb3RQYXNzd29yZDxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgZ2V0QVBJVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYXBpfWBcblxuICBnZXRBZG1pblVSTCA9ICgpOiBzdHJpbmcgPT4gYCR7dGhpcy5jb25maWcuc2VydmVyVVJMfSR7dGhpcy5jb25maWcucm91dGVzLmFkbWlufWBcblxuICBnbG9iYWxzOiBHbG9iYWxzXG5cbiAgbG9jYWw6IGJvb2xlYW5cblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHJvdXRlcj86IFJvdXRlclxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gIH1cblxuICB1bmxvY2sgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVW5sb2NrT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgY29uc3QgeyB1bmxvY2sgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIHVubG9jayh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdXBkYXRlR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlR2xvYmFsT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4gPT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICB2YWxpZGF0aW9uUnVsZXM6IChhcmdzOiBPcGVyYXRpb25BcmdzPGFueT4pID0+IFZhbGlkYXRpb25SdWxlW11cblxuICB2ZXJpZnlFbWFpbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBWZXJpZnlFbWFpbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdmVyaWZ5RW1haWwgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIHZlcmlmeUVtYWlsKHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICB2ZXJzaW9uczoge1xuICAgIFtzbHVnOiBzdHJpbmddOiBhbnkgLy8gVE9ETzogVHlwZSB0aGlzXG4gIH0gPSB7fVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gZGVsZXRlIG9uZSBvciBtb3JlIGRvY3VtZW50c1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBVcGRhdGVkIGRvY3VtZW50KHMpXG4gICAqL1xuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPlxuXG4gIGRlbGV0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBEZWxldGVNYW55T3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+PlxuXG4gIGRlbGV0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBEZWxldGVPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4gfCBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+IHtcbiAgICBjb25zdCB7IGRlbGV0ZUxvY2FsIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZGVsZXRlTG9jYWw8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgUGF5bG9hZFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID1cbiAgICAgIG9wdGlvbnMubG9nZ2VyID8/IExvZ2dlcigncGF5bG9hZCcsIG9wdGlvbnMubG9nZ2VyT3B0aW9ucywgb3B0aW9ucy5sb2dnZXJEZXN0aW5hdGlvbilcblxuICAgIGlmICghb3B0aW9ucy5zZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3I6IG1pc3Npbmcgc2VjcmV0IGtleS4gQSBzZWNyZXQga2V5IGlzIG5lZWRlZCB0byBzZWN1cmUgUGF5bG9hZC4nKVxuICAgIH1cblxuICAgIHRoaXMuc2VjcmV0ID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShvcHRpb25zLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMubG9jYWwgPSBvcHRpb25zLmxvY2FsXG5cbiAgICBpZiAob3B0aW9ucy5jb25maWcpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gYXdhaXQgb3B0aW9ucy5jb25maWdcbiAgICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBmaW5kQ29uZmlnKClcblxuICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgICBwYXRoczoge1xuICAgICAgICAgIGNvbmZpZzogY29uZmlnUGF0aCxcbiAgICAgICAgICBjb25maWdEaXI6IHBhdGguZGlybmFtZShjb25maWdQYXRoKSxcbiAgICAgICAgICByYXdDb25maWc6IGNvbmZpZ1BhdGgsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzLCBnbG9iYWwtcmVxdWlyZVxuICAgICAgY29uc3QgbG9hZENvbmZpZyA9IHJlcXVpcmUoJy4vY29uZmlnL2xvYWQnKS5kZWZhdWx0XG4gICAgICB0aGlzLmNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcodGhpcy5sb2dnZXIpXG4gICAgfVxuXG4gICAgdGhpcy5nbG9iYWxzID0ge1xuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZy5nbG9iYWxzLFxuICAgIH1cbiAgICB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb24uc2x1Z10gPSB7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kYiA9IHRoaXMuY29uZmlnLmRiKHsgcGF5bG9hZDogdGhpcyB9KVxuICAgIHRoaXMuZGIucGF5bG9hZCA9IHRoaXNcblxuICAgIGlmICh0aGlzLmRiPy5pbml0KSB7XG4gICAgICBhd2FpdCB0aGlzLmRiLmluaXQodGhpcylcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZURCQ29ubmVjdCAmJiB0aGlzLmRiLmNvbm5lY3QpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuY29ubmVjdCh0aGlzKVxuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1N0YXJ0aW5nIFBheWxvYWQuLi4nKVxuXG4gICAgLy8gQ29uZmlndXJlIGVtYWlsIHNlcnZpY2VcbiAgICBjb25zdCBlbWFpbE9wdGlvbnMgPSBvcHRpb25zLmVtYWlsID8geyAuLi5vcHRpb25zLmVtYWlsIH0gOiB0aGlzLmNvbmZpZy5lbWFpbFxuICAgIGlmIChvcHRpb25zLmVtYWlsICYmIHRoaXMuY29uZmlnLmVtYWlsKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAnRW1haWwgb3B0aW9ucyBwcm92aWRlZCBpbiBib3RoIGluaXQgb3B0aW9ucyBhbmQgY29uZmlnLiBVc2luZyBpbml0IG9wdGlvbnMuJyxcbiAgICAgIClcbiAgICB9XG5cbiAgICB0aGlzLmVtYWlsT3B0aW9ucyA9IGVtYWlsT3B0aW9ucyA/PyBlbWFpbERlZmF1bHRzXG4gICAgdGhpcy5lbWFpbCA9IGJ1aWxkRW1haWwodGhpcy5lbWFpbE9wdGlvbnMsIHRoaXMubG9nZ2VyKVxuICAgIHRoaXMuc2VuZEVtYWlsID0gc2VuZEVtYWlsLmJpbmQodGhpcylcblxuICAgIGlmICghdGhpcy5jb25maWcuZ3JhcGhRTC5kaXNhYmxlKSB7XG4gICAgICByZWdpc3RlckdyYXBoUUxTY2hlbWEodGhpcylcbiAgICB9XG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUGF5bG9hZCA9IEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPlxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9uczogSW5pdE9wdGlvbnMpOiBQcm9taXNlPFBheWxvYWQ+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cbiJdLCJuYW1lcyI6WyJCYXNlUGF5bG9hZCIsImdldFBheWxvYWQiLCJNdXRhdGlvbiIsIm5hbWUiLCJmaWVsZHMiLCJRdWVyeSIsImF1dGhlbnRpY2F0ZSIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiY3JlYXRlIiwib3B0aW9ucyIsImxvY2FsT3BlcmF0aW9ucyIsImRiIiwiZGVjcnlwdCIsImVtYWlsIiwiZW1haWxPcHRpb25zIiwiZW5jcnlwdCIsImVycm9ySGFuZGxlciIsImV4cHJlc3MiLCJleHRlbnNpb25zIiwiZmluZCIsImZpbmRCeUlEIiwiZmluZEdsb2JhbCIsImZpbmRPbmUiLCJsb2NhbEdsb2JhbE9wZXJhdGlvbnMiLCJmaW5kR2xvYmFsVmVyc2lvbkJ5SUQiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kVmVyc2lvbnMiLCJmb3Jnb3RQYXNzd29yZCIsImF1dGgiLCJnZXRBUElVUkwiLCJzZXJ2ZXJVUkwiLCJyb3V0ZXMiLCJhcGkiLCJnZXRBZG1pblVSTCIsImFkbWluIiwiZ2xvYmFscyIsImxvY2FsIiwibG9nZ2VyIiwibG9naW4iLCJyZXNldFBhc3N3b3JkIiwicmVzdG9yZUdsb2JhbFZlcnNpb24iLCJyZXN0b3JlVmVyc2lvbiIsInJvdXRlciIsInNjaGVtYSIsInNlY3JldCIsInNlbmRFbWFpbCIsInR5cGVzIiwidW5sb2NrIiwidXBkYXRlR2xvYmFsIiwidXBkYXRlIiwidmFsaWRhdGlvblJ1bGVzIiwidmVyaWZ5RW1haWwiLCJ2ZXJzaW9ucyIsImRlbGV0ZSIsImRlbGV0ZUxvY2FsIiwiaW5pdCIsIkxvZ2dlciIsImxvZ2dlck9wdGlvbnMiLCJsb2dnZXJEZXN0aW5hdGlvbiIsIkVycm9yIiwiY3J5cHRvIiwiY3JlYXRlSGFzaCIsImRpZ2VzdCIsInNsaWNlIiwiY29uZmlnUGF0aCIsImZpbmRDb25maWciLCJwYXRocyIsImNvbmZpZ0RpciIsInBhdGgiLCJkaXJuYW1lIiwicmF3Q29uZmlnIiwibG9hZENvbmZpZyIsInJlcXVpcmUiLCJkZWZhdWx0IiwiZm9yRWFjaCIsImNvbGxlY3Rpb24iLCJzbHVnIiwicGF5bG9hZCIsImRpc2FibGVEQkNvbm5lY3QiLCJjb25uZWN0IiwiaW5mbyIsIndhcm4iLCJlbWFpbERlZmF1bHRzIiwiYnVpbGRFbWFpbCIsImJpbmQiLCJncmFwaFFMIiwiZGlzYWJsZSIsInJlZ2lzdGVyR3JhcGhRTFNjaGVtYSIsInNlcnZlckluaXRUZWxlbWV0cnkiLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiY2FjaGVkIiwiZ2xvYmFsIiwiX3BheWxvYWQiLCJwcm9taXNlIiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUErRGFBLFdBQVc7ZUFBWEE7O0lBb1dBQyxVQUFVO2VBQVZBOzs7K0RBNVpNOzZEQUNGO3lCQXlDZ0I7OERBQ0w7NkRBQ0w7OERBQ0E7MEJBQ21CO2tFQUNwQjsrREFDWTt1RUFDQTsrREFDZjs0QkFDK0I7Ozs7OztBQUszQyxNQUFNRDtJQUNYRSxXQUE2RDtRQUFFQyxNQUFNO1FBQVlDLFFBQVEsQ0FBQztJQUFFLEVBQUM7SUFFN0ZDLFFBQTBEO1FBQUVGLE1BQU07UUFBU0MsUUFBUSxDQUFDO0lBQUUsRUFBQztJ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
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOjD,iBAAe,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqCzE;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOjD,iBAAe,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoCzE;AAED,eAAe,eAAe,CAAA"}
@@ -52,7 +52,6 @@ async function deleteOperation(args) {
52
52
  user,
53
53
  where
54
54
  });
55
- // @ts-expect-error // TODO: fix later
56
55
  if (result.docs.length === 1) {
57
56
  return result.docs[0];
58
57
  }
@@ -60,4 +59,4 @@ async function deleteOperation(args) {
60
59
  }
61
60
  const _default = deleteOperation;
62
61
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBmaXggbGF0ZXJcbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZCgpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGRlbGV0ZU9wZXJhdGlvblxuIl0sIm5hbWVzIjpbImRlbGV0ZU9wZXJhdGlvbiIsImFyZ3MiLCJrZXkiLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInBheWxvYWQiLCJ1c2VyIiwiVW5hdXRob3JpemVkRXJyb3IiLCJ0IiwiZXhlY3V0ZUFjY2VzcyIsImRlZmF1bHRBY2Nlc3MiLCJ3aGVyZSIsImFuZCIsImVxdWFscyIsImlkIiwiY29sbGVjdGlvbiIsInJlc3VsdCIsImRlbGV0ZSIsImRlcHRoIiwiZG9jcyIsImxlbmd0aCIsIk5vdEZvdW5kIl0sIm1hcHBpbmdzIjoiOzs7OytCQStDQTs7O2VBQUE7OztzRUE1QzBCO3NFQUNBO2lFQUNMO3lFQUNTOzs7Ozs7QUFFOUIsZUFBZUEsZ0JBQWdCQyxJQUF1QjtJQUNwRCxNQUFNLEVBQ0pDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxLQUFLLEVBQUVDLE9BQU8sRUFBRSxFQUNoQkQsR0FBRyxFQUNIRSxJQUFJLEVBQ0wsR0FBR0w7SUFFSixJQUFJLENBQUNLLE1BQU07UUFDVCxNQUFNLElBQUlDLHlCQUFpQixDQUFDSCxJQUFJSSxDQUFDO0lBQ25DO0lBRUEsSUFBSSxDQUFDTCxnQkFBZ0I7UUFDbkIsTUFBTU0sSUFBQUEsc0JBQWEsRUFBQztZQUFFTDtRQUFJLEdBQUdNLHNCQUFhO0lBQzVDO0lBRUEsTUFBTUMsUUFBZTtRQUNuQkMsS0FBSztZQUNIO2dCQUFFVixLQUFLO29CQUFFVyxRQUFRWDtnQkFBSTtZQUFFO1lBQ3ZCO2dCQUFFLGNBQWM7b0JBQUVXLFFBQVFQLEtBQUtRLEVBQUU7Z0JBQUM7WUFBRTtZQUNwQztnQkFBRSxtQkFBbUI7b0JBQUVELFFBQVFQLEtBQUtTLFVBQVU7Z0JBQUM7WUFBRTtTQUNsRDtJQUNIO0lBRUEsTUFBTUMsU0FBUyxNQUFNWCxRQUFRWSxNQUFNLENBQUM7UUFDbENGLFlBQVk7UUFDWkcsT0FBTztRQUNQWjtRQUNBSztJQUNGO0lBRUEsc0NBQXNDO0lBQ3RDLElBQUlLLE9BQU9HLElBQUksQ0FBQ0MsTUFBTSxLQUFLLEdBQUc7UUFDNUIsT0FBT0osT0FBT0csSUFBSSxDQUFDLEVBQUU7SUFDdkI7SUFDQSxNQUFNLElBQUlFLGlCQUFRO0FBQ3BCO01BRUEsV0FBZXJCIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZCgpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGRlbGV0ZU9wZXJhdGlvblxuIl0sIm5hbWVzIjpbImRlbGV0ZU9wZXJhdGlvbiIsImFyZ3MiLCJrZXkiLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInBheWxvYWQiLCJ1c2VyIiwiVW5hdXRob3JpemVkRXJyb3IiLCJ0IiwiZXhlY3V0ZUFjY2VzcyIsImRlZmF1bHRBY2Nlc3MiLCJ3aGVyZSIsImFuZCIsImVxdWFscyIsImlkIiwiY29sbGVjdGlvbiIsInJlc3VsdCIsImRlbGV0ZSIsImRlcHRoIiwiZG9jcyIsImxlbmd0aCIsIk5vdEZvdW5kIl0sIm1hcHBpbmdzIjoiOzs7OytCQThDQTs7O2VBQUE7OztzRUEzQzBCO3NFQUNBO2lFQUNMO3lFQUNTOzs7Ozs7QUFFOUIsZUFBZUEsZ0JBQWdCQyxJQUF1QjtJQUNwRCxNQUFNLEVBQ0pDLEdBQUcsRUFDSEMsY0FBYyxFQUNkQyxLQUFLLEVBQUVDLE9BQU8sRUFBRSxFQUNoQkQsR0FBRyxFQUNIRSxJQUFJLEVBQ0wsR0FBR0w7SUFFSixJQUFJLENBQUNLLE1BQU07UUFDVCxNQUFNLElBQUlDLHlCQUFpQixDQUFDSCxJQUFJSSxDQUFDO0lBQ25DO0lBRUEsSUFBSSxDQUFDTCxnQkFBZ0I7UUFDbkIsTUFBTU0sSUFBQUEsc0JBQWEsRUFBQztZQUFFTDtRQUFJLEdBQUdNLHNCQUFhO0lBQzVDO0lBRUEsTUFBTUMsUUFBZTtRQUNuQkMsS0FBSztZQUNIO2dCQUFFVixLQUFLO29CQUFFVyxRQUFRWDtnQkFBSTtZQUFFO1lBQ3ZCO2dCQUFFLGNBQWM7b0JBQUVXLFFBQVFQLEtBQUtRLEVBQUU7Z0JBQUM7WUFBRTtZQUNwQztnQkFBRSxtQkFBbUI7b0JBQUVELFFBQVFQLEtBQUtTLFVBQVU7Z0JBQUM7WUFBRTtTQUNsRDtJQUNIO0lBRUEsTUFBTUMsU0FBUyxNQUFNWCxRQUFRWSxNQUFNLENBQUM7UUFDbENGLFlBQVk7UUFDWkcsT0FBTztRQUNQWjtRQUNBSztJQUNGO0lBRUEsSUFBSUssT0FBT0csSUFBSSxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUM1QixPQUFPSixPQUFPRyxJQUFJLENBQUMsRUFBRTtJQUN2QjtJQUNBLE1BQU0sSUFBSUUsaUJBQVE7QUFDcEI7TUFFQSxXQUFlckIifQ==
@@ -274,7 +274,7 @@
274
274
  "near": "nær"
275
275
  },
276
276
  "upload": {
277
- "crop": "Avling",
277
+ "crop": "Beskjær",
278
278
  "cropToolDescription": "Dra hjørnene av det valgte området, tegn et nytt område eller juster verdiene nedenfor.",
279
279
  "dragAndDrop": "Dra og slipp en fil",
280
280
  "dragAndDropHere": "eller dra og slipp en fil her",
@@ -274,7 +274,7 @@
274
274
  "near": "nabij"
275
275
  },
276
276
  "upload": {
277
- "crop": "Gewas",
277
+ "crop": "Bijsnijden",
278
278
  "cropToolDescription": "Sleep de hoeken van het geselecteerde gebied, teken een nieuw gebied of pas de waarden hieronder aan.",
279
279
  "dragAndDrop": "Sleep een bestand",
280
280
  "dragAndDropHere": "of sleep een bestand naar hier",
@@ -289,7 +289,7 @@
289
289
  "previewSizes": "Voorbeeldgroottes",
290
290
  "selectCollectionToBrowse": "Selecteer een collectie om door te bladeren",
291
291
  "selectFile": "Selecteer een bestand",
292
- "setCropArea": "Stel oogstgebied in",
292
+ "setCropArea": "Stel bijsnijdgebied in",
293
293
  "setFocalPoint": "Stel het brandpunt in",
294
294
  "sizes": "Groottes",
295
295
  "sizesFor": "Maten voor {{label}}",
@@ -13,8 +13,9 @@ function canResizeImage(mimeType) {
13
13
  'image/jpeg',
14
14
  'image/png',
15
15
  'image/gif',
16
- 'image/webp'
16
+ 'image/webp',
17
+ 'image/tiff'
17
18
  ].indexOf(mimeType) > -1;
18
19
  }
19
20
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2NhblJlc2l6ZUltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNhblJlc2l6ZUltYWdlKG1pbWVUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIFsnaW1hZ2UvanBlZycsICdpbWFnZS9wbmcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL3dlYnAnXS5pbmRleE9mKG1pbWVUeXBlKSA+IC0xXG59XG4iXSwibmFtZXMiOlsiY2FuUmVzaXplSW1hZ2UiLCJtaW1lVHlwZSIsImluZGV4T2YiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQUE7OztlQUF3QkE7OztBQUFULFNBQVNBLGVBQWVDLFFBQWdCO0lBQ3JELE9BQU87UUFBQztRQUFjO1FBQWE7UUFBYTtLQUFhLENBQUNDLE9BQU8sQ0FBQ0QsWUFBWSxDQUFDO0FBQ3JGIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2NhblJlc2l6ZUltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNhblJlc2l6ZUltYWdlKG1pbWVUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIFsnaW1hZ2UvanBlZycsICdpbWFnZS9wbmcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL3dlYnAnLCAnaW1hZ2UvdGlmZiddLmluZGV4T2YobWltZVR5cGUpID4gLTFcbn1cbiJdLCJuYW1lcyI6WyJjYW5SZXNpemVJbWFnZSIsIm1pbWVUeXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBQTs7O2VBQXdCQTs7O0FBQVQsU0FBU0EsZUFBZUMsUUFBZ0I7SUFDckQsT0FBTztRQUFDO1FBQWM7UUFBYTtRQUFhO1FBQWM7S0FBYSxDQUFDQyxPQUFPLENBQUNELFlBQVksQ0FBQztBQUNuRyJ9
@@ -105,7 +105,7 @@ const generateFileData = async ({ collection: { config: collectionConfig }, conf
105
105
  sharpFile = sharpFile.trim(trimOptions);
106
106
  }
107
107
  }
108
- if ((0, _isImage.default)(file.mimetype)) {
108
+ if (fileSupportsResize || (0, _isImage.default)(file.mimetype)) {
109
109
  dimensions = await (0, _getImageSize.default)(file);
110
110
  fileData.width = dimensions.width;
111
111
  fileData.height = dimensions.height;
@@ -225,4 +225,4 @@ const generateFileData = async ({ collection: { config: collectionConfig }, conf
225
225
  };
226
226
  };
227
227
 
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGxvYWRlZEZpbGUgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIFNoYXJwLCBTaGFycE9wdGlvbnMgfSBmcm9tICdzaGFycCdcblxuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSdcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBta2RpcnAgZnJvbSAnbWtkaXJwJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsZURhdGEsIEZpbGVUb1NhdmUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciwgTWlzc2luZ0ZpbGUgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgY2FuUmVzaXplSW1hZ2UgZnJvbSAnLi9jYW5SZXNpemVJbWFnZSdcbmltcG9ydCBjcm9wSW1hZ2UgZnJvbSAnLi9jcm9wSW1hZ2UnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgeyBnZXRFeHRlcm5hbEZpbGUgfSBmcm9tICcuL2dldEV4dGVybmFsRmlsZSdcbmltcG9ydCBnZXRJbWFnZVNpemUgZnJvbSAnLi9nZXRJbWFnZVNpemUnXG5pbXBvcnQgZ2V0U2FmZUZpbGVOYW1lIGZyb20gJy4vZ2V0U2FmZUZpbGVuYW1lJ1xuaW1wb3J0IHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMgZnJvbSAnLi9pbWFnZVJlc2l6ZXInXG5pbXBvcnQgaXNJbWFnZSBmcm9tICcuL2lzSW1hZ2UnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBkYXRhOiBUXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdGhyb3dPbk1pc3NpbmdGaWxlPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdDxUPiA9IFByb21pc2U8e1xuICBkYXRhOiBUXG4gIGZpbGVzOiBGaWxlVG9TYXZlW11cbn0+XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUZpbGVEYXRhID0gYXN5bmMgPFQ+KHtcbiAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgY29uZmlnLFxuICBkYXRhLFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzLFxuICByZXEsXG4gIHRocm93T25NaXNzaW5nRmlsZSxcbn06IEFyZ3M8VD4pOiBSZXN1bHQ8VD4gPT4ge1xuICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgbGV0IGZpbGUgPSByZXEuZmlsZXM/LmZpbGUgfHwgdW5kZWZpbmVkXG4gIGNvbnN0IHsgdXBsb2FkRWRpdHMgfSA9IHJlcS5xdWVyeSB8fCB7fVxuXG4gIGNvbnN0IHsgZGlzYWJsZUxvY2FsU3RvcmFnZSwgZm9ybWF0T3B0aW9ucywgaW1hZ2VTaXplcywgcmVzaXplT3B0aW9ucywgc3RhdGljRGlyLCB0cmltT3B0aW9ucyB9ID1cbiAgICBjb2xsZWN0aW9uQ29uZmlnLnVwbG9hZFxuXG4gIGxldCBzdGF0aWNQYXRoID0gc3RhdGljRGlyXG4gIGlmIChzdGF0aWNEaXIuaW5kZXhPZignLycpICE9PSAwKSB7XG4gICAgc3RhdGljUGF0aCA9IHBhdGgucmVzb2x2ZShjb25maWcucGF0aHMuY29uZmlnRGlyLCBzdGF0aWNEaXIpXG4gIH1cblxuICBpZiAoIWZpbGUgJiYgdXBsb2FkRWRpdHMgJiYgZGF0YSkge1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHVybCB9ID0gZGF0YSBhcyBGaWxlRGF0YVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh1cmwgJiYgdXJsLnN0YXJ0c1dpdGgoJy8nKSAmJiAhZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7ZmlsZW5hbWV9YFxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEZpbGVCeVBhdGgoZmlsZVBhdGgpXG4gICAgICAgIGZpbGUgPSByZXNwb25zZSBhcyBVcGxvYWRlZEZpbGVcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH0gZWxzZSBpZiAoZmlsZW5hbWUgJiYgdXJsKSB7XG4gICAgICAgIGZpbGUgPSAoYXdhaXQgZ2V0RXh0ZXJuYWxGaWxlKHsgcmVxLCBkYXRhOiBkYXRhIGFzIEZpbGVEYXRhIH0pKSBhcyBVcGxvYWRlZEZpbGVcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gICAgfVxuICB9XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgaWYgKHRocm93T25NaXNzaW5nRmlsZSkgdGhyb3cgbmV3IE1pc3NpbmdGaWxlKHJlcS50KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgaWYgKCFkaXNhYmxlTG9jYWxTdG9yYWdlKSB7XG4gICAgbWtkaXJwLnN5bmMoc3RhdGljUGF0aClcbiAgfVxuXG4gIGxldCBuZXdEYXRhID0gZGF0YVxuICBjb25zdCBmaWxlc1RvU2F2ZTogRmlsZVRvU2F2ZVtdID0gW11cbiAgY29uc3QgZmlsZURhdGE6IFBhcnRpYWw8RmlsZURhdGE+ID0ge31cbiAgY29uc3QgZmlsZUlzQW5pbWF0ZWQgPSBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2UvZ2lmJyB8fCBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2Uvd2VicCdcbiAgY29uc3QgY3JvcERhdGEgPVxuICAgIHR5cGVvZiB1cGxvYWRFZGl0cyA9PT0gJ29iamVjdCcgJiYgJ2Nyb3AnIGluIHVwbG9hZEVkaXRzID8gdXBsb2FkRWRpdHMuY3JvcCA6IHVuZGVmaW5lZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZVN1cHBvcnRzUmVzaXplID0gY2FuUmVzaXplSW1hZ2UoZmlsZS5taW1ldHlwZSlcbiAgICBsZXQgZnNTYWZlTmFtZTogc3RyaW5nXG4gICAgbGV0IHNoYXJwRmlsZTogU2hhcnAgfCB1bmRlZmluZWRcbiAgICBsZXQgZGltZW5zaW9uczogUHJvYmVkSW1hZ2VTaXplIHwgdW5kZWZpbmVkXG4gICAgbGV0IGZpbGVCdWZmZXI6IHsgZGF0YTogQnVmZmVyOyBpbmZvOiBPdXRwdXRJbmZvIH1cbiAgICBsZXQgZXh0XG4gICAgbGV0IG1pbWU6IHN0cmluZ1xuICAgIGNvbnN0IGZpbGVIYXNBZGp1c3RtZW50cyA9XG4gICAgICBmaWxlU3VwcG9ydHNSZXNpemUgJiZcbiAgICAgIEJvb2xlYW4ocmVzaXplT3B0aW9ucyB8fCBmb3JtYXRPcHRpb25zIHx8IHRyaW1PcHRpb25zIHx8IGZpbGUudGVtcEZpbGVQYXRoKVxuXG4gICAgY29uc3Qgc2hhcnBPcHRpb25zOiBTaGFycE9wdGlvbnMgPSB7fVxuXG4gICAgaWYgKGZpbGVJc0FuaW1hdGVkKSBzaGFycE9wdGlvbnMuYW5pbWF0ZWQgPSB0cnVlXG5cbiAgICBpZiAoZmlsZUhhc0FkanVzdG1lbnRzKSB7XG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGgsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycChmaWxlLmRhdGEsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNpemVPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS5yZXNpemUocmVzaXplT3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50b0Zvcm1hdChmb3JtYXRPcHRpb25zLmZvcm1hdCwgZm9ybWF0T3B0aW9ucy5vcHRpb25zKVxuICAgICAgfVxuICAgICAgaWYgKHRyaW1PcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50cmltKHRyaW1PcHRpb25zKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0ltYWdlKGZpbGUubWltZXR5cGUpKSB7XG4gICAgICBkaW1lbnNpb25zID0gYXdhaXQgZ2V0SW1hZ2VTaXplKGZpbGUpXG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGRpbWVuc2lvbnMud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGRpbWVuc2lvbnMuaGVpZ2h0XG4gICAgfVxuXG4gICAgaWYgKHNoYXJwRmlsZSkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhd2FpdCBzaGFycEZpbGUubWV0YWRhdGEoKVxuICAgICAgZmlsZUJ1ZmZlciA9IGF3YWl0IHNoYXJwRmlsZS50b0J1ZmZlcih7IHJlc29sdmVXaXRoT2JqZWN0OiB0cnVlIH0pXG4gICAgICA7KHsgZXh0LCBtaW1lIH0gPSBhd2FpdCBmcm9tQnVmZmVyKGZpbGVCdWZmZXIuZGF0YSkpIC8vIFRoaXMgaXMgZ2V0dGluZyBhbiBpbmNvcnJlY3QgZ2lmIGhlaWdodCBiYWNrLlxuICAgICAgZmlsZURhdGEud2lkdGggPSBmaWxlQnVmZmVyLmluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHRcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZUJ1ZmZlci5pbmZvLnNpemVcblxuICAgICAgLy8gQW5pbWF0ZWQgR0lGcyArIFdlYlAgYWdncmVnYXRlIHRoZSBoZWlnaHQgZnJvbSBldmVyeSBmcmFtZSwgc28gd2UgbmVlZCB0byB1c2UgZGl2aWRlIGJ5IG51bWJlciBvZiBwYWdlc1xuICAgICAgaWYgKG1ldGFkYXRhLnBhZ2VzKSB7XG4gICAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHQgLyBtZXRhZGF0YS5wYWdlc1xuICAgICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuZGF0YS5sZW5ndGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbWltZSA9IGZpbGUubWltZXR5cGVcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZS5zaXplXG5cbiAgICAgIGlmIChmaWxlLm5hbWUuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICBleHQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXh0ID0gJydcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZHVzdCBTVkcgbWltZSB0eXBlLiBmcm9tQnVmZmVyIG1vZGlmaWVzIGl0LlxuICAgIGlmIChtaW1lID09PSAnYXBwbGljYXRpb24veG1sJyAmJiBleHQgPT09ICdzdmcnKSBtaW1lID0gJ2ltYWdlL3N2Zyt4bWwnXG4gICAgZmlsZURhdGEubWltZVR5cGUgPSBtaW1lXG5cbiAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBzYW5pdGl6ZShmaWxlLm5hbWUuc3Vic3RyaW5nKDAsIGZpbGUubmFtZS5sYXN0SW5kZXhPZignLicpKSB8fCBmaWxlLm5hbWUpXG4gICAgZnNTYWZlTmFtZSA9IGAke2Jhc2VGaWxlbmFtZX0ke2V4dCA/IGAuJHtleHR9YCA6ICcnfWBcblxuICAgIGlmICghb3ZlcndyaXRlRXhpc3RpbmdGaWxlcykge1xuICAgICAgZnNTYWZlTmFtZSA9IGF3YWl0IGdldFNhZmVGaWxlTmFtZSh7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRlc2lyZWRGaWxlbmFtZTogZnNTYWZlTmFtZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzdGF0aWNQYXRoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmaWxlRGF0YS5maWxlbmFtZSA9IGZzU2FmZU5hbWVcbiAgICBsZXQgZmlsZUZvclJlc2l6ZSA9IGZpbGVcblxuICAgIGlmIChjcm9wRGF0YSkge1xuICAgICAgY29uc3QgeyBkYXRhOiBjcm9wcGVkSW1hZ2UsIGluZm8gfSA9IGF3YWl0IGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlIH0pXG5cbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goe1xuICAgICAgICBidWZmZXI6IGNyb3BwZWRJbWFnZSxcbiAgICAgICAgcGF0aDogYCR7c3RhdGljUGF0aH0vJHtmc1NhZmVOYW1lfWAsXG4gICAgICB9KVxuXG4gICAgICBmaWxlRm9yUmVzaXplID0ge1xuICAgICAgICAuLi5maWxlLFxuICAgICAgICBkYXRhOiBjcm9wcGVkSW1hZ2UsXG4gICAgICAgIHNpemU6IGluZm8uc2l6ZSxcbiAgICAgIH1cbiAgICAgIGZpbGVEYXRhLndpZHRoID0gaW5mby53aWR0aFxuICAgICAgZmlsZURhdGEuaGVpZ2h0ID0gaW5mby5oZWlnaHRcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gaW5mby5zaXplXG5cbiAgICAgIGlmIChmaWxlLnRlbXBGaWxlUGF0aCkge1xuICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZS50ZW1wRmlsZVBhdGgsIGNyb3BwZWRJbWFnZSkgLy8gd3JpdGUgZmlsZUJ1ZmZlciB0byB0aGUgdGVtcCBwYXRoXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXEuZmlsZXMuZmlsZSA9IGZpbGVGb3JSZXNpemVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNUb1NhdmUucHVzaCh7XG4gICAgICAgIGJ1ZmZlcjogZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEsXG4gICAgICAgIHBhdGg6IGAke3N0YXRpY1BhdGh9LyR7ZnNTYWZlTmFtZX1gLFxuICAgICAgfSlcblxuICAgICAgLy8gSWYgdXNpbmcgdGVtcCBmaWxlcyBhbmQgdGhlIGltYWdlIGlzIGJlaW5nIHJlc2l6ZWQsIHdyaXRlIHRoZSBmaWxlIHRvIHRoZSB0ZW1wIHBhdGhcbiAgICAgIGlmIChmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChmaWxlLnRlbXBGaWxlUGF0aCkge1xuICAgICAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShmaWxlLnRlbXBGaWxlUGF0aCwgZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEpIC8vIHdyaXRlIGZpbGVCdWZmZXIgdG8gdGhlIHRlbXAgcGF0aFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFzc2lnbiB0aGUgX3Bvc3NpYmx5IG1vZGlmaWVkXyBmaWxlIHRvIHRoZSByZXF1ZXN0IG9iamVjdFxuICAgICAgICAgIHJlcS5maWxlcy5maWxlID0ge1xuICAgICAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgICAgIGRhdGE6IGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLFxuICAgICAgICAgICAgc2l6ZTogZmlsZUJ1ZmZlcj8uaW5mby5zaXplLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGltYWdlU2l6ZXMpICYmIGZpbGVTdXBwb3J0c1Jlc2l6ZSkge1xuICAgICAgcmVxLnBheWxvYWRVcGxvYWRTaXplcyA9IHt9XG4gICAgICBjb25zdCB7IHNpemVEYXRhLCBzaXplc1RvU2F2ZSB9ID0gYXdhaXQgcmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyh7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZGltZW5zaW9uczogIWNyb3BEYXRhXG4gICAgICAgICAgPyBkaW1lbnNpb25zXG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIC4uLmRpbWVuc2lvbnMsXG4gICAgICAgICAgICAgIGhlaWdodDogZmlsZURhdGEuaGVpZ2h0LFxuICAgICAgICAgICAgICB3aWR0aDogZmlsZURhdGEud2lkdGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICBmaWxlOiBmaWxlRm9yUmVzaXplLFxuICAgICAgICBtaW1lVHlwZTogZmlsZURhdGEubWltZVR5cGUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2F2ZWRGaWxlbmFtZTogZnNTYWZlTmFtZSB8fCBmaWxlLm5hbWUsXG4gICAgICAgIHN0YXRpY1BhdGgsXG4gICAgICB9KVxuXG4gICAgICBmaWxlRGF0YS5zaXplcyA9IHNpemVEYXRhXG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKC4uLnNpemVzVG9TYXZlKVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgdGhyb3cgbmV3IEZpbGVVcGxvYWRFcnJvcihyZXEudClcbiAgfVxuXG4gIG5ld0RhdGEgPSB7XG4gICAgLi4ubmV3RGF0YSxcbiAgICAuLi5maWxlRGF0YSxcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGF0YTogbmV3RGF0YSxcbiAgICBmaWxlczogZmlsZXNUb1NhdmUsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJnZW5lcmF0ZUZpbGVEYXRhIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImNvbGxlY3Rpb25Db25maWciLCJkYXRhIiwib3ZlcndyaXRlRXhpc3RpbmdGaWxlcyIsInJlcSIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzIiwiZmlsZSIsInVuZGVmaW5lZCIsInVwbG9hZEVkaXRzIiwicXVlcnkiLCJkaXNhYmxlTG9jYWxTdG9yYWdlIiwiZm9ybWF0T3B0aW9ucyIsImltYWdlU2l6ZXMiLCJyZXNpemVPcHRpb25zIiwic3RhdGljRGlyIiwidHJpbU9wdGlvbnMiLCJzdGF0aWNQYXRoIiwiaW5kZXhPZiIsInBhdGgiLCJyZXNvbHZlIiwicGF0aHMiLCJjb25maWdEaXIiLCJmaWxlbmFtZSIsInVybCIsInN0YXJ0c1dpdGgiLCJmaWxlUGF0aCIsInJlc3BvbnNlIiwiZ2V0RmlsZUJ5UGF0aCIsImdldEV4dGVybmFsRmlsZSIsImVyciIsIkZpbGVVcGxvYWRFcnJvciIsInQiLCJNaXNzaW5nRmlsZSIsIm1rZGlycCIsInN5bmMiLCJuZXdEYXRhIiwiZmlsZXNUb1NhdmUiLCJmaWxlRGF0YSIsImZpbGVJc0FuaW1hdGVkIiwibWltZXR5cGUiLCJjcm9wRGF0YSIsImNyb3AiLCJmaWxlU3VwcG9ydHNSZXNpemUiLCJjYW5SZXNpemVJbWFnZSIsImZzU2FmZU5hbWUiLCJzaGFycEZpbGUiLCJkaW1lbnNpb25zIiwiZmlsZUJ1ZmZlciIsImV4dCIsIm1pbWUiLCJmaWxlSGFzQWRqdXN0bWVudHMiLCJCb29sZWFuIiwidGVtcEZpbGVQYXRoIiwic2hhcnBPcHRpb25zIiwiYW5pbWF0ZWQiLCJzaGFycCIsInJvdGF0ZSIsInJlc2l6ZSIsInRvRm9ybWF0IiwiZm9ybWF0Iiwib3B0aW9ucyIsInRyaW0iLCJpc0ltYWdlIiwiZ2V0SW1hZ2VTaXplIiwid2lkdGgiLCJoZWlnaHQiLCJtZXRhZGF0YSIsInRvQnVmZmVyIiwicmVzb2x2ZVdpdGhPYmplY3QiLCJmcm9tQnVmZmVyIiwiaW5mbyIsImZpbGVzaXplIiwic2l6ZSIsInBhZ2VzIiwibGVuZ3RoIiwibmFtZSIsImluY2x1ZGVzIiwic3BsaXQiLCJwb3AiLCJtaW1lVHlwZSIsImJhc2VGaWxlbmFtZSIsInNhbml0aXplIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJnZXRTYWZlRmlsZU5hbWUiLCJjb2xsZWN0aW9uU2x1ZyIsInNsdWciLCJkZXNpcmVkRmlsZW5hbWUiLCJmaWxlRm9yUmVzaXplIiwiY3JvcHBlZEltYWdlIiwiY3JvcEltYWdlIiwicHVzaCIsImJ1ZmZlciIsImZzIiwicHJvbWlzZXMiLCJ3cml0ZUZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJwYXlsb2FkVXBsb2FkU2l6ZXMiLCJzaXplRGF0YSIsInNpemVzVG9TYXZlIiwicmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyIsInNhdmVkRmlsZW5hbWUiLCJzaXplcyIsImNvbnNvbGUiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF1Q2FBOzs7ZUFBQUE7OzswQkFwQ2M7MkRBQ1o7K0RBQ0k7NkRBQ0Y7eUVBQ0k7OERBQ0g7d0JBTzJCO3VFQUNsQjtrRUFDTDtzRUFDSTtpQ0FDTTtxRUFDUDt3RUFDRztxRUFDYTtnRUFDckI7Ozs7OztBQWdCYixNQUFNQSxtQkFBbUIsT0FBVSxFQUN4Q0MsWUFBWSxFQUFFQyxRQUFRQyxnQkFBZ0IsRUFBRSxFQUN4Q0QsTUFBTSxFQUNORSxJQUFJLEVBQ0pDLHNCQUFzQixFQUN0QkMsR0FBRyxFQUNIQyxrQkFBa0IsRUFDVjtJQUNSLElBQUksQ0FBQ0osaUJBQWlCSyxNQUFNLEVBQUU7UUFDNUIsT0FBTztZQUNMSjtZQUNBSyxPQUFPLEVBQUU7UUFDWDtJQUNGO0lBRUEsSUFB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
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGxvYWRlZEZpbGUgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIFNoYXJwLCBTaGFycE9wdGlvbnMgfSBmcm9tICdzaGFycCdcblxuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSdcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBta2RpcnAgZnJvbSAnbWtkaXJwJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsZURhdGEsIEZpbGVUb1NhdmUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciwgTWlzc2luZ0ZpbGUgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgY2FuUmVzaXplSW1hZ2UgZnJvbSAnLi9jYW5SZXNpemVJbWFnZSdcbmltcG9ydCBjcm9wSW1hZ2UgZnJvbSAnLi9jcm9wSW1hZ2UnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgeyBnZXRFeHRlcm5hbEZpbGUgfSBmcm9tICcuL2dldEV4dGVybmFsRmlsZSdcbmltcG9ydCBnZXRJbWFnZVNpemUgZnJvbSAnLi9nZXRJbWFnZVNpemUnXG5pbXBvcnQgZ2V0U2FmZUZpbGVOYW1lIGZyb20gJy4vZ2V0U2FmZUZpbGVuYW1lJ1xuaW1wb3J0IHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMgZnJvbSAnLi9pbWFnZVJlc2l6ZXInXG5pbXBvcnQgaXNJbWFnZSBmcm9tICcuL2lzSW1hZ2UnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBkYXRhOiBUXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdGhyb3dPbk1pc3NpbmdGaWxlPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdDxUPiA9IFByb21pc2U8e1xuICBkYXRhOiBUXG4gIGZpbGVzOiBGaWxlVG9TYXZlW11cbn0+XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUZpbGVEYXRhID0gYXN5bmMgPFQ+KHtcbiAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgY29uZmlnLFxuICBkYXRhLFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzLFxuICByZXEsXG4gIHRocm93T25NaXNzaW5nRmlsZSxcbn06IEFyZ3M8VD4pOiBSZXN1bHQ8VD4gPT4ge1xuICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgbGV0IGZpbGUgPSByZXEuZmlsZXM/LmZpbGUgfHwgdW5kZWZpbmVkXG4gIGNvbnN0IHsgdXBsb2FkRWRpdHMgfSA9IHJlcS5xdWVyeSB8fCB7fVxuXG4gIGNvbnN0IHsgZGlzYWJsZUxvY2FsU3RvcmFnZSwgZm9ybWF0T3B0aW9ucywgaW1hZ2VTaXplcywgcmVzaXplT3B0aW9ucywgc3RhdGljRGlyLCB0cmltT3B0aW9ucyB9ID1cbiAgICBjb2xsZWN0aW9uQ29uZmlnLnVwbG9hZFxuXG4gIGxldCBzdGF0aWNQYXRoID0gc3RhdGljRGlyXG4gIGlmIChzdGF0aWNEaXIuaW5kZXhPZignLycpICE9PSAwKSB7XG4gICAgc3RhdGljUGF0aCA9IHBhdGgucmVzb2x2ZShjb25maWcucGF0aHMuY29uZmlnRGlyLCBzdGF0aWNEaXIpXG4gIH1cblxuICBpZiAoIWZpbGUgJiYgdXBsb2FkRWRpdHMgJiYgZGF0YSkge1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHVybCB9ID0gZGF0YSBhcyBGaWxlRGF0YVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh1cmwgJiYgdXJsLnN0YXJ0c1dpdGgoJy8nKSAmJiAhZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7ZmlsZW5hbWV9YFxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEZpbGVCeVBhdGgoZmlsZVBhdGgpXG4gICAgICAgIGZpbGUgPSByZXNwb25zZSBhcyBVcGxvYWRlZEZpbGVcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH0gZWxzZSBpZiAoZmlsZW5hbWUgJiYgdXJsKSB7XG4gICAgICAgIGZpbGUgPSAoYXdhaXQgZ2V0RXh0ZXJuYWxGaWxlKHsgcmVxLCBkYXRhOiBkYXRhIGFzIEZpbGVEYXRhIH0pKSBhcyBVcGxvYWRlZEZpbGVcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gICAgfVxuICB9XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgaWYgKHRocm93T25NaXNzaW5nRmlsZSkgdGhyb3cgbmV3IE1pc3NpbmdGaWxlKHJlcS50KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgaWYgKCFkaXNhYmxlTG9jYWxTdG9yYWdlKSB7XG4gICAgbWtkaXJwLnN5bmMoc3RhdGljUGF0aClcbiAgfVxuXG4gIGxldCBuZXdEYXRhID0gZGF0YVxuICBjb25zdCBmaWxlc1RvU2F2ZTogRmlsZVRvU2F2ZVtdID0gW11cbiAgY29uc3QgZmlsZURhdGE6IFBhcnRpYWw8RmlsZURhdGE+ID0ge31cbiAgY29uc3QgZmlsZUlzQW5pbWF0ZWQgPSBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2UvZ2lmJyB8fCBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2Uvd2VicCdcbiAgY29uc3QgY3JvcERhdGEgPVxuICAgIHR5cGVvZiB1cGxvYWRFZGl0cyA9PT0gJ29iamVjdCcgJiYgJ2Nyb3AnIGluIHVwbG9hZEVkaXRzID8gdXBsb2FkRWRpdHMuY3JvcCA6IHVuZGVmaW5lZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZVN1cHBvcnRzUmVzaXplID0gY2FuUmVzaXplSW1hZ2UoZmlsZS5taW1ldHlwZSlcbiAgICBsZXQgZnNTYWZlTmFtZTogc3RyaW5nXG4gICAgbGV0IHNoYXJwRmlsZTogU2hhcnAgfCB1bmRlZmluZWRcbiAgICBsZXQgZGltZW5zaW9uczogUHJvYmVkSW1hZ2VTaXplIHwgdW5kZWZpbmVkXG4gICAgbGV0IGZpbGVCdWZmZXI6IHsgZGF0YTogQnVmZmVyOyBpbmZvOiBPdXRwdXRJbmZvIH1cbiAgICBsZXQgZXh0XG4gICAgbGV0IG1pbWU6IHN0cmluZ1xuICAgIGNvbnN0IGZpbGVIYXNBZGp1c3RtZW50cyA9XG4gICAgICBmaWxlU3VwcG9ydHNSZXNpemUgJiZcbiAgICAgIEJvb2xlYW4ocmVzaXplT3B0aW9ucyB8fCBmb3JtYXRPcHRpb25zIHx8IHRyaW1PcHRpb25zIHx8IGZpbGUudGVtcEZpbGVQYXRoKVxuXG4gICAgY29uc3Qgc2hhcnBPcHRpb25zOiBTaGFycE9wdGlvbnMgPSB7fVxuXG4gICAgaWYgKGZpbGVJc0FuaW1hdGVkKSBzaGFycE9wdGlvbnMuYW5pbWF0ZWQgPSB0cnVlXG5cbiAgICBpZiAoZmlsZUhhc0FkanVzdG1lbnRzKSB7XG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGgsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycChmaWxlLmRhdGEsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNpemVPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS5yZXNpemUocmVzaXplT3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50b0Zvcm1hdChmb3JtYXRPcHRpb25zLmZvcm1hdCwgZm9ybWF0T3B0aW9ucy5vcHRpb25zKVxuICAgICAgfVxuICAgICAgaWYgKHRyaW1PcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50cmltKHRyaW1PcHRpb25zKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWxlU3VwcG9ydHNSZXNpemUgfHwgaXNJbWFnZShmaWxlLm1pbWV0eXBlKSkge1xuICAgICAgZGltZW5zaW9ucyA9IGF3YWl0IGdldEltYWdlU2l6ZShmaWxlKVxuICAgICAgZmlsZURhdGEud2lkdGggPSBkaW1lbnNpb25zLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBkaW1lbnNpb25zLmhlaWdodFxuICAgIH1cblxuICAgIGlmIChzaGFycEZpbGUpIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgc2hhcnBGaWxlLm1ldGFkYXRhKClcbiAgICAgIGZpbGVCdWZmZXIgPSBhd2FpdCBzaGFycEZpbGUudG9CdWZmZXIoeyByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSB9KVxuICAgICAgOyh7IGV4dCwgbWltZSB9ID0gYXdhaXQgZnJvbUJ1ZmZlcihmaWxlQnVmZmVyLmRhdGEpKSAvLyBUaGlzIGlzIGdldHRpbmcgYW4gaW5jb3JyZWN0IGdpZiBoZWlnaHQgYmFjay5cbiAgICAgIGZpbGVEYXRhLndpZHRoID0gZmlsZUJ1ZmZlci5pbmZvLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuaW5mby5zaXplXG5cbiAgICAgIC8vIEFuaW1hdGVkIEdJRnMgKyBXZWJQIGFnZ3JlZ2F0ZSB0aGUgaGVpZ2h0IGZyb20gZXZlcnkgZnJhbWUsIHNvIHdlIG5lZWQgdG8gdXNlIGRpdmlkZSBieSBudW1iZXIgb2YgcGFnZXNcbiAgICAgIGlmIChtZXRhZGF0YS5wYWdlcykge1xuICAgICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0IC8gbWV0YWRhdGEucGFnZXNcbiAgICAgICAgZmlsZURhdGEuZmlsZXNpemUgPSBmaWxlQnVmZmVyLmRhdGEubGVuZ3RoXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1pbWUgPSBmaWxlLm1pbWV0eXBlXG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGUuc2l6ZVxuXG4gICAgICBpZiAoZmlsZS5uYW1lLmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgZXh0ID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4dCA9ICcnXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWR1c3QgU1ZHIG1pbWUgdHlwZS4gZnJvbUJ1ZmZlciBtb2RpZmllcyBpdC5cbiAgICBpZiAobWltZSA9PT0gJ2FwcGxpY2F0aW9uL3htbCcgJiYgZXh0ID09PSAnc3ZnJykgbWltZSA9ICdpbWFnZS9zdmcreG1sJ1xuICAgIGZpbGVEYXRhLm1pbWVUeXBlID0gbWltZVxuXG4gICAgY29uc3QgYmFzZUZpbGVuYW1lID0gc2FuaXRpemUoZmlsZS5uYW1lLnN1YnN0cmluZygwLCBmaWxlLm5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgZmlsZS5uYW1lKVxuICAgIGZzU2FmZU5hbWUgPSBgJHtiYXNlRmlsZW5hbWV9JHtleHQgPyBgLiR7ZXh0fWAgOiAnJ31gXG5cbiAgICBpZiAoIW92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMpIHtcbiAgICAgIGZzU2FmZU5hbWUgPSBhd2FpdCBnZXRTYWZlRmlsZU5hbWUoe1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICBkZXNpcmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc3RhdGljUGF0aCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZmlsZURhdGEuZmlsZW5hbWUgPSBmc1NhZmVOYW1lXG4gICAgbGV0IGZpbGVGb3JSZXNpemUgPSBmaWxlXG5cbiAgICBpZiAoY3JvcERhdGEpIHtcbiAgICAgIGNvbnN0IHsgZGF0YTogY3JvcHBlZEltYWdlLCBpbmZvIH0gPSBhd2FpdCBjcm9wSW1hZ2UoeyBjcm9wRGF0YSwgZGltZW5zaW9ucywgZmlsZSB9KVxuXG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKHtcbiAgICAgICAgYnVmZmVyOiBjcm9wcGVkSW1hZ2UsXG4gICAgICAgIHBhdGg6IGAke3N0YXRpY1BhdGh9LyR7ZnNTYWZlTmFtZX1gLFxuICAgICAgfSlcblxuICAgICAgZmlsZUZvclJlc2l6ZSA9IHtcbiAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgZGF0YTogY3JvcHBlZEltYWdlLFxuICAgICAgICBzaXplOiBpbmZvLnNpemUsXG4gICAgICB9XG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGluZm8uc2l6ZVxuXG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgYXdhaXQgZnMucHJvbWlzZXMud3JpdGVGaWxlKGZpbGUudGVtcEZpbGVQYXRoLCBjcm9wcGVkSW1hZ2UpIC8vIHdyaXRlIGZpbGVCdWZmZXIgdG8gdGhlIHRlbXAgcGF0aFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxLmZpbGVzLmZpbGUgPSBmaWxlRm9yUmVzaXplXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goe1xuICAgICAgICBidWZmZXI6IGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLFxuICAgICAgICBwYXRoOiBgJHtzdGF0aWNQYXRofS8ke2ZzU2FmZU5hbWV9YCxcbiAgICAgIH0pXG5cbiAgICAgIC8vIElmIHVzaW5nIHRlbXAgZmlsZXMgYW5kIHRoZSBpbWFnZSBpcyBiZWluZyByZXNpemVkLCB3cml0ZSB0aGUgZmlsZSB0byB0aGUgdGVtcCBwYXRoXG4gICAgICBpZiAoZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZS50ZW1wRmlsZVBhdGgsIGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhKSAvLyB3cml0ZSBmaWxlQnVmZmVyIHRvIHRoZSB0ZW1wIHBhdGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBc3NpZ24gdGhlIF9wb3NzaWJseSBtb2RpZmllZF8gZmlsZSB0byB0aGUgcmVxdWVzdCBvYmplY3RcbiAgICAgICAgICByZXEuZmlsZXMuZmlsZSA9IHtcbiAgICAgICAgICAgIC4uLmZpbGUsXG4gICAgICAgICAgICBkYXRhOiBmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YSxcbiAgICAgICAgICAgIHNpemU6IGZpbGVCdWZmZXI/LmluZm8uc2l6ZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbWFnZVNpemVzKSAmJiBmaWxlU3VwcG9ydHNSZXNpemUpIHtcbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXMgPSB7fVxuICAgICAgY29uc3QgeyBzaXplRGF0YSwgc2l6ZXNUb1NhdmUgfSA9IGF3YWl0IHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICAgICAgICBjb25maWc6IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGRpbWVuc2lvbnM6ICFjcm9wRGF0YVxuICAgICAgICAgID8gZGltZW5zaW9uc1xuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAuLi5kaW1lbnNpb25zLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGZpbGVEYXRhLmhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGZpbGVEYXRhLndpZHRoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgZmlsZTogZmlsZUZvclJlc2l6ZSxcbiAgICAgICAgbWltZVR5cGU6IGZpbGVEYXRhLm1pbWVUeXBlLFxuICAgICAgICByZXEsXG4gICAgICAgIHNhdmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUgfHwgZmlsZS5uYW1lLFxuICAgICAgICBzdGF0aWNQYXRoLFxuICAgICAgfSlcblxuICAgICAgZmlsZURhdGEuc2l6ZXMgPSBzaXplRGF0YVxuICAgICAgZmlsZXNUb1NhdmUucHVzaCguLi5zaXplc1RvU2F2ZSlcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gIH1cblxuICBuZXdEYXRhID0ge1xuICAgIC4uLm5ld0RhdGEsXG4gICAgLi4uZmlsZURhdGEsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRhdGE6IG5ld0RhdGEsXG4gICAgZmlsZXM6IGZpbGVzVG9TYXZlLFxuICB9XG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVGaWxlRGF0YSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGF0YSIsIm92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMiLCJyZXEiLCJ0aHJvd09uTWlzc2luZ0ZpbGUiLCJ1cGxvYWQiLCJmaWxlcyIsImZpbGUiLCJ1bmRlZmluZWQiLCJ1cGxvYWRFZGl0cyIsInF1ZXJ5IiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZVNpemVzIiwicmVzaXplT3B0aW9ucyIsInN0YXRpY0RpciIsInRyaW1PcHRpb25zIiwic3RhdGljUGF0aCIsImluZGV4T2YiLCJwYXRoIiwicmVzb2x2ZSIsInBhdGhzIiwiY29uZmlnRGlyIiwiZmlsZW5hbWUiLCJ1cmwiLCJzdGFydHNXaXRoIiwiZmlsZVBhdGgiLCJyZXNwb25zZSIsImdldEZpbGVCeVBhdGgiLCJnZXRFeHRlcm5hbEZpbGUiLCJlcnIiLCJGaWxlVXBsb2FkRXJyb3IiLCJ0IiwiTWlzc2luZ0ZpbGUiLCJta2RpcnAiLCJzeW5jIiwibmV3RGF0YSIsImZpbGVzVG9TYXZlIiwiZmlsZURhdGEiLCJmaWxlSXNBbmltYXRlZCIsIm1pbWV0eXBlIiwiY3JvcERhdGEiLCJjcm9wIiwiZmlsZVN1cHBvcnRzUmVzaXplIiwiY2FuUmVzaXplSW1hZ2UiLCJmc1NhZmVOYW1lIiwic2hhcnBGaWxlIiwiZGltZW5zaW9ucyIsImZpbGVCdWZmZXIiLCJleHQiLCJtaW1lIiwiZmlsZUhhc0FkanVzdG1lbnRzIiwiQm9vbGVhbiIsInRlbXBGaWxlUGF0aCIsInNoYXJwT3B0aW9ucyIsImFuaW1hdGVkIiwic2hhcnAiLCJyb3RhdGUiLCJyZXNpemUiLCJ0b0Zvcm1hdCIsImZvcm1hdCIsIm9wdGlvbnMiLCJ0cmltIiwiaXNJbWFnZSIsImdldEltYWdlU2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwibWV0YWRhdGEiLCJ0b0J1ZmZlciIsInJlc29sdmVXaXRoT2JqZWN0IiwiZnJvbUJ1ZmZlciIsImluZm8iLCJmaWxlc2l6ZSIsInNpemUiLCJwYWdlcyIsImxlbmd0aCIsIm5hbWUiLCJpbmNsdWRlcyIsInNwbGl0IiwicG9wIiwibWltZVR5cGUiLCJiYXNlRmlsZW5hbWUiLCJzYW5pdGl6ZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiZ2V0U2FmZUZpbGVOYW1lIiwiY29sbGVjdGlvblNsdWciLCJzbHVnIiwiZGVzaXJlZEZpbGVuYW1lIiwiZmlsZUZvclJlc2l6ZSIsImNyb3BwZWRJbWFnZSIsImNyb3BJbWFnZSIsInB1c2giLCJidWZmZXIiLCJmcyIsInByb21pc2VzIiwid3JpdGVGaWxlIiwiQXJyYXkiLCJpc0FycmF5IiwicGF5bG9hZFVwbG9hZFNpemVzIiwic2l6ZURhdGEiLCJzaXplc1RvU2F2ZSIsInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJzYXZlZEZpbGVuYW1lIiwic2l6ZXMiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUNhQTs7O2VBQUFBOzs7MEJBcENjOzJEQUNaOytEQUNJOzZEQUNGO3lFQUNJOzhEQUNIO3dCQU8yQjt1RUFDbEI7a0VBQ0w7c0VBQ0k7aUNBQ007cUVBQ1A7d0VBQ0c7cUVBQ2E7Z0VBQ3JCOzs7Ozs7QUFnQmIsTUFBTUEsbUJBQW1CLE9BQVUsRUFDeENDLFlBQVksRUFBRUMsUUFBUUMsZ0JBQWdCLEVBQUUsRUFDeENELE1BQU0sRUFDTkUsSUFBSSxFQUNKQyxzQkFBc0IsRUFDdEJDLEdBQUcsRUFDSEMsa0JBQWtCLEVBQ1Y7SUFDUixJQUFJLENBQUNKLGlCQUFpQkssTUFBTSxFQUFFO1FBQzVCLE9BQU87WUFDTEo7WUFDQUssT0FBTyxF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
@@ -3,25 +3,32 @@ import type { SanitizedCollectionConfig } from '../collections/config/types';
3
3
  import type { SanitizedConfig } from '../exports/config';
4
4
  import type { Field } from '../fields/config/types';
5
5
  import type { SanitizedGlobalConfig } from '../globals/config/types';
6
+ import type { Payload } from '../payload';
6
7
  /**
7
8
  * Returns a JSON Schema Type with 'null' added if the field is not required.
8
9
  */
9
10
  export declare function withNullableJSONSchemaType(fieldType: JSONSchema4TypeName, isRequired: boolean): JSONSchema4TypeName | JSONSchema4TypeName[];
10
- export declare function fieldsToJSONSchema(collectionIDFieldTypes: {
11
+ export declare function fieldsToJSONSchema(
12
+ /**
13
+ * Used for relationship fields, to determine whether to use a string or number type for the ID.
14
+ * While there is a default ID field type set by the db adapter, they can differ on a collection-level
15
+ * if they have custom ID fields.
16
+ */
17
+ collectionIDFieldTypes: {
11
18
  [key: string]: 'number' | 'string';
12
19
  }, fields: Field[],
13
20
  /**
14
21
  * Allows you to define new top-level interfaces that can be re-used in the output schema.
15
22
  */
16
- interfaceNameDefinitions: Map<string, JSONSchema4>): {
23
+ interfaceNameDefinitions: Map<string, JSONSchema4>, payload?: Payload): {
17
24
  properties: {
18
25
  [k: string]: JSONSchema4;
19
26
  };
20
27
  required: string[];
21
28
  };
22
- export declare function entityToJSONSchema(config: SanitizedConfig, incomingEntity: SanitizedCollectionConfig | SanitizedGlobalConfig, interfaceNameDefinitions: Map<string, JSONSchema4>, defaultIDType: 'number' | 'text'): JSONSchema4;
29
+ export declare function entityToJSONSchema(config: SanitizedConfig, incomingEntity: SanitizedCollectionConfig | SanitizedGlobalConfig, interfaceNameDefinitions: Map<string, JSONSchema4>, defaultIDType: 'number' | 'text', payload?: Payload): JSONSchema4;
23
30
  /**
24
31
  * This is used for generating the TypeScript types (payload-types.ts) with the payload generate:types command.
25
32
  */
26
- export declare function configToJSONSchema(config: SanitizedConfig, defaultIDType?: 'number' | 'text'): JSONSchema4;
33
+ export declare function configToJSONSchema(config: SanitizedConfig, defaultIDType?: 'number' | 'text', payload?: Payload): JSONSchema4;
27
34
  //# sourceMappingURL=configToJSONSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configToJSONSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/configToJSONSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAInE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AA4DpE;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,OAAO,GAClB,mBAAmB,GAAG,mBAAmB,EAAE,CAK7C;AAED,wBAAgB,kBAAkB,CAChC,sBAAsB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,EAC9D,MAAM,EAAE,KAAK,EAAE;AACf;;GAEG;AACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjD;IACD,UAAU,EAAE;QACV,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KACzB,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAwWA;AAGD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,yBAAyB,GAAG,qBAAqB,EACjE,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClD,aAAa,EAAE,QAAQ,GAAG,MAAM,GAC/B,WAAW,CA6Db;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,GAChC,WAAW,CA0Bb"}
1
+ {"version":3,"file":"configToJSONSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/configToJSONSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAInE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AA6DzC;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,OAAO,GAClB,mBAAmB,GAAG,mBAAmB,EAAE,CAK7C;AAED,wBAAgB,kBAAkB;AAChC;;;;GAIG;AACH,sBAAsB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,EAC9D,MAAM,EAAE,KAAK,EAAE;AACf;;GAEG;AACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClD,OAAO,CAAC,EAAE,OAAO,GAChB;IACD,UAAU,EAAE;QACV,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KACzB,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAmXA;AAGD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,yBAAyB,GAAG,qBAAqB,EACjE,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClD,aAAa,EAAE,QAAQ,GAAG,MAAM,EAChC,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CA8Cb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,EACjC,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAgCb"}