@payloadcms/db-postgres 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +7 -5
- package/dist/createMigration.js +4 -4
- package/dist/find/findMany.js +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -5
- package/dist/migrate.js +5 -3
- package/dist/migrateFresh.js +4 -2
- package/dist/migrateRefresh.js +4 -2
- package/dist/migrateReset.js +4 -2
- package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
- package/dist/schema/validateExistingBlockIsIdentical.js +25 -22
- package/dist/transform/read/traverseFields.d.ts +5 -5
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +38 -23
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/extendViteConfig.d.ts +0 -4
- package/dist/extendViteConfig.d.ts.map +0 -1
- package/dist/extendViteConfig.js +0 -38
- package/dist/extendWebpackConfig.d.ts +0 -4
- package/dist/extendWebpackConfig.d.ts.map +0 -1
- package/dist/extendWebpackConfig.js +0 -45
- package/dist/reference.d.ts +0 -2
- package/dist/reference.d.ts.map +0 -1
- package/dist/reference.js +0 -77
- package/mock.js +0 -1
@@ -26,10 +26,6 @@ type TraverseFieldsArgs = {
|
|
26
26
|
* An array of Payload fields to traverse
|
27
27
|
*/
|
28
28
|
fields: (Field | TabAsField)[];
|
29
|
-
/**
|
30
|
-
* All hasMany text fields, as returned by Drizzle, keyed on an object by field path
|
31
|
-
*/
|
32
|
-
texts: Record<string, Record<string, unknown>[]>;
|
33
29
|
/**
|
34
30
|
* All hasMany number fields, as returned by Drizzle, keyed on an object by field path
|
35
31
|
*/
|
@@ -46,7 +42,11 @@ type TraverseFieldsArgs = {
|
|
46
42
|
* Data structure representing the nearest table from db
|
47
43
|
*/
|
48
44
|
table: Record<string, unknown>;
|
45
|
+
/**
|
46
|
+
* All hasMany text fields, as returned by Drizzle, keyed on an object by field path
|
47
|
+
*/
|
48
|
+
texts: Record<string, Record<string, unknown>[]>;
|
49
49
|
};
|
50
|
-
export declare const traverseFields: <T extends Record<string, unknown>>({ blocks, config, dataRef, deletions, fieldPrefix, fields,
|
50
|
+
export declare const traverseFields: <T extends Record<string, unknown>>({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, texts, }: TraverseFieldsArgs) => T;
|
51
51
|
export {};
|
52
52
|
//# sourceMappingURL=traverseFields.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/read/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAMhE,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B;;OAEG;IACH,
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/read/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAMhE,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IAClD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;CACjD,CAAA;AAID,eAAO,MAAM,cAAc,gJAYxB,kBAAkB,MAsdpB,CAAA"}
|
@@ -10,9 +10,9 @@ Object.defineProperty(exports, "traverseFields", {
|
|
10
10
|
});
|
11
11
|
const _types = require("payload/types");
|
12
12
|
const _hasManyNumber = require("./hasManyNumber");
|
13
|
-
const _relationship = require("./relationship");
|
14
13
|
const _hasManyText = require("./hasManyText");
|
15
|
-
const
|
14
|
+
const _relationship = require("./relationship");
|
15
|
+
const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, texts })=>{
|
16
16
|
const sanitizedPath = path ? `${path}.` : path;
|
17
17
|
const formatted = fields.reduce((result, field)=>{
|
18
18
|
if (field.type === 'tabs') {
|
@@ -26,11 +26,11 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
26
26
|
...tab,
|
27
27
|
type: 'tab'
|
28
28
|
})),
|
29
|
-
texts,
|
30
29
|
numbers,
|
31
30
|
path,
|
32
31
|
relationships,
|
33
|
-
table
|
32
|
+
table,
|
33
|
+
texts
|
34
34
|
});
|
35
35
|
}
|
36
36
|
if (field.type === 'collapsible' || field.type === 'row' || field.type === 'tab' && !('name' in field)) {
|
@@ -41,16 +41,19 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
41
41
|
deletions,
|
42
42
|
fieldPrefix,
|
43
43
|
fields: field.fields,
|
44
|
-
texts,
|
45
44
|
numbers,
|
46
45
|
path,
|
47
46
|
relationships,
|
48
|
-
table
|
47
|
+
table,
|
48
|
+
texts
|
49
49
|
});
|
50
50
|
}
|
51
51
|
if ((0, _types.fieldAffectsData)(field)) {
|
52
52
|
const fieldName = `${fieldPrefix || ''}${field.name}`;
|
53
53
|
const fieldData = table[fieldName];
|
54
|
+
if (fieldPrefix) {
|
55
|
+
deletions.push(()=>delete table[fieldName]);
|
56
|
+
}
|
54
57
|
if (field.type === 'array') {
|
55
58
|
if (Array.isArray(fieldData)) {
|
56
59
|
if (field.localized) {
|
@@ -71,12 +74,15 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
71
74
|
deletions,
|
72
75
|
fieldPrefix: '',
|
73
76
|
fields: field.fields,
|
74
|
-
texts,
|
75
77
|
numbers,
|
76
78
|
path: `${sanitizedPath}${field.name}.${row._order - 1}`,
|
77
79
|
relationships,
|
78
|
-
table: row
|
80
|
+
table: row,
|
81
|
+
texts
|
79
82
|
});
|
83
|
+
if ('_order' in rowResult) {
|
84
|
+
delete rowResult._order;
|
85
|
+
}
|
80
86
|
arrayResult[locale].push(rowResult);
|
81
87
|
}
|
82
88
|
return arrayResult;
|
@@ -87,6 +93,9 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
87
93
|
row.id = row._uuid;
|
88
94
|
delete row._uuid;
|
89
95
|
}
|
96
|
+
if ('_order' in row) {
|
97
|
+
delete row._order;
|
98
|
+
}
|
90
99
|
return traverseFields({
|
91
100
|
blocks,
|
92
101
|
config,
|
@@ -94,11 +103,11 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
94
103
|
deletions,
|
95
104
|
fieldPrefix: '',
|
96
105
|
fields: field.fields,
|
97
|
-
texts,
|
98
106
|
numbers,
|
99
107
|
path: `${sanitizedPath}${field.name}.${i}`,
|
100
108
|
relationships,
|
101
|
-
table: row
|
109
|
+
table: row,
|
110
|
+
texts
|
102
111
|
});
|
103
112
|
});
|
104
113
|
}
|
@@ -132,11 +141,11 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
132
141
|
deletions,
|
133
142
|
fieldPrefix: '',
|
134
143
|
fields: block.fields,
|
135
|
-
texts,
|
136
144
|
numbers,
|
137
145
|
path: `${blockFieldPath}.${row._order - 1}`,
|
138
146
|
relationships,
|
139
|
-
table: row
|
147
|
+
table: row,
|
148
|
+
texts
|
140
149
|
});
|
141
150
|
delete blockResult._order;
|
142
151
|
return blockResult;
|
@@ -160,11 +169,11 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
160
169
|
deletions,
|
161
170
|
fieldPrefix: '',
|
162
171
|
fields: block.fields,
|
163
|
-
texts,
|
164
172
|
numbers,
|
165
173
|
path: `${blockFieldPath}.${i}`,
|
166
174
|
relationships,
|
167
|
-
table: row
|
175
|
+
table: row,
|
176
|
+
texts
|
168
177
|
});
|
169
178
|
}
|
170
179
|
return {};
|
@@ -229,15 +238,15 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
229
238
|
(0, _hasManyText.transformHasManyText)({
|
230
239
|
field,
|
231
240
|
locale,
|
232
|
-
|
233
|
-
|
241
|
+
ref: result,
|
242
|
+
textRows: texts
|
234
243
|
});
|
235
244
|
});
|
236
245
|
} else {
|
237
246
|
(0, _hasManyText.transformHasManyText)({
|
238
247
|
field,
|
239
|
-
|
240
|
-
|
248
|
+
ref: result,
|
249
|
+
textRows: textPathMatch
|
241
250
|
});
|
242
251
|
}
|
243
252
|
return result;
|
@@ -323,13 +332,16 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
323
332
|
deletions,
|
324
333
|
fieldPrefix: groupFieldPrefix,
|
325
334
|
fields: field.fields,
|
326
|
-
texts,
|
327
335
|
numbers,
|
328
336
|
path: `${sanitizedPath}${field.name}`,
|
329
337
|
relationships,
|
330
|
-
table
|
338
|
+
table,
|
339
|
+
texts
|
331
340
|
});
|
332
341
|
});
|
342
|
+
if ('_order' in ref) {
|
343
|
+
delete ref._order;
|
344
|
+
}
|
333
345
|
} else {
|
334
346
|
const groupData = {};
|
335
347
|
ref[field.name] = traverseFields({
|
@@ -339,12 +351,15 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
339
351
|
deletions,
|
340
352
|
fieldPrefix: groupFieldPrefix,
|
341
353
|
fields: field.fields,
|
342
|
-
texts,
|
343
354
|
numbers,
|
344
355
|
path: `${sanitizedPath}${field.name}`,
|
345
356
|
relationships,
|
346
|
-
table
|
357
|
+
table,
|
358
|
+
texts
|
347
359
|
});
|
360
|
+
if ('_order' in ref) {
|
361
|
+
delete ref._order;
|
362
|
+
}
|
348
363
|
}
|
349
364
|
break;
|
350
365
|
}
|
@@ -411,4 +426,4 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
|
|
411
426
|
return formatted;
|
412
427
|
};
|
413
428
|
|
414
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55VGV4dCB9IGZyb20gJy4vaGFzTWFueVRleHQnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBEYXRhIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSByZXN1bHQgYWZ0ZXIgYWxsIGZpZWxkcyBoYXZlIHBvcHVsYXRlZFxuICAgKi9cbiAgZGVsZXRpb25zOiAoKCkgPT4gdm9pZClbXVxuICAvKipcbiAgICogQ29sdW1uIHByZWZpeCBjYW4gYmUgYnVpbHQgdXAgYnkgZ3JvdXAgYW5kIG5hbWVkIHRhYiBmaWVsZHNcbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBheWxvYWQgZmllbGRzIHRvIHRyYXZlcnNlXG4gICAqL1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgLyoqXG4gICAqIEFsbCBoYXNNYW55IHRleHQgZmllbGRzLCBhcyByZXR1cm5lZCBieSBEcml6emxlLCBrZXllZCBvbiBhbiBvYmplY3QgYnkgZmllbGQgcGF0aFxuICAgKi9cbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBBbGwgaGFzTWFueSBudW1iZXIgZmllbGRzLCBhcyByZXR1cm5lZCBieSBEcml6emxlLCBrZXllZCBvbiBhbiBvYmplY3QgYnkgZmllbGQgcGF0aFxuICAgKi9cbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGZpZWxkIHBhdGggKGluIGRvdCBub3RhdGlvbiksIHVzZWQgdG8gbWVyZ2UgaW4gcmVsYXRpb25zaGlwc1xuICAgKi9cbiAgcGF0aDogc3RyaW5nXG4gIC8qKlxuICAgKiBBbGwgcmVsYXRlZCBkb2N1bWVudHMsIGFzIHJldHVybmVkIGJ5IERyaXp6bGUsIGtleWVkIG9uIGFuIG9iamVjdCBieSBmaWVsZCBwYXRoXG4gICAqL1xuICByZWxhdGlvbnNoaXBzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxuICAvKipcbiAgICogRGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIHRoZSBuZWFyZXN0IHRhYmxlIGZyb20gZGJcbiAgICovXG4gIHRhYmxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG4vLyBUcmF2ZXJzZSBmaWVsZHMgcmVjdXJzaXZlbHksIHRyYW5zZm9ybWluZyBkYXRhXG4vLyBmb3IgZWFjaCBmaWVsZCB0eXBlIGludG8gcmVxdWlyZWQgUGF5bG9hZCBzaGFwZVxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBibG9ja3MsXG4gIGNvbmZpZyxcbiAgZGF0YVJlZixcbiAgZGVsZXRpb25zLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICB0ZXh0cyxcbiAgbnVtYmVycyxcbiAgcGF0aCxcbiAgcmVsYXRpb25zaGlwcyxcbiAgdGFibGUsXG59OiBUcmF2ZXJzZUZpZWxkc0FyZ3MpOiBUID0+IHtcbiAgY29uc3Qgc2FuaXRpemVkUGF0aCA9IHBhdGggPyBgJHtwYXRofS5gIDogcGF0aFxuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IGZpZWxkcy5yZWR1Y2UoKHJlc3VsdCwgZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGJsb2NrcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhUmVmLFxuICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICB0ZXh0cyxcbiAgICAgICAgbnVtYmVycyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgdGFibGUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHxcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgICAoZmllbGQudHlwZSA9PT0gJ3RhYicgJiYgISgnbmFtZScgaW4gZmllbGQpKVxuICAgICkge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIHRleHRzLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB0YWJsZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbZmllbGROYW1lXVxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5yZWR1Y2UoKGFycmF5UmVzdWx0LCByb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWFycmF5UmVzdWx0W3Jvdy5fbG9jYWxlXSkgYXJyYXlSZXN1bHRbcm93Ll9sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGUgPSByb3cuX2xvY2FsZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7fVxuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX2xvY2FsZVxuICAgICAgICAgICAgICAgIGlmIChyb3cuX3V1aWQpIHtcbiAgICAgICAgICAgICAgICAgIHJvdy5pZCA9IHJvdy5fdXVpZFxuICAgICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJvd1Jlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IGRhdGEsXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke3Jvdy5fb3JkZXIgLSAxfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhUmVmOiByb3csXG4gICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfS4ke2l9YCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdibG9ja3MnKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrRmllbGRQYXRoID0gYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0pKSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgICAgYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJvdy5fdXVpZCkge1xuICAgICAgICAgICAgICAgIHJvdy5pZCA9IHJvdy5fdXVpZFxuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5fbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXSkgcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdW3Jvdy5fbG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVzdWx0W2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlLCBsb2NhbGl6ZWRCbG9ja3NdKSA9PiB7XG4gICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtsb2NhbGVdID0gbG9jYWxpemVkQmxvY2tzLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrUmVzdWx0ID0gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtyb3cuX29yZGVyIC0gMX1gLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgZGVsZXRlIGJsb2NrUmVzdWx0Ll9vcmRlclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrUmVzdWx0XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBibG9ja3NbYmxvY2tGaWVsZFBhdGhdLm1hcCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgICAgIGRlbGV0ZSByb3cuX29yZGVyXG4gICAgICAgICAgICAgIGlmIChyb3cuX3V1aWQpIHtcbiAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll91dWlkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IHJvdyxcbiAgICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7YmxvY2tGaWVsZFBhdGh9LiR7aX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlOiByb3csXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykge1xuICAgICAgICBjb25zdCByZWxhdGlvblBhdGhNYXRjaCA9IHJlbGF0aW9uc2hpcHNbYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgaWYgKCFyZWxhdGlvblBhdGhNYXRjaCkge1xuICAgICAgICAgIGlmICgnaGFzTWFueScgaW4gZmllbGQgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBjb25maWcubG9jYWxpemF0aW9uICYmIGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcykge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgW2NvbmZpZy5sb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZV06IFtdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uc0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICByZWxhdGlvblBhdGhNYXRjaC5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgaWYgKCFyZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICByZWxhdGlvbnNCeUxvY2FsZVtyb3cubG9jYWxlXS5wdXNoKHJvdylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVsYXRpb25zQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIHJlbGF0aW9uc10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgICByZWxhdGlvbnMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICByZWxhdGlvbnM6IHJlbGF0aW9uUGF0aE1hdGNoLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAndGV4dCcgJiYgZmllbGQ/Lmhhc01hbnkpIHtcbiAgICAgICAgY29uc3QgdGV4dFBhdGhNYXRjaCA9IHRleHRzW2Ake3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGlmICghdGV4dFBhdGhNYXRjaCkgcmV0dXJuIHJlc3VsdFxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IHRleHRzQnlMb2NhbGU6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICAgICAgICAgIHRleHRQYXRoTWF0Y2guZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGlmICghdGV4dHNCeUxvY2FsZVtyb3cubG9jYWxlXSkgdGV4dHNCeUxvY2FsZVtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgIHRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHRleHRzQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIHRleHRzXSkgPT4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtSGFzTWFueVRleHQoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICB0ZXh0Um93czogdGV4dHMsXG4gICAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlUZXh0KHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdGV4dFJvd3M6IHRleHRQYXRoTWF0Y2gsXG4gICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSkge1xuICAgICAgICBjb25zdCBudW1iZXJQYXRoTWF0Y2ggPSBudW1iZXJzW2Ake3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGlmICghbnVtYmVyUGF0aE1hdGNoKSByZXR1cm4gcmVzdWx0XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHt9XG4gICAgICAgICAgY29uc3QgbnVtYmVyc0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICBudW1iZXJQYXRoTWF0Y2guZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGlmICghbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdKSBudW1iZXJzQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICBudW1iZXJzQnlMb2NhbGVbcm93LmxvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKG51bWJlcnNCeUxvY2FsZSkuZm9yRWFjaCgoW2xvY2FsZSwgbnVtYmVyc10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlOdW1iZXIoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICBudW1iZXJSb3dzOiBudW1iZXJzLFxuICAgICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyKHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgbnVtYmVyUm93czogbnVtYmVyUGF0aE1hdGNoLFxuICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5yZWR1Y2UoKHNlbGVjdFJlc3VsdCwgcm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93LmxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXSkgc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgICBzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0ucHVzaChyb3cudmFsdWUpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0UmVzdWx0XG4gICAgICAgICAgICB9LCB7fSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gZmllbGREYXRhLm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBjb25zdCBsb2NhbGl6ZWRGaWVsZERhdGEgPSB7fVxuICAgICAgY29uc3QgdmFsdWVzVG9UcmFuc2Zvcm06IHtcbiAgICAgICAgcmVmOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICB0YWJsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIH1bXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgQXJyYXkuaXNBcnJheSh0YWJsZS5fbG9jYWxlcykpIHtcbiAgICAgICAgdGFibGUuX2xvY2FsZXMuZm9yRWFjaCgobG9jYWxlUm93KSA9PiB7XG4gICAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZjogbG9jYWxpemVkRmllbGREYXRhLCB0YWJsZTogbG9jYWxlUm93IH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHsgcmVmOiByZXN1bHQsIHRhYmxlIH0pXG4gICAgICB9XG5cbiAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLmZvckVhY2goKHsgcmVmLCB0YWJsZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkRGF0YSA9IHRhYmxlW2Ake2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBjb25zdCBsb2NhbGUgPSB0YWJsZT8uX2xvY2FsZVxuXG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgICAgICBjb25zdCBncm91cEZpZWxkUHJlZml4ID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfV9gXG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnICYmICFyZWZbbG9jYWxlXSkge1xuICAgICAgICAgICAgICAgIHJlZltsb2NhbGVdID0ge31cbiAgICAgICAgICAgICAgICBkZWxldGUgdGFibGUuX2xvY2FsZVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocmVmKS5mb3JFYWNoKChbZ3JvdXBMb2NhbGUsIGdyb3VwTG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgICAgICByZWZbZ3JvdXBMb2NhbGVdID0gdHJhdmVyc2VGaWVsZHM8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IGdyb3VwTG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBncm91cEZpZWxkUHJlZml4LFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBncm91cERhdGEgPSB7fVxuXG4gICAgICAgICAgICAgIHJlZltmaWVsZC5uYW1lXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cERhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBncm91cEZpZWxkUHJlZml4LFxuICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aDogYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9YCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3RleHQnOiB7XG4gICAgICAgICAgICBsZXQgdmFsID0gZmllbGREYXRhXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gU3RyaW5nKGZpZWxkRGF0YSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgICAgICBsZXQgdmFsID0gZmllbGREYXRhXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gTnVtYmVyLnBhcnNlRmxvYXQoZmllbGREYXRhKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmVmW2xvY2FsZV0gPSB2YWxcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHZhbFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgICAgICBsZXQgdmFsID0gZmllbGREYXRhXG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICB2YWwgPSBuZXcgRGF0ZShmaWVsZERhdGEpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmVmW2xvY2FsZV0gPSBmaWVsZERhdGFcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKGxvY2FsaXplZEZpZWxkRGF0YSkubGVuZ3RoID4gMCkge1xuICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBsb2NhbGl6ZWRGaWVsZERhdGFcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfSwgZGF0YVJlZilcblxuICBpZiAoQXJyYXkuaXNBcnJheSh0YWJsZS5fbG9jYWxlcykpIHtcbiAgICBkZWxldGlvbnMucHVzaCgoKSA9PiBkZWxldGUgdGFibGUuX2xvY2FsZXMpXG4gIH1cblxuICByZXR1cm4gZm9ybWF0dGVkIGFzIFRcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImJsb2NrcyIsImNvbmZpZyIsImRhdGFSZWYiLCJkZWxldGlvbnMiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsInRleHRzIiwibnVtYmVycyIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwidGFibGUiLCJzYW5pdGl6ZWRQYXRoIiwiZm9ybWF0dGVkIiwicmVkdWNlIiwicmVzdWx0IiwiZmllbGQiLCJ0eXBlIiwidGFicyIsIm1hcCIsInRhYiIsImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZE5hbWUiLCJuYW1lIiwiZmllbGREYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibG9jYWxpemVkIiwiYXJyYXlSZXN1bHQiLCJyb3ciLCJfbG9jYWxlIiwibG9jYWxlIiwiZGF0YSIsIl91dWlkIiwiaWQiLCJyb3dSZXN1bHQiLCJfb3JkZXIiLCJwdXNoIiwiaSIsImJsb2NrRmllbGRQYXRoIiwiZm9yRWFjaCIsIk9iamVjdCIsImVudHJpZXMiLCJsb2NhbGl6ZWRCbG9ja3MiLCJibG9jayIsImZpbmQiLCJzbHVnIiwiYmxvY2tUeXBlIiwiYmxvY2tSZXN1bHQiLCJyZWxhdGlvblBhdGhNYXRjaCIsImhhc01hbnkiLCJsb2NhbGl6YXRpb24iLCJsb2NhbGVzIiwiZGVmYXVsdExvY2FsZSIsInJlbGF0aW9uc0J5TG9jYWxlIiwicmVsYXRpb25zIiwidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwicmVmIiwidGV4dFBhdGhNYXRjaCIsInRleHRzQnlMb2NhbGUiLCJ0cmFuc2Zvcm1IYXNNYW55VGV4dCIsInRleHRSb3dzIiwibnVtYmVyUGF0aE1hdGNoIiwibnVtYmVyc0J5TG9jYWxlIiwidHJhbnNmb3JtSGFzTWFueU51bWJlciIsIm51bWJlclJvd3MiLCJzZWxlY3RSZXN1bHQiLCJ2YWx1ZSIsImxvY2FsaXplZEZpZWxkRGF0YSIsInZhbHVlc1RvVHJhbnNmb3JtIiwiX2xvY2FsZXMiLCJsb2NhbGVSb3ciLCJncm91cEZpZWxkUHJlZml4IiwiZ3JvdXBMb2NhbGUiLCJncm91cExvY2FsZURhdGEiLCJncm91cERhdGEiLCJ2YWwiLCJTdHJpbmciLCJOdW1iZXIiLCJwYXJzZUZsb2F0IiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwia2V5cyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTZEdkJBOzs7ZUFBQUE7Ozt1QkF6RG9COytCQUlNOzhCQUNEOzZCQUNEO0FBbUQ5QixNQUFNQSxpQkFBaUIsQ0FBb0MsRUFDaEVDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVEMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLEtBQUssRUFDTEMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMsS0FBSyxFQUNjO0lBQ25CLE1BQU1DLGdCQUFnQkgsT0FBTyxDQUFDLEVBQUVBLEtBQUssQ0FBQyxDQUFDLEdBQUdBO0lBRTFDLE1BQU1JLFlBQVlQLE9BQU9RLE1BQU0sQ0FBQyxDQUFDQyxRQUFRQztRQUN2QyxJQUFJQSxNQUFNQyxJQUFJLEtBQUssUUFBUTtZQUN6QmpCLGVBQWU7Z0JBQ2JDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUMsUUFBUVUsTUFBTUUsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsTUFBUyxDQUFBO3dCQUFFLEdBQUdBLEdBQUc7d0JBQUVILE1BQU07b0JBQU0sQ0FBQTtnQkFDdkRWO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUNFSyxNQUFNQyxJQUFJLEtBQUssaUJBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNkRCxNQUFNQyxJQUFJLEtB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
|
429
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtSGFzTWFueVRleHQgfSBmcm9tICcuL2hhc01hbnlUZXh0J1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBEYXRhIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSByZXN1bHQgYWZ0ZXIgYWxsIGZpZWxkcyBoYXZlIHBvcHVsYXRlZFxuICAgKi9cbiAgZGVsZXRpb25zOiAoKCkgPT4gdm9pZClbXVxuICAvKipcbiAgICogQ29sdW1uIHByZWZpeCBjYW4gYmUgYnVpbHQgdXAgYnkgZ3JvdXAgYW5kIG5hbWVkIHRhYiBmaWVsZHNcbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBheWxvYWQgZmllbGRzIHRvIHRyYXZlcnNlXG4gICAqL1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgLyoqXG4gICAqIEFsbCBoYXNNYW55IG51bWJlciBmaWVsZHMsIGFzIHJldHVybmVkIGJ5IERyaXp6bGUsIGtleWVkIG9uIGFuIG9iamVjdCBieSBmaWVsZCBwYXRoXG4gICAqL1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZmllbGQgcGF0aCAoaW4gZG90IG5vdGF0aW9uKSwgdXNlZCB0byBtZXJnZSBpbiByZWxhdGlvbnNoaXBzXG4gICAqL1xuICBwYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEFsbCByZWxhdGVkIGRvY3VtZW50cywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBEYXRhIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgdGhlIG5lYXJlc3QgdGFibGUgZnJvbSBkYlxuICAgKi9cbiAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBBbGwgaGFzTWFueSB0ZXh0IGZpZWxkcywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxufVxuXG4vLyBUcmF2ZXJzZSBmaWVsZHMgcmVjdXJzaXZlbHksIHRyYW5zZm9ybWluZyBkYXRhXG4vLyBmb3IgZWFjaCBmaWVsZCB0eXBlIGludG8gcmVxdWlyZWQgUGF5bG9hZCBzaGFwZVxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBibG9ja3MsXG4gIGNvbmZpZyxcbiAgZGF0YVJlZixcbiAgZGVsZXRpb25zLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBudW1iZXJzLFxuICBwYXRoLFxuICByZWxhdGlvbnNoaXBzLFxuICB0YWJsZSxcbiAgdGV4dHMsXG59OiBUcmF2ZXJzZUZpZWxkc0FyZ3MpOiBUID0+IHtcbiAgY29uc3Qgc2FuaXRpemVkUGF0aCA9IHBhdGggPyBgJHtwYXRofS5gIDogcGF0aFxuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IGZpZWxkcy5yZWR1Y2UoKHJlc3VsdCwgZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGJsb2NrcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhUmVmLFxuICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB0YWJsZSxcbiAgICAgICAgdGV4dHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHxcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgICAoZmllbGQudHlwZSA9PT0gJ3RhYicgJiYgISgnbmFtZScgaW4gZmllbGQpKVxuICAgICkge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHRhYmxlLFxuICAgICAgICB0ZXh0cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbZmllbGROYW1lXVxuXG4gICAgICBpZiAoZmllbGRQcmVmaXgpIHtcbiAgICAgICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlW2ZpZWxkTmFtZV0pXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChhcnJheVJlc3VsdCwgcm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93Ll9sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFhcnJheVJlc3VsdFtyb3cuX2xvY2FsZV0pIGFycmF5UmVzdWx0W3Jvdy5fbG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0ge31cbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByb3dSZXN1bHQgPSB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBkYXRhLFxuICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9LiR7cm93Ll9vcmRlciAtIDF9YCxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmICgnX29yZGVyJyBpbiByb3dSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3dSZXN1bHQuX29yZGVyXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJvdykge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX29yZGVyXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX0uJHtpfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYmxvY2tzJykge1xuICAgICAgICBjb25zdCBibG9ja0ZpZWxkUGF0aCA9IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShibG9ja3NbYmxvY2tGaWVsZFBhdGhdKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgICAgIGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyb3cuX3V1aWQpIHtcbiAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll91dWlkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0pIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlc3VsdFtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZSwgbG9jYWxpemVkQmxvY2tzXSkgPT4ge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV1bbG9jYWxlXSA9IGxvY2FsaXplZEJsb2Nrcy5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1Jlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtyb3cuX29yZGVyIC0gMX1gLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBibG9ja1Jlc3VsdC5fb3JkZXJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBibG9ja1Jlc3VsdFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGUgcm93Ll9vcmRlclxuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiByb3csXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtpfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge31cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25QYXRoTWF0Y2ggPSByZWxhdGlvbnNoaXBzW2Ake3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGlmICghcmVsYXRpb25QYXRoTWF0Y2gpIHtcbiAgICAgICAgICBpZiAoJ2hhc01hbnknIGluIGZpZWxkICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbiAmJiBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgIFtjb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVdOiBbXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgcmVsYXRpb25QYXRoTWF0Y2guZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGlmICghcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0pIHJlbGF0aW9uc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uc0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCByZWxhdGlvbnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgcmVsYXRpb25zOiByZWxhdGlvblBhdGhNYXRjaCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkPy5oYXNNYW55KSB7XG4gICAgICAgIGNvbnN0IHRleHRQYXRoTWF0Y2ggPSB0ZXh0c1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIXRleHRQYXRoTWF0Y2gpIHJldHVybiByZXN1bHRcblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCB0ZXh0c0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICB0ZXh0UGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIXRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0pIHRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICB0ZXh0c0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyh0ZXh0c0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCB0ZXh0c10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlUZXh0KHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICAgIHRleHRSb3dzOiB0ZXh0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55VGV4dCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgdGV4dFJvd3M6IHRleHRQYXRoTWF0Y2gsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgY29uc3QgbnVtYmVyUGF0aE1hdGNoID0gbnVtYmVyc1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIW51bWJlclBhdGhNYXRjaCkgcmV0dXJuIHJlc3VsdFxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IG51bWJlcnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgbnVtYmVyUGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIW51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyhudW1iZXJzQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIG51bWJlcnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyKHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgbnVtYmVyUm93czogbnVtYmVycyxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtSGFzTWFueU51bWJlcih7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIG51bWJlclJvd3M6IG51bWJlclBhdGhNYXRjaCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChzZWxlY3RSZXN1bHQsIHJvdykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0pIHNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdLnB1c2gocm93LnZhbHVlKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdFJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgY29uc3QgbG9jYWxpemVkRmllbGREYXRhID0ge31cbiAgICAgIGNvbnN0IHZhbHVlc1RvVHJhbnNmb3JtOiB7XG4gICAgICAgIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB9W10gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgICAgIHRhYmxlLl9sb2NhbGVzLmZvckVhY2goKGxvY2FsZVJvdykgPT4ge1xuICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWY6IGxvY2FsaXplZEZpZWxkRGF0YSwgdGFibGU6IGxvY2FsZVJvdyB9KVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZjogcmVzdWx0LCB0YWJsZSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IHJlZiwgdGFibGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZERhdGEgPSB0YWJsZVtgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGFibGU/Ll9sb2NhbGVcblxuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBGaWVsZFByZWZpeCA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1fYFxuXG4gICAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJyAmJiAhcmVmW2xvY2FsZV0pIHtcbiAgICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHt9XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRhYmxlLl9sb2NhbGVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlZikuZm9yRWFjaCgoW2dyb3VwTG9jYWxlLCBncm91cExvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVmW2dyb3VwTG9jYWxlXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cExvY2FsZURhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBpZiAoJ19vcmRlcicgaW4gcmVmKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHJlZi5fb3JkZXJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgZ3JvdXBEYXRhID0ge31cblxuICAgICAgICAgICAgICByZWZbZmllbGQubmFtZV0gPSB0cmF2ZXJzZUZpZWxkczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogZ3JvdXBEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJlZikge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByZWYuX29yZGVyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IFN0cmluZyhmaWVsZERhdGEpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IE51bWJlci5wYXJzZUZsb2F0KGZpZWxkRGF0YSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gbmV3IERhdGUoZmllbGREYXRhKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gZmllbGREYXRhXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGFcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyhsb2NhbGl6ZWRGaWVsZERhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbG9jYWxpemVkRmllbGREYXRhXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIGRhdGFSZWYpXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlLl9sb2NhbGVzKVxuICB9XG5cbiAgcmV0dXJuIGZvcm1hdHRlZCBhcyBUXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJibG9ja3MiLCJjb25maWciLCJkYXRhUmVmIiwiZGVsZXRpb25zIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJ0YWJsZSIsInRleHRzIiwic2FuaXRpemVkUGF0aCIsImZvcm1hdHRlZCIsInJlZHVjZSIsInJlc3VsdCIsImZpZWxkIiwidHlwZSIsInRhYnMiLCJtYXAiLCJ0YWIiLCJmaWVsZEFmZmVjdHNEYXRhIiwiZmllbGROYW1lIiwibmFtZSIsImZpZWxkRGF0YSIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGl6ZWQiLCJhcnJheVJlc3VsdCIsInJvdyIsIl9sb2NhbGUiLCJsb2NhbGUiLCJkYXRhIiwiX3V1aWQiLCJpZCIsInJvd1Jlc3VsdCIsIl9vcmRlciIsImkiLCJibG9ja0ZpZWxkUGF0aCIsImZvckVhY2giLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxpemVkQmxvY2tzIiwiYmxvY2siLCJmaW5kIiwic2x1ZyIsImJsb2NrVHlwZSIsImJsb2NrUmVzdWx0IiwicmVsYXRpb25QYXRoTWF0Y2giLCJoYXNNYW55IiwibG9jYWxpemF0aW9uIiwibG9jYWxlcyIsImRlZmF1bHRMb2NhbGUiLCJyZWxhdGlvbnNCeUxvY2FsZSIsInJlbGF0aW9ucyIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsInJlZiIsInRleHRQYXRoTWF0Y2giLCJ0ZXh0c0J5TG9jYWxlIiwidHJhbnNmb3JtSGFzTWFueVRleHQiLCJ0ZXh0Um93cyIsIm51bWJlclBhdGhNYXRjaCIsIm51bWJlcnNCeUxvY2FsZSIsInRyYW5zZm9ybUhhc01hbnlOdW1iZXIiLCJudW1iZXJSb3dzIiwic2VsZWN0UmVzdWx0IiwidmFsdWUiLCJsb2NhbGl6ZWRGaWVsZERhdGEiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsIl9sb2NhbGVzIiwibG9jYWxlUm93IiwiZ3JvdXBGaWVsZFByZWZpeCIsImdyb3VwTG9jYWxlIiwiZ3JvdXBMb2NhbGVEYXRhIiwiZ3JvdXBEYXRhIiwidmFsIiwiU3RyaW5nIiwiTnVtYmVyIiwicGFyc2VGbG9hdCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE2RHZCQTs7O2VBQUFBOzs7dUJBekRvQjsrQkFJTTs2QkFDRjs4QkFDQztBQW1EL0IsTUFBTUEsaUJBQWlCLENBQW9DLEVBQ2hFQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLFdBQVcsRUFDWEMsTUFBTSxFQUNOQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsYUFBYSxFQUNiQyxLQUFLLEVBQ0xDLEtBQUssRUFDYztJQUNuQixNQUFNQyxnQkFBZ0JKLE9BQU8sQ0FBQyxFQUFFQSxLQUFLLENBQUMsQ0FBQyxHQUFHQTtJQUUxQyxNQUFNSyxZQUFZUCxPQUFPUSxNQUFNLENBQUMsQ0FBQ0MsUUFBUUM7UUFDdkMsSUFBSUEsTUFBTUMsSUFBSSxLQUFLLFFBQVE7WUFDekJqQixlQUFlO2dCQUNiQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLFFBQVFVLE1BQU1FLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE1BQVMsQ0FBQTt3QkFBRSxHQUFHQSxHQUFHO3dCQUFFSCxNQUFNO29CQUFNLENBQUE7Z0JBQ3ZEVjtnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7WUFDRjtRQUNGO1FBRUEsSUFDRUssTUFBTUMsSUFBSSxLQUFLLGlCQUNmRCxNQUFNQyxJQUFJLEtBQUssU0FDZEQsTUFBTUMsSUFBSSxLQUFLLFNBQVMsQ0FBRSxDQUFBLFVBQVVELEtBQUksR0FDekM7WUFDQWhCLGVBQWU7Z0JBQ2JDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUMsUUFBUVUsTUFBTVYsTUFBTTtnQkFDcEJDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUFJVSxJQUFBQSx1QkFBZ0IsRUFBQ0wsUUFBUTtZQUMzQixNQUFNTSxZQUFZLENBQUMsRUFBRWpCLGVBQWUsR0FBRyxFQUFFVyxNQUFNTyxJQUFJLENBQUMsQ0FBQztZQUNyRCxNQUFNQyxZQUFZZCxLQUFLLENBQUNZLFVBQVU7WUFFbEMsSUFBSWpCLGFBQWE7Z0JBQ2ZELFVBQVVxQixJQUFJLENBQUMsSUFBTSxPQUFPZixLQUFLLENBQUNZLFVBQVU7WUFDOUM7WUFFQSxJQUFJTixNQUFNQyxJQUFJLEtBQUssU0FBUztnQkFDMUIsSUFBSVMsTUFBTUMsT0FBTyxDQUFDSCxZQUFZO29CQUM1QixJQUFJUixNQUFNWSxTQUFTLEVBQUU7d0JBQ25CYixNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHQyxVQUFVVixNQUFNLENBQUMsQ0FBQ2UsYUFBYUM7NEJBQ2xELElBQUksT0FBT0EsSUFBSUMsT0FBTyxLQUFLLFVBQVU7Z0NBQ25DLElBQUksQ0FBQ0YsV0FBVyxDQUFDQyxJQUFJQyxPQUFPLENBQUMsRUFBRUYsV0FBVyxDQUFDQyxJQUFJQyxPQUFPLENBQUMsR0FBRyxFQUFFO2dDQUM1RCxNQUFNQyxTQUFTRixJQUFJQyxPQUFPO2dDQUMxQixNQUFNRSxPQUFPLENBQUM7Z0NBQ2QsT0FBT0gsSUFBSUMsT0FBTztnQ0FDbEIsSUFBSUQsSUFBSUksS0FBSyxFQUFFO29DQUNiSixJQUFJSyxFQUFFLEdBQUdMLElBQUlJLEtBQUs7b0NBQ2xCLE9BQU9KLElBQUlJLEtBQUs7Z0NBQ2xCO2dDQUVBLE1BQU1FLFlBQVlwQyxlQUFrQjtvQ0FDbENDO29DQUNBQztvQ0FDQUMsU0FBUzhCO29DQUNUN0I7b0NBQ0FDLGFBQWE7b0NBQ2JDLFFBQVFVLE1BQU1WLE1BQU07b0NBQ3BCQztvQ0FDQUMsTUFBTSxDQUFDLEVBQUVJLGNBQWMsRUFBRUksTUFBTU8sSUFBSSxDQUFDLENBQUMsRUFBRU8sSUFBSU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztvQ0FDdkQ1QjtvQ0FDQUMsT0FBT29CO29DQUNQbkI7Z0NBQ0Y7Z0NBRUEsSUFBSSxZQUFZeUIsV0FBVztvQ0FDekIsT0FBT0EsVUFBVUMsTUFBTTtnQ0FDekI7Z0NBRUFSLFdBQVcsQ0FBQ0csT0FBTyxDQUFDUCxJQUFJLENBQUNXOzRCQUMzQjs0QkFFQSxPQUFPUDt3QkFDVCxHQUFHLENBQUM7b0JBQ04sT0FBTzt3QkFDTGQsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsR0FBR0MsVUFBVUwsR0FBRyxDQUFDLENBQUNXLEtBQUtROzRCQUN2QyxJQUFJUixJQUFJSSxLQUFLLEVBQUU7Z0NBQ2JKLElBQUlLLEVBQUUsR0FBR0wsSUFBSUksS0FBSztnQ0FDbEIsT0FBT0osSUFBSUksS0FBSzs0QkFDbEI7NEJBRUEsSUFBSSxZQUFZSixLQUFLO2dDQUNuQixPQUFPQSxJQUFJTyxNQUFNOzRCQUNuQjs0QkFFQSxPQUFPckMsZUFBa0I7Z0NBQ3ZCQztnQ0FDQUM7Z0NBQ0FDLFNBQVMyQjtnQ0FDVDFCO2dDQUNBQyxhQUFhO2dDQUNiQyxRQUFRVSxNQUFNVixNQUFNO2dDQUNwQkM7Z0NBQ0FDLE1BQU0sQ0FBQyxFQUFFSSxjQUFjLEVBQUVJLE1BQU1PLElBQUksQ0FBQyxDQUFDLEVBQUVlLEVBQUUsQ0FBQztnQ0FDMUM3QjtnQ0FDQUMsT0FBT29CO2dDQUNQbkI7NEJBQ0Y7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT0k7WUFDVDtZQUVBLElBQUlDLE1BQU1DLElBQUksS0FBSyxVQUFVO2dCQUMzQixNQUFNc0IsaUJBQWlCLENBQUMsRUFBRTNCLGNBQWMsRUFBRUksTUFBTU8sSUFBSSxDQUFDLENBQUM7Z0JBRXRELElBQUlHLE1BQU1DLE9BQU8sQ0FBQzFCLE1BQU0sQ0FBQ3NDLGVBQWUsR0FBRztvQkFDekMsSUFBSXZCLE1BQU1ZLFNBQVMsRUFBRTt3QkFDbkJiLE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUcsQ0FBQzt3QkFFdEJ0QixNQUFNLENBQUNzQyxlQUFlLENBQUNDLE9BQU8sQ0FBQyxDQUFDVjs0QkFDOUIsSUFBSUEsSUFBSUksS0FBSyxFQUFFO2dDQUNiSixJQUFJSyxFQUFFLEdBQUdMLElBQUlJLEtBQUs7Z0NBQ2xCLE9BQU9KLElBQUlJLEtBQUs7NEJBQ2xCOzRCQUNBLElBQUksT0FBT0osSUFBSUMsT0FBTyxLQUFLLFVBQVU7Z0NBQ25DLElBQUksQ0FBQ2hCLE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLENBQUNPLElBQUlDLE9BQU8sQ0FBQyxFQUFFaEIsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsQ0FBQ08sSUFBSUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQ0FDMUVoQixNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxDQUFDTyxJQUFJQyxPQUFPLENBQUMsQ0FBQ04sSUFBSSxDQUFDSztnQ0FDckMsT0FBT0EsSUFBSUMsT0FBTzs0QkFDcEI7d0JBQ0Y7d0JBRUFVLE9BQU9DLE9BQU8sQ0FBQzNCLE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEVBQUVpQixPQUFPLENBQUMsQ0FBQyxDQUFDUixRQUFRVyxnQkFBZ0I7NEJBQ25FNUIsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsQ0FBQ1MsT0FBTyxHQUFHVyxnQkFBZ0J4QixHQUFHLENBQUMsQ0FBQ1c7Z0NBQ2hELE1BQU1jLFFBQVE1QixNQUFNZixNQUFNLENBQUM0QyxJQUFJLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0EsU0FBU2hCLElBQUlpQixTQUFTO2dDQUVwRSxJQUFJSCxPQUFPO29DQUNULE1BQU1JLGNBQWNoRCxlQUFrQjt3Q0FDcENDO3dDQUNBQzt3Q0FDQUMsU0FBUzJCO3dDQUNUMUI7d0NBQ0FDLGFBQWE7d0NBQ2JDLFFBQVFzQyxNQUFNdEMsTUFBTTt3Q0FDcEJDO3dDQUNBQyxNQUFNLENBQUMsRUFBRStCLGVBQWUsQ0FBQyxFQUFFVCxJQUFJTyxNQUFNLEdBQUcsRUFBRSxDQUFDO3dDQUMzQzVCO3dDQUNBQyxPQUFPb0I7d0NBQ1BuQjtvQ0FDRjtvQ0FFQSxPQUFPcUMsWUFBWVgsTUFBTTtvQ0FDekIsT0FBT1c7Z0NBQ1Q7Z0NBRUEsT0FBTyxDQUFDOzRCQUNWO3dCQUNGO29CQUNGLE9BQU87d0JBQ0xqQyxNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHdEIsTUFBTSxDQUFDc0MsZUFBZSxDQUFDcEIsR0FBRyxDQUFDLENBQUNXLEtBQUtROzRCQUNwRCxPQUFPUixJQUFJTyxNQUFNOzRCQUNqQixJQUFJUCxJQUFJSSxLQUFLLEVBQUU7Z0NBQ2JKLElBQUlLLEVBQUUsR0FBR0wsSUFBSUksS0FBSztnQ0FDbEIsT0FBT0osSUFBSUksS0FBSzs0QkFDbEI7NEJBQ0EsTUFBTVUsUUFBUTVCLE1BQU1mLE1BQU0sQ0FBQzRDLElBQUksQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQSxTQUFTaEIsSUFBSWlCLFNBQVM7NEJBRXBFLElBQUlILE9BQU87Z0NBQ1QsT0FBTzVDLGVBQWtCO29DQUN2QkM7b0NBQ0FDO29DQUNBQyxTQUFTMkI7b0NBQ1QxQjtvQ0FDQUMsYUFBYTtvQ0FDYkMsUUFBUXNDLE1BQU10QyxNQUFNO29DQUNwQkM7b0NBQ0FDLE1BQU0sQ0FBQyxFQUFFK0IsZUFBZSxDQUFDLEVBQUVELEVBQUUsQ0FBQztvQ0FDOUI3QjtvQ0FDQUMsT0FBT29CO29DQUNQbkI7Z0NBQ0Y7NEJBQ0Y7NEJBRUEsT0FBTyxDQUFDO3dCQUNWO29CQUNGO2dCQUNGO2dCQUVBLE9BQU9JO1lBQ1Q7WUFFQSxJQUFJQyxNQUFNQyxJQUFJLEtBQUssa0JBQWtCRCxNQUFNQyxJQUFJLEtBQUssVUFBVTtnQkFDNUQsTUFBTWdDLG9CQUFvQnhDLGFBQWEsQ0FBQyxDQUFDLEVBQUVHLGNBQWMsRUFBRUksTUFBTU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDMEIsbUJBQW1CO29CQUN0QixJQUFJLGFBQWFqQyxTQUFTQSxNQUFNa0MsT0FBTyxFQUFFO3dCQUN2QyxJQUFJbEMsTUFBTVksU0FBUyxJQUFJMUIsT0FBT2lELFlBQVksSUFBSWpELE9BQU9pRCxZQUFZLENBQUNDLE9BQU8sRUFBRTs0QkFDekVyQyxNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHO2dDQUNuQixDQUFDckIsT0FBT2lELFlBQVksQ0FBQ0UsYUFBYSxDQUFDLEVBQUUsRUFBRTs0QkFDekM7d0JBQ0YsT0FBTzs0QkFDTHRDLE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDekI7b0JBQ0Y7b0JBRUEsT0FBT1I7Z0JBQ1Q7Z0JBRUEsSUFBSUMsTUFBTVksU0FBUyxFQUFFO29CQUNuQmIsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUN0QixNQUFNK0Isb0JBQStELENBQUM7b0JBRXRFTCxrQkFBa0JULE9BQU8sQ0FBQyxDQUFDVjt3QkFDekIsSUFBSSxPQUFPQSxJQUFJRSxNQUFNLEtBQUssVUFBVTs0QkFDbEMsSUFBSSxDQUFDc0IsaUJBQWlCLENBQUN4QixJQUFJRSxNQUFNLENBQUMsRUFBRXNCLGlCQUFpQixDQUFDeEIsSUFBSUUsTUFBTSxDQUFDLEdBQUcsRUFBRTs0QkFDdEVzQixpQkFBaUIsQ0FBQ3hCLElBQUlFLE1BQU0sQ0FBQyxDQUFDUCxJQUFJLENBQUNLO3dCQUNyQztvQkFDRjtvQkFFQVcsT0FBT0MsT0FBTyxDQUFDWSxtQkFBbUJkLE9BQU8sQ0FBQyxDQUFDLENBQUNSLFFBQVF1QixVQUFVO3dCQUM1REMsSUFBQUEsbUNBQXFCLEVBQUM7NEJBQ3BCeEM7NEJBQ0FnQjs0QkFDQXlCLEtBQUsxQzs0QkFDTHdDO3dCQUNGO29CQUNGO2dCQUNGLE9BQU87b0JBQ0xDLElBQUFBLG1DQUFxQixFQUFDO3dCQUNwQnhDO3dCQUNBeUMsS0FBSzFDO3dCQUNMd0MsV0FBV047b0JBQ2I7Z0JBQ0Y7Z0JBRUEsT0FBT2xDO1lBQ1Q7WUFFQSxJQUFJQyxNQUFNQyxJQUFJLEtBQUssVUFBVUQsT0FBT2tDLFNBQVM7Z0JBQzNDLE1BQU1RLGdCQUFnQi9DLEtBQUssQ0FBQyxDQUFDLEVBQUVDLGNBQWMsRUFBRUksTUFBTU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDbUMsZUFBZSxPQUFPM0M7Z0JBRTNCLElBQUlDLE1BQU1ZLFNBQVMsRUFBRTtvQkFDbkJiLE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDdEIsTUFBTW9DLGdCQUEyRCxDQUFDO29CQUVsRUQsY0FBY2xCLE9BQU8sQ0FBQyxDQUFDVjt3QkFDckIsSUFBSSxPQUFPQSxJQUFJRSxNQUFNLEtBQUssVUFBVTs0QkFDbEMsSUFBSSxDQUFDMkIsYUFBYSxDQUFDN0IsSUFBSUUsTUFBTSxDQUFDLEVBQUUyQixhQUFhLENBQUM3QixJQUFJRSxNQUFNLENBQUMsR0FBRyxFQUFFOzRCQUM5RDJCLGFBQWEsQ0FBQzdCLElBQUlFLE1BQU0sQ0FBQyxDQUFDUCxJQUFJLENBQUNLO3dCQUNqQztvQkFDRjtvQkFFQVcsT0FBT0MsT0FBTyxDQUFDaUIsZUFBZW5CLE9BQU8sQ0FBQyxDQUFDLENBQUNSLFFBQVFyQixNQUFNO3dCQUNwRGlELElBQUFBLGlDQUFvQixFQUFDOzRCQUNuQjVDOzRCQUNBZ0I7NEJBQ0F5QixLQUFLMUM7NEJBQ0w4QyxVQUFVbEQ7d0JBQ1o7b0JBQ0Y7Z0JBQ0YsT0FBTztvQkFDTGlELElBQUFBLGlDQUFvQixFQUFDO3dCQUNuQjVDO3dCQUNBeUMsS0FBSzFDO3dCQUNMOEMsVUFBVUg7b0JBQ1o7Z0JBQ0Y7Z0JBRUEsT0FBTzNDO1lBQ1Q7WUFFQSxJQUFJQyxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTWtDLE9BQU8sRUFBRTtnQkFDNUMsTUFBTVksa0JBQWtCdkQsT0FBTyxDQUFDLENBQUMsRUFBRUssY0FBYyxFQUFFSSxNQUFNTyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUN1QyxpQkFBaUIsT0FBTy9DO2dCQUU3QixJQUFJQyxNQUFNWSxTQUFTLEVBQUU7b0JBQ25CYixNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3RCLE1BQU13QyxrQkFBNkQsQ0FBQztvQkFFcEVELGdCQUFnQnRCLE9BQU8sQ0FBQyxDQUFDVjt3QkFDdkIsSUFBSSxPQUFPQSxJQUFJRSxNQUFNLEtBQUssVUFBVTs0QkFDbEMsSUFBSSxDQUFDK0IsZUFBZSxDQUFDakMsSUFBSUUsTUFBTSxDQUFDLEVBQUUrQixlQUFlLENBQUNqQyxJQUFJRSxNQUFNLENBQUMsR0FBRyxFQUFFOzRCQUNsRStCLGVBQWUsQ0FBQ2pDLElBQUlFLE1BQU0sQ0FBQyxDQUFDUCxJQUFJLENBQUNLO3dCQUNuQztvQkFDRjtvQkFFQVcsT0FBT0MsT0FBTyxDQUFDcUIsaUJBQWlCdkIsT0FBTyxDQUFDLENBQUMsQ0FBQ1IsUUFBUXpCLFFBQVE7d0JBQ3hEeUQsSUFBQUEscUNBQXNCLEVBQUM7NEJBQ3JCaEQ7NEJBQ0FnQjs0QkFDQWlDLFlBQVkxRDs0QkFDWmtELEtBQUsxQzt3QkFDUDtvQkFDRjtnQkFDRixPQUFPO29CQUNMaUQsSUFBQUEscUNBQXNCLEVBQUM7d0JBQ3JCaEQ7d0JBQ0FpRCxZQUFZSDt3QkFDWkwsS0FBSzFDO29CQUNQO2dCQUNGO2dCQUVBLE9BQU9BO1lBQ1Q7WUFFQSxJQUFJQyxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTWtDLE9BQU8sRUFBRTtnQkFDNUMsSUFBSXhCLE1BQU1DLE9BQU8sQ0FBQ0gsWUFBWTtvQkFDNUIsSUFBSVIsTUFBTVksU0FBUyxFQUFFO3dCQUNuQmIsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsR0FBR0MsVUFBVVYsTUFBTSxDQUFDLENBQUNvRCxjQUFjcEM7NEJBQ25ELElBQUksT0FBT0EsSUFBSUUsTUFBTSxLQUFLLFVBQVU7Z0NBQ2xDLElBQUksQ0FBQ2tDLFlBQVksQ0FBQ3BDLElBQUlFLE1BQU0sQ0FBQyxFQUFFa0MsWUFBWSxDQUFDcEMsSUFBSUUsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQ0FDNURrQyxZQUFZLENBQUNwQyxJQUFJRSxNQUFNLENBQUMsQ0FBQ1AsSUFBSSxDQUFDSyxJQUFJcUMsS0FBSzs0QkFDekM7NEJBRUEsT0FBT0Q7d0JBQ1QsR0FBRyxDQUFDO29CQUNOLE9BQU87d0JBQ0xuRCxNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHQyxVQUFVTCxHQUFHLENBQUMsQ0FBQyxFQUFFZ0QsS0FBSyxFQUFFLEdBQUtBO29CQUNwRDtnQkFDRjtnQkFDQSxPQUFPcEQ7WUFDVDtZQUVBLE1BQU1xRCxxQkFBcUIsQ0FBQztZQUM1QixNQUFNQyxvQkFHQSxFQUFFO1lBRVIsSUFBSXJELE1BQU1ZLFNBQVMsSUFBSUYsTUFBTUMsT0FBTyxDQUFDakIsTUFBTTRELFFBQVEsR0FBRztnQkFDcEQ1RCxNQUFNNEQsUUFBUSxDQUFDOUIsT0FBTyxDQUFDLENBQUMrQjtvQkFDdEJGLGtCQUFrQjVDLElBQUksQ0FBQzt3QkFBRWdDLEtBQUtXO3dCQUFvQjFELE9BQU82RDtvQkFBVTtnQkFDckU7WUFDRixPQUFPO2dCQUNMRixrQkFBa0I1QyxJQUFJLENBQUM7b0JBQUVnQyxLQUFLMUM7b0JBQVFMO2dCQUFNO1lBQzlDO1lBRUEyRCxrQkFBa0I3QixPQUFPLENBQUMsQ0FBQyxFQUFFaUIsR0FBRyxFQUFFL0MsS0FBSyxFQUFFO2dCQUN2QyxNQUFNYyxZQUFZZCxLQUFLLENBQUMsQ0FBQyxFQUFFTCxlQUFlLEdBQUcsRUFBRVcsTUFBTU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDNUQsTUFBTVMsU0FBU3RCLE9BQU9xQjtnQkFFdEIsT0FBUWYsTUFBTUMsSUFBSTtvQkFDaEIsS0FBSztvQkFDTCxLQUFLO3dCQUFTOzRCQUNaLE1BQU11RCxtQkFBbUIsQ0FBQyxFQUFFbkUsZUFBZSxHQUFHLEVBQUVXLE1BQU1PLElBQUksQ0FBQyxDQUFDLENBQUM7NEJBRTdELElBQUlQLE1BQU1ZLFNBQVMsRUFBRTtnQ0FDbkIsSUFBSSxPQUFPSSxXQUFXLFlBQVksQ0FBQ3lCLEdBQUcsQ0FBQ3pCLE9BQU8sRUFBRTtvQ0FDOUN5QixHQUFHLENBQUN6QixPQUFPLEdBQUcsQ0FBQztvQ0FDZixPQUFPdEIsTUFBTXFCLE9BQU87Z0NBQ3RCO2dDQUVBVSxPQUFPQyxPQUFPLENBQUNlLEtBQUtqQixPQUFPLENBQUMsQ0FBQyxDQUFDaUMsYUFBYUMsZ0JBQWdCO29DQUN6RGpCLEdBQUcsQ0FBQ2dCLFlBQVksR0FBR3pFLGVBQXdDO3dDQUN6REM7d0NBQ0FDO3dDQUNBQyxTQUFTdUU7d0NBQ1R0RTt3Q0FDQUMsYUFBYW1FO3dDQUNibEUsUUFBUVUsTUFBTVYsTUFBTTt3Q0FDcEJDO3dDQUNBQyxNQUFNLENBQUMsRUFBRUksY0FBYyxFQUFFSSxNQUFNTyxJQUFJLENBQUMsQ0FBQzt3Q0FDckNkO3dDQUNBQzt3Q0FDQUM7b0NBQ0Y7Z0NBQ0Y7Z0NBQ0EsSUFBSSxZQUFZOEMsS0FBSztvQ0FDbkIsT0FBT0EsSUFBSXBCLE1BQU07Z0NBQ25COzRCQUNGLE9BQU87Z0NBQ0wsTUFBTXNDLFlBQVksQ0FBQztnQ0FFbkJsQixHQUFHLENBQUN6QyxNQUFNTyxJQUFJLENBQUMsR0FBR3ZCLGVBQXdDO29DQUN4REM7b0NBQ0FDO29DQUNBQyxTQUFTd0U7b0NBQ1R2RTtvQ0FDQUMsYUFBYW1FO29DQUNibEUsUUFBUVUsTUFBTVYsTUFBTTtvQ0FDcEJDO29DQUNBQyxNQUFNLENBQUMsRUFBRUksY0FBYyxFQUFFSSxNQUFNTyxJQUFJLENBQUMsQ0FBQztvQ0FDckNkO29DQUNBQztvQ0FDQUM7Z0NBQ0Y7Z0NBQ0EsSUFBSSxZQUFZOEMsS0FBSztvQ0FDbkIsT0FBT0EsSUFBSXBCLE1BQU07Z0NBQ25COzRCQUNGOzRCQUVBO3dCQUNGO29CQUVBLEtBQUs7d0JBQVE7NEJBQ1gsSUFBSXVDLE1BQU1wRDs0QkFDVixJQUFJLE9BQU9BLGNBQWMsVUFBVTtnQ0FDakNvRCxNQUFNQyxPQUFPckQ7NEJBQ2Y7NEJBRUEsSUFBSSxPQUFPUSxXQUFXLFVBQVU7Z0NBQzlCeUIsR0FBRyxDQUFDekIsT0FBTyxHQUFHNEM7NEJBQ2hCLE9BQU87Z0NBQ0w3RCxNQUFNLENBQUNDLE1BQU1PLElBQUksQ0FBQyxHQUFHcUQ7NEJBQ3ZCOzRCQUVBO3dCQUNGO29CQUVBLEtBQUs7d0JBQVU7NEJBQ2IsSUFBSUEsTUFBTXBEOzRCQUNWLElBQUksT0FBT0EsY0FBYyxVQUFVO2dDQUNqQ29ELE1BQU1FLE9BQU9DLFVBQVUsQ0FBQ3ZEOzRCQUMxQjs0QkFFQSxJQUFJLE9BQU9RLFdBQVcsVUFBVTtnQ0FDOUJ5QixHQUFHLENBQUN6QixPQUFPLEdBQUc0Qzs0QkFDaEIsT0FBTztnQ0FDTDdELE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUdxRDs0QkFDdkI7NEJBRUE7d0JBQ0Y7b0JBRUEsS0FBSzt3QkFBUTs0QkFDWCxJQUFJQSxNQUFNcEQ7NEJBRVYsSUFBSSxPQUFPQSxjQUFjLFVBQVU7Z0NBQ2pDb0QsTUFBTSxJQUFJSSxLQUFLeEQsV0FBV3lELFdBQVc7NEJBQ3ZDOzRCQUVBLElBQUksT0FBT2pELFdBQVcsVUFBVTtnQ0FDOUJ5QixHQUFHLENBQUN6QixPQUFPLEdBQUc0Qzs0QkFDaEIsT0FBTztnQ0FDTDdELE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUdxRDs0QkFDdkI7NEJBRUE7d0JBQ0Y7b0JBRUE7d0JBQVM7NEJBQ1AsSUFBSSxPQUFPNUMsV0FBVyxVQUFVO2dDQUM5QnlCLEdBQUcsQ0FBQ3pCLE9BQU8sR0FBR1I7NEJBQ2hCLE9BQU87Z0NBQ0xULE1BQU0sQ0FBQ0MsTUFBTU8sSUFBSSxDQUFDLEdBQUdDOzRCQUN2Qjs0QkFFQTt3QkFDRjtnQkFDRjtZQUNGO1lBRUEsSUFBSWlCLE9BQU95QyxJQUFJLENBQUNkLG9CQUFvQmUsTUFBTSxHQUFHLEdBQUc7Z0JBQzlDcEUsTUFBTSxDQUFDQyxNQUFNTyxJQUFJLENBQUMsR0FBRzZDO1lBQ3ZCO1lBRUEsT0FBT3JEO1FBQ1Q7UUFFQSxPQUFPQTtJQUNULEdBQUdaO0lBRUgsSUFBSXVCLE1BQU1DLE9BQU8sQ0FBQ2pCLE1BQU00RCxRQUFRLEdBQUc7UUFDakNsRSxVQUFVcUIsSUFBSSxDQUFDLElBQU0sT0FBT2YsTUFBTTRELFFBQVE7SUFDNUM7SUFFQSxPQUFPekQ7QUFDVCJ9
|
package/dist/types.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { ColumnBaseConfig, ColumnDataType, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
|
1
|
+
import type { ColumnBaseConfig, ColumnDataType, DrizzleConfig, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
|
2
2
|
import type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres';
|
3
3
|
import type { PgColumn, PgEnum, PgTableWithColumns, PgTransaction } from 'drizzle-orm/pg-core';
|
4
4
|
import type { Payload } from 'payload';
|
@@ -8,6 +8,7 @@ export type DrizzleDB = NodePgDatabase<Record<string, unknown>>;
|
|
8
8
|
export type Args = {
|
9
9
|
migrationDir?: string;
|
10
10
|
pool: PoolConfig;
|
11
|
+
logger?: DrizzleConfig['logger'];
|
11
12
|
push?: boolean;
|
12
13
|
};
|
13
14
|
export type GenericColumn = PgColumn<ColumnBaseConfig<ColumnDataType, string>, Record<string, unknown>>;
|
@@ -25,6 +26,7 @@ export type GenericRelation = Relations<string, Record<string, Relation<string>>
|
|
25
26
|
export type DrizzleTransaction = PgTransaction<NodePgQueryResultHKT, Record<string, unknown>, ExtractTablesWithRelations<Record<string, unknown>>>;
|
26
27
|
export type PostgresAdapter = BaseDatabaseAdapter & {
|
27
28
|
drizzle: DrizzleDB;
|
29
|
+
logger: DrizzleConfig['logger'];
|
28
30
|
enums: Record<string, GenericEnum>;
|
29
31
|
pool: Pool;
|
30
32
|
poolOptions: Args['pool'];
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,IAAI,GAAG;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,EACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,oBAAoB,EACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACpD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,OAAO,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClC,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,CAAA;IACpE,QAAQ,EAAE;QACR,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,EAAE,EAAE,kBAAkB,CAAA;YACtB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B,CAAA;KACF,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpC;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,eAAe,CAAA;AAEnF,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAElD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAiB,eACf,SAAQ,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,EACzC,mBAAmB;QACrB,OAAO,EAAE,SAAS,CAAA;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAClC,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,OAAO,CAAA;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,CAAA;QACpE,QAAQ,EAAE;YACR,CAAC,EAAE,EAAE,MAAM,GAAG;gBACZ,EAAE,EAAE,kBAAkB,CAAA;gBACtB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;aAC7B,CAAA;SACF,CAAA;QACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACpC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KACzD;CACF"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.4.0",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
6
6
|
"license": "MIT",
|
@@ -15,8 +15,8 @@
|
|
15
15
|
"dependencies": {
|
16
16
|
"@libsql/client": "^0.3.1",
|
17
17
|
"console-table-printer": "2.11.2",
|
18
|
-
"drizzle-kit": "0.
|
19
|
-
"drizzle-orm": "0.
|
18
|
+
"drizzle-kit": "0.20.5-608ae62",
|
19
|
+
"drizzle-orm": "0.29.3",
|
20
20
|
"pg": "8.11.3",
|
21
21
|
"prompts": "2.4.2",
|
22
22
|
"to-snake-case": "1.0.0",
|
@@ -25,8 +25,8 @@
|
|
25
25
|
"devDependencies": {
|
26
26
|
"@types/pg": "8.10.2",
|
27
27
|
"@types/to-snake-case": "1.0.0",
|
28
|
-
"
|
29
|
-
"
|
28
|
+
"payload": "2.8.2",
|
29
|
+
"@payloadcms/eslint-config": "1.1.1"
|
30
30
|
},
|
31
31
|
"peerDependencies": {
|
32
32
|
"payload": "^2.0.0"
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"extendViteConfig.d.ts","sourceRoot":"","sources":["../src/extendViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,eAAO,MAAM,IAAI,sBAQhB,CAAA;AAED,eAAO,MAAM,gBAAgB,WAAY,eAAe,SAMvD,CAAA"}
|
package/dist/extendViteConfig.js
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
function _export(target, all) {
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
7
|
-
enumerable: true,
|
8
|
-
get: all[name]
|
9
|
-
});
|
10
|
-
}
|
11
|
-
_export(exports, {
|
12
|
-
vite: function() {
|
13
|
-
return vite;
|
14
|
-
},
|
15
|
-
extendViteConfig: function() {
|
16
|
-
return extendViteConfig;
|
17
|
-
}
|
18
|
-
});
|
19
|
-
const vite = (config)=>{
|
20
|
-
return {
|
21
|
-
...config,
|
22
|
-
optimizeDeps: {
|
23
|
-
...config.optimizeDeps,
|
24
|
-
exclude: [
|
25
|
-
...config.optimizeDeps.exclude,
|
26
|
-
'@payloadcms/db-postgres'
|
27
|
-
]
|
28
|
-
}
|
29
|
-
};
|
30
|
-
};
|
31
|
-
const extendViteConfig = (config)=>{
|
32
|
-
const existingViteConfig = config.admin.vite ? config.admin.vite : (viteConfig)=>viteConfig;
|
33
|
-
config.admin.vite = (webpackConfig)=>{
|
34
|
-
return vite(existingViteConfig(webpackConfig));
|
35
|
-
};
|
36
|
-
};
|
37
|
-
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHRlbmRWaXRlQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5cbmV4cG9ydCBjb25zdCB2aXRlID0gKGNvbmZpZykgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBvcHRpbWl6ZURlcHM6IHtcbiAgICAgIC4uLmNvbmZpZy5vcHRpbWl6ZURlcHMsXG4gICAgICBleGNsdWRlOiBbLi4uY29uZmlnLm9wdGltaXplRGVwcy5leGNsdWRlLCAnQHBheWxvYWRjbXMvZGItcG9zdGdyZXMnXSxcbiAgICB9LFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBleHRlbmRWaXRlQ29uZmlnID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKSA9PiB7XG4gIGNvbnN0IGV4aXN0aW5nVml0ZUNvbmZpZyA9IGNvbmZpZy5hZG1pbi52aXRlID8gY29uZmlnLmFkbWluLnZpdGUgOiAodml0ZUNvbmZpZykgPT4gdml0ZUNvbmZpZ1xuXG4gIGNvbmZpZy5hZG1pbi52aXRlID0gKHdlYnBhY2tDb25maWcpID0+IHtcbiAgICByZXR1cm4gdml0ZShleGlzdGluZ1ZpdGVDb25maWcod2VicGFja0NvbmZpZykpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ2aXRlIiwiZXh0ZW5kVml0ZUNvbmZpZyIsImNvbmZpZyIsIm9wdGltaXplRGVwcyIsImV4Y2x1ZGUiLCJleGlzdGluZ1ZpdGVDb25maWciLCJhZG1pbiIsInZpdGVDb25maWciLCJ3ZWJwYWNrQ29uZmlnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVhQSxJQUFJO2VBQUpBOztJQVVBQyxnQkFBZ0I7ZUFBaEJBOzs7QUFWTixNQUFNRCxPQUFPLENBQUNFO0lBQ25CLE9BQU87UUFDTCxHQUFHQSxNQUFNO1FBQ1RDLGNBQWM7WUFDWixHQUFHRCxPQUFPQyxZQUFZO1lBQ3RCQyxTQUFTO21CQUFJRixPQUFPQyxZQUFZLENBQUNDLE9BQU87Z0JBQUU7YUFBMEI7UUFDdEU7SUFDRjtBQUNGO0FBRU8sTUFBTUgsbUJBQW1CLENBQUNDO0lBQy9CLE1BQU1HLHFCQUFxQkgsT0FBT0ksS0FBSyxDQUFDTixJQUFJLEdBQUdFLE9BQU9JLEtBQUssQ0FBQ04sSUFBSSxHQUFHLENBQUNPLGFBQWVBO0lBRW5GTCxPQUFPSSxLQUFLLENBQUNOLElBQUksR0FBRyxDQUFDUTtRQUNuQixPQUFPUixLQUFLSyxtQkFBbUJHO0lBQ2pDO0FBQ0YifQ==
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"extendWebpackConfig.d.ts","sourceRoot":"","sources":["../src/extendWebpackConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,eAAO,MAAM,OAAO,sBAanB,CAAA;AAED,eAAO,MAAM,mBAAmB,WAAY,eAAe,SAQ1D,CAAA"}
|
@@ -1,45 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
function _export(target, all) {
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
7
|
-
enumerable: true,
|
8
|
-
get: all[name]
|
9
|
-
});
|
10
|
-
}
|
11
|
-
_export(exports, {
|
12
|
-
webpack: function() {
|
13
|
-
return webpack;
|
14
|
-
},
|
15
|
-
extendWebpackConfig: function() {
|
16
|
-
return extendWebpackConfig;
|
17
|
-
}
|
18
|
-
});
|
19
|
-
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
20
|
-
function _interop_require_default(obj) {
|
21
|
-
return obj && obj.__esModule ? obj : {
|
22
|
-
default: obj
|
23
|
-
};
|
24
|
-
}
|
25
|
-
const webpack = (config)=>{
|
26
|
-
const aliasPath = _path.default.resolve(__dirname, '../mock.js');
|
27
|
-
return {
|
28
|
-
...config,
|
29
|
-
resolve: {
|
30
|
-
...config.resolve || {},
|
31
|
-
alias: {
|
32
|
-
...config.resolve?.alias || {},
|
33
|
-
'@payloadcms/db-postgres': aliasPath
|
34
|
-
}
|
35
|
-
}
|
36
|
-
};
|
37
|
-
};
|
38
|
-
const extendWebpackConfig = (config)=>{
|
39
|
-
const existingWebpackConfig = config.admin.webpack ? config.admin.webpack : (webpackConfig)=>webpackConfig;
|
40
|
-
config.admin.webpack = (webpackConfig)=>{
|
41
|
-
return webpack(existingWebpackConfig(webpackConfig));
|
42
|
-
};
|
43
|
-
};
|
44
|
-
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHRlbmRXZWJwYWNrQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5cbmV4cG9ydCBjb25zdCB3ZWJwYWNrID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhbGlhc1BhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vbW9jay5qcycpXG5cbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAgcmVzb2x2ZToge1xuICAgICAgLi4uKGNvbmZpZy5yZXNvbHZlIHx8IHt9KSxcbiAgICAgIGFsaWFzOiB7XG4gICAgICAgIC4uLihjb25maWcucmVzb2x2ZT8uYWxpYXMgfHwge30pLFxuICAgICAgICAnQHBheWxvYWRjbXMvZGItcG9zdGdyZXMnOiBhbGlhc1BhdGgsXG4gICAgICB9LFxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGV4dGVuZFdlYnBhY2tDb25maWcgPSAoY29uZmlnOiBTYW5pdGl6ZWRDb25maWcpID0+IHtcbiAgY29uc3QgZXhpc3RpbmdXZWJwYWNrQ29uZmlnID0gY29uZmlnLmFkbWluLndlYnBhY2tcbiAgICA/IGNvbmZpZy5hZG1pbi53ZWJwYWNrXG4gICAgOiAod2VicGFja0NvbmZpZykgPT4gd2VicGFja0NvbmZpZ1xuXG4gIGNvbmZpZy5hZG1pbi53ZWJwYWNrID0gKHdlYnBhY2tDb25maWcpID0+IHtcbiAgICByZXR1cm4gd2VicGFjayhleGlzdGluZ1dlYnBhY2tDb25maWcod2VicGFja0NvbmZpZykpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ3ZWJwYWNrIiwiZXh0ZW5kV2VicGFja0NvbmZpZyIsImNvbmZpZyIsImFsaWFzUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiX19kaXJuYW1lIiwiYWxpYXMiLCJleGlzdGluZ1dlYnBhY2tDb25maWciLCJhZG1pbiIsIndlYnBhY2tDb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBSWFBLE9BQU87ZUFBUEE7O0lBZUFDLG1CQUFtQjtlQUFuQkE7Ozs2REFqQkk7Ozs7OztBQUVWLE1BQU1ELFVBQVUsQ0FBQ0U7SUFDdEIsTUFBTUMsWUFBWUMsYUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVc7SUFFMUMsT0FBTztRQUNMLEdBQUdKLE1BQU07UUFDVEcsU0FBUztZQUNQLEdBQUlILE9BQU9HLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDeEJFLE9BQU87Z0JBQ0wsR0FBSUwsT0FBT0csT0FBTyxFQUFFRSxTQUFTLENBQUMsQ0FBQztnQkFDL0IsMkJBQTJCSjtZQUM3QjtRQUNGO0lBQ0Y7QUFDRjtBQUVPLE1BQU1GLHNCQUFzQixDQUFDQztJQUNsQyxNQUFNTSx3QkFBd0JOLE9BQU9PLEtBQUssQ0FBQ1QsT0FBTyxHQUM5Q0UsT0FBT08sS0FBSyxDQUFDVCxPQUFPLEdBQ3BCLENBQUNVLGdCQUFrQkE7SUFFdkJSLE9BQU9PLEtBQUssQ0FBQ1QsT0FBTyxHQUFHLENBQUNVO1FBQ3RCLE9BQU9WLFFBQVFRLHNCQUFzQkU7SUFDdkM7QUFDRiJ9
|
package/dist/reference.d.ts
DELETED
package/dist/reference.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":""}
|