UNPKG

find-node-modules

Version:

Return an array of all parent node_modules directories

636 lines (610 loc) 20.5 kB
"use strict"; var cov_2m8t140a08 = function () { var path = "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/commitizen/commit.js"; var hash = "c0d5ea195b1be5d75153f1b25c33cb4b96eaeca9"; var global = new Function("return this")(); var gcv = "__coverage__"; var coverageData = { path: "/Users/callumacrae/Sites/find-node-modules/cz-cli/src/commitizen/commit.js", statementMap: { "0": { start: { line: 15, column: 4 }, end: { line: 17, column: 7 } }, "1": { start: { line: 16, column: 6 }, end: { line: 16, column: 28 } }, "2": { start: { line: 24, column: 23 }, end: { line: 24, column: 45 } }, "3": { start: { line: 25, column: 18 }, end: { line: 25, column: 62 } }, "4": { start: { line: 27, column: 2 }, end: { line: 66, column: 5 } }, "5": { start: { line: 28, column: 4 }, end: { line: 65, column: 5 } }, "6": { start: { line: 29, column: 6 }, end: { line: 29, column: 75 } }, "7": { start: { line: 32, column: 6 }, end: { line: 64, column: 7 } }, "8": { start: { line: 34, column: 8 }, end: { line: 34, column: 53 } }, "9": { start: { line: 42, column: 12 }, end: { line: 42, column: 56 } }, "10": { start: { line: 43, column: 8 }, end: { line: 43, column: 93 } }, "11": { start: { line: 47, column: 8 }, end: { line: 63, column: 11 } }, "12": { start: { line: 50, column: 10 }, end: { line: 54, column: 11 } }, "13": { start: { line: 51, column: 12 }, end: { line: 51, column: 39 } }, "14": { start: { line: 52, column: 12 }, end: { line: 52, column: 29 } }, "15": { start: { line: 53, column: 12 }, end: { line: 53, column: 25 } }, "16": { start: { line: 56, column: 10 }, end: { line: 58, column: 11 } }, "17": { start: { line: 57, column: 12 }, end: { line: 57, column: 31 } }, "18": { start: { line: 61, column: 10 }, end: { line: 61, column: 95 } }, "19": { start: { line: 62, column: 10 }, end: { line: 62, column: 80 } } }, fnMap: { "0": { name: "dispatchGitCommit", decl: { start: { line: 13, column: 9 }, end: { line: 13, column: 26 } }, loc: { start: { line: 13, column: 80 }, end: { line: 18, column: 1 } }, line: 13 }, "1": { name: "(anonymous_1)", decl: { start: { line: 15, column: 70 }, end: { line: 15, column: 71 } }, loc: { start: { line: 15, column: 87 }, end: { line: 17, column: 5 } }, line: 15 }, "2": { name: "commit", decl: { start: { line: 23, column: 9 }, end: { line: 23, column: 15 } }, loc: { start: { line: 23, column: 62 }, end: { line: 68, column: 1 } }, line: 23 }, "3": { name: "(anonymous_3)", decl: { start: { line: 27, column: 28 }, end: { line: 27, column: 29 } }, loc: { start: { line: 27, column: 45 }, end: { line: 66, column: 3 } }, line: 27 }, "4": { name: "(anonymous_4)", decl: { start: { line: 47, column: 27 }, end: { line: 47, column: 28 } }, loc: { start: { line: 47, column: 71 }, end: { line: 63, column: 9 } }, line: 47 } }, branchMap: { "0": { loc: { start: { line: 28, column: 4 }, end: { line: 65, column: 5 } }, type: "if", locations: [{ start: { line: 28, column: 4 }, end: { line: 65, column: 5 } }, { start: { line: 28, column: 4 }, end: { line: 65, column: 5 } }], line: 28 }, "1": { loc: { start: { line: 32, column: 6 }, end: { line: 64, column: 7 } }, type: "if", locations: [{ start: { line: 32, column: 6 }, end: { line: 64, column: 7 } }, { start: { line: 32, column: 6 }, end: { line: 64, column: 7 } }], line: 32 }, "2": { loc: { start: { line: 50, column: 10 }, end: { line: 54, column: 11 } }, type: "if", locations: [{ start: { line: 50, column: 10 }, end: { line: 54, column: 11 } }, { start: { line: 50, column: 10 }, end: { line: 54, column: 11 } }], line: 50 }, "3": { loc: { start: { line: 56, column: 10 }, end: { line: 58, column: 11 } }, type: "if", locations: [{ start: { line: 56, column: 10 }, end: { line: 58, column: 11 } }, { start: { line: 56, column: 10 }, end: { line: 58, column: 11 } }], line: 56 } }, s: { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "10": 0, "11": 0, "12": 0, "13": 0, "14": 0, "15": 0, "16": 0, "17": 0, "18": 0, "19": 0 }, f: { "0": 0, "1": 0, "2": 0, "3": 0, "4": 0 }, b: { "0": [0, 0], "1": [0, 0], "2": [0, 0], "3": [0, 0] }, _coverageSchema: "43e27e138ebf9cfc5966b082cf9a028302ed4184", hash: "c0d5ea195b1be5d75153f1b25c33cb4b96eaeca9" }; var coverage = global[gcv] || (global[gcv] = {}); if (coverage[path] && coverage[path].hash === hash) { return coverage[path]; } return coverage[path] = coverageData; }(); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _path = _interopRequireDefault(require("path")); var _cachedir = _interopRequireDefault(require("cachedir")); var _fsExtra = require("fs-extra"); var _git = require("../git"); var cache = _interopRequireWildcard(require("./cache")); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var _default = commit; /** * Takes all of the final inputs needed in order to make dispatch a git commit */ exports.default = _default; function dispatchGitCommit(repoPath, template, options, overrideOptions, done) { cov_2m8t140a08.f[0]++; cov_2m8t140a08.s[0]++; // Commit the user input -- side effect that we'll test (0, _git.commit)(repoPath, template, _objectSpread2({}, options, {}, overrideOptions), function (error) { cov_2m8t140a08.f[1]++; cov_2m8t140a08.s[1]++; done(error, template); }); } /** * Asynchronously commits files using commitizen */ function commit(inquirer, repoPath, prompter, options, done) { cov_2m8t140a08.f[2]++; var cacheDirectory = (cov_2m8t140a08.s[2]++, (0, _cachedir.default)('commitizen')); var cachePath = (cov_2m8t140a08.s[3]++, _path.default.join(cacheDirectory, 'commitizen.json')); cov_2m8t140a08.s[4]++; (0, _fsExtra.ensureDir)(cacheDirectory, function (error) { cov_2m8t140a08.f[3]++; cov_2m8t140a08.s[5]++; if (error) { cov_2m8t140a08.b[0][0]++; cov_2m8t140a08.s[6]++; console.error("Couldn't create commitizen cache directory: ", error); // TODO: properly handle error? } else { cov_2m8t140a08.b[0][1]++; cov_2m8t140a08.s[7]++; if (options.retryLastCommit) { cov_2m8t140a08.b[1][0]++; cov_2m8t140a08.s[8]++; console.log('Retrying last commit attempt.'); // We want to use the last commit instead of the current commit, // so lets override some options using the values from cache. let { options: retryOptions, overrideOptions: retryOverrideOptions, template: retryTemplate } = (cov_2m8t140a08.s[9]++, cache.getCacheValueSync(cachePath, repoPath)); cov_2m8t140a08.s[10]++; dispatchGitCommit(repoPath, retryTemplate, retryOptions, retryOverrideOptions, done); } else { cov_2m8t140a08.b[1][1]++; cov_2m8t140a08.s[11]++; // Get user input -- side effect that is hard to test prompter(inquirer, function (error, template, overrideOptions) { cov_2m8t140a08.f[4]++; cov_2m8t140a08.s[12]++; // Allow adapters to error out // (error: Error?, template: String, overrideOptions: Object) if (!(error instanceof Error)) { cov_2m8t140a08.b[2][0]++; cov_2m8t140a08.s[13]++; overrideOptions = template; cov_2m8t140a08.s[14]++; template = error; cov_2m8t140a08.s[15]++; error = null; } else { cov_2m8t140a08.b[2][1]++; } cov_2m8t140a08.s[16]++; if (error) { cov_2m8t140a08.b[3][0]++; cov_2m8t140a08.s[17]++; return done(error); } else { cov_2m8t140a08.b[3][1]++; } // We don't want to add retries to the cache, only actual commands cov_2m8t140a08.s[18]++; cache.setCacheValueSync(cachePath, repoPath, { template, options, overrideOptions }); cov_2m8t140a08.s[19]++; dispatchGitCommit(repoPath, template, options, overrideOptions, done); }); } } }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1pdC5qcyJdLCJuYW1lcyI6WyJjb21taXQiLCJkaXNwYXRjaEdpdENvbW1pdCIsInJlcG9QYXRoIiwidGVtcGxhdGUiLCJvcHRpb25zIiwib3ZlcnJpZGVPcHRpb25zIiwiZG9uZSIsImVycm9yIiwiaW5xdWlyZXIiLCJwcm9tcHRlciIsImNhY2hlRGlyZWN0b3J5IiwiY2FjaGVQYXRoIiwicGF0aCIsImpvaW4iLCJjb25zb2xlIiwicmV0cnlMYXN0Q29tbWl0IiwibG9nIiwicmV0cnlPcHRpb25zIiwicmV0cnlPdmVycmlkZU9wdGlvbnMiLCJyZXRyeVRlbXBsYXRlIiwiY2FjaGUiLCJnZXRDYWNoZVZhbHVlU3luYyIsIkVycm9yIiwic2V0Q2FjaGVWYWx1ZVN5bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O2VBRWVBLE07QUFFZjs7Ozs7O0FBR0EsU0FBU0MsaUJBQVQsQ0FBNEJDLFFBQTVCLEVBQXNDQyxRQUF0QyxFQUFnREMsT0FBaEQsRUFBeURDLGVBQXpELEVBQTBFQyxJQUExRSxFQUFnRjtBQUFBO0FBQUE7QUFDNUU7QUFDQSxtQkFBVUosUUFBVixFQUFvQkMsUUFBcEIscUJBQW1DQyxPQUFuQyxNQUErQ0MsZUFBL0MsR0FBa0UsVUFBVUUsS0FBVixFQUFpQjtBQUFBO0FBQUE7QUFDakZELElBQUFBLElBQUksQ0FBQ0MsS0FBRCxFQUFRSixRQUFSLENBQUo7QUFDRCxHQUZEO0FBR0g7QUFFQTs7Ozs7QUFHRCxTQUFTSCxNQUFULENBQWlCUSxRQUFqQixFQUEyQk4sUUFBM0IsRUFBcUNPLFFBQXJDLEVBQStDTCxPQUEvQyxFQUF3REUsSUFBeEQsRUFBOEQ7QUFBQTtBQUM1RCxNQUFJSSxjQUFjLDJCQUFHLHVCQUFTLFlBQVQsQ0FBSCxDQUFsQjtBQUNBLE1BQUlDLFNBQVMsMkJBQUdDLGNBQUtDLElBQUwsQ0FBVUgsY0FBVixFQUEwQixpQkFBMUIsQ0FBSCxDQUFiO0FBRjREO0FBSTVELDBCQUFVQSxjQUFWLEVBQTBCLFVBQVVILEtBQVYsRUFBaUI7QUFBQTtBQUFBOztBQUN6QyxRQUFJQSxLQUFKLEVBQVc7QUFBQTtBQUFBO0FBQ1RPLE1BQUFBLE9BQU8sQ0FBQ1AsS0FBUixDQUFjLDhDQUFkLEVBQThEQSxLQUE5RCxFQURTLENBRVQ7QUFDRCxLQUhELE1BR087QUFBQTtBQUFBOztBQUNMLFVBQUlILE9BQU8sQ0FBQ1csZUFBWixFQUE2QjtBQUFBO0FBQUE7QUFFM0JELFFBQUFBLE9BQU8sQ0FBQ0UsR0FBUixDQUFZLCtCQUFaLEVBRjJCLENBSTNCO0FBQ0E7O0FBQ0EsWUFBSTtBQUNGWixVQUFBQSxPQUFPLEVBQUVhLFlBRFA7QUFFRlosVUFBQUEsZUFBZSxFQUFFYSxvQkFGZjtBQUdGZixVQUFBQSxRQUFRLEVBQUVnQjtBQUhSLG9DQUlBQyxLQUFLLENBQUNDLGlCQUFOLENBQXdCVixTQUF4QixFQUFtQ1QsUUFBbkMsQ0FKQSxDQUFKO0FBTjJCO0FBVzNCRCxRQUFBQSxpQkFBaUIsQ0FBQ0MsUUFBRCxFQUFXaUIsYUFBWCxFQUEwQkYsWUFBMUIsRUFBd0NDLG9CQUF4QyxFQUE4RFosSUFBOUQsQ0FBakI7QUFFRCxPQWJELE1BYU87QUFBQTtBQUFBO0FBQ0w7QUFDQUcsUUFBQUEsUUFBUSxDQUFDRCxRQUFELEVBQVcsVUFBVUQsS0FBVixFQUFpQkosUUFBakIsRUFBMkJFLGVBQTNCLEVBQTRDO0FBQUE7QUFBQTs7QUFDN0Q7QUFDQTtBQUNBLGNBQUksRUFBRUUsS0FBSyxZQUFZZSxLQUFuQixDQUFKLEVBQStCO0FBQUE7QUFBQTtBQUM3QmpCLFlBQUFBLGVBQWUsR0FBR0YsUUFBbEI7QUFENkI7QUFFN0JBLFlBQUFBLFFBQVEsR0FBR0ksS0FBWDtBQUY2QjtBQUc3QkEsWUFBQUEsS0FBSyxHQUFHLElBQVI7QUFDRCxXQUpEO0FBQUE7QUFBQTs7QUFINkQ7O0FBUzdELGNBQUlBLEtBQUosRUFBVztBQUFBO0FBQUE7QUFDVCxtQkFBT0QsSUFBSSxDQUFDQyxLQUFELENBQVg7QUFDRCxXQUZEO0FBQUE7QUFBQSxXQVQ2RCxDQWE3RDs7O0FBYjZEO0FBYzdEYSxVQUFBQSxLQUFLLENBQUNHLGlCQUFOLENBQXdCWixTQUF4QixFQUFtQ1QsUUFBbkMsRUFBNkM7QUFBRUMsWUFBQUEsUUFBRjtBQUFZQyxZQUFBQSxPQUFaO0FBQXFCQyxZQUFBQTtBQUFyQixXQUE3QztBQWQ2RDtBQWU3REosVUFBQUEsaUJBQWlCLENBQUNDLFFBQUQsRUFBV0MsUUFBWCxFQUFxQkMsT0FBckIsRUFBOEJDLGVBQTlCLEVBQStDQyxJQUEvQyxDQUFqQjtBQUNELFNBaEJPLENBQVI7QUFpQkQ7QUFDRjtBQUNGLEdBdkNEO0FBeUNEIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9jYWxsdW1hY3JhZS9TaXRlcy9maW5kLW5vZGUtbW9kdWxlcy9jei1jbGkvc3JjL2NvbW1pdGl6ZW4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IGNhY2hlRGlyIGZyb20gJ2NhY2hlZGlyJztcbmltcG9ydCB7IGVuc3VyZURpciB9IGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IGNvbW1pdCBhcyBnaXRDb21taXQgfSBmcm9tICcuLi9naXQnO1xuaW1wb3J0ICogYXMgY2FjaGUgZnJvbSAnLi9jYWNoZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1pdDtcblxuLyoqXG4gKiBUYWtlcyBhbGwgb2YgdGhlIGZpbmFsIGlucHV0cyBuZWVkZWQgaW4gb3JkZXIgdG8gbWFrZSBkaXNwYXRjaCBhIGdpdCBjb21taXRcbiAqL1xuZnVuY3Rpb24gZGlzcGF0Y2hHaXRDb21taXQgKHJlcG9QYXRoLCB0ZW1wbGF0ZSwgb3B0aW9ucywgb3ZlcnJpZGVPcHRpb25zLCBkb25lKSB7XG4gICAgLy8gQ29tbWl0IHRoZSB1c2VyIGlucHV0IC0tIHNpZGUgZWZmZWN0IHRoYXQgd2UnbGwgdGVzdFxuICAgIGdpdENvbW1pdChyZXBvUGF0aCwgdGVtcGxhdGUsIHsgLi4ub3B0aW9ucywgLi4ub3ZlcnJpZGVPcHRpb25zIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgZG9uZShlcnJvciwgdGVtcGxhdGUpO1xuICAgIH0pO1xufVxuXG4gLyoqXG4gICogQXN5bmNocm9ub3VzbHkgY29tbWl0cyBmaWxlcyB1c2luZyBjb21taXRpemVuXG4gICovXG5mdW5jdGlvbiBjb21taXQgKGlucXVpcmVyLCByZXBvUGF0aCwgcHJvbXB0ZXIsIG9wdGlvbnMsIGRvbmUpIHtcbiAgdmFyIGNhY2hlRGlyZWN0b3J5ID0gY2FjaGVEaXIoJ2NvbW1pdGl6ZW4nKTtcbiAgdmFyIGNhY2hlUGF0aCA9IHBhdGguam9pbihjYWNoZURpcmVjdG9yeSwgJ2NvbW1pdGl6ZW4uanNvbicpO1xuXG4gIGVuc3VyZURpcihjYWNoZURpcmVjdG9yeSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiQ291bGRuJ3QgY3JlYXRlIGNvbW1pdGl6ZW4gY2FjaGUgZGlyZWN0b3J5OiBcIiwgZXJyb3IpO1xuICAgICAgLy8gVE9ETzogcHJvcGVybHkgaGFuZGxlIGVycm9yP1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5yZXRyeUxhc3RDb21taXQpIHtcblxuICAgICAgICBjb25zb2xlLmxvZygnUmV0cnlpbmcgbGFzdCBjb21taXQgYXR0ZW1wdC4nKTtcblxuICAgICAgICAvLyBXZSB3YW50IHRvIHVzZSB0aGUgbGFzdCBjb21taXQgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjb21taXQsXG4gICAgICAgIC8vIHNvIGxldHMgb3ZlcnJpZGUgc29tZSBvcHRpb25zIHVzaW5nIHRoZSB2YWx1ZXMgZnJvbSBjYWNoZS5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBvcHRpb25zOiByZXRyeU9wdGlvbnMsXG4gICAgICAgICAgb3ZlcnJpZGVPcHRpb25zOiByZXRyeU92ZXJyaWRlT3B0aW9ucyxcbiAgICAgICAgICB0ZW1wbGF0ZTogcmV0cnlUZW1wbGF0ZVxuICAgICAgICB9ID0gY2FjaGUuZ2V0Q2FjaGVWYWx1ZVN5bmMoY2FjaGVQYXRoLCByZXBvUGF0aCk7XG4gICAgICAgIGRpc3BhdGNoR2l0Q29tbWl0KHJlcG9QYXRoLCByZXRyeVRlbXBsYXRlLCByZXRyeU9wdGlvbnMsIHJldHJ5T3ZlcnJpZGVPcHRpb25zLCBkb25lKTtcblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gR2V0IHVzZXIgaW5wdXQgLS0gc2lkZSBlZmZlY3QgdGhhdCBpcyBoYXJkIHRvIHRlc3RcbiAgICAgICAgcHJvbXB0ZXIoaW5xdWlyZXIsIGZ1bmN0aW9uIChlcnJvciwgdGVtcGxhdGUsIG92ZXJyaWRlT3B0aW9ucykge1xuICAgICAgICAgIC8vIEFsbG93IGFkYXB0ZXJzIHRvIGVycm9yIG91dFxuICAgICAgICAgIC8vIChlcnJvcjogRXJyb3I/LCB0ZW1wbGF0ZTogU3RyaW5nLCBvdmVycmlkZU9wdGlvbnM6IE9iamVjdClcbiAgICAgICAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgICAgb3ZlcnJpZGVPcHRpb25zID0gdGVtcGxhdGU7XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IGVycm9yO1xuICAgICAgICAgICAgZXJyb3IgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmUoZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYWRkIHJldHJpZXMgdG8gdGhlIGNhY2hlLCBvbmx5IGFjdHVhbCBjb21tYW5kc1xuICAgICAgICAgIGNhY2hlLnNldENhY2hlVmFsdWVTeW5jKGNhY2hlUGF0aCwgcmVwb1BhdGgsIHsgdGVtcGxhdGUsIG9wdGlvbnMsIG92ZXJyaWRlT3B0aW9ucyB9KTtcbiAgICAgICAgICBkaXNwYXRjaEdpdENvbW1pdChyZXBvUGF0aCwgdGVtcGxhdGUsIG9wdGlvbnMsIG92ZXJyaWRlT3B0aW9ucywgZG9uZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbn1cbiJdfQ==