@secrecy/lib 1.0.0-dev.27 → 1.0.0-dev.28

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 (154) hide show
  1. package/dist/BaseClient.d.ts +274 -0
  2. package/dist/BaseClient.js +2227 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +213 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +113 -0
  7. package/dist/cache.d.ts +7 -0
  8. package/dist/cache.js +5 -0
  9. package/dist/client/admin/index.d.ts +11 -0
  10. package/dist/client/admin/index.js +198 -0
  11. package/dist/client/convert/file.d.ts +5 -0
  12. package/dist/client/convert/file.js +39 -0
  13. package/dist/client/convert/folder.d.ts +8 -0
  14. package/dist/client/convert/folder.js +264 -0
  15. package/dist/client/convert/mail.d.ts +3 -0
  16. package/dist/client/convert/mail.js +46 -0
  17. package/dist/client/convert/vFile.d.ts +5 -0
  18. package/dist/client/convert/vFile.js +164 -0
  19. package/dist/client/helpers.d.ts +23 -0
  20. package/dist/client/helpers.js +114 -0
  21. package/dist/client/index.d.ts +172 -0
  22. package/dist/client/index.js +6169 -0
  23. package/dist/client/storage.d.ts +7 -0
  24. package/dist/client/storage.js +12 -0
  25. package/dist/client/types/File.d.ts +21 -0
  26. package/dist/client/types/File.js +3 -0
  27. package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
  28. package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
  29. package/dist/client/types/Folder.d.ts +68 -0
  30. package/dist/client/types/Folder.js +7 -0
  31. package/dist/client/types/Inputs.d.ts +21 -0
  32. package/dist/client/types/Inputs.js +3 -0
  33. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  34. package/dist/client/types/UserAppNotifications.js +3 -0
  35. package/dist/client/types/UserAppSettings.d.ts +7 -0
  36. package/dist/client/types/UserAppSettings.js +3 -0
  37. package/dist/client/types/VFile.d.ts +62 -0
  38. package/dist/client/types/VFile.js +4 -0
  39. package/dist/client/types/index.d.ts +154 -0
  40. package/dist/client/types/index.js +10 -0
  41. package/dist/client/types/queries.d.ts +535 -0
  42. package/dist/client/types/queries.js +192 -0
  43. package/dist/crypto/file.d.ts +14 -0
  44. package/dist/crypto/file.js +291 -0
  45. package/dist/crypto/index.d.ts +12 -0
  46. package/dist/crypto/index.js +45 -0
  47. package/dist/error.d.ts +30 -0
  48. package/dist/error.js +3 -0
  49. package/dist/index.d.ts +13 -3857
  50. package/dist/index.js +42 -255
  51. package/dist/minify/index.d.ts +2 -0
  52. package/dist/minify/index.js +28 -0
  53. package/dist/minify/lz4.d.ts +5 -0
  54. package/dist/minify/lz4.js +633 -0
  55. package/dist/sodium.d.ts +3 -0
  56. package/dist/sodium.js +28 -0
  57. package/dist/utils/store-buddy.d.ts +14 -0
  58. package/dist/utils/store-buddy.js +69 -0
  59. package/dist/utils/time.d.ts +10 -0
  60. package/dist/utils/time.js +22 -0
  61. package/dist/utils.d.ts +4 -0
  62. package/dist/utils.js +188 -0
  63. package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
  64. package/dist/worker/__mock__/sodium.worker.js +46 -0
  65. package/dist/worker/md5.d.ts +1 -0
  66. package/dist/worker/md5.js +43 -0
  67. package/dist/worker/sodium.d.ts +3 -0
  68. package/dist/worker/sodium.js +155 -0
  69. package/dist/worker/workerCodes.d.ts +2 -0
  70. package/dist/worker/workerCodes.js +3 -0
  71. package/dist/zeus/const.d.ts +2 -0
  72. package/dist/zeus/const.js +2267 -0
  73. package/dist/zeus/index.d.ts +4043 -0
  74. package/dist/zeus/index.js +549 -0
  75. package/package.json +23 -14
  76. package/__tests__/client/client.test.ts +0 -81
  77. package/__tests__/client/folder.test.ts +0 -302
  78. package/__tests__/client/mail.test.ts +0 -476
  79. package/__tests__/client/timing.test.ts +0 -35
  80. package/__tests__/client/utils.ts +0 -41
  81. package/__tests__/client/vFile.test.ts +0 -207
  82. package/__tests__/index.test.ts +0 -171
  83. package/commitlint.config.cjs +0 -3
  84. package/dist/index.js.map +0 -1
  85. package/dist/index.mjs +0 -255
  86. package/dist/index.mjs.map +0 -1
  87. package/docs/assets/css/main.css +0 -2660
  88. package/docs/assets/images/icons.png +0 -0
  89. package/docs/assets/images/icons@2x.png +0 -0
  90. package/docs/assets/images/widgets.png +0 -0
  91. package/docs/assets/images/widgets@2x.png +0 -0
  92. package/docs/assets/js/main.js +0 -248
  93. package/docs/assets/js/search.js +0 -1
  94. package/docs/classes/baseclient.baseclient-1.html +0 -1165
  95. package/docs/classes/client.secrecyclient.html +0 -2527
  96. package/docs/enums/index.sodium.base64_variants.html +0 -205
  97. package/docs/index.html +0 -198
  98. package/docs/interfaces/client_types.draftmail.html +0 -335
  99. package/docs/interfaces/client_types.filecontentbase.html +0 -231
  100. package/docs/interfaces/client_types.filecontentcloud.html +0 -244
  101. package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
  102. package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
  103. package/docs/interfaces/client_types.receivedmail.html +0 -363
  104. package/docs/interfaces/client_types.sentmail.html +0 -335
  105. package/docs/interfaces/crypto.keypair.html +0 -202
  106. package/docs/interfaces/index.sodium.cryptobox.html +0 -185
  107. package/docs/interfaces/index.sodium.cryptokx.html +0 -185
  108. package/docs/interfaces/index.sodium.keypair.html +0 -199
  109. package/docs/interfaces/index.sodium.messagetag.html +0 -185
  110. package/docs/interfaces/index.sodium.secretbox.html +0 -185
  111. package/docs/interfaces/index.sodium.stateaddress.html +0 -171
  112. package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
  113. package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
  114. package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
  115. package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
  116. package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
  117. package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
  118. package/docs/modules/baseclient.html +0 -929
  119. package/docs/modules/cache.html +0 -185
  120. package/docs/modules/client.html +0 -207
  121. package/docs/modules/client_convert_file.html +0 -216
  122. package/docs/modules/client_convert_folder.html +0 -303
  123. package/docs/modules/client_convert_vfile.html +0 -216
  124. package/docs/modules/client_helpers.html +0 -311
  125. package/docs/modules/client_storage.html +0 -167
  126. package/docs/modules/client_types.html +0 -1227
  127. package/docs/modules/client_types_file.html +0 -233
  128. package/docs/modules/client_types_filesonusersonapplications.html +0 -168
  129. package/docs/modules/client_types_folder.html +0 -383
  130. package/docs/modules/client_types_inputs.html +0 -263
  131. package/docs/modules/client_types_mail.html +0 -181
  132. package/docs/modules/client_types_queries.html +0 -199
  133. package/docs/modules/client_types_userappsettings.html +0 -163
  134. package/docs/modules/client_types_vfile.html +0 -364
  135. package/docs/modules/crypto.html +0 -366
  136. package/docs/modules/crypto_file.html +0 -344
  137. package/docs/modules/index.html +0 -779
  138. package/docs/modules/index.sodium.html +0 -6039
  139. package/docs/modules/minify.html +0 -183
  140. package/docs/modules/minify_lz4.html +0 -279
  141. package/docs/modules/popuptools.html +0 -259
  142. package/docs/modules/sodium.html +0 -167
  143. package/docs/modules/utils.html +0 -219
  144. package/docs/modules/utils_store_buddy.html +0 -208
  145. package/docs/modules/utils_time.html +0 -330
  146. package/docs/modules/worker_md5.html +0 -156
  147. package/docs/modules/worker_sodium.html +0 -231
  148. package/docs/modules/worker_workercodes.html +0 -157
  149. package/docs/modules.html +0 -235
  150. package/index.html +0 -21
  151. package/jest.config.ts +0 -27
  152. package/jest.setup.ts +0 -6
  153. package/release.config.cjs +0 -15
  154. package/tsup.config.ts +0 -26
@@ -0,0 +1,7 @@
1
+ import type { KeyPair } from "../index.js";
2
+ import type { StoreBuddy } from "../utils/store-buddy.js";
3
+ export declare function getStorage(session?: boolean | undefined): {
4
+ userAppKeys: StoreBuddy<KeyPair | null>;
5
+ userAppSession: StoreBuddy<string | null>;
6
+ jwt: StoreBuddy<string | null>;
7
+ };
@@ -0,0 +1,12 @@
1
+ import { storeBuddy } from "../utils/store-buddy.js";
2
+ export function getStorage(session) {
3
+ var userAppSession = storeBuddy("secrecy.user_app_session", session).init(null);
4
+ var userAppKeys = storeBuddy("secrecy.user_app_keys", session).init(null);
5
+ var jwt = storeBuddy("secrecy.jwt", session).init(null);
6
+ return {
7
+ userAppKeys: userAppKeys,
8
+ userAppSession: userAppSession,
9
+ jwt: jwt
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsVUFBVCxRQUEyQix5QkFBM0I7QUFFQSxPQUFPLFNBQVNDLFVBQVQsQ0FBb0JDLE9BQXBCLEVBSUw7QUFDQSxNQUFNQyxjQUFjLEdBQUdILFVBQVUsNkJBRS9CRSxPQUYrQixDQUFWLENBR3JCRSxJQUhxQixDQUdoQixJQUhnQixDQUF2QjtBQUlBLE1BQU1DLFdBQVcsR0FBR0wsVUFBVSwwQkFFNUJFLE9BRjRCLENBQVYsQ0FHbEJFLElBSGtCLENBR2IsSUFIYSxDQUFwQjtBQUlBLE1BQU1FLEdBQUcsR0FBR04sVUFBVSxnQkFBK0JFLE9BQS9CLENBQVYsQ0FBa0RFLElBQWxELENBQXVELElBQXZELENBQVo7QUFDQSxTQUFPO0FBQUVDLElBQUFBLFdBQVcsRUFBWEEsV0FBRjtBQUFlRixJQUFBQSxjQUFjLEVBQWRBLGNBQWY7QUFBK0JHLElBQUFBLEdBQUcsRUFBSEE7QUFBL0IsR0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcbmltcG9ydCB7IHN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0b3JhZ2Uoc2Vzc2lvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB7XG4gIHVzZXJBcHBLZXlzOiBTdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPjtcbiAgdXNlckFwcFNlc3Npb246IFN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD47XG4gIGp3dDogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbn0ge1xuICBjb25zdCB1c2VyQXBwU2Vzc2lvbiA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfc2Vzc2lvbmAsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IHVzZXJBcHBLZXlzID0gc3RvcmVCdWRkeTxLZXlQYWlyIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfa2V5c2AsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IGp3dCA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oYHNlY3JlY3kuand0YCwgc2Vzc2lvbikuaW5pdChudWxsKTtcbiAgcmV0dXJuIHsgdXNlckFwcEtleXMsIHVzZXJBcHBTZXNzaW9uLCBqd3QgfTtcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import type { FilesOnUsersOnApplications, GQLFilesOnUsersOnApplications } from "./FilesOnUsersOnApplications.js";
2
+ export declare type File = {
3
+ id: string;
4
+ size: bigint;
5
+ sizeBefore: bigint;
6
+ md5: string;
7
+ md5Encrypted: string;
8
+ createdAt: Date;
9
+ };
10
+ export declare type InternalFile = File & {
11
+ user: FilesOnUsersOnApplications | null;
12
+ };
13
+ export declare type GQLFile = {
14
+ id: string;
15
+ size: string;
16
+ sizeBefore: string;
17
+ createdAt: string;
18
+ md5: string;
19
+ md5Encrypted: string;
20
+ user?: GQLFilesOnUsersOnApplications | undefined;
21
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,9 @@
1
+ export declare type FilesOnUsersOnApplications = {
2
+ key: string;
3
+ userApp: {
4
+ keyPair?: {
5
+ pub: string;
6
+ };
7
+ };
8
+ };
9
+ export declare type GQLFilesOnUsersOnApplications = FilesOnUsersOnApplications;
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,68 @@
1
+ import type { Rights } from "../../zeus/index.js";
2
+ import type { PublicUser } from "./index.js";
3
+ import type { VFile, GQLVFile, InternalVFile } from "./VFile.js";
4
+ export declare type FoldersOnUsersOnApplications<T extends Record<string, unknown> = Record<string, unknown>> = T & {
5
+ rights: Rights;
6
+ isRoot: boolean;
7
+ userApp: {
8
+ user: {
9
+ id: string;
10
+ };
11
+ };
12
+ };
13
+ export declare type FolderBreadcrumbItem = {
14
+ id: string;
15
+ name: string;
16
+ pubKey: string;
17
+ };
18
+ declare type NameKey = {
19
+ nameKey?: string;
20
+ };
21
+ export declare type InternalFolderBreadcrumbItem = FolderBreadcrumbItem & NameKey;
22
+ export declare type Folder<T extends FolderBreadcrumbItem = FolderBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>> = {
23
+ id: string;
24
+ isFavorite: boolean;
25
+ createdAt: Date;
26
+ deletedAt: Date | null;
27
+ updatedAt: Date;
28
+ name: string;
29
+ breadcrumb: T[];
30
+ createdBy: PublicUser;
31
+ userApp?: FoldersOnUsersOnApplications<U>;
32
+ users: [PublicUser, Rights][];
33
+ };
34
+ export declare type FolderFull<T extends FolderBreadcrumbItem = FolderBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>, V extends Record<string, unknown> = VFile> = Folder<T, U> & {
35
+ vFiles: V[];
36
+ parentFolder: Folder<T, U> | null;
37
+ subfolders: Folder<T, U>[];
38
+ };
39
+ export declare type InternalFolder = Folder<InternalFolderBreadcrumbItem, NameKey>;
40
+ export declare type InternalFolderFull = FolderFull<InternalFolderBreadcrumbItem, NameKey, InternalVFile>;
41
+ export declare type GQLFolder = {
42
+ id: string;
43
+ isFavorite: boolean;
44
+ createdAt: string;
45
+ deletedAt?: string;
46
+ updatedAt: string;
47
+ name: string;
48
+ userApp?: FoldersOnUsersOnApplications<NameKey>;
49
+ createdBy: {
50
+ user: PublicUser;
51
+ };
52
+ userApps: {
53
+ rights: Rights;
54
+ isRoot: boolean;
55
+ userApp: {
56
+ user: PublicUser;
57
+ };
58
+ }[];
59
+ breadcrumb: InternalFolderBreadcrumbItem[];
60
+ };
61
+ export declare type GQLFolderFull = GQLFolder & {
62
+ vFiles: GQLVFile[];
63
+ parentFolder?: GQLFolder;
64
+ subfolders: GQLFolder[];
65
+ };
66
+ export declare function isFolder(obj: Folder | VFile): obj is Folder;
67
+ export declare function isFolderFull(obj: InternalFolder | InternalFolderFull): obj is FolderFull;
68
+ export {};
@@ -0,0 +1,7 @@
1
+ export function isFolder(obj) {
2
+ return "breadcrumb" in obj;
3
+ }
4
+ export function isFolderFull(obj) {
5
+ return "parentFolder" in obj && "subfolders" in obj && "vFiles" in obj;
6
+ }
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvRm9sZGVyLnRzIl0sIm5hbWVzIjpbImlzRm9sZGVyIiwib2JqIiwiaXNGb2xkZXJGdWxsIl0sIm1hcHBpbmdzIjoiQUF5RkEsT0FBTyxTQUFTQSxRQUFULENBQWtCQyxHQUFsQixFQUFzRDtBQUMzRCxTQUFPLGdCQUFnQkEsR0FBdkI7QUFDRDtBQUVELE9BQU8sU0FBU0MsWUFBVCxDQUNMRCxHQURLLEVBRWM7QUFDbkIsU0FBTyxrQkFBa0JBLEdBQWxCLElBQXlCLGdCQUFnQkEsR0FBekMsSUFBZ0QsWUFBWUEsR0FBbkU7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmlnaHRzIH0gZnJvbSBcIi4uLy4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgUHVibGljVXNlciB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFZGaWxlLCBHUUxWRmlsZSwgSW50ZXJuYWxWRmlsZSB9IGZyb20gXCIuL1ZGaWxlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIEZvbGRlcnNPblVzZXJzT25BcHBsaWNhdGlvbnM8XG4gIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4+ID0gVCAmIHtcbiAgcmlnaHRzOiBSaWdodHM7XG4gIGlzUm9vdDogYm9vbGVhbjtcbiAgdXNlckFwcDoge1xuICAgIHVzZXI6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZvbGRlckJyZWFkY3J1bWJJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHB1YktleTogc3RyaW5nO1xufTtcblxudHlwZSBOYW1lS2V5ID0ge1xuICBuYW1lS2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxGb2xkZXJCcmVhZGNydW1iSXRlbSA9IEZvbGRlckJyZWFkY3J1bWJJdGVtICYgTmFtZUtleTtcblxuZXhwb3J0IHR5cGUgRm9sZGVyPFxuICBUIGV4dGVuZHMgRm9sZGVyQnJlYWRjcnVtYkl0ZW0gPSBGb2xkZXJCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJyZWFkY3J1bWI6IFRbXTtcbiAgY3JlYXRlZEJ5OiBQdWJsaWNVc2VyO1xuICB1c2VyQXBwPzogRm9sZGVyc09uVXNlcnNPbkFwcGxpY2F0aW9uczxVPjtcbiAgdXNlcnM6IFtQdWJsaWNVc2VyLCBSaWdodHNdW107XG59O1xuXG5leHBvcnQgdHlwZSBGb2xkZXJGdWxsPFxuICBUIGV4dGVuZHMgRm9sZGVyQnJlYWRjcnVtYkl0ZW0gPSBGb2xkZXJCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFZGaWxlXG4+ID0gRm9sZGVyPFQsIFU+ICYge1xuICB2RmlsZXM6IFZbXTtcbiAgcGFyZW50Rm9sZGVyOiBGb2xkZXI8VCwgVT4gfCBudWxsO1xuICBzdWJmb2xkZXJzOiBGb2xkZXI8VCwgVT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsRm9sZGVyID0gRm9sZGVyPEludGVybmFsRm9sZGVyQnJlYWRjcnVtYkl0ZW0sIE5hbWVLZXk+O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbEZvbGRlckZ1bGwgPSBGb2xkZXJGdWxsPFxuICBJbnRlcm5hbEZvbGRlckJyZWFkY3J1bWJJdGVtLFxuICBOYW1lS2V5LFxuICBJbnRlcm5hbFZGaWxlXG4+O1xuXG5leHBvcnQgdHlwZSBHUUxGb2xkZXIgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICBkZWxldGVkQXQ/OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHVzZXJBcHA/OiBGb2xkZXJzT25Vc2Vyc09uQXBwbGljYXRpb25zPE5hbWVLZXk+O1xuICBjcmVhdGVkQnk6IHtcbiAgICB1c2VyOiBQdWJsaWNVc2VyO1xuICB9O1xuICB1c2VyQXBwczoge1xuICAgIHJpZ2h0czogUmlnaHRzO1xuICAgIGlzUm9vdDogYm9vbGVhbjtcbiAgICB1c2VyQXBwOiB7XG4gICAgICB1c2VyOiBQdWJsaWNVc2VyO1xuICAgIH07XG4gIH1bXTtcbiAgYnJlYWRjcnVtYjogSW50ZXJuYWxGb2xkZXJCcmVhZGNydW1iSXRlbVtdO1xufTtcblxuZXhwb3J0IHR5cGUgR1FMRm9sZGVyRnVsbCA9IEdRTEZvbGRlciAmIHtcbiAgdkZpbGVzOiBHUUxWRmlsZVtdO1xuICBwYXJlbnRGb2xkZXI/OiBHUUxGb2xkZXI7XG4gIHN1YmZvbGRlcnM6IEdRTEZvbGRlcltdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKG9iajogRm9sZGVyIHwgVkZpbGUpOiBvYmogaXMgRm9sZGVyIHtcbiAgcmV0dXJuIFwiYnJlYWRjcnVtYlwiIGluIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyRnVsbChcbiAgb2JqOiBJbnRlcm5hbEZvbGRlciB8IEludGVybmFsRm9sZGVyRnVsbFxuKTogb2JqIGlzIEZvbGRlckZ1bGwge1xuICByZXR1cm4gXCJwYXJlbnRGb2xkZXJcIiBpbiBvYmogJiYgXCJzdWJmb2xkZXJzXCIgaW4gb2JqICYmIFwidkZpbGVzXCIgaW4gb2JqO1xufVxuIl19
@@ -0,0 +1,21 @@
1
+ export declare type NameKeyInputFolders = {
2
+ id: string;
3
+ nameKey: string;
4
+ };
5
+ export declare type ShareFileKeyInput = {
6
+ id: string;
7
+ key: string;
8
+ };
9
+ export declare type NameKeyInput = {
10
+ id: string;
11
+ nameKey: string;
12
+ files: ShareFileKeyInput[];
13
+ };
14
+ export declare type ShareFoldersInput = {
15
+ folders: NameKeyInputFolders[];
16
+ vFiles: NameKeyInput[];
17
+ };
18
+ export declare type ShareFileInHistoryInput = {
19
+ fileId: string;
20
+ users: ShareFileKeyInput[];
21
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,6 @@
1
+ export declare type UserAppNotifications = {
2
+ enableAll: boolean;
3
+ mail: boolean;
4
+ cloud: boolean;
5
+ disableAllUntil: Date | null;
6
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,7 @@
1
+ export declare type UserAppSettings = {
2
+ cloudFileDaysForDelete: number;
3
+ cloudFolderDaysForDelete: number;
4
+ historyFileDaysForDelete?: number;
5
+ historyMaxFileCount: number;
6
+ autoDisconnectDelay?: number;
7
+ };
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,62 @@
1
+ import type { Folder, GQLFolder, InternalFolder } from "./Folder.js";
2
+ import type { File, GQLFile, InternalFile } from "./File.js";
3
+ import type { PublicUser } from "./index.js";
4
+ import type { Rights } from "../../zeus/index.js";
5
+ export declare type VFile<T extends File = File, U extends Record<string, unknown> = Record<string, unknown>> = {
6
+ id: string;
7
+ isFavorite: boolean;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ deletedAt: Date | null;
11
+ filename: string;
12
+ current: T;
13
+ history: T[];
14
+ createdBy: PublicUser;
15
+ userApp: VFilesOnUsersOnApplications<U>;
16
+ users: [PublicUser, Rights][];
17
+ };
18
+ export declare type VFileWithFolder<T extends File = File> = VFile<T> & {
19
+ folder: Folder;
20
+ };
21
+ export declare type VFilesOnUsersOnApplications<T extends Record<string, unknown> = Record<string, unknown>> = T & {
22
+ rights: Rights;
23
+ isRoot: boolean;
24
+ userApp: {
25
+ user: {
26
+ id: string;
27
+ };
28
+ };
29
+ };
30
+ declare type NameKey = {
31
+ nameKey: string;
32
+ };
33
+ export declare type InternalVFile = VFile<InternalFile, NameKey>;
34
+ export declare type InternalVFileWithFolder = InternalVFile & {
35
+ folder: InternalFolder;
36
+ };
37
+ export declare type GQLVFile = {
38
+ id: string;
39
+ isFavorite: boolean;
40
+ createdAt: string;
41
+ updatedAt: string;
42
+ deletedAt?: string;
43
+ filename: string;
44
+ createdBy: {
45
+ user: PublicUser;
46
+ };
47
+ userApps: {
48
+ rights: Rights;
49
+ isRoot: boolean;
50
+ userApp: {
51
+ user: PublicUser;
52
+ };
53
+ }[];
54
+ userApp?: VFilesOnUsersOnApplications<NameKey>;
55
+ current?: GQLFile;
56
+ history: GQLFile[];
57
+ };
58
+ export declare type GQLVFileWithFolder = GQLVFile & {
59
+ folder: GQLFolder;
60
+ };
61
+ export declare function isVFile(obj: Folder | VFile): obj is VFile;
62
+ export {};
@@ -0,0 +1,4 @@
1
+ export function isVFile(obj) {
2
+ return "history" in obj && "filename" in obj;
3
+ }
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvVkZpbGUudHMiXSwibmFtZXMiOlsiaXNWRmlsZSIsIm9iaiJdLCJtYXBwaW5ncyI6IkFBMEVBLE9BQU8sU0FBU0EsT0FBVCxDQUFpQkMsR0FBakIsRUFBb0Q7QUFDekQsU0FBTyxhQUFhQSxHQUFiLElBQW9CLGNBQWNBLEdBQXpDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvbGRlciwgR1FMRm9sZGVyLCBJbnRlcm5hbEZvbGRlciB9IGZyb20gXCIuL0ZvbGRlci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlLCBHUUxGaWxlLCBJbnRlcm5hbEZpbGUgfSBmcm9tIFwiLi9GaWxlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFB1YmxpY1VzZXIgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSaWdodHMgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuXG5leHBvcnQgdHlwZSBWRmlsZTxcbiAgVCBleHRlbmRzIEZpbGUgPSBGaWxlLFxuICBVIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgaXNGYXZvcml0ZTogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBEYXRlO1xuICB1cGRhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdDogRGF0ZSB8IG51bGw7XG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIGN1cnJlbnQ6IFQ7XG4gIGhpc3Rvcnk6IFRbXTtcbiAgY3JlYXRlZEJ5OiBQdWJsaWNVc2VyO1xuICB1c2VyQXBwOiBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8VT47XG4gIHVzZXJzOiBbUHVibGljVXNlciwgUmlnaHRzXVtdO1xufTtcblxuZXhwb3J0IHR5cGUgVkZpbGVXaXRoRm9sZGVyPFQgZXh0ZW5kcyBGaWxlID0gRmlsZT4gPSBWRmlsZTxUPiAmIHtcbiAgZm9sZGVyOiBGb2xkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8XG4gIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4+ID0gVCAmIHtcbiAgcmlnaHRzOiBSaWdodHM7XG4gIGlzUm9vdDogYm9vbGVhbjtcbiAgdXNlckFwcDoge1xuICAgIHVzZXI6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5cbnR5cGUgTmFtZUtleSA9IHtcbiAgbmFtZUtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxWRmlsZSA9IFZGaWxlPEludGVybmFsRmlsZSwgTmFtZUtleT47XG5cbmV4cG9ydCB0eXBlIEludGVybmFsVkZpbGVXaXRoRm9sZGVyID0gSW50ZXJuYWxWRmlsZSAmIHtcbiAgZm9sZGVyOiBJbnRlcm5hbEZvbGRlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEdRTFZGaWxlID0ge1xuICBpZDogc3RyaW5nO1xuICBpc0Zhdm9yaXRlOiBib29sZWFuO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGV0ZWRBdD86IHN0cmluZztcbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgY3JlYXRlZEJ5OiB7XG4gICAgdXNlcjogUHVibGljVXNlcjtcbiAgfTtcbiAgdXNlckFwcHM6IHtcbiAgICByaWdodHM6IFJpZ2h0cztcbiAgICBpc1Jvb3Q6IGJvb2xlYW47XG4gICAgdXNlckFwcDoge1xuICAgICAgdXNlcjogUHVibGljVXNlcjtcbiAgICB9O1xuICB9W107XG4gIHVzZXJBcHA/OiBWRmlsZXNPblVzZXJzT25BcHBsaWNhdGlvbnM8TmFtZUtleT47XG4gIGN1cnJlbnQ/OiBHUUxGaWxlO1xuICBoaXN0b3J5OiBHUUxGaWxlW107XG59O1xuXG5leHBvcnQgdHlwZSBHUUxWRmlsZVdpdGhGb2xkZXIgPSBHUUxWRmlsZSAmIHtcbiAgZm9sZGVyOiBHUUxGb2xkZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWRmlsZShvYmo6IEZvbGRlciB8IFZGaWxlKTogb2JqIGlzIFZGaWxlIHtcbiAgcmV0dXJuIFwiaGlzdG9yeVwiIGluIG9iaiAmJiBcImZpbGVuYW1lXCIgaW4gb2JqO1xufVxuIl19
@@ -0,0 +1,154 @@
1
+ import type { KeyPair } from "../../index.js";
2
+ export * from "./File.js";
3
+ export * from "./FilesOnUsersOnApplications.js";
4
+ export * from "./Folder.js";
5
+ export * from "./VFile.js";
6
+ export * from "./UserAppSettings.js";
7
+ export * from "./UserAppNotifications.js";
8
+ export * from "./Inputs.js";
9
+ export declare type SecrecyUserApp = {
10
+ keys: KeyPair;
11
+ jwt: string;
12
+ uaSession: string;
13
+ };
14
+ export interface FileContentPart {
15
+ contentUrl: string;
16
+ order: number;
17
+ md5: string;
18
+ }
19
+ export declare type FilePartResponse = {
20
+ order: number;
21
+ fields: Record<string, string>;
22
+ url: string;
23
+ };
24
+ export declare type MailFileInput = {
25
+ id: string;
26
+ name: string;
27
+ fileKey: string;
28
+ };
29
+ export declare type MailIntegrity = {
30
+ id: string;
31
+ hash: string;
32
+ hashKey: string;
33
+ replyTo?: {
34
+ id: string;
35
+ };
36
+ temporaryRecipients: TemporaryMailUser[];
37
+ recipients: PublicUser[];
38
+ };
39
+ export declare type MailIntegrityDraft = MailIntegrity & {
40
+ recipients: PublicUser[];
41
+ };
42
+ export declare type TemporaryMailUser = {
43
+ email?: string;
44
+ };
45
+ export declare type InternalWaitingReceivedMail = {
46
+ sender: PublicUser;
47
+ date: string;
48
+ attachmentsCount: number;
49
+ recipients: PublicUser[];
50
+ temporaryRecipients: TemporaryMailUser[];
51
+ };
52
+ export declare type WaitingReceivedMail = {
53
+ id: string;
54
+ sender: PublicUser;
55
+ date: Date;
56
+ attachmentsCount: number;
57
+ recipients: PublicUser[];
58
+ temporaryRecipients: TemporaryMailUser[];
59
+ };
60
+ export declare type MailFile = {
61
+ fileKey: string;
62
+ filename: string;
63
+ file: {
64
+ id: string;
65
+ };
66
+ };
67
+ export declare type MailType = "sent" | "received" | "draft";
68
+ export declare type InternalMail = {
69
+ type: MailType;
70
+ id: string;
71
+ body: string;
72
+ subject: string;
73
+ openedAt?: string;
74
+ createdAt: string;
75
+ deletedAt?: string;
76
+ recipient: PublicUser;
77
+ recipients: PublicUser[];
78
+ sender: PublicUser;
79
+ mailIntegrity?: MailIntegrity;
80
+ mailIntegrityDraft?: MailIntegrityDraft;
81
+ files: MailFile[];
82
+ };
83
+ export declare type InternalReceivedMail = {
84
+ user: {
85
+ receivedMails: InternalMail[];
86
+ };
87
+ };
88
+ export declare type BaseMail = {
89
+ type: MailType;
90
+ id: string;
91
+ mailIntegrityId: string;
92
+ replyTo?: string;
93
+ body: string;
94
+ subject: string;
95
+ createdAt: Date;
96
+ deletedAt: Date | null;
97
+ openedAt: Date | null;
98
+ isAltered: boolean;
99
+ recipients: PublicUser[];
100
+ temporaryRecipients: TemporaryMailUser[];
101
+ files: {
102
+ id: string;
103
+ name: string;
104
+ key: string;
105
+ }[];
106
+ };
107
+ export declare type PublicUser = {
108
+ id: string;
109
+ firstname: string;
110
+ lastname: string;
111
+ email: string;
112
+ publicKey: string;
113
+ };
114
+ export interface ReceivedMail extends BaseMail {
115
+ type: "received";
116
+ sender: PublicUser;
117
+ }
118
+ export declare type InternalSentMail = {
119
+ user: {
120
+ sentMails: InternalMail[];
121
+ };
122
+ };
123
+ export declare type InternalDraftMails = {
124
+ user: {
125
+ draftMails: InternalMail[];
126
+ };
127
+ };
128
+ export interface SentMail extends BaseMail {
129
+ type: "sent";
130
+ }
131
+ export interface DraftMail extends BaseMail {
132
+ type: "draft";
133
+ }
134
+ export declare type Mail = DraftMail | SentMail | ReceivedMail;
135
+ export declare type Session = {
136
+ id: string;
137
+ lastActivity: Date | undefined;
138
+ userAgent: string | undefined;
139
+ ip: string | undefined;
140
+ city: string | undefined;
141
+ country: string | undefined;
142
+ };
143
+ export declare type AppSession = Session & {
144
+ app: string;
145
+ };
146
+ export declare type UserSession = Session & {
147
+ appSessions: AppSession[];
148
+ };
149
+ export declare type MailRecipientInput = {
150
+ body: string;
151
+ subject: string;
152
+ recipientId: string;
153
+ files: MailFileInput[];
154
+ };
@@ -0,0 +1,10 @@
1
+ export * from "./File.js";
2
+ export * from "./FilesOnUsersOnApplications.js";
3
+ export * from "./Folder.js";
4
+ export * from "./VFile.js";
5
+ export * from "./UserAppSettings.js";
6
+ export * from "./UserAppNotifications.js";
7
+ export * from "./Inputs.js";
8
+ export {};
9
+ export {};
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxXQUFkO0FBQ0EsY0FBYyxpQ0FBZDtBQUNBLGNBQWMsYUFBZDtBQUNBLGNBQWMsWUFBZDtBQUNBLGNBQWMsc0JBQWQ7QUFDQSxjQUFjLDJCQUFkO0FBQ0EsY0FBYyxhQUFkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRm9sZGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WRmlsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXNlckFwcFNldHRpbmdzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VyQXBwTm90aWZpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW5wdXRzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFNlY3JlY3lVc2VyQXBwID0ge1xuICBrZXlzOiBLZXlQYWlyO1xuICBqd3Q6IHN0cmluZztcbiAgdWFTZXNzaW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDb250ZW50UGFydCB7XG4gIGNvbnRlbnRVcmw6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbiAgbWQ1OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEZpbGVQYXJ0UmVzcG9uc2UgPSB7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZUlucHV0ID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGZpbGVLZXk6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5ID0ge1xuICBpZDogc3RyaW5nO1xuICBoYXNoOiBzdHJpbmc7XG4gIGhhc2hLZXk6IHN0cmluZztcbiAgcmVwbHlUbz86IHtcbiAgICBpZDogc3RyaW5nO1xuICB9O1xuICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBUZW1wb3JhcnlNYWlsVXNlcltdO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5RHJhZnQgPSBNYWlsSW50ZWdyaXR5ICYge1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBUZW1wb3JhcnlNYWlsVXNlciA9IHtcbiAgZW1haWw/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBhdHRhY2htZW50c0NvdW50OiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogRGF0ZTtcbiAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZSA9IHtcbiAgZmlsZUtleTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBmaWxlOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxUeXBlID0gXCJzZW50XCIgfCBcInJlY2VpdmVkXCIgfCBcImRyYWZ0XCI7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTWFpbCA9IHtcbiAgdHlwZTogTWFpbFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICBvcGVuZWRBdD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGV0ZWRBdD86IHN0cmluZztcbiAgcmVjaXBpZW50OiBQdWJsaWNVc2VyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgbWFpbEludGVncml0eT86IE1haWxJbnRlZ3JpdHk7XG4gIG1haWxJbnRlZ3JpdHlEcmFmdD86IE1haWxJbnRlZ3JpdHlEcmFmdDtcbiAgZmlsZXM6IE1haWxGaWxlW107XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFJlY2VpdmVkTWFpbCA9IHtcbiAgdXNlcjoge1xuICAgIHJlY2VpdmVkTWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFzZU1haWwgPSB7XG4gIHR5cGU6IE1haWxUeXBlO1xuICBpZDogc3RyaW5nO1xuICBtYWlsSW50ZWdyaXR5SWQ6IHN0cmluZztcbiAgcmVwbHlUbz86IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgb3BlbmVkQXQ6IERhdGUgfCBudWxsO1xuICBpc0FsdGVyZWQ6IGJvb2xlYW47XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbiAgZmlsZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W107XG59O1xuXG5leHBvcnQgdHlwZSBQdWJsaWNVc2VyID0ge1xuICBpZDogc3RyaW5nO1xuICBmaXJzdG5hbWU6IHN0cmluZztcbiAgbGFzdG5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcHVibGljS2V5OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVkTWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJyZWNlaXZlZFwiO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsU2VudE1haWwgPSB7XG4gIHVzZXI6IHtcbiAgICBzZW50TWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxEcmFmdE1haWxzID0ge1xuICB1c2VyOiB7XG4gICAgZHJhZnRNYWlsczogSW50ZXJuYWxNYWlsW107XG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbnRNYWlsIGV4dGVuZHMgQmFzZU1haWwge1xuICB0eXBlOiBcInNlbnRcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFmdE1haWwgZXh0ZW5kcyBCYXNlTWFpbCB7XG4gIHR5cGU6IFwiZHJhZnRcIjtcbn1cblxuZXhwb3J0IHR5cGUgTWFpbCA9IERyYWZ0TWFpbCB8IFNlbnRNYWlsIHwgUmVjZWl2ZWRNYWlsO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICBpZDogc3RyaW5nO1xuICBsYXN0QWN0aXZpdHk6IERhdGUgfCB1bmRlZmluZWQ7XG4gIHVzZXJBZ2VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjaXR5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvdW50cnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcFNlc3Npb24gPSBTZXNzaW9uICYge1xuICBhcHA6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJTZXNzaW9uID0gU2Vzc2lvbiAmIHtcbiAgYXBwU2Vzc2lvbnM6IEFwcFNlc3Npb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxSZWNpcGllbnRJbnB1dCA9IHtcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIHJlY2lwaWVudElkOiBzdHJpbmc7XG4gIGZpbGVzOiBNYWlsRmlsZUlucHV0W107XG59O1xuIl19