occam-file-system 5.0.233 → 5.0.234
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.
|
@@ -54,7 +54,7 @@ function _interop_require_default(obj) {
|
|
|
54
54
|
default: obj
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
var first = _necessary.arrayUtilities.first, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath,
|
|
57
|
+
var first = _necessary.arrayUtilities.first, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, checkFileExists = _necessary.fileSystemUtilities.checkEntryExists;
|
|
58
58
|
function loadFile(path, projectsDirectoryPath) {
|
|
59
59
|
var file = null;
|
|
60
60
|
try {
|
|
@@ -275,4 +275,4 @@ function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath) {
|
|
|
275
275
|
return topmostDirectoryNames;
|
|
276
276
|
}
|
|
277
277
|
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzLCBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuaW1wb3J0IEZpbGUgZnJvbSBcIi4uL2ZpbGVcIjtcclxuaW1wb3J0IEZpbGVzIGZyb20gXCIuLi9maWxlc1wiO1xyXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi4vZW50cmllc1wiO1xyXG5pbXBvcnQgUHJvamVjdCBmcm9tIFwiLi4vcHJvamVjdFwiO1xyXG5pbXBvcnQgUmVsZWFzZSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xyXG5pbXBvcnQgUHJvamVjdHMgZnJvbSBcIi4uL3Byb2plY3RzXCI7XHJcbmltcG9ydCBSZWxlYXNlcyBmcm9tIFwiLi4vcmVsZWFzZXNcIjtcclxuaW1wb3J0IERpcmVjdG9yeSBmcm9tIFwiLi4vZGlyZWN0b3J5XCI7XHJcblxyXG5pbXBvcnQgeyBpc05hbWVIaWRkZW5OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XHJcbmltcG9ydCB7IGlzRmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XHJcbmltcG9ydCB7IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGVudFwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXMsXHJcbiAgICAgIHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCwgdG9wbW9zdERpcmVjdG9yeVBhdGhGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSwgY2hlY2tFbnRyeUV4aXN0czogY2hlY2tGaWxlRXhpc3RzIH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKTtcclxuXHJcbiAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBmaWxlID0gZW50cnlEaXJlY3RvcnkgP1xyXG4gICAgICAgICAgICAgICBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgc3VjY2VzcyA9IGZhbHNlO1xyXG5cclxuICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgZmlsZVBhdGgpLFxyXG4gICAgICAgIGZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMoYWJzb2x1dGVGaWxlUGF0aCk7XHJcblxyXG4gIGlmIChmaWxlRXhpc3RzKSB7XHJcbiAgICBjb25zdCBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGgsICAvLy9cclxuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgLy8vXHJcbiAgICB9XHJcblxyXG4gICAgc3VjY2VzcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc3VjY2VzcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlcyhwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGVzID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHBhdGhzTGVuZ3RoID0gcGF0aHMubGVuZ3RoO1xyXG5cclxuICAgIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZmlyc3RQYXRoID0gZmlyc3QocGF0aHMpLFxyXG4gICAgICAgICAgICBwYXRoID0gZmlyc3RQYXRoLCAvLy9cclxuICAgICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgICAgaWYgKHRvcG1vc3REaXJlY3RvcnlOYW1lICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgICAgZmlsZXMgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgICAgIGZpbGVzRnJvbVByb2plY3QocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVzRnJvbVJlbGVhc2UocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZXMoZmlsZXMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHN1Y2Nlc3NlcyA9IGZpbGVzLm1hcEZpbGUoKGZpbGUpID0+IHtcclxuICAgIGNvbnN0IHN1Y2Nlc3MgPSBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gc3VjY2Vzc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UocmVsZWFzZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlTmFtZSwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSByZWxlYXNlTmFtZSwgIC8vL1xyXG4gICAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3RGaWxlTmFtZSksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGpzb24sXHJcbiAgICAgICAgICBlbnRyaWVzO1xyXG5cclxuICAgICAgY29uc3QgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBqc29uID0gSlNPTi5wYXJzZShjb250ZW50KTtcclxuXHJcbiAgICAgICh7IGVudHJpZXMgfSA9IGpzb24pO1xyXG5cclxuICAgICAganNvbiAgPSBlbnRyaWVzOyAgLy8vXHJcblxyXG4gICAgICBlbnRyaWVzID0gRW50cmllcy5mcm9tSlNPTihqc29uKTtcclxuXHJcbiAgICAgIHJlbGVhc2UgPSBSZWxlYXNlLmZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgbGV0IHByb2plY3QgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHByb2plY3ROYW1lLCAgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHByb2plY3ROYW1lLCAvLy9cclxuICAgICAgICAgIGVudHJpZXMgPSBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgcHJvamVjdCA9IFByb2plY3QuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2VzKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlcztcclxuXHJcbiAgdHJ5IHtcclxuICAgIHJlbGVhc2VzID0gUmVsZWFzZXMuZnJvbU5vdGhpbmcoKTtcclxuXHJcbiAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWVzID0gdG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICAgIHJlbGVhc2VOYW1lcyA9IHRvcG1vc3RGaWxlTmFtZXM7ICAvLy9cclxuXHJcbiAgICByZWxlYXNlTmFtZXMuZm9yRWFjaCgocmVsZWFzZU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHJlbGVhc2VOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKHJlbGVhc2UgIT09IG51bGwpIHtcclxuICAgICAgICByZWxlYXNlcy5hZGRSZWxlYXNlKHJlbGVhc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcmVsZWFzZXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlbGVhc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3RzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdHM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBwcm9qZWN0cyA9IFByb2plY3RzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgICAgcHJvamVjdE5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzOyAvLy9cclxuXHJcbiAgICBwcm9qZWN0TmFtZXMuZm9yRWFjaCgocHJvamVjdE5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICAgIGlmIChwcm9qZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcHJvamVjdHMuYWRkUHJvamVjdChwcm9qZWN0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHByb2plY3RzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0cztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBzYXZlRmlsZXMsXHJcbiAgbG9hZFJlbGVhc2UsXHJcbiAgbG9hZFByb2plY3QsXHJcbiAgbG9hZFJlbGVhc2VzLFxyXG4gIGxvYWRQcm9qZWN0c1xyXG59O1xyXG5cclxuZnVuY3Rpb24gbG9hZEVudHJpZXModG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBjb25zdCBlbnRyaWVzID0gRW50cmllcy5mcm9tTm90aGluZygpLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gIHJldHVybiBlbnRyaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKSxcclxuICAgICAgICBkaXJlY3RvcnkgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBEaXJlY3RvcnkuZnJvbVBhdGgocGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgY29uc3QgcmVsZWFzZWQgPSBmYWxzZTtcclxuXHJcbiAgICBsZXQgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgIGZpbGUgPSBGaWxlLmZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkKHBhdGgsIGNvbnRlbnQsIHJlbGVhc2VkKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAvLy9cclxuICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21Qcm9qZWN0KHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGVzRnJvbVJlbGVhc2UocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IGZpbGVzID0gRmlsZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICBwYXRoc0xlbmd0aCA9IHBhdGhzLmxlbmd0aDtcclxuXHJcbiAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgY29uc3QgZmlyc3RQYXRoID0gZmlyc3QocGF0aHMpLFxyXG4gICAgICAgICAgcGF0aCA9IGZpcnN0UGF0aCwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCksXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgICAgY29uc3QgZmlsZSA9IHJlbGVhc2UuZ2V0RmlsZShwYXRoKTtcclxuXHJcbiAgICAgIGZpbGVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlcztcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoYWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgc3ViRW50cnlOYW1lcy5mb3JFYWNoKChzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyA9ICFsb2FkT25seVJlY29nbmlzZWRGaWxlcztcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3QgcGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0b3J5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHBhdGg7IC8vL1xyXG5cclxuICAgICAgICBpZiAobG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgIGVudHJpZXMuYWRkRGlyZWN0b3J5KGRpcmVjdG9yeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChlbnRyaWVzLCBkaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTsgLy8vXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyaWVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RmlsZU5hbWVzO1xyXG5cclxuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RmlsZU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3RGaWxlTmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeUZpbGUpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWUgPSBzdWJFbnRyeU5hbWU7ICAvLy9cclxuXHJcbiAgICAgICAgdG9wbW9zdEZpbGVOYW1lcy5wdXNoKHRvcG1vc3RGaWxlTmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIHRvcG1vc3RGaWxlTmFtZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3REaXJlY3RvcnlOYW1lcywgc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVN1YkVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKTtcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3Qgc3ViRW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5wdXNoKHRvcG1vc3REaXJlY3RvcnlOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkUmVsZWFzZSIsImxvYWRQcm9qZWN0IiwibG9hZFJlbGVhc2VzIiwibG9hZFByb2plY3RzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwidG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCIsInRvcG1vc3REaXJlY3RvcnlQYXRoRnJvbVBhdGgiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJ3cml0ZUZpbGUiLCJpc0VudHJ5RmlsZSIsInJlYWREaXJlY3RvcnkiLCJpc0VudHJ5RGlyZWN0b3J5IiwiY2hlY2tFbnRyeUV4aXN0cyIsImNoZWNrRmlsZUV4aXN0cyIsInBhdGgiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJmaWxlIiwidG9wbW9zdERpcmVjdG9yeU5hbWUiLCJhYnNvbHV0ZVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsImZpbGVGcm9tUHJvamVjdCIsImZpbGVGcm9tUmVsZWFzZSIsImVycm9yIiwic3VjY2VzcyIsImZpbGVQYXRoIiwiZ2V0UGF0aCIsImFic29sdXRlRmlsZVBhdGgiLCJmaWxlRXhpc3RzIiwiY29udGVudCIsImdldENvbnRlbnQiLCJwYXRocyIsImZpbGVzIiwicGF0aHNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFBhdGgiLCJmaWxlc0Zyb21Qcm9qZWN0IiwiZmlsZXNGcm9tUmVsZWFzZSIsInN1Y2Nlc3NlcyIsIm1hcEZpbGUiLCJyZWxlYXNlTmFtZSIsInJlbGVhc2UiLCJuYW1lIiwidG9wbW9zdEZpbGVOYW1lIiwiZW50cnlGaWxlIiwianNvbiIsImVudHJpZXMiLCJKU09OIiwicGFyc2UiLCJFbnRyaWVzIiwiZnJvbUpTT04iLCJSZWxlYXNlIiwiZnJvbU5hbWVBbmRFbnRyaWVzIiwicHJvamVjdE5hbWUiLCJsb2FkT25seVJlY29nbmlzZWRGaWxlcyIsInByb2plY3QiLCJsb2FkRW50cmllcyIsIlByb2plY3QiLCJyZWxlYXNlcyIsIlJlbGVhc2VzIiwiZnJvbU5vdGhpbmciLCJ0b3Btb3N0RmlsZU5hbWVzIiwidG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJyZWxlYXNlTmFtZXMiLCJmb3JFYWNoIiwiYWRkUmVsZWFzZSIsInByb2plY3RzIiwiUHJvamVjdHMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoIiwicHJvamVjdE5hbWVzIiwiYWRkUHJvamVjdCIsInJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsImVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwibG9hZERpcmVjdG9yeSIsImRpcmVjdG9yeSIsIkRpcmVjdG9yeSIsImZyb21QYXRoIiwicmVsZWFzZWQiLCJjb252ZXJ0Q29udGVudFRhYnNUb1doaXRlc3BhY2UiLCJGaWxlIiwiZnJvbVBhdGhDb250ZW50QW5kUmVsZWFzZWQiLCJnZXRGaWxlIiwiRmlsZXMiLCJhZGRGaWxlIiwiYWJzb2x1dGVEaXJlY3RvcnlQYXRoIiwic3ViRW50cnlOYW1lcyIsInN1YkVudHJ5TmFtZSIsInN1YkVudHJ5TmFtZUhpZGRlbk5hbWUiLCJpc05hbWVIaWRkZW5OYW1lIiwibG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMiLCJkaXJlY3RvcnlQYXRoIiwiYWRkRGlyZWN0b3J5IiwiZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgiLCJpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiZmlsZVJlY29nbmlzZWRGaWxlIiwicmVkdWNlIiwiYWJzb2x1dGVTdWJFbnRyeVBhdGgiLCJzdWJFbnRyeUZpbGUiLCJwdXNoIiwic3ViRW50cnlEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFCZ0JBLFFBQVE7ZUFBUkE7O0lBcUJBQyxRQUFRO2VBQVJBOztJQXVCQUMsU0FBUztlQUFUQTs7SUEyQkFDLFNBQVM7ZUFBVEE7O0lBVUFDLFdBQVc7ZUFBWEE7O0lBZ0NBQyxXQUFXO2VBQVhBOztJQWdCQUMsWUFBWTtlQUFaQTs7SUF1QkFDLFlBQVk7ZUFBWkE7O0lBdUJoQixPQVNFO2VBVEY7Ozt5QkFsTW1FOzJEQUVsRDs0REFDQzs4REFDRTs4REFDQTs4REFDQTsrREFDQzsrREFDQTtnRUFDQztvQkFFVzt3QkFDWTt1QkFDRTs7Ozs7O0FBRS9DLElBQU0sQUFBRUMsUUFBVUMseUJBQWMsQ0FBeEJELE9B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
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzLCBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5cclxuaW1wb3J0IEZpbGUgZnJvbSBcIi4uL2ZpbGVcIjtcclxuaW1wb3J0IEZpbGVzIGZyb20gXCIuLi9maWxlc1wiO1xyXG5pbXBvcnQgRW50cmllcyBmcm9tIFwiLi4vZW50cmllc1wiO1xyXG5pbXBvcnQgUHJvamVjdCBmcm9tIFwiLi4vcHJvamVjdFwiO1xyXG5pbXBvcnQgUmVsZWFzZSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xyXG5pbXBvcnQgUHJvamVjdHMgZnJvbSBcIi4uL3Byb2plY3RzXCI7XHJcbmltcG9ydCBSZWxlYXNlcyBmcm9tIFwiLi4vcmVsZWFzZXNcIjtcclxuaW1wb3J0IERpcmVjdG9yeSBmcm9tIFwiLi4vZGlyZWN0b3J5XCI7XHJcblxyXG5pbXBvcnQgeyBpc05hbWVIaWRkZW5OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XHJcbmltcG9ydCB7IGlzRmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XHJcbmltcG9ydCB7IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGVudFwiO1xyXG5cclxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXMsXHJcbiAgICAgIHsgY29uY2F0ZW5hdGVQYXRocywgdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcyxcclxuICAgICAgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBpc0VudHJ5RmlsZSwgcmVhZERpcmVjdG9yeSwgaXNFbnRyeURpcmVjdG9yeSwgY2hlY2tFbnRyeUV4aXN0czogY2hlY2tGaWxlRXhpc3RzIH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBmaWxlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChwYXRoKTtcclxuXHJcbiAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBmaWxlID0gZW50cnlEaXJlY3RvcnkgP1xyXG4gICAgICAgICAgICAgICBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgZmlsZUZyb21SZWxlYXNlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgICB9XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIC8vL1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgc3VjY2VzcyA9IGZhbHNlO1xyXG5cclxuICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgZmlsZVBhdGgpLFxyXG4gICAgICAgIGZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMoYWJzb2x1dGVGaWxlUGF0aCk7XHJcblxyXG4gIGlmIChmaWxlRXhpc3RzKSB7XHJcbiAgICBjb25zdCBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGgsICAvLy9cclxuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnQpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgLy8vXHJcbiAgICB9XHJcblxyXG4gICAgc3VjY2VzcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc3VjY2VzcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlcyhwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGVzID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IHBhdGhzTGVuZ3RoID0gcGF0aHMubGVuZ3RoO1xyXG5cclxuICAgIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZmlyc3RQYXRoID0gZmlyc3QocGF0aHMpLFxyXG4gICAgICAgICAgICBwYXRoID0gZmlyc3RQYXRoLCAvLy9cclxuICAgICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgICAgaWYgKHRvcG1vc3REaXJlY3RvcnlOYW1lICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3REaXJlY3RvcnlOYW1lKSxcclxuICAgICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgICAgZmlsZXMgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgICAgIGZpbGVzRnJvbVByb2plY3QocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVzRnJvbVJlbGVhc2UocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzYXZlRmlsZXMoZmlsZXMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IHN1Y2Nlc3NlcyA9IGZpbGVzLm1hcEZpbGUoKGZpbGUpID0+IHtcclxuICAgIGNvbnN0IHN1Y2Nlc3MgPSBzYXZlRmlsZShmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gc3VjY2Vzc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UocmVsZWFzZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlTmFtZSwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSByZWxlYXNlTmFtZSwgIC8vL1xyXG4gICAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3RGaWxlTmFtZSksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGpzb24sXHJcbiAgICAgICAgICBlbnRyaWVzO1xyXG5cclxuICAgICAgY29uc3QgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBqc29uID0gSlNPTi5wYXJzZShjb250ZW50KTtcclxuXHJcbiAgICAgICh7IGVudHJpZXMgfSA9IGpzb24pO1xyXG5cclxuICAgICAganNvbiAgPSBlbnRyaWVzOyAgLy8vXHJcblxyXG4gICAgICBlbnRyaWVzID0gRW50cmllcy5mcm9tSlNPTihqc29uKTtcclxuXHJcbiAgICAgIHJlbGVhc2UgPSBSZWxlYXNlLmZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgbGV0IHByb2plY3QgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHByb2plY3ROYW1lLCAgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHByb2plY3ROYW1lLCAvLy9cclxuICAgICAgICAgIGVudHJpZXMgPSBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgcHJvamVjdCA9IFByb2plY3QuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2VzKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlcztcclxuXHJcbiAgdHJ5IHtcclxuICAgIHJlbGVhc2VzID0gUmVsZWFzZXMuZnJvbU5vdGhpbmcoKTtcclxuXHJcbiAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWVzID0gdG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICAgIHJlbGVhc2VOYW1lcyA9IHRvcG1vc3RGaWxlTmFtZXM7ICAvLy9cclxuXHJcbiAgICByZWxlYXNlTmFtZXMuZm9yRWFjaCgocmVsZWFzZU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHJlbGVhc2VOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKHJlbGVhc2UgIT09IG51bGwpIHtcclxuICAgICAgICByZWxlYXNlcy5hZGRSZWxlYXNlKHJlbGVhc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcmVsZWFzZXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlbGVhc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3RzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdHM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBwcm9qZWN0cyA9IFByb2plY3RzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgICAgcHJvamVjdE5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzOyAvLy9cclxuXHJcbiAgICBwcm9qZWN0TmFtZXMuZm9yRWFjaCgocHJvamVjdE5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICAgIGlmIChwcm9qZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcHJvamVjdHMuYWRkUHJvamVjdChwcm9qZWN0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHByb2plY3RzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0cztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBzYXZlRmlsZXMsXHJcbiAgbG9hZFJlbGVhc2UsXHJcbiAgbG9hZFByb2plY3QsXHJcbiAgbG9hZFJlbGVhc2VzLFxyXG4gIGxvYWRQcm9qZWN0c1xyXG59O1xyXG5cclxuZnVuY3Rpb24gbG9hZEVudHJpZXModG9wbW9zdERpcmVjdG9yeU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBjb25zdCBlbnRyaWVzID0gRW50cmllcy5mcm9tTm90aGluZygpLFxyXG4gICAgICAgIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCA9IHRvcG1vc3REaXJlY3RvcnlOYW1lOyAgLy8vXHJcblxyXG4gIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gIHJldHVybiBlbnRyaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKSxcclxuICAgICAgICBkaXJlY3RvcnkgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBEaXJlY3RvcnkuZnJvbVBhdGgocGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xyXG5cclxuICByZXR1cm4gZGlyZWN0b3J5O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aCksXHJcbiAgICAgICAgZW50cnlGaWxlID0gaXNFbnRyeUZpbGUoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgaWYgKGVudHJ5RmlsZSkge1xyXG4gICAgY29uc3QgcmVsZWFzZWQgPSBmYWxzZTtcclxuXHJcbiAgICBsZXQgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xyXG5cclxuICAgIGZpbGUgPSBGaWxlLmZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkKHBhdGgsIGNvbnRlbnQsIHJlbGVhc2VkKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lLCAvLy9cclxuICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIGZpbGUgPSByZWxlYXNlLmdldEZpbGUocGF0aCk7XHJcblxyXG4gIHJldHVybiBmaWxlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21Qcm9qZWN0KHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBmaWxlRnJvbVByb2plY3QocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGVzRnJvbVJlbGVhc2UocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGNvbnN0IGZpbGVzID0gRmlsZXMuZnJvbU5vdGhpbmcoKSxcclxuICAgICAgICBwYXRoc0xlbmd0aCA9IHBhdGhzLmxlbmd0aDtcclxuXHJcbiAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgY29uc3QgZmlyc3RQYXRoID0gZmlyc3QocGF0aHMpLFxyXG4gICAgICAgICAgcGF0aCA9IGZpcnN0UGF0aCwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCksXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZSwgLy8vXHJcbiAgICAgICAgICByZWxlYXNlID0gbG9hZFJlbGVhc2UodG9wbW9zdEZpbGVOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgIHBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgICAgY29uc3QgZmlsZSA9IHJlbGVhc2UuZ2V0RmlsZShwYXRoKTtcclxuXHJcbiAgICAgIGZpbGVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWxlcztcclxufVxyXG5cclxuZnVuY3Rpb24gZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkoYWJzb2x1dGVEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgc3ViRW50cnlOYW1lcy5mb3JFYWNoKChzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyA9ICFsb2FkT25seVJlY29nbmlzZWRGaWxlcztcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3QgcGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBsb2FkRGlyZWN0b3J5KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoZGlyZWN0b3J5ICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHBhdGg7IC8vL1xyXG5cclxuICAgICAgICBpZiAobG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgIGVudHJpZXMuYWRkRGlyZWN0b3J5KGRpcmVjdG9yeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbnRyaWVzRnJvbVJlbGF0aXZlRGlyZWN0b3J5UGF0aChlbnRyaWVzLCBkaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTsgLy8vXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGxvYWRGaWxlKHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxyXG4gICAgICAgICAgICAgICAgZmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGggPSBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoKGZpbGVQYXRoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVSZWNvZ25pc2VkRmlsZSA9IGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoOyAgLy8vXHJcblxyXG4gICAgICAgICAgaWYgKGZpbGVSZWNvZ25pc2VkRmlsZSB8fCBsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBlbnRyaWVzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3RGaWxlTmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RmlsZU5hbWVzO1xyXG5cclxuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICB0b3Btb3N0RmlsZU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3RGaWxlTmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RmlsZSA9IGlzRW50cnlGaWxlKGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeUZpbGUpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWUgPSBzdWJFbnRyeU5hbWU7ICAvLy9cclxuXHJcbiAgICAgICAgdG9wbW9zdEZpbGVOYW1lcy5wdXNoKHRvcG1vc3RGaWxlTmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG4gIH0sIFtdKTtcclxuXHJcbiAgcmV0dXJuIHRvcG1vc3RGaWxlTmFtZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gc3ViRW50cnlOYW1lcy5yZWR1Y2UoKHRvcG1vc3REaXJlY3RvcnlOYW1lcywgc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBhYnNvbHV0ZVN1YkVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgc3ViRW50cnlOYW1lSGlkZGVuTmFtZSA9IGlzTmFtZUhpZGRlbk5hbWUoc3ViRW50cnlOYW1lKTtcclxuXHJcbiAgICBpZiAoIXN1YkVudHJ5TmFtZUhpZGRlbk5hbWUpIHtcclxuICAgICAgY29uc3Qgc3ViRW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU3ViRW50cnlQYXRoKTtcclxuXHJcbiAgICAgIGlmIChzdWJFbnRyeURpcmVjdG9yeSkge1xyXG4gICAgICAgIGNvbnN0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lcy5wdXNoKHRvcG1vc3REaXJlY3RvcnlOYW1lKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbn1cclxuIl0sIm5hbWVzIjpbImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkUmVsZWFzZSIsImxvYWRQcm9qZWN0IiwibG9hZFJlbGVhc2VzIiwibG9hZFByb2plY3RzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwidG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCIsInJlYWRGaWxlIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsIndyaXRlRmlsZSIsImlzRW50cnlGaWxlIiwicmVhZERpcmVjdG9yeSIsImlzRW50cnlEaXJlY3RvcnkiLCJjaGVja0VudHJ5RXhpc3RzIiwiY2hlY2tGaWxlRXhpc3RzIiwicGF0aCIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImZpbGUiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZSIsImFic29sdXRlUGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiZmlsZUZyb21Qcm9qZWN0IiwiZmlsZUZyb21SZWxlYXNlIiwiZXJyb3IiLCJzdWNjZXNzIiwiZmlsZVBhdGgiLCJnZXRQYXRoIiwiYWJzb2x1dGVGaWxlUGF0aCIsImZpbGVFeGlzdHMiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInBhdGhzIiwiZmlsZXMiLCJwYXRoc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0UGF0aCIsImZpbGVzRnJvbVByb2plY3QiLCJmaWxlc0Zyb21SZWxlYXNlIiwic3VjY2Vzc2VzIiwibWFwRmlsZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZSIsIm5hbWUiLCJ0b3Btb3N0RmlsZU5hbWUiLCJlbnRyeUZpbGUiLCJqc29uIiwiZW50cmllcyIsIkpTT04iLCJwYXJzZSIsIkVudHJpZXMiLCJmcm9tSlNPTiIsIlJlbGVhc2UiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJwcm9qZWN0TmFtZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwicHJvamVjdCIsImxvYWRFbnRyaWVzIiwiUHJvamVjdCIsInJlbGVhc2VzIiwiUmVsZWFzZXMiLCJmcm9tTm90aGluZyIsInRvcG1vc3RGaWxlTmFtZXMiLCJ0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aCIsInJlbGVhc2VOYW1lcyIsImZvckVhY2giLCJhZGRSZWxlYXNlIiwicHJvamVjdHMiLCJQcm9qZWN0cyIsInRvcG1vc3REaXJlY3RvcnlOYW1lcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJwcm9qZWN0TmFtZXMiLCJhZGRQcm9qZWN0IiwicmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwiZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgiLCJsb2FkRGlyZWN0b3J5IiwiZGlyZWN0b3J5IiwiRGlyZWN0b3J5IiwiZnJvbVBhdGgiLCJyZWxlYXNlZCIsImNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZSIsIkZpbGUiLCJmcm9tUGF0aENvbnRlbnRBbmRSZWxlYXNlZCIsImdldEZpbGUiLCJGaWxlcyIsImFkZEZpbGUiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsImlzTmFtZUhpZGRlbk5hbWUiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImRpcmVjdG9yeVBhdGgiLCJhZGREaXJlY3RvcnkiLCJmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImlzRmlsZVBhdGhSZWNvZ25pc2VkRmlsZVBhdGgiLCJmaWxlUmVjb2duaXNlZEZpbGUiLCJyZWR1Y2UiLCJhYnNvbHV0ZVN1YkVudHJ5UGF0aCIsInN1YkVudHJ5RmlsZSIsInB1c2giLCJzdWJFbnRyeURpcmVjdG9yeSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBcUJnQkEsUUFBUTtlQUFSQTs7SUFxQkFDLFFBQVE7ZUFBUkE7O0lBdUJBQyxTQUFTO2VBQVRBOztJQTJCQUMsU0FBUztlQUFUQTs7SUFVQUMsV0FBVztlQUFYQTs7SUFnQ0FDLFdBQVc7ZUFBWEE7O0lBZ0JBQyxZQUFZO2VBQVpBOztJQXVCQUMsWUFBWTtlQUFaQTs7SUF1QmhCLE9BU0U7ZUFURjs7O3lCQWxNbUU7MkRBRWxEOzREQUNDOzhEQUNFOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBO2dFQUNDO29CQUVXO3dCQUNZO3VCQUNFOzs7Ozs7QUFFL0MsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQsT0FDQUUsbUJBQW1EQyx3QkFBYSxDQUFoRUQsa0JBQWtCRSwrQkFBaUNELHdCQUFhLENBQTlDQyw4QkFDbEJD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
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@ import { isFilePathRecognisedFilePath } from "../utilities/filePath";
|
|
|
16
16
|
import { convertContentTabsToWhitespace } from "../utilities/content";
|
|
17
17
|
|
|
18
18
|
const { first } = arrayUtilities,
|
|
19
|
-
{ concatenatePaths, topmostDirectoryNameFromPath
|
|
19
|
+
{ concatenatePaths, topmostDirectoryNameFromPath } = pathUtilities,
|
|
20
20
|
{ readFile, writeFile, isEntryFile, readDirectory, isEntryDirectory, checkEntryExists: checkFileExists } = fileSystemUtilities;
|
|
21
21
|
|
|
22
22
|
export function loadFile(path, projectsDirectoryPath) {
|