@lifeready/core 1.0.2 → 1.0.3

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 (225) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +15445 -15445
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +40 -40
  6. package/esm2015/lib/_common/deferred-promise.js +24 -24
  7. package/esm2015/lib/_common/exceptions.js +157 -157
  8. package/esm2015/lib/_common/queries.gql.js +190 -190
  9. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  10. package/esm2015/lib/_common/types.js +1 -1
  11. package/esm2015/lib/_common/utils.js +44 -44
  12. package/esm2015/lib/api/contact-card.gql.js +79 -79
  13. package/esm2015/lib/api/contact-card.service.js +154 -154
  14. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  15. package/esm2015/lib/api/contact-card2.service.js +103 -103
  16. package/esm2015/lib/api/file.service.js +74 -74
  17. package/esm2015/lib/api/item2.gql.js +110 -110
  18. package/esm2015/lib/api/item2.service.js +311 -311
  19. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  20. package/esm2015/lib/api/key-exchange.service.js +442 -442
  21. package/esm2015/lib/api/key-exchange.types.js +18 -18
  22. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  23. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  24. package/esm2015/lib/api/lock.gql.js +40 -40
  25. package/esm2015/lib/api/lock.service.js +64 -64
  26. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  27. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  28. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  29. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  30. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  31. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  32. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  33. package/esm2015/lib/api/message.service.js +138 -138
  34. package/esm2015/lib/api/persist.service.js +181 -181
  35. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  36. package/esm2015/lib/api/query-processor/index.js +3 -3
  37. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -192
  38. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  39. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  40. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  41. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  42. package/esm2015/lib/api/time.service.js +146 -146
  43. package/esm2015/lib/api/types/graphql.types.js +7 -7
  44. package/esm2015/lib/api/types/index.js +3 -3
  45. package/esm2015/lib/api/types/lr-graphql.types.js +71 -71
  46. package/esm2015/lib/auth/auth.config.js +57 -57
  47. package/esm2015/lib/auth/auth.gql.js +48 -48
  48. package/esm2015/lib/auth/auth.types.js +27 -27
  49. package/esm2015/lib/auth/idle.service.js +168 -168
  50. package/esm2015/lib/auth/idle.types.js +7 -7
  51. package/esm2015/lib/auth/lbop.service.js +355 -355
  52. package/esm2015/lib/auth/life-ready-auth.service.js +500 -500
  53. package/esm2015/lib/auth/password.service.js +320 -320
  54. package/esm2015/lib/auth/register.service.js +172 -172
  55. package/esm2015/lib/auth/two-factor.service.js +74 -74
  56. package/esm2015/lib/category/category-meta.service.js +99 -99
  57. package/esm2015/lib/category/category.gql.js +406 -406
  58. package/esm2015/lib/category/category.service.js +390 -390
  59. package/esm2015/lib/category/category.types.js +29 -29
  60. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  61. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  62. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  63. package/esm2015/lib/cryptography/key-graph.service.js +280 -280
  64. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  65. package/esm2015/lib/cryptography/key.service.js +124 -124
  66. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  67. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  68. package/esm2015/lib/life-ready.config.js +84 -84
  69. package/esm2015/lib/life-ready.module.js +74 -74
  70. package/esm2015/lib/plan/plan.gql.js +123 -123
  71. package/esm2015/lib/plan/plan.service.js +149 -149
  72. package/esm2015/lib/plan/plan.types.js +11 -11
  73. package/esm2015/lib/record/record-attachment.service.js +101 -101
  74. package/esm2015/lib/record/record.gql.js +179 -179
  75. package/esm2015/lib/record/record.service.js +206 -206
  76. package/esm2015/lib/record/record.types.js +15 -15
  77. package/esm2015/lib/record-type/record-type.service.js +75 -75
  78. package/esm2015/lib/record-type/record-type.types.js +28 -28
  79. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -105
  80. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -1
  81. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -300
  82. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -52
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -97
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -1
  85. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -150
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -229
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -1
  88. package/esm2015/lib/scenario/scenario-setup.service.js +269 -269
  89. package/esm2015/lib/scenario/scenario.gql.js +368 -368
  90. package/esm2015/lib/scenario/scenario.service.js +611 -611
  91. package/esm2015/lib/scenario/scenario.types.js +64 -64
  92. package/esm2015/lib/search/search.gql.js +62 -62
  93. package/esm2015/lib/search/search.service.js +156 -156
  94. package/esm2015/lib/search/search.types.js +6 -6
  95. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -112
  96. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  97. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  98. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -232
  99. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -299
  100. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  101. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  102. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  103. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  104. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  105. package/esm2015/lib/users/profile-details.service.js +214 -214
  106. package/esm2015/lib/users/profile.gql.js +97 -97
  107. package/esm2015/lib/users/profile.service.js +169 -169
  108. package/esm2015/lib/users/profile.types.js +34 -34
  109. package/esm2015/lib/users/user.gql.js +60 -60
  110. package/esm2015/lib/users/user.service.js +79 -79
  111. package/esm2015/lib/users/user.types.js +5 -5
  112. package/esm2015/lifeready-core.js +10 -10
  113. package/esm2015/public-api.js +81 -81
  114. package/fesm2015/lifeready-core.js +13088 -13088
  115. package/fesm2015/lifeready-core.js.map +1 -1
  116. package/lib/_common/ast.d.ts +11 -11
  117. package/lib/_common/deferred-promise.d.ts +12 -12
  118. package/lib/_common/exceptions.d.ts +109 -109
  119. package/lib/_common/queries.gql.d.ts +10 -10
  120. package/lib/_common/run-outside-angular.d.ts +14 -14
  121. package/lib/_common/types.d.ts +10 -10
  122. package/lib/_common/utils.d.ts +3 -3
  123. package/lib/api/contact-card.gql.d.ts +7 -7
  124. package/lib/api/contact-card.service.d.ts +52 -52
  125. package/lib/api/contact-card2.gql.d.ts +34 -34
  126. package/lib/api/contact-card2.service.d.ts +49 -49
  127. package/lib/api/file.service.d.ts +18 -18
  128. package/lib/api/item2.gql.d.ts +96 -96
  129. package/lib/api/item2.service.d.ts +177 -177
  130. package/lib/api/key-exchange.gql.d.ts +9 -9
  131. package/lib/api/key-exchange.service.d.ts +39 -39
  132. package/lib/api/key-exchange.types.d.ts +196 -196
  133. package/lib/api/key-exchange2.gql.d.ts +125 -125
  134. package/lib/api/key-exchange2.service.d.ts +187 -187
  135. package/lib/api/lock.gql.d.ts +27 -27
  136. package/lib/api/lock.service.d.ts +25 -25
  137. package/lib/api/lr-apollo.service.d.ts +15 -15
  138. package/lib/api/lr-graphql/index.d.ts +5 -5
  139. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  140. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -27
  141. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  142. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  143. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  144. package/lib/api/message.service.d.ts +58 -58
  145. package/lib/api/persist.service.d.ts +31 -31
  146. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  147. package/lib/api/query-processor/index.d.ts +2 -2
  148. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  149. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  150. package/lib/api/shared-contact-card.service.d.ts +33 -33
  151. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  152. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  153. package/lib/api/time.service.d.ts +16 -16
  154. package/lib/api/types/graphql.types.d.ts +29 -29
  155. package/lib/api/types/index.d.ts +2 -2
  156. package/lib/api/types/lr-graphql.types.d.ts +385 -385
  157. package/lib/auth/auth.config.d.ts +5 -5
  158. package/lib/auth/auth.gql.d.ts +15 -15
  159. package/lib/auth/auth.types.d.ts +66 -66
  160. package/lib/auth/idle.service.d.ts +40 -40
  161. package/lib/auth/idle.types.d.ts +10 -10
  162. package/lib/auth/lbop.service.d.ts +91 -91
  163. package/lib/auth/life-ready-auth.service.d.ts +59 -59
  164. package/lib/auth/password.service.d.ts +78 -78
  165. package/lib/auth/register.service.d.ts +25 -25
  166. package/lib/auth/two-factor.service.d.ts +15 -15
  167. package/lib/category/category-meta.service.d.ts +23 -23
  168. package/lib/category/category.gql.d.ts +45 -45
  169. package/lib/category/category.service.d.ts +67 -67
  170. package/lib/category/category.types.d.ts +79 -79
  171. package/lib/cryptography/cryptography.types.d.ts +83 -83
  172. package/lib/cryptography/encryption.service.d.ts +41 -41
  173. package/lib/cryptography/key-factory.service.d.ts +38 -38
  174. package/lib/cryptography/key-graph.service.d.ts +33 -33
  175. package/lib/cryptography/key-meta.service.d.ts +44 -44
  176. package/lib/cryptography/key.service.d.ts +36 -36
  177. package/lib/cryptography/slip39.service.d.ts +43 -43
  178. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  179. package/lib/life-ready.config.d.ts +14 -14
  180. package/lib/life-ready.module.d.ts +5 -5
  181. package/lib/plan/plan.gql.d.ts +11 -11
  182. package/lib/plan/plan.service.d.ts +33 -33
  183. package/lib/plan/plan.types.d.ts +31 -31
  184. package/lib/record/record-attachment.service.d.ts +16 -16
  185. package/lib/record/record.gql.d.ts +14 -14
  186. package/lib/record/record.service.d.ts +25 -25
  187. package/lib/record/record.types.d.ts +57 -57
  188. package/lib/record-type/record-type.service.d.ts +11 -11
  189. package/lib/record-type/record-type.types.d.ts +50 -50
  190. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -7
  191. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -63
  192. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -32
  193. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -5
  194. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -17
  195. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -18
  196. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -8
  197. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -30
  198. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -54
  199. package/lib/scenario/scenario-setup.service.d.ts +22 -22
  200. package/lib/scenario/scenario.gql.d.ts +34 -34
  201. package/lib/scenario/scenario.service.d.ts +58 -58
  202. package/lib/scenario/scenario.types.d.ts +217 -217
  203. package/lib/search/search.gql.d.ts +1 -1
  204. package/lib/search/search.service.d.ts +25 -25
  205. package/lib/search/search.types.d.ts +20 -20
  206. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  207. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  208. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  209. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -218
  210. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -130
  211. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  212. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  213. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  214. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  215. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  216. package/lib/users/profile-details.service.d.ts +21 -21
  217. package/lib/users/profile.gql.d.ts +11 -11
  218. package/lib/users/profile.service.d.ts +35 -35
  219. package/lib/users/profile.types.d.ts +96 -96
  220. package/lib/users/user.gql.d.ts +9 -9
  221. package/lib/users/user.service.d.ts +12 -12
  222. package/lib/users/user.types.d.ts +23 -23
  223. package/lifeready-core.d.ts +9 -9
  224. package/package.json +1 -1
  225. package/public-api.d.ts +77 -77
@@ -1,179 +1,179 @@
1
- import gql from 'graphql-tag';
2
- import { KeyGraphFragment } from '../_common/queries.gql';
3
- import { DEFAULT_BREADCRUMB_DEPTH, parentCategoriesField, AccessFields, } from '../category/category.gql';
4
- export var FileType;
5
- (function (FileType) {
6
- FileType["RecordContent"] = "record-content";
7
- FileType["RecordAttachment"] = "record-attachment";
8
- })(FileType || (FileType = {}));
9
- export const RecordContentFilter = JSON.stringify({
10
- filter: [
11
- {
12
- contains: {
13
- fileType: FileType.RecordContent,
14
- },
15
- },
16
- ],
17
- });
18
- export const RecordAttachmentFilter = JSON.stringify({
19
- filter: [
20
- {
21
- contains: {
22
- fileType: FileType.RecordAttachment,
23
- },
24
- },
25
- ],
26
- });
27
- export const GetRecordQuery = (depth = DEFAULT_BREADCRUMB_DEPTH) => gql `
28
- query Record(
29
- $id: LrRelayIdInput!,
30
- $cachedKeyIds: [LrRelayIdInput!],
31
- $categoryFilter: LrJSONFilter,
32
- $contentFilter: LrJSONFilter,
33
- $attachmentsFilter: LrJSONFilter,
34
- ) {
35
- record: directory(id: $id) {
36
- id
37
- keyId
38
- archived
39
- plainMeta
40
- cipherMeta
41
- created
42
- modified
43
- ${AccessFields}
44
- ${parentCategoriesField(depth)}
45
- content: childFileLinks(plainMeta: $contentFilter) {
46
- edges {
47
- node {
48
- childFile {
49
- id
50
- keyId
51
- archived
52
- currentVersion {
53
- state {
54
- id
55
- keyId
56
- plainMeta
57
- cipherMeta
58
- created
59
- modified
60
- }
61
- }
62
- versions {
63
- edges {
64
- node {
65
- operation
66
- }
67
- }
68
- }
69
- }
70
- }
71
- }
72
- }
73
- attachments: childFileLinks(plainMeta: $attachmentsFilter) {
74
- edges {
75
- node {
76
- childFile {
77
- id
78
- keyId
79
- archived
80
- currentVersion {
81
- state {
82
- id
83
- keyId
84
- plainMeta
85
- cipherMeta
86
- contentResource
87
- }
88
- }
89
- versions {
90
- edges {
91
- node {
92
- operation
93
- }
94
- }
95
- }
96
- }
97
- }
98
- }
99
- }
100
- }
101
- keyGraph(cachedKeyIds: $cachedKeyIds) {
102
- ...KeyGraphFragment
103
- }
104
- }
105
- ${KeyGraphFragment}
106
- `;
107
- export const CreateRecordContainerMutation = gql `
108
- mutation CreateRecordContainer(
109
- $plainMeta: LrJSONString
110
- $cipherMeta: String
111
- $parentDirectories: [ParentDirectoryInput!]
112
- $parentRootDirectory: ParentRootDirectoryInput
113
- ) {
114
- new: createDirectory(
115
- input: {
116
- plainMeta: $plainMeta
117
- cipherMeta: $cipherMeta
118
- parentDirectories: $parentDirectories
119
- parentRootDirectory: $parentRootDirectory
120
- }
121
- ) {
122
- category: directory {
123
- id
124
- keyId
125
- }
126
- }
127
- }
128
- `;
129
- export const CreateRecordMutation = gql `
130
- mutation CreateFile($input: CreateFileInput!) {
131
- createFile(input: $input) {
132
- file {
133
- id
134
- }
135
- }
136
- }
137
- `;
138
- export const UpdateRecordContainerMutation = gql `
139
- mutation UpdateRecord($input: UpdateDirectoryInput!) {
140
- updateDirectory(input: $input) {
141
- directory {
142
- id
143
- }
144
- }
145
- }
146
- `;
147
- export const UpdateRecordMutation = gql `
148
- mutation UpdateFile($input: UpdateFileInput!) {
149
- updateFile(input: $input) {
150
- file {
151
- id
152
- }
153
- }
154
- }
155
- `;
156
- export const DeleteRecordMutation = gql `
157
- mutation DeleteRecord($recordId: LrRelayIdInput!) {
158
- deleteDirectory(input: { directoryId: $recordId }) {
159
- id
160
- }
161
- }
162
- `;
163
- export const CreateFileMutation = gql `
164
- mutation CreateFile($input: CreateFileInput!) {
165
- createFile(input: $input) {
166
- file {
167
- id
168
- }
169
- }
170
- }
171
- `;
172
- export const DeleteFileMutation = gql `
173
- mutation DeleteFile($fileId: LrRelayIdInput!) {
174
- deleteFile(input: { fileId: $fileId }) {
175
- id
176
- }
177
- }
178
- `;
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmdxbC5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvcmVjb3JkL3JlY29yZC5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLFlBQVksR0FDYixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDbEIsNENBQWdDLENBQUE7SUFDaEMsa0RBQXNDLENBQUE7QUFDeEMsQ0FBQyxFQUhXLFFBQVEsS0FBUixRQUFRLFFBR25CO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNoRCxNQUFNLEVBQUU7UUFDTjtZQUNFLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsUUFBUSxDQUFDLGFBQWE7YUFDakM7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxNQUFNLEVBQUU7UUFDTjtZQUNFLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjthQUNwQztTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztNQWdCakUsWUFBWTtNQUNaLHFCQUFxQixDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZEaEMsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCL0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRL0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTXRDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUXBDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7OztDQU1wQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBLZXlHcmFwaEZyYWdtZW50IH0gZnJvbSAnLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XG5pbXBvcnQge1xuICBERUZBVUxUX0JSRUFEQ1JVTUJfREVQVEgsXG4gIHBhcmVudENhdGVnb3JpZXNGaWVsZCxcbiAgQWNjZXNzRmllbGRzLFxufSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5ncWwnO1xuXG5leHBvcnQgZW51bSBGaWxlVHlwZSB7XG4gIFJlY29yZENvbnRlbnQgPSAncmVjb3JkLWNvbnRlbnQnLFxuICBSZWNvcmRBdHRhY2htZW50ID0gJ3JlY29yZC1hdHRhY2htZW50Jyxcbn1cblxuZXhwb3J0IGNvbnN0IFJlY29yZENvbnRlbnRGaWx0ZXIgPSBKU09OLnN0cmluZ2lmeSh7XG4gIGZpbHRlcjogW1xuICAgIHtcbiAgICAgIGNvbnRhaW5zOiB7XG4gICAgICAgIGZpbGVUeXBlOiBGaWxlVHlwZS5SZWNvcmRDb250ZW50LFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxufSk7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmRBdHRhY2htZW50RmlsdGVyID0gSlNPTi5zdHJpbmdpZnkoe1xuICBmaWx0ZXI6IFtcbiAgICB7XG4gICAgICBjb250YWluczoge1xuICAgICAgICBmaWxlVHlwZTogRmlsZVR5cGUuUmVjb3JkQXR0YWNobWVudCxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0UmVjb3JkUXVlcnkgPSAoZGVwdGggPSBERUZBVUxUX0JSRUFEQ1JVTUJfREVQVEgpID0+IGdxbGBcbnF1ZXJ5IFJlY29yZChcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCEsXG4gICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdLFxuICAkY2F0ZWdvcnlGaWx0ZXI6IExySlNPTkZpbHRlcixcbiAgJGNvbnRlbnRGaWx0ZXI6IExySlNPTkZpbHRlcixcbiAgJGF0dGFjaG1lbnRzRmlsdGVyOiBMckpTT05GaWx0ZXIsXG4pIHtcbiAgcmVjb3JkOiBkaXJlY3RvcnkoaWQ6ICRpZCkge1xuICAgIGlkXG4gICAga2V5SWRcbiAgICBhcmNoaXZlZFxuICAgIHBsYWluTWV0YVxuICAgIGNpcGhlck1ldGFcbiAgICBjcmVhdGVkXG4gICAgbW9kaWZpZWRcbiAgICAke0FjY2Vzc0ZpZWxkc31cbiAgICAke3BhcmVudENhdGVnb3JpZXNGaWVsZChkZXB0aCl9XG4gICAgY29udGVudDogY2hpbGRGaWxlTGlua3MocGxhaW5NZXRhOiAkY29udGVudEZpbHRlcikge1xuICAgICAgZWRnZXMge1xuICAgICAgICBub2RlIHtcbiAgICAgICAgICBjaGlsZEZpbGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGtleUlkXG4gICAgICAgICAgICBhcmNoaXZlZFxuICAgICAgICAgICAgY3VycmVudFZlcnNpb24ge1xuICAgICAgICAgICAgICBzdGF0ZSB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBrZXlJZFxuICAgICAgICAgICAgICAgIHBsYWluTWV0YVxuICAgICAgICAgICAgICAgIGNpcGhlck1ldGFcbiAgICAgICAgICAgICAgICBjcmVhdGVkXG4gICAgICAgICAgICAgICAgbW9kaWZpZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmVyc2lvbnMge1xuICAgICAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICAgICAgbm9kZSB7XG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb25cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXR0YWNobWVudHM6IGNoaWxkRmlsZUxpbmtzKHBsYWluTWV0YTogJGF0dGFjaG1lbnRzRmlsdGVyKSB7XG4gICAgICBlZGdlcyB7XG4gICAgICAgIG5vZGUge1xuICAgICAgICAgIGNoaWxkRmlsZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAga2V5SWRcbiAgICAgICAgICAgIGFyY2hpdmVkXG4gICAgICAgICAgICBjdXJyZW50VmVyc2lvbiB7XG4gICAgICAgICAgICAgIHN0YXRlIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIGtleUlkXG4gICAgICAgICAgICAgICAgcGxhaW5NZXRhXG4gICAgICAgICAgICAgICAgY2lwaGVyTWV0YVxuICAgICAgICAgICAgICAgIGNvbnRlbnRSZXNvdXJjZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZXJzaW9ucyB7XG4gICAgICAgICAgICAgIGVkZ2VzIHtcbiAgICAgICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBrZXlHcmFwaChjYWNoZWRLZXlJZHM6ICRjYWNoZWRLZXlJZHMpIHtcbiAgICAuLi5LZXlHcmFwaEZyYWdtZW50XG4gIH1cbn1cbiR7S2V5R3JhcGhGcmFnbWVudH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVSZWNvcmRDb250YWluZXJNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQ3JlYXRlUmVjb3JkQ29udGFpbmVyKFxuICAgICRwbGFpbk1ldGE6IExySlNPTlN0cmluZ1xuICAgICRjaXBoZXJNZXRhOiBTdHJpbmdcbiAgICAkcGFyZW50RGlyZWN0b3JpZXM6IFtQYXJlbnREaXJlY3RvcnlJbnB1dCFdXG4gICAgJHBhcmVudFJvb3REaXJlY3Rvcnk6IFBhcmVudFJvb3REaXJlY3RvcnlJbnB1dFxuICApIHtcbiAgICBuZXc6IGNyZWF0ZURpcmVjdG9yeShcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIHBsYWluTWV0YTogJHBsYWluTWV0YVxuICAgICAgICBjaXBoZXJNZXRhOiAkY2lwaGVyTWV0YVxuICAgICAgICBwYXJlbnREaXJlY3RvcmllczogJHBhcmVudERpcmVjdG9yaWVzXG4gICAgICAgIHBhcmVudFJvb3REaXJlY3Rvcnk6ICRwYXJlbnRSb290RGlyZWN0b3J5XG4gICAgICB9XG4gICAgKSB7XG4gICAgICBjYXRlZ29yeTogZGlyZWN0b3J5IHtcbiAgICAgICAgaWRcbiAgICAgICAga2V5SWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVSZWNvcmRNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQ3JlYXRlRmlsZSgkaW5wdXQ6IENyZWF0ZUZpbGVJbnB1dCEpIHtcbiAgICBjcmVhdGVGaWxlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGZpbGUge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVJlY29yZENvbnRhaW5lck11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBVcGRhdGVSZWNvcmQoJGlucHV0OiBVcGRhdGVEaXJlY3RvcnlJbnB1dCEpIHtcbiAgICB1cGRhdGVEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgZGlyZWN0b3J5IHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVSZWNvcmRNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gVXBkYXRlRmlsZSgkaW5wdXQ6IFVwZGF0ZUZpbGVJbnB1dCEpIHtcbiAgICB1cGRhdGVGaWxlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGZpbGUge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVJlY29yZE11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBEZWxldGVSZWNvcmQoJHJlY29yZElkOiBMclJlbGF5SWRJbnB1dCEpIHtcbiAgICBkZWxldGVEaXJlY3RvcnkoaW5wdXQ6IHsgZGlyZWN0b3J5SWQ6ICRyZWNvcmRJZCB9KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUZpbGVNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQ3JlYXRlRmlsZSgkaW5wdXQ6IENyZWF0ZUZpbGVJbnB1dCEpIHtcbiAgICBjcmVhdGVGaWxlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGZpbGUge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUZpbGVNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gRGVsZXRlRmlsZSgkZmlsZUlkOiBMclJlbGF5SWRJbnB1dCEpIHtcbiAgICBkZWxldGVGaWxlKGlucHV0OiB7IGZpbGVJZDogJGZpbGVJZCB9KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcbiJdfQ==
1
+ import gql from 'graphql-tag';
2
+ import { KeyGraphFragment } from '../_common/queries.gql';
3
+ import { DEFAULT_BREADCRUMB_DEPTH, parentCategoriesField, AccessFields, } from '../category/category.gql';
4
+ export var FileType;
5
+ (function (FileType) {
6
+ FileType["RecordContent"] = "record-content";
7
+ FileType["RecordAttachment"] = "record-attachment";
8
+ })(FileType || (FileType = {}));
9
+ export const RecordContentFilter = JSON.stringify({
10
+ filter: [
11
+ {
12
+ contains: {
13
+ fileType: FileType.RecordContent,
14
+ },
15
+ },
16
+ ],
17
+ });
18
+ export const RecordAttachmentFilter = JSON.stringify({
19
+ filter: [
20
+ {
21
+ contains: {
22
+ fileType: FileType.RecordAttachment,
23
+ },
24
+ },
25
+ ],
26
+ });
27
+ export const GetRecordQuery = (depth = DEFAULT_BREADCRUMB_DEPTH) => gql `
28
+ query Record(
29
+ $id: LrRelayIdInput!,
30
+ $cachedKeyIds: [LrRelayIdInput!],
31
+ $categoryFilter: LrJSONFilter,
32
+ $contentFilter: LrJSONFilter,
33
+ $attachmentsFilter: LrJSONFilter,
34
+ ) {
35
+ record: directory(id: $id) {
36
+ id
37
+ keyId
38
+ archived
39
+ plainMeta
40
+ cipherMeta
41
+ created
42
+ modified
43
+ ${AccessFields}
44
+ ${parentCategoriesField(depth)}
45
+ content: childFileLinks(plainMeta: $contentFilter) {
46
+ edges {
47
+ node {
48
+ childFile {
49
+ id
50
+ keyId
51
+ archived
52
+ currentVersion {
53
+ state {
54
+ id
55
+ keyId
56
+ plainMeta
57
+ cipherMeta
58
+ created
59
+ modified
60
+ }
61
+ }
62
+ versions {
63
+ edges {
64
+ node {
65
+ operation
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ attachments: childFileLinks(plainMeta: $attachmentsFilter) {
74
+ edges {
75
+ node {
76
+ childFile {
77
+ id
78
+ keyId
79
+ archived
80
+ currentVersion {
81
+ state {
82
+ id
83
+ keyId
84
+ plainMeta
85
+ cipherMeta
86
+ contentResource
87
+ }
88
+ }
89
+ versions {
90
+ edges {
91
+ node {
92
+ operation
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ keyGraph(cachedKeyIds: $cachedKeyIds) {
102
+ ...KeyGraphFragment
103
+ }
104
+ }
105
+ ${KeyGraphFragment}
106
+ `;
107
+ export const CreateRecordContainerMutation = gql `
108
+ mutation CreateRecordContainer(
109
+ $plainMeta: LrJSONString
110
+ $cipherMeta: String
111
+ $parentDirectories: [ParentDirectoryInput!]
112
+ $parentRootDirectory: ParentRootDirectoryInput
113
+ ) {
114
+ new: createDirectory(
115
+ input: {
116
+ plainMeta: $plainMeta
117
+ cipherMeta: $cipherMeta
118
+ parentDirectories: $parentDirectories
119
+ parentRootDirectory: $parentRootDirectory
120
+ }
121
+ ) {
122
+ category: directory {
123
+ id
124
+ keyId
125
+ }
126
+ }
127
+ }
128
+ `;
129
+ export const CreateRecordMutation = gql `
130
+ mutation CreateFile($input: CreateFileInput!) {
131
+ createFile(input: $input) {
132
+ file {
133
+ id
134
+ }
135
+ }
136
+ }
137
+ `;
138
+ export const UpdateRecordContainerMutation = gql `
139
+ mutation UpdateRecord($input: UpdateDirectoryInput!) {
140
+ updateDirectory(input: $input) {
141
+ directory {
142
+ id
143
+ }
144
+ }
145
+ }
146
+ `;
147
+ export const UpdateRecordMutation = gql `
148
+ mutation UpdateFile($input: UpdateFileInput!) {
149
+ updateFile(input: $input) {
150
+ file {
151
+ id
152
+ }
153
+ }
154
+ }
155
+ `;
156
+ export const DeleteRecordMutation = gql `
157
+ mutation DeleteRecord($recordId: LrRelayIdInput!) {
158
+ deleteDirectory(input: { directoryId: $recordId }) {
159
+ id
160
+ }
161
+ }
162
+ `;
163
+ export const CreateFileMutation = gql `
164
+ mutation CreateFile($input: CreateFileInput!) {
165
+ createFile(input: $input) {
166
+ file {
167
+ id
168
+ }
169
+ }
170
+ }
171
+ `;
172
+ export const DeleteFileMutation = gql `
173
+ mutation DeleteFile($fileId: LrRelayIdInput!) {
174
+ deleteFile(input: { fileId: $fileId }) {
175
+ id
176
+ }
177
+ }
178
+ `;
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9yZWNvcmQvcmVjb3JkLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsWUFBWSxHQUNiLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNsQiw0Q0FBZ0MsQ0FBQTtJQUNoQyxrREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2hELE1BQU0sRUFBRTtRQUNOO1lBQ0UsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYTthQUNqQztTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25ELE1BQU0sRUFBRTtRQUNOO1lBQ0UsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxRQUFRLENBQUMsZ0JBQWdCO2FBQ3BDO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssR0FBRyx3QkFBd0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O01BZ0JqRSxZQUFZO01BQ1oscUJBQXFCLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkRoQyxnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUIvQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVF0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVEvQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVF0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRcEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTXBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcclxuaW1wb3J0IHsgS2V5R3JhcGhGcmFnbWVudCB9IGZyb20gJy4uL19jb21tb24vcXVlcmllcy5ncWwnO1xyXG5pbXBvcnQge1xyXG4gIERFRkFVTFRfQlJFQURDUlVNQl9ERVBUSCxcclxuICBwYXJlbnRDYXRlZ29yaWVzRmllbGQsXHJcbiAgQWNjZXNzRmllbGRzLFxyXG59IGZyb20gJy4uL2NhdGVnb3J5L2NhdGVnb3J5LmdxbCc7XHJcblxyXG5leHBvcnQgZW51bSBGaWxlVHlwZSB7XHJcbiAgUmVjb3JkQ29udGVudCA9ICdyZWNvcmQtY29udGVudCcsXHJcbiAgUmVjb3JkQXR0YWNobWVudCA9ICdyZWNvcmQtYXR0YWNobWVudCcsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSZWNvcmRDb250ZW50RmlsdGVyID0gSlNPTi5zdHJpbmdpZnkoe1xyXG4gIGZpbHRlcjogW1xyXG4gICAge1xyXG4gICAgICBjb250YWluczoge1xyXG4gICAgICAgIGZpbGVUeXBlOiBGaWxlVHlwZS5SZWNvcmRDb250ZW50LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdLFxyXG59KTtcclxuXHJcbmV4cG9ydCBjb25zdCBSZWNvcmRBdHRhY2htZW50RmlsdGVyID0gSlNPTi5zdHJpbmdpZnkoe1xyXG4gIGZpbHRlcjogW1xyXG4gICAge1xyXG4gICAgICBjb250YWluczoge1xyXG4gICAgICAgIGZpbGVUeXBlOiBGaWxlVHlwZS5SZWNvcmRBdHRhY2htZW50LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdLFxyXG59KTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZXRSZWNvcmRRdWVyeSA9IChkZXB0aCA9IERFRkFVTFRfQlJFQURDUlVNQl9ERVBUSCkgPT4gZ3FsYFxyXG5xdWVyeSBSZWNvcmQoXHJcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCEsXHJcbiAgJGNhY2hlZEtleUlkczogW0xyUmVsYXlJZElucHV0IV0sXHJcbiAgJGNhdGVnb3J5RmlsdGVyOiBMckpTT05GaWx0ZXIsXHJcbiAgJGNvbnRlbnRGaWx0ZXI6IExySlNPTkZpbHRlcixcclxuICAkYXR0YWNobWVudHNGaWx0ZXI6IExySlNPTkZpbHRlcixcclxuKSB7XHJcbiAgcmVjb3JkOiBkaXJlY3RvcnkoaWQ6ICRpZCkge1xyXG4gICAgaWRcclxuICAgIGtleUlkXHJcbiAgICBhcmNoaXZlZFxyXG4gICAgcGxhaW5NZXRhXHJcbiAgICBjaXBoZXJNZXRhXHJcbiAgICBjcmVhdGVkXHJcbiAgICBtb2RpZmllZFxyXG4gICAgJHtBY2Nlc3NGaWVsZHN9XHJcbiAgICAke3BhcmVudENhdGVnb3JpZXNGaWVsZChkZXB0aCl9XHJcbiAgICBjb250ZW50OiBjaGlsZEZpbGVMaW5rcyhwbGFpbk1ldGE6ICRjb250ZW50RmlsdGVyKSB7XHJcbiAgICAgIGVkZ2VzIHtcclxuICAgICAgICBub2RlIHtcclxuICAgICAgICAgIGNoaWxkRmlsZSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgIGFyY2hpdmVkXHJcbiAgICAgICAgICAgIGN1cnJlbnRWZXJzaW9uIHtcclxuICAgICAgICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAga2V5SWRcclxuICAgICAgICAgICAgICAgIHBsYWluTWV0YVxyXG4gICAgICAgICAgICAgICAgY2lwaGVyTWV0YVxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZFxyXG4gICAgICAgICAgICAgICAgbW9kaWZpZWRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmVyc2lvbnMge1xyXG4gICAgICAgICAgICAgIGVkZ2VzIHtcclxuICAgICAgICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb25cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGF0dGFjaG1lbnRzOiBjaGlsZEZpbGVMaW5rcyhwbGFpbk1ldGE6ICRhdHRhY2htZW50c0ZpbHRlcikge1xyXG4gICAgICBlZGdlcyB7XHJcbiAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICBjaGlsZEZpbGUge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBrZXlJZFxyXG4gICAgICAgICAgICBhcmNoaXZlZFxyXG4gICAgICAgICAgICBjdXJyZW50VmVyc2lvbiB7XHJcbiAgICAgICAgICAgICAgc3RhdGUge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgICAgICAgIGNpcGhlck1ldGFcclxuICAgICAgICAgICAgICAgIGNvbnRlbnRSZXNvdXJjZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2ZXJzaW9ucyB7XHJcbiAgICAgICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBrZXlHcmFwaChjYWNoZWRLZXlJZHM6ICRjYWNoZWRLZXlJZHMpIHtcclxuICAgIC4uLktleUdyYXBoRnJhZ21lbnRcclxuICB9XHJcbn1cclxuJHtLZXlHcmFwaEZyYWdtZW50fVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZVJlY29yZENvbnRhaW5lck11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIENyZWF0ZVJlY29yZENvbnRhaW5lcihcclxuICAgICRwbGFpbk1ldGE6IExySlNPTlN0cmluZ1xyXG4gICAgJGNpcGhlck1ldGE6IFN0cmluZ1xyXG4gICAgJHBhcmVudERpcmVjdG9yaWVzOiBbUGFyZW50RGlyZWN0b3J5SW5wdXQhXVxyXG4gICAgJHBhcmVudFJvb3REaXJlY3Rvcnk6IFBhcmVudFJvb3REaXJlY3RvcnlJbnB1dFxyXG4gICkge1xyXG4gICAgbmV3OiBjcmVhdGVEaXJlY3RvcnkoXHJcbiAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgcGxhaW5NZXRhOiAkcGxhaW5NZXRhXHJcbiAgICAgICAgY2lwaGVyTWV0YTogJGNpcGhlck1ldGFcclxuICAgICAgICBwYXJlbnREaXJlY3RvcmllczogJHBhcmVudERpcmVjdG9yaWVzXHJcbiAgICAgICAgcGFyZW50Um9vdERpcmVjdG9yeTogJHBhcmVudFJvb3REaXJlY3RvcnlcclxuICAgICAgfVxyXG4gICAgKSB7XHJcbiAgICAgIGNhdGVnb3J5OiBkaXJlY3Rvcnkge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAga2V5SWRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVSZWNvcmRNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBDcmVhdGVGaWxlKCRpbnB1dDogQ3JlYXRlRmlsZUlucHV0ISkge1xyXG4gICAgY3JlYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVXBkYXRlUmVjb3JkQ29udGFpbmVyTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gVXBkYXRlUmVjb3JkKCRpbnB1dDogVXBkYXRlRGlyZWN0b3J5SW5wdXQhKSB7XHJcbiAgICB1cGRhdGVEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBkaXJlY3Rvcnkge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVXBkYXRlUmVjb3JkTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gVXBkYXRlRmlsZSgkaW5wdXQ6IFVwZGF0ZUZpbGVJbnB1dCEpIHtcclxuICAgIHVwZGF0ZUZpbGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBmaWxlIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERlbGV0ZVJlY29yZE11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIERlbGV0ZVJlY29yZCgkcmVjb3JkSWQ6IExyUmVsYXlJZElucHV0ISkge1xyXG4gICAgZGVsZXRlRGlyZWN0b3J5KGlucHV0OiB7IGRpcmVjdG9yeUlkOiAkcmVjb3JkSWQgfSkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVGaWxlTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gQ3JlYXRlRmlsZSgkaW5wdXQ6IENyZWF0ZUZpbGVJbnB1dCEpIHtcclxuICAgIGNyZWF0ZUZpbGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBmaWxlIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERlbGV0ZUZpbGVNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBEZWxldGVGaWxlKCRmaWxlSWQ6IExyUmVsYXlJZElucHV0ISkge1xyXG4gICAgZGVsZXRlRmlsZShpbnB1dDogeyBmaWxlSWQ6ICRmaWxlSWQgfSkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuIl19