1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const node_storage_common_1 = require("@neo-one/node-storage-common");
|
4 | const utils_1 = require("@neo-one/utils");
|
5 | const convertAddChange = (changeIn) => {
|
6 | const change = changeIn;
|
7 | switch (change.type) {
|
8 | case 'account':
|
9 | return [
|
10 | {
|
11 | type: 'add',
|
12 | model: 'account',
|
13 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.account(change.value),
|
14 | value: change.value,
|
15 | },
|
16 | ];
|
17 | case 'accountUnclaimed':
|
18 | return [
|
19 | {
|
20 | type: 'add',
|
21 | model: 'accountUnclaimed',
|
22 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.accountUnclaimed({
|
23 | hash: change.value.hash,
|
24 | input: change.value.input,
|
25 | }),
|
26 | value: change.value,
|
27 | },
|
28 | ];
|
29 | case 'accountUnspent':
|
30 | return [
|
31 | {
|
32 | type: 'add',
|
33 | model: 'accountUnspent',
|
34 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.accountUnspent({
|
35 | hash: change.value.hash,
|
36 | input: change.value.input,
|
37 | }),
|
38 | value: change.value,
|
39 | },
|
40 | ];
|
41 | case 'action':
|
42 | return [
|
43 | {
|
44 | type: 'add',
|
45 | model: 'action',
|
46 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.action({
|
47 | index: change.value.index,
|
48 | }),
|
49 | value: change.value,
|
50 | },
|
51 | ];
|
52 | case 'asset':
|
53 | return [
|
54 | {
|
55 | type: 'add',
|
56 | model: 'asset',
|
57 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.asset(change.value),
|
58 | value: change.value,
|
59 | },
|
60 | ];
|
61 | case 'block':
|
62 | return [
|
63 | {
|
64 | type: 'add',
|
65 | model: 'block',
|
66 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.block(change.value),
|
67 | value: change.value,
|
68 | },
|
69 | {
|
70 | type: 'add',
|
71 | model: 'block',
|
72 | key: `${change.value.index}`,
|
73 | value: change.value,
|
74 | },
|
75 | ];
|
76 | case 'blockData':
|
77 | return [
|
78 | {
|
79 | type: 'add',
|
80 | model: 'blockData',
|
81 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.blockData(change.value),
|
82 | value: change.value,
|
83 | },
|
84 | ];
|
85 | case 'header':
|
86 | return [
|
87 | {
|
88 | type: 'add',
|
89 | model: 'header',
|
90 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.header(change.value),
|
91 | value: change.value,
|
92 | },
|
93 | {
|
94 | type: 'add',
|
95 | model: 'header',
|
96 | key: `${change.value.index}`,
|
97 | value: change.value,
|
98 | },
|
99 | ];
|
100 | case 'transaction':
|
101 | return [
|
102 | {
|
103 | type: 'add',
|
104 | model: 'transaction',
|
105 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.transaction(change.value),
|
106 | value: change.value,
|
107 | },
|
108 | ];
|
109 | case 'output':
|
110 | return [
|
111 | {
|
112 | type: 'add',
|
113 | model: 'output',
|
114 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.output({
|
115 | hash: change.value.hash,
|
116 | index: change.value.index,
|
117 | }),
|
118 | value: change.value.output,
|
119 | },
|
120 | ];
|
121 | case 'transactionData':
|
122 | return [
|
123 | {
|
124 | type: 'add',
|
125 | model: 'transactionData',
|
126 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.transactionData(change.value),
|
127 | value: change.value,
|
128 | },
|
129 | ];
|
130 | case 'contract':
|
131 | return [
|
132 | {
|
133 | type: 'add',
|
134 | model: 'contract',
|
135 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.contract(change.value),
|
136 | value: change.value,
|
137 | },
|
138 | ];
|
139 | case 'storageItem':
|
140 | return [
|
141 | {
|
142 | type: 'add',
|
143 | model: 'storageItem',
|
144 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.storageItem({
|
145 | hash: change.value.hash,
|
146 | key: change.value.key,
|
147 | }),
|
148 | value: change.value,
|
149 | },
|
150 | ];
|
151 | case 'validator':
|
152 | return [
|
153 | {
|
154 | type: 'add',
|
155 | model: 'validator',
|
156 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.validator({
|
157 | publicKey: change.value.publicKey,
|
158 | }),
|
159 | value: change.value,
|
160 | },
|
161 | ];
|
162 | case 'invocationData':
|
163 | return [
|
164 | {
|
165 | type: 'add',
|
166 | model: 'invocationData',
|
167 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.invocationData(change.value),
|
168 | value: change.value,
|
169 | },
|
170 | ];
|
171 | case 'validatorsCount':
|
172 | return [
|
173 | {
|
174 | type: 'add',
|
175 | model: 'validatorsCount',
|
176 | key: node_storage_common_1.keys.validatorsCountKey.toString(),
|
177 | value: change.value,
|
178 | },
|
179 | ];
|
180 | default:
|
181 | utils_1.utils.assertNever(change);
|
182 | throw new Error('For TS');
|
183 | }
|
184 | };
|
185 | const convertDeleteChange = (change) => {
|
186 | switch (change.type) {
|
187 | case 'account':
|
188 | return {
|
189 | type: 'delete',
|
190 | model: 'account',
|
191 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.account(change.key),
|
192 | };
|
193 | case 'accountUnclaimed':
|
194 | return {
|
195 | type: 'delete',
|
196 | model: 'accountUnclaimed',
|
197 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.accountUnclaimed(change.key),
|
198 | };
|
199 | case 'accountUnspent':
|
200 | return {
|
201 | type: 'delete',
|
202 | model: 'accountUnspent',
|
203 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.accountUnclaimed(change.key),
|
204 | };
|
205 | case 'contract':
|
206 | return {
|
207 | type: 'delete',
|
208 | model: 'contract',
|
209 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.contract(change.key),
|
210 | };
|
211 | case 'storageItem':
|
212 | return {
|
213 | type: 'delete',
|
214 | model: 'storageItem',
|
215 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.storageItem(change.key),
|
216 | };
|
217 | case 'validator':
|
218 | return {
|
219 | type: 'delete',
|
220 | model: 'validator',
|
221 | key: node_storage_common_1.keys.typeKeyToSerializeKeyString.validator(change.key),
|
222 | };
|
223 | default:
|
224 | utils_1.utils.assertNever(change);
|
225 | throw new Error('For TS');
|
226 | }
|
227 | };
|
228 | exports.convertChange = (change) => {
|
229 | if (change.type === 'add') {
|
230 | return convertAddChange(change.change);
|
231 | }
|
232 | if (change.type === 'delete') {
|
233 | return [convertDeleteChange(change.change)];
|
234 | }
|
235 | utils_1.utils.assertNever(change);
|
236 | throw new Error('For TS');
|
237 | };
|
238 |
|
239 | //# sourceMappingURL=data:application/json;charset=utf8;base64,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O0lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1zdG9yYWdlLWNhY2hlL3NyYy9jb252ZXJ0Q2hhbmdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkQ2hhbmdlLCBDaGFuZ2UsIERlbGV0ZUNoYW5nZSB9IGZyb20gJ0BuZW8tb25lL25vZGUtY29yZSc7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnQG5lby1vbmUvbm9kZS1zdG9yYWdlLWNvbW1vbic7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BuZW8tb25lL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgQ2FjaGVDaGFuZ2UgPVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tYW55XG4gIHwgeyByZWFkb25seSB0eXBlOiAnYWRkJzsgcmVhZG9ubHkgbW9kZWw6IHN0cmluZzsgcmVhZG9ubHkga2V5OiBzdHJpbmc7IHJlYWRvbmx5IHZhbHVlOiBhbnkgfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ2RlbGV0ZSc7IHJlYWRvbmx5IG1vZGVsOiBzdHJpbmc7IHJlYWRvbmx5IGtleTogc3RyaW5nIH07XG5cbmNvbnN0IGNvbnZlcnRBZGRDaGFuZ2UgPSAoY2hhbmdlSW46IEFkZENoYW5nZSk6IFJlYWRvbmx5QXJyYXk8Q2FjaGVDaGFuZ2U+ID0+IHtcbiAgY29uc3QgY2hhbmdlID0gY2hhbmdlSW47XG4gIHN3aXRjaCAoY2hhbmdlLnR5cGUpIHtcbiAgICBjYXNlICdhY2NvdW50JzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ2FjY291bnQnLFxuICAgICAgICAgIGtleToga2V5cy50eXBlS2V5VG9TZXJpYWxpemVLZXlTdHJpbmcuYWNjb3VudChjaGFuZ2UudmFsdWUpLFxuICAgICAgICAgIHZhbHVlOiBjaGFuZ2UudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgY2FzZSAnYWNjb3VudFVuY2xhaW1lZCc6XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FkZCcsXG4gICAgICAgICAgbW9kZWw6ICdhY2NvdW50VW5jbGFpbWVkJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLmFjY291bnRVbmNsYWltZWQoe1xuICAgICAgICAgICAgaGFzaDogY2hhbmdlLnZhbHVlLmhhc2gsXG4gICAgICAgICAgICBpbnB1dDogY2hhbmdlLnZhbHVlLmlucHV0LFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICdhY2NvdW50VW5zcGVudCc6XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FkZCcsXG4gICAgICAgICAgbW9kZWw6ICdhY2NvdW50VW5zcGVudCcsXG4gICAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5hY2NvdW50VW5zcGVudCh7XG4gICAgICAgICAgICBoYXNoOiBjaGFuZ2UudmFsdWUuaGFzaCxcbiAgICAgICAgICAgIGlucHV0OiBjaGFuZ2UudmFsdWUuaW5wdXQsXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgIGNhc2UgJ2FjdGlvbic6XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FkZCcsXG4gICAgICAgICAgbW9kZWw6ICdhY3Rpb24nLFxuICAgICAgICAgIGtleToga2V5cy50eXBlS2V5VG9TZXJpYWxpemVLZXlTdHJpbmcuYWN0aW9uKHtcbiAgICAgICAgICAgIGluZGV4OiBjaGFuZ2UudmFsdWUuaW5kZXgsXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgIGNhc2UgJ2Fzc2V0JzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ2Fzc2V0JyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLmFzc2V0KGNoYW5nZS52YWx1ZSksXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICdibG9jayc6XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2FkZCcsXG4gICAgICAgICAgbW9kZWw6ICdibG9jaycsXG4gICAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5ibG9jayhjaGFuZ2UudmFsdWUpLFxuICAgICAgICAgIHZhbHVlOiBjaGFuZ2UudmFsdWUsXG4gICAgICAgIH0sXG5cbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAnYmxvY2snLFxuICAgICAgICAgIGtleTogYCR7Y2hhbmdlLnZhbHVlLmluZGV4fWAsXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICdibG9ja0RhdGEnOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAnYmxvY2tEYXRhJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLmJsb2NrRGF0YShjaGFuZ2UudmFsdWUpLFxuICAgICAgICAgIHZhbHVlOiBjaGFuZ2UudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ2hlYWRlcicsXG4gICAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5oZWFkZXIoY2hhbmdlLnZhbHVlKSxcbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ2hlYWRlcicsXG4gICAgICAgICAga2V5OiBgJHtjaGFuZ2UudmFsdWUuaW5kZXh9YCxcbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgIGNhc2UgJ3RyYW5zYWN0aW9uJzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ3RyYW5zYWN0aW9uJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLnRyYW5zYWN0aW9uKGNoYW5nZS52YWx1ZSksXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICdvdXRwdXQnOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAnb3V0cHV0JyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLm91dHB1dCh7XG4gICAgICAgICAgICBoYXNoOiBjaGFuZ2UudmFsdWUuaGFzaCxcbiAgICAgICAgICAgIGluZGV4OiBjaGFuZ2UudmFsdWUuaW5kZXgsXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLm91dHB1dCxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICd0cmFuc2FjdGlvbkRhdGEnOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAndHJhbnNhY3Rpb25EYXRhJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLnRyYW5zYWN0aW9uRGF0YShjaGFuZ2UudmFsdWUpLFxuICAgICAgICAgIHZhbHVlOiBjaGFuZ2UudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgY2FzZSAnY29udHJhY3QnOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAnY29udHJhY3QnLFxuICAgICAgICAgIGtleToga2V5cy50eXBlS2V5VG9TZXJpYWxpemVLZXlTdHJpbmcuY29udHJhY3QoY2hhbmdlLnZhbHVlKSxcbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgIGNhc2UgJ3N0b3JhZ2VJdGVtJzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ3N0b3JhZ2VJdGVtJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLnN0b3JhZ2VJdGVtKHtcbiAgICAgICAgICAgIGhhc2g6IGNoYW5nZS52YWx1ZS5oYXNoLFxuICAgICAgICAgICAga2V5OiBjaGFuZ2UudmFsdWUua2V5LFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICd2YWxpZGF0b3InOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAndmFsaWRhdG9yJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLnZhbGlkYXRvcih7XG4gICAgICAgICAgICBwdWJsaWNLZXk6IGNoYW5nZS52YWx1ZS5wdWJsaWNLZXksXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICB2YWx1ZTogY2hhbmdlLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgIGNhc2UgJ2ludm9jYXRpb25EYXRhJzpcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICBtb2RlbDogJ2ludm9jYXRpb25EYXRhJyxcbiAgICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLmludm9jYXRpb25EYXRhKGNoYW5nZS52YWx1ZSksXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBjYXNlICd2YWxpZGF0b3JzQ291bnQnOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgIG1vZGVsOiAndmFsaWRhdG9yc0NvdW50JyxcbiAgICAgICAgICBrZXk6IGtleXMudmFsaWRhdG9yc0NvdW50S2V5LnRvU3RyaW5nKCksXG4gICAgICAgICAgdmFsdWU6IGNoYW5nZS52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdXRpbHMuYXNzZXJ0TmV2ZXIoY2hhbmdlKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRm9yIFRTJyk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnZlcnREZWxldGVDaGFuZ2UgPSAoY2hhbmdlOiBEZWxldGVDaGFuZ2UpOiBDYWNoZUNoYW5nZSA9PiB7XG4gIHN3aXRjaCAoY2hhbmdlLnR5cGUpIHtcbiAgICBjYXNlICdhY2NvdW50JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICBtb2RlbDogJ2FjY291bnQnLFxuICAgICAgICBrZXk6IGtleXMudHlwZUtleVRvU2VyaWFsaXplS2V5U3RyaW5nLmFjY291bnQoY2hhbmdlLmtleSksXG4gICAgICB9O1xuXG4gICAgY2FzZSAnYWNjb3VudFVuY2xhaW1lZCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgbW9kZWw6ICdhY2NvdW50VW5jbGFpbWVkJyxcbiAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5hY2NvdW50VW5jbGFpbWVkKGNoYW5nZS5rZXkpLFxuICAgICAgfTtcblxuICAgIGNhc2UgJ2FjY291bnRVbnNwZW50JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICBtb2RlbDogJ2FjY291bnRVbnNwZW50JyxcbiAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5hY2NvdW50VW5jbGFpbWVkKGNoYW5nZS5rZXkpLFxuICAgICAgfTtcblxuICAgIGNhc2UgJ2NvbnRyYWN0JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICBtb2RlbDogJ2NvbnRyYWN0JyxcbiAgICAgICAga2V5OiBrZXlzLnR5cGVLZXlUb1NlcmlhbGl6ZUtleVN0cmluZy5jb250cmFjdChjaGFuZ2Uua2V5KSxcbiAgICAgIH07XG5cbiAgICBjYXNlICdzdG9yYWdlSXRlbSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgbW9kZWw6ICdzdG9yYWdlSXRlbScsXG4gICAgICAgIGtleToga2V5cy50eXBlS2V5VG9TZXJpYWxpemVLZXlTdHJpbmcuc3RvcmFnZUl0ZW0oY2hhbmdlLmtleSksXG4gICAgICB9O1xuXG4gICAgY2FzZSAndmFsaWRhdG9yJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICBtb2RlbDogJ3ZhbGlkYXRvcicsXG4gICAgICAgIGtleToga2V5cy50eXBlS2V5VG9TZXJpYWxpemVLZXlTdHJpbmcudmFsaWRhdG9yKGNoYW5nZS5rZXkpLFxuICAgICAgfTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB1dGlscy5hc3NlcnROZXZlcihjaGFuZ2UpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb3IgVFMnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRDaGFuZ2UgPSAoY2hhbmdlOiBDaGFuZ2UpID0+IHtcbiAgaWYgKGNoYW5nZS50eXBlID09PSAnYWRkJykge1xuICAgIHJldHVybiBjb252ZXJ0QWRkQ2hhbmdlKGNoYW5nZS5jaGFuZ2UpO1xuICB9XG5cbiAgaWYgKGNoYW5nZS50eXBlID09PSAnZGVsZXRlJykge1xuICAgIHJldHVybiBbY29udmVydERlbGV0ZUNoYW5nZShjaGFuZ2UuY2hhbmdlKV07XG4gIH1cblxuICB1dGlscy5hc3NlcnROZXZlcihjaGFuZ2UpO1xuICB0aHJvdyBuZXcgRXJyb3IoJ0ZvciBUUycpO1xufTtcbiJdfQ==
|