@lifeready/core 8.0.10 → 8.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/lifeready-core.umd.js +98 -66
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/exceptions.js +4 -1
- package/esm2015/lib/_common/index.js +3 -0
- package/esm2015/lib/_common/kc-lodash.js +11 -0
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +2 -2
- package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +2 -2
- package/esm2015/lib/api/lr-graphql/lr-mutation.js +2 -2
- package/esm2015/lib/api/query-processor/query-processor.service.js +13 -1
- package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
- package/esm2015/lib/auth/auth.service.js +12 -5
- package/esm2015/lib/key/key-graph.service.js +5 -5
- package/esm2015/lib/profile/profile-details.service.js +5 -5
- package/esm2015/lib/scenario/scenario.private.gql.js +1 -14
- package/esm2015/lib/scenario/scenario.service.js +37 -28
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/fesm2015/lifeready-core.js +78 -56
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/exceptions.d.ts +1 -0
- package/lib/_common/index.d.ts +2 -0
- package/lib/_common/kc-lodash.d.ts +5 -0
- package/lib/api/types/lr-graphql.types.d.ts +20 -5
- package/lib/scenario/scenario.service.d.ts +3 -7
- package/lib/scenario/scenario.types.d.ts +2 -0
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { lodash } from '.';
|
|
1
2
|
export function handleApolloError(errors) {
|
|
2
3
|
if (!errors || !errors.length)
|
|
3
4
|
return;
|
|
@@ -5,6 +6,7 @@ export function handleApolloError(errors) {
|
|
|
5
6
|
return new KcError({
|
|
6
7
|
code: x.extensions && x.extensions.code,
|
|
7
8
|
source: x.extensions && x.extensions.source,
|
|
9
|
+
data: x.extensions && lodash.omit(x.extensions, ['code', 'source']),
|
|
8
10
|
message: x.message,
|
|
9
11
|
debug: {
|
|
10
12
|
locations: x.locations,
|
|
@@ -32,6 +34,7 @@ export class KcError {
|
|
|
32
34
|
this._type = 'KcError';
|
|
33
35
|
this.code = options.code;
|
|
34
36
|
this.source = options.source;
|
|
37
|
+
this.data = options.data;
|
|
35
38
|
this.message = options.message;
|
|
36
39
|
this.debug = options.debug;
|
|
37
40
|
}
|
|
@@ -180,4 +183,4 @@ export class KcUnsupportedException extends KcException {
|
|
|
180
183
|
}));
|
|
181
184
|
}
|
|
182
185
|
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQW1DO0lBQ25FLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU87SUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sSUFBSSxPQUFPLENBQUM7WUFDakIsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUMzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87WUFDbEIsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBZ0I7Z0JBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBZ0I7YUFDekI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87SUEyQmxCLFlBQVksT0FBeUI7UUExQnJDOzs7Ozs7Ozs7Ozs7V0FZRztRQUNLLFVBQUssR0FBYyxTQUFTLENBQUM7UUFjbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtB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U0FBUSxXQUFXO0lBQ3ZELFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFDaEQsWUFBWSxPQUFPO1FBQ2pCLEtBQUssQ0FDSCxJQUFJLE9BQU8sQ0FBQztZQUNWLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTTtZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUNsRCxZQUFZLE9BQU87UUFDakIsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxXQUFXO0lBQzdELFlBQVksT0FBTztRQUNqQixLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNyRCxZQUFZLE9BQU87UUFDakIsS0FBSyxDQUNILElBQUksT0FBTyxDQUFDO1lBQ1YsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXO1lBQzdCLE9BQU87U0FDUixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEdyYXBoUUxFcnJvciB9IGZyb20gJ2dyYXBocWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQXBvbGxvRXJyb3IoZXJyb3JzOiBSZWFkb25seUFycmF5PEdyYXBoUUxFcnJvcj4pIHtcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybjtcblxuICBjb25zdCBrY0Vycm9ycyA9IGVycm9ycy5tYXAoKHgpID0+IHtcbiAgICByZXR1cm4gbmV3IEtjRXJyb3Ioe1xuICAgICAgY29kZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5jb2RlLFxuICAgICAgc291cmNlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLnNvdXJjZSxcbiAgICAgIG1lc3NhZ2U6IHgubWVzc2FnZSxcbiAgICAgIGRlYnVnOiB7XG4gICAgICAgIGxvY2F0aW9uczogeC5sb2NhdGlvbnMgYXMgYW55LFxuICAgICAgICBwYXRoOiB4LnBhdGggYXMgc3RyaW5nW10sXG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcblxuICB0aHJvdyBuZXcgS2NFeGNlcHRpb24oLi4ua2NFcnJvcnMpO1xufVxuXG5leHBvcnQgY2xhc3MgS2NFcnJvciB7XG4gIC8qKlxuICAgKiBUaGUgX3RhZyBwcmV2ZW50cyBiZWluZyBhYmxlIHRvIHJldHVybiBhbiBvYmplY3Qgd2hlbiBhIGNsYXNzIGlzIHJlcXVpcmVkOlxuICAgKiByZWY6IGh0dHBzOi8vbWVkaXVtLmNvbS9kZWNhdGhsb25kZXZlbG9wZXJzL3doYXRzLXRoZS1wcm9ibGVtLXdpdGgtdHlwZXNjcmlwdC1zLWNsYXNzZXMtMmU2MGFhYWQzZjZcbiAgICogRXhhbXBsZTpcbiAgICogICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgS2NFcnJvciBpcyBiZWluZyB0cmVhdGVkIGFzIGEgdHlwZS5cbiAgICogICBmdW5jdGlvbiB0ZXN0KCk6IEtjRXJyb3Ige1xuICAgKiAgICAgcmV0dXJuIHttZXNzYWdlOiBcIjEyM1wifTtcbiAgICogICB9XG4gICAqIFdpdGggdGhlIHByaXZhdGUgX3RhZyBwcm9wZXJ0eSwgdGhlIGFib3ZlIHdpbGwgY2F1c2UgYSBjb21waWxlciBlcnJvciBiZWNhdXNlIF90YWcgcHJvcGVydHkgaXMgbWlzc2luZ1xuICAgKiBmcm9tIHRoZSByZXR1cm5lZCBvYmplY3QuXG4gICAqXG4gICAqIFRoZSBfdHlwZSBwcm9wZXJ0eSBhbHNvIHByb3ZpZGVzIGEgdHlwZSBpbmRpY2F0b3Igd2hlbiBzZXJpYWxpc2luZyB0aGUgY2xhc3MgdG8gUE9KTy5cbiAgICovXG4gIHByaXZhdGUgX3R5cGU6ICdLY0Vycm9yJyA9ICdLY0Vycm9yJztcblxuICBjb2RlPzogc3RyaW5nO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVidWc/OiB7XG4gICAgbG9jYXRpb25zOiB7XG4gICAgICBsaW5lOiBudW1iZXI7XG4gICAgICBjb2x1bW46IG51bWJlcjtcbiAgICB9W107XG4gICAgcGF0aDogc3RyaW5nW107XG4gIH07XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxLY0Vycm9yPikge1xuICAgIHRoaXMuY29kZSA9IG9wdGlvbnMuY29kZTtcbiAgICB0aGlzLnNvdXJjZSA9IG9wdGlvbnMuc291cmNlO1xuICAgIHRoaXMubWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZTtcbiAgICB0aGlzLmRlYnVnID0gb3B0aW9ucy5kZWJ1ZztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NFeGNlcHRpb24ge1xuICBwcml2YXRlIF90eXBlOiAnS2NFeGNlcHRpb24nID0gJ0tjRXhjZXB0aW9uJztcblxuICBwdWJsaWMgZXJyb3JzOiBLY0Vycm9yW107XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlcnJvcnMgRWFjaCBhcmd1bWVudCBpcyBhIEtjRXJyb3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvciguLi5lcnJvcnM6IEtjRXJyb3JbXSkge1xuICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmVycm9ycy5tYXAoKHQpID0+IEpTT04uc3RyaW5naWZ5KHQsIG51bGwsIDIpKTtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBLY0Vycm9yQ29kZSB7XG4gIC8vIEFQSSBlcnJvcnNcbiAgQVJDSElWRURfUkVTT1VSQ0UgPSAnQVJDSElWRURfUkVTT1VSQ0UnLFxuICBCQURfQVJHVU1FTlQgPSAnQkFEX0FSR1VNRU5UJyxcbiAgQkFEX1NJR05BVFVSRSA9ICdCQURfU0lHTkFUVVJFJyxcbiAgQkFEX1NUQVRFID0gJ0JBRF9TVEFURScsXG4gIENIQU5HRURfUEVSTUlTU0lPTlMgPSAnQ0hBTkdFRF9QRVJNSVNTSU9OUycsXG4gIENPTkNVUlJFTlRfQUNDRVNTID0gJ0NPTkNVUlJFTlRfQUNDRVNTJyxcbiAgQ09ORklHX0VSUk9SID0gJ0NPTkZJR19FUlJPUicsXG4gIENZQ0xFX0RFVEVDVEVEID0gJ0NZQ0xFX0RFVEVDVEVEJyxcbiAgRVhQSVJFRCA9ICdFWFBJUkVEJyxcbiAgSU5WQUxJRF9UT0tFTiA9ICdJTlZBTElEX1RPS0VOJyxcbiAgSU5URVJOQUxfRVJST1IgPSAnSU5URVJOQUxfRVJST1InLFxuICBKU09OX0RFQ09ERV9FUlJPUiA9ICdKU09OX0RFQ09ERV9FUlJPUicsXG4gIEtFWV9NSVNNQVRDSCA9ICdLRVlfTUlTTUFUQ0gnLFxuICBMSU1JVF9SRUFDSEVEID0gJ0xJTUlUX1JFQUNIRUQnLFxuICBMT0NLRUQgPSAnTE9DS0VEJyxcbiAgTE9HSUNfRVJST1IgPSAnTE9HSUNfRVJST1InLFxuICBMUl9ERUJVR19PTkxZID0gJ0xSX0RFQlVHX09OTFknLFxuICBNSU5fREVMQVkgPSAnTUlOX0RFTEFZJyxcbiAgTUlTU0lOR19GSUVMRCA9ICdNSVNTSU5HX0ZJRUxEJyxcbiAgTUlTU0lOR19GSUVMRF9WQUxVRSA9ICdNSVNTSU5HX0ZJRUxEX1ZBTFVFJyxcbiAgTUlTU0lOR19RVUVSWV9QQVJBTSA9ICdNSVNTSU5HX1FVRVJZX1BBUkFNJyxcbiAgTk9UX0lNUExFTUVOVEVEID0gJ05PVF9JTVBMRU1FTlRFRCcsXG4gIE9CSkVDVF9ET0VTX05PVF9FWElTVCA9ICdPQkpFQ1RfRE9FU19OT1RfRVhJU1QnLFxuICBPQkpFQ1RfRVhJU1RTID0gJ09CSkVDVF9FWElTVFMnLFxuICBSQU5HRV9FUlJPUiA9ICdSQU5HRV9FUlJPUicsXG4gIFRSVVNURURfUEFSVFlfTk9UX0ZPVU5EID0gJ1RSVVNURURfUEFSVFlfTk9UX0ZPVU5EJyxcbiAgVU5BVVRIRU5USUNBVEVEX1VTRVIgPSAnVU5BVVRIRU5USUNBVEVEX1VTRVInLFxuICBVU0VSX05PVF9GT1VORCA9ICdVU0VSX05PVF9GT1VORCcsXG4gIFZFUlNJT05fTUlTTUFUQ0ggPSAnVkVSU0lPTl9NSVNNQVRDSCcsXG4gIFdST05HX1BFUk1JU1NJT05TID0gJ1dST05HX1BFUk1JU1NJT05TJyxcblxuICAvLyBLQyBjbGllbnQgZXJyb3JzXG4gIEFVVEggPSAnQVVUSCcsXG4gIEJBRF9MT0dJQyA9ICdCQURfTE9HSUMnLFxuICBCQURfUkVRVUVTVCA9ICdCQURfUkVRVUVTVCcsXG4gIEJBRF9USU1FX1NZTkMgPSAnQkFEX1RJTUVfU1lOQycsXG4gIENPREVfTUlTTUFUQ0ggPSAnQ09ERV9NSVNNQVRDSCcsXG4gIEVOQ1JZUFRJT04gPSAnRU5DUllQVElPTicsXG4gIE5PVF9GT1VORCA9ICdOT1RfRk9VTkQnLFxuICBTVVNQSUNJT1VTX09QRVJBVElPTiA9ICdTVVNQSUNJT1VTX09QRVJBVElPTicsXG4gIFVOU1VQUE9SVEVEID0gJ1VOU1VQUE9SVEVEJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtjQXV0aEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQVVUSCwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkQXJndW1lbnRFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX0FSR1VNRU5ULCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NCYWRMb2dpY0V4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX0xPR0lDLCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIEtjQmFkUmVxdWVzdEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX1JFUVVFU1QsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0JhZFNpZ25hdHVyZUV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuQkFEX1NJR05BVFVSRSwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihcbiAgICAgIG5ldyBLY0Vycm9yKHtcbiAgICAgICAgY29kZTogS2NFcnJvckNvZGUuQkFEX1NUQVRFLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0JhZFRpbWVTeW5jRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIGNvZGU6IEtjRXJyb3JDb2RlLkJBRF9USU1FX1NZTkMsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQ29kZU1pc21hdGNoRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5DT0RFX01JU01BVENILCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5DT05DVVJSRU5UX0FDQ0VTUywgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjRW5jcnlwdGlvbkV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuRU5DUllQVElPTiwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjSW50ZXJuYWxFcnJvckV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuSU5URVJOQUxfRVJST1IsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0xvY2tlZEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKFxuICAgICAgbmV3IEtjRXJyb3Ioe1xuICAgICAgICBjb2RlOiBLY0Vycm9yQ29kZS5MT0NLRUQsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihuZXcgS2NFcnJvcih7IGNvZGU6IEtjRXJyb3JDb2RlLk5PVF9GT1VORCwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjU3VzcGljaW91c09wZXJhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuU1VTUElDSU9VU19PUEVSQVRJT04sIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY1Vuc3VwcG9ydGVkRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIGNvZGU6IEtjRXJyb3JDb2RlLlVOU1VQUE9SVEVELFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9fY29tbW9uL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQztBQUUzQixNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBbUM7SUFDbkUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTztJQUV0QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQztZQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDdkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzNDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNuRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87WUFDbEIsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBZ0I7Z0JBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBZ0I7YUFDekI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87SUE0QmxCLFlBQVksT0FBeUI7UUEzQnJDOzs7Ozs7Ozs7Ozs7V0FZRztRQUNLLFVBQUssR0FBYyxTQUFTLENBQUM7UUFlbkMsSUFB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VztZQUM3QixPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBHcmFwaFFMRXJyb3IgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IGxvZGFzaCB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQXBvbGxvRXJyb3IoZXJyb3JzOiBSZWFkb25seUFycmF5PEdyYXBoUUxFcnJvcj4pIHtcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybjtcblxuICBjb25zdCBrY0Vycm9ycyA9IGVycm9ycy5tYXAoKHgpID0+IHtcbiAgICByZXR1cm4gbmV3IEtjRXJyb3Ioe1xuICAgICAgY29kZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5jb2RlLFxuICAgICAgc291cmNlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLnNvdXJjZSxcbiAgICAgIGRhdGE6IHguZXh0ZW5zaW9ucyAmJiBsb2Rhc2gub21pdCh4LmV4dGVuc2lvbnMsIFsnY29kZScsICdzb3VyY2UnXSksXG4gICAgICBtZXNzYWdlOiB4Lm1lc3NhZ2UsXG4gICAgICBkZWJ1Zzoge1xuICAgICAgICBsb2NhdGlvbnM6IHgubG9jYXRpb25zIGFzIGFueSxcbiAgICAgICAgcGF0aDogeC5wYXRoIGFzIHN0cmluZ1tdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGhyb3cgbmV3IEtjRXhjZXB0aW9uKC4uLmtjRXJyb3JzKTtcbn1cblxuZXhwb3J0IGNsYXNzIEtjRXJyb3Ige1xuICAvKipcbiAgICogVGhlIF90YWcgcHJldmVudHMgYmVpbmcgYWJsZSB0byByZXR1cm4gYW4gb2JqZWN0IHdoZW4gYSBjbGFzcyBpcyByZXF1aXJlZDpcbiAgICogcmVmOiBodHRwczovL21lZGl1bS5jb20vZGVjYXRobG9uZGV2ZWxvcGVycy93aGF0cy10aGUtcHJvYmxlbS13aXRoLXR5cGVzY3JpcHQtcy1jbGFzc2VzLTJlNjBhYWFkM2Y2XG4gICAqIEV4YW1wbGU6XG4gICAqICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIEtjRXJyb3IgaXMgYmVpbmcgdHJlYXRlZCBhcyBhIHR5cGUuXG4gICAqICAgZnVuY3Rpb24gdGVzdCgpOiBLY0Vycm9yIHtcbiAgICogICAgIHJldHVybiB7bWVzc2FnZTogXCIxMjNcIn07XG4gICAqICAgfVxuICAgKiBXaXRoIHRoZSBwcml2YXRlIF90YWcgcHJvcGVydHksIHRoZSBhYm92ZSB3aWxsIGNhdXNlIGEgY29tcGlsZXIgZXJyb3IgYmVjYXVzZSBfdGFnIHByb3BlcnR5IGlzIG1pc3NpbmdcbiAgICogZnJvbSB0aGUgcmV0dXJuZWQgb2JqZWN0LlxuICAgKlxuICAgKiBUaGUgX3R5cGUgcHJvcGVydHkgYWxzbyBwcm92aWRlcyBhIHR5cGUgaW5kaWNhdG9yIHdoZW4gc2VyaWFsaXNpbmcgdGhlIGNsYXNzIHRvIFBPSk8uXG4gICAqL1xuICBwcml2YXRlIF90eXBlOiAnS2NFcnJvcicgPSAnS2NFcnJvcic7XG5cbiAgY29kZT86IHN0cmluZztcbiAgc291cmNlPzogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRlYnVnPzoge1xuICAgIGxvY2F0aW9uczoge1xuICAgICAgbGluZTogbnVtYmVyO1xuICAgICAgY29sdW1uOiBudW1iZXI7XG4gICAgfVtdO1xuICAgIHBhdGg6IHN0cmluZ1tdO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFBhcnRpYWw8S2NFcnJvcj4pIHtcbiAgICB0aGlzLmNvZGUgPSBvcHRpb25zLmNvZGU7XG4gICAgdGhpcy5zb3VyY2UgPSBvcHRpb25zLnNvdXJjZTtcbiAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgdGhpcy5tZXNzYWdlID0gb3B0aW9ucy5tZXNzYWdlO1xuICAgIHRoaXMuZGVidWcgPSBvcHRpb25zLmRlYnVnO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0V4Y2VwdGlvbiB7XG4gIHByaXZhdGUgX3R5cGU6ICdLY0V4Y2VwdGlvbicgPSAnS2NFeGNlcHRpb24nO1xuXG4gIHB1YmxpYyBlcnJvcnM6IEtjRXJyb3JbXTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGVycm9ycyBFYWNoIGFyZ3VtZW50IGlzIGEgS2NFcnJvci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKC4uLmVycm9yczogS2NFcnJvcltdKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLm1hcCgodCkgPT4gSlNPTi5zdHJpbmdpZnkodCwgbnVsbCwgMikpO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIEtjRXJyb3JDb2RlIHtcbiAgLy8gQVBJIGVycm9yc1xuICBBUkNISVZFRF9SRVNPVVJDRSA9ICdBUkNISVZFRF9SRVNPVVJDRScsXG4gIEJBRF9BUkdVTUVOVCA9ICdCQURfQVJHVU1FTlQnLFxuICBCQURfU0lHTkFUVVJFID0gJ0JBRF9TSUdOQVRVUkUnLFxuICBCQURfU1RBVEUgPSAnQkFEX1NUQVRFJyxcbiAgQ0hBTkdFRF9QRVJNSVNTSU9OUyA9ICdDSEFOR0VEX1BFUk1JU1NJT05TJyxcbiAgQ09OQ1VSUkVOVF9BQ0NFU1MgPSAnQ09OQ1VSUkVOVF9BQ0NFU1MnLFxuICBDT05GSUdfRVJST1IgPSAnQ09ORklHX0VSUk9SJyxcbiAgQ1lDTEVfREVURUNURUQgPSAnQ1lDTEVfREVURUNURUQnLFxuICBFWFBJUkVEID0gJ0VYUElSRUQnLFxuICBJTlZBTElEX1RPS0VOID0gJ0lOVkFMSURfVE9LRU4nLFxuICBJTlRFUk5BTF9FUlJPUiA9ICdJTlRFUk5BTF9FUlJPUicsXG4gIEpTT05fREVDT0RFX0VSUk9SID0gJ0pTT05fREVDT0RFX0VSUk9SJyxcbiAgS0VZX01JU01BVENIID0gJ0tFWV9NSVNNQVRDSCcsXG4gIExJTUlUX1JFQUNIRUQgPSAnTElNSVRfUkVBQ0hFRCcsXG4gIExPQ0tFRCA9ICdMT0NLRUQnLFxuICBMT0dJQ19FUlJPUiA9ICdMT0dJQ19FUlJPUicsXG4gIExSX0RFQlVHX09OTFkgPSAnTFJfREVCVUdfT05MWScsXG4gIE1JTl9ERUxBWSA9ICdNSU5fREVMQVknLFxuICBNSVNTSU5HX0ZJRUxEID0gJ01JU1NJTkdfRklFTEQnLFxuICBNSVNTSU5HX0ZJRUxEX1ZBTFVFID0gJ01JU1NJTkdfRklFTERfVkFMVUUnLFxuICBNSVNTSU5HX1FVRVJZX1BBUkFNID0gJ01JU1NJTkdfUVVFUllfUEFSQU0nLFxuICBOT1RfSU1QTEVNRU5URUQgPSAnTk9UX0lNUExFTUVOVEVEJyxcbiAgT0JKRUNUX0RPRVNfTk9UX0VYSVNUID0gJ09CSkVDVF9ET0VTX05PVF9FWElTVCcsXG4gIE9CSkVDVF9FWElTVFMgPSAnT0JKRUNUX0VYSVNUUycsXG4gIFJBTkdFX0VSUk9SID0gJ1JBTkdFX0VSUk9SJyxcbiAgVFJVU1RFRF9QQVJUWV9OT1RfRk9VTkQgPSAnVFJVU1RFRF9QQVJUWV9OT1RfRk9VTkQnLFxuICBVTkFVVEhFTlRJQ0FURURfVVNFUiA9ICdVTkFVVEhFTlRJQ0FURURfVVNFUicsXG4gIFVTRVJfTk9UX0ZPVU5EID0gJ1VTRVJfTk9UX0ZPVU5EJyxcbiAgVkVSU0lPTl9NSVNNQVRDSCA9ICdWRVJTSU9OX01JU01BVENIJyxcbiAgV1JPTkdfUEVSTUlTU0lPTlMgPSAnV1JPTkdfUEVSTUlTU0lPTlMnLFxuXG4gIC8vIEtDIGNsaWVudCBlcnJvcnNcbiAgQVVUSCA9ICdBVVRIJyxcbiAgQkFEX0xPR0lDID0gJ0JBRF9MT0dJQycsXG4gIEJBRF9SRVFVRVNUID0gJ0JBRF9SRVFVRVNUJyxcbiAgQkFEX1RJTUVfU1lOQyA9ICdCQURfVElNRV9TWU5DJyxcbiAgQ09ERV9NSVNNQVRDSCA9ICdDT0RFX01JU01BVENIJyxcbiAgRU5DUllQVElPTiA9ICdFTkNSWVBUSU9OJyxcbiAgTk9UX0ZPVU5EID0gJ05PVF9GT1VORCcsXG4gIFNVU1BJQ0lPVVNfT1BFUkFUSU9OID0gJ1NVU1BJQ0lPVVNfT1BFUkFUSU9OJyxcbiAgVU5TVVBQT1JURUQgPSAnVU5TVVBQT1JURUQnLFxufVxuXG5leHBvcnQgY2xhc3MgS2NBdXRoRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5BVVRILCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NCYWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5CQURfQVJHVU1FTlQsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0JhZExvZ2ljRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5CQURfTE9HSUMsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5leHBvcnQgY2xhc3MgS2NCYWRSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5CQURfUkVRVUVTVCwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkU2lnbmF0dXJlRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5CQURfU0lHTkFUVVJFLCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NCYWRTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKFxuICAgICAgbmV3IEtjRXJyb3Ioe1xuICAgICAgICBjb2RlOiBLY0Vycm9yQ29kZS5CQURfU1RBVEUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjQmFkVGltZVN5bmNFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihcbiAgICAgIG5ldyBLY0Vycm9yKHtcbiAgICAgICAgY29kZTogS2NFcnJvckNvZGUuQkFEX1RJTUVfU1lOQyxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NDb2RlTWlzbWF0Y2hFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihuZXcgS2NFcnJvcih7IGNvZGU6IEtjRXJyb3JDb2RlLkNPREVfTUlTTUFUQ0gsIG1lc3NhZ2UgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBLY0NvbmN1cnJlbnRBY2Nlc3NFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihuZXcgS2NFcnJvcih7IGNvZGU6IEtjRXJyb3JDb2RlLkNPTkNVUlJFTlRfQUNDRVNTLCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NFbmNyeXB0aW9uRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5FTkNSWVBUSU9OLCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NJbnRlcm5hbEVycm9yRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5JTlRFUk5BTF9FUlJPUiwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjTG9ja2VkRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIGNvZGU6IEtjRXJyb3JDb2RlLkxPQ0tFRCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NOb3RGb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEtjRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG5ldyBLY0Vycm9yKHsgY29kZTogS2NFcnJvckNvZGUuTk9UX0ZPVU5ELCBtZXNzYWdlIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgS2NTdXNwaWNpb3VzT3BlcmF0aW9uRXhjZXB0aW9uIGV4dGVuZHMgS2NFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIobmV3IEtjRXJyb3IoeyBjb2RlOiBLY0Vycm9yQ29kZS5TVVNQSUNJT1VTX09QRVJBVElPTiwgbWVzc2FnZSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEtjVW5zdXBwb3J0ZWRFeGNlcHRpb24gZXh0ZW5kcyBLY0V4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihcbiAgICAgIG5ldyBLY0Vycm9yKHtcbiAgICAgICAgY29kZTogS2NFcnJvckNvZGUuVU5TVVBQT1JURUQsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as lodash from './kc-lodash';
|
|
2
|
+
export { lodash };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvX2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsb2Rhc2ggZnJvbSAnLi9rYy1sb2Rhc2gnO1xuZXhwb3J0IHsgbG9kYXNoIH07XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is in the "lr-lodash" directory so that we can use the barrel file
|
|
2
|
+
// to create the lodash namespace. If we put this into the "functions" folder, then
|
|
3
|
+
// other functions in there that uses lodash won't have the lodash namespace.
|
|
4
|
+
// The internet says this style of import improves bundle size. At least we only have to
|
|
5
|
+
// do this in a single place here.
|
|
6
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
7
|
+
import isEqual from 'lodash/isEqual';
|
|
8
|
+
import keyBy from 'lodash/keyBy';
|
|
9
|
+
import omit from 'lodash/omit';
|
|
10
|
+
export { cloneDeep, isEqual, keyBy, omit };
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2MtbG9kYXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL19jb21tb24va2MtbG9kYXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtFQUErRTtBQUMvRSxtRkFBbUY7QUFDbkYsNkVBQTZFO0FBQzdFLHdGQUF3RjtBQUN4RixrQ0FBa0M7QUFDbEMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgaW4gdGhlIFwibHItbG9kYXNoXCIgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHVzZSB0aGUgYmFycmVsIGZpbGVcbi8vIHRvIGNyZWF0ZSB0aGUgbG9kYXNoIG5hbWVzcGFjZS4gSWYgd2UgcHV0IHRoaXMgaW50byB0aGUgXCJmdW5jdGlvbnNcIiBmb2xkZXIsIHRoZW5cbi8vIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGVyZSB0aGF0IHVzZXMgbG9kYXNoIHdvbid0IGhhdmUgdGhlIGxvZGFzaCBuYW1lc3BhY2UuXG4vLyBUaGUgaW50ZXJuZXQgc2F5cyB0aGlzIHN0eWxlIG9mIGltcG9ydCBpbXByb3ZlcyBidW5kbGUgc2l6ZS4gQXQgbGVhc3Qgd2Ugb25seSBoYXZlIHRvXG4vLyBkbyB0aGlzIGluIGEgc2luZ2xlIHBsYWNlIGhlcmUuXG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGtleUJ5IGZyb20gJ2xvZGFzaC9rZXlCeSc7XG5pbXBvcnQgb21pdCBmcm9tICdsb2Rhc2gvb21pdCc7XG5cbmV4cG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCwga2V5QnksIG9taXQgfTtcbiJdfQ==
|
|
@@ -4,8 +4,8 @@ import { Injectable, NgZone } from '@angular/core';
|
|
|
4
4
|
import { Apollo } from 'apollo-angular';
|
|
5
5
|
import gql from 'graphql-tag';
|
|
6
6
|
import * as gqlPrinter from 'graphql/language/printer';
|
|
7
|
-
import * as lodash from 'lodash';
|
|
8
7
|
import { KeyGraphService } from '../../key/key-graph.service';
|
|
8
|
+
import { lodash } from '../../_common';
|
|
9
9
|
import { getMutation, getQuery } from '../../_common/ast';
|
|
10
10
|
import { handleApolloError, KcBadStateException, KcUnsupportedException, } from '../../_common/exceptions';
|
|
11
11
|
import { FetchKeyGraphField, KeyGraphField } from '../../_common/queries.gql';
|
|
@@ -167,4 +167,4 @@ LrGraphQLService = __decorate([
|
|
|
167
167
|
})
|
|
168
168
|
], LrGraphQLService);
|
|
169
169
|
export { LrGraphQLService };
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHItZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FwaS9sci1ncmFwaHFsL2xyLWdyYXBocWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsc0JBQXNCLEdBQ3ZCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBb0IscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFHeEQsa0JBQWtCO0FBQ2xCLDZFQUE2RTtBQUM3RSxNQUFNLHlCQUF5QixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUE7O0lBRTFDLGFBQWE7O0NBRWhCLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBYyxDQUFDO0FBRTNDLE1BQU0sOEJB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QyxDQUFDO2dCQUMzQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7YUFDekI7UUFDSCxDQUFDO0tBQUE7Q0FDRixDQUFBOzs7WUE1T0EsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUExRm9CLE1BQU07WUFRbEIsTUFBTTtZQUtOLGVBQWU7WUFXRyxxQkFBcUI7O0FBbUVuQyxnQkFBZ0I7SUFONUIsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLGdCQUFnQixDQXlPNUI7U0F6T1ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGZXRjaFBvbGljeSxcbiAgTXV0YXRpb25PcHRpb25zLFxuICBPcGVyYXRpb25WYXJpYWJsZXMsXG4gIFF1ZXJ5T3B0aW9ucyxcbn0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBNdXRhdGlvbkJhc2VPcHRpb25zIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZS93YXRjaFF1ZXJ5T3B0aW9ucyc7XG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBGaWVsZE5vZGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0ICogYXMgZ3FsUHJpbnRlciBmcm9tICdncmFwaHFsL2xhbmd1YWdlL3ByaW50ZXInO1xuaW1wb3J0ICogYXMgbG9kYXNoIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9rZXkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGFzS2V5R3JhcGggfSBmcm9tICcuLi8uLi9rZXkva2V5LnR5cGVzJztcbmltcG9ydCB7IGdldE11dGF0aW9uLCBnZXRRdWVyeSwgVHlwZWREb2N1bWVudE5vZGUgfSBmcm9tICcuLi8uLi9fY29tbW9uL2FzdCc7XG5pbXBvcnQge1xuICBoYW5kbGVBcG9sbG9FcnJvcixcbiAgS2NCYWRTdGF0ZUV4Y2VwdGlvbixcbiAgS2NVbnN1cHBvcnRlZEV4Y2VwdGlvbixcbn0gZnJvbSAnLi4vLi4vX2NvbW1vbi9leGNlcHRpb25zJztcbmltcG9ydCB7IEZldGNoS2V5R3JhcGhGaWVsZCwgS2V5R3JhcGhGaWVsZCB9IGZyb20gJy4uLy4uL19jb21tb24vcXVlcmllcy5ncWwnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi8uLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgTWF5QXN5bmMgfSBmcm9tICcuLi8uLi9fY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IFByb2Nlc3Nvck9wdGlvbnMsIFF1ZXJ5UHJvY2Vzc29yU2VydmljZSB9IGZyb20gJy4uL3F1ZXJ5LXByb2Nlc3Nvcic7XG5pbXBvcnQgeyBMck1lcmdlZE11dGF0aW9uIH0gZnJvbSAnLi9sci1tZXJnZWQtbXV0YXRpb24nO1xuaW1wb3J0IHsgTHJNdXRhdGlvbkJhc2UgfSBmcm9tICcuL2xyLW11dGF0aW9uLWJhc2UnO1xuXG4vLyBEYXRhIHN0cnVjdHVyZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb25zdCBrZXlHcmFwaEZpZWxkQXN0U2VsZWN0aW9uID0gZ2V0UXVlcnkoZ3FsYFxucXVlcnkge1xuICAke0tleUdyYXBoRmllbGR9XG59XG5gKS5zZWxlY3Rpb25TZXQuc2VsZWN0aW9uc1swXSBhcyBGaWVsZE5vZGU7XG5cbmNvbnN0IGZldGNoS2V5R3JhcGhGaWVsZEFzdFNlbGVjdGlvbiA9IGdldFF1ZXJ5KGdxbGBcbnF1ZXJ5IHtcbiAgJHtGZXRjaEtleUdyYXBoRmllbGR9XG59XG5gKS5zZWxlY3Rpb25TZXQuc2VsZWN0aW9uc1swXSBhcyBGaWVsZE5vZGU7XG5cbi8vIGNvbnN0IGtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24gPSAoKSA9PlxuLy8gICBsb2Rhc2guZGVlcENsb25lKF9rZXlHcmFwaEZpZWxkQXN0U2VsZWN0aW9uKSBhcyBGaWVsZE5vZGU7XG4vLyBjb25zdCBmZXRjaEtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24gPSAoKSA9PlxuLy8gICBsb2Rhc2guZGVlcENsb25lKF9mZXRjaEtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24pIGFzIEZpZWxkTm9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBMclF1ZXJ5T3B0aW9uczxULCBUVmFyaWFibGVzPlxuICBleHRlbmRzIFF1ZXJ5T3B0aW9uczxUVmFyaWFibGVzPiB7XG4gIHF1ZXJ5OiBUeXBlZERvY3VtZW50Tm9kZTxUPjtcbiAgaW5jbHVkZUtleUdyYXBoPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgcHJvY2Vzc29yT3B0aW9ucz86IFByb2Nlc3Nvck9wdGlvbnM7XG59XG5cbi8vIENvcGllZCBmcm9tIE11dGF0aW9uT3B0aW9uc1xuLy8gUmVtb3ZlZCByZXF1aXJlZCBmaWVsZCBcIm11dGF0aW9uXCIuIFRoZSBcInZhcmlhYmxlc1wiIGZpZWxkIGlzIHN0aWxsIHRoZXJlXG4vLyBidXQgaXQncyBkeW5hbWljYWxseSBjaGVja2VkLlxuZXhwb3J0IGludGVyZmFjZSBMck11dGF0aW9uT3B0aW9uczxcbiAgVCA9IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH0sXG4gIFRWYXJpYWJsZXMgPSBPcGVyYXRpb25WYXJpYWJsZXNcbj4gZXh0ZW5kcyBNdXRhdGlvbkJhc2VPcHRpb25zPFQsIFRWYXJpYWJsZXM+IHtcbiAgY29udGV4dD86IGFueTtcbiAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgaW5jbHVkZUtleUdyYXBoPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuLy8gVGhlIFwibXV0YXRpb25cIiBhbmQgXCJ2YXJpYWJsZVwiIGZpZWxkcyBhcmUgaW5oZXJpdGVkIGJ1dCBkeW5hbWljYWxseSBwcm9oaWJpdGVkIGJlY2F1c2Vcbi8vIHRoZXkgYXJlIHByb3ZpZGVkIGJ5IExyTXV0YXRpb24uIEl0J3MgYSBiaXQgdW5jbGVhbiBidXQgYXZvaWRzIGEgbG90IG9mIHR5cGluZyB3b3JrLlxuZXhwb3J0IGludGVyZmFjZSBMckFwb2xsb011dGF0aW9uT3B0aW9uczxULCBUVmFyaWFibGVzID0gT3BlcmF0aW9uVmFyaWFibGVzPlxuICBleHRlbmRzIE11dGF0aW9uT3B0aW9uczxULCBUVmFyaWFibGVzPiB7XG4gIG11dGF0aW9uOiBUeXBlZERvY3VtZW50Tm9kZTxUPjtcbiAgaW5jbHVkZUtleUdyYXBoPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgcHJvY2Vzc29yT3B0aW9ucz86IFByb2Nlc3Nvck9wdGlvbnM7XG59XG5cbmludGVyZmFjZSBMckdyYXBoUUxTZXJ2aWNlU3RhdHMge1xuICBxdWVyeUNvdW50OiBudW1iZXI7XG4gIG11dGF0aW9uQ291bnQ6IG51bWJlcjtcbn1cblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExyR3JhcGhRTFNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRzOiBMckdyYXBoUUxTZXJ2aWNlU3RhdHMgPSB7XG4gICAgcXVlcnlDb3VudDogMCxcbiAgICBtdXRhdGlvbkNvdW50OiAwLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBhcG9sbG86IEFwb2xsbyxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdWVyeVByb2Nlc3NvcjogUXVlcnlQcm9jZXNzb3JTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBxdWVyeTxULCBWID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4oXG4gICAgb3B0aW9uczogTHJRdWVyeU9wdGlvbnM8VCwgVj5cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgLy8gTWFrZSBjb3BpZXMgdG8gYXZvaWQgc2lkZSBlZmZlY3QuXG4gICAgb3B0aW9ucyA9IGxvZGFzaC5jbG9uZURlZXAob3B0aW9ucyk7XG5cbiAgICAvLyBBcHBlbmQgdGhlIGtleSBncmFwaCBxdWVyeVxuICAgIGNvbnN0IGluY2x1ZGVLZXlHcmFwaCA9IHRoaXMuaXNJbmNsdWRlS2V5R3JhcGgob3B0aW9ucy5pbmNsdWRlS2V5R3JhcGgpO1xuICAgIGlmIChpbmNsdWRlS2V5R3JhcGgpIHtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldFF1ZXJ5KG9wdGlvbnMucXVlcnkpO1xuICAgICAgb3BlcmF0aW9uLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zID0gW1xuICAgICAgICAuLi5vcGVyYXRpb24uc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMsXG4gICAgICAgIGtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24sXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldFF1ZXJ5KG9wdGlvbnMucXVlcnkpO1xuICAgICAgKG9wZXJhdGlvbi5uYW1lIGFzIGFueSkgPSB7XG4gICAgICAgIGtpbmQ6ICdOYW1lJyxcbiAgICAgICAgdmFsdWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmFwb2xsby5xdWVyeTxULCBWPihvcHRpb25zKS50b1Byb21pc2UoKTtcblxuICAgIHRoaXMuc3RhdHMucXVlcnlDb3VudCsrO1xuXG4gICAgaGFuZGxlQXBvbGxvRXJyb3IocmVzcG9uc2UuZXJyb3JzKTtcblxuICAgIHRoaXMuYWRkS2V5cyhyZXNwb25zZSk7XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5xdWVyeVByb2Nlc3Nvci5wcm9jZXNzUXVlcnkoXG4gICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgb3B0aW9ucy5wcm9jZXNzb3JPcHRpb25zXG4gICAgKTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsck11dGF0ZUltcGwobHJNdXRhdGlvbiwgb3B0aW9ucz8pIHtcbiAgICBpZiAob3B0aW9ucz8udmFyaWFibGVzKSB7XG4gICAgICB0aHJvdyBuZXcgS2NVbnN1cHBvcnRlZEV4Y2VwdGlvbihcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIGZpZWxkOiBcIm9wdGlvbnMudmFyaWFibGVzXCInXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsck11dGF0aW9uLmV4ZWN1dGVkKSB7XG4gICAgICB0aHJvdyBuZXcgS2NCYWRTdGF0ZUV4Y2VwdGlvbihcbiAgICAgICAgJ0xyTXV0YXRpb24gaGFzIGFscmVhZHkgZXhlY3V0ZWQuIExyTXV0YXRpb24gY2FuIG9ubHkgYmUgdXNlZCBvbmNlIGluIGEgbHJNdXRhdGUoKSBjYWxsLiBDcmVhdGUgbmV3IGluc3RhbmNlcyBvZiBMck11dGF0aW9uLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbHJNdXRhdGlvbi5zZXRFeGVjdXRlZCgpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvTXV0YXRlKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAuLi5sck11dGF0aW9uLmxyTXV0YXRpb25EYXRhLFxuICAgIH0pXG4gICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgIC8vIFJlc29sdmUgcHJvbWlzZXMgc2V0IG9uIHRoZSBsck11dGF0aW9uIHJhdGhlciB0aGFuIHRoZSBsck11dGF0ZSgpIGNhbGwuXG4gICAgICAgIGxyTXV0YXRpb24ucmVzb2x2ZShyZXMpO1xuICAgICAgICAvLyBTdGlsbCBuZWVkIHRvIHJldHVybiB2YWx1ZSB0byB0aGUgcHJvbWlzZSB3YWl0aW5nIGZvciB0aGUgcmVzdWx0cyBvZiBsck11dGF0ZSgpLlxuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgbHJNdXRhdGlvbi5yZWplY3QoZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgYXBvbGxvTXV0YXRlPFQgZXh0ZW5kcyBhbnksIFRWYXJpYWJsZXMgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PihcbiAgICBvcHRpb25zOiBMckFwb2xsb011dGF0aW9uT3B0aW9uczxULCBUVmFyaWFibGVzPlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICAvLyBNYWtlIGNvcGllcyB0byBhdm9pZCBzaWRlIGVmZmVjdC5cbiAgICBvcHRpb25zID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG11dGF0aW9uOiBsb2Rhc2guY2xvbmVEZWVwKG9wdGlvbnMubXV0YXRpb24pLFxuICAgIH07XG5cbiAgICAvLyBBcHBlbmQgdGhlIGtleSBncmFwaCBxdWVyeVxuICAgIGNvbnN0IGluY2x1ZGVLZXlHcmFwaCA9IHRoaXMuaXNJbmNsdWRlS2V5R3JhcGgob3B0aW9ucy5pbmNsdWRlS2V5R3JhcGgpO1xuXG4gICAgaWYgKGluY2x1ZGVLZXlHcmFwaCkge1xuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0TXV0YXRpb24ob3B0aW9ucy5tdXRhdGlvbik7XG4gICAgICBvcGVyYXRpb24uc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMgPSBbXG4gICAgICAgIC4uLm9wZXJhdGlvbi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyxcbiAgICAgICAgZmV0Y2hLZXlHcmFwaEZpZWxkQXN0U2VsZWN0aW9uLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5uYW1lKSB7XG4gICAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRNdXRhdGlvbihvcHRpb25zLm11dGF0aW9uKTtcbiAgICAgIChvcGVyYXRpb24ubmFtZSBhcyBhbnkpID0ge1xuICAgICAgICBraW5kOiAnTmFtZScsXG4gICAgICAgIHZhbHVlOiBvcHRpb25zLm5hbWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEZvcm1hdCB0byBzdHJpbmcgYW5kIHBhcnNlIGFnYWluLiBUaGlzIGFsbG93cyB0aGUgXCJsb2NcIjogeyBcInN0YXJ0XCI6IC4uLiB9XG4gICAgLy8gcGFydCBvZiB0aGUgRG9jdW1lbnROb2RlIHRvIGJlIGNvcnJlY3RseSBzZXR1cC4gSXQncyBleHRyYSBwcm9jZXNzaW5nXG4gICAgLy8gaW4gc2VyaWFsaXNpbmcgYW5kIHBhcnNpbmcsIGJ1dCBwcm9iYWJseSBtaW5pbWFsIG92ZXJoZWFkLlxuICAgIG9wdGlvbnMubXV0YXRpb24gPSBncWwoZ3FsUHJpbnRlci5wcmludChvcHRpb25zLm11dGF0aW9uKSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYXBvbGxvLm11dGF0ZTxUPihvcHRpb25zKS50b1Byb21pc2UoKTtcblxuICAgIHRoaXMuc3RhdHMubXV0YXRpb25Db3VudCsrO1xuXG4gICAgaGFuZGxlQXBvbGxvRXJyb3IocmVzcG9uc2UuZXJyb3JzKTtcblxuICAgIHRoaXMuYWRkS2V5cyhyZXNwb25zZSk7XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5xdWVyeVByb2Nlc3Nvci5wcm9jZXNzUXVlcnkoXG4gICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgb3B0aW9ucy5wcm9jZXNzb3JPcHRpb25zXG4gICAgKTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgc3RhdHNTbmFwc2hvdCgpOiBMckdyYXBoUUxTZXJ2aWNlU3RhdHMge1xuICAgIHJldHVybiBsb2Rhc2guY2xvbmVEZWVwKHRoaXMuc3RhdHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRLZXlzKHJlc3BvbnNlKSB7XG4gICAgaWYgKChyZXNwb25zZS5kYXRhIGFzIEhhc0tleUdyYXBoKS5rZXlHcmFwaCkge1xuICAgICAgdGhpcy5rZXlHcmFwaC5hZGRLZXlzKChyZXNwb25zZS5kYXRhIGFzIEhhc0tleUdyYXBoKS5rZXlHcmFwaCk7XG4gICAgICBkZWxldGUgcmVzcG9uc2UuZGF0YS5rZXlHcmFwaDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzSW5jbHVkZUtleUdyYXBoKGluY2x1ZGVLZXlHcmFwaCkge1xuICAgIC8vIERlZmF1bHQgdG8gdHJ1ZSB3aGVuIG51bGwgb3IgdW5kZWZpbmVkLlxuICAgIHJldHVybiBpbmNsdWRlS2V5R3JhcGggPT0gbnVsbCA/IHRydWUgOiBmYWxzZTtcbiAgfVxuXG4gIGFzeW5jIGxyTXV0YXRlPFQxLCBUVmFyaWFibGVzMSwgVDIsIFRWYXJpYWJsZXMyPihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQxLCBUVmFyaWFibGVzMT4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDIsIFRWYXJpYWJsZXMyPlxuICAgIF0sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICk6IFByb21pc2U8W1QxLCBUMl0+O1xuXG4gIGFzeW5jIGxyTXV0YXRlPFQxLCBUVmFyaWFibGVzMSwgVDIsIFRWYXJpYWJsZXMyLCBUMywgVFZhcmlhYmxlczM+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDEsIFRWYXJpYWJsZXMxPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMiwgVFZhcmlhYmxlczI+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQzLCBUVmFyaWFibGVzMz5cbiAgICBdLFxuICAgIG9wdGlvbnM/OiBMck11dGF0aW9uT3B0aW9uc1xuICApOiBQcm9taXNlPFtUMSwgVDIsIFQzXT47XG5cbiAgYXN5bmMgbHJNdXRhdGU8XG4gICAgVDEsXG4gICAgVFZhcmlhYmxlczEsXG4gICAgVDIsXG4gICAgVFZhcmlhYmxlczIsXG4gICAgVDMsXG4gICAgVFZhcmlhYmxlczMsXG4gICAgVDQsXG4gICAgVFZhcmlhYmxlczRcbiAgPihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQxLCBUVmFyaWFibGVzMT4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDIsIFRWYXJpYWJsZXMyPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMywgVFZhcmlhYmxlczM+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQ0LCBUVmFyaWFibGVzND5cbiAgICBdLFxuICAgIG9wdGlvbnM/OiBMck11dGF0aW9uT3B0aW9uc1xuICApOiBQcm9taXNlPFtUMSwgVDIsIFQzLCBUNF0+O1xuXG4gIGFzeW5jIGxyTXV0YXRlPFxuICAgIFQxLFxuICAgIFRWYXJpYWJsZXMxLFxuICAgIFQyLFxuICAgIFRWYXJpYWJsZXMyLFxuICAgIFQzLFxuICAgIFRWYXJpYWJsZXMzLFxuICAgIFQ0LFxuICAgIFRWYXJpYWJsZXM0LFxuICAgIFQ1LFxuICAgIFRWYXJpYWJsZXM1XG4gID4oXG4gICAgbHJNdXRhdGlvbnM6IFtcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMSwgVFZhcmlhYmxlczE+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQyLCBUVmFyaWFibGVzMj4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDMsIFRWYXJpYWJsZXMzPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUNCwgVFZhcmlhYmxlczQ+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQ1LCBUVmFyaWFibGVzNT5cbiAgICBdLFxuICAgIG9wdGlvbnM/OiBMck11dGF0aW9uT3B0aW9uc1xuICApOiBQcm9taXNlPFtUMSwgVDIsIFQzLCBUNCwgVDVdPjtcblxuICBhc3luYyBsck11dGF0ZTxULCBUVmFyaWFibGVzID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4oXG4gICAgbHJNdXRhdGlvbjogTHJNdXRhdGlvbk1heUFzeW5jPFQsIFRWYXJpYWJsZXM+LFxuICAgIG9wdGlvbnM/OiBMck11dGF0aW9uT3B0aW9uczxULCBUVmFyaWFibGVzPlxuICApOiBQcm9taXNlPFQ+O1xuXG4gIGFzeW5jIGxyTXV0YXRlPFQsIFRWYXJpYWJsZXMgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PihcbiAgICBsck11dGF0aW9uczogTHJNdXRhdGlvbk1heUFzeW5jPFQsIFRWYXJpYWJsZXM+W10sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICk7XG5cbiAgYXN5bmMgbHJNdXRhdGU8VCwgVFZhcmlhYmxlcyA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+KFxuICAgIGxyTXV0YXRpb25zOlxuICAgICAgfCBMck11dGF0aW9uTWF5QXN5bmM8VCwgVFZhcmlhYmxlcz5bXVxuICAgICAgfCBMck11dGF0aW9uTWF5QXN5bmM8VCwgVFZhcmlhYmxlcz4sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICkge1xuICAgIGlmIChsck11dGF0aW9ucyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBjb25zdCBtZXJnZWQgPSBMck1lcmdlZE11dGF0aW9uLmNyZWF0ZShhd2FpdCBQcm9taXNlLmFsbChsck11dGF0aW9ucykpO1xuICAgICAgYXdhaXQgdGhpcy5sck11dGF0ZUltcGwobWVyZ2VkLCBvcHRpb25zKTtcbiAgICAgIHJldHVybiBtZXJnZWQucHJvbWlzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCBsck11dGF0aW9ucztcbiAgICAgIGF3YWl0IHRoaXMubHJNdXRhdGVJbXBsKHJlc29sdmVkLCBvcHRpb25zKTtcbiAgICAgIHJldHVybiByZXNvbHZlZC5wcm9taXNlO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBMck11dGF0aW9uTWF5QXN5bmM8VCwgVFZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlcz4gPSBNYXlBc3luYzxcbiAgTHJNdXRhdGlvbkJhc2U8VCwgVFZhcmlhYmxlcz5cbj47XG4iXX0=
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHItZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FwaS9sci1ncmFwaHFsL2xyLWdyYXBocWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixzQkFBc0IsR0FDdkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUd4RCxrQkFBa0I7QUFDbEIsNkVBQTZFO0FBQzdFLE1BQU0seUJBQXlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQTs7SUFFMUMsYUFBYTs7Q0FFaEIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFjLENBQUM7QUFFM0MsTUFB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TyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQzthQUN6QjtRQUNILENBQUM7S0FBQTtDQUNGLENBQUE7OztZQTVPQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTFGb0IsTUFBTTtZQVFsQixNQUFNO1lBSU4sZUFBZTtZQVlHLHFCQUFxQjs7QUFtRW5DLGdCQUFnQjtJQU41QixpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcsZ0JBQWdCLENBeU81QjtTQXpPWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZldGNoUG9saWN5LFxuICBNdXRhdGlvbk9wdGlvbnMsXG4gIE9wZXJhdGlvblZhcmlhYmxlcyxcbiAgUXVlcnlPcHRpb25zLFxufSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IE11dGF0aW9uQmFzZU9wdGlvbnMgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlL3dhdGNoUXVlcnlPcHRpb25zJztcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEZpZWxkTm9kZSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgKiBhcyBncWxQcmludGVyIGZyb20gJ2dyYXBocWwvbGFuZ3VhZ2UvcHJpbnRlcic7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9rZXkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGFzS2V5R3JhcGggfSBmcm9tICcuLi8uLi9rZXkva2V5LnR5cGVzJztcbmltcG9ydCB7IGxvZGFzaCB9IGZyb20gJy4uLy4uL19jb21tb24nO1xuaW1wb3J0IHsgZ2V0TXV0YXRpb24sIGdldFF1ZXJ5LCBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJy4uLy4uL19jb21tb24vYXN0JztcbmltcG9ydCB7XG4gIGhhbmRsZUFwb2xsb0Vycm9yLFxuICBLY0JhZFN0YXRlRXhjZXB0aW9uLFxuICBLY1Vuc3VwcG9ydGVkRXhjZXB0aW9uLFxufSBmcm9tICcuLi8uLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHsgRmV0Y2hLZXlHcmFwaEZpZWxkLCBLZXlHcmFwaEZpZWxkIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uLy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQgeyBNYXlBc3luYyB9IGZyb20gJy4uLy4uL19jb21tb24vdHlwZXMnO1xuaW1wb3J0IHsgUHJvY2Vzc29yT3B0aW9ucywgUXVlcnlQcm9jZXNzb3JTZXJ2aWNlIH0gZnJvbSAnLi4vcXVlcnktcHJvY2Vzc29yJztcbmltcG9ydCB7IExyTWVyZ2VkTXV0YXRpb24gfSBmcm9tICcuL2xyLW1lcmdlZC1tdXRhdGlvbic7XG5pbXBvcnQgeyBMck11dGF0aW9uQmFzZSB9IGZyb20gJy4vbHItbXV0YXRpb24tYmFzZSc7XG5cbi8vIERhdGEgc3RydWN0dXJlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IGtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24gPSBnZXRRdWVyeShncWxgXG5xdWVyeSB7XG4gICR7S2V5R3JhcGhGaWVsZH1cbn1cbmApLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zWzBdIGFzIEZpZWxkTm9kZTtcblxuY29uc3QgZmV0Y2hLZXlHcmFwaEZpZWxkQXN0U2VsZWN0aW9uID0gZ2V0UXVlcnkoZ3FsYFxucXVlcnkge1xuICAke0ZldGNoS2V5R3JhcGhGaWVsZH1cbn1cbmApLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zWzBdIGFzIEZpZWxkTm9kZTtcblxuLy8gY29uc3Qga2V5R3JhcGhGaWVsZEFzdFNlbGVjdGlvbiA9ICgpID0+XG4vLyAgIGxvZGFzaC5kZWVwQ2xvbmUoX2tleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24pIGFzIEZpZWxkTm9kZTtcbi8vIGNvbnN0IGZldGNoS2V5R3JhcGhGaWVsZEFzdFNlbGVjdGlvbiA9ICgpID0+XG4vLyAgIGxvZGFzaC5kZWVwQ2xvbmUoX2ZldGNoS2V5R3JhcGhGaWVsZEFzdFNlbGVjdGlvbikgYXMgRmllbGROb2RlO1xuXG5leHBvcnQgaW50ZXJmYWNlIExyUXVlcnlPcHRpb25zPFQsIFRWYXJpYWJsZXM+XG4gIGV4dGVuZHMgUXVlcnlPcHRpb25zPFRWYXJpYWJsZXM+IHtcbiAgcXVlcnk6IFR5cGVkRG9jdW1lbnROb2RlPFQ+O1xuICBpbmNsdWRlS2V5R3JhcGg/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICBwcm9jZXNzb3JPcHRpb25zPzogUHJvY2Vzc29yT3B0aW9ucztcbn1cblxuLy8gQ29waWVkIGZyb20gTXV0YXRpb25PcHRpb25zXG4vLyBSZW1vdmVkIHJlcXVpcmVkIGZpZWxkIFwibXV0YXRpb25cIi4gVGhlIFwidmFyaWFibGVzXCIgZmllbGQgaXMgc3RpbGwgdGhlcmVcbi8vIGJ1dCBpdCdzIGR5bmFtaWNhbGx5IGNoZWNrZWQuXG5leHBvcnQgaW50ZXJmYWNlIExyTXV0YXRpb25PcHRpb25zPFxuICBUID0ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfSxcbiAgVFZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlc1xuPiBleHRlbmRzIE11dGF0aW9uQmFzZU9wdGlvbnM8VCwgVFZhcmlhYmxlcz4ge1xuICBjb250ZXh0PzogYW55O1xuICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICBpbmNsdWRlS2V5R3JhcGg/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG4vLyBUaGUgXCJtdXRhdGlvblwiIGFuZCBcInZhcmlhYmxlXCIgZmllbGRzIGFyZSBpbmhlcml0ZWQgYnV0IGR5bmFtaWNhbGx5IHByb2hpYml0ZWQgYmVjYXVzZVxuLy8gdGhleSBhcmUgcHJvdmlkZWQgYnkgTHJNdXRhdGlvbi4gSXQncyBhIGJpdCB1bmNsZWFuIGJ1dCBhdm9pZHMgYSBsb3Qgb2YgdHlwaW5nIHdvcmsuXG5leHBvcnQgaW50ZXJmYWNlIExyQXBvbGxvTXV0YXRpb25PcHRpb25zPFQsIFRWYXJpYWJsZXMgPSBPcGVyYXRpb25WYXJpYWJsZXM+XG4gIGV4dGVuZHMgTXV0YXRpb25PcHRpb25zPFQsIFRWYXJpYWJsZXM+IHtcbiAgbXV0YXRpb246IFR5cGVkRG9jdW1lbnROb2RlPFQ+O1xuICBpbmNsdWRlS2V5R3JhcGg/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICBwcm9jZXNzb3JPcHRpb25zPzogUHJvY2Vzc29yT3B0aW9ucztcbn1cblxuaW50ZXJmYWNlIExyR3JhcGhRTFNlcnZpY2VTdGF0cyB7XG4gIHF1ZXJ5Q291bnQ6IG51bWJlcjtcbiAgbXV0YXRpb25Db3VudDogbnVtYmVyO1xufVxuXG5AUnVuT3V0c2lkZUFuZ3VsYXIoe1xuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcbn0pXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTHJHcmFwaFFMU2VydmljZSB7XG4gIHByaXZhdGUgc3RhdHM6IExyR3JhcGhRTFNlcnZpY2VTdGF0cyA9IHtcbiAgICBxdWVyeUNvdW50OiAwLFxuICAgIG11dGF0aW9uQ291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIHF1ZXJ5UHJvY2Vzc29yOiBRdWVyeVByb2Nlc3NvclNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIHF1ZXJ5PFQsIFYgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PihcbiAgICBvcHRpb25zOiBMclF1ZXJ5T3B0aW9uczxULCBWPlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICAvLyBNYWtlIGNvcGllcyB0byBhdm9pZCBzaWRlIGVmZmVjdC5cbiAgICBvcHRpb25zID0gbG9kYXNoLmNsb25lRGVlcChvcHRpb25zKTtcblxuICAgIC8vIEFwcGVuZCB0aGUga2V5IGdyYXBoIHF1ZXJ5XG4gICAgY29uc3QgaW5jbHVkZUtleUdyYXBoID0gdGhpcy5pc0luY2x1ZGVLZXlHcmFwaChvcHRpb25zLmluY2x1ZGVLZXlHcmFwaCk7XG4gICAgaWYgKGluY2x1ZGVLZXlHcmFwaCkge1xuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0UXVlcnkob3B0aW9ucy5xdWVyeSk7XG4gICAgICBvcGVyYXRpb24uc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMgPSBbXG4gICAgICAgIC4uLm9wZXJhdGlvbi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyxcbiAgICAgICAga2V5R3JhcGhGaWVsZEFzdFNlbGVjdGlvbixcbiAgICAgIF07XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubmFtZSkge1xuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0UXVlcnkob3B0aW9ucy5xdWVyeSk7XG4gICAgICAob3BlcmF0aW9uLm5hbWUgYXMgYW55KSA9IHtcbiAgICAgICAga2luZDogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogb3B0aW9ucy5uYW1lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYXBvbGxvLnF1ZXJ5PFQsIFY+KG9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuXG4gICAgdGhpcy5zdGF0cy5xdWVyeUNvdW50Kys7XG5cbiAgICBoYW5kbGVBcG9sbG9FcnJvcihyZXNwb25zZS5lcnJvcnMpO1xuXG4gICAgdGhpcy5hZGRLZXlzKHJlc3BvbnNlKTtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnF1ZXJ5UHJvY2Vzc29yLnByb2Nlc3NRdWVyeShcbiAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnNcbiAgICApO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxyTXV0YXRlSW1wbChsck11dGF0aW9uLCBvcHRpb25zPykge1xuICAgIGlmIChvcHRpb25zPy52YXJpYWJsZXMpIHtcbiAgICAgIHRocm93IG5ldyBLY1Vuc3VwcG9ydGVkRXhjZXB0aW9uKFxuICAgICAgICAnVW5zdXBwb3J0ZWQgZmllbGQ6IFwib3B0aW9ucy52YXJpYWJsZXNcIidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGxyTXV0YXRpb24uZXhlY3V0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBLY0JhZFN0YXRlRXhjZXB0aW9uKFxuICAgICAgICAnTHJNdXRhdGlvbiBoYXMgYWxyZWFkeSBleGVjdXRlZC4gTHJNdXRhdGlvbiBjYW4gb25seSBiZSB1c2VkIG9uY2UgaW4gYSBsck11dGF0ZSgpIGNhbGwuIENyZWF0ZSBuZXcgaW5zdGFuY2VzIG9mIExyTXV0YXRpb24uJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBsck11dGF0aW9uLnNldEV4ZWN1dGVkKCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG9NdXRhdGUoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC4uLmxyTXV0YXRpb24ubHJNdXRhdGlvbkRhdGEsXG4gICAgfSlcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgLy8gUmVzb2x2ZSBwcm9taXNlcyBzZXQgb24gdGhlIGxyTXV0YXRpb24gcmF0aGVyIHRoYW4gdGhlIGxyTXV0YXRlKCkgY2FsbC5cbiAgICAgICAgbHJNdXRhdGlvbi5yZXNvbHZlKHJlcyk7XG4gICAgICAgIC8vIFN0aWxsIG5lZWQgdG8gcmV0dXJuIHZhbHVlIHRvIHRoZSBwcm9taXNlIHdhaXRpbmcgZm9yIHRoZSByZXN1bHRzIG9mIGxyTXV0YXRlKCkuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBsck11dGF0aW9uLnJlamVjdChlcnJvcik7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBhcG9sbG9NdXRhdGU8VCBleHRlbmRzIGFueSwgVFZhcmlhYmxlcyA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+KFxuICAgIG9wdGlvbnM6IExyQXBvbGxvTXV0YXRpb25PcHRpb25zPFQsIFRWYXJpYWJsZXM+XG4gICk6IFByb21pc2U8VD4ge1xuICAgIC8vIE1ha2UgY29waWVzIHRvIGF2b2lkIHNpZGUgZWZmZWN0LlxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbXV0YXRpb246IGxvZGFzaC5jbG9uZURlZXAob3B0aW9ucy5tdXRhdGlvbiksXG4gICAgfTtcblxuICAgIC8vIEFwcGVuZCB0aGUga2V5IGdyYXBoIHF1ZXJ5XG4gICAgY29uc3QgaW5jbHVkZUtleUdyYXBoID0gdGhpcy5pc0luY2x1ZGVLZXlHcmFwaChvcHRpb25zLmluY2x1ZGVLZXlHcmFwaCk7XG5cbiAgICBpZiAoaW5jbHVkZUtleUdyYXBoKSB7XG4gICAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRNdXRhdGlvbihvcHRpb25zLm11dGF0aW9uKTtcbiAgICAgIG9wZXJhdGlvbi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyA9IFtcbiAgICAgICAgLi4ub3BlcmF0aW9uLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zLFxuICAgICAgICBmZXRjaEtleUdyYXBoRmllbGRBc3RTZWxlY3Rpb24sXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE11dGF0aW9uKG9wdGlvbnMubXV0YXRpb24pO1xuICAgICAgKG9wZXJhdGlvbi5uYW1lIGFzIGFueSkgPSB7XG4gICAgICAgIGtpbmQ6ICdOYW1lJyxcbiAgICAgICAgdmFsdWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gRm9ybWF0IHRvIHN0cmluZyBhbmQgcGFyc2UgYWdhaW4uIFRoaXMgYWxsb3dzIHRoZSBcImxvY1wiOiB7IFwic3RhcnRcIjogLi4uIH1cbiAgICAvLyBwYXJ0IG9mIHRoZSBEb2N1bWVudE5vZGUgdG8gYmUgY29ycmVjdGx5IHNldHVwLiBJdCdzIGV4dHJhIHByb2Nlc3NpbmdcbiAgICAvLyBpbiBzZXJpYWxpc2luZyBhbmQgcGFyc2luZywgYnV0IHByb2JhYmx5IG1pbmltYWwgb3ZlcmhlYWQuXG4gICAgb3B0aW9ucy5tdXRhdGlvbiA9IGdxbChncWxQcmludGVyLnByaW50KG9wdGlvbnMubXV0YXRpb24pKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hcG9sbG8ubXV0YXRlPFQ+KG9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuXG4gICAgdGhpcy5zdGF0cy5tdXRhdGlvbkNvdW50Kys7XG5cbiAgICBoYW5kbGVBcG9sbG9FcnJvcihyZXNwb25zZS5lcnJvcnMpO1xuXG4gICAgdGhpcy5hZGRLZXlzKHJlc3BvbnNlKTtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnF1ZXJ5UHJvY2Vzc29yLnByb2Nlc3NRdWVyeShcbiAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnNcbiAgICApO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBzdGF0c1NuYXBzaG90KCk6IExyR3JhcGhRTFNlcnZpY2VTdGF0cyB7XG4gICAgcmV0dXJuIGxvZGFzaC5jbG9uZURlZXAodGhpcy5zdGF0cyk7XG4gIH1cblxuICBwcml2YXRlIGFkZEtleXMocmVzcG9uc2UpIHtcbiAgICBpZiAoKHJlc3BvbnNlLmRhdGEgYXMgSGFzS2V5R3JhcGgpLmtleUdyYXBoKSB7XG4gICAgICB0aGlzLmtleUdyYXBoLmFkZEtleXMoKHJlc3BvbnNlLmRhdGEgYXMgSGFzS2V5R3JhcGgpLmtleUdyYXBoKTtcbiAgICAgIGRlbGV0ZSByZXNwb25zZS5kYXRhLmtleUdyYXBoO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNJbmNsdWRlS2V5R3JhcGgoaW5jbHVkZUtleUdyYXBoKSB7XG4gICAgLy8gRGVmYXVsdCB0byB0cnVlIHdoZW4gbnVsbCBvciB1bmRlZmluZWQuXG4gICAgcmV0dXJuIGluY2x1ZGVLZXlHcmFwaCA9PSBudWxsID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbHJNdXRhdGU8VDEsIFRWYXJpYWJsZXMxLCBUMiwgVFZhcmlhYmxlczI+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDEsIFRWYXJpYWJsZXMxPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMiwgVFZhcmlhYmxlczI+XG4gICAgXSxcbiAgICBvcHRpb25zPzogTHJNdXRhdGlvbk9wdGlvbnNcbiAgKTogUHJvbWlzZTxbVDEsIFQyXT47XG5cbiAgYXN5bmMgbHJNdXRhdGU8VDEsIFRWYXJpYWJsZXMxLCBUMiwgVFZhcmlhYmxlczIsIFQzLCBUVmFyaWFibGVzMz4oXG4gICAgbHJNdXRhdGlvbnM6IFtcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMSwgVFZhcmlhYmxlczE+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQyLCBUVmFyaWFibGVzMj4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDMsIFRWYXJpYWJsZXMzPlxuICAgIF0sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICk6IFByb21pc2U8W1QxLCBUMiwgVDNdPjtcblxuICBhc3luYyBsck11dGF0ZTxcbiAgICBUMSxcbiAgICBUVmFyaWFibGVzMSxcbiAgICBUMixcbiAgICBUVmFyaWFibGVzMixcbiAgICBUMyxcbiAgICBUVmFyaWFibGVzMyxcbiAgICBUNCxcbiAgICBUVmFyaWFibGVzNFxuICA+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDEsIFRWYXJpYWJsZXMxPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMiwgVFZhcmlhYmxlczI+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQzLCBUVmFyaWFibGVzMz4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDQsIFRWYXJpYWJsZXM0PlxuICAgIF0sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICk6IFByb21pc2U8W1QxLCBUMiwgVDMsIFQ0XT47XG5cbiAgYXN5bmMgbHJNdXRhdGU8XG4gICAgVDEsXG4gICAgVFZhcmlhYmxlczEsXG4gICAgVDIsXG4gICAgVFZhcmlhYmxlczIsXG4gICAgVDMsXG4gICAgVFZhcmlhYmxlczMsXG4gICAgVDQsXG4gICAgVFZhcmlhYmxlczQsXG4gICAgVDUsXG4gICAgVFZhcmlhYmxlczVcbiAgPihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQxLCBUVmFyaWFibGVzMT4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDIsIFRWYXJpYWJsZXMyPixcbiAgICAgIExyTXV0YXRpb25NYXlBc3luYzxUMywgVFZhcmlhYmxlczM+LFxuICAgICAgTHJNdXRhdGlvbk1heUFzeW5jPFQ0LCBUVmFyaWFibGVzND4sXG4gICAgICBMck11dGF0aW9uTWF5QXN5bmM8VDUsIFRWYXJpYWJsZXM1PlxuICAgIF0sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zXG4gICk6IFByb21pc2U8W1QxLCBUMiwgVDMsIFQ0LCBUNV0+O1xuXG4gIGFzeW5jIGxyTXV0YXRlPFQsIFRWYXJpYWJsZXMgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PihcbiAgICBsck11dGF0aW9uOiBMck11dGF0aW9uTWF5QXN5bmM8VCwgVFZhcmlhYmxlcz4sXG4gICAgb3B0aW9ucz86IExyTXV0YXRpb25PcHRpb25zPFQsIFRWYXJpYWJsZXM+XG4gICk6IFByb21pc2U8VD47XG5cbiAgYXN5bmMgbHJNdXRhdGU8VCwgVFZhcmlhYmxlcyA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+KFxuICAgIGxyTXV0YXRpb25zOiBMck11dGF0aW9uTWF5QXN5bmM8VCwgVFZhcmlhYmxlcz5bXSxcbiAgICBvcHRpb25zPzogTHJNdXRhdGlvbk9wdGlvbnNcbiAgKTtcblxuICBhc3luYyBsck11dGF0ZTxULCBUVmFyaWFibGVzID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4oXG4gICAgbHJNdXRhdGlvbnM6XG4gICAgICB8IExyTXV0YXRpb25NYXlBc3luYzxULCBUVmFyaWFibGVzPltdXG4gICAgICB8IExyTXV0YXRpb25NYXlBc3luYzxULCBUVmFyaWFibGVzPixcbiAgICBvcHRpb25zPzogTHJNdXRhdGlvbk9wdGlvbnNcbiAgKSB7XG4gICAgaWYgKGxyTXV0YXRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIGNvbnN0IG1lcmdlZCA9IExyTWVyZ2VkTXV0YXRpb24uY3JlYXRlKGF3YWl0IFByb21pc2UuYWxsKGxyTXV0YXRpb25zKSk7XG4gICAgICBhd2FpdCB0aGlzLmxyTXV0YXRlSW1wbChtZXJnZWQsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIG1lcmdlZC5wcm9taXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXNvbHZlZCA9IGF3YWl0IGxyTXV0YXRpb25zO1xuICAgICAgYXdhaXQgdGhpcy5sck11dGF0ZUltcGwocmVzb2x2ZWQsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc29sdmVkLnByb21pc2U7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIExyTXV0YXRpb25NYXlBc3luYzxULCBUVmFyaWFibGVzID0gT3BlcmF0aW9uVmFyaWFibGVzPiA9IE1heUFzeW5jPFxuICBMck11dGF0aW9uQmFzZTxULCBUVmFyaWFibGVzPlxuPjtcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { lodash } from '../../_common';
|
|
2
2
|
import * as ast from '../../_common/ast';
|
|
3
3
|
import { getAliasOrName, getFragments, getMutation } from '../../_common/ast';
|
|
4
4
|
import { KcBadLogicException, KcUnsupportedException, } from '../../_common/exceptions';
|
|
@@ -213,4 +213,4 @@ export class LrMergedMutation extends LrMutationBase {
|
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHItbWVyZ2VkLW11dGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FwaS9sci1ncmFwaHFsL2xyLW1lcmdlZC1tdXRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssR0FBRyxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsc0JBQXNCLEdBQ3ZCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxtQkFBbUIsR0FBaUI7SUFDeEMsSUFBSSxFQUFFLFVBQVU7SUFDaEIsV0FBVyxFQUFFO1FBQ1g7WUFDRSxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsa0JBQWtCO2FBQzFCO1lBQ0QsbUJBQW1CLEVBQUUsRUFBRTtZQUN2QixVQUFVLEVBQUUsRUFBRTtZQUNkLFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsY0FBYztnQkFDcEIsVUFBVSxFQUFFLEVBQUU7YUFDZjtTQUNGO0tBQ0Y7Q0FNRixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGNBQWlCO0lBSXhELFlBQTRCLFdBQWtDO1FBQzVELEtBQUssRUFBRSxDQUFDO1FBRGtCLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUc1RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVB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NkI7WUFDN0IsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN6QyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsRDtZQUVELDZCQUE2QjtZQUM3QixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsZUFBZSxHQUFHO2dCQUNoQixHQUFHLGVBQWU7Z0JBQ2xCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7YUFDckQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQWlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsaUNBQWlDO1FBQ2pDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUNsRCx1QkFBdUI7UUFDdkIsNENBQTRDO1FBQzNDLFlBQW9CLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDaEUsdUJBQXVCO1FBQ3RCLGNBQXNCLENBQUMsV0FBVyxHQUFHO1lBQ3BDLEdBQUcsY0FBYyxDQUFDLFdBQVc7WUFDN0IsR0FBRyxlQUFlO1NBQ25CLENBQUM7UUFFRixPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFLGVBQWU7WUFDMUIsUUFBUTtTQUNULENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQge1xuICBBcmd1bWVudE5vZGUsXG4gIERvY3VtZW50Tm9kZSxcbiAgRmllbGROb2RlLFxuICBGcmFnbWVudERlZmluaXRpb25Ob2RlLFxuICBGcmFnbWVudFNwcmVhZE5vZGUsXG4gIFNlbGVjdGlvbk5vZGUsXG4gIFNlbGVjdGlvblNldE5vZGUsXG4gIFZhcmlhYmxlRGVmaW5pdGlvbk5vZGUsXG59IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0ICogYXMgbG9kYXNoIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgKiBhcyBhc3QgZnJvbSAnLi4vLi4vX2NvbW1vbi9hc3QnO1xuaW1wb3J0IHsgZ2V0QWxpYXNPck5hbWUsIGdldEZyYWdtZW50cywgZ2V0TXV0YXRpb24gfSBmcm9tICcuLi8uLi9fY29tbW9uL2FzdCc7XG5pbXBvcnQge1xuICBLY0JhZExvZ2ljRXhjZXB0aW9uLFxuICBLY1Vuc3VwcG9ydGVkRXhjZXB0aW9uLFxufSBmcm9tICcuLi8uLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHsgTHJNdXRhdGlvbiB9IGZyb20gJy4vbHItbXV0YXRpb24nO1xuaW1wb3J0IHsgTHJNdXRhdGlvbkJhc2UgfSBmcm9tICcuL2xyLW11dGF0aW9uLWJhc2UnO1xuXG5jb25zdCBsck1lcmdlZE11dGF0aW9uRG9jOiBEb2N1bWVudE5vZGUgPSB7XG4gIGtpbmQ6ICdEb2N1bWVudCcsXG4gIGRlZmluaXRpb25zOiBbXG4gICAge1xuICAgICAga2luZDogJ09wZXJhdGlvbkRlZmluaXRpb24nLFxuICAgICAgb3BlcmF0aW9uOiAnbXV0YXRpb24nLFxuICAgICAgbmFtZToge1xuICAgICAgICBraW5kOiAnTmFtZScsXG4gICAgICAgIHZhbHVlOiAnbHJNZXJnZWRNdXRhdGlvbicsXG4gICAgICB9LFxuICAgICAgdmFyaWFibGVEZWZpbml0aW9uczogW10sXG4gICAgICBkaXJlY3RpdmVzOiBbXSxcbiAgICAgIHNlbGVjdGlvblNldDoge1xuICAgICAgICBraW5kOiAnU2VsZWN0aW9uU2V0JyxcbiAgICAgICAgc2VsZWN0aW9uczogW10sXG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG4gIC8vIFRPRE8gV2hhdCB0byBkbyBhYm91dCB0aGVzZT8gU2VyaWFsaXNlIGFuZCByZXBhcnNlP1xuICAvLyBcImxvY1wiOiB7XG4gIC8vICAgXCJzdGFydFwiOiAwLFxuICAvLyAgIFwiZW5kXCI6IDIwNFxuICAvLyB9XG59O1xuXG5leHBvcnQgY2xhc3MgTHJNZXJnZWRNdXRhdGlvbjxUPiBleHRlbmRzIExyTXV0YXRpb25CYXNlPFQ+IHtcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NlbmRhbnRzOiBTZXQ8THJNdXRhdGlvbkJhc2U8YW55Pj47XG4gIHByb3RlY3RlZCBwcmVmaXhlczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGxyTXV0YXRpb25zOiBMck11dGF0aW9uQmFzZTxhbnk+W10pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgeyBtdXRhdGlvbiwgdmFyaWFibGVzLCBwcmVmaXhlcyB9ID0gdGhpcy5tZXJnZSgpO1xuICAgIHRoaXMubXV0YXRpb24gPSBtdXRhdGlvbjtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IHZhcmlhYmxlcztcbiAgICB0aGlzLnByZWZpeGVzID0gcHJlZml4ZXM7XG4gICAgdGhpcy5kZXNjZW5kYW50cyA9IHRoaXMuZ2V0RGVzY2VuZGFudHMoKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGU8VDEsIFQyPihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbkJhc2U8VDE+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMT4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUMj4gfCBMck1lcmdlZE11dGF0aW9uPFQyPlxuICAgIF1cbiAgKTogTHJNZXJnZWRNdXRhdGlvbjxbVDEsIFQyXT47XG5cbiAgc3RhdGljIGNyZWF0ZTxUMSwgVDIsIFQzPihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbkJhc2U8VDE+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMT4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUMj4gfCBMck1lcmdlZE11dGF0aW9uPFQyPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQzPiB8IExyTWVyZ2VkTXV0YXRpb248VDM+XG4gICAgXVxuICApOiBMck1lcmdlZE11dGF0aW9uPFtUMSwgVDIsIFQzXT47XG5cbiAgc3RhdGljIGNyZWF0ZTxUMSwgVDIsIFQzLCBUND4oXG4gICAgbHJNdXRhdGlvbnM6IFtcbiAgICAgIExyTXV0YXRpb25CYXNlPFQxPiB8IExyTWVyZ2VkTXV0YXRpb248VDE+LFxuICAgICAgTHJNdXRhdGlvbkJhc2U8VDI+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMj4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUMz4gfCBMck1lcmdlZE11dGF0aW9uPFQzPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQ0PiB8IExyTWVyZ2VkTXV0YXRpb248VDQ+XG4gICAgXVxuICApOiBMck1lcmdlZE11dGF0aW9uPFtUMSwgVDIsIFQzLCBUNF0+O1xuXG4gIHN0YXRpYyBjcmVhdGU8VDEsIFQyLCBUMywgVDQsIFQ1PihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbkJhc2U8VDE+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMT4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUMj4gfCBMck1lcmdlZE11dGF0aW9uPFQyPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQzPiB8IExyTWVyZ2VkTXV0YXRpb248VDM+LFxuICAgICAgTHJNdXRhdGlvbkJhc2U8VDQ+IHwgTHJNZXJnZWRNdXRhdGlvbjxUND4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUNT4gfCBMck1lcmdlZE11dGF0aW9uPFQ1PlxuICAgIF1cbiAgKTogTHJNZXJnZWRNdXRhdGlvbjxbVDEsIFQyLCBUMywgVDQsIFQ1XT47XG5cbiAgc3RhdGljIGNyZWF0ZTxUPihsck11dGF0aW9uczogTHJNdXRhdGlvbkJhc2U8VD5bXSk6IExyTWVyZ2VkTXV0YXRpb248VFtdPjtcblxuICBzdGF0aWMgY3JlYXRlKGxyTXV0YXRpb25zOiBMck11dGF0aW9uQmFzZTxhbnk+W10pOiBMck1lcmdlZE11dGF0aW9uPGFueVtdPjtcblxuICBzdGF0aWMgY3JlYXRlKGxyTXV0YXRpb25zOiBMck11dGF0aW9uQmFzZTxhbnk+W10pIHtcbiAgICByZXR1cm4gbmV3IExyTWVyZ2VkTXV0YXRpb24obHJNdXRhdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZXNjZW5kYW50cygpIHtcbiAgICBjb25zdCByZXQgPSBuZXcgU2V0PExyTXV0YXRpb25CYXNlPGFueT4+KCk7XG5cbiAgICBjb25zdCBhZGRPclRocm93ID0gKGl0ZW0pID0+IHtcbiAgICAgIGlmIChyZXQuaGFzKGl0ZW0pKSB7XG4gICAgICAgIHRocm93IG5ldyBLY0JhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICAgICdDbGFzc2VzIHRoYXQgYXJlIGRlcml2ZWQgZnJvbSBMck11dGF0aW9uQmFzZSBjYW4gbm90IGJlIHVzZWQgbW9yZSB0aGFuIG9uY2UgaW4gYSBtZXJnZWQgbXV0YXRpb24uJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXQuYWRkKGl0ZW0pO1xuICAgIH07XG5cbiAgICB0aGlzLmxyTXV0YXRpb25zLmZvckVhY2goKGxyTXV0YXRpb24pID0+IHtcbiAgICAgIGlmIChsck11dGF0aW9uIGluc3RhbmNlb2YgTHJNdXRhdGlvbikge1xuICAgICAgICBhZGRPclRocm93KGxyTXV0YXRpb24pO1xuICAgICAgfSBlbHNlIGlmIChsck11dGF0aW9uIGluc3RhbmNlb2YgTHJNZXJnZWRNdXRhdGlvbikge1xuICAgICAgICBsck11dGF0aW9uLmRlc2NlbmRhbnRzLmZvckVhY2goKHQpID0+IGFkZE9yVGhyb3codCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEtjVW5zdXBwb3J0ZWRFeGNlcHRpb24oXG4gICAgICAgICAgYExyTWVyZ2VNdXRhdGlvbiBjYW4gbm90IGhhbmRsZSBjbGFzczogJHtsck11dGF0aW9uLmNvbnN0cnVjdG9yLm5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHJlc29sdmUodmFsdWU6IGFueSkge1xuICAgIC8vIFJlc29sdmVzIGFueSBwcm9taXNlcyB3YWl0aW5nIGZvciB0aGUgY2hpbGQgbXV0YXRpb25zXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxyTXV0YXRpb25zLmxlbmd0aDsgKytpKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnByZWZpeGVzW2ldO1xuXG4gICAgICAvLyBSZW1vdmUgdGhlIHByZWZpeCBhbmQgcmVzb2x2ZSBjaGlsZCBtdXRhdGlvbi5cbiAgICAgIGNvbnN0IHJlczogYW55ID0ge307XG4gICAgICBmb3IgKGNvbnN0IGtleTIgaW4gdmFsdWUpIHtcbiAgICAgICAgaWYgKGtleTIuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxLZXkgPSBrZXkyLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICAgIHJlc1tvcmlnaW5hbEtleV0gPSB2YWx1ZVtrZXkyXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sck11dGF0aW9uc1tpXS5yZXNvbHZlKHJlcyk7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZXMgdG8gdGhlIHJlc3VsdCBvZiBjaGlsZHJlblxuICAgIFByb21pc2UuYWxsKHRoaXMubHJNdXRhdGlvbnMubWFwKChtKSA9PiBtLnByb21pc2UpKS50aGVuKFxuICAgICAgKGNoaWxkVmFsdWVzOiBhbnkpID0+IHtcbiAgICAgICAgLy8gUmVzb2x2ZXMgYW55IHByb21pc2VzIHdhaXRpbmcgZm9yIHRoZSBjdXJyZW50IG1lcmdlZCBtdXRhdGlvblxuICAgICAgICBzdXBlci5yZXNvbHZlKGNoaWxkVmFsdWVzKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVqZWN0KHJlYXNvbj86IGFueSkge1xuICAgIHN1cGVyLnJlamVjdChyZWFzb24pO1xuICAgIHRoaXMubHJNdXRhdGlvbnMuZm9yRWFjaCgobHJNdXRhdGlvbikgPT4gbHJNdXRhdGlvbi5yZWplY3QocmVhc29uKSk7XG4gIH1cblxuICBzZXRFeGVjdXRlZCgpIHtcbiAgICBzdXBlci5zZXRFeGVjdXRlZCgpO1xuICAgIHRoaXMubHJNdXRhdGlvbnMuZm9yRWFjaCgobHJNdXRhdGlvbikgPT4gbHJNdXRhdGlvbi5zZXRFeGVjdXRlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lVmFyaWFibGVEZWZpbml0aW9uKHZhckRlZjogVmFyaWFibGVEZWZpbml0aW9uTm9kZSwgcHJlZml4KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnZhckRlZixcbiAgICAgIHZhcmlhYmxlOiB7XG4gICAgICAgIC4uLnZhckRlZi52YXJpYWJsZSxcbiAgICAgICAgbmFtZTogYXN0Lm5hbWUocHJlZml4ICsgdmFyRGVmLnZhcmlhYmxlLm5hbWUudmFsdWUpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVWYXJpYWJsZURlZmluaXRpb25zKFxuICAgIHZhckRlZnM6IFJlYWRvbmx5QXJyYXk8VmFyaWFibGVEZWZpbml0aW9uTm9kZT4sXG4gICAgcHJlZml4XG4gICkge1xuICAgIHJldHVybiB2YXJEZWZzLm1hcCgodmFyRGVmKSA9PlxuICAgICAgdGhpcy5yZW5hbWVWYXJpYWJsZURlZmluaXRpb24odmFyRGVmLCBwcmVmaXgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lQXJndW1lbnQoYXJnOiBBcmd1bWVudE5vZGUsIHByZWZpeCkge1xuICAgIGlmIChhcmcudmFsdWUua2luZCAhPT0gJ1ZhcmlhYmxlJykge1xuICAgICAgcmV0dXJuIGFyZztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYXJnLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgLi4uYXJnLnZhbHVlLFxuICAgICAgICBuYW1lOiBhc3QubmFtZShwcmVmaXggKyBhcmcudmFsdWUubmFtZS52YWx1ZSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZUZpZWxkKHNlbGVjdGlvbjogRmllbGROb2RlLCBwcmVmaXgpOiBGaWVsZE5vZGUge1xuICAgIC8vIE9ubHkgaGFuZGxpbmcgdHlwZSBGaWVsZFxuICAgIGlmIChzZWxlY3Rpb24ua2luZCAhPT0gJ0ZpZWxkJykge1xuICAgICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlhcyA9IHByZWZpeCArIGdldEFsaWFzT3JOYW1lKHNlbGVjdGlvbik7XG4gICAgY29uc3QgYXJncyA9IHNlbGVjdGlvbi5hcmd1bWVudHMubWFwKChhcmcpID0+XG4gICAgICB0aGlzLnJlbmFtZUFyZ3VtZW50KGFyZywgcHJlZml4KVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2VsZWN0aW9uLFxuICAgICAgYWxpYXM6IHtcbiAgICAgICAga2luZDogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogYWxpYXMsXG4gICAgICB9LFxuICAgICAgYXJndW1lbnRzOiBhcmdzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZUZyYWdtZW50U3ByZWFkKFxuICAgIHNlbGVjdGlvbjogRnJhZ21lbnRTcHJlYWROb2RlLFxuICAgIHByZWZpeFxuICApOiBGcmFnbWVudFNwcmVhZE5vZGUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zZWxlY3Rpb24sXG4gICAgICBuYW1lOiBhc3QubmFtZShwcmVmaXggKyBzZWxlY3Rpb24ubmFtZS52YWx1ZSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc1NlbGVjdGlvbihzZWxlY3Rpb246IFNlbGVjdGlvbk5vZGUsIHByZWZpeCk6IFNlbGVjdGlvbk5vZGUge1xuICAgIHN3aXRjaCAoc2VsZWN0aW9uLmtpbmQpIHtcbiAgICAgIGNhc2UgJ0ZyYWdtZW50U3ByZWFkJzpcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuYW1lRnJhZ21lbnRTcHJlYWQoc2VsZWN0aW9uLCBwcmVmaXgpO1xuICAgICAgY2FzZSAnRmllbGQnOlxuICAgICAgICAvLyBDb250aW51ZSB0byBwcm9jZXNzIGNoaWxkcmVuIGZvciBuZXN0ZWQgc2VsZWN0aW9ucy5cbiAgICAgICAgaWYgKHNlbGVjdGlvbi5zZWxlY3Rpb25TZXQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc2VsZWN0aW9uLFxuICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB0aGlzLnByb2Nlc3NTZWxlY3Rpb25TZXQoXG4gICAgICAgICAgICAgIHNlbGVjdGlvbi5zZWxlY3Rpb25TZXQsXG4gICAgICAgICAgICAgIHByZWZpeFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzU2VsZWN0aW9uU2V0KFxuICAgIHNlbGVjdGlvblNldDogU2VsZWN0aW9uU2V0Tm9kZSxcbiAgICBwcmVmaXhcbiAgKTogU2VsZWN0aW9uU2V0Tm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNlbGVjdGlvblNldCxcbiAgICAgIHNlbGVjdGlvbnM6IHNlbGVjdGlvblNldC5zZWxlY3Rpb25zLm1hcCgoc2VsZWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3Rpb24oc2VsZWN0aW9uLCBwcmVmaXgpXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZVNlbGVjdGlvbnMoXG4gICAgc2VsZWN0aW9uczogUmVhZG9ubHlBcnJheTxTZWxlY3Rpb25Ob2RlPixcbiAgICBwcmVmaXhcbiAgKTogU2VsZWN0aW9uTm9kZVtdIHtcbiAgICByZXR1cm4gc2VsZWN0aW9ucy5tYXAoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgc3dpdGNoIChzZWxlY3Rpb24ua2luZCkge1xuICAgICAgICBjYXNlICdGaWVsZCc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1NlbGVjdGlvbihcbiAgICAgICAgICAgIHRoaXMucmVuYW1lRmllbGQoc2VsZWN0aW9uLCBwcmVmaXgpLFxuICAgICAgICAgICAgcHJlZml4XG4gICAgICAgICAgKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVGcmFnbWVudERlZmluaXRpb24oZnJhZ21lbnQ6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGUsIHByZWZpeCkge1xuICAgIGNvbnN0IHJldCA9IHtcbiAgICAgIC4uLmZyYWdtZW50LFxuICAgICAgbmFtZTogYXN0Lm5hbWUocHJlZml4ICsgZnJhZ21lbnQubmFtZS52YWx1ZSksXG4gICAgfTtcblxuICAgIGlmIChmcmFnbWVudC5zZWxlY3Rpb25TZXQpIHtcbiAgICAgIHJldC5zZWxlY3Rpb25TZXQgPSB0aGlzLnByb2Nlc3NTZWxlY3Rpb25TZXQoXG4gICAgICAgIGZyYWdtZW50LnNlbGVjdGlvblNldCxcbiAgICAgICAgcHJlZml4XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZUZyYWdtZW50RGVmaW5pdGlvbnMoXG4gICAgZnJhZ21lbnRzOiBGcmFnbWVudERlZmluaXRpb25Ob2RlW10sXG4gICAgcHJlZml4XG4gICkge1xuICAgIHJldHVybiBmcmFnbWVudHMubWFwKChmcmFnbWVudCkgPT5cbiAgICAgIHRoaXMucmVuYW1lRnJhZ21lbnREZWZpbml0aW9uKGZyYWdtZW50LCBwcmVmaXgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2UoKSB7XG4gICAgbGV0IHZhcmlhYmxlRGVmaW5pdGlvbnM6IFZhcmlhYmxlRGVmaW5pdGlvbk5vZGVbXSA9IFtdO1xuICAgIGxldCBzZWxlY3Rpb25zOiBTZWxlY3Rpb25Ob2RlW10gPSBbXTtcbiAgICBjb25zdCBtZXJnZWRWYXJpYWJsZXMgPSB7fTtcbiAgICBsZXQgbWVyZ2VkRnJhZ21lbnRzOiBGcmFnbWVudERlZmluaXRpb25Ob2RlW10gPSBbXTtcblxuICAgIGNvbnN0IHByZWZpeGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gSnVzdCB3YWl0IGZvciBldmVyeXRoaW5nIHRvIHJlc29sdmUgYmVjYXVzZSB3ZSBoYXZlIHRvXG4gICAgLy8gbWVyZ2UgdGhlIGRvYyBzeW5jaHJvbm91c2x5LlxuICAgIHRoaXMubHJNdXRhdGlvbnMuZm9yRWFjaCgobHJNdXRhdGlvbiwgaWR4KSA9PiB7XG4gICAgICAvLyBTb21ldGltZXMgdHlwaW5nIHdvbid0IGNhdGNoIGV2ZXJ5dGhpbmcuIFNvIG5lZWQgdG8gZHluYW1pY2FsbHkgY2hlY2sgdGhlXG4gICAgICAvLyB0eXBlIHRvIGJlIHN1cmUuXG4gICAgICBpZiAoIShsck11dGF0aW9uIGluc3RhbmNlb2YgTHJNdXRhdGlvbkJhc2UpKSB7XG4gICAgICAgIHRocm93IG5ldyBLY0JhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICAgICdBbiBtdXRhdGlvbiBpbiB0aGUgYXJyYXkgaXMgbm90IG9mIHR5cGUgTHJNdXRhdGlvbkJhc2UuJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IG11dGF0aW9uLCB2YXJpYWJsZXMgfSA9IGxyTXV0YXRpb24ubHJNdXRhdGlvbkRhdGE7XG5cbiAgICAgIGNvbnN0IGNoaWxkTXV0YXRpb25Ob2RlID0gZ2V0TXV0YXRpb24obXV0YXRpb24pO1xuXG4gICAgICAvLyBQcmVmaXhpbmcgYWxsIG11dGF0aW9uIGZpZWxkcyBzbyB0aGV5IGRvbid0IGNvbmZsaWN0LlxuICAgICAgbGV0IHByZWZpeCA9IGBpdGVtJHtpZHh9X2A7XG4gICAgICBpZiAoY2hpbGRNdXRhdGlvbk5vZGUubmFtZSkge1xuICAgICAgICBwcmVmaXggKz0gY2hpbGRNdXRhdGlvbk5vZGUubmFtZS52YWx1ZSArICdfJztcbiAgICAgIH1cblxuICAgICAgcHJlZml4ZXMucHVzaChwcmVmaXgpO1xuXG4gICAgICAvLyBSZW5hbWUgYW5kIG1lcmdlIHZhcmlhYmxlc1xuICAgICAgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtcbiAgICAgICAgLi4udmFyaWFibGVEZWZpbml0aW9ucyxcbiAgICAgICAgLi4udGhpcy5yZW5hbWVWYXJpYWJsZURlZmluaXRpb25zKFxuICAgICAgICAgIGNoaWxkTXV0YXRpb25Ob2RlLnZhcmlhYmxlRGVmaW5pdGlvbnMsXG4gICAgICAgICAgcHJlZml4XG4gICAgICAgICksXG4gICAgICBdO1xuXG4gICAgICAvLyBSZW5hbWUgYW5kIG1lcmdlIHNlbGVjdGlvbnNcbiAgICAgIHNlbGVjdGlvbnMgPSBbXG4gICAgICAgIC4uLnNlbGVjdGlvbnMsXG4gICAgICAgIC4uLnRoaXMucmVuYW1lU2VsZWN0aW9ucyhcbiAgICAgICAgICBjaGlsZE11dGF0aW9uTm9kZS5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyxcbiAgICAgICAgICBwcmVmaXhcbiAgICAgICAgKSxcbiAgICAgIF07XG5cbiAgICAgIC8vIFJlbmFtZSBhbmQgbWVyZ2UgdmFyaWFibGVzXG4gICAgICBmb3IgKGNvbnN0IGtleTIgb2YgT2JqZWN0LmtleXModmFyaWFibGVzKSkge1xuICAgICAgICBtZXJnZWRWYXJpYWJsZXNbcHJlZml4ICsga2V5Ml0gPSB2YXJpYWJsZXNba2V5Ml07XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbmFtZSBhbmQgbWVyZ2UgZnJhZ21lbnRzXG4gICAgICBjb25zdCBmcmFnbWVudHMgPSBnZXRGcmFnbWVudHMobXV0YXRpb24pO1xuICAgICAgbWVyZ2VkRnJhZ21lbnRzID0gW1xuICAgICAgICAuLi5tZXJnZWRGcmFnbWVudHMsXG4gICAgICAgIC4uLnRoaXMucmVuYW1lRnJhZ21lbnREZWZpbml0aW9ucyhmcmFnbWVudHMsIHByZWZpeCksXG4gICAgICBdO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbWVyZ2VkTXV0YXRpb246IERvY3VtZW50Tm9kZSA9IGxvZGFzaC5jbG9uZURlZXAobHJNZXJnZWRNdXRhdGlvbkRvYyk7XG4gICAgY29uc3QgbXV0YXRpb25Ob2RlID0gZ2V0TXV0YXRpb24obWVyZ2VkTXV0YXRpb24pO1xuICAgIC8vIEFkZCBpbiB0aGUgbXV0YXRpb24gc2VsZWN0aW9uc1xuICAgIG11dGF0aW9uTm9kZS5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyA9IHNlbGVjdGlvbnM7XG4gICAgLy8gQWRkIGluIHRoZSB2YXJpYWJsZXNcbiAgICAvLyB2YXJpYWJsZURlZmluaXRpb25zIGlzIHJlYWRvbmx5IHByb3BlcnR5LlxuICAgIChtdXRhdGlvbk5vZGUgYXMgYW55KS52YXJpYWJsZURlZmluaXRpb25zID0gdmFyaWFibGVEZWZpbml0aW9ucztcbiAgICAvLyBBZGQgaW4gdGhlIGZyYWdtZW50c1xuICAgIChtZXJnZWRNdXRhdGlvbiBhcyBhbnkpLmRlZmluaXRpb25zID0gW1xuICAgICAgLi4ubWVyZ2VkTXV0YXRpb24uZGVmaW5pdGlvbnMsXG4gICAgICAuLi5tZXJnZWRGcmFnbWVudHMsXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBtdXRhdGlvbjogbWVyZ2VkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IG1lcmdlZFZhcmlhYmxlcyxcbiAgICAgIHByZWZpeGVzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHItbWVyZ2VkLW11dGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FwaS9sci1ncmFwaHFsL2xyLW1lcmdlZC1tdXRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxHQUFHLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUUsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixzQkFBc0IsR0FDdkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxNQUFNLG1CQUFtQixHQUFpQjtJQUN4QyxJQUFJLEVBQUUsVUFBVTtJQUNoQixXQUFXLEVBQUU7UUFDWDtZQUNFLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsU0FBUyxFQUFFLFVBQVU7WUFDckIsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxrQkFBa0I7YUFDMUI7WUFDRCxtQkFBbUIsRUFBRSxFQUFFO1lBQ3ZCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLElBQUksRUFBRSxjQUFjO2dCQUNwQixVQUFVLEVBQUUsRUFBRTthQUNmO1NBQ0Y7S0FDRjtDQU1GLENBQUM7QUFFRixNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsY0FBaUI7SUFJeEQsWUFBNEIsV0FBa0M7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEa0IsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBRzVELE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFB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LDZCQUE2QjtZQUM3QixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3pDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xEO1lBRUQsNkJBQTZCO1lBQzdCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxlQUFlLEdBQUc7Z0JBQ2hCLEdBQUcsZUFBZTtnQkFDbEIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQzthQUNyRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRCxpQ0FBaUM7UUFDakMsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ2xELHVCQUF1QjtRQUN2Qiw0Q0FBNEM7UUFDM0MsWUFBb0IsQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUNoRSx1QkFBdUI7UUFDdEIsY0FBc0IsQ0FBQyxXQUFXLEdBQUc7WUFDcEMsR0FBRyxjQUFjLENBQUMsV0FBVztZQUM3QixHQUFHLGVBQWU7U0FDbkIsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsZUFBZTtZQUMxQixRQUFRO1NBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gIEFyZ3VtZW50Tm9kZSxcbiAgRG9jdW1lbnROb2RlLFxuICBGaWVsZE5vZGUsXG4gIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUsXG4gIEZyYWdtZW50U3ByZWFkTm9kZSxcbiAgU2VsZWN0aW9uTm9kZSxcbiAgU2VsZWN0aW9uU2V0Tm9kZSxcbiAgVmFyaWFibGVEZWZpbml0aW9uTm9kZSxcbn0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBsb2Rhc2ggfSBmcm9tICcuLi8uLi9fY29tbW9uJztcbmltcG9ydCAqIGFzIGFzdCBmcm9tICcuLi8uLi9fY29tbW9uL2FzdCc7XG5pbXBvcnQgeyBnZXRBbGlhc09yTmFtZSwgZ2V0RnJhZ21lbnRzLCBnZXRNdXRhdGlvbiB9IGZyb20gJy4uLy4uL19jb21tb24vYXN0JztcbmltcG9ydCB7XG4gIEtjQmFkTG9naWNFeGNlcHRpb24sXG4gIEtjVW5zdXBwb3J0ZWRFeGNlcHRpb24sXG59IGZyb20gJy4uLy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBMck11dGF0aW9uIH0gZnJvbSAnLi9sci1tdXRhdGlvbic7XG5pbXBvcnQgeyBMck11dGF0aW9uQmFzZSB9IGZyb20gJy4vbHItbXV0YXRpb24tYmFzZSc7XG5cbmNvbnN0IGxyTWVyZ2VkTXV0YXRpb25Eb2M6IERvY3VtZW50Tm9kZSA9IHtcbiAga2luZDogJ0RvY3VtZW50JyxcbiAgZGVmaW5pdGlvbnM6IFtcbiAgICB7XG4gICAgICBraW5kOiAnT3BlcmF0aW9uRGVmaW5pdGlvbicsXG4gICAgICBvcGVyYXRpb246ICdtdXRhdGlvbicsXG4gICAgICBuYW1lOiB7XG4gICAgICAgIGtpbmQ6ICdOYW1lJyxcbiAgICAgICAgdmFsdWU6ICdsck1lcmdlZE11dGF0aW9uJyxcbiAgICAgIH0sXG4gICAgICB2YXJpYWJsZURlZmluaXRpb25zOiBbXSxcbiAgICAgIGRpcmVjdGl2ZXM6IFtdLFxuICAgICAgc2VsZWN0aW9uU2V0OiB7XG4gICAgICAgIGtpbmQ6ICdTZWxlY3Rpb25TZXQnLFxuICAgICAgICBzZWxlY3Rpb25zOiBbXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbiAgLy8gVE9ETyBXaGF0IHRvIGRvIGFib3V0IHRoZXNlPyBTZXJpYWxpc2UgYW5kIHJlcGFyc2U/XG4gIC8vIFwibG9jXCI6IHtcbiAgLy8gICBcInN0YXJ0XCI6IDAsXG4gIC8vICAgXCJlbmRcIjogMjA0XG4gIC8vIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBMck1lcmdlZE11dGF0aW9uPFQ+IGV4dGVuZHMgTHJNdXRhdGlvbkJhc2U8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY2VuZGFudHM6IFNldDxMck11dGF0aW9uQmFzZTxhbnk+PjtcbiAgcHJvdGVjdGVkIHByZWZpeGVzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbHJNdXRhdGlvbnM6IExyTXV0YXRpb25CYXNlPGFueT5bXSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7IG11dGF0aW9uLCB2YXJpYWJsZXMsIHByZWZpeGVzIH0gPSB0aGlzLm1lcmdlKCk7XG4gICAgdGhpcy5tdXRhdGlvbiA9IG11dGF0aW9uO1xuICAgIHRoaXMudmFyaWFibGVzID0gdmFyaWFibGVzO1xuICAgIHRoaXMucHJlZml4ZXMgPSBwcmVmaXhlcztcbiAgICB0aGlzLmRlc2NlbmRhbnRzID0gdGhpcy5nZXREZXNjZW5kYW50cygpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZTxUMSwgVDI+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uQmFzZTxUMT4gfCBMck1lcmdlZE11dGF0aW9uPFQxPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQyPiB8IExyTWVyZ2VkTXV0YXRpb248VDI+XG4gICAgXVxuICApOiBMck1lcmdlZE11dGF0aW9uPFtUMSwgVDJdPjtcblxuICBzdGF0aWMgY3JlYXRlPFQxLCBUMiwgVDM+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uQmFzZTxUMT4gfCBMck1lcmdlZE11dGF0aW9uPFQxPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQyPiB8IExyTWVyZ2VkTXV0YXRpb248VDI+LFxuICAgICAgTHJNdXRhdGlvbkJhc2U8VDM+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMz5cbiAgICBdXG4gICk6IExyTWVyZ2VkTXV0YXRpb248W1QxLCBUMiwgVDNdPjtcblxuICBzdGF0aWMgY3JlYXRlPFQxLCBUMiwgVDMsIFQ0PihcbiAgICBsck11dGF0aW9uczogW1xuICAgICAgTHJNdXRhdGlvbkJhc2U8VDE+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMT4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUMj4gfCBMck1lcmdlZE11dGF0aW9uPFQyPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQzPiB8IExyTWVyZ2VkTXV0YXRpb248VDM+LFxuICAgICAgTHJNdXRhdGlvbkJhc2U8VDQ+IHwgTHJNZXJnZWRNdXRhdGlvbjxUND5cbiAgICBdXG4gICk6IExyTWVyZ2VkTXV0YXRpb248W1QxLCBUMiwgVDMsIFQ0XT47XG5cbiAgc3RhdGljIGNyZWF0ZTxUMSwgVDIsIFQzLCBUNCwgVDU+KFxuICAgIGxyTXV0YXRpb25zOiBbXG4gICAgICBMck11dGF0aW9uQmFzZTxUMT4gfCBMck1lcmdlZE11dGF0aW9uPFQxPixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQyPiB8IExyTWVyZ2VkTXV0YXRpb248VDI+LFxuICAgICAgTHJNdXRhdGlvbkJhc2U8VDM+IHwgTHJNZXJnZWRNdXRhdGlvbjxUMz4sXG4gICAgICBMck11dGF0aW9uQmFzZTxUND4gfCBMck1lcmdlZE11dGF0aW9uPFQ0PixcbiAgICAgIExyTXV0YXRpb25CYXNlPFQ1PiB8IExyTWVyZ2VkTXV0YXRpb248VDU+XG4gICAgXVxuICApOiBMck1lcmdlZE11dGF0aW9uPFtUMSwgVDIsIFQzLCBUNCwgVDVdPjtcblxuICBzdGF0aWMgY3JlYXRlPFQ+KGxyTXV0YXRpb25zOiBMck11dGF0aW9uQmFzZTxUPltdKTogTHJNZXJnZWRNdXRhdGlvbjxUW10+O1xuXG4gIHN0YXRpYyBjcmVhdGUobHJNdXRhdGlvbnM6IExyTXV0YXRpb25CYXNlPGFueT5bXSk6IExyTWVyZ2VkTXV0YXRpb248YW55W10+O1xuXG4gIHN0YXRpYyBjcmVhdGUobHJNdXRhdGlvbnM6IExyTXV0YXRpb25CYXNlPGFueT5bXSkge1xuICAgIHJldHVybiBuZXcgTHJNZXJnZWRNdXRhdGlvbihsck11dGF0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldERlc2NlbmRhbnRzKCkge1xuICAgIGNvbnN0IHJldCA9IG5ldyBTZXQ8THJNdXRhdGlvbkJhc2U8YW55Pj4oKTtcblxuICAgIGNvbnN0IGFkZE9yVGhyb3cgPSAoaXRlbSkgPT4ge1xuICAgICAgaWYgKHJldC5oYXMoaXRlbSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEtjQmFkTG9naWNFeGNlcHRpb24oXG4gICAgICAgICAgJ0NsYXNzZXMgdGhhdCBhcmUgZGVyaXZlZCBmcm9tIExyTXV0YXRpb25CYXNlIGNhbiBub3QgYmUgdXNlZCBtb3JlIHRoYW4gb25jZSBpbiBhIG1lcmdlZCBtdXRhdGlvbi4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldC5hZGQoaXRlbSk7XG4gICAgfTtcblxuICAgIHRoaXMubHJNdXRhdGlvbnMuZm9yRWFjaCgobHJNdXRhdGlvbikgPT4ge1xuICAgICAgaWYgKGxyTXV0YXRpb24gaW5zdGFuY2VvZiBMck11dGF0aW9uKSB7XG4gICAgICAgIGFkZE9yVGhyb3cobHJNdXRhdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKGxyTXV0YXRpb24gaW5zdGFuY2VvZiBMck1lcmdlZE11dGF0aW9uKSB7XG4gICAgICAgIGxyTXV0YXRpb24uZGVzY2VuZGFudHMuZm9yRWFjaCgodCkgPT4gYWRkT3JUaHJvdyh0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgS2NVbnN1cHBvcnRlZEV4Y2VwdGlvbihcbiAgICAgICAgICBgTHJNZXJnZU11dGF0aW9uIGNhbiBub3QgaGFuZGxlIGNsYXNzOiAke2xyTXV0YXRpb24uY29uc3RydWN0b3IubmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcmVzb2x2ZSh2YWx1ZTogYW55KSB7XG4gICAgLy8gUmVzb2x2ZXMgYW55IHByb21pc2VzIHdhaXRpbmcgZm9yIHRoZSBjaGlsZCBtdXRhdGlvbnNcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubHJNdXRhdGlvbnMubGVuZ3RoOyArK2kpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMucHJlZml4ZXNbaV07XG5cbiAgICAgIC8vIFJlbW92ZSB0aGUgcHJlZml4IGFuZCByZXNvbHZlIGNoaWxkIG11dGF0aW9uLlxuICAgICAgY29uc3QgcmVzOiBhbnkgPSB7fTtcbiAgICAgIGZvciAoY29uc3Qga2V5MiBpbiB2YWx1ZSkge1xuICAgICAgICBpZiAoa2V5Mi5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbEtleSA9IGtleTIuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gICAgICAgICAgcmVzW29yaWdpbmFsS2V5XSA9IHZhbHVlW2tleTJdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmxyTXV0YXRpb25zW2ldLnJlc29sdmUocmVzKTtcbiAgICB9XG5cbiAgICAvLyBSZXNvbHZlcyB0byB0aGUgcmVzdWx0IG9mIGNoaWxkcmVuXG4gICAgUHJvbWlzZS5hbGwodGhpcy5sck11dGF0aW9ucy5tYXAoKG0pID0+IG0ucHJvbWlzZSkpLnRoZW4oXG4gICAgICAoY2hpbGRWYWx1ZXM6IGFueSkgPT4ge1xuICAgICAgICAvLyBSZXNvbHZlcyBhbnkgcHJvbWlzZXMgd2FpdGluZyBmb3IgdGhlIGN1cnJlbnQgbWVyZ2VkIG11dGF0aW9uXG4gICAgICAgIHN1cGVyLnJlc29sdmUoY2hpbGRWYWx1ZXMpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZWplY3QocmVhc29uPzogYW55KSB7XG4gICAgc3VwZXIucmVqZWN0KHJlYXNvbik7XG4gICAgdGhpcy5sck11dGF0aW9ucy5mb3JFYWNoKChsck11dGF0aW9uKSA9PiBsck11dGF0aW9uLnJlamVjdChyZWFzb24pKTtcbiAgfVxuXG4gIHNldEV4ZWN1dGVkKCkge1xuICAgIHN1cGVyLnNldEV4ZWN1dGVkKCk7XG4gICAgdGhpcy5sck11dGF0aW9ucy5mb3JFYWNoKChsck11dGF0aW9uKSA9PiBsck11dGF0aW9uLnNldEV4ZWN1dGVkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVWYXJpYWJsZURlZmluaXRpb24odmFyRGVmOiBWYXJpYWJsZURlZmluaXRpb25Ob2RlLCBwcmVmaXgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udmFyRGVmLFxuICAgICAgdmFyaWFibGU6IHtcbiAgICAgICAgLi4udmFyRGVmLnZhcmlhYmxlLFxuICAgICAgICBuYW1lOiBhc3QubmFtZShwcmVmaXggKyB2YXJEZWYudmFyaWFibGUubmFtZS52YWx1ZSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZVZhcmlhYmxlRGVmaW5pdGlvbnMoXG4gICAgdmFyRGVmczogUmVhZG9ubHlBcnJheTxWYXJpYWJsZURlZmluaXRpb25Ob2RlPixcbiAgICBwcmVmaXhcbiAgKSB7XG4gICAgcmV0dXJuIHZhckRlZnMubWFwKCh2YXJEZWYpID0+XG4gICAgICB0aGlzLnJlbmFtZVZhcmlhYmxlRGVmaW5pdGlvbih2YXJEZWYsIHByZWZpeClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVBcmd1bWVudChhcmc6IEFyZ3VtZW50Tm9kZSwgcHJlZml4KSB7XG4gICAgaWYgKGFyZy52YWx1ZS5raW5kICE9PSAnVmFyaWFibGUnKSB7XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hcmcsXG4gICAgICB2YWx1ZToge1xuICAgICAgICAuLi5hcmcudmFsdWUsXG4gICAgICAgIG5hbWU6IGFzdC5uYW1lKHByZWZpeCArIGFyZy52YWx1ZS5uYW1lLnZhbHVlKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lRmllbGQoc2VsZWN0aW9uOiBGaWVsZE5vZGUsIHByZWZpeCk6IEZpZWxkTm9kZSB7XG4gICAgLy8gT25seSBoYW5kbGluZyB0eXBlIEZpZWxkXG4gICAgaWYgKHNlbGVjdGlvbi5raW5kICE9PSAnRmllbGQnKSB7XG4gICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGFsaWFzID0gcHJlZml4ICsgZ2V0QWxpYXNPck5hbWUoc2VsZWN0aW9uKTtcbiAgICBjb25zdCBhcmdzID0gc2VsZWN0aW9uLmFyZ3VtZW50cy5tYXAoKGFyZykgPT5cbiAgICAgIHRoaXMucmVuYW1lQXJndW1lbnQoYXJnLCBwcmVmaXgpXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zZWxlY3Rpb24sXG4gICAgICBhbGlhczoge1xuICAgICAgICBraW5kOiAnTmFtZScsXG4gICAgICAgIHZhbHVlOiBhbGlhcyxcbiAgICAgIH0sXG4gICAgICBhcmd1bWVudHM6IGFyZ3MsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lRnJhZ21lbnRTcHJlYWQoXG4gICAgc2VsZWN0aW9uOiBGcmFnbWVudFNwcmVhZE5vZGUsXG4gICAgcHJlZml4XG4gICk6IEZyYWdtZW50U3ByZWFkTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNlbGVjdGlvbixcbiAgICAgIG5hbWU6IGFzdC5uYW1lKHByZWZpeCArIHNlbGVjdGlvbi5uYW1lLnZhbHVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzU2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uTm9kZSwgcHJlZml4KTogU2VsZWN0aW9uTm9kZSB7XG4gICAgc3dpdGNoIChzZWxlY3Rpb24ua2luZCkge1xuICAgICAgY2FzZSAnRnJhZ21lbnRTcHJlYWQnOlxuICAgICAgICByZXR1cm4gdGhpcy5yZW5hbWVGcmFnbWVudFNwcmVhZChzZWxlY3Rpb24sIHByZWZpeCk7XG4gICAgICBjYXNlICdGaWVsZCc6XG4gICAgICAgIC8vIENvbnRpbnVlIHRvIHByb2Nlc3MgY2hpbGRyZW4gZm9yIG5lc3RlZCBzZWxlY3Rpb25zLlxuICAgICAgICBpZiAoc2VsZWN0aW9uLnNlbGVjdGlvblNldCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zZWxlY3Rpb24sXG4gICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHRoaXMucHJvY2Vzc1NlbGVjdGlvblNldChcbiAgICAgICAgICAgICAgc2VsZWN0aW9uLnNlbGVjdGlvblNldCxcbiAgICAgICAgICAgICAgcHJlZml4XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NTZWxlY3Rpb25TZXQoXG4gICAgc2VsZWN0aW9uU2V0OiBTZWxlY3Rpb25TZXROb2RlLFxuICAgIHByZWZpeFxuICApOiBTZWxlY3Rpb25TZXROb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2VsZWN0aW9uU2V0LFxuICAgICAgc2VsZWN0aW9uczogc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMubWFwKChzZWxlY3Rpb24pID0+XG4gICAgICAgIHRoaXMucHJvY2Vzc1NlbGVjdGlvbihzZWxlY3Rpb24sIHByZWZpeClcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lU2VsZWN0aW9ucyhcbiAgICBzZWxlY3Rpb25zOiBSZWFkb25seUFycmF5PFNlbGVjdGlvbk5vZGU+LFxuICAgIHByZWZpeFxuICApOiBTZWxlY3Rpb25Ob2RlW10ge1xuICAgIHJldHVybiBzZWxlY3Rpb25zLm1hcCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNlbGVjdGlvbi5raW5kKSB7XG4gICAgICAgIGNhc2UgJ0ZpZWxkJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU2VsZWN0aW9uKFxuICAgICAgICAgICAgdGhpcy5yZW5hbWVGaWVsZChzZWxlY3Rpb24sIHByZWZpeCksXG4gICAgICAgICAgICBwcmVmaXhcbiAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZUZyYWdtZW50RGVmaW5pdGlvbihmcmFnbWVudDogRnJhZ21lbnREZWZpbml0aW9uTm9kZSwgcHJlZml4KSB7XG4gICAgY29uc3QgcmV0ID0ge1xuICAgICAgLi4uZnJhZ21lbnQsXG4gICAgICBuYW1lOiBhc3QubmFtZShwcmVmaXggKyBmcmFnbWVudC5uYW1lLnZhbHVlKSxcbiAgICB9O1xuXG4gICAgaWYgKGZyYWdtZW50LnNlbGVjdGlvblNldCkge1xuICAgICAgcmV0LnNlbGVjdGlvblNldCA9IHRoaXMucHJvY2Vzc1NlbGVjdGlvblNldChcbiAgICAgICAgZnJhZ21lbnQuc2VsZWN0aW9uU2V0LFxuICAgICAgICBwcmVmaXhcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lRnJhZ21lbnREZWZpbml0aW9ucyhcbiAgICBmcmFnbWVudHM6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXSxcbiAgICBwcmVmaXhcbiAgKSB7XG4gICAgcmV0dXJuIGZyYWdtZW50cy5tYXAoKGZyYWdtZW50KSA9PlxuICAgICAgdGhpcy5yZW5hbWVGcmFnbWVudERlZmluaXRpb24oZnJhZ21lbnQsIHByZWZpeClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZSgpIHtcbiAgICBsZXQgdmFyaWFibGVEZWZpbml0aW9uczogVmFyaWFibGVEZWZpbml0aW9uTm9kZVtdID0gW107XG4gICAgbGV0IHNlbGVjdGlvbnM6IFNlbGVjdGlvbk5vZGVbXSA9IFtdO1xuICAgIGNvbnN0IG1lcmdlZFZhcmlhYmxlcyA9IHt9O1xuICAgIGxldCBtZXJnZWRGcmFnbWVudHM6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXSA9IFtdO1xuXG4gICAgY29uc3QgcHJlZml4ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBKdXN0IHdhaXQgZm9yIGV2ZXJ5dGhpbmcgdG8gcmVzb2x2ZSBiZWNhdXNlIHdlIGhhdmUgdG9cbiAgICAvLyBtZXJnZSB0aGUgZG9jIHN5bmNocm9ub3VzbHkuXG4gICAgdGhpcy5sck11dGF0aW9ucy5mb3JFYWNoKChsck11dGF0aW9uLCBpZHgpID0+IHtcbiAgICAgIC8vIFNvbWV0aW1lcyB0eXBpbmcgd29uJ3QgY2F0Y2ggZXZlcnl0aGluZy4gU28gbmVlZCB0byBkeW5hbWljYWxseSBjaGVjayB0aGVcbiAgICAgIC8vIHR5cGUgdG8gYmUgc3VyZS5cbiAgICAgIGlmICghKGxyTXV0YXRpb24gaW5zdGFuY2VvZiBMck11dGF0aW9uQmFzZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEtjQmFkTG9naWNFeGNlcHRpb24oXG4gICAgICAgICAgJ0FuIG11dGF0aW9uIGluIHRoZSBhcnJheSBpcyBub3Qgb2YgdHlwZSBMck11dGF0aW9uQmFzZS4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgbXV0YXRpb24sIHZhcmlhYmxlcyB9ID0gbHJNdXRhdGlvbi5sck11dGF0aW9uRGF0YTtcblxuICAgICAgY29uc3QgY2hpbGRNdXRhdGlvbk5vZGUgPSBnZXRNdXRhdGlvbihtdXRhdGlvbik7XG5cbiAgICAgIC8vIFByZWZpeGluZyBhbGwgbXV0YXRpb24gZmllbGRzIHNvIHRoZXkgZG9uJ3QgY29uZmxpY3QuXG4gICAgICBsZXQgcHJlZml4ID0gYGl0ZW0ke2lkeH1fYDtcbiAgICAgIGlmIChjaGlsZE11dGF0aW9uTm9kZS5uYW1lKSB7XG4gICAgICAgIHByZWZpeCArPSBjaGlsZE11dGF0aW9uTm9kZS5uYW1lLnZhbHVlICsgJ18nO1xuICAgICAgfVxuXG4gICAgICBwcmVmaXhlcy5wdXNoKHByZWZpeCk7XG5cbiAgICAgIC8vIFJlbmFtZSBhbmQgbWVyZ2UgdmFyaWFibGVzXG4gICAgICB2YXJpYWJsZURlZmluaXRpb25zID0gW1xuICAgICAgICAuLi52YXJpYWJsZURlZmluaXRpb25zLFxuICAgICAgICAuLi50aGlzLnJlbmFtZVZhcmlhYmxlRGVmaW5pdGlvbnMoXG4gICAgICAgICAgY2hpbGRNdXRhdGlvbk5vZGUudmFyaWFibGVEZWZpbml0aW9ucyxcbiAgICAgICAgICBwcmVmaXhcbiAgICAgICAgKSxcbiAgICAgIF07XG5cbiAgICAgIC8vIFJlbmFtZSBhbmQgbWVyZ2Ugc2VsZWN0aW9uc1xuICAgICAgc2VsZWN0aW9ucyA9IFtcbiAgICAgICAgLi4uc2VsZWN0aW9ucyxcbiAgICAgICAgLi4udGhpcy5yZW5hbWVTZWxlY3Rpb25zKFxuICAgICAgICAgIGNoaWxkTXV0YXRpb25Ob2RlLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zLFxuICAgICAgICAgIHByZWZpeFxuICAgICAgICApLFxuICAgICAgXTtcblxuICAgICAgLy8gUmVuYW1lIGFuZCBtZXJnZSB2YXJpYWJsZXNcbiAgICAgIGZvciAoY29uc3Qga2V5MiBvZiBPYmplY3Qua2V5cyh2YXJpYWJsZXMpKSB7XG4gICAgICAgIG1lcmdlZFZhcmlhYmxlc1twcmVmaXggKyBrZXkyXSA9IHZhcmlhYmxlc1trZXkyXTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVuYW1lIGFuZCBtZXJnZSBmcmFnbWVudHNcbiAgICAgIGNvbnN0IGZyYWdtZW50cyA9IGdldEZyYWdtZW50cyhtdXRhdGlvbik7XG4gICAgICBtZXJnZWRGcmFnbWVudHMgPSBbXG4gICAgICAgIC4uLm1lcmdlZEZyYWdtZW50cyxcbiAgICAgICAgLi4udGhpcy5yZW5hbWVGcmFnbWVudERlZmluaXRpb25zKGZyYWdtZW50cywgcHJlZml4KSxcbiAgICAgIF07XG4gICAgfSk7XG5cbiAgICBjb25zdCBtZXJnZWRNdXRhdGlvbjogRG9jdW1lbnROb2RlID0gbG9kYXNoLmNsb25lRGVlcChsck1lcmdlZE11dGF0aW9uRG9jKTtcbiAgICBjb25zdCBtdXRhdGlvbk5vZGUgPSBnZXRNdXRhdGlvbihtZXJnZWRNdXRhdGlvbik7XG4gICAgLy8gQWRkIGluIHRoZSBtdXRhdGlvbiBzZWxlY3Rpb25zXG4gICAgbXV0YXRpb25Ob2RlLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zID0gc2VsZWN0aW9ucztcbiAgICAvLyBBZGQgaW4gdGhlIHZhcmlhYmxlc1xuICAgIC8vIHZhcmlhYmxlRGVmaW5pdGlvbnMgaXMgcmVhZG9ubHkgcHJvcGVydHkuXG4gICAgKG11dGF0aW9uTm9kZSBhcyBhbnkpLnZhcmlhYmxlRGVmaW5pdGlvbnMgPSB2YXJpYWJsZURlZmluaXRpb25zO1xuICAgIC8vIEFkZCBpbiB0aGUgZnJhZ21lbnRzXG4gICAgKG1lcmdlZE11dGF0aW9uIGFzIGFueSkuZGVmaW5pdGlvbnMgPSBbXG4gICAgICAuLi5tZXJnZWRNdXRhdGlvbi5kZWZpbml0aW9ucyxcbiAgICAgIC4uLm1lcmdlZEZyYWdtZW50cyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG11dGF0aW9uOiBtZXJnZWRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczogbWVyZ2VkVmFyaWFibGVzLFxuICAgICAgcHJlZml4ZXMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as lodash from 'lodash';
|
|
2
1
|
import * as ast from '../../_common/ast';
|
|
3
2
|
import { getAliasOrName, getFragments, getMutation, } from '../../_common/ast';
|
|
3
|
+
import { lodash } from '../../_common';
|
|
4
4
|
import { fragmentSpreadAstSelection, LrMutationBase, } from './lr-mutation-base';
|
|
5
5
|
export class LrMutation extends LrMutationBase {
|
|
6
6
|
constructor(options) {
|
|
@@ -88,4 +88,4 @@ export class LrMutation extends LrMutationBase {
|
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHItbXV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvYXBpL2xyLWdyYXBocWwvbHItbXV0YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLFlBQVksRUFDWixXQUFXLEdBRVosTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsY0FBYyxHQUVmLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsTUFBTSxPQUFPLFVBR1gsU0FBUSxjQUE2QjtJQUNyQyxZQUFZLE9BQXNDO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Q0c7SUFDSCxNQUFNLENBQVUsU0FBcUM7UUFDbkQsMkJBQTJCO1FBQzNCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBaUIsQ0FBQztRQUNwRSxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFOUMsTUFBTSxXQUFXLEdBQUcsRUFBK0MsQ0FBQztRQUNwRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBZ0MsRUFBRSxFQUFFO1lBQ25FLDJGQUEyRjtZQUMzRiw0REFBNEQ7WUFDNUQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUU7WUFDckQsTUFBTSxLQUFLLEdBQUcsU0FBc0IsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsT0FBTzthQUNSO1lBRUQsd0RBQXdEO1lBQ3hELHdEQUF3RDtZQUN4RCxxREFBcUQ7WUFDckQsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUc7Z0RBRXpCLDBCQUEwQixLQUM3QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUV0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDekQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDOUIscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDcEIsUUFBUSxFQUFFLGdDQUNMLFdBQVcsS0FDZCxXQUFXLEVBQUU7b0JBQ1gsZ0NBQWdDO29CQUNoQyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUMvQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FDM0M7b0JBQ0QsR0FBRyxTQUFTLENBQUMsV0FBVztpQkFDekIsR0FDNEI7WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IE9wZXJhdGlvblZhcmlhYmxlcyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgRG9jdW1lbnROb2RlLCBGaWVsZE5vZGUsIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCAqIGFzIGFzdCBmcm9tICcuLi8uLi9fY29tbW9uL2FzdCc7XG5pbXBvcnQge1xuICBnZXRBbGlhc09yTmFtZSxcbiAgZ2V0RnJhZ21lbnRzLFxuICBnZXRNdXRhdGlvbixcbiAgVHlwZWREb2N1bWVudE5vZGUsXG59IGZyb20gJy4uLy4uL19jb21tb24vYXN0JztcbmltcG9ydCB7IGxvZGFzaCB9IGZyb20gJy4uLy4uL19jb21tb24nO1xuaW1wb3J0IHtcbiAgZnJhZ21lbnRTcHJlYWRBc3RTZWxlY3Rpb24sXG4gIExyTXV0YXRpb25CYXNlLFxuICBMck11dGF0aW9uRGF0YSxcbn0gZnJvbSAnLi9sci1tdXRhdGlvbi1iYXNlJztcblxuZXhwb3J0IGNsYXNzIExyTXV0YXRpb248XG4gIFQgZXh0ZW5kcyBhbnksXG4gIFRWYXJpYWJsZXMgPSBPcGVyYXRpb25WYXJpYWJsZXNcbj4gZXh0ZW5kcyBMck11dGF0aW9uQmFzZTxULCBUVmFyaWFibGVzPiB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IExyTXV0YXRpb25EYXRhPFQsIFRWYXJpYWJsZXM+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm11dGF0aW9uID0gb3B0aW9ucy5tdXRhdGlvbjtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IG9wdGlvbnMudmFyaWFibGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIGRpZmZlcmVudCBzZXQgb2YgZmllbGRzIGZyb20gdGhlIG11dGF0aW9uLiBFeGFtcGxlIHVzYWdlOlxuICAgKlxuICAgKiBpbnRlcmZhY2UgQ3JlYXRlRGlyZWN0b3J5TXV0YXRpb25SZXN1bHQge1xuICAgKiAgIGNyZWF0ZURpcmVjdG9yeToge1xuICAgKiAgICAgZGlyZWN0b3J5OiBEaXJlY3RvcnlOb2RlO1xuICAgKiAgIH07XG4gICAqIH07XG4gICAqXG4gICAqIGNvbnN0IENyZWF0ZURpcmVjdG9yeU11dGF0aW9uID0gZ3FsVHlwZWQ8Q3JlYXRlRGlyZWN0b3J5TXV0YXRpb25SZXN1bHQ+YFxuICAgKiBtdXRhdGlvbiBDcmVhdGVEaXJlY3RvcnlNdXRhdGlvbiguLi4pIHtcbiAgICogICBjcmVhdGVEaXJlY3RvcnkoLi4uKSB7XG4gICAqICAgICBkaXJlY3Rvcnkge1xuICAgKiAgICAgICBpZFxuICAgKiAgICAgfVxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgXG4gICAqIGludGVyZmFjZSBDcmVhdGVEaXJlY3RvcnlGcmFnbWVudFJlc3VsdCB7XG4gICAqICAgY3JlYXRlRGlyZWN0b3J5OiB7XG4gICAqICAgICBkaXJlY3Rvcnk6IERpcmVjdG9yeU5vZGU7XG4gICAqICAgfTtcbiAgICogfTtcbiAgICpcbiAgICogY29uc3QgQ3JlYXRlRGlyZWN0b3J5RnJhZ21lbnQgPSBncWxUeXBlZDxDcmVhdGVEaXJlY3RvcnlGcmFnbWVudFJlc3VsdD5gXG4gICAqICAgLy8gTm90ZSB0aGF0IHRoZSBzdHJpbmcgJ2NyZWF0ZURpcmVjdG9yeScgY2FuIG5vdCBiZSBjaGFuZ2VkLlxuICAgKiAgIC8vIEl0IG11c3QgbWF0Y2ggd2l0aCB0aGUgbXV0YXRpb24gZmllbGQgYWJvdmUuXG4gICAqICAgLy8gVGhlICdDcmVhdGVEaXJlY3RvcnlQYXlsb2FkJyBpcyB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIG11dGF0aW9uLlxuICAgKiAgIGZyYWdtZW50IGNyZWF0ZURpcmVjdG9yeSBvbiBDcmVhdGVEaXJlY3RvcnlQYXlsb2FkIHtcbiAgICogICAgIGRpcmVjdG9yeSB7XG4gICAqICAgICAgIHBsYWluTWV0YVxuICAgKiAgICAgfVxuICAgKiAgIH1cbiAgICogYFxuICAgKiBsckdyYXBoUUxTZXJ2aWNlLmxyTXV0YXRlKHtcbiAgICogICBtdXRhdGlvbjogQ3JlYXRlRGlyZWN0b3J5TXV0YXRpb25cbiAgICogfSkuc2VsZWN0KENyZWF0ZURpcmVjdG9yeUZyYWdtZW50KS5jcmVhdGVEaXJlY3RvcnkuZGlyZWN0b3J5LnBsYWluTWV0YS5cbiAgICpcbiAgICogQHBhcmFtIGZyYWdtZW50c1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc2VsZWN0PFRSZXN1bHQ+KGZyYWdtZW50czogVHlwZWREb2N1bWVudE5vZGU8VFJlc3VsdD4pIHtcbiAgICAvLyBEb24ndCB0b3VjaCB0aGUgb3JpZ2luYWxcbiAgICBjb25zdCBtdXRhdGlvbkRvYyA9IGxvZGFzaC5jbG9uZURlZXAodGhpcy5tdXRhdGlvbikgYXMgRG9jdW1lbnROb2RlO1xuICAgIGNvbnN0IG11dGF0aW9uTm9kZSA9IGdldE11dGF0aW9uKG11dGF0aW9uRG9jKTtcblxuICAgIGNvbnN0IGZyYWdtZW50TWFwID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBGcmFnbWVudERlZmluaXRpb25Ob2RlIH07XG4gICAgZ2V0RnJhZ21lbnRzKGZyYWdtZW50cykuZm9yRWFjaCgoZnJhZ21lbnQ6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGUpID0+IHtcbiAgICAgIC8vIFVzaW5nICdfJyBhcyB0aGUgZGVsaW1pdGVyIGZvciB0aGUgZHVtbXkgc3VmZml4IHdoaWNoIG9ubHkgc2VydmVzIHRvIG1ha2UgZnJhZ21lbnQgbmFtZXNcbiAgICAgIC8vIHVuaXF1ZSBzaW5jZSBhcG9sbG8gY2xpZW50IGRlbWFuZHMgdW5pcXVlIGZyYWdtZW50IG5hbWVzLlxuICAgICAgZnJhZ21lbnRNYXBbZnJhZ21lbnQubmFtZS52YWx1ZS5zcGxpdCgnXycpWzBdXSA9IGZyYWdtZW50O1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVwbGFjZUZpZWxkU2VsZWN0aW9uID0gKHNlbGVjdGlvbjogRmllbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZCA9IHNlbGVjdGlvbiBhcyBGaWVsZE5vZGU7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBnZXRBbGlhc09yTmFtZShmaWVsZCk7XG4gICAgICBjb25zdCBmcmFnbWVudCA9IGZyYWdtZW50TWFwW2ZpZWxkTmFtZV07XG5cbiAgICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBNYWtlIHRoZSBlbnRpcmUgc2VsZWN0aW9uIG9mIHRoZSBtdXRhdGlvbiBhIHNwcmVhZCBvZlxuICAgICAgLy8gYSBmcmFnbWVudCB1c2luZyB0aGUgc2FtZSBuYW1lIGFzIHRoZSBtdXRhdGlvbiBmaWVsZC5cbiAgICAgIC8vIFdlIHdpbGwgYWxzbyByZW5hbWUgdGhlIGZyYWdtZW50IHRvIHRoZSBzYW1lIG5hbWUuXG4gICAgICBmaWVsZC5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIC4uLmZyYWdtZW50U3ByZWFkQXN0U2VsZWN0aW9uLFxuICAgICAgICAgIG5hbWU6IGFzdC5uYW1lKGZyYWdtZW50Lm5hbWUudmFsdWUpLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9O1xuXG4gICAgbXV0YXRpb25Ob2RlLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zLmZvckVhY2goKHNlbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKHNlbGVjdGlvbi5raW5kID09PSAnRmllbGQnKSB7XG4gICAgICAgIHJlcGxhY2VGaWVsZFNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiB7XG4gICAgICAgIC4uLm11dGF0aW9uRG9jLFxuICAgICAgICBkZWZpbml0aW9uczogW1xuICAgICAgICAgIC8vIFJlbW92ZSBhbGwgZXhpc3RpbmcgZnJhZ21lbnRzXG4gICAgICAgICAgLi4ubXV0YXRpb25Eb2MuZGVmaW5pdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgKGRlZikgPT4gZGVmLmtpbmQgIT09ICdGcmFnbWVudERlZmluaXRpb24nXG4gICAgICAgICAgKSxcbiAgICAgICAgICAuLi5mcmFnbWVudHMuZGVmaW5pdGlvbnMsXG4gICAgICAgIF0sXG4gICAgICB9IGFzIFR5cGVkRG9jdW1lbnROb2RlPFRSZXN1bHQ+LFxuICAgICAgdmFyaWFibGVzOiB0aGlzLnZhcmlhYmxlcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -97,12 +97,24 @@ let QueryProcessorService = class QueryProcessorService {
|
|
|
97
97
|
getKeyId: ({ field }) => field.sharedKey.id,
|
|
98
98
|
}),
|
|
99
99
|
]));
|
|
100
|
+
this.registerProcessor('SharedScenarioReceiverDirectoryNode', common.series([
|
|
101
|
+
common.makeDecryptionProcessor({
|
|
102
|
+
cipherFieldName: 'sharedCipherData',
|
|
103
|
+
getKeyId: ({ field }) => field.sharedKey.id,
|
|
104
|
+
}),
|
|
105
|
+
]));
|
|
100
106
|
this.registerProcessor('ScenarioReceiverFileNode', common.series([
|
|
101
107
|
common.makeDecryptionProcessor({
|
|
102
108
|
cipherFieldName: 'sharedCipherData',
|
|
103
109
|
getKeyId: ({ field }) => field.sharedKey.id,
|
|
104
110
|
}),
|
|
105
111
|
]));
|
|
112
|
+
this.registerProcessor('SharedScenarioReceiverFileNode', common.series([
|
|
113
|
+
common.makeDecryptionProcessor({
|
|
114
|
+
cipherFieldName: 'sharedCipherData',
|
|
115
|
+
getKeyId: ({ field }) => field.sharedKey.id,
|
|
116
|
+
}),
|
|
117
|
+
]));
|
|
106
118
|
this.registerProcessor('SharedScenarioReceiverNode', common.series([
|
|
107
119
|
common.makeDecryptionProcessor({
|
|
108
120
|
cipherFieldName: 'sharedCipherData',
|
|
@@ -282,4 +294,4 @@ QueryProcessorService = __decorate([
|
|
|
282
294
|
})
|
|
283
295
|
], QueryProcessorService);
|
|
284
296
|
export { QueryProcessorService };
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvYXBpL3F1ZXJ5LXByb2Nlc3Nvci9xdWVyeS1wcm9jZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHVCQUF1QixHQU14QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUV4RixTQUFTLFVBQVUsQ0FBQyxPQUF5QixFQUFFLEdBQVc7SUFDeEQsdUNBQ0ssT0FBTyxLQUNWLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFDNUI7QUFDSixDQUFDO0lBUVkscUJBQXFCLFNBQXJCLHFCQUFxQjtJQTRIaEMsWUFDVSxNQUFjLEVBQ2QsVUFBc0IsRUFDdEIsTUFBK0IsRUFDL0IsYUFBOEM7UUFIOUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWlDO1FBL0gvQyxhQUFRLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLGVBQVUs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LFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUE1Qm9CLE1BQU07WUFDbEIsVUFBVTtZQUtqQix1QkFBdUI7WUFRaEIsK0JBQStCOztBQWUzQixxQkFBcUI7SUFOakMsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLHFCQUFxQixDQXVWakM7U0F2VlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtjQmFkTG9naWNFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi8uLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgbWFwVmFsdWVzTWF5QXN5bmMsIHByb21pc2VBbGxNYXlBc3luYyB9IGZyb20gJy4uLy4uL19jb21tb24vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29tbW9uUHJvY2Vzc29yc1NlcnZpY2UsXG4gIERlZmF1bHRQcm9jZXNzb3JPcHRpb25zLFxuICAvLyBGaWVsZENvbnRleHQsXG4gIFByb2Nlc3NvckNhbGxiYWNrLFxuICBQcm9jZXNzb3JDYWxsYmFja1BhcmFtcyxcbiAgUHJvY2Vzc29yQ29udGV4dCxcbiAgUHJvY2Vzc29yT3B0aW9ucyxcbn0gZnJvbSAnLi9jb21tb24tcHJvY2Vzc29ycy5zZXJ2aWNlJztcbmltcG9ydCB7IFRwUGFzc3dvcmRSZXNldFByb2Nlc3NvclNlcnZpY2UgfSBmcm9tICcuL3RwLXBhc3N3b3JkLXJlc2V0LXByb2Nlc3Nvci5zZXJ2aWNlJztcblxuZnVuY3Rpb24gZXh0ZW5kUGF0aChjb250ZXh0OiBQcm9jZXNzb3JDb250ZXh0LCBrZXk6IHN0cmluZyk6IFByb2Nlc3NvckNvbnRleHQge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgcGF0aDogWy4uLmNvbnRleHQucGF0aCwga2V5XSxcbiAgfTtcbn1cblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UHJvY2Vzc29yU2VydmljZSB7XG4gIHJlYWRvbmx5IFRZUEVOQU1FID0gJ19fdHlwZW5hbWUnO1xuICBwcml2YXRlIHByb2Nlc3NvcnM6IHsgW2tleTogc3RyaW5nXTogUHJvY2Vzc29yQ2FsbGJhY2sgfSA9IHt9O1xuXG4gIGFzeW5jIHByb2Nlc3NRdWVyeShcbiAgICBmaWVsZHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gICAgb3B0aW9uczogUHJvY2Vzc29yT3B0aW9uc1xuICApIHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgLi4uRGVmYXVsdFByb2Nlc3Nvck9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBUaGUgdG9wIGxldmVsIHF1ZXJ5IGRvZXMgbm90IGhhdmUgX190eXBlbmFtZVxuICAgIGNvbnN0IHJldCA9IG1hcFZhbHVlc01heUFzeW5jKGZpZWxkcywgKGZpZWxkLCBrZXkpID0+XG4gICAgICB0aGlzLnByb2Nlc3NGaWVsZCh7XG4gICAgICAgIGZpZWxkLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgcGF0aDogW2tleV0sXG4gICAgICAgICAgcHJvY2Vzc0NoaWxkcmVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgfSlcbiAgICApO1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvLyBFaXRoZXIgcmV0dXJucyBhIFByb21pc2UsIG9yIGEgdmFsdWUuXG4gIC8vIFRoZSBQcm9taXNlPGFueT4gdHlwZSBpcyByZWR1bmRhbnQgYnV0IGl0IHNob3dzIHRoYXQgaXQgY2FuIHJldHVybiBhIHByb21pc2VcbiAgLy8gV2UgYXJlIG5vdCB1c2luZyBhc3luYyBvbiB0aGUgZnVuY3Rpb24gYmVjYXVzZSB3ZSBkb24ndCB3YW50IGF1dG8gcHJvbW90aW9uIGludG8gYSBQcm9taXNlLCB3aGljaFxuICAvLyBhbHdheXMgZGVmZXIgZXhlY3V0aW9uIGludG8gdGhlIGV2ZW50IGxvb3BzLiBJdCBpcyBjb3N0bHkgYW5kIHVubmVjZXNzYXJ5IGZvciBvYmplY3RzXG4gIC8vIHdpdGggb25seSBuYXRpdmUgZGF0YSB0eXBlcy5cbiAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzRmllbGQoe1xuICAgIGZpZWxkLFxuICAgIGNvbnRleHQsXG4gICAgb3B0aW9ucyxcbiAgfTogUHJvY2Vzc29yQ2FsbGJhY2tQYXJhbXMpIHtcbiAgICBpZiAoZmllbGQ/LnRoZW4pIHtcbiAgICAgIHRocm93IG5ldyBLY0JhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICAncHJvY2Vzc0ZpZWxkKCkgc2hvdWxkIG5vdCByZWNlaXZlIHRoZW5hYmxlLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhcmFtczogUHJvY2Vzc29yQ2FsbGJhY2tQYXJhbXMgPSB7XG4gICAgICBmaWVsZCxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgLy8gUHJvY2Vzc29ycyBtb2RpZmllcyB0aGlzIGZpZWxkIHRvIGNvbW11bmljYXRlIGJhY2sgdG8gdGhlIGNhbGxlci5cbiAgICAgICAgcHJvY2Vzc0NoaWxkcmVuOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIFRPRE8gYWxsb3cgcmVnaXN0ZXJpbmcgcHJvY2Vzc29ycyBieSBmaWVsZCBuYW1lIHNvIHdlIGNhbiBwcm9jZXNzIHByaW1pdGl2ZSBmaWVsZHMgYXMgd2VsbC5cbiAgICAvLyBXZSBoYXZlIGNvbW1vbiBmaWVsZHMgbGlrZSBcImNyZWF0ZWRcIiwgXCJtb2RpZmllZFwiIHRoYXQgYmUgcHJvY2Vzc2VkIGJhc2VkIG9uIG5hbWUuXG4gICAgaWYgKGZpZWxkW3RoaXMuVFlQRU5BTUVdKSB7XG4gICAgICAvLyBJdCdzIGEgY3VzdG9tIG9iamVjdCB0eXBlXG4gICAgICBjb25zdCBwcm9jZXNzb3IgPSB0aGlzLnByb2Nlc3NvcnNbZmllbGRbdGhpcy5UWVBFTkFNRV1dO1xuICAgICAgaWYgKHByb2Nlc3Nvcikge1xuICAgICAgICAvLyBSZXR1cm5zIGVpdGhlciBhIHZhbHVlIG9yIGEgcHJvbWlzZS5cbiAgICAgICAgZmllbGQgPSBwcm9jZXNzb3IobmV3UGFyYW1zKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJvY2Vzc0NoaWxkcmVuID0gKGNoaWxkRmllbGQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbnRleHQucHJvY2Vzc0NoaWxkcmVuICYmXG4gICAgICAgICAgY2hpbGRGaWVsZCAhPT0gbnVsbCAmJlxuICAgICAgICAgIHR5cGVvZiBjaGlsZEZpZWxkID09PSAnb2JqZWN0J1xuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gbWFwVmFsdWVzTWF5QXN5bmMoY2hpbGRGaWVsZCwgKHgsIGtleSkgPT5cbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpZWxkKHtcbiAgICAgICAgICAgICAgZmllbGQ6IHgsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IGV4dGVuZFBhdGgoY29udGV4dCwga2V5KSxcbiAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGRGaWVsZDtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gS2VlcCBwcm9jZXNzaW5nIGFsbCBjaGlsZCBmaWVsZHNcbiAgICAgIGlmIChmaWVsZC50aGVuKSB7XG4gICAgICAgIC8vIFdhaXQgZm9yIGZpZWxkIHRvIHJlc29sdmVcbiAgICAgICAgZmllbGQgPSBmaWVsZC50aGVuKChyZXNvbHZlZEZpZWxkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3NDaGlsZHJlbihyZXNvbHZlZEZpZWxkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGaWVsZCBpcyBhbHJlYWR5IHJlc29sdmVkXG4gICAgICAgIGZpZWxkID0gcHJvY2Vzc0NoaWxkcmVuKGZpZWxkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gS2VlcCBwcm9jZXNzaW5nIGFsbCBjaGlsZCBmaWVsZHNcbiAgICAgIGlmIChjb250ZXh0LnByb2Nlc3NDaGlsZHJlbikge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZCA9IHByb21pc2VBbGxNYXlBc3luYyhcbiAgICAgICAgICAgIChmaWVsZCBhcyBBcnJheTxhbnk+KS5tYXAoKHgsIGkpID0+XG4gICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpZWxkKHtcbiAgICAgICAgICAgICAgICBmaWVsZDogeCxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBleHRlbmRQYXRoKGNvbnRleHQsIGkudG9TdHJpbmcoKSksXG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclByb2Nlc3NvcihuYW1lOiBzdHJpbmcsIHByb2Nlc3NvcjogUHJvY2Vzc29yQ2FsbGJhY2spIHtcbiAgICBpZiAodGhpcy5wcm9jZXNzb3JzW25hbWVdKSB7XG4gICAgICB0aHJvdyBuZXcgS2NCYWRMb2dpY0V4Y2VwdGlvbihcbiAgICAgICAgYFByb2Nlc3NvciBmb3IgZmllbGQgJHtuYW1lfSBhbHJlYWR5IGV4aXN0cy5gXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnByb2Nlc3NvcnNbbmFtZV0gPSBwcm9jZXNzb3I7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGNvbW1vbjogQ29tbW9uUHJvY2Vzc29yc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cHByUHJvY2Vzc29yOiBUcFBhc3N3b3JkUmVzZXRQcm9jZXNzb3JTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnRGlyZWN0b3J5Tm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VKc29uUGFyc2VQcm9jZXNzb3Ioe1xuICAgICAgICAgIHBsYWluRmllbGROYW1lOiAncGxhaW5NZXRhJyxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnY2lwaGVyTWV0YScsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnRmlsZVN0YXRlTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VKc29uUGFyc2VQcm9jZXNzb3Ioe1xuICAgICAgICAgIHBsYWluRmllbGROYW1lOiAncGxhaW5NZXRhJyxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnY2lwaGVyTWV0YScsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnQ29udGFjdENhcmROb2RlJyxcbiAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ2NpcGhlckRhdGEnLFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2hhcmVkQ29udGFjdENhcmROb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZUpzb25QYXJzZVByb2Nlc3Nvcih7XG4gICAgICAgICAgcGxhaW5GaWVsZE5hbWU6ICdvd25lclBsYWluRGF0YScsXG4gICAgICAgIH0pLFxuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ293bmVyQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaWVsZC5vd25lcktleS5pZDtcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdyZWNlaXZlckNpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQucmVjZWl2ZXJLZXkuaWQ7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdUcFBhc3N3b3JkUmVzZXROb2RlJyxcbiAgICAgIHRoaXMudHBwclByb2Nlc3Nvci5tYWtlVHBQYXNzd29yZFJlc2V0Tm9kZVByb2Nlc3NvcigpXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NoYXJlZFRwQ2xhaW1BcHByb3Zlck5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyQXBwcm92YWxEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXknLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnVHBBc3NlbWJseUFzQXBwcm92ZXJOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2NlbmFyaW9Ob2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3N1YmplY3RDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc3ViamVjdEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb1JlY2VpdmVyTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2NlbmFyaW9SZWNlaXZlckZpbGVOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2hhcmVkU2NlbmFyaW9SZWNlaXZlck5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb0FwcHJvdmVyQXNzZW1ibHlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ2Fzc2VtYmx5Q2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLmFzc2VtYmx5S2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvQXBwcm92ZXJTdWJBc3NlbWJseU5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc3ViamVjdENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zdWJqZWN0S2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvQXBwcm92ZXJOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckFwcHJvdmFsRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5JyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvQ2xhaW1hbnROb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnVHBBc3NlbWJseU5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc3ViamVjdENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zdWJqZWN0S2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1RwU3ViQXNzZW1ibHlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3N1YmplY3RDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc3ViamVjdEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdOb3RpZmljYXRpb25Ob2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZUpzb25QYXJzZVByb2Nlc3Nvcih7XG4gICAgICAgICAgcGxhaW5GaWVsZE5hbWU6ICdwbGFpbk1ldGEnLFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VKc29uUGFyc2VQcm9jZXNzb3Ioe1xuICAgICAgICAgIHBsYWluRmllbGROYW1lOiAncGxhaW5EYXRhJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdVc2VyTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VKc29uUGFyc2VQcm9jZXNzb3Ioe1xuICAgICAgICAgIHBsYWluRmllbGROYW1lOiAnY29uZmlnJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdSZW1pbmRlck5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlSnNvblBhcnNlUHJvY2Vzc29yKHtcbiAgICAgICAgICBwbGFpbkZpZWxkTmFtZTogJ3BsYWluJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvYXBpL3F1ZXJ5LXByb2Nlc3Nvci9xdWVyeS1wcm9jZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHVCQUF1QixHQU14QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUV4RixTQUFTLFVBQVUsQ0FBQyxPQUF5QixFQUFFLEdBQVc7SUFDeEQsdUNBQ0ssT0FBTyxLQUNWLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFDNUI7QUFDSixDQUFDO0lBUVkscUJBQXFCLFNBQXJCLHFCQUFxQjtJQTRIaEMsWUFDVSxNQUFjLEVBQ2QsVUFBc0IsRUFDdEIsTUFBK0IsRUFDL0IsYUFBOEM7UUFIOUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWlDO1FBL0gvQyxhQUFRLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLGVBQVUs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QUUsQ0FDakMsSUFBSSxDQUFDLFlBQVksQ0FBQzs0QkFDaEIsS0FBSyxFQUFFLENBQUM7NEJBQ1IsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUMxQyxPQUFPO3lCQUNSLENBQUMsQ0FDSCxDQUNGLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUFBO0lBRU8saUJBQWlCLENBQUMsSUFBWSxFQUFFLFNBQTRCO1FBQ2xFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixNQUFNLElBQUksbUJBQW1CLENBQzNCLHVCQUF1QixJQUFJLGtCQUFrQixDQUM5QyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0NBK09GLENBQUE7OztZQTVXQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTVCb0IsTUFBTTtZQUNsQixVQUFVO1lBS2pCLHVCQUF1QjtZQVFoQiwrQkFBK0I7O0FBZTNCLHFCQUFxQjtJQU5qQyxpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcscUJBQXFCLENBeVdqQztTQXpXWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2NCYWRMb2dpY0V4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uLy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQgeyBtYXBWYWx1ZXNNYXlBc3luYywgcHJvbWlzZUFsbE1heUFzeW5jIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi91dGlscyc7XG5pbXBvcnQge1xuICBDb21tb25Qcm9jZXNzb3JzU2VydmljZSxcbiAgRGVmYXVsdFByb2Nlc3Nvck9wdGlvbnMsXG4gIC8vIEZpZWxkQ29udGV4dCxcbiAgUHJvY2Vzc29yQ2FsbGJhY2ssXG4gIFByb2Nlc3NvckNhbGxiYWNrUGFyYW1zLFxuICBQcm9jZXNzb3JDb250ZXh0LFxuICBQcm9jZXNzb3JPcHRpb25zLFxufSBmcm9tICcuL2NvbW1vbi1wcm9jZXNzb3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHBQYXNzd29yZFJlc2V0UHJvY2Vzc29yU2VydmljZSB9IGZyb20gJy4vdHAtcGFzc3dvcmQtcmVzZXQtcHJvY2Vzc29yLnNlcnZpY2UnO1xuXG5mdW5jdGlvbiBleHRlbmRQYXRoKGNvbnRleHQ6IFByb2Nlc3NvckNvbnRleHQsIGtleTogc3RyaW5nKTogUHJvY2Vzc29yQ29udGV4dCB7XG4gIHJldHVybiB7XG4gICAgLi4uY29udGV4dCxcbiAgICBwYXRoOiBbLi4uY29udGV4dC5wYXRoLCBrZXldLFxuICB9O1xufVxuXG5AUnVuT3V0c2lkZUFuZ3VsYXIoe1xuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcbn0pXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlQcm9jZXNzb3JTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgVFlQRU5BTUUgPSAnX190eXBlbmFtZSc7XG4gIHByaXZhdGUgcHJvY2Vzc29yczogeyBba2V5OiBzdHJpbmddOiBQcm9jZXNzb3JDYWxsYmFjayB9ID0ge307XG5cbiAgYXN5bmMgcHJvY2Vzc1F1ZXJ5KFxuICAgIGZpZWxkczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICBvcHRpb25zOiBQcm9jZXNzb3JPcHRpb25zXG4gICkge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5EZWZhdWx0UHJvY2Vzc29yT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIFRoZSB0b3AgbGV2ZWwgcXVlcnkgZG9lcyBub3QgaGF2ZSBfX3R5cGVuYW1lXG4gICAgY29uc3QgcmV0ID0gbWFwVmFsdWVzTWF5QXN5bmMoZmllbGRzLCAoZmllbGQsIGtleSkgPT5cbiAgICAgIHRoaXMucHJvY2Vzc0ZpZWxkKHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBwYXRoOiBba2V5XSxcbiAgICAgICAgICBwcm9jZXNzQ2hpbGRyZW46IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8vIEVpdGhlciByZXR1cm5zIGEgUHJvbWlzZSwgb3IgYSB2YWx1ZS5cbiAgLy8gVGhlIFByb21pc2U8YW55PiB0eXBlIGlzIHJlZHVuZGFudCBidXQgaXQgc2hvd3MgdGhhdCBpdCBjYW4gcmV0dXJuIGEgcHJvbWlzZVxuICAvLyBXZSBhcmUgbm90IHVzaW5nIGFzeW5jIG9uIHRoZSBmdW5jdGlvbiBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYXV0byBwcm9tb3Rpb24gaW50byBhIFByb21pc2UsIHdoaWNoXG4gIC8vIGFsd2F5cyBkZWZlciBleGVjdXRpb24gaW50byB0aGUgZXZlbnQgbG9vcHMuIEl0IGlzIGNvc3RseSBhbmQgdW5uZWNlc3NhcnkgZm9yIG9iamVjdHNcbiAgLy8gd2l0aCBvbmx5IG5hdGl2ZSBkYXRhIHR5cGVzLlxuICBwcml2YXRlIGFzeW5jIHByb2Nlc3NGaWVsZCh7XG4gICAgZmllbGQsXG4gICAgY29udGV4dCxcbiAgICBvcHRpb25zLFxuICB9OiBQcm9jZXNzb3JDYWxsYmFja1BhcmFtcykge1xuICAgIGlmIChmaWVsZD8udGhlbikge1xuICAgICAgdGhyb3cgbmV3IEtjQmFkTG9naWNFeGNlcHRpb24oXG4gICAgICAgICdwcm9jZXNzRmllbGQoKSBzaG91bGQgbm90IHJlY2VpdmUgdGhlbmFibGUuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGFyYW1zOiBQcm9jZXNzb3JDYWxsYmFja1BhcmFtcyA9IHtcbiAgICAgIGZpZWxkLFxuICAgICAgY29udGV4dDoge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAvLyBQcm9jZXNzb3JzIG1vZGlmaWVzIHRoaXMgZmllbGQgdG8gY29tbXVuaWNhdGUgYmFjayB0byB0aGUgY2FsbGVyLlxuICAgICAgICBwcm9jZXNzQ2hpbGRyZW46IHRydWUsXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLy8gVE9ETyBhbGxvdyByZWdpc3RlcmluZyBwcm9jZXNzb3JzIGJ5IGZpZWxkIG5hbWUgc28gd2UgY2FuIHByb2Nlc3MgcHJpbWl0aXZlIGZpZWxkcyBhcyB3ZWxsLlxuICAgIC8vIFdlIGhhdmUgY29tbW9uIGZpZWxkcyBsaWtlIFwiY3JlYXRlZFwiLCBcIm1vZGlmaWVkXCIgdGhhdCBiZSBwcm9jZXNzZWQgYmFzZWQgb24gbmFtZS5cbiAgICBpZiAoZmllbGRbdGhpcy5UWVBFTkFNRV0pIHtcbiAgICAgIC8vIEl0J3MgYSBjdXN0b20gb2JqZWN0IHR5cGVcbiAgICAgIGNvbnN0IHByb2Nlc3NvciA9IHRoaXMucHJvY2Vzc29yc1tmaWVsZFt0aGlzLlRZUEVOQU1FXV07XG4gICAgICBpZiAocHJvY2Vzc29yKSB7XG4gICAgICAgIC8vIFJldHVybnMgZWl0aGVyIGEgdmFsdWUgb3IgYSBwcm9taXNlLlxuICAgICAgICBmaWVsZCA9IHByb2Nlc3NvcihuZXdQYXJhbXMpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm9jZXNzQ2hpbGRyZW4gPSAoY2hpbGRGaWVsZCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY29udGV4dC5wcm9jZXNzQ2hpbGRyZW4gJiZcbiAgICAgICAgICBjaGlsZEZpZWxkICE9PSBudWxsICYmXG4gICAgICAgICAgdHlwZW9mIGNoaWxkRmllbGQgPT09ICdvYmplY3QnXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBtYXBWYWx1ZXNNYXlBc3luYyhjaGlsZEZpZWxkLCAoeCwga2V5KSA9PlxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmllbGQoe1xuICAgICAgICAgICAgICBmaWVsZDogeCxcbiAgICAgICAgICAgICAgY29udGV4dDogZXh0ZW5kUGF0aChjb250ZXh0LCBrZXkpLFxuICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBjaGlsZEZpZWxkO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAvLyBLZWVwIHByb2Nlc3NpbmcgYWxsIGNoaWxkIGZpZWxkc1xuICAgICAgaWYgKGZpZWxkLnRoZW4pIHtcbiAgICAgICAgLy8gV2FpdCBmb3IgZmllbGQgdG8gcmVzb2x2ZVxuICAgICAgICBmaWVsZCA9IGZpZWxkLnRoZW4oKHJlc29sdmVkRmllbGQpID0+IHtcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzc0NoaWxkcmVuKHJlc29sdmVkRmllbGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZpZWxkIGlzIGFscmVhZHkgcmVzb2x2ZWRcbiAgICAgICAgZmllbGQgPSBwcm9jZXNzQ2hpbGRyZW4oZmllbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBLZWVwIHByb2Nlc3NpbmcgYWxsIGNoaWxkIGZpZWxkc1xuICAgICAgaWYgKGNvbnRleHQucHJvY2Vzc0NoaWxkcmVuKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkKSkge1xuICAgICAgICAgIGZpZWxkID0gcHJvbWlzZUFsbE1heUFzeW5jKFxuICAgICAgICAgICAgKGZpZWxkIGFzIEFycmF5PGFueT4pLm1hcCgoeCwgaSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmllbGQoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiB4LFxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IGV4dGVuZFBhdGgoY29udGV4dCwgaS50b1N0cmluZygpKSxcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUHJvY2Vzc29yKG5hbWU6IHN0cmluZywgcHJvY2Vzc29yOiBQcm9jZXNzb3JDYWxsYmFjaykge1xuICAgIGlmICh0aGlzLnByb2Nlc3NvcnNbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBLY0JhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICBgUHJvY2Vzc29yIGZvciBmaWVsZCAke25hbWV9IGFscmVhZHkgZXhpc3RzLmBcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMucHJvY2Vzc29yc1tuYW1lXSA9IHByb2Nlc3NvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbW9uOiBDb21tb25Qcm9jZXNzb3JzU2VydmljZSxcbiAgICBwcml2YXRlIHRwcHJQcm9jZXNzb3I6IFRwUGFzc3dvcmRSZXNldFByb2Nlc3NvclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdEaXJlY3RvcnlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZUpzb25QYXJzZVByb2Nlc3Nvcih7XG4gICAgICAgICAgcGxhaW5GaWVsZE5hbWU6ICdwbGFpbk1ldGEnLFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdjaXBoZXJNZXRhJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdGaWxlU3RhdGVOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZUpzb25QYXJzZVByb2Nlc3Nvcih7XG4gICAgICAgICAgcGxhaW5GaWVsZE5hbWU6ICdwbGFpbk1ldGEnLFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdjaXBoZXJNZXRhJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdDb250YWN0Q2FyZE5vZGUnLFxuICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnY2lwaGVyRGF0YScsXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTaGFyZWRDb250YWN0Q2FyZE5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlSnNvblBhcnNlUHJvY2Vzc29yKHtcbiAgICAgICAgICBwbGFpbkZpZWxkTmFtZTogJ293bmVyUGxhaW5EYXRhJyxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnb3duZXJDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkLm93bmVyS2V5LmlkO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3JlY2VpdmVyQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaWVsZC5yZWNlaXZlcktleS5pZDtcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1RwUGFzc3dvcmRSZXNldE5vZGUnLFxuICAgICAgdGhpcy50cHByUHJvY2Vzc29yLm1ha2VUcFBhc3N3b3JkUmVzZXROb2RlUHJvY2Vzc29yKClcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2hhcmVkVHBDbGFpbUFwcHJvdmVyTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJBcHByb3ZhbERhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdUcEFzc2VtYmx5QXNBcHByb3Zlck5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb05vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc3ViamVjdENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zdWJqZWN0S2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvUmVjZWl2ZXJOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlRGVjcnlwdGlvblByb2Nlc3Nvcih7XG4gICAgICAgICAgY2lwaGVyRmllbGROYW1lOiAnc2hhcmVkQ2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTaGFyZWRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5Tm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NjZW5hcmlvUmVjZWl2ZXJGaWxlTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NoYXJlZFNjZW5hcmlvUmVjZWl2ZXJGaWxlTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1NoYXJlZFNjZW5hcmlvUmVjZWl2ZXJOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnU2NlbmFyaW9BcHByb3ZlckFzc2VtYmx5Tm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdhc3NlbWJseUNpcGhlckRhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5hc3NlbWJseUtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb0FwcHJvdmVyU3ViQXNzZW1ibHlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3N1YmplY3RDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc3ViamVjdEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb0FwcHJvdmVyTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJBcHByb3ZhbERhdGEnLFxuICAgICAgICAgIGdldEtleUlkOiAoeyBmaWVsZCB9KSA9PiBmaWVsZC5zaGFyZWRLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3NoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnNoYXJlZEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdTY2VuYXJpb0NsYWltYW50Tm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzaGFyZWRDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc2hhcmVkS2V5LmlkLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvY2Vzc29yKFxuICAgICAgJ1RwQXNzZW1ibHlOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZURlY3J5cHRpb25Qcm9jZXNzb3Ioe1xuICAgICAgICAgIGNpcGhlckZpZWxkTmFtZTogJ3N1YmplY3RDaXBoZXJEYXRhJyxcbiAgICAgICAgICBnZXRLZXlJZDogKHsgZmllbGQgfSkgPT4gZmllbGQuc3ViamVjdEtleS5pZCxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlclByb2Nlc3NvcihcbiAgICAgICdUcFN1YkFzc2VtYmx5Tm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VEZWNyeXB0aW9uUHJvY2Vzc29yKHtcbiAgICAgICAgICBjaXBoZXJGaWVsZE5hbWU6ICdzdWJqZWN0Q2lwaGVyRGF0YScsXG4gICAgICAgICAgZ2V0S2V5SWQ6ICh7IGZpZWxkIH0pID0+IGZpZWxkLnN1YmplY3RLZXkuaWQsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnTm90aWZpY2F0aW9uTm9kZScsXG4gICAgICBjb21tb24uc2VyaWVzKFtcbiAgICAgICAgY29tbW9uLm1ha2VKc29uUGFyc2VQcm9jZXNzb3Ioe1xuICAgICAgICAgIHBsYWluRmllbGROYW1lOiAncGxhaW5NZXRhJyxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbW1vbi5tYWtlSnNvblBhcnNlUHJvY2Vzc29yKHtcbiAgICAgICAgICBwbGFpbkZpZWxkTmFtZTogJ3BsYWluRGF0YScsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnVXNlck5vZGUnLFxuICAgICAgY29tbW9uLnNlcmllcyhbXG4gICAgICAgIGNvbW1vbi5tYWtlSnNvblBhcnNlUHJvY2Vzc29yKHtcbiAgICAgICAgICBwbGFpbkZpZWxkTmFtZTogJ2NvbmZpZycsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9jZXNzb3IoXG4gICAgICAnUmVtaW5kZXJOb2RlJyxcbiAgICAgIGNvbW1vbi5zZXJpZXMoW1xuICAgICAgICBjb21tb24ubWFrZUpzb25QYXJzZVByb2Nlc3Nvcih7XG4gICAgICAgICAgcGxhaW5GaWVsZE5hbWU6ICdwbGFpbicsXG4gICAgICAgIH0pLFxuICAgICAgXSlcbiAgICApO1xuICB9XG59XG4iXX0=
|