@lifeready/core 1.0.4 → 1.0.6

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 (226) 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 +1 -1
  5. package/bundles/lifeready-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/_common/ast.js +40 -40
  7. package/esm2015/lib/_common/deferred-promise.js +24 -24
  8. package/esm2015/lib/_common/exceptions.js +157 -157
  9. package/esm2015/lib/_common/queries.gql.js +190 -190
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  11. package/esm2015/lib/_common/types.js +1 -1
  12. package/esm2015/lib/_common/utils.js +44 -44
  13. package/esm2015/lib/api/contact-card.gql.js +79 -79
  14. package/esm2015/lib/api/contact-card.service.js +154 -154
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  16. package/esm2015/lib/api/contact-card2.service.js +103 -103
  17. package/esm2015/lib/api/file.service.js +74 -74
  18. package/esm2015/lib/api/item2.gql.js +110 -110
  19. package/esm2015/lib/api/item2.service.js +311 -311
  20. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  21. package/esm2015/lib/api/key-exchange.service.js +442 -442
  22. package/esm2015/lib/api/key-exchange.types.js +18 -18
  23. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  24. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  25. package/esm2015/lib/api/lock.gql.js +40 -40
  26. package/esm2015/lib/api/lock.service.js +64 -64
  27. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  28. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  29. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  30. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  31. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  32. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  33. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  34. package/esm2015/lib/api/message.service.js +138 -138
  35. package/esm2015/lib/api/persist.service.js +181 -181
  36. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  37. package/esm2015/lib/api/query-processor/index.js +3 -3
  38. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -192
  39. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  40. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  41. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  42. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  43. package/esm2015/lib/api/time.service.js +146 -146
  44. package/esm2015/lib/api/types/graphql.types.js +7 -7
  45. package/esm2015/lib/api/types/index.js +3 -3
  46. package/esm2015/lib/api/types/lr-graphql.types.js +71 -71
  47. package/esm2015/lib/auth/auth.config.js +57 -57
  48. package/esm2015/lib/auth/auth.gql.js +48 -48
  49. package/esm2015/lib/auth/auth.types.js +27 -27
  50. package/esm2015/lib/auth/idle.service.js +168 -168
  51. package/esm2015/lib/auth/idle.types.js +7 -7
  52. package/esm2015/lib/auth/lbop.service.js +355 -355
  53. package/esm2015/lib/auth/life-ready-auth.service.js +500 -500
  54. package/esm2015/lib/auth/password.service.js +320 -320
  55. package/esm2015/lib/auth/register.service.js +172 -172
  56. package/esm2015/lib/auth/two-factor.service.js +74 -74
  57. package/esm2015/lib/category/category-meta.service.js +99 -99
  58. package/esm2015/lib/category/category.gql.js +406 -406
  59. package/esm2015/lib/category/category.service.js +390 -390
  60. package/esm2015/lib/category/category.types.js +29 -29
  61. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  62. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  63. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  64. package/esm2015/lib/cryptography/key-graph.service.js +280 -280
  65. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  66. package/esm2015/lib/cryptography/key.service.js +124 -124
  67. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  68. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  69. package/esm2015/lib/life-ready.config.js +84 -84
  70. package/esm2015/lib/life-ready.module.js +74 -74
  71. package/esm2015/lib/plan/plan.gql.js +123 -123
  72. package/esm2015/lib/plan/plan.service.js +149 -149
  73. package/esm2015/lib/plan/plan.types.js +11 -11
  74. package/esm2015/lib/record/record-attachment.service.js +101 -101
  75. package/esm2015/lib/record/record.gql.js +179 -179
  76. package/esm2015/lib/record/record.service.js +206 -206
  77. package/esm2015/lib/record/record.types.js +15 -15
  78. package/esm2015/lib/record-type/record-type.service.js +75 -75
  79. package/esm2015/lib/record-type/record-type.types.js +28 -28
  80. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -105
  81. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -1
  82. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -300
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -52
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -97
  85. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -1
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -150
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -229
  88. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -1
  89. package/esm2015/lib/scenario/scenario-setup.service.js +269 -269
  90. package/esm2015/lib/scenario/scenario.gql.js +368 -368
  91. package/esm2015/lib/scenario/scenario.service.js +611 -611
  92. package/esm2015/lib/scenario/scenario.types.js +64 -64
  93. package/esm2015/lib/search/search.gql.js +62 -62
  94. package/esm2015/lib/search/search.service.js +156 -156
  95. package/esm2015/lib/search/search.types.js +6 -6
  96. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -112
  97. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  98. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  99. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -232
  100. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -299
  101. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  102. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  103. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  104. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  105. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  106. package/esm2015/lib/users/profile-details.service.js +214 -214
  107. package/esm2015/lib/users/profile.gql.js +97 -97
  108. package/esm2015/lib/users/profile.service.js +169 -169
  109. package/esm2015/lib/users/profile.types.js +34 -34
  110. package/esm2015/lib/users/user.gql.js +60 -60
  111. package/esm2015/lib/users/user.service.js +79 -79
  112. package/esm2015/lib/users/user.types.js +5 -5
  113. package/esm2015/lifeready-core.js +10 -10
  114. package/esm2015/public-api.js +81 -81
  115. package/fesm2015/lifeready-core.js +13088 -13088
  116. package/fesm2015/lifeready-core.js.map +1 -1
  117. package/lib/_common/ast.d.ts +11 -11
  118. package/lib/_common/deferred-promise.d.ts +12 -12
  119. package/lib/_common/exceptions.d.ts +109 -109
  120. package/lib/_common/queries.gql.d.ts +10 -10
  121. package/lib/_common/run-outside-angular.d.ts +14 -14
  122. package/lib/_common/types.d.ts +10 -10
  123. package/lib/_common/utils.d.ts +3 -3
  124. package/lib/api/contact-card.gql.d.ts +7 -7
  125. package/lib/api/contact-card.service.d.ts +52 -52
  126. package/lib/api/contact-card2.gql.d.ts +34 -34
  127. package/lib/api/contact-card2.service.d.ts +49 -49
  128. package/lib/api/file.service.d.ts +18 -18
  129. package/lib/api/item2.gql.d.ts +96 -96
  130. package/lib/api/item2.service.d.ts +177 -177
  131. package/lib/api/key-exchange.gql.d.ts +9 -9
  132. package/lib/api/key-exchange.service.d.ts +39 -39
  133. package/lib/api/key-exchange.types.d.ts +196 -196
  134. package/lib/api/key-exchange2.gql.d.ts +125 -125
  135. package/lib/api/key-exchange2.service.d.ts +187 -187
  136. package/lib/api/lock.gql.d.ts +27 -27
  137. package/lib/api/lock.service.d.ts +25 -25
  138. package/lib/api/lr-apollo.service.d.ts +15 -15
  139. package/lib/api/lr-graphql/index.d.ts +5 -5
  140. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  141. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -27
  142. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  143. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  144. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  145. package/lib/api/message.service.d.ts +58 -58
  146. package/lib/api/persist.service.d.ts +31 -31
  147. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  148. package/lib/api/query-processor/index.d.ts +2 -2
  149. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  150. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  151. package/lib/api/shared-contact-card.service.d.ts +33 -33
  152. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  153. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  154. package/lib/api/time.service.d.ts +16 -16
  155. package/lib/api/types/graphql.types.d.ts +29 -29
  156. package/lib/api/types/index.d.ts +2 -2
  157. package/lib/api/types/lr-graphql.types.d.ts +393 -385
  158. package/lib/auth/auth.config.d.ts +5 -5
  159. package/lib/auth/auth.gql.d.ts +15 -15
  160. package/lib/auth/auth.types.d.ts +66 -66
  161. package/lib/auth/idle.service.d.ts +40 -40
  162. package/lib/auth/idle.types.d.ts +10 -10
  163. package/lib/auth/lbop.service.d.ts +91 -91
  164. package/lib/auth/life-ready-auth.service.d.ts +59 -59
  165. package/lib/auth/password.service.d.ts +78 -78
  166. package/lib/auth/register.service.d.ts +25 -25
  167. package/lib/auth/two-factor.service.d.ts +15 -15
  168. package/lib/category/category-meta.service.d.ts +23 -23
  169. package/lib/category/category.gql.d.ts +45 -45
  170. package/lib/category/category.service.d.ts +67 -67
  171. package/lib/category/category.types.d.ts +79 -79
  172. package/lib/cryptography/cryptography.types.d.ts +83 -83
  173. package/lib/cryptography/encryption.service.d.ts +41 -41
  174. package/lib/cryptography/key-factory.service.d.ts +38 -38
  175. package/lib/cryptography/key-graph.service.d.ts +33 -33
  176. package/lib/cryptography/key-meta.service.d.ts +44 -44
  177. package/lib/cryptography/key.service.d.ts +36 -36
  178. package/lib/cryptography/slip39.service.d.ts +43 -43
  179. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  180. package/lib/life-ready.config.d.ts +14 -14
  181. package/lib/life-ready.module.d.ts +5 -5
  182. package/lib/plan/plan.gql.d.ts +11 -11
  183. package/lib/plan/plan.service.d.ts +33 -33
  184. package/lib/plan/plan.types.d.ts +31 -31
  185. package/lib/record/record-attachment.service.d.ts +16 -16
  186. package/lib/record/record.gql.d.ts +14 -14
  187. package/lib/record/record.service.d.ts +25 -25
  188. package/lib/record/record.types.d.ts +57 -57
  189. package/lib/record-type/record-type.service.d.ts +11 -11
  190. package/lib/record-type/record-type.types.d.ts +50 -50
  191. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -7
  192. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -63
  193. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -32
  194. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -5
  195. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -17
  196. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -18
  197. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -8
  198. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -30
  199. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -54
  200. package/lib/scenario/scenario-setup.service.d.ts +22 -22
  201. package/lib/scenario/scenario.gql.d.ts +34 -34
  202. package/lib/scenario/scenario.service.d.ts +58 -58
  203. package/lib/scenario/scenario.types.d.ts +217 -217
  204. package/lib/search/search.gql.d.ts +1 -1
  205. package/lib/search/search.service.d.ts +25 -25
  206. package/lib/search/search.types.d.ts +20 -20
  207. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  208. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  209. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  210. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -218
  211. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -130
  212. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  213. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  214. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  215. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  216. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  217. package/lib/users/profile-details.service.d.ts +21 -21
  218. package/lib/users/profile.gql.d.ts +11 -11
  219. package/lib/users/profile.service.d.ts +35 -35
  220. package/lib/users/profile.types.d.ts +96 -96
  221. package/lib/users/user.gql.d.ts +9 -9
  222. package/lib/users/user.service.d.ts +12 -12
  223. package/lib/users/user.types.d.ts +23 -23
  224. package/lifeready-core.d.ts +9 -9
  225. package/package.json +1 -1
  226. package/public-api.d.ts +77 -77
@@ -1,188 +1,188 @@
1
- import gql from 'graphql-tag';
2
- import { FetchKeyGraphField, KeyGraphFragment } from '../_common/queries.gql';
3
- export const KeyExchangeFields = `
4
- id
5
- token
6
- state
7
- mode
8
- isInitiator
9
- initiator {
10
- id
11
- username
12
- }
13
- responder {
14
- id
15
- username
16
- }
17
- created
18
- modified
19
- tokenExpiryTime
20
- isExpired
21
- initiatorRootKeyCipher
22
- initiatorActionRequired
23
- responderActionRequired
24
- responderEmailAddress
25
- otk {
26
- state
27
- otKeyParams
28
- otKeyCipher
29
- sharedKey {
30
- id
31
- }
32
- mkSharedKey {
33
- id
34
- }
35
- initiatorSigPxk {
36
- id
37
- }
38
- responderSigPxk {
39
- id
40
- }
41
- initiatorOneTimePbkCipher
42
- responderPbkCipher
43
- }`;
44
- export const UserSharedKeyFields = `
45
- userSigPrk {
46
- id
47
- }
48
- otherSigPbk {
49
- id
50
- }
51
- sharedKey {
52
- id
53
- }
54
- mkSharedKey {
55
- id
56
- }
57
- mkPxk {
58
- id
59
- pbk
60
- }
61
- mkReshareRequestCipher
62
- mkReshareResponseCipher
63
- mkReshareRequestSent
64
- mkReshareResponseSent
65
- `;
66
- export const CurrentUserSharedKeyQuery = gql `
67
- query CurrentUserSharedKeyQuery(
68
- $username: String
69
- $userId: LrRelayIdInput
70
- $cachedKeyIds: [LrRelayIdInput!]
71
- ) {
72
- currentUserSharedKey(
73
- username: $username
74
- userId: $userId
75
- ) {
76
- userSharedKey {
77
- ${UserSharedKeyFields}
78
- }
79
- }
80
- keyGraph(cachedKeyIds: $cachedKeyIds) {
81
- ...KeyGraphFragment
82
- }
83
- }
84
- ${KeyGraphFragment}`;
85
- export const KeyExchangesQuery = gql `
86
- query KeyExchangeQuery(
87
- $orderBy: String
88
- $isExpired: Boolean
89
- $initiatorActionRequired: Boolean
90
- $responderActionRequired: Boolean
91
- $initiator: ID
92
- $responder: ID
93
- $state: String
94
- ) {
95
- keyExchanges(
96
- orderBy: $orderBy
97
- isExpired: $isExpired
98
- initiatorActionRequired: $initiatorActionRequired
99
- responderActionRequired: $responderActionRequired
100
- initiator: $initiator
101
- responder: $responder
102
- state: $state
103
- ) {
104
- edges {
105
- node {
106
- ${KeyExchangeFields}
107
- }
108
- }
109
- }
110
- keyGraph {
111
- ...KeyGraphFragment
112
- }
113
- }
114
- ${KeyGraphFragment}
115
- `;
116
- export const KeyExchangeQuery = gql `
117
- query KeyExchangeQuery(
118
- $id: LrRelayIdInput!
119
- ) {
120
- keyExchange(
121
- id: $id
122
- ) {
123
- ${KeyExchangeFields}
124
- }
125
- keyGraph {
126
- ...KeyGraphFragment
127
- }
128
- }
129
- ${KeyGraphFragment}
130
- `;
131
- // Key graph is only available for authenticated users. This query
132
- // is for unauthenticated users.
133
- export const KeyExchangeTokenQuery = gql `
134
- query KeyExchangeQuery(
135
- $id: LrRelayIdInput!
136
- $token: String
137
- ) {
138
- keyExchange(
139
- id: $id
140
- token: $token
141
- ) {
142
- ${KeyExchangeFields}
143
- }
144
- }`;
145
- export const InitiateOtkMutation = gql `
146
- mutation InitiateKeyExchangeOtk(
147
- $input: InitiateKeyExchangeOtkInput!
148
- ) {
149
- initiateKeyExchangeOtk(input: $input) {
150
- keyExchange {
151
- ${KeyExchangeFields}
152
- }
153
- }
154
- ${FetchKeyGraphField}
155
- }`;
156
- export const RespondOtkMutation = gql `
157
- mutation RespondKeyExchangeOtk(
158
- $input: RespondKeyExchangeOtkInput!
159
- ) {
160
- respondKeyExchangeOtk(input: $input) {
161
- keyExchange {
162
- ${KeyExchangeFields}
163
- }
164
- userSharedKey {
165
- ${UserSharedKeyFields}
166
- }
167
- tp {
168
- id
169
- }
170
- }
171
- }`;
172
- export const CompleteOtkMutation = gql `
173
- mutation CompleteKeyExchangeOtk(
174
- $input: CompleteKeyExchangeOtkInput!
175
- ) {
176
- completeKeyExchangeOtk(input: $input) {
177
- keyExchange {
178
- ${KeyExchangeFields}
179
- }
180
- userSharedKey {
181
- ${UserSharedKeyFields}
182
- }
183
- tp {
184
- id
185
- }
186
- }
187
- }`;
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkva2V5LWV4Y2hhbmdlLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qy9CLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztRQVdwQyxtQkFBbUI7Ozs7Ozs7RUFPekIsZ0JBQWdCLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXFCNUIsaUJBQWlCOzs7Ozs7OztFQVF2QixnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU83QixpQkFBaUI7Ozs7OztFQU1yQixnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLGtFQUFrRTtBQUNsRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7TUFTbEMsaUJBQWlCOztFQUVyQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNaEMsaUJBQWlCOzs7RUFHckIsa0JBQWtCO0VBQ2xCLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7OztRQU03QixpQkFBaUI7OztRQUdqQixtQkFBbUI7Ozs7OztFQU16QixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNOUIsaUJBQWlCOzs7UUFHakIsbUJBQW1COzs7Ozs7RUFNekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBGZXRjaEtleUdyYXBoRmllbGQsIEtleUdyYXBoRnJhZ21lbnQgfSBmcm9tICcuLi9fY29tbW9uL3F1ZXJpZXMuZ3FsJztcclxuXHJcbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZUZpZWxkcyA9IGBcclxuICBpZFxyXG4gIHRva2VuXHJcbiAgc3RhdGVcclxuICBtb2RlXHJcbiAgaXNJbml0aWF0b3JcclxuICBpbml0aWF0b3Ige1xyXG4gICAgaWRcclxuICAgIHVzZXJuYW1lXHJcbiAgfVxyXG4gIHJlc3BvbmRlciB7XHJcbiAgICBpZFxyXG4gICAgdXNlcm5hbWVcclxuICB9XHJcbiAgY3JlYXRlZFxyXG4gIG1vZGlmaWVkXHJcbiAgdG9rZW5FeHBpcnlUaW1lXHJcbiAgaXNFeHBpcmVkXHJcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlclxyXG4gIGluaXRpYXRvckFjdGlvblJlcXVpcmVkXHJcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcclxuICByZXNwb25kZXJFbWFpbEFkZHJlc3NcclxuICBvdGsge1xyXG4gICAgc3RhdGVcclxuICAgIG90S2V5UGFyYW1zXHJcbiAgICBvdEtleUNpcGhlclxyXG4gICAgc2hhcmVkS2V5IHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICAgIG1rU2hhcmVkS2V5IHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICAgIGluaXRpYXRvclNpZ1B4ayB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgICByZXNwb25kZXJTaWdQeGsge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gICAgaW5pdGlhdG9yT25lVGltZVBia0NpcGhlclxyXG4gICAgcmVzcG9uZGVyUGJrQ2lwaGVyXHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVzZXJTaGFyZWRLZXlGaWVsZHMgPSBgXHJcbiAgdXNlclNpZ1ByayB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBvdGhlclNpZ1BiayB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBzaGFyZWRLZXkge1xyXG4gICAgaWRcclxuICB9XHJcbiAgbWtTaGFyZWRLZXkge1xyXG4gICAgaWRcclxuICB9XHJcbiAgbWtQeGsge1xyXG4gICAgaWRcclxuICAgIHBia1xyXG4gIH1cclxuICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyXHJcbiAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcclxuICBta1Jlc2hhcmVSZXF1ZXN0U2VudFxyXG4gIG1rUmVzaGFyZVJlc3BvbnNlU2VudFxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkgPSBncWxgXHJcbnF1ZXJ5IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkoXHJcbiAgJHVzZXJuYW1lOiBTdHJpbmdcclxuICAkdXNlcklkOiBMclJlbGF5SWRJbnB1dFxyXG4gICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdXHJcbikge1xyXG4gIGN1cnJlbnRVc2VyU2hhcmVkS2V5KFxyXG4gICAgdXNlcm5hbWU6ICR1c2VybmFtZVxyXG4gICAgdXNlcklkOiAkdXNlcklkXHJcbiAgKSB7XHJcbiAgICB1c2VyU2hhcmVkS2V5IHtcclxuICAgICAgJHtVc2VyU2hhcmVkS2V5RmllbGRzfVxyXG4gICAgfVxyXG4gIH1cclxuICBrZXlHcmFwaChjYWNoZWRLZXlJZHM6ICRjYWNoZWRLZXlJZHMpIHtcclxuICAgIC4uLktleUdyYXBoRnJhZ21lbnRcclxuICB9XHJcbn1cclxuJHtLZXlHcmFwaEZyYWdtZW50fWA7XHJcblxyXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VzUXVlcnkgPSBncWxgXHJcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXHJcbiRvcmRlckJ5OiBTdHJpbmdcclxuJGlzRXhwaXJlZDogQm9vbGVhblxyXG4kaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWQ6IEJvb2xlYW5cclxuJHJlc3BvbmRlckFjdGlvblJlcXVpcmVkOiBCb29sZWFuXHJcbiRpbml0aWF0b3I6IElEXHJcbiRyZXNwb25kZXI6IElEXHJcbiRzdGF0ZTogU3RyaW5nXHJcbikge1xyXG5rZXlFeGNoYW5nZXMoXHJcbiAgb3JkZXJCeTogJG9yZGVyQnlcclxuICBpc0V4cGlyZWQ6ICRpc0V4cGlyZWRcclxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogJGluaXRpYXRvckFjdGlvblJlcXVpcmVkXHJcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWQ6ICRyZXNwb25kZXJBY3Rpb25SZXF1aXJlZFxyXG4gIGluaXRpYXRvcjogJGluaXRpYXRvclxyXG4gIHJlc3BvbmRlcjogJHJlc3BvbmRlclxyXG4gIHN0YXRlOiAkc3RhdGVcclxuKSB7XHJcbiAgZWRnZXMge1xyXG4gICAgbm9kZSB7XHJcbiAgICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbmtleUdyYXBoIHtcclxuICAuLi5LZXlHcmFwaEZyYWdtZW50XHJcbn1cclxufVxyXG4ke0tleUdyYXBoRnJhZ21lbnR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VRdWVyeSA9IGdxbGBcclxucXVlcnkgS2V5RXhjaGFuZ2VRdWVyeShcclxuICAkaWQ6IExyUmVsYXlJZElucHV0IVxyXG4pIHtcclxuICBrZXlFeGNoYW5nZShcclxuICAgIGlkOiAkaWRcclxuICApIHtcclxuICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XHJcbiAgfVxyXG4gIGtleUdyYXBoIHtcclxuICAgIC4uLktleUdyYXBoRnJhZ21lbnRcclxuICB9XHJcbn1cclxuJHtLZXlHcmFwaEZyYWdtZW50fVxyXG5gO1xyXG5cclxuLy8gS2V5IGdyYXBoIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBhdXRoZW50aWNhdGVkIHVzZXJzLiBUaGlzIHF1ZXJ5XHJcbi8vIGlzIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMuXHJcbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZVRva2VuUXVlcnkgPSBncWxgXHJcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXHJcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAkdG9rZW46IFN0cmluZ1xyXG4pIHtcclxuICBrZXlFeGNoYW5nZShcclxuICAgIGlkOiAkaWRcclxuICAgIHRva2VuOiAkdG9rZW5cclxuICApIHtcclxuICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XHJcbiAgfVxyXG59YDtcclxuXHJcbmV4cG9ydCBjb25zdCBJbml0aWF0ZU90a011dGF0aW9uID0gZ3FsYFxyXG5tdXRhdGlvbiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrKFxyXG4kaW5wdXQ6IEluaXRpYXRlS2V5RXhjaGFuZ2VPdGtJbnB1dCFcclxuKSB7XHJcbmluaXRpYXRlS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xyXG4gIGtleUV4Y2hhbmdlIHtcclxuICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XHJcbiAgfVxyXG59XHJcbiR7RmV0Y2hLZXlHcmFwaEZpZWxkfVxyXG59YDtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXNwb25kT3RrTXV0YXRpb24gPSBncWxgXHJcbm11dGF0aW9uIFJlc3BvbmRLZXlFeGNoYW5nZU90ayhcclxuICAkaW5wdXQ6IFJlc3BvbmRLZXlFeGNoYW5nZU90a0lucHV0IVxyXG4pIHtcclxuICByZXNwb25kS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAga2V5RXhjaGFuZ2Uge1xyXG4gICAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gICAgfVxyXG4gICAgdXNlclNoYXJlZEtleSB7XHJcbiAgICAgICR7VXNlclNoYXJlZEtleUZpZWxkc31cclxuICAgIH1cclxuICAgIHRwIHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICB9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbXBsZXRlT3RrTXV0YXRpb24gPSBncWxgXHJcbm11dGF0aW9uIENvbXBsZXRlS2V5RXhjaGFuZ2VPdGsoXHJcbiAgJGlucHV0OiBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXHJcbikge1xyXG4gIGNvbXBsZXRlS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAga2V5RXhjaGFuZ2Uge1xyXG4gICAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gICAgfVxyXG4gICAgdXNlclNoYXJlZEtleSB7XHJcbiAgICAgICR7VXNlclNoYXJlZEtleUZpZWxkc31cclxuICAgIH1cclxuICAgIHRwIHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICB9XHJcbn1gO1xyXG4iXX0=
1
+ import gql from 'graphql-tag';
2
+ import { FetchKeyGraphField, KeyGraphFragment } from '../_common/queries.gql';
3
+ export const KeyExchangeFields = `
4
+ id
5
+ token
6
+ state
7
+ mode
8
+ isInitiator
9
+ initiator {
10
+ id
11
+ username
12
+ }
13
+ responder {
14
+ id
15
+ username
16
+ }
17
+ created
18
+ modified
19
+ tokenExpiryTime
20
+ isExpired
21
+ initiatorRootKeyCipher
22
+ initiatorActionRequired
23
+ responderActionRequired
24
+ responderEmailAddress
25
+ otk {
26
+ state
27
+ otKeyParams
28
+ otKeyCipher
29
+ sharedKey {
30
+ id
31
+ }
32
+ mkSharedKey {
33
+ id
34
+ }
35
+ initiatorSigPxk {
36
+ id
37
+ }
38
+ responderSigPxk {
39
+ id
40
+ }
41
+ initiatorOneTimePbkCipher
42
+ responderPbkCipher
43
+ }`;
44
+ export const UserSharedKeyFields = `
45
+ userSigPrk {
46
+ id
47
+ }
48
+ otherSigPbk {
49
+ id
50
+ }
51
+ sharedKey {
52
+ id
53
+ }
54
+ mkSharedKey {
55
+ id
56
+ }
57
+ mkPxk {
58
+ id
59
+ pbk
60
+ }
61
+ mkReshareRequestCipher
62
+ mkReshareResponseCipher
63
+ mkReshareRequestSent
64
+ mkReshareResponseSent
65
+ `;
66
+ export const CurrentUserSharedKeyQuery = gql `
67
+ query CurrentUserSharedKeyQuery(
68
+ $username: String
69
+ $userId: LrRelayIdInput
70
+ $cachedKeyIds: [LrRelayIdInput!]
71
+ ) {
72
+ currentUserSharedKey(
73
+ username: $username
74
+ userId: $userId
75
+ ) {
76
+ userSharedKey {
77
+ ${UserSharedKeyFields}
78
+ }
79
+ }
80
+ keyGraph(cachedKeyIds: $cachedKeyIds) {
81
+ ...KeyGraphFragment
82
+ }
83
+ }
84
+ ${KeyGraphFragment}`;
85
+ export const KeyExchangesQuery = gql `
86
+ query KeyExchangeQuery(
87
+ $orderBy: String
88
+ $isExpired: Boolean
89
+ $initiatorActionRequired: Boolean
90
+ $responderActionRequired: Boolean
91
+ $initiator: ID
92
+ $responder: ID
93
+ $state: String
94
+ ) {
95
+ keyExchanges(
96
+ orderBy: $orderBy
97
+ isExpired: $isExpired
98
+ initiatorActionRequired: $initiatorActionRequired
99
+ responderActionRequired: $responderActionRequired
100
+ initiator: $initiator
101
+ responder: $responder
102
+ state: $state
103
+ ) {
104
+ edges {
105
+ node {
106
+ ${KeyExchangeFields}
107
+ }
108
+ }
109
+ }
110
+ keyGraph {
111
+ ...KeyGraphFragment
112
+ }
113
+ }
114
+ ${KeyGraphFragment}
115
+ `;
116
+ export const KeyExchangeQuery = gql `
117
+ query KeyExchangeQuery(
118
+ $id: LrRelayIdInput!
119
+ ) {
120
+ keyExchange(
121
+ id: $id
122
+ ) {
123
+ ${KeyExchangeFields}
124
+ }
125
+ keyGraph {
126
+ ...KeyGraphFragment
127
+ }
128
+ }
129
+ ${KeyGraphFragment}
130
+ `;
131
+ // Key graph is only available for authenticated users. This query
132
+ // is for unauthenticated users.
133
+ export const KeyExchangeTokenQuery = gql `
134
+ query KeyExchangeQuery(
135
+ $id: LrRelayIdInput!
136
+ $token: String
137
+ ) {
138
+ keyExchange(
139
+ id: $id
140
+ token: $token
141
+ ) {
142
+ ${KeyExchangeFields}
143
+ }
144
+ }`;
145
+ export const InitiateOtkMutation = gql `
146
+ mutation InitiateKeyExchangeOtk(
147
+ $input: InitiateKeyExchangeOtkInput!
148
+ ) {
149
+ initiateKeyExchangeOtk(input: $input) {
150
+ keyExchange {
151
+ ${KeyExchangeFields}
152
+ }
153
+ }
154
+ ${FetchKeyGraphField}
155
+ }`;
156
+ export const RespondOtkMutation = gql `
157
+ mutation RespondKeyExchangeOtk(
158
+ $input: RespondKeyExchangeOtkInput!
159
+ ) {
160
+ respondKeyExchangeOtk(input: $input) {
161
+ keyExchange {
162
+ ${KeyExchangeFields}
163
+ }
164
+ userSharedKey {
165
+ ${UserSharedKeyFields}
166
+ }
167
+ tp {
168
+ id
169
+ }
170
+ }
171
+ }`;
172
+ export const CompleteOtkMutation = gql `
173
+ mutation CompleteKeyExchangeOtk(
174
+ $input: CompleteKeyExchangeOtkInput!
175
+ ) {
176
+ completeKeyExchangeOtk(input: $input) {
177
+ keyExchange {
178
+ ${KeyExchangeFields}
179
+ }
180
+ userSharedKey {
181
+ ${UserSharedKeyFields}
182
+ }
183
+ tp {
184
+ id
185
+ }
186
+ }
187
+ }`;
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlLmdxbC5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL2tleS1leGNoYW5nZS5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0MvQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7UUFXcEMsbUJBQW1COzs7Ozs7O0VBT3pCLGdCQUFnQixFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFxQjVCLGlCQUFpQjs7Ozs7Ozs7RUFRdkIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPN0IsaUJBQWlCOzs7Ozs7RUFNckIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixrRUFBa0U7QUFDbEUsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BU2xDLGlCQUFpQjs7RUFFckIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWhDLGlCQUFpQjs7O0VBR3JCLGtCQUFrQjtFQUNsQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNN0IsaUJBQWlCOzs7UUFHakIsbUJBQW1COzs7Ozs7RUFNekIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O1FBTTlCLGlCQUFpQjs7O1FBR2pCLG1CQUFtQjs7Ozs7O0VBTXpCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCB7IEZldGNoS2V5R3JhcGhGaWVsZCwgS2V5R3JhcGhGcmFnbWVudCB9IGZyb20gJy4uL19jb21tb24vcXVlcmllcy5ncWwnO1xuXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VGaWVsZHMgPSBgXG4gIGlkXG4gIHRva2VuXG4gIHN0YXRlXG4gIG1vZGVcbiAgaXNJbml0aWF0b3JcbiAgaW5pdGlhdG9yIHtcbiAgICBpZFxuICAgIHVzZXJuYW1lXG4gIH1cbiAgcmVzcG9uZGVyIHtcbiAgICBpZFxuICAgIHVzZXJuYW1lXG4gIH1cbiAgY3JlYXRlZFxuICBtb2RpZmllZFxuICB0b2tlbkV4cGlyeVRpbWVcbiAgaXNFeHBpcmVkXG4gIGluaXRpYXRvclJvb3RLZXlDaXBoZXJcbiAgaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWRcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcbiAgcmVzcG9uZGVyRW1haWxBZGRyZXNzXG4gIG90ayB7XG4gICAgc3RhdGVcbiAgICBvdEtleVBhcmFtc1xuICAgIG90S2V5Q2lwaGVyXG4gICAgc2hhcmVkS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIG1rU2hhcmVkS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIGluaXRpYXRvclNpZ1B4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICByZXNwb25kZXJTaWdQeGsge1xuICAgICAgaWRcbiAgICB9XG4gICAgaW5pdGlhdG9yT25lVGltZVBia0NpcGhlclxuICAgIHJlc3BvbmRlclBia0NpcGhlclxufWA7XG5cbmV4cG9ydCBjb25zdCBVc2VyU2hhcmVkS2V5RmllbGRzID0gYFxuICB1c2VyU2lnUHJrIHtcbiAgICBpZFxuICB9XG4gIG90aGVyU2lnUGJrIHtcbiAgICBpZFxuICB9XG4gIHNoYXJlZEtleSB7XG4gICAgaWRcbiAgfVxuICBta1NoYXJlZEtleSB7XG4gICAgaWRcbiAgfVxuICBta1B4ayB7XG4gICAgaWRcbiAgICBwYmtcbiAgfVxuICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyXG4gIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyXG4gIG1rUmVzaGFyZVJlcXVlc3RTZW50XG4gIG1rUmVzaGFyZVJlc3BvbnNlU2VudFxuYDtcblxuZXhwb3J0IGNvbnN0IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkgPSBncWxgXG5xdWVyeSBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5KFxuICAkdXNlcm5hbWU6IFN0cmluZ1xuICAkdXNlcklkOiBMclJlbGF5SWRJbnB1dFxuICAkY2FjaGVkS2V5SWRzOiBbTHJSZWxheUlkSW5wdXQhXVxuKSB7XG4gIGN1cnJlbnRVc2VyU2hhcmVkS2V5KFxuICAgIHVzZXJuYW1lOiAkdXNlcm5hbWVcbiAgICB1c2VySWQ6ICR1c2VySWRcbiAgKSB7XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XG4gICAgfVxuICB9XG4gIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xuICAgIC4uLktleUdyYXBoRnJhZ21lbnRcbiAgfVxufVxuJHtLZXlHcmFwaEZyYWdtZW50fWA7XG5cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZXNRdWVyeSA9IGdxbGBcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXG4kb3JkZXJCeTogU3RyaW5nXG4kaXNFeHBpcmVkOiBCb29sZWFuXG4kaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWQ6IEJvb2xlYW5cbiRyZXNwb25kZXJBY3Rpb25SZXF1aXJlZDogQm9vbGVhblxuJGluaXRpYXRvcjogSURcbiRyZXNwb25kZXI6IElEXG4kc3RhdGU6IFN0cmluZ1xuKSB7XG5rZXlFeGNoYW5nZXMoXG4gIG9yZGVyQnk6ICRvcmRlckJ5XG4gIGlzRXhwaXJlZDogJGlzRXhwaXJlZFxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogJGluaXRpYXRvckFjdGlvblJlcXVpcmVkXG4gIHJlc3BvbmRlckFjdGlvblJlcXVpcmVkOiAkcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcbiAgaW5pdGlhdG9yOiAkaW5pdGlhdG9yXG4gIHJlc3BvbmRlcjogJHJlc3BvbmRlclxuICBzdGF0ZTogJHN0YXRlXG4pIHtcbiAgZWRnZXMge1xuICAgIG5vZGUge1xuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgICB9XG4gIH1cbn1cbmtleUdyYXBoIHtcbiAgLi4uS2V5R3JhcGhGcmFnbWVudFxufVxufVxuJHtLZXlHcmFwaEZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlUXVlcnkgPSBncWxgXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5KFxuICAkaWQ6IExyUmVsYXlJZElucHV0IVxuKSB7XG4gIGtleUV4Y2hhbmdlKFxuICAgIGlkOiAkaWRcbiAgKSB7XG4gICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgfVxuICBrZXlHcmFwaCB7XG4gICAgLi4uS2V5R3JhcGhGcmFnbWVudFxuICB9XG59XG4ke0tleUdyYXBoRnJhZ21lbnR9XG5gO1xuXG4vLyBLZXkgZ3JhcGggaXMgb25seSBhdmFpbGFibGUgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuIFRoaXMgcXVlcnlcbi8vIGlzIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMuXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VUb2tlblF1ZXJ5ID0gZ3FsYFxucXVlcnkgS2V5RXhjaGFuZ2VRdWVyeShcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCFcbiAgJHRva2VuOiBTdHJpbmdcbikge1xuICBrZXlFeGNoYW5nZShcbiAgICBpZDogJGlkXG4gICAgdG9rZW46ICR0b2tlblxuICApIHtcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IEluaXRpYXRlT3RrTXV0YXRpb24gPSBncWxgXG5tdXRhdGlvbiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrKFxuJGlucHV0OiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbmluaXRpYXRlS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICBrZXlFeGNoYW5nZSB7XG4gICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgfVxufVxuJHtGZXRjaEtleUdyYXBoRmllbGR9XG59YDtcblxuZXhwb3J0IGNvbnN0IFJlc3BvbmRPdGtNdXRhdGlvbiA9IGdxbGBcbm11dGF0aW9uIFJlc3BvbmRLZXlFeGNoYW5nZU90ayhcbiAgJGlucHV0OiBSZXNwb25kS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuICByZXNwb25kS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XG4gICAgfVxuICAgIHVzZXJTaGFyZWRLZXkge1xuICAgICAgJHtVc2VyU2hhcmVkS2V5RmllbGRzfVxuICAgIH1cbiAgICB0cCB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG5cbmV4cG9ydCBjb25zdCBDb21wbGV0ZU90a011dGF0aW9uID0gZ3FsYFxubXV0YXRpb24gQ29tcGxldGVLZXlFeGNoYW5nZU90ayhcbiAgJGlucHV0OiBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbiAgY29tcGxldGVLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gICAga2V5RXhjaGFuZ2Uge1xuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgICB9XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XG4gICAgfVxuICAgIHRwIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcbiJdfQ==