@doctorus/common 0.0.43 → 0.0.44
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Resource, ResourceCategory, MEDICAL_RESOURCES, PUBLIC_RESOURCES, CORE_RESOURCES, MEMBERSHIP_RESOURCES, CLINICAL_RESOURCES, DOCUMENT_RESOURCES, SETTINGS_RESOURCES, INTEGRATION_RESOURCES, SCHEDULING_RESOURCES, EXTERNAL_RESOURCES, SYSTEM_RESOURCES, isMedicalResource, isPublicResource, getResourceCategories, getResourcesByCategory, getResourcesByCategories, } from './resources';
|
|
2
2
|
export { Action, ActionAccess, getActionAccess, isReadAction, isWriteAction, getActionsByAccess } from './actions';
|
|
3
3
|
export { Operation, OPERATION, getResourceFromOperation, getActionFromOperation } from './operation';
|
|
4
|
-
export { getResourceActions, getAllResourceActions, getResourceActionsByAccess, getAllResourceActionsByAccess, generateOperationsForResources, } from './resource-actions';
|
|
4
|
+
export { getResourceActions, getAllResourceActions, getResourceActionsByAccess, getAllResourceActionsByAccess, getResourceOperationsByAccess, generateOperationsForResources, } from './resource-actions';
|
|
5
5
|
export * from './labels';
|
package/lib/operations/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.generateOperationsForResources = exports.getAllResourceActionsByAccess = exports.getResourceActionsByAccess = exports.getAllResourceActions = exports.getResourceActions = exports.getActionFromOperation = exports.getResourceFromOperation = exports.Operation = exports.getActionsByAccess = exports.isWriteAction = exports.isReadAction = exports.getActionAccess = exports.ActionAccess = exports.Action = exports.getResourcesByCategories = exports.getResourcesByCategory = exports.getResourceCategories = exports.isPublicResource = exports.isMedicalResource = exports.SYSTEM_RESOURCES = exports.EXTERNAL_RESOURCES = exports.SCHEDULING_RESOURCES = exports.INTEGRATION_RESOURCES = exports.SETTINGS_RESOURCES = exports.DOCUMENT_RESOURCES = exports.CLINICAL_RESOURCES = exports.MEMBERSHIP_RESOURCES = exports.CORE_RESOURCES = exports.PUBLIC_RESOURCES = exports.MEDICAL_RESOURCES = exports.ResourceCategory = exports.Resource = void 0;
|
|
17
|
+
exports.generateOperationsForResources = exports.getResourceOperationsByAccess = exports.getAllResourceActionsByAccess = exports.getResourceActionsByAccess = exports.getAllResourceActions = exports.getResourceActions = exports.getActionFromOperation = exports.getResourceFromOperation = exports.Operation = exports.getActionsByAccess = exports.isWriteAction = exports.isReadAction = exports.getActionAccess = exports.ActionAccess = exports.Action = exports.getResourcesByCategories = exports.getResourcesByCategory = exports.getResourceCategories = exports.isPublicResource = exports.isMedicalResource = exports.SYSTEM_RESOURCES = exports.EXTERNAL_RESOURCES = exports.SCHEDULING_RESOURCES = exports.INTEGRATION_RESOURCES = exports.SETTINGS_RESOURCES = exports.DOCUMENT_RESOURCES = exports.CLINICAL_RESOURCES = exports.MEMBERSHIP_RESOURCES = exports.CORE_RESOURCES = exports.PUBLIC_RESOURCES = exports.MEDICAL_RESOURCES = exports.ResourceCategory = exports.Resource = void 0;
|
|
18
18
|
var resources_1 = require("./resources");
|
|
19
19
|
Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return resources_1.Resource; } });
|
|
20
20
|
Object.defineProperty(exports, "ResourceCategory", { enumerable: true, get: function () { return resources_1.ResourceCategory; } });
|
|
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "getResourceActions", { enumerable: true, get: fu
|
|
|
50
50
|
Object.defineProperty(exports, "getAllResourceActions", { enumerable: true, get: function () { return resource_actions_1.getAllResourceActions; } });
|
|
51
51
|
Object.defineProperty(exports, "getResourceActionsByAccess", { enumerable: true, get: function () { return resource_actions_1.getResourceActionsByAccess; } });
|
|
52
52
|
Object.defineProperty(exports, "getAllResourceActionsByAccess", { enumerable: true, get: function () { return resource_actions_1.getAllResourceActionsByAccess; } });
|
|
53
|
+
Object.defineProperty(exports, "getResourceOperationsByAccess", { enumerable: true, get: function () { return resource_actions_1.getResourceOperationsByAccess; } });
|
|
53
54
|
Object.defineProperty(exports, "generateOperationsForResources", { enumerable: true, get: function () { return resource_actions_1.generateOperationsForResources; } });
|
|
54
55
|
__exportStar(require("./labels"), exports);
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3BlcmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQW1CcUI7QUFsQm5CLHFHQUFBLFFBQVEsT0FBQTtBQUNSLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGNBQWMsT0FBQTtBQUNkLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLGlIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLCtHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLGtIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFIQUFBLHdCQUF3QixPQUFBO0FBRTFCLHFDQUFtSDtBQUExRyxpR0FBQSxNQUFNLE9BQUE7QUFBRSx1R0FBQSxZQUFZLE9BQUE7QUFBRSwwR0FBQSxlQUFlLE9BQUE7QUFBRSx1R0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxhQUFhLE9BQUE7QUFBRSw2R0FBQSxrQkFBa0IsT0FBQTtBQUMvRix5Q0FBcUc7QUFBNUYsc0dBQUEsU0FBUyxPQUFBO0FBQWEscUhBQUEsd0JBQXdCLE9BQUE7QUFBRSxtSEFBQSxzQkFBc0IsT0FBQTtBQUMvRSx1REFPNEI7QUFOMUIsc0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIseUhBQUEscUJBQXFCLE9BQUE7QUFDckIsOEhBQUEsMEJBQTBCLE9BQUE7QUFDMUIsaUlBQUEsNkJBQTZCLE9BQUE7QUFDN0IsaUlBQUEsNkJBQTZCLE9BQUE7QUFDN0Isa0lBQUEsOEJBQThCLE9BQUE7QUFFaEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlQ2F0ZWdvcnksXG4gIE1FRElDQUxfUkVTT1VSQ0VTLFxuICBQVUJMSUNfUkVTT1VSQ0VTLFxuICBDT1JFX1JFU09VUkNFUyxcbiAgTUVNQkVSU0hJUF9SRVNPVVJDRVMsXG4gIENMSU5JQ0FMX1JFU09VUkNFUyxcbiAgRE9DVU1FTlRfUkVTT1VSQ0VTLFxuICBTRVRUSU5HU19SRVNPVVJDRVMsXG4gIElOVEVHUkFUSU9OX1JFU09VUkNFUyxcbiAgU0NIRURVTElOR19SRVNPVVJDRVMsXG4gIEVYVEVSTkFMX1JFU09VUkNFUyxcbiAgU1lTVEVNX1JFU09VUkNFUyxcbiAgaXNNZWRpY2FsUmVzb3VyY2UsXG4gIGlzUHVibGljUmVzb3VyY2UsXG4gIGdldFJlc291cmNlQ2F0ZWdvcmllcyxcbiAgZ2V0UmVzb3VyY2VzQnlDYXRlZ29yeSxcbiAgZ2V0UmVzb3VyY2VzQnlDYXRlZ29yaWVzLFxufSBmcm9tICcuL3Jlc291cmNlcyc7XG5leHBvcnQgeyBBY3Rpb24sIEFjdGlvbkFjY2VzcywgZ2V0QWN0aW9uQWNjZXNzLCBpc1JlYWRBY3Rpb24sIGlzV3JpdGVBY3Rpb24sIGdldEFjdGlvbnNCeUFjY2VzcyB9IGZyb20gJy4vYWN0aW9ucyc7XG5leHBvcnQgeyBPcGVyYXRpb24sIE9QRVJBVElPTiwgZ2V0UmVzb3VyY2VGcm9tT3BlcmF0aW9uLCBnZXRBY3Rpb25Gcm9tT3BlcmF0aW9uIH0gZnJvbSAnLi9vcGVyYXRpb24nO1xuZXhwb3J0IHtcbiAgZ2V0UmVzb3VyY2VBY3Rpb25zLFxuICBnZXRBbGxSZXNvdXJjZUFjdGlvbnMsXG4gIGdldFJlc291cmNlQWN0aW9uc0J5QWNjZXNzLFxuICBnZXRBbGxSZXNvdXJjZUFjdGlvbnNCeUFjY2VzcyxcbiAgZ2V0UmVzb3VyY2VPcGVyYXRpb25zQnlBY2Nlc3MsXG4gIGdlbmVyYXRlT3BlcmF0aW9uc0ZvclJlc291cmNlcyxcbn0gZnJvbSAnLi9yZXNvdXJjZS1hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGFiZWxzJztcbiJdfQ==
|
|
@@ -5,6 +5,7 @@ export declare function getResourceActions(resource: Resource): Action[];
|
|
|
5
5
|
export declare function getAllResourceActions(): Readonly<Record<Resource, Action[]>>;
|
|
6
6
|
export declare function getResourceActionsByAccess(resource: Resource, access: ActionAccess): Action[];
|
|
7
7
|
export declare function getAllResourceActionsByAccess(access: ActionAccess): Readonly<Record<Resource, Action[]>>;
|
|
8
|
+
export declare function getResourceOperationsByAccess(resource: Resource, access: ActionAccess): Operation[];
|
|
8
9
|
/**
|
|
9
10
|
* Generate valid operations for a list of resources based on a provided action list.
|
|
10
11
|
*
|
|
@@ -4,6 +4,7 @@ exports.getResourceActions = getResourceActions;
|
|
|
4
4
|
exports.getAllResourceActions = getAllResourceActions;
|
|
5
5
|
exports.getResourceActionsByAccess = getResourceActionsByAccess;
|
|
6
6
|
exports.getAllResourceActionsByAccess = getAllResourceActionsByAccess;
|
|
7
|
+
exports.getResourceOperationsByAccess = getResourceOperationsByAccess;
|
|
7
8
|
exports.generateOperationsForResources = generateOperationsForResources;
|
|
8
9
|
const actions_1 = require("./actions");
|
|
9
10
|
const operation_1 = require("./operation");
|
|
@@ -66,6 +67,11 @@ function getAllResourceActionsByAccess(access) {
|
|
|
66
67
|
});
|
|
67
68
|
return filtered;
|
|
68
69
|
}
|
|
70
|
+
function getResourceOperationsByAccess(resource, access) {
|
|
71
|
+
return RESOURCE_ACTIONS[resource]
|
|
72
|
+
.filter((action) => (0, actions_1.getActionAccess)(action) === access)
|
|
73
|
+
.map((action) => new operation_1.Operation(resource, action));
|
|
74
|
+
}
|
|
69
75
|
/**
|
|
70
76
|
* Generate valid operations for a list of resources based on a provided action list.
|
|
71
77
|
*
|
|
@@ -90,4 +96,4 @@ function generateOperationsForResources(resources, actions) {
|
|
|
90
96
|
});
|
|
91
97
|
return operations;
|
|
92
98
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3Jlc291cmNlLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQ0EsZ0RBRUM7QUFFRCxzREFFQztBQUVELGdFQUVDO0FBRUQsc0VBUUM7QUFPRCx3RUF1QkM7QUFqR0QsdUNBQWtFO0FBQ2xFLDJDQUF3QztBQUN4QywyQ0FBdUM7QUFFdkMsTUFBTSxnQkFBZ0IsR0FBK0I7SUFDbkQsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUMzRSxDQUFDLG9CQUFRLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLGdCQUFNLENBQUMsSUFBSSxFQUFFLGdCQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9GLENBQUMsb0JBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQyxvQkFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDdEUsQ0FBQyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDdkQsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUUs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O0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLFNBQXFCLEVBQUUsT0FBaUI7SUFDckYsTUFBTSxVQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRS9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUM3QixNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNwQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkFjY2VzcywgZ2V0QWN0aW9uQWNjZXNzIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xuXG5jb25zdCBSRVNPVVJDRV9BQ1RJT05TOiBSZWNvcmQ8UmVzb3VyY2UsIEFjdGlvbltdPiA9IHtcbiAgW1Jlc291cmNlLkFDQ09VTlRdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5UUkFOU0ZFUl9PV05FUlNISVBdLFxuICBbUmVzb3VyY2UuQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1NFVFRJTkdTXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uVVBEQVRFXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1NZTkNdOiBbQWN0aW9uLkVOQUJMRSwgQWN0aW9uLkRJU0FCTEUsIEFjdGlvbi5WSUVXXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1RPS0VOXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uUk9UQVRFXSxcbiAgW1Jlc291cmNlLkNPTlRBQ1RdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VUXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkRPQ1VNRU5UX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkdFTkVSQUxfU0VUVElOR1NdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5VUERBVEVdLFxuICBbUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5UXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uR0VORVJBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTE9DQVRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTUVBU1VSRV9NT0RFTF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5NRURJQ0FUSU9OX1NFQVJDSF06IFtBY3Rpb24uVklFV10sXG4gIFtSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlldOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLk1FRElDQUxfU0VSVklDRV06IFtcbiAgICBBY3Rpb24uVklFVyxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICAgIEFjdGlvbi5VUERBVEUsXG4gICAgQWN0aW9uLkRFTEVURSxcbiAgICBBY3Rpb24uQ0hFQ0tfSU4sXG4gICAgQWN0aW9uLkNPTVBMRVRFLFxuICAgIEFjdGlvbi5DQU5DRUwsXG4gICAgQWN0aW9uLkFTU0lHTixcbiAgXSxcbiAgW1Jlc291cmNlLk1FRElDQUxfU0VSVklDRV9OT1RFXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLk1FTUJFUlNISVBdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5JTlZJVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5SRU1PVkVdLFxuICBbUmVzb3VyY2UuT0JTRVJWQVRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUEFUSUVOVF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QQVRJRU5UX01FRElDQUxfTk9URV06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlRdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUEFUSUVOVF9QUk9QRVJUWV9NT0RFTF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QUkVGRVJFTkNFU106IFtBY3Rpb24uVklFVywgQWN0aW9uLlVQREFURV0sXG4gIFtSZXNvdXJjZS5QUkVTQ1JJUFRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUFJFU0NSSVBUSU9OX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLlJPTEVdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuVEFTS19UWVBFXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLlVQTE9BRF9ET0NVTUVOVF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5VU0VSXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uVVBEQVRFXSxcbiAgW1Jlc291cmNlLkFWQUlMQUJMRV9TTE9UU106IFtBY3Rpb24uVklFV10sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VBY3Rpb25zKHJlc291cmNlOiBSZXNvdXJjZSk6IEFjdGlvbltdIHtcbiAgcmV0dXJuIFsuLi5SRVNPVVJDRV9BQ1RJT05TW3Jlc291cmNlXV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxSZXNvdXJjZUFjdGlvbnMoKTogUmVhZG9ubHk8UmVjb3JkPFJlc291cmNlLCBBY3Rpb25bXT4+IHtcbiAgcmV0dXJuIFJFU09VUkNFX0FDVElPTlM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUFjdGlvbnNCeUFjY2VzcyhyZXNvdXJjZTogUmVzb3VyY2UsIGFjY2VzczogQWN0aW9uQWNjZXNzKTogQWN0aW9uW10ge1xuICByZXR1cm4gUkVTT1VSQ0VfQUNUSU9OU1tyZXNvdXJjZV0uZmlsdGVyKChhY3Rpb24pID0+IGdldEFjdGlvbkFjY2VzcyhhY3Rpb24pID09PSBhY2Nlc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsUmVzb3VyY2VBY3Rpb25zQnlBY2Nlc3MoYWNjZXNzOiBBY3Rpb25BY2Nlc3MpOiBSZWFkb25seTxSZWNvcmQ8UmVzb3VyY2UsIEFjdGlvbltdPj4ge1xuICBjb25zdCBmaWx0ZXJlZCA9IHt9IGFzIFJlY29yZDxSZXNvdXJjZSwgQWN0aW9uW10+O1xuXG4gIChPYmplY3QudmFsdWVzKFJlc291cmNlKSBhcyBSZXNvdXJjZVtdKS5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgIGZpbHRlcmVkW3Jlc291cmNlXSA9IFJFU09VUkNFX0FDVElPTlNbcmVzb3VyY2VdLmZpbHRlcigoYWN0aW9uKSA9PiBnZXRBY3Rpb25BY2Nlc3MoYWN0aW9uKSA9PT0gYWNjZXNzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGZpbHRlcmVkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIHZhbGlkIG9wZXJhdGlvbnMgZm9yIGEgbGlzdCBvZiByZXNvdXJjZXMgYmFzZWQgb24gYSBwcm92aWRlZCBhY3Rpb24gbGlzdC5cbiAqXG4gKiBPbmx5IGFjdGlvbnMgYWxsb3dlZCBmb3IgZWFjaCByZXNvdXJjZSBhcmUga2VwdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlT3BlcmF0aW9uc0ZvclJlc291cmNlcyhyZXNvdXJjZXM6IFJlc291cmNlW10sIGFjdGlvbnM6IEFjdGlvbltdKTogT3BlcmF0aW9uW10ge1xuICBjb25zdCBvcGVyYXRpb25zOiBPcGVyYXRpb25bXSA9IFtdO1xuICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcmVzb3VyY2VzLmZvckVhY2goKHJlc291cmNlKSA9PiB7XG4gICAgY29uc3QgYWxsb3dlZEFjdGlvbnMgPSBSRVNPVVJDRV9BQ1RJT05TW3Jlc291cmNlXTtcblxuICAgIGFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICBpZiAoIWFsbG93ZWRBY3Rpb25zLmluY2x1ZGVzKGFjdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBrZXkgPSBgJHtyZXNvdXJjZX06JHthY3Rpb259YDtcbiAgICAgIGlmIChzZWVuLmhhcyhrZXkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2Vlbi5hZGQoa2V5KTtcbiAgICAgIG9wZXJhdGlvbnMucHVzaChuZXcgT3BlcmF0aW9uKHJlc291cmNlLCBhY3Rpb24pKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG9wZXJhdGlvbnM7XG59XG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3Jlc291cmNlLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErQ0EsZ0RBRUM7QUFFRCxzREFFQztBQUVELGdFQUVDO0FBRUQsc0VBUUM7QUFFRCxzRUFJQztBQU9ELHdFQXVCQztBQXZHRCx1Q0FBa0U7QUFDbEUsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2QyxNQUFNLGdCQUFnQixHQUErQjtJQUNuRCxDQUFDLG9CQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLElBQUksRUFBRSxnQkFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQzNFLENBQUMsb0JBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0YsQ0FBQyxvQkFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLElBQUksRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUMxRCxDQUFDLG9CQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUN0RSxDQUFDLG9CQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLElBQUksRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxDQUFDLG9CQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLElBQUksRUFBRSxnQkFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLE1BQU0s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QUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkFjY2VzcywgZ2V0QWN0aW9uQWNjZXNzIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xuXG5jb25zdCBSRVNPVVJDRV9BQ1RJT05TOiBSZWNvcmQ8UmVzb3VyY2UsIEFjdGlvbltdPiA9IHtcbiAgW1Jlc291cmNlLkFDQ09VTlRdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5UUkFOU0ZFUl9PV05FUlNISVBdLFxuICBbUmVzb3VyY2UuQ0FMQ1VMQVRFRF9NRUFTVVJFX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1NFVFRJTkdTXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uVVBEQVRFXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1NZTkNdOiBbQWN0aW9uLkVOQUJMRSwgQWN0aW9uLkRJU0FCTEUsIEFjdGlvbi5WSUVXXSxcbiAgW1Jlc291cmNlLkNBTEVOREFSX1RPS0VOXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uUk9UQVRFXSxcbiAgW1Jlc291cmNlLkNPTlRBQ1RdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuRE9DVU1FTlRfTEFZT1VUXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkRPQ1VNRU5UX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLkdFTkVSQUxfU0VUVElOR1NdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5VUERBVEVdLFxuICBbUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5UXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uR0VORVJBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTE9DQVRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTUVBU1VSRV9NT0RFTF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5NRURJQ0FUSU9OX1NFQVJDSF06IFtBY3Rpb24uVklFV10sXG4gIFtSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlldOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLk1FRElDQUxfU0VSVklDRV06IFtcbiAgICBBY3Rpb24uVklFVyxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICAgIEFjdGlvbi5VUERBVEUsXG4gICAgQWN0aW9uLkRFTEVURSxcbiAgICBBY3Rpb24uQ0hFQ0tfSU4sXG4gICAgQWN0aW9uLkNPTVBMRVRFLFxuICAgIEFjdGlvbi5DQU5DRUwsXG4gICAgQWN0aW9uLkFTU0lHTixcbiAgXSxcbiAgW1Jlc291cmNlLk1FRElDQUxfU0VSVklDRV9OT1RFXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLk1FTUJFUlNISVBdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5JTlZJVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5SRU1PVkVdLFxuICBbUmVzb3VyY2UuT0JTRVJWQVRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUEFUSUVOVF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QQVRJRU5UX01FRElDQUxfTk9URV06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlRdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUEFUSUVOVF9QUk9QRVJUWV9NT0RFTF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLlVQREFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5QUkVGRVJFTkNFU106IFtBY3Rpb24uVklFVywgQWN0aW9uLlVQREFURV0sXG4gIFtSZXNvdXJjZS5QUkVTQ1JJUFRJT05dOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuUFJFU0NSSVBUSU9OX01PREVMXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLlJPTEVdOiBbQWN0aW9uLlZJRVcsIEFjdGlvbi5DUkVBVEUsIEFjdGlvbi5VUERBVEUsIEFjdGlvbi5ERUxFVEVdLFxuICBbUmVzb3VyY2UuVEFTS19UWVBFXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uQ1JFQVRFLCBBY3Rpb24uVVBEQVRFLCBBY3Rpb24uREVMRVRFXSxcbiAgW1Jlc291cmNlLlVQTE9BRF9ET0NVTUVOVF06IFtBY3Rpb24uVklFVywgQWN0aW9uLkNSRUFURSwgQWN0aW9uLkRFTEVURV0sXG4gIFtSZXNvdXJjZS5VU0VSXTogW0FjdGlvbi5WSUVXLCBBY3Rpb24uVVBEQVRFXSxcbiAgW1Jlc291cmNlLkFWQUlMQUJMRV9TTE9UU106IFtBY3Rpb24uVklFV10sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VBY3Rpb25zKHJlc291cmNlOiBSZXNvdXJjZSk6IEFjdGlvbltdIHtcbiAgcmV0dXJuIFsuLi5SRVNPVVJDRV9BQ1RJT05TW3Jlc291cmNlXV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxSZXNvdXJjZUFjdGlvbnMoKTogUmVhZG9ubHk8UmVjb3JkPFJlc291cmNlLCBBY3Rpb25bXT4+IHtcbiAgcmV0dXJuIFJFU09VUkNFX0FDVElPTlM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUFjdGlvbnNCeUFjY2VzcyhyZXNvdXJjZTogUmVzb3VyY2UsIGFjY2VzczogQWN0aW9uQWNjZXNzKTogQWN0aW9uW10ge1xuICByZXR1cm4gUkVTT1VSQ0VfQUNUSU9OU1tyZXNvdXJjZV0uZmlsdGVyKChhY3Rpb24pID0+IGdldEFjdGlvbkFjY2VzcyhhY3Rpb24pID09PSBhY2Nlc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsUmVzb3VyY2VBY3Rpb25zQnlBY2Nlc3MoYWNjZXNzOiBBY3Rpb25BY2Nlc3MpOiBSZWFkb25seTxSZWNvcmQ8UmVzb3VyY2UsIEFjdGlvbltdPj4ge1xuICBjb25zdCBmaWx0ZXJlZCA9IHt9IGFzIFJlY29yZDxSZXNvdXJjZSwgQWN0aW9uW10+O1xuXG4gIChPYmplY3QudmFsdWVzKFJlc291cmNlKSBhcyBSZXNvdXJjZVtdKS5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgIGZpbHRlcmVkW3Jlc291cmNlXSA9IFJFU09VUkNFX0FDVElPTlNbcmVzb3VyY2VdLmZpbHRlcigoYWN0aW9uKSA9PiBnZXRBY3Rpb25BY2Nlc3MoYWN0aW9uKSA9PT0gYWNjZXNzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGZpbHRlcmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VPcGVyYXRpb25zQnlBY2Nlc3MocmVzb3VyY2U6IFJlc291cmNlLCBhY2Nlc3M6IEFjdGlvbkFjY2Vzcyk6IE9wZXJhdGlvbltdIHtcbiAgcmV0dXJuIFJFU09VUkNFX0FDVElPTlNbcmVzb3VyY2VdXG4gICAgLmZpbHRlcigoYWN0aW9uKSA9PiBnZXRBY3Rpb25BY2Nlc3MoYWN0aW9uKSA9PT0gYWNjZXNzKVxuICAgIC5tYXAoKGFjdGlvbikgPT4gbmV3IE9wZXJhdGlvbihyZXNvdXJjZSwgYWN0aW9uKSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgdmFsaWQgb3BlcmF0aW9ucyBmb3IgYSBsaXN0IG9mIHJlc291cmNlcyBiYXNlZCBvbiBhIHByb3ZpZGVkIGFjdGlvbiBsaXN0LlxuICpcbiAqIE9ubHkgYWN0aW9ucyBhbGxvd2VkIGZvciBlYWNoIHJlc291cmNlIGFyZSBrZXB0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVPcGVyYXRpb25zRm9yUmVzb3VyY2VzKHJlc291cmNlczogUmVzb3VyY2VbXSwgYWN0aW9uczogQWN0aW9uW10pOiBPcGVyYXRpb25bXSB7XG4gIGNvbnN0IG9wZXJhdGlvbnM6IE9wZXJhdGlvbltdID0gW107XG4gIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICByZXNvdXJjZXMuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICBjb25zdCBhbGxvd2VkQWN0aW9ucyA9IFJFU09VUkNFX0FDVElPTlNbcmVzb3VyY2VdO1xuXG4gICAgYWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEFjdGlvbnMuaW5jbHVkZXMoYWN0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGtleSA9IGAke3Jlc291cmNlfToke2FjdGlvbn1gO1xuICAgICAgaWYgKHNlZW4uaGFzKGtleSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzZWVuLmFkZChrZXkpO1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKG5ldyBPcGVyYXRpb24ocmVzb3VyY2UsIGFjdGlvbikpO1xuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gb3BlcmF0aW9ucztcbn1cbiJdfQ==
|