payload 3.0.0-alpha.4 → 3.0.0-alpha.40

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 (797) hide show
  1. package/auth.d.ts +5 -5
  2. package/auth.js +5 -44
  3. package/bin.js +17 -1
  4. package/components.d.ts +14 -0
  5. package/components.js +71 -0
  6. package/config.d.ts +10 -10
  7. package/config.js +10 -59
  8. package/database.d.ts +22 -22
  9. package/database.js +21 -108
  10. package/dist/admin/RichText.d.ts +9 -5
  11. package/dist/admin/RichText.d.ts.map +1 -1
  12. package/dist/admin/RichText.js +2 -5
  13. package/dist/admin/elements/Cell.d.ts +2 -2
  14. package/dist/admin/elements/Cell.d.ts.map +1 -1
  15. package/dist/admin/elements/Cell.js +2 -5
  16. package/dist/admin/elements/DatePicker.js +2 -5
  17. package/dist/admin/elements/PreviewButton.js +2 -5
  18. package/dist/admin/elements/PublishButton.js +2 -5
  19. package/dist/admin/elements/SaveButton.js +2 -5
  20. package/dist/admin/elements/SaveDraftButton.js +2 -5
  21. package/dist/admin/elements/Tab.d.ts +3 -3
  22. package/dist/admin/elements/Tab.d.ts.map +1 -1
  23. package/dist/admin/elements/Tab.js +2 -5
  24. package/dist/admin/forms/Error.js +2 -5
  25. package/dist/admin/forms/FieldDescription.js +2 -5
  26. package/dist/admin/forms/FieldTypes.js +2 -5
  27. package/dist/admin/forms/Form.d.ts +22 -0
  28. package/dist/admin/forms/Form.d.ts.map +1 -1
  29. package/dist/admin/forms/Form.js +2 -5
  30. package/dist/admin/forms/Label.js +2 -5
  31. package/dist/admin/forms/RowLabel.d.ts +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  33. package/dist/admin/forms/RowLabel.js +2 -5
  34. package/dist/admin/types.d.ts +19 -18
  35. package/dist/admin/types.d.ts.map +1 -1
  36. package/dist/admin/types.js +2 -5
  37. package/dist/admin/views/types.d.ts +41 -0
  38. package/dist/admin/views/types.d.ts.map +1 -0
  39. package/dist/admin/views/types.js +3 -0
  40. package/dist/assets/assets.d.js +0 -1
  41. package/dist/auth/baseFields/accountLock.d.ts +1 -1
  42. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  43. package/dist/auth/baseFields/accountLock.js +6 -16
  44. package/dist/auth/baseFields/apiKey.d.ts +1 -1
  45. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  46. package/dist/auth/baseFields/apiKey.js +6 -21
  47. package/dist/auth/baseFields/auth.d.ts +1 -1
  48. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  49. package/dist/auth/baseFields/auth.js +6 -16
  50. package/dist/auth/baseFields/verification.d.ts +1 -1
  51. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  52. package/dist/auth/baseFields/verification.js +8 -18
  53. package/dist/auth/cookies.d.ts +2 -2
  54. package/dist/auth/cookies.d.ts.map +1 -1
  55. package/dist/auth/cookies.js +6 -33
  56. package/dist/auth/crypto.js +7 -30
  57. package/dist/auth/defaultAccess.d.ts +1 -1
  58. package/dist/auth/defaultAccess.d.ts.map +1 -1
  59. package/dist/auth/defaultAccess.js +2 -12
  60. package/dist/auth/defaultUser.d.ts +1 -1
  61. package/dist/auth/defaultUser.d.ts.map +1 -1
  62. package/dist/auth/defaultUser.js +6 -16
  63. package/dist/auth/executeAccess.d.ts +2 -2
  64. package/dist/auth/executeAccess.d.ts.map +1 -1
  65. package/dist/auth/executeAccess.js +5 -15
  66. package/dist/auth/extractJWT.d.ts +1 -1
  67. package/dist/auth/extractJWT.d.ts.map +1 -1
  68. package/dist/auth/extractJWT.js +4 -14
  69. package/dist/auth/getAccessResults.d.ts +2 -2
  70. package/dist/auth/getAccessResults.d.ts.map +1 -1
  71. package/dist/auth/getAccessResults.js +9 -19
  72. package/dist/auth/getAuthenticatedUser.d.ts +1 -1
  73. package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
  74. package/dist/auth/getAuthenticatedUser.js +2 -12
  75. package/dist/auth/getFieldsToSign.d.ts +2 -2
  76. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  77. package/dist/auth/getFieldsToSign.js +5 -15
  78. package/dist/auth/index.d.ts +3 -3
  79. package/dist/auth/index.d.ts.map +1 -1
  80. package/dist/auth/index.js +4 -27
  81. package/dist/auth/isLocked.js +2 -12
  82. package/dist/auth/operations/access.d.ts +2 -2
  83. package/dist/auth/operations/access.d.ts.map +1 -1
  84. package/dist/auth/operations/access.js +12 -22
  85. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  86. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  87. package/dist/auth/operations/forgotPassword.js +21 -32
  88. package/dist/auth/operations/init.d.ts +1 -1
  89. package/dist/auth/operations/init.d.ts.map +1 -1
  90. package/dist/auth/operations/init.js +2 -12
  91. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  92. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  93. package/dist/auth/operations/local/forgotPassword.js +8 -18
  94. package/dist/auth/operations/local/index.d.ts +5 -5
  95. package/dist/auth/operations/local/index.d.ts.map +1 -1
  96. package/dist/auth/operations/local/index.js +12 -27
  97. package/dist/auth/operations/local/login.d.ts +4 -4
  98. package/dist/auth/operations/local/login.d.ts.map +1 -1
  99. package/dist/auth/operations/local/login.js +8 -18
  100. package/dist/auth/operations/local/resetPassword.d.ts +4 -4
  101. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  102. package/dist/auth/operations/local/resetPassword.js +8 -18
  103. package/dist/auth/operations/local/unlock.d.ts +3 -3
  104. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  105. package/dist/auth/operations/local/unlock.js +8 -18
  106. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  107. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  108. package/dist/auth/operations/local/verifyEmail.js +8 -18
  109. package/dist/auth/operations/login.d.ts +7 -7
  110. package/dist/auth/operations/login.d.ts.map +1 -1
  111. package/dist/auth/operations/login.js +32 -47
  112. package/dist/auth/operations/logout.d.ts +2 -2
  113. package/dist/auth/operations/logout.d.ts.map +1 -1
  114. package/dist/auth/operations/logout.js +6 -21
  115. package/dist/auth/operations/me.d.ts +3 -3
  116. package/dist/auth/operations/me.d.ts.map +1 -1
  117. package/dist/auth/operations/me.js +4 -19
  118. package/dist/auth/operations/refresh.d.ts +3 -3
  119. package/dist/auth/operations/refresh.d.ts.map +1 -1
  120. package/dist/auth/operations/refresh.js +19 -34
  121. package/dist/auth/operations/registerFirstUser.d.ts +9 -9
  122. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  123. package/dist/auth/operations/registerFirstUser.js +11 -21
  124. package/dist/auth/operations/resetPassword.d.ts +2 -2
  125. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  126. package/dist/auth/operations/resetPassword.js +21 -43
  127. package/dist/auth/operations/unlock.d.ts +2 -2
  128. package/dist/auth/operations/unlock.d.ts.map +1 -1
  129. package/dist/auth/operations/unlock.js +17 -39
  130. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  131. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  132. package/dist/auth/operations/verifyEmail.js +14 -37
  133. package/dist/auth/sendVerificationEmail.d.ts +5 -5
  134. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  135. package/dist/auth/sendVerificationEmail.js +4 -14
  136. package/dist/auth/strategies/apiKey.d.ts +2 -2
  137. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  138. package/dist/auth/strategies/apiKey.js +4 -19
  139. package/dist/auth/strategies/jwt.d.ts +1 -1
  140. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  141. package/dist/auth/strategies/jwt.js +6 -21
  142. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  143. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  144. package/dist/auth/strategies/local/authenticate.js +6 -21
  145. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  146. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
  147. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  148. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  149. package/dist/auth/strategies/local/register.d.ts +3 -3
  150. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  151. package/dist/auth/strategies/local/register.js +6 -16
  152. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
  153. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  154. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  155. package/dist/auth/types.d.ts +2 -2
  156. package/dist/auth/types.d.ts.map +1 -1
  157. package/dist/auth/types.js +2 -12
  158. package/dist/bin/generateTypes.d.ts +1 -1
  159. package/dist/bin/generateTypes.d.ts.map +1 -1
  160. package/dist/bin/generateTypes.js +10 -34
  161. package/dist/bin/index.d.ts +1 -1
  162. package/dist/bin/index.d.ts.map +1 -1
  163. package/dist/bin/index.js +25 -69
  164. package/dist/bin/loadEnv.js +13 -26
  165. package/dist/bin/migrate.d.ts +7 -1
  166. package/dist/bin/migrate.d.ts.map +1 -1
  167. package/dist/bin/migrate.js +12 -37
  168. package/dist/bin/register/clientExtensions.d.ts +2 -0
  169. package/dist/bin/register/clientExtensions.d.ts.map +1 -0
  170. package/dist/bin/register/clientExtensions.js +13 -0
  171. package/dist/bin/register/index.d.ts +34 -0
  172. package/dist/bin/register/index.d.ts.map +1 -0
  173. package/dist/bin/register/index.js +95 -0
  174. package/dist/bin/register/read-default-tsconfig.d.ts +4 -0
  175. package/dist/bin/register/read-default-tsconfig.d.ts.map +1 -0
  176. package/dist/bin/register/read-default-tsconfig.js +92 -0
  177. package/dist/bin/register/register.d.ts +15 -0
  178. package/dist/bin/register/register.d.ts.map +1 -0
  179. package/dist/bin/register/register.js +92 -0
  180. package/dist/collections/config/build.d.ts +1 -1
  181. package/dist/collections/config/build.d.ts.map +1 -1
  182. package/dist/collections/config/build.js +2 -12
  183. package/dist/collections/config/defaults.d.ts +5 -5
  184. package/dist/collections/config/defaults.js +9 -32
  185. package/dist/collections/config/sanitize.d.ts +2 -2
  186. package/dist/collections/config/sanitize.d.ts.map +1 -1
  187. package/dist/collections/config/sanitize.js +34 -49
  188. package/dist/collections/config/schema.js +157 -172
  189. package/dist/collections/config/types.d.ts +13 -13
  190. package/dist/collections/config/types.d.ts.map +1 -1
  191. package/dist/collections/config/types.js +2 -5
  192. package/dist/collections/dataloader.d.ts +2 -2
  193. package/dist/collections/dataloader.d.ts.map +1 -1
  194. package/dist/collections/dataloader.js +8 -23
  195. package/dist/collections/operations/create.d.ts +9 -9
  196. package/dist/collections/operations/create.d.ts.map +1 -1
  197. package/dist/collections/operations/create.js +38 -53
  198. package/dist/collections/operations/delete.d.ts +9 -10
  199. package/dist/collections/operations/delete.d.ts.map +1 -1
  200. package/dist/collections/operations/delete.js +27 -42
  201. package/dist/collections/operations/deleteByID.d.ts +2 -3
  202. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  203. package/dist/collections/operations/deleteByID.js +27 -42
  204. package/dist/collections/operations/docAccess.d.ts +3 -3
  205. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  206. package/dist/collections/operations/docAccess.js +12 -22
  207. package/dist/collections/operations/find.d.ts +3 -4
  208. package/dist/collections/operations/find.d.ts.map +1 -1
  209. package/dist/collections/operations/find.js +25 -40
  210. package/dist/collections/operations/findByID.d.ts +2 -2
  211. package/dist/collections/operations/findByID.d.ts.map +1 -1
  212. package/dist/collections/operations/findByID.js +21 -36
  213. package/dist/collections/operations/findVersionByID.d.ts +3 -3
  214. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  215. package/dist/collections/operations/findVersionByID.js +19 -34
  216. package/dist/collections/operations/findVersions.d.ts +4 -5
  217. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  218. package/dist/collections/operations/findVersions.js +20 -35
  219. package/dist/collections/operations/local/create.d.ts +4 -5
  220. package/dist/collections/operations/local/create.d.ts.map +1 -1
  221. package/dist/collections/operations/local/create.js +10 -25
  222. package/dist/collections/operations/local/delete.d.ts +5 -5
  223. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  224. package/dist/collections/operations/local/delete.js +10 -20
  225. package/dist/collections/operations/local/find.d.ts +3 -4
  226. package/dist/collections/operations/local/find.d.ts.map +1 -1
  227. package/dist/collections/operations/local/find.js +8 -18
  228. package/dist/collections/operations/local/findByID.d.ts +2 -4
  229. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  230. package/dist/collections/operations/local/findByID.js +8 -18
  231. package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
  232. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  233. package/dist/collections/operations/local/findVersionByID.js +8 -18
  234. package/dist/collections/operations/local/findVersions.d.ts +4 -5
  235. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  236. package/dist/collections/operations/local/findVersions.js +8 -18
  237. package/dist/collections/operations/local/index.d.ts +13 -13
  238. package/dist/collections/operations/local/index.d.ts.map +1 -1
  239. package/dist/collections/operations/local/index.js +20 -35
  240. package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
  241. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  242. package/dist/collections/operations/local/restoreVersion.js +8 -18
  243. package/dist/collections/operations/local/update.d.ts +4 -5
  244. package/dist/collections/operations/local/update.d.ts.map +1 -1
  245. package/dist/collections/operations/local/update.js +12 -27
  246. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  247. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  248. package/dist/collections/operations/restoreVersion.js +26 -41
  249. package/dist/collections/operations/update.d.ts +7 -8
  250. package/dist/collections/operations/update.d.ts.map +1 -1
  251. package/dist/collections/operations/update.js +43 -58
  252. package/dist/collections/operations/updateByID.d.ts +9 -9
  253. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  254. package/dist/collections/operations/updateByID.js +44 -59
  255. package/dist/collections/operations/utils.d.ts +12 -12
  256. package/dist/collections/operations/utils.d.ts.map +1 -1
  257. package/dist/collections/operations/utils.js +3 -12
  258. package/dist/config/build.d.ts +1 -1
  259. package/dist/config/build.d.ts.map +1 -1
  260. package/dist/config/build.js +9 -15
  261. package/dist/config/createClientConfig.d.ts +1243 -3
  262. package/dist/config/createClientConfig.d.ts.map +1 -1
  263. package/dist/config/createClientConfig.js +107 -72
  264. package/dist/config/defaults.d.ts +1 -1
  265. package/dist/config/defaults.d.ts.map +1 -1
  266. package/dist/config/defaults.js +4 -19
  267. package/dist/config/find.d.ts +1 -2
  268. package/dist/config/find.d.ts.map +1 -1
  269. package/dist/config/find.js +18 -34
  270. package/dist/config/load.d.ts +2 -2
  271. package/dist/config/load.d.ts.map +1 -1
  272. package/dist/config/load.js +17 -30
  273. package/dist/config/sanitize.d.ts +1 -1
  274. package/dist/config/sanitize.d.ts.map +1 -1
  275. package/dist/config/sanitize.js +25 -40
  276. package/dist/config/schema.d.ts.map +1 -1
  277. package/dist/config/schema.js +116 -133
  278. package/dist/config/shared/adminViewSchema.js +9 -24
  279. package/dist/config/shared/componentSchema.js +21 -50
  280. package/dist/config/types.d.ts +28 -34
  281. package/dist/config/types.d.ts.map +1 -1
  282. package/dist/config/types.js +9 -21
  283. package/dist/config/validate.d.ts +1 -1
  284. package/dist/config/validate.d.ts.map +1 -1
  285. package/dist/config/validate.js +15 -71
  286. package/dist/database/combineQueries.d.ts +1 -1
  287. package/dist/database/combineQueries.d.ts.map +1 -1
  288. package/dist/database/combineQueries.js +4 -14
  289. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  290. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  291. package/dist/database/createDatabaseAdapter.js +14 -24
  292. package/dist/database/flattenWhereToOperators.d.ts +1 -1
  293. package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
  294. package/dist/database/flattenWhereToOperators.js +2 -12
  295. package/dist/database/getLocalizedPaths.d.ts +3 -3
  296. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  297. package/dist/database/getLocalizedPaths.js +7 -22
  298. package/dist/database/migrations/createMigration.d.ts +1 -1
  299. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  300. package/dist/database/migrations/createMigration.js +7 -22
  301. package/dist/database/migrations/getMigrations.d.ts +2 -2
  302. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  303. package/dist/database/migrations/getMigrations.js +4 -12
  304. package/dist/database/migrations/migrate.d.ts +1 -1
  305. package/dist/database/migrations/migrate.d.ts.map +1 -1
  306. package/dist/database/migrations/migrate.js +12 -22
  307. package/dist/database/migrations/migrateDown.d.ts +1 -1
  308. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  309. package/dist/database/migrations/migrateDown.js +12 -22
  310. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  311. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  312. package/dist/database/migrations/migrateRefresh.js +16 -24
  313. package/dist/database/migrations/migrateReset.d.ts +1 -1
  314. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  315. package/dist/database/migrations/migrateReset.js +12 -22
  316. package/dist/database/migrations/migrateStatus.d.ts +1 -1
  317. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  318. package/dist/database/migrations/migrateStatus.js +8 -18
  319. package/dist/database/migrations/migrationTemplate.js +2 -12
  320. package/dist/database/migrations/migrationsCollection.d.ts +1 -1
  321. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  322. package/dist/database/migrations/migrationsCollection.js +2 -12
  323. package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
  324. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  325. package/dist/database/migrations/readMigrationFiles.js +17 -25
  326. package/dist/database/queryValidation/types.d.ts +2 -2
  327. package/dist/database/queryValidation/types.d.ts.map +1 -1
  328. package/dist/database/queryValidation/types.js +2 -5
  329. package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
  330. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  331. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  332. package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
  333. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  334. package/dist/database/queryValidation/validateSearchParams.js +17 -25
  335. package/dist/database/types.d.ts +11 -9
  336. package/dist/database/types.d.ts.map +1 -1
  337. package/dist/database/types.js +2 -5
  338. package/dist/email/build.d.ts +2 -2
  339. package/dist/email/build.d.ts.map +1 -1
  340. package/dist/email/build.js +11 -26
  341. package/dist/email/defaults.d.ts +1 -1
  342. package/dist/email/defaults.d.ts.map +1 -1
  343. package/dist/email/defaults.js +2 -12
  344. package/dist/email/mockHandler.d.ts +2 -2
  345. package/dist/email/mockHandler.d.ts.map +1 -1
  346. package/dist/email/mockHandler.js +8 -23
  347. package/dist/email/sendEmail.js +2 -12
  348. package/dist/email/types.js +2 -5
  349. package/dist/errors/APIError.js +4 -19
  350. package/dist/errors/AuthenticationError.d.ts +1 -1
  351. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  352. package/dist/errors/AuthenticationError.js +7 -22
  353. package/dist/errors/DuplicateCollection.d.ts +1 -1
  354. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  355. package/dist/errors/DuplicateCollection.js +4 -19
  356. package/dist/errors/DuplicateFieldName.d.ts +1 -1
  357. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  358. package/dist/errors/DuplicateFieldName.js +4 -19
  359. package/dist/errors/DuplicateGlobal.d.ts +2 -2
  360. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  361. package/dist/errors/DuplicateGlobal.js +4 -19
  362. package/dist/errors/ErrorDeletingFile.d.ts +1 -1
  363. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  364. package/dist/errors/ErrorDeletingFile.js +7 -22
  365. package/dist/errors/FileUploadError.d.ts +1 -1
  366. package/dist/errors/FileUploadError.d.ts.map +1 -1
  367. package/dist/errors/FileUploadError.js +7 -22
  368. package/dist/errors/Forbidden.d.ts +1 -1
  369. package/dist/errors/Forbidden.d.ts.map +1 -1
  370. package/dist/errors/Forbidden.js +7 -22
  371. package/dist/errors/InvalidConfiguration.d.ts +1 -1
  372. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  373. package/dist/errors/InvalidConfiguration.js +6 -21
  374. package/dist/errors/InvalidFieldName.d.ts +2 -2
  375. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  376. package/dist/errors/InvalidFieldName.js +4 -19
  377. package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
  378. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  379. package/dist/errors/InvalidFieldRelationship.js +4 -19
  380. package/dist/errors/InvalidSchema.d.ts +1 -1
  381. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  382. package/dist/errors/InvalidSchema.js +6 -21
  383. package/dist/errors/LockedAuth.d.ts +1 -1
  384. package/dist/errors/LockedAuth.d.ts.map +1 -1
  385. package/dist/errors/LockedAuth.js +7 -22
  386. package/dist/errors/MissingCollectionLabel.d.ts +1 -1
  387. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  388. package/dist/errors/MissingCollectionLabel.js +4 -19
  389. package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
  390. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  391. package/dist/errors/MissingFieldInputOptions.js +4 -19
  392. package/dist/errors/MissingFieldType.d.ts +2 -2
  393. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  394. package/dist/errors/MissingFieldType.js +6 -21
  395. package/dist/errors/MissingFile.d.ts +1 -1
  396. package/dist/errors/MissingFile.d.ts.map +1 -1
  397. package/dist/errors/MissingFile.js +7 -22
  398. package/dist/errors/NotFound.d.ts +1 -1
  399. package/dist/errors/NotFound.d.ts.map +1 -1
  400. package/dist/errors/NotFound.js +7 -22
  401. package/dist/errors/QueryError.d.ts +1 -1
  402. package/dist/errors/QueryError.d.ts.map +1 -1
  403. package/dist/errors/QueryError.js +6 -21
  404. package/dist/errors/TimestampsRequired.d.ts +2 -2
  405. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  406. package/dist/errors/TimestampsRequired.js +4 -19
  407. package/dist/errors/UnathorizedError.d.ts +1 -1
  408. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  409. package/dist/errors/UnathorizedError.js +7 -22
  410. package/dist/errors/ValidationError.d.ts +1 -1
  411. package/dist/errors/ValidationError.d.ts.map +1 -1
  412. package/dist/errors/ValidationError.js +8 -23
  413. package/dist/errors/index.d.ts +19 -19
  414. package/dist/errors/index.d.ts.map +1 -1
  415. package/dist/errors/index.js +20 -94
  416. package/dist/errors/types.d.ts +1 -1
  417. package/dist/errors/types.d.ts.map +1 -1
  418. package/dist/errors/types.js +2 -19
  419. package/dist/exports/auth.d.ts +5 -5
  420. package/dist/exports/auth.d.ts.map +1 -1
  421. package/dist/exports/auth.js +5 -44
  422. package/dist/exports/components/utilities.js +0 -1
  423. package/dist/exports/config.d.ts +10 -10
  424. package/dist/exports/config.d.ts.map +1 -1
  425. package/dist/exports/config.js +10 -59
  426. package/dist/exports/database.d.ts +22 -22
  427. package/dist/exports/database.d.ts.map +1 -1
  428. package/dist/exports/database.js +21 -108
  429. package/dist/exports/errors.d.ts +1 -1
  430. package/dist/exports/errors.d.ts.map +1 -1
  431. package/dist/exports/errors.js +2 -68
  432. package/dist/exports/fields/index.d.ts +2 -2
  433. package/dist/exports/fields/index.d.ts.map +1 -1
  434. package/dist/exports/fields/index.js +3 -26
  435. package/dist/exports/fields/validations.d.ts +1 -1
  436. package/dist/exports/fields/validations.d.ts.map +1 -1
  437. package/dist/exports/fields/validations.js +2 -19
  438. package/dist/exports/operations.d.ts +28 -28
  439. package/dist/exports/operations.d.ts.map +1 -1
  440. package/dist/exports/operations.js +29 -125
  441. package/dist/exports/types.d.ts +11 -11
  442. package/dist/exports/types.d.ts.map +1 -1
  443. package/dist/exports/types.js +4 -74
  444. package/dist/exports/utilities.d.ts +28 -27
  445. package/dist/exports/utilities.d.ts.map +1 -1
  446. package/dist/exports/utilities.js +29 -141
  447. package/dist/exports/versions.d.ts +9 -9
  448. package/dist/exports/versions.d.ts.map +1 -1
  449. package/dist/exports/versions.js +9 -45
  450. package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
  451. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  452. package/dist/fields/baseFields/baseBlockFields.js +6 -16
  453. package/dist/fields/baseFields/baseIDField.d.ts +1 -1
  454. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  455. package/dist/fields/baseFields/baseIDField.js +7 -21
  456. package/dist/fields/config/sanitize.d.ts +2 -2
  457. package/dist/fields/config/sanitize.d.ts.map +1 -1
  458. package/dist/fields/config/sanitize.js +28 -43
  459. package/dist/fields/config/sanitize.spec.js +25 -29
  460. package/dist/fields/config/schema.js +336 -431
  461. package/dist/fields/config/types.d.ts +5 -6
  462. package/dist/fields/config/types.d.ts.map +1 -1
  463. package/dist/fields/config/types.js +15 -69
  464. package/dist/fields/getDefaultValue.d.ts +1 -1
  465. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  466. package/dist/fields/getDefaultValue.js +2 -12
  467. package/dist/fields/hooks/afterChange/index.d.ts +3 -3
  468. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  469. package/dist/fields/hooks/afterChange/index.js +6 -16
  470. package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
  471. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  472. package/dist/fields/hooks/afterChange/promise.js +14 -22
  473. package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
  474. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  475. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  476. package/dist/fields/hooks/afterRead/index.d.ts +3 -3
  477. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  478. package/dist/fields/hooks/afterRead/index.js +6 -16
  479. package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
  480. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  481. package/dist/fields/hooks/afterRead/promise.js +28 -38
  482. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  483. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  484. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  485. package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
  486. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  487. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  488. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  489. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  490. package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
  491. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  492. package/dist/fields/hooks/beforeChange/index.js +8 -18
  493. package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
  494. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  495. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  496. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
  497. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  498. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  499. package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
  500. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  501. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  502. package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
  503. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  504. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  505. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
  506. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  507. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  508. package/dist/fields/mergeBaseFields.d.ts +1 -1
  509. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  510. package/dist/fields/mergeBaseFields.js +8 -23
  511. package/dist/fields/sortableFieldTypes.js +2 -12
  512. package/dist/fields/validations.d.ts +6 -6
  513. package/dist/fields/validations.d.ts.map +1 -1
  514. package/dist/fields/validations.js +31 -97
  515. package/dist/fields/validations.spec.js +93 -87
  516. package/dist/globals/config/sanitize.d.ts +2 -2
  517. package/dist/globals/config/sanitize.d.ts.map +1 -1
  518. package/dist/globals/config/sanitize.js +23 -34
  519. package/dist/globals/config/schema.js +55 -70
  520. package/dist/globals/config/types.d.ts +11 -11
  521. package/dist/globals/config/types.d.ts.map +1 -1
  522. package/dist/globals/config/types.js +2 -5
  523. package/dist/globals/operations/docAccess.d.ts +3 -3
  524. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  525. package/dist/globals/operations/docAccess.js +12 -22
  526. package/dist/globals/operations/findOne.d.ts +2 -2
  527. package/dist/globals/operations/findOne.d.ts.map +1 -1
  528. package/dist/globals/operations/findOne.js +14 -29
  529. package/dist/globals/operations/findVersionByID.d.ts +3 -3
  530. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  531. package/dist/globals/operations/findVersionByID.js +18 -33
  532. package/dist/globals/operations/findVersions.d.ts +4 -5
  533. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  534. package/dist/globals/operations/findVersions.js +20 -35
  535. package/dist/globals/operations/local/findOne.d.ts +2 -4
  536. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  537. package/dist/globals/operations/local/findOne.js +11 -21
  538. package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
  539. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  540. package/dist/globals/operations/local/findVersionByID.js +9 -19
  541. package/dist/globals/operations/local/findVersions.d.ts +4 -6
  542. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  543. package/dist/globals/operations/local/findVersions.js +9 -19
  544. package/dist/globals/operations/local/index.d.ts +5 -5
  545. package/dist/globals/operations/local/index.d.ts.map +1 -1
  546. package/dist/globals/operations/local/index.js +12 -27
  547. package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
  548. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  549. package/dist/globals/operations/local/restoreVersion.js +9 -19
  550. package/dist/globals/operations/local/update.d.ts +2 -4
  551. package/dist/globals/operations/local/update.d.ts.map +1 -1
  552. package/dist/globals/operations/local/update.js +9 -19
  553. package/dist/globals/operations/restoreVersion.d.ts +3 -3
  554. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  555. package/dist/globals/operations/restoreVersion.js +16 -31
  556. package/dist/globals/operations/update.d.ts +9 -9
  557. package/dist/globals/operations/update.d.ts.map +1 -1
  558. package/dist/globals/operations/update.js +23 -38
  559. package/dist/index.d.ts +29 -29
  560. package/dist/index.d.ts.map +1 -1
  561. package/dist/index.js +50 -71
  562. package/dist/localization/middleware.js +2 -12
  563. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  564. package/dist/preferences/deleteUserPreferences.d.ts +3 -3
  565. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  566. package/dist/preferences/deleteUserPreferences.js +2 -12
  567. package/dist/preferences/operations/delete.d.ts +2 -2
  568. package/dist/preferences/operations/delete.d.ts.map +1 -1
  569. package/dist/preferences/operations/delete.js +10 -25
  570. package/dist/preferences/operations/findOne.d.ts +2 -2
  571. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  572. package/dist/preferences/operations/findOne.js +2 -12
  573. package/dist/preferences/operations/update.d.ts +1 -1
  574. package/dist/preferences/operations/update.d.ts.map +1 -1
  575. package/dist/preferences/operations/update.js +8 -23
  576. package/dist/preferences/preferencesCollection.d.ts +2 -2
  577. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  578. package/dist/preferences/preferencesCollection.js +8 -18
  579. package/dist/preferences/requestHandlers/delete.d.ts +1 -1
  580. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  581. package/dist/preferences/requestHandlers/delete.js +6 -21
  582. package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
  583. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  584. package/dist/preferences/requestHandlers/findOne.js +6 -21
  585. package/dist/preferences/requestHandlers/update.d.ts +1 -1
  586. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  587. package/dist/preferences/requestHandlers/update.js +6 -21
  588. package/dist/preferences/types.d.ts +2 -2
  589. package/dist/preferences/types.d.ts.map +1 -1
  590. package/dist/preferences/types.js +2 -5
  591. package/dist/translations/extractTranslations.js +4 -14
  592. package/dist/translations/getLocalI18n.d.ts +1 -1
  593. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  594. package/dist/translations/getLocalI18n.js +5 -15
  595. package/dist/types/constants.js +2 -12
  596. package/dist/types/index.d.ts +8 -6
  597. package/dist/types/index.d.ts.map +1 -1
  598. package/dist/types/index.js +2 -12
  599. package/dist/uploads/canResizeImage.js +2 -12
  600. package/dist/uploads/cropImage.d.ts +3 -7
  601. package/dist/uploads/cropImage.d.ts.map +1 -1
  602. package/dist/uploads/cropImage.js +4 -28
  603. package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
  604. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  605. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  606. package/dist/uploads/docWithFilenameExists.d.ts +1 -1
  607. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  608. package/dist/uploads/docWithFilenameExists.js +2 -12
  609. package/dist/uploads/fileExists.js +4 -19
  610. package/dist/uploads/formatFilesize.js +2 -12
  611. package/dist/uploads/generateFileData.d.ts +4 -4
  612. package/dist/uploads/generateFileData.d.ts.map +1 -1
  613. package/dist/uploads/generateFileData.js +42 -55
  614. package/dist/uploads/getBaseFields.d.ts +3 -3
  615. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  616. package/dist/uploads/getBaseFields.js +6 -16
  617. package/dist/uploads/getExternalFile.d.ts +2 -2
  618. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  619. package/dist/uploads/getExternalFile.js +5 -15
  620. package/dist/uploads/getFileByPath.d.ts +1 -1
  621. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  622. package/dist/uploads/getFileByPath.js +11 -25
  623. package/dist/uploads/getImageSize.d.ts +3 -3
  624. package/dist/uploads/getImageSize.d.ts.map +1 -1
  625. package/dist/uploads/getImageSize.js +14 -22
  626. package/dist/uploads/getSafeFilename.d.ts +1 -1
  627. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  628. package/dist/uploads/getSafeFilename.js +8 -23
  629. package/dist/uploads/imageResizer.d.ts +6 -5
  630. package/dist/uploads/imageResizer.d.ts.map +1 -1
  631. package/dist/uploads/imageResizer.js +29 -44
  632. package/dist/uploads/isImage.js +2 -12
  633. package/dist/uploads/mimeTypeValidator.d.ts +1 -1
  634. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  635. package/dist/uploads/mimeTypeValidator.js +2 -12
  636. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  637. package/dist/uploads/saveBufferToFile.d.ts +1 -1
  638. package/dist/uploads/saveBufferToFile.js +6 -21
  639. package/dist/uploads/types.d.ts +8 -4
  640. package/dist/uploads/types.d.ts.map +1 -1
  641. package/dist/uploads/types.js +2 -5
  642. package/dist/uploads/unlinkTempFiles.d.ts +3 -3
  643. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  644. package/dist/uploads/unlinkTempFiles.js +9 -22
  645. package/dist/uploads/uploadFiles.d.ts +3 -3
  646. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  647. package/dist/uploads/uploadFiles.js +6 -21
  648. package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
  649. package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
  650. package/dist/utilities/checkDuplicateCollections.js +4 -14
  651. package/dist/utilities/combineMerge.js +4 -19
  652. package/dist/utilities/commitTransaction.d.ts +1 -1
  653. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  654. package/dist/utilities/commitTransaction.js +4 -12
  655. package/dist/utilities/configToJSONSchema.d.ts +12 -6
  656. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  657. package/dist/utilities/configToJSONSchema.js +82 -97
  658. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  659. package/dist/utilities/convertData.js +3 -23
  660. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  661. package/dist/utilities/createLocalReq.d.ts +3 -3
  662. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  663. package/dist/utilities/createLocalReq.js +7 -16
  664. package/dist/utilities/deepCopyObject.js +2 -12
  665. package/dist/utilities/deepMerge.js +2 -12
  666. package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
  667. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  668. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  669. package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
  670. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  671. package/dist/utilities/flattenTopLevelFields.js +6 -16
  672. package/dist/utilities/formatLabels.d.ts +2 -1
  673. package/dist/utilities/formatLabels.d.ts.map +1 -1
  674. package/dist/utilities/formatLabels.js +10 -70
  675. package/dist/utilities/formatLabels.spec.js +8 -12
  676. package/dist/utilities/getCSSVariable.js +2 -12
  677. package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
  678. package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
  679. package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
  680. package/dist/utilities/getEntityPolicies.d.ts +4 -4
  681. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  682. package/dist/utilities/getEntityPolicies.js +4 -14
  683. package/dist/utilities/getIDType.d.ts +2 -2
  684. package/dist/utilities/getIDType.d.ts.map +1 -1
  685. package/dist/utilities/getIDType.js +2 -12
  686. package/dist/utilities/getObjectDotNotation.js +2 -12
  687. package/dist/utilities/getUniqueListBy.js +2 -12
  688. package/dist/utilities/initTransaction.d.ts +1 -1
  689. package/dist/utilities/initTransaction.d.ts.map +1 -1
  690. package/dist/utilities/initTransaction.js +5 -12
  691. package/dist/utilities/isEntityHidden.d.ts +2 -2
  692. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  693. package/dist/utilities/isEntityHidden.js +2 -12
  694. package/dist/utilities/isNumber.js +2 -12
  695. package/dist/utilities/isPlainObject.d.ts +2 -0
  696. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  697. package/dist/utilities/isPlainObject.js +25 -0
  698. package/dist/utilities/isValidID.d.ts.map +1 -1
  699. package/dist/utilities/isValidID.js +6 -20
  700. package/dist/utilities/isolateObjectProperty.js +2 -12
  701. package/dist/utilities/killTransaction.d.ts +1 -1
  702. package/dist/utilities/killTransaction.d.ts.map +1 -1
  703. package/dist/utilities/killTransaction.js +4 -12
  704. package/dist/utilities/logger.d.ts +6 -6
  705. package/dist/utilities/logger.d.ts.map +1 -1
  706. package/dist/utilities/logger.js +18 -37
  707. package/dist/utilities/mapAsync.js +2 -12
  708. package/dist/utilities/overwriteMerge.js +2 -12
  709. package/dist/utilities/parseCookies.js +4 -14
  710. package/dist/utilities/sanitizeInternalFields.js +2 -12
  711. package/dist/utilities/setsAreEqual.js +2 -12
  712. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  713. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  714. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  715. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  716. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  717. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  718. package/dist/utilities/telemetry/index.d.ts +3 -3
  719. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  720. package/dist/utilities/telemetry/index.js +23 -41
  721. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  722. package/dist/utilities/timestamp.js +2 -12
  723. package/dist/utilities/toKebabCase.js +2 -12
  724. package/dist/utilities/wait.js +2 -12
  725. package/dist/utilities/wordBoundariesRegex.js +3 -13
  726. package/dist/versions/baseFields.d.ts +1 -1
  727. package/dist/versions/baseFields.d.ts.map +1 -1
  728. package/dist/versions/baseFields.js +7 -25
  729. package/dist/versions/buildCollectionFields.d.ts +2 -2
  730. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  731. package/dist/versions/buildCollectionFields.js +2 -12
  732. package/dist/versions/buildGlobalFields.d.ts +2 -2
  733. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  734. package/dist/versions/buildGlobalFields.js +12 -22
  735. package/dist/versions/deleteCollectionVersions.d.ts +3 -3
  736. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  737. package/dist/versions/deleteCollectionVersions.js +2 -12
  738. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
  739. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  740. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  741. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  742. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
  743. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  744. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  745. package/dist/versions/enforceMaxVersions.d.ts +3 -3
  746. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  747. package/dist/versions/enforceMaxVersions.js +2 -12
  748. package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
  749. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  750. package/dist/versions/getLatestCollectionVersion.js +4 -14
  751. package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
  752. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  753. package/dist/versions/getLatestGlobalVersion.js +5 -15
  754. package/dist/versions/getVersionsModelName.d.ts +2 -2
  755. package/dist/versions/getVersionsModelName.d.ts.map +1 -1
  756. package/dist/versions/getVersionsModelName.js +2 -12
  757. package/dist/versions/saveVersion.d.ts +4 -4
  758. package/dist/versions/saveVersion.d.ts.map +1 -1
  759. package/dist/versions/saveVersion.js +8 -23
  760. package/dist/versions/types.js +2 -5
  761. package/errors.d.ts +1 -1
  762. package/errors.js +2 -68
  763. package/graphql.d.ts +3 -0
  764. package/graphql.js +27 -0
  765. package/operations.d.ts +28 -28
  766. package/operations.js +29 -125
  767. package/package.json +10 -7
  768. package/types.d.ts +11 -11
  769. package/types.js +4 -74
  770. package/utilities.d.ts +28 -27
  771. package/utilities.js +29 -141
  772. package/versions.d.ts +9 -9
  773. package/versions.js +9 -45
  774. package/.eslintrc.js +0 -58
  775. package/dist/bundlers/mocks/db-mongodb.js +0 -3
  776. package/dist/bundlers/mocks/db-postgres.js +0 -13
  777. package/dist/bundlers/mocks/dotENV.js +0 -15
  778. package/dist/bundlers/mocks/emptyModule.js +0 -13
  779. package/dist/bundlers/mocks/fileMock.js +0 -13
  780. package/dist/bundlers/types.d.ts +0 -8
  781. package/dist/bundlers/types.d.ts.map +0 -1
  782. package/dist/bundlers/types.js +0 -6
  783. package/dist/config/clientFiles.d.ts +0 -2
  784. package/dist/config/clientFiles.d.ts.map +0 -1
  785. package/dist/config/clientFiles.js +0 -23
  786. package/dist/express/middleware/errorHandler.d.ts +0 -2
  787. package/dist/express/middleware/errorHandler.d.ts.map +0 -1
  788. package/dist/express/middleware/errorHandler.js +0 -3
  789. package/dist/express/middleware/index.d.ts +0 -2
  790. package/dist/express/middleware/index.d.ts.map +0 -1
  791. package/dist/express/middleware/index.js +0 -3
  792. package/dist/globals/config/build.d.ts +0 -2
  793. package/dist/globals/config/build.d.ts.map +0 -1
  794. package/dist/globals/config/build.js +0 -3
  795. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -2
  796. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
  797. package/dist/globals/graphql/resolvers/docAccess.js +0 -3
@@ -1,42 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "updateOperation", {
6
- enumerable: true,
7
- get: function() {
8
- return updateOperation;
9
- }
10
- });
11
- const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
12
- const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
13
- const _combineQueries = require("../../database/combineQueries");
14
- const _validateQueryPaths = require("../../database/queryValidation/validateQueryPaths");
15
- const _errors = require("../../errors");
16
- const _afterChange = require("../../fields/hooks/afterChange");
17
- const _afterRead = require("../../fields/hooks/afterRead");
18
- const _beforeChange = require("../../fields/hooks/beforeChange");
19
- const _beforeValidate = require("../../fields/hooks/beforeValidate");
20
- const _deleteAssociatedFiles = require("../../uploads/deleteAssociatedFiles");
21
- const _generateFileData = require("../../uploads/generateFileData");
22
- const _unlinkTempFiles = require("../../uploads/unlinkTempFiles");
23
- const _uploadFiles = require("../../uploads/uploadFiles");
24
- const _commitTransaction = require("../../utilities/commitTransaction");
25
- const _initTransaction = require("../../utilities/initTransaction");
26
- const _killTransaction = require("../../utilities/killTransaction");
27
- const _buildCollectionFields = require("../../versions/buildCollectionFields");
28
- const _appendVersionToQueryKey = require("../../versions/drafts/appendVersionToQueryKey");
29
- const _saveVersion = require("../../versions/saveVersion");
30
- const _utils = require("./utils");
31
- function _interop_require_default(obj) {
32
- return obj && obj.__esModule ? obj : {
33
- default: obj
34
- };
35
- }
36
- const updateOperation = async (incomingArgs)=>{
1
+ import httpStatus from 'http-status';
2
+ import executeAccess from '../../auth/executeAccess.js';
3
+ import { combineQueries } from '../../database/combineQueries.js';
4
+ import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
5
+ import { APIError } from '../../errors/index.js';
6
+ import { afterChange } from '../../fields/hooks/afterChange/index.js';
7
+ import { afterRead } from '../../fields/hooks/afterRead/index.js';
8
+ import { beforeChange } from '../../fields/hooks/beforeChange/index.js';
9
+ import { beforeValidate } from '../../fields/hooks/beforeValidate/index.js';
10
+ import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js';
11
+ import { generateFileData } from '../../uploads/generateFileData.js';
12
+ import { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js';
13
+ import { uploadFiles } from '../../uploads/uploadFiles.js';
14
+ import { commitTransaction } from '../../utilities/commitTransaction.js';
15
+ import { initTransaction } from '../../utilities/initTransaction.js';
16
+ import { killTransaction } from '../../utilities/killTransaction.js';
17
+ import { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js';
18
+ import { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js';
19
+ import { saveVersion } from '../../versions/saveVersion.js';
20
+ import { buildAfterOperation } from './utils.js';
21
+ export const updateOperation = async (incomingArgs)=>{
37
22
  let args = incomingArgs;
38
23
  try {
39
- const shouldCommit = await (0, _initTransaction.initTransaction)(args.req);
24
+ const shouldCommit = await initTransaction(args.req);
40
25
  // /////////////////////////////////////
41
26
  // beforeOperation - Collection
42
27
  // /////////////////////////////////////
@@ -52,7 +37,7 @@ const updateOperation = async (incomingArgs)=>{
52
37
  }, Promise.resolve());
53
38
  const { collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload: { config }, payload }, req, showHiddenFields, where } = args;
54
39
  if (!where) {
55
- throw new _errors.APIError("Missing 'where' query of documents to update.", _httpstatus.default.BAD_REQUEST);
40
+ throw new APIError("Missing 'where' query of documents to update.", httpStatus.BAD_REQUEST);
56
41
  }
57
42
  const { data: bulkUpdateData } = args;
58
43
  const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts);
@@ -61,11 +46,11 @@ const updateOperation = async (incomingArgs)=>{
61
46
  // /////////////////////////////////////
62
47
  let accessResult;
63
48
  if (!overrideAccess) {
64
- accessResult = await (0, _executeAccess.default)({
49
+ accessResult = await executeAccess({
65
50
  req
66
51
  }, collectionConfig.access.update);
67
52
  }
68
- await (0, _validateQueryPaths.validateQueryPaths)({
53
+ await validateQueryPaths({
69
54
  collectionConfig,
70
55
  overrideAccess,
71
56
  req,
@@ -74,15 +59,15 @@ const updateOperation = async (incomingArgs)=>{
74
59
  // /////////////////////////////////////
75
60
  // Retrieve documents
76
61
  // /////////////////////////////////////
77
- const fullWhere = (0, _combineQueries.combineQueries)(where, accessResult);
62
+ const fullWhere = combineQueries(where, accessResult);
78
63
  let docs;
79
64
  if (collectionConfig.versions?.drafts && shouldSaveDraft) {
80
- const versionsWhere = (0, _appendVersionToQueryKey.appendVersionToQueryKey)(fullWhere);
81
- await (0, _validateQueryPaths.validateQueryPaths)({
65
+ const versionsWhere = appendVersionToQueryKey(fullWhere);
66
+ await validateQueryPaths({
82
67
  collectionConfig: collection.config,
83
68
  overrideAccess,
84
69
  req,
85
- versionFields: (0, _buildCollectionFields.buildVersionCollectionFields)(collection.config),
70
+ versionFields: buildVersionCollectionFields(collection.config),
86
71
  where: versionsWhere
87
72
  });
88
73
  const query = await payload.db.queryDrafts({
@@ -106,7 +91,7 @@ const updateOperation = async (incomingArgs)=>{
106
91
  // /////////////////////////////////////
107
92
  // Generate data for all files and sizes
108
93
  // /////////////////////////////////////
109
- const { data: newFileData, files: filesToUpload } = await (0, _generateFileData.generateFileData)({
94
+ const { data: newFileData, files: filesToUpload } = await generateFileData({
110
95
  collection,
111
96
  config,
112
97
  data: bulkUpdateData,
@@ -122,7 +107,7 @@ const updateOperation = async (incomingArgs)=>{
122
107
  ...bulkUpdateData
123
108
  };
124
109
  try {
125
- const originalDoc = await (0, _afterRead.afterRead)({
110
+ const originalDoc = await afterRead({
126
111
  collection: collectionConfig,
127
112
  context: req.context,
128
113
  depth: 0,
@@ -134,7 +119,7 @@ const updateOperation = async (incomingArgs)=>{
134
119
  req,
135
120
  showHiddenFields: true
136
121
  });
137
- await (0, _deleteAssociatedFiles.deleteAssociatedFiles)({
122
+ await deleteAssociatedFiles({
138
123
  collectionConfig,
139
124
  config,
140
125
  doc,
@@ -145,7 +130,7 @@ const updateOperation = async (incomingArgs)=>{
145
130
  // /////////////////////////////////////
146
131
  // beforeValidate - Fields
147
132
  // /////////////////////////////////////
148
- data = await (0, _beforeValidate.beforeValidate)({
133
+ data = await beforeValidate({
149
134
  id,
150
135
  collection: collectionConfig,
151
136
  context: req.context,
@@ -174,7 +159,7 @@ const updateOperation = async (incomingArgs)=>{
174
159
  // Write files to local storage
175
160
  // /////////////////////////////////////
176
161
  if (!collectionConfig.upload.disableLocalStorage) {
177
- await (0, _uploadFiles.uploadFiles)(payload, filesToUpload, req);
162
+ await uploadFiles(payload, filesToUpload, req);
178
163
  }
179
164
  // /////////////////////////////////////
180
165
  // beforeChange - Collection
@@ -193,7 +178,7 @@ const updateOperation = async (incomingArgs)=>{
193
178
  // /////////////////////////////////////
194
179
  // beforeChange - Fields
195
180
  // /////////////////////////////////////
196
- let result = await (0, _beforeChange.beforeChange)({
181
+ let result = await beforeChange({
197
182
  id,
198
183
  collection: collectionConfig,
199
184
  context: req.context,
@@ -221,7 +206,7 @@ const updateOperation = async (incomingArgs)=>{
221
206
  // Create version
222
207
  // /////////////////////////////////////
223
208
  if (collectionConfig.versions) {
224
- result = await (0, _saveVersion.saveVersion)({
209
+ result = await saveVersion({
225
210
  id,
226
211
  collection: collectionConfig,
227
212
  docWithLocales: {
@@ -236,7 +221,7 @@ const updateOperation = async (incomingArgs)=>{
236
221
  // /////////////////////////////////////
237
222
  // afterRead - Fields
238
223
  // /////////////////////////////////////
239
- result = await (0, _afterRead.afterRead)({
224
+ result = await afterRead({
240
225
  collection: collectionConfig,
241
226
  context: req.context,
242
227
  depth,
@@ -263,7 +248,7 @@ const updateOperation = async (incomingArgs)=>{
263
248
  // /////////////////////////////////////
264
249
  // afterChange - Fields
265
250
  // /////////////////////////////////////
266
- result = await (0, _afterChange.afterChange)({
251
+ result = await afterChange({
267
252
  collection: collectionConfig,
268
253
  context: req.context,
269
254
  data,
@@ -287,7 +272,7 @@ const updateOperation = async (incomingArgs)=>{
287
272
  req
288
273
  }) || result;
289
274
  }, Promise.resolve());
290
- await (0, _unlinkTempFiles.unlinkTempFiles)({
275
+ await unlinkTempFiles({
291
276
  collectionConfig,
292
277
  config,
293
278
  req
@@ -312,18 +297,18 @@ const updateOperation = async (incomingArgs)=>{
312
297
  // /////////////////////////////////////
313
298
  // afterOperation - Collection
314
299
  // /////////////////////////////////////
315
- result = await (0, _utils.buildAfterOperation)({
300
+ result = await buildAfterOperation({
316
301
  args,
317
302
  collection: collectionConfig,
318
303
  operation: 'update',
319
304
  result
320
305
  });
321
- if (shouldCommit) await (0, _commitTransaction.commitTransaction)(req);
306
+ if (shouldCommit) await commitTransaction(req);
322
307
  return result;
323
308
  } catch (error) {
324
- await (0, _killTransaction.killTransaction)(args.req);
309
+ await killTransaction(args.req);
325
310
  throw error;
326
311
  }
327
312
  };
328
313
 
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3VwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsIH0gZnJvbSAndHMtZXNzZW50aWFscydcblxuaW1wb3J0IGh0dHBTdGF0dXMgZnJvbSAnaHR0cC1zdGF0dXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMgfSBmcm9tICcuLi8uLi8nXG5pbXBvcnQgdHlwZSB7IEFjY2Vzc1Jlc3VsdCB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVsa09wZXJhdGlvblJlc3VsdCwgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQ3JlYXRlVXBkYXRlVHlwZSB9IGZyb20gJy4vY3JlYXRlJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvcXVlcnlWYWxpZGF0aW9uL3ZhbGlkYXRlUXVlcnlQYXRocydcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZSdcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMnXG5pbXBvcnQgeyBnZW5lcmF0ZUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZW5lcmF0ZUZpbGVEYXRhJ1xuaW1wb3J0IHsgdW5saW5rVGVtcEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91bmxpbmtUZW1wRmlsZXMnXG5pbXBvcnQgeyB1cGxvYWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdXBsb2FkRmlsZXMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2J1aWxkQ29sbGVjdGlvbkZpZWxkcydcbmltcG9ydCB7IGFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5IH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZHJhZnRzL2FwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5J1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbidcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIENyZWF0ZVVwZGF0ZVR5cGU+ID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IERlZXBQYXJ0aWFsPFQ+XG4gIGRlcHRoPzogbnVtYmVyXG4gIGRpc2FibGVWZXJpZmljYXRpb25FbWFpbD86IGJvb2xlYW5cbiAgZHJhZnQ/OiBib29sZWFuXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG4gIHdoZXJlOiBXaGVyZVxufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlT3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFRTbHVnPj4gPT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICB9KSkgfHwgYXJnc1xuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aCxcbiAgICAgIGRyYWZ0OiBkcmFmdEFyZyA9IGZhbHNlLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gZmFsc2UsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcgfSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0sXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgd2hlcmUsXG4gICAgfSA9IGFyZ3NcblxuICAgIGlmICghd2hlcmUpIHtcbiAgICAgIHRocm93IG5ldyBBUElFcnJvcihcIk1pc3NpbmcgJ3doZXJlJyBxdWVyeSBvZiBkb2N1bWVudHMgdG8gdXBkYXRlLlwiLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGF0YTogYnVsa1VwZGF0ZURhdGEgfSA9IGFyZ3NcbiAgICBjb25zdCBzaG91bGRTYXZlRHJhZnQgPSBCb29sZWFuKGRyYWZ0QXJnICYmIGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnMuZHJhZnRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGxldCBhY2Nlc3NSZXN1bHQ6IEFjY2Vzc1Jlc3VsdFxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MudXBkYXRlKVxuICAgIH1cblxuICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgICB3aGVyZSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGZ1bGxXaGVyZSA9IGNvbWJpbmVRdWVyaWVzKHdoZXJlLCBhY2Nlc3NSZXN1bHQpXG5cbiAgICBsZXQgZG9jc1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnM/LmRyYWZ0cyAmJiBzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zV2hlcmUgPSBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleShmdWxsV2hlcmUpXG5cbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWc6IGNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcmVxLFxuICAgICAgICB2ZXJzaW9uRmllbGRzOiBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24uY29uZmlnKSxcbiAgICAgICAgd2hlcmU6IHZlcnNpb25zV2hlcmUsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBxdWVyeSA9IGF3YWl0IHBheWxvYWQuZGIucXVlcnlEcmFmdHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlOiB2ZXJzaW9uc1doZXJlLFxuICAgICAgfSlcblxuICAgICAgZG9jcyA9IHF1ZXJ5LmRvY3NcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmQoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGxpbWl0OiAwLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlOiBmdWxsV2hlcmUsXG4gICAgICB9KVxuXG4gICAgICBkb2NzID0gcXVlcnkuZG9jc1xuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBHZW5lcmF0ZSBkYXRhIGZvciBhbGwgZmlsZXMgYW5kIHNpemVzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkYXRhOiBuZXdGaWxlRGF0YSwgZmlsZXM6IGZpbGVzVG9VcGxvYWQgfSA9IGF3YWl0IGdlbmVyYXRlRmlsZURhdGEoe1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRhdGE6IGJ1bGtVcGRhdGVEYXRhLFxuICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyxcbiAgICAgIHJlcSxcbiAgICAgIHRocm93T25NaXNzaW5nRmlsZTogZmFsc2UsXG4gICAgfSlcblxuICAgIGNvbnN0IGVycm9ycyA9IFtdXG5cbiAgICBjb25zdCBwcm9taXNlcyA9IGRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgIGNvbnN0IHsgaWQgfSA9IGRvY1xuICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgIC4uLm5ld0ZpbGVEYXRhLFxuICAgICAgICAuLi5idWxrVXBkYXRlRGF0YSxcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxEb2MgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgZG9jLFxuICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkb2MsXG4gICAgICAgICAgZmlsZXM6IGZpbGVzVG9VcGxvYWQsXG4gICAgICAgICAgb3ZlcnJpZGVEZWxldGU6IGZhbHNlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBkYXRhID0gYXdhaXQgYmVmb3JlVmFsaWRhdGU8RGVlcFBhcnRpYWw8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPj4oe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gQ29sbGVjdGlvblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVWYWxpZGF0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgICAgZGF0YSA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgfSkpIHx8IGRhdGFcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBXcml0ZSBmaWxlcyB0byBsb2NhbCBzdG9yYWdlXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICBhd2FpdCB1cGxvYWRGaWxlcyhwYXlsb2FkLCBmaWxlc1RvVXBsb2FkLCByZXEpXG4gICAgICAgIH1cblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZUNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYmVmb3JlQ2hhbmdlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICBkYXRhID1cbiAgICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgIG9yaWdpbmFsRG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgZGF0YVxuICAgICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZUNoYW5nZSAtIEZpZWxkc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IGJlZm9yZUNoYW5nZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICBkb2NXaXRoTG9jYWxlczogZG9jLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBza2lwVmFsaWRhdGlvbjogc2hvdWxkU2F2ZURyYWZ0IHx8IGRhdGEuX3N0YXR1cyA9PT0gJ2RyYWZ0JyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIFVwZGF0ZVxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgaWYgKCFzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgICAgICByZXN1bHQgPSBhd2FpdCByZXEucGF5bG9hZC5kYi51cGRhdGVPbmUoe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gQ3JlYXRlIHZlcnNpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICAgICAgcmVzdWx0ID0gYXdhaXQgc2F2ZVZlcnNpb24oe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgZG9jV2l0aExvY2FsZXM6IHtcbiAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICBjcmVhdGVkQXQ6IGRvYy5jcmVhdGVkQXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZHJhZnQ6IHNob3VsZFNhdmVEcmFmdCxcbiAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYWZ0ZXJSZWFkIC0gRmllbGRzXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICByZXN1bHQgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IG51bGwsXG4gICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGFmdGVyUmVhZCAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJDaGFuZ2U8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJlc3VsdCA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgcHJldmlvdXNEb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGF3YWl0IHVubGlua1RlbXBGaWxlcyh7XG4gICAgICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gUmV0dXJuIHJlc3VsdHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9KVxuXG4gICAgY29uc3QgYXdhaXRlZERvY3MgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcblxuICAgIGxldCByZXN1bHQgPSB7XG4gICAgICBkb2NzOiBhd2FpdGVkRG9jcy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICBlcnJvcnMsXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGJ1aWxkQWZ0ZXJPcGVyYXRpb248R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBhcmdzLFxuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZU9wZXJhdGlvbiIsImluY29taW5nQXJncyIsImFyZ3MiLCJzaG91bGRDb21taXQiLCJpbml0VHJhbnNhY3Rpb24iLCJyZXEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiaG9va3MiLCJiZWZvcmVPcGVyYXRpb24iLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJob29rIiwiY29udGV4dCIsIm9wZXJhdGlvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwiZHJhZnQiLCJkcmFmdEFyZyIsIm92ZXJyaWRlQWNjZXNzIiwib3ZlcndyaXRlRXhpc3RpbmdGaWxlcyIsImZhbGxiYWNrTG9jYWxlIiwibG9jYWxlIiwicGF5bG9hZCIsInNob3dIaWRkZW5GaWVsZHMiLCJ3aGVyZSIsIkFQSUVycm9yIiwiaHR0cFN0YXR1cyIsIkJBRF9SRVFVRVNUIiwiZGF0YSIsImJ1bGtVcGRhdGVEYXRhIiwic2hvdWxkU2F2ZURyYWZ0IiwiQm9vbGVhbiIsInZlcnNpb25zIiwiZHJhZnRzIiwiYWNjZXNzUmVzdWx0IiwiZXhlY3V0ZUFjY2VzcyIsImFjY2VzcyIsInVwZGF0ZSIsInZhbGlkYXRlUXVlcnlQYXRocyIsImZ1bGxXaGVyZSIsImNvbWJpbmVRdWVyaWVzIiwiZG9jcyIsInZlcnNpb25zV2hlcmUiLCJhcHBlbmRWZXJzaW9uVG9RdWVyeUtleSIsInZlcnNpb25GaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwicXVlcnkiLCJkYiIsInF1ZXJ5RHJhZnRzIiwic2x1ZyIsImZpbmQiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJuZXdGaWxlRGF0YSIsImZpbGVzIiwiZmlsZXNUb1VwbG9hZCIsImdlbmVyYXRlRmlsZURhdGEiLCJ0aHJvd09uTWlzc2luZ0ZpbGUiLCJlcnJvcnMiLCJwcm9taXNlcyIsIm1hcCIsImRvYyIsImlkIiwib3JpZ2luYWxEb2MiLCJhZnRlclJlYWQiLCJnbG9iYWwiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJvdmVycmlkZURlbGV0ZSIsImJlZm9yZVZhbGlkYXRlIiwidXBsb2FkIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInVwbG9hZEZpbGVzIiwiYmVmb3JlQ2hhbmdlIiwicmVzdWx0IiwiZG9jV2l0aExvY2FsZXMiLCJza2lwVmFsaWRhdGlvbiIsIl9zdGF0dXMiLCJ1cGRhdGVPbmUiLCJzYXZlVmVyc2lvbiIsImNyZWF0ZWRBdCIsImFmdGVyQ2hhbmdlIiwicHJldmlvdXNEb2MiLCJ1bmxpbmtUZW1wRmlsZXMiLCJlcnJvciIsInB1c2giLCJtZXNzYWdlIiwiYXdhaXRlZERvY3MiLCJhbGwiLCJmaWx0ZXIiLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iXSwibWFw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
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3VwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlZXBQYXJ0aWFsIH0gZnJvbSAndHMtZXNzZW50aWFscydcblxuaW1wb3J0IGh0dHBTdGF0dXMgZnJvbSAnaHR0cC1zdGF0dXMnXG5cbmltcG9ydCB0eXBlIHsgQWNjZXNzUmVzdWx0IH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcy9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgQnVsa09wZXJhdGlvblJlc3VsdCwgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQ3JlYXRlVXBkYXRlVHlwZSB9IGZyb20gJy4vY3JlYXRlLmpzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzLmpzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvcXVlcnlWYWxpZGF0aW9uL3ZhbGlkYXRlUXVlcnlQYXRocy5qcydcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2luZGV4LmpzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZS9pbmRleC5qcydcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlL2luZGV4LmpzJ1xuaW1wb3J0IHsgZGVsZXRlQXNzb2NpYXRlZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9kZWxldGVBc3NvY2lhdGVkRmlsZXMuanMnXG5pbXBvcnQgeyBnZW5lcmF0ZUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZW5lcmF0ZUZpbGVEYXRhLmpzJ1xuaW1wb3J0IHsgdW5saW5rVGVtcEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91bmxpbmtUZW1wRmlsZXMuanMnXG5pbXBvcnQgeyB1cGxvYWRGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdXBsb2FkRmlsZXMuanMnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2J1aWxkQ29sbGVjdGlvbkZpZWxkcy5qcydcbmltcG9ydCB7IGFwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5IH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvZHJhZnRzL2FwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5LmpzJ1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbi5qcydcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzLmpzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIENyZWF0ZVVwZGF0ZVR5cGU+ID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IERlZXBQYXJ0aWFsPFQ+XG4gIGRlcHRoPzogbnVtYmVyXG4gIGRpc2FibGVWZXJpZmljYXRpb25FbWFpbD86IGJvb2xlYW5cbiAgZHJhZnQ/OiBib29sZWFuXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG4gIHdoZXJlOiBXaGVyZVxufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlT3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFRTbHVnPj4gPT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICB9KSkgfHwgYXJnc1xuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aCxcbiAgICAgIGRyYWZ0OiBkcmFmdEFyZyA9IGZhbHNlLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gZmFsc2UsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcgfSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0sXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgd2hlcmUsXG4gICAgfSA9IGFyZ3NcblxuICAgIGlmICghd2hlcmUpIHtcbiAgICAgIHRocm93IG5ldyBBUElFcnJvcihcIk1pc3NpbmcgJ3doZXJlJyBxdWVyeSBvZiBkb2N1bWVudHMgdG8gdXBkYXRlLlwiLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIH1cblxuICAgIGNvbnN0IHsgZGF0YTogYnVsa1VwZGF0ZURhdGEgfSA9IGFyZ3NcbiAgICBjb25zdCBzaG91bGRTYXZlRHJhZnQgPSBCb29sZWFuKGRyYWZ0QXJnICYmIGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnMuZHJhZnRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGxldCBhY2Nlc3NSZXN1bHQ6IEFjY2Vzc1Jlc3VsdFxuICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgIGFjY2Vzc1Jlc3VsdCA9IGF3YWl0IGV4ZWN1dGVBY2Nlc3MoeyByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MudXBkYXRlKVxuICAgIH1cblxuICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgICB3aGVyZSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGZ1bGxXaGVyZSA9IGNvbWJpbmVRdWVyaWVzKHdoZXJlLCBhY2Nlc3NSZXN1bHQpXG5cbiAgICBsZXQgZG9jc1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcudmVyc2lvbnM/LmRyYWZ0cyAmJiBzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zV2hlcmUgPSBhcHBlbmRWZXJzaW9uVG9RdWVyeUtleShmdWxsV2hlcmUpXG5cbiAgICAgIGF3YWl0IHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgIGNvbGxlY3Rpb25Db25maWc6IGNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcmVxLFxuICAgICAgICB2ZXJzaW9uRmllbGRzOiBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24uY29uZmlnKSxcbiAgICAgICAgd2hlcmU6IHZlcnNpb25zV2hlcmUsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBxdWVyeSA9IGF3YWl0IHBheWxvYWQuZGIucXVlcnlEcmFmdHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlOiB2ZXJzaW9uc1doZXJlLFxuICAgICAgfSlcblxuICAgICAgZG9jcyA9IHF1ZXJ5LmRvY3NcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBwYXlsb2FkLmRiLmZpbmQoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGxpbWl0OiAwLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlOiBmdWxsV2hlcmUsXG4gICAgICB9KVxuXG4gICAgICBkb2NzID0gcXVlcnkuZG9jc1xuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBHZW5lcmF0ZSBkYXRhIGZvciBhbGwgZmlsZXMgYW5kIHNpemVzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgeyBkYXRhOiBuZXdGaWxlRGF0YSwgZmlsZXM6IGZpbGVzVG9VcGxvYWQgfSA9IGF3YWl0IGdlbmVyYXRlRmlsZURhdGEoe1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRhdGE6IGJ1bGtVcGRhdGVEYXRhLFxuICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyxcbiAgICAgIHJlcSxcbiAgICAgIHRocm93T25NaXNzaW5nRmlsZTogZmFsc2UsXG4gICAgfSlcblxuICAgIGNvbnN0IGVycm9ycyA9IFtdXG5cbiAgICBjb25zdCBwcm9taXNlcyA9IGRvY3MubWFwKGFzeW5jIChkb2MpID0+IHtcbiAgICAgIGNvbnN0IHsgaWQgfSA9IGRvY1xuICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgIC4uLm5ld0ZpbGVEYXRhLFxuICAgICAgICAuLi5idWxrVXBkYXRlRGF0YSxcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxEb2MgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgZG9jLFxuICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXdhaXQgZGVsZXRlQXNzb2NpYXRlZEZpbGVzKHtcbiAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBkb2MsXG4gICAgICAgICAgZmlsZXM6IGZpbGVzVG9VcGxvYWQsXG4gICAgICAgICAgb3ZlcnJpZGVEZWxldGU6IGZhbHNlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBkYXRhID0gYXdhaXQgYmVmb3JlVmFsaWRhdGU8RGVlcFBhcnRpYWw8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPj4oe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gQ29sbGVjdGlvblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVWYWxpZGF0ZS5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgICAgZGF0YSA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgfSkpIHx8IGRhdGFcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBXcml0ZSBmaWxlcyB0byBsb2NhbCBzdG9yYWdlXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICBhd2FpdCB1cGxvYWRGaWxlcyhwYXlsb2FkLCBmaWxlc1RvVXBsb2FkLCByZXEpXG4gICAgICAgIH1cblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZUNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYmVmb3JlQ2hhbmdlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICBkYXRhID1cbiAgICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgIG9yaWdpbmFsRG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgZGF0YVxuICAgICAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGJlZm9yZUNoYW5nZSAtIEZpZWxkc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IGJlZm9yZUNoYW5nZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICBkb2NXaXRoTG9jYWxlczogZG9jLFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBza2lwVmFsaWRhdGlvbjogc2hvdWxkU2F2ZURyYWZ0IHx8IGRhdGEuX3N0YXR1cyA9PT0gJ2RyYWZ0JyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIFVwZGF0ZVxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgaWYgKCFzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgICAgICByZXN1bHQgPSBhd2FpdCByZXEucGF5bG9hZC5kYi51cGRhdGVPbmUoe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gQ3JlYXRlIHZlcnNpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICAgICAgcmVzdWx0ID0gYXdhaXQgc2F2ZVZlcnNpb24oe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgZG9jV2l0aExvY2FsZXM6IHtcbiAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICBjcmVhdGVkQXQ6IGRvYy5jcmVhdGVkQXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZHJhZnQ6IHNob3VsZFNhdmVEcmFmdCxcbiAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gYWZ0ZXJSZWFkIC0gRmllbGRzXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICByZXN1bHQgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IG51bGwsXG4gICAgICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vIGFmdGVyUmVhZCAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgICByZXN1bHQgPVxuICAgICAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgICAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgYWZ0ZXJDaGFuZ2U8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICAgIHJlc3VsdCA9XG4gICAgICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgcHJldmlvdXNEb2M6IG9yaWdpbmFsRG9jLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KSkgfHwgcmVzdWx0XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGF3YWl0IHVubGlua1RlbXBGaWxlcyh7XG4gICAgICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy8gUmV0dXJuIHJlc3VsdHNcbiAgICAgICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9KVxuXG4gICAgY29uc3QgYXdhaXRlZERvY3MgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcblxuICAgIGxldCByZXN1bHQgPSB7XG4gICAgICBkb2NzOiBhd2FpdGVkRG9jcy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICBlcnJvcnMsXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGJ1aWxkQWZ0ZXJPcGVyYXRpb248R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBhcmdzLFxuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImh0dHBTdGF0dXMiLCJleGVjdXRlQWNjZXNzIiwiY29tYmluZVF1ZXJpZXMiLCJ2YWxpZGF0ZVF1ZXJ5UGF0aHMiLCJBUElFcnJvciIsImFmdGVyQ2hhbmdlIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlVmFsaWRhdGUiLCJkZWxldGVBc3NvY2lhdGVkRmlsZXMiLCJnZW5lcmF0ZUZpbGVEYXRhIiwidW5saW5rVGVtcEZpbGVzIiwidXBsb2FkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJhcHBlbmRWZXJzaW9uVG9RdWVyeUtleSIsInNhdmVWZXJzaW9uIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsInVwZGF0ZU9wZXJhdGlvbiIsImluY29taW5nQXJncyIsImFyZ3MiLCJzaG91bGRDb21taXQiLCJyZXEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiaG9va3MiLCJiZWZvcmVPcGVyYXRpb24iLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJob29rIiwiY29udGV4dCIsIm9wZXJhdGlvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRlcHRoIiwiZHJhZnQiLCJkcmFmdEFyZyIsIm92ZXJyaWRlQWNjZXNzIiwib3ZlcndyaXRlRXhpc3RpbmdGaWxlcyIsImZhbGxiYWNrTG9jYWxlIiwibG9jYWxlIiwicGF5bG9hZCIsInNob3dIaWRkZW5GaWVsZHMiLCJ3aGVyZSIsIkJBRF9SRVFVRVNUIiwiZGF0YSIsImJ1bGtVcGRhdGVEYXRhIiwic2hvdWxkU2F2ZURyYWZ0IiwiQm9vbGVhbiIsInZlcnNpb25zIiwiZHJhZnRzIiwiYWNjZXNzUmVzdWx0IiwiYWNjZXNzIiwidXBkYXRlIiwiZnVsbFdoZXJlIiwiZG9jcyIsInZlcnNpb25zV2hlcmUiLCJ2ZXJzaW9uRmllbGRzIiwicXVlcnkiLCJkYiIsInF1ZXJ5RHJhZnRzIiwic2x1ZyIsImZpbmQiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJuZXdGaWxlRGF0YSIsImZpbGVzIiwiZmlsZXNUb1VwbG9hZCIsInRocm93T25NaXNzaW5nRmlsZSIsImVycm9ycyIsInByb21pc2VzIiwibWFwIiwiZG9jIiwiaWQiLCJvcmlnaW5hbERvYyIsImdsb2JhbCIsIm92ZXJyaWRlRGVsZXRlIiwidXBsb2FkIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInJlc3VsdCIsImRvY1dpdGhMb2NhbGVzIiwic2tpcFZhbGlkYXRpb24iLCJfc3RhdHVzIiwidXBkYXRlT25lIiwiY3JlYXRlZEF0IiwicHJldmlvdXNEb2MiLCJlcnJvciIsInB1c2giLCJtZXNzYWdlIiwiYXdhaXRlZERvY3MiLCJhbGwiLCJmaWx0ZXIiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLGdCQUFnQixjQUFhO0FBUXBDLE9BQU9DLG1CQUFtQiw4QkFBNkI7QUFDdkQsU0FBU0MsY0FBYyxRQUFRLG1DQUFrQztBQUNqRSxTQUFTQyxrQkFBa0IsUUFBUSx1REFBc0Q7QUFDekYsU0FBU0MsUUFBUSxRQUFRLHdCQUF1QjtBQUNoRCxTQUFTQyxXQUFXLFFBQVEsMENBQXlDO0FBQ3JFLFNBQVNDLFNBQVMsUUFBUSx3Q0FBdUM7QUFDakUsU0FBU0MsWUFBWSxRQUFRLDJDQUEwQztBQUN2RSxTQUFTQyxjQUFjLFFBQVEsNkNBQTRDO0FBQzNFLFNBQVNDLHFCQUFxQixRQUFRLHlDQUF3QztBQUM5RSxTQUFTQyxnQkFBZ0IsUUFBUSxvQ0FBbUM7QUFDcEUsU0FBU0MsZUFBZSxRQUFRLG1DQUFrQztBQUNsRSxTQUFTQyxXQUFXLFFBQVEsK0JBQThCO0FBQzFELFNBQVNDLGlCQUFpQixRQUFRLHVDQUFzQztBQUN4RSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGVBQWUsUUFBUSxxQ0FBb0M7QUFDcEUsU0FBU0MsNEJBQTRCLFFBQVEsMENBQXlDO0FBQ3RGLFNBQVNDLHVCQUF1QixRQUFRLG1EQUFrRDtBQUMxRixTQUFTQyxXQUFXLFFBQVEsZ0NBQStCO0FBQzNELFNBQVNDLG1CQUFtQixRQUFRLGFBQVk7QUFlaEQsT0FBTyxNQUFNQyxrQkFBa0IsT0FDN0JDO0lBRUEsSUFBSUMsT0FBT0Q7SUFFWCxJQUFJO1FBQ0YsTUFBTUUsZUFBZSxNQUFNVCxnQkFBZ0JRLEtBQUtFLEdBQUc7UUFFbkQsd0NBQXdDO1FBQ3hDLCtCQUErQjtRQUMvQix3Q0FBd0M7UUFFeEMsTUFBTUYsS0FBS0csVUFBVSxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0MsZUFBZSxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDMUUsTUFB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
@@ -1,7 +1,7 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
- import type { GeneratedTypes } from '../../index';
3
- import type { PayloadRequest } from '../../types';
4
- import type { Collection } from '../config/types';
2
+ import type { GeneratedTypes } from '../../index.js';
3
+ import type { PayloadRequest } from '../../types/index.js';
4
+ import type { Collection } from '../config/types.js';
5
5
  export type Arguments<T extends {
6
6
  [field: number | string | symbol]: unknown;
7
7
  }> = {
@@ -18,12 +18,12 @@ export type Arguments<T extends {
18
18
  showHiddenFields?: boolean;
19
19
  };
20
20
  export declare const updateByIDOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<{
21
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
22
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
23
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
21
+ [slug: string]: import("../config/types.js").TypeWithID & Record<string, unknown>;
22
+ [slug: number]: import("../config/types.js").TypeWithID & Record<string, unknown>;
23
+ [slug: symbol]: import("../config/types.js").TypeWithID & Record<string, unknown>;
24
24
  }[TSlug]>) => Promise<{
25
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
26
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
27
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
25
+ [slug: string]: import("../config/types.js").TypeWithID & Record<string, unknown>;
26
+ [slug: number]: import("../config/types.js").TypeWithID & Record<string, unknown>;
27
+ [slug: symbol]: import("../config/types.js").TypeWithID & Record<string, unknown>;
28
28
  }[TSlug]>;
29
29
  //# sourceMappingURL=updateByID.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAsBjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;SAuV/B,CAAA"}
1
+ {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;SAuV/B,CAAA"}