payload-auth 1.8.4 → 1.9.1

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 (139) hide show
  1. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  2. package/dist/better-auth/adapter/index.js +106 -23
  3. package/dist/better-auth/adapter/transform/index.d.ts +6 -6
  4. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/transform/index.js +160 -52
  6. package/dist/better-auth/generated-types.d.ts +14 -11
  7. package/dist/better-auth/generated-types.d.ts.map +1 -1
  8. package/dist/better-auth/generated-types.js +1 -1
  9. package/dist/better-auth/plugin/constants.d.ts +3 -7
  10. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  11. package/dist/better-auth/plugin/constants.js +5 -9
  12. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  13. package/dist/better-auth/plugin/index.js +8 -12
  14. package/dist/better-auth/plugin/lib/{apply-disabled-default-auth-config.d.ts → apply-ba-admin-config.d.ts} +4 -3
  15. package/dist/better-auth/plugin/lib/apply-ba-admin-config.d.ts.map +1 -0
  16. package/dist/better-auth/plugin/lib/apply-ba-admin-config.js +88 -0
  17. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +7 -12
  18. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  19. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +5 -5
  20. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -1
  21. package/dist/better-auth/plugin/lib/build-collections/device-code.js +8 -3
  22. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  23. package/dist/better-auth/plugin/lib/build-collections/jwks.js +2 -1
  24. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/lib/build-collections/members.js +4 -7
  26. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  27. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +3 -3
  28. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  29. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +4 -4
  30. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  31. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +3 -3
  32. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  33. package/dist/better-auth/plugin/lib/build-collections/organizations.js +10 -5
  34. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  35. package/dist/better-auth/plugin/lib/build-collections/sessions.js +2 -2
  36. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +2 -1
  38. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  39. package/dist/better-auth/plugin/lib/build-collections/teams.js +3 -3
  40. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +2 -2
  41. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
  42. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +10 -2
  43. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
  44. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +36 -2
  45. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +0 -1
  46. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -1
  47. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -2
  48. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +4 -3
  50. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
  51. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +36 -2
  52. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +4 -2
  53. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  54. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +103 -33
  55. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +0 -4
  56. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +1 -5
  58. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  59. package/dist/better-auth/plugin/lib/build-collections/users/index.js +6 -25
  60. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +8 -3
  62. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  63. package/dist/better-auth/plugin/lib/build-collections/verifications.js +3 -3
  64. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  65. package/dist/better-auth/plugin/lib/get-payload-auth.js +4 -1
  66. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +3 -4
  68. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +2 -3
  69. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +7 -49
  71. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  72. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +6 -1
  73. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  74. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +5 -2
  75. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
  76. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +2 -1
  77. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +2 -2
  78. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.d.ts +16 -0
  79. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.d.ts.map +1 -0
  80. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.js +96 -0
  81. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -1
  82. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +2 -2
  83. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -1
  84. package/dist/better-auth/plugin/lib/set-login-methods.js +2 -2
  85. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -1
  86. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +8 -4
  87. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -1
  88. package/dist/better-auth/plugin/payload/components/passkeys/index.js +3 -2
  89. package/dist/better-auth/plugin/payload/utils/resolve-base-url.d.ts +9 -0
  90. package/dist/better-auth/plugin/payload/utils/resolve-base-url.d.ts.map +1 -0
  91. package/dist/better-auth/plugin/payload/utils/resolve-base-url.js +49 -0
  92. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  93. package/dist/better-auth/plugin/payload/views/admin-login/client.js +1 -1
  94. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  95. package/dist/better-auth/plugin/payload/views/admin-login/index.js +3 -2
  96. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  97. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +2 -5
  98. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  99. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +3 -2
  100. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  101. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +4 -3
  102. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  103. package/dist/better-auth/plugin/payload/views/reset-password/index.js +4 -3
  104. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
  105. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +3 -2
  106. package/dist/better-auth/plugin/types.d.ts +13 -56
  107. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  108. package/dist/better-auth/plugin/types.js +1 -1
  109. package/dist/better-auth/scripts/generate-types.js +8 -6
  110. package/package.json +20 -17
  111. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +0 -1
  112. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +0 -87
  113. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +0 -4
  114. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
  115. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +0 -51
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +0 -4
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +0 -1
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +0 -90
  119. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +0 -7
  120. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +0 -1
  121. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +0 -80
  122. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +0 -7
  123. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +0 -1
  124. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +0 -15
  125. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +0 -3
  126. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +0 -1
  127. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +0 -17
  128. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +0 -3
  129. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +0 -1
  130. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +0 -90
  131. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +0 -8
  132. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +0 -1
  133. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +0 -23
  134. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +0 -26
  135. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +0 -1
  136. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +0 -62
  137. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +0 -10
  138. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +0 -1
  139. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +0 -62
@@ -1,62 +0,0 @@
1
- import { createAuthMiddleware } from "better-auth/api";
2
- /**
3
- * Modifies options object and adds a middleware to check for admin invite for sign up
4
- */ export const useAdminInviteAfterEmailSignUpMiddleware = async ({ options, adminInvitationCollectionSlug, userCollectionSlug })=>{
5
- options.hooks = options.hooks || {};
6
- const originalAfter = options.hooks.after;
7
- options.hooks.after = createAuthMiddleware(async (ctx)=>{
8
- const adapter = ctx.context.adapter;
9
- const internalAdapter = ctx.context.internalAdapter;
10
- if (ctx.path !== "/sign-up/email") {
11
- if (typeof originalAfter === "function") originalAfter(ctx);
12
- return;
13
- }
14
- const email = ctx.body.email;
15
- const adminInviteToken = ctx?.query?.adminInviteToken ?? ctx.body.adminInviteToken;
16
- const adminInvitation = await adapter.findOne({
17
- model: adminInvitationCollectionSlug,
18
- where: [
19
- {
20
- field: "token",
21
- value: adminInviteToken,
22
- operator: "eq"
23
- }
24
- ]
25
- });
26
- if (!adminInvitation || !adminInvitation?.role || !email) {
27
- if (typeof originalAfter === "function") originalAfter(ctx);
28
- return;
29
- }
30
- const newlyCreatedUser = await internalAdapter.findUserByEmail(email);
31
- if (!newlyCreatedUser) {
32
- if (typeof originalAfter === "function") originalAfter(ctx);
33
- return;
34
- }
35
- await adapter.update({
36
- model: userCollectionSlug,
37
- where: [
38
- {
39
- field: "id",
40
- value: newlyCreatedUser.user.id,
41
- operator: "eq"
42
- }
43
- ],
44
- update: {
45
- role: adminInvitation?.role
46
- }
47
- });
48
- await adapter.delete({
49
- model: adminInvitationCollectionSlug,
50
- where: [
51
- {
52
- field: "id",
53
- value: adminInvitation.id,
54
- operator: "eq"
55
- }
56
- ]
57
- });
58
- if (typeof originalAfter === "function") originalAfter(ctx);
59
- });
60
- };
61
-
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvdXNlLWFkbWluLWludml0ZS1hZnRlci1lbWFpbC1zaWduLXVwLW1pZGRsZXdhcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQXV0aE1pZGRsZXdhcmUgfSBmcm9tIFwiYmV0dGVyLWF1dGgvYXBpXCI7XG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzXCI7XG5cbi8qKlxuICogTW9kaWZpZXMgb3B0aW9ucyBvYmplY3QgYW5kIGFkZHMgYSBtaWRkbGV3YXJlIHRvIGNoZWNrIGZvciBhZG1pbiBpbnZpdGUgZm9yIHNpZ24gdXBcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUFkbWluSW52aXRlQWZ0ZXJFbWFpbFNpZ25VcE1pZGRsZXdhcmUgPSBhc3luYyAoe1xuICBvcHRpb25zLFxuICBhZG1pbkludml0YXRpb25Db2xsZWN0aW9uU2x1ZyxcbiAgdXNlckNvbGxlY3Rpb25TbHVnXG59OiB7XG4gIG9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zO1xuICBhZG1pbkludml0YXRpb25Db2xsZWN0aW9uU2x1Zzogc3RyaW5nO1xuICB1c2VyQ29sbGVjdGlvblNsdWc6IHN0cmluZztcbn0pID0+IHtcbiAgb3B0aW9ucy5ob29rcyA9IG9wdGlvbnMuaG9va3MgfHwge307XG4gIGNvbnN0IG9yaWdpbmFsQWZ0ZXIgPSBvcHRpb25zLmhvb2tzLmFmdGVyO1xuICBvcHRpb25zLmhvb2tzLmFmdGVyID0gY3JlYXRlQXV0aE1pZGRsZXdhcmUoYXN5bmMgKGN0eCkgPT4ge1xuICAgIGNvbnN0IGFkYXB0ZXIgPSBjdHguY29udGV4dC5hZGFwdGVyO1xuICAgIGNvbnN0IGludGVybmFsQWRhcHRlciA9IGN0eC5jb250ZXh0LmludGVybmFsQWRhcHRlcjtcblxuICAgIGlmIChjdHgucGF0aCAhPT0gXCIvc2lnbi11cC9lbWFpbFwiKSB7XG4gICAgICBpZiAodHlwZW9mIG9yaWdpbmFsQWZ0ZXIgPT09IFwiZnVuY3Rpb25cIikgb3JpZ2luYWxBZnRlcihjdHgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbWFpbCA9IGN0eC5ib2R5LmVtYWlsO1xuICAgIGNvbnN0IGFkbWluSW52aXRlVG9rZW4gPVxuICAgICAgY3R4Py5xdWVyeT8uYWRtaW5JbnZpdGVUb2tlbiA/PyBjdHguYm9keS5hZG1pbkludml0ZVRva2VuO1xuICAgIGNvbnN0IGFkbWluSW52aXRhdGlvbiA9IChhd2FpdCBhZGFwdGVyLmZpbmRPbmUoe1xuICAgICAgbW9kZWw6IGFkbWluSW52aXRhdGlvbkNvbGxlY3Rpb25TbHVnLFxuICAgICAgd2hlcmU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiBcInRva2VuXCIsXG4gICAgICAgICAgdmFsdWU6IGFkbWluSW52aXRlVG9rZW4sXG4gICAgICAgICAgb3BlcmF0b3I6IFwiZXFcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSkpIGFzIGFueTtcbiAgICBpZiAoIWFkbWluSW52aXRhdGlvbiB8fCAhYWRtaW5JbnZpdGF0aW9uPy5yb2xlIHx8ICFlbWFpbCkge1xuICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbEFmdGVyID09PSBcImZ1bmN0aW9uXCIpIG9yaWdpbmFsQWZ0ZXIoY3R4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdseUNyZWF0ZWRVc2VyID0gYXdhaXQgaW50ZXJuYWxBZGFwdGVyLmZpbmRVc2VyQnlFbWFpbChlbWFpbCk7XG4gICAgaWYgKCFuZXdseUNyZWF0ZWRVc2VyKSB7XG4gICAgICBpZiAodHlwZW9mIG9yaWdpbmFsQWZ0ZXIgPT09IFwiZnVuY3Rpb25cIikgb3JpZ2luYWxBZnRlcihjdHgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IGFkYXB0ZXIudXBkYXRlKHtcbiAgICAgIG1vZGVsOiB1c2VyQ29sbGVjdGlvblNsdWcsXG4gICAgICB3aGVyZTogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6IFwiaWRcIixcbiAgICAgICAgICB2YWx1ZTogbmV3bHlDcmVhdGVkVXNlci51c2VyLmlkLFxuICAgICAgICAgIG9wZXJhdG9yOiBcImVxXCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHVwZGF0ZToge1xuICAgICAgICByb2xlOiBhZG1pbkludml0YXRpb24/LnJvbGVcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGF3YWl0IGFkYXB0ZXIuZGVsZXRlKHtcbiAgICAgIG1vZGVsOiBhZG1pbkludml0YXRpb25Db2xsZWN0aW9uU2x1ZyxcbiAgICAgIHdoZXJlOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogXCJpZFwiLFxuICAgICAgICAgIHZhbHVlOiBhZG1pbkludml0YXRpb24uaWQsXG4gICAgICAgICAgb3BlcmF0b3I6IFwiZXFcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsQWZ0ZXIgPT09IFwiZnVuY3Rpb25cIikgb3JpZ2luYWxBZnRlcihjdHgpO1xuICB9KTtcbn07XG4iXSwibmFtZXMiOlsiY3JlYXRlQXV0aE1pZGRsZXdhcmUiLCJ1c2VBZG1pbkludml0ZUFmdGVyRW1haWxTaWduVXBNaWRkbGV3YXJlIiwib3B0aW9ucyIsImFkbWluSW52aXRhdGlvbkNvbGxlY3Rpb25TbHVnIiwidXNlckNvbGxlY3Rpb25TbHVnIiwiaG9va3MiLCJvcmlnaW5hbEFmdGVyIiwiYWZ0ZXIiLCJjdHgiLCJhZGFwdGVyIiwiY29udGV4dCIsImludGVybmFsQWRhcHRlciIsInBhdGgiLCJlbWFpbCIsImJvZHkiLCJhZG1pbkludml0ZVRva2VuIiwicXVlcnkiLCJhZG1pbkludml0YXRpb24iLCJmaW5kT25lIiwibW9kZWwiLCJ3aGVyZSIsImZpZWxkIiwidmFsdWUiLCJvcGVyYXRvciIsInJvbGUiLCJuZXdseUNyZWF0ZWRVc2VyIiwiZmluZFVzZXJCeUVtYWlsIiwidXBkYXRlIiwidXNlciIsImlkIiwiZGVsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxvQkFBb0IsUUFBUSxrQkFBa0I7QUFHdkQ7O0NBRUMsR0FDRCxPQUFPLE1BQU1DLDJDQUEyQyxPQUFPLEVBQzdEQyxPQUFPLEVBQ1BDLDZCQUE2QixFQUM3QkMsa0JBQWtCLEVBS25CO0lBQ0NGLFFBQVFHLEtBQUssR0FBR0gsUUFBUUcsS0FBSyxJQUFJLENBQUM7SUFDbEMsTUFBTUMsZ0JBQWdCSixRQUFRRyxLQUFLLENBQUNFLEtBQUs7SUFDekNMLFFBQVFHLEtBQUssQ0FBQ0UsS0FBSyxHQUFHUCxxQkFBcUIsT0FBT1E7UUFDaEQsTUFBTUMsVUFBVUQsSUFBSUUsT0FBTyxDQUFDRCxPQUFPO1FBQ25DLE1BQU1FLGtCQUFrQkgsSUFBSUUsT0FBTyxDQUFDQyxlQUFlO1FBRW5ELElBQUlILElBQUlJLElBQUksS0FBSyxrQkFBa0I7WUFDakMsSUFBSSxPQUFPTixrQkFBa0IsWUFBWUEsY0FBY0U7WUFDdkQ7UUFDRjtRQUNBLE1BQU1LLFFBQVFMLElBQUlNLElBQUksQ0FBQ0QsS0FBSztRQUM1QixNQUFNRSxtQkFDSlAsS0FBS1EsT0FBT0Qsb0JBQW9CUCxJQUFJTSxJQUFJLENBQUNDLGdCQUFnQjtRQUMzRCxNQUFNRSxrQkFBbUIsTUFBTVIsUUFBUVMsT0FBTyxDQUFDO1lBQzdDQyxPQUFPaEI7WUFDUGlCLE9BQU87Z0JBQ0w7b0JBQ0VDLE9BQU87b0JBQ1BDLE9BQU9QO29CQUNQUSxVQUFVO2dCQUNaO2FBQ0Q7UUFDSDtRQUNBLElBQUksQ0FBQ04sbUJBQW1CLENBQUNBLGlCQUFpQk8sUUFBUSxDQUFDWCxPQUFPO1lBQ3hELElBQUksT0FBT1Asa0JBQWtCLFlBQVlBLGNBQWNFO1lBQ3ZEO1FBQ0Y7UUFFQSxNQUFNaUIsbUJBQW1CLE1BQU1kLGdCQUFnQmUsZUFBZSxDQUFDYjtRQUMvRCxJQUFJLENBQUNZLGtCQUFrQjtZQUNyQixJQUFJLE9BQU9uQixrQkFBa0IsWUFBWUEsY0FBY0U7WUFDdkQ7UUFDRjtRQUVBLE1BQU1DLFFBQVFrQixNQUFNLENBQUM7WUFDbkJSLE9BQU9mO1lBQ1BnQixPQUFPO2dCQUNMO29CQUNFQyxPQUFPO29CQUNQQyxPQUFPRyxpQkFBaUJHLElBQUksQ0FBQ0MsRUFBRTtvQkFDL0JOLFVBQVU7Z0JBQ1o7YUFDRDtZQUNESSxRQUFRO2dCQUNOSCxNQUFNUCxpQkFBaUJPO1lBQ3pCO1FBQ0Y7UUFFQSxNQUFNZixRQUFRcUIsTUFBTSxDQUFDO1lBQ25CWCxPQUFPaEI7WUFDUGlCLE9BQU87Z0JBQ0w7b0JBQ0VDLE9BQU87b0JBQ1BDLE9BQU9MLGdCQUFnQlksRUFBRTtvQkFDekJOLFVBQVU7Z0JBQ1o7YUFDRDtRQUNIO1FBRUEsSUFBSSxPQUFPakIsa0JBQWtCLFlBQVlBLGNBQWNFO0lBQ3pEO0FBQ0YsRUFBRSJ9