specmatic 0.72.3 → 0.72.6

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.
@@ -134,7 +134,11 @@ var test = function test(host, port, contractPath, args) {
134
134
  };
135
135
  resolve(result);
136
136
  }, function (message, error) {
137
- _logger["default"][error ? 'error' : 'debug']("Test: ".concat(message));
137
+ if (message.indexOf('API COVERAGE SUMMARY') > -1) {
138
+ _logger["default"].info("Test: ".concat(message));
139
+ } else {
140
+ _logger["default"][error ? 'error' : 'debug']("Test: ".concat(message));
141
+ }
138
142
  });
139
143
  });
140
144
  };
@@ -210,6 +214,14 @@ var printJarVersion = function printJarVersion() {
210
214
  });
211
215
  };
212
216
  exports.printJarVersion = printJarVersion;
217
+ var parseJunitXML = function parseJunitXML() {
218
+ var reportPath = _path["default"].resolve('dist/test-report/TEST-junit-jupiter.xml');
219
+ var data = _fs["default"].readFileSync(reportPath);
220
+ var parser = new _fastXmlParser.XMLParser();
221
+ var resultXml = parser.parse(data);
222
+ resultXml.testsuite.testcase = Array.isArray(resultXml.testsuite.testcase) ? resultXml.testsuite.testcase : [resultXml.testsuite.testcase];
223
+ return resultXml.testsuite.testcase;
224
+ };
213
225
  var listEndPoints = function listEndPoints(expressApp) {
214
226
  var details = (0, _expressListEndpoints["default"])(expressApp);
215
227
  var endPoints = {};
@@ -225,14 +237,6 @@ var enableApiCoverage = function enableApiCoverage(expressApp) {
225
237
  _logger["default"].info("Endpoints API registered at ".concat(END_POINTS_API_ROUTE));
226
238
  };
227
239
  exports.enableApiCoverage = enableApiCoverage;
228
- var parseJunitXML = function parseJunitXML() {
229
- var reportPath = _path["default"].resolve('dist/test-report/TEST-junit-jupiter.xml');
230
- var data = _fs["default"].readFileSync(reportPath);
231
- var parser = new _fastXmlParser.XMLParser();
232
- var resultXml = parser.parse(data);
233
- resultXml.testsuite.testcase = Array.isArray(resultXml.testsuite.testcase) ? resultXml.testsuite.testcase : [resultXml.testsuite.testcase];
234
- return resultXml.testsuite.testcase;
235
- };
236
240
  var addEndPointsRoute = function addEndPointsRoute(expressApp) {
237
241
  expressApp.get("/".concat(END_POINTS_API_ROUTE), function (_req, res) {
238
242
  var endPoints = listEndPoints(expressApp);
@@ -260,4 +264,4 @@ var addEndPointsRoute = function addEndPointsRoute(expressApp) {
260
264
  res.send(springActuatorPayload);
261
265
  });
262
266
  };
263
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZUZldGNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcGF0aCIsIl9mYXN0WG1sUGFyc2VyIiwiX2ZzIiwiX2xvZ2dlciIsIl9ydW5uZXIiLCJfcHJvbWlzZSIsIl9leHByZXNzTGlzdEVuZHBvaW50cyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJleHBvcnRzIiwiT3AiLCJPYmplY3QiLCJoYXNPd24iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwiZGVzYyIsInZhbHVlIiwiJFN5bWJvbCIsIml0ZXJhdG9yU3ltYm9sIiwiYXN5bmNJdGVyYXRvclN5bWJvbCIsImFzeW5jSXRlcmF0b3IiLCJ0b1N0cmluZ1RhZ1N5bWJvbCIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiZXJyIiwid3JhcCIsImlubmVyRm4iLCJvdXRlckZuIiwic2VsZiIsInRyeUxvY3NMaXN0IiwicHJvdG9HZW5lcmF0b3IiLCJHZW5lcmF0b3IiLCJnZW5lcmF0b3IiLCJjcmVhdGUiLCJjb250ZXh0IiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsImZuIiwiYXJnIiwidHlwZSIsImNhbGwiLCJDb250aW51ZVNlbnRpbmVsIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsIkl0ZXJhdG9yUHJvdG90eXBlIiwiZ2V0UHJvdG8iLCJnZXRQcm90b3R5cGVPZiIsIk5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlIiwidmFsdWVzIiwiR3AiLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwibWV0aG9kIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJQcm9taXNlSW1wbCIsImludm9rZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZWNvcmQiLCJyZXN1bHQiLCJfX2F3YWl0IiwidGhlbiIsInVud3JhcHBlZCIsImVycm9yIiwicHJldmlvdXNQcm9taXNlIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJzdGF0ZSIsIkVycm9yIiwiZG9uZVJlc3VsdCIsImRlbGVnYXRlIiwiZGVsZWdhdGVSZXN1bHQiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJkb25lIiwibWV0aG9kTmFtZSIsInVuZGVmaW5lZCIsIlR5cGVFcnJvciIsImluZm8iLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJsb2NzIiwiZW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsIml0ZXJhYmxlIiwiaXRlcmF0b3JNZXRob2QiLCJpc05hTiIsImxlbmd0aCIsImkiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJnZW5GdW4iLCJjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwiaXRlciIsImtleXMiLCJ2YWwiLCJvYmplY3QiLCJyZXZlcnNlIiwicG9wIiwic2tpcFRlbXBSZXNldCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJyb290UmVjb3JkIiwicnZhbCIsImV4Y2VwdGlvbiIsImhhbmRsZSIsImxvYyIsImNhdWdodCIsImhhc0NhdGNoIiwiaGFzRmluYWxseSIsImZpbmFsbHlFbnRyeSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwidGhyb3duIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsIl9uZXh0IiwiX3Rocm93IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmdzIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsIl90b1Byb3BlcnR5S2V5IiwiX2NyZWF0ZUNsYXNzIiwiQ29uc3RydWN0b3IiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIl9kZWZpbmVQcm9wZXJ0eSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJ0b1ByaW1pdGl2ZSIsInJlcyIsIk51bWJlciIsIkVORF9QT0lOVFNfQVBJX1JPVVRFIiwiU3R1YiIsImhvc3QiLCJwb3J0IiwidXJsIiwicHJvY2VzcyIsInN0YXJ0U3R1YiIsImNtZCIsImNvbmNhdCIsImpvaW4iLCJsb2dnZXIiLCJkZWJ1ZyIsImphdmFQcm9jZXNzIiwiY2FsbFNwZWNtYXRpYyIsIm1lc3NhZ2UiLCJpbmRleE9mIiwic3R1YkluZm8iLCJzcGxpdCIsIl91cmxJbmZvJGxlbmd0aCIsInRyaW0iLCJ1cmxJbmZvIiwiZXhlYyIsInBhcnNlSW50Iiwic3RvcFN0dWIiLCJfcmVmIiwiX2NhbGxlZSIsInN0dWIiLCJfamF2YVByb2Nlc3Mkc3Rkb3V0IiwiX2phdmFQcm9jZXNzJHN0ZGVyciIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJzdGRvdXQiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzdGRlcnIiLCJ0ZXJtaW5hdGUiLCJwaWQiLCJfeCIsInRlc3QiLCJjb250cmFjdFBhdGgiLCJlbnYiLCJhcGlFbmRQb2ludFVybCIsInNwZWNzUGF0aCIsInBhdGgiLCJyZXBvcnREaXIiLCJmcyIsInJtU3luYyIsInJlY3Vyc2l2ZSIsImZvcmNlIiwiX3JlamVjdCIsInRlc3RDYXNlcyIsInBhcnNlSnVuaXRYTUwiLCJ0b3RhbCIsImZhaWx1cmUiLCJmaWx0ZXIiLCJ0ZXN0Y2FzZSIsInN1Y2Nlc3MiLCJzaG93VGVzdFJlc3VsdHMiLCJ0ZXN0Rm4iLCJtYXAiLCJuYW1lVGVtcEFyciIsInJlcGxhY2UiLCJza2lwcGVkIiwic2V0RXhwZWN0YXRpb25zIiwic3R1YlBhdGgiLCJzdHViU2VydmVyQmFzZVVybCIsInN0dWJSZXNwb25zZSIsImZldGNoIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJfcmVmMiIsIl9jYWxsZWUyIiwicmVzcG9uc2UiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJzdGF0dXMiLCJ0ZXh0IiwiX3gyIiwicHJpbnRKYXJWZXJzaW9uIiwiY29uc29sZSIsImxvZyIsImxpc3RFbmRQb2ludHMiLCJleHByZXNzQXBwIiwiZGV0YWlscyIsImxpc3RFeHByZXNzRW5kcG9pbnRzIiwiZW5kUG9pbnRzIiwiYXBpRGV0YWlsIiwibWV0aG9kcyIsImVuYWJsZUFwaUNvdmVyYWdlIiwiYWRkRW5kUG9pbnRzUm91dGUiLCJyZXBvcnRQYXRoIiwiZGF0YSIsInJlYWRGaWxlU3luYyIsInBhcnNlciIsIlhNTFBhcnNlciIsInJlc3VsdFhtbCIsInBhcnNlIiwidGVzdHN1aXRlIiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0IiwiX3JlcSIsInNwcmluZ0FjdHVhdG9yUGF5bG9hZCIsImNvbnRleHRzIiwiYXBwbGljYXRpb24iLCJtYXBwaW5ncyIsImRpc3BhdGNoZXJTZXJ2bGV0cyIsImRpc3BhdGNoZXJTZXJ2bGV0Iiwic29ydCIsInJlcXVlc3RNYXBwaW5nQ29uZGl0aW9ucyIsInBhdHRlcm5zIiwic2VuZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBYTUxQYXJzZXIgfSBmcm9tICdmYXN0LXhtbC1wYXJzZXInO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vY29tbW9uL2xvZ2dlcic7XG5pbXBvcnQgeyBjYWxsU3BlY21hdGljIH0gZnJvbSAnLi4vY29tbW9uL3J1bm5lcic7XG5pbXBvcnQgdGVybWluYXRlIGZyb20gJ3Rlcm1pbmF0ZS9wcm9taXNlJztcbmltcG9ydCBsaXN0RXhwcmVzc0VuZHBvaW50cyBmcm9tICdleHByZXNzLWxpc3QtZW5kcG9pbnRzJztcblxuY29uc3QgRU5EX1BPSU5UU19BUElfUk9VVEUgPSAnX3NwZWNtYXRpYy9lbmRwb2ludHMnO1xuXG5leHBvcnQgY2xhc3MgU3R1YiB7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlcjtcbiAgICB1cmw6IHN0cmluZztcbiAgICBwcm9jZXNzOiBDaGlsZFByb2Nlc3M7XG4gICAgY29uc3RydWN0b3IoaG9zdDogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHVybDogc3RyaW5nLCBwcm9jZXNzOiBDaGlsZFByb2Nlc3MpIHtcbiAgICAgICAgdGhpcy5ob3N0ID0gaG9zdDtcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICAgIHRoaXMucHJvY2VzcyA9IHByb2Nlc3M7XG4gICAgfVxufVxuXG5jb25zdCBzdGFydFN0dWIgPSAoaG9zdD86IHN0cmluZywgcG9ydD86IG51bWJlciwgYXJncz86IChzdHJpbmcgfCBudW1iZXIpW10pOiBQcm9taXNlPFN0dWI+ID0+IHtcbiAgICB2YXIgY21kID0gYHN0dWJgO1xuICAgIGlmIChob3N0KSBjbWQgKz0gYCAtLWhvc3Q9JHtob3N0fWA7XG4gICAgaWYgKHBvcnQpIGNtZCArPSBgIC0tcG9ydD0ke3BvcnR9YDtcbiAgICBpZiAoYXJncykgY21kICs9ICcgJyArIGFyZ3Muam9pbignICcpO1xuXG4gICAgbG9nZ2VyLmluZm8oJ1N0dWI6IFN0YXJ0aW5nIHNlcnZlcicpO1xuICAgIGxvZ2dlci5kZWJ1ZyhgU3R1YjogRXhlY3V0aW5nIFwiJHtjbWR9XCJgKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGphdmFQcm9jZXNzID0gY2FsbFNwZWNtYXRpYyhcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGBTdHViOiBFeGl0ZWQgd2l0aCBlcnJvciAke2Vycn1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKG1lc3NhZ2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS5pbmRleE9mKCdTdHViIHNlcnZlciBpcyBydW5uaW5nJykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oYFN0dWI6ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0dWJJbmZvID0gbWVzc2FnZS5zcGxpdCgnb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHViSW5mby5sZW5ndGggPCAyKSByZWplY3QoJ0Nhbm5vdCBkZXRlcm1pbmUgdXJsIGZyb20gc3R1YiBvdXRwdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHN0dWJJbmZvWzFdLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cmxJbmZvID0gLyguKj8pOlxcL1xcLyguKj8pOihbMC05XSspLy5leGVjKHVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh1cmxJbmZvPy5sZW5ndGggPz8gMCkgPCA0KSByZWplY3QoJ0Nhbm5vdCBkZXRlcm1pbmUgaG9zdCBhbmQgcG9ydCBmcm9tIHN0dWIgb3V0cHV0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSByZXNvbHZlKG5ldyBTdHViKHVybEluZm8hWzJdLCBwYXJzZUludCh1cmxJbmZvIVszXSksIHVybEluZm8hWzBdLCBqYXZhUHJvY2VzcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaW5kZXhPZignQWRkcmVzcyBhbHJlYWR5IGluIHVzZScpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgU3R1YjogJHttZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KCdBZGRyZXNzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoYFN0dWI6ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgU3R1YjogJHttZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9KTtcbn07XG5cbmNvbnN0IHN0b3BTdHViID0gYXN5bmMgKHN0dWI6IFN0dWIpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoYFN0dWI6IFN0b3BwaW5nIHNlcnZlciBhdCAke3N0dWIudXJsfWApO1xuICAgIGNvbnN0IGphdmFQcm9jZXNzID0gc3R1Yi5wcm9jZXNzO1xuICAgIGphdmFQcm9jZXNzLnN0ZG91dD8ucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgamF2YVByb2Nlc3Muc3RkZXJyPy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgICBqYXZhUHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2Nsb3NlJyk7XG4gICAgYXdhaXQgdGVybWluYXRlKGphdmFQcm9jZXNzLnBpZCEpO1xuICAgIGxvZ2dlci5pbmZvKGBTdHViOiBTdG9wcGVkIHNlcnZlciBhdCAke3N0dWIudXJsfWApO1xufTtcblxuY29uc3QgdGVzdCA9IChob3N0Pzogc3RyaW5nLCBwb3J0PzogbnVtYmVyLCBjb250cmFjdFBhdGg/OiBzdHJpbmcsIGFyZ3M/OiAoc3RyaW5nIHwgbnVtYmVyKVtdKTogUHJvbWlzZTx7IFtrOiBzdHJpbmddOiBudW1iZXIgfSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudlsnZW5kcG9pbnRzQVBJJ10pIHtcbiAgICAgICAgY29uc3QgYXBpRW5kUG9pbnRVcmwgPSBob3N0ICYmIHBvcnQgPyBgaHR0cDovLyR7aG9zdH06JHtwb3J0fS8ke0VORF9QT0lOVFNfQVBJX1JPVVRFfWAgOiBgaHR0cDovL2xvY2FsaG9zdDo4MDgwLyR7RU5EX1BPSU5UU19BUElfUk9VVEV9YDtcbiAgICAgICAgcHJvY2Vzcy5lbnZbJ2VuZHBvaW50c0FQSSddID0gYXBpRW5kUG9pbnRVcmw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY3NQYXRoID0gcGF0aC5yZXNvbHZlKGNvbnRyYWN0UGF0aCArICcnKTtcblxuICAgIHZhciBjbWQgPSBgdGVzdGA7XG4gICAgaWYgKGNvbnRyYWN0UGF0aCkgY21kICs9IGAgJHtzcGVjc1BhdGh9YDtcbiAgICBjbWQgKz0gJyAtLWp1bml0UmVwb3J0RGlyPWRpc3QvdGVzdC1yZXBvcnQnO1xuICAgIGlmIChob3N0KSBjbWQgKz0gYCAtLWhvc3Q9JHtob3N0fWA7XG4gICAgaWYgKHBvcnQpIGNtZCArPSBgIC0tcG9ydD0ke3BvcnR9YDtcbiAgICBpZiAoYXJncykgY21kICs9ICcgJyArIGFyZ3Muam9pbignICcpO1xuXG4gICAgbG9nZ2VyLmluZm8oJ1Rlc3Q6IFJ1bm5pbmcnKTtcbiAgICBsb2dnZXIuZGVidWcoYFRlc3Q6IEV4ZWN1dGluZyBcIiR7Y21kfVwiYCk7XG5cbiAgICBjb25zdCByZXBvcnREaXIgPSBwYXRoLnJlc29sdmUoJ2Rpc3QvdGVzdC1yZXBvcnQnKTtcbiAgICBmcy5ybVN5bmMocmVwb3J0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIF9yZWplY3QpID0+IHtcbiAgICAgICAgY2FsbFNwZWNtYXRpYyhcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIGxvZ2dlci5lcnJvcihgVGVzdDogRmFpbGVkIHdpdGggZXJyb3IgJHtlcnJ9YCk7XG4gICAgICAgICAgICAgICAgdmFyIHRlc3RDYXNlcyA9IHBhcnNlSnVuaXRYTUwoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbCA9IHRlc3RDYXNlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgZmFpbHVyZSA9IHRlc3RDYXNlcy5maWx0ZXIoKHRlc3RjYXNlOiB7IFtpZDogc3RyaW5nXTogYW55IH0pID0+IHRlc3RjYXNlWydmYWlsdXJlJ10gfHwgdGVzdGNhc2VbJ3NraXBwZWQnXSkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0b3RhbCAtIGZhaWx1cmU7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHsgdG90YWwsIHN1Y2Nlc3MsIGZhaWx1cmUgfTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKG1lc3NhZ2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyW2Vycm9yID8gJ2Vycm9yJyA6ICdkZWJ1ZyddKGBUZXN0OiAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSk7XG59O1xuXG5jb25zdCBzaG93VGVzdFJlc3VsdHMgPSAodGVzdEZuOiAobmFtZTogc3RyaW5nLCBjYjogKCkgPT4gdm9pZCkgPT4gdm9pZCkgPT4ge1xuICAgIHZhciB0ZXN0Q2FzZXMgPSBwYXJzZUp1bml0WE1MKCk7XG4gICAgdGVzdENhc2VzLm1hcChmdW5jdGlvbiAodGVzdGNhc2U6IHsgW2lkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgICAgICB2YXIgbmFtZSA9ICdObyBOYW1lJztcbiAgICAgICAgaWYgKHRlc3RjYXNlWydzeXN0ZW0tb3V0J10pIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVUZW1wQXJyID0gdGVzdGNhc2VbJ3N5c3RlbS1vdXQnXVxuICAgICAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxuL2csICcnKVxuICAgICAgICAgICAgICAgIC5zcGxpdCgvZGlzcGxheS1uYW1lOi4qU2NlbmFyaW86IC8pO1xuICAgICAgICAgICAgaWYgKG5hbWVUZW1wQXJyLmxlbmd0aCA+IDEpIG5hbWUgPSBuYW1lVGVtcEFyclsxXS50cmltKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGVzdEZuKG5hbWUsICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0ZXN0Y2FzZS5mYWlsdXJlIHx8IHRlc3RjYXNlLnNraXBwZWQpIHRocm93IG5ldyBFcnJvcignRGlkIG5vdCBwYXNzJyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuY29uc3Qgc2V0RXhwZWN0YXRpb25zID0gKHN0dWJQYXRoOiBzdHJpbmcsIHN0dWJTZXJ2ZXJCYXNlVXJsPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3Qgc3R1YlJlc3BvbnNlID0gcmVxdWlyZShwYXRoLnJlc29sdmUoc3R1YlBhdGgpKTtcbiAgICBzdHViU2VydmVyQmFzZVVybCA9IHN0dWJTZXJ2ZXJCYXNlVXJsIHx8ICdodHRwOi8vbG9jYWxob3N0OjkwMDAnO1xuXG4gICAgbG9nZ2VyLmluZm8oYFNldCBFeHBlY3RhdGlvbnM6IFN0dWIgdXJsIGlzICR7c3R1YlNlcnZlckJhc2VVcmx9YCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBmZXRjaChgJHtzdHViU2VydmVyQmFzZVVybH0vX3NwZWNtYXRpYy9leHBlY3RhdGlvbnNgLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHN0dWJSZXNwb25zZSksXG4gICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbihhc3luYyByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGBTZXQgRXhwZWN0YXRpb25zOiBGYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGJvZHkpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoYFNldHRpbmcgZXhwZWNhdGlvbiBmYWlsZWRgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnU2V0IEV4cGVjdGF0aW9uczogRmluaXNoZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoYFNldCBFeHBlY3RhdGlvbnM6IEZhaWxlZCB3aXRoIGVycm9yICR7ZXJyfWApO1xuICAgICAgICAgICAgICAgIHJlamVjdChgU2V0dGluZyBleHBlY2F0aW9uIGZhaWxlZCB3aXRoIGVycm9yICR7ZXJyfWApO1xuICAgICAgICAgICAgfSk7XG4gICAgfSk7XG59O1xuXG5jb25zdCBwcmludEphclZlcnNpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgY21kID0gYC0tdmVyc2lvbmA7XG4gICAgbG9nZ2VyLmluZm8oJ1ByaW50IEphciBWZXJzaW9uOiBSdW5uaW5nJyk7XG4gICAgbG9nZ2VyLmRlYnVnKGBQcmludCBKYXIgVmVyc2lvbjogRXhlY3V0aW5nIFwiJHtjbWR9XCJgKTtcblxuICAgIGNhbGxTcGVjbWF0aWMoXG4gICAgICAgIGNtZCxcbiAgICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyKSBsb2dnZXIuZXJyb3IoYFByaW50IEphciBWZXJzaW9uOiBGYWlsZWQgd2l0aCBlcnJvciAke2Vycn1gKTtcbiAgICAgICAgfSxcbiAgICAgICAgKG1lc3NhZ2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIGxvZ2dlci5lcnJvcihgUHJpbnQgSmFyIFZlcnNpb246ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgIGVsc2UgY29uc29sZS5sb2coYCR7bWVzc2FnZX1gKTtcbiAgICAgICAgfVxuICAgICk7XG59O1xuXG5jb25zdCBsaXN0RW5kUG9pbnRzID0gKGV4cHJlc3NBcHA6IGFueSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9PiB7XG4gICAgY29uc3QgZGV0YWlscyA9IGxpc3RFeHByZXNzRW5kcG9pbnRzKGV4cHJlc3NBcHApO1xuICAgIGxldCBlbmRQb2ludHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICAgIGRldGFpbHMubWFwKGFwaURldGFpbCA9PiB7XG4gICAgICAgIGVuZFBvaW50c1thcGlEZXRhaWwucGF0aF0gPSBhcGlEZXRhaWwubWV0aG9kcztcbiAgICB9KTtcbiAgICBkZWxldGUgZW5kUG9pbnRzW2AvJHtFTkRfUE9JTlRTX0FQSV9ST1VURX1gXTtcbiAgICByZXR1cm4gZW5kUG9pbnRzO1xufTtcblxuY29uc3QgZW5hYmxlQXBpQ292ZXJhZ2UgPSAoZXhwcmVzc0FwcDogYW55KSA9PiB7XG4gICAgcHJvY2Vzcy5lbnZbJ2VuZHBvaW50c0FQSSddID0gRU5EX1BPSU5UU19BUElfUk9VVEU7XG4gICAgYWRkRW5kUG9pbnRzUm91dGUoZXhwcmVzc0FwcCk7XG4gICAgbG9nZ2VyLmluZm8oYEVuZHBvaW50cyBBUEkgcmVnaXN0ZXJlZCBhdCAke0VORF9QT0lOVFNfQVBJX1JPVVRFfWApO1xufTtcblxuY29uc3QgcGFyc2VKdW5pdFhNTCA9ICgpID0+IHtcbiAgICBjb25zdCByZXBvcnRQYXRoID0gcGF0aC5yZXNvbHZlKCdkaXN0L3Rlc3QtcmVwb3J0L1RFU1QtanVuaXQtanVwaXRlci54bWwnKTtcbiAgICB2YXIgZGF0YSA9IGZzLnJlYWRGaWxlU3luYyhyZXBvcnRQYXRoKTtcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgWE1MUGFyc2VyKCk7XG4gICAgdmFyIHJlc3VsdFhtbCA9IHBhcnNlci5wYXJzZShkYXRhKTtcbiAgICByZXN1bHRYbWwudGVzdHN1aXRlLnRlc3RjYXNlID0gQXJyYXkuaXNBcnJheShyZXN1bHRYbWwudGVzdHN1aXRlLnRlc3RjYXNlKSA/IHJlc3VsdFhtbC50ZXN0c3VpdGUudGVzdGNhc2UgOiBbcmVzdWx0WG1sLnRlc3RzdWl0ZS50ZXN0Y2FzZV07XG4gICAgcmV0dXJuIHJlc3VsdFhtbC50ZXN0c3VpdGUudGVzdGNhc2U7XG59O1xuXG5jb25zdCBhZGRFbmRQb2ludHNSb3V0ZSA9IChleHByZXNzQXBwOiBhbnkpID0+IHtcbiAgICBleHByZXNzQXBwLmdldChgLyR7RU5EX1BPSU5UU19BUElfUk9VVEV9YCwgKF9yZXE6IGFueSwgcmVzOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGVuZFBvaW50cyA9IGxpc3RFbmRQb2ludHMoZXhwcmVzc0FwcCk7XG4gICAgICAgIGxldCBzcHJpbmdBY3R1YXRvclBheWxvYWQgPSB7XG4gICAgICAgICAgICBjb250ZXh0czoge1xuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcHBpbmdzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyU2VydmxldHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyU2VydmxldDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBPYmplY3Qua2V5cyhlbmRQb2ludHMpLnNvcnQoKS5tYXAocGF0aCA9PiB7XG4gICAgICAgICAgICBzcHJpbmdBY3R1YXRvclBheWxvYWQuY29udGV4dHMuYXBwbGljYXRpb24ubWFwcGluZ3MuZGlzcGF0Y2hlclNlcnZsZXRzLmRpc3BhdGNoZXJTZXJ2bGV0LnB1c2goe1xuICAgICAgICAgICAgICAgIGRldGFpbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdE1hcHBpbmdDb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2RzOiBlbmRQb2ludHNbcGF0aF0uc29ydCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybnM6IFtwYXRoXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSBhcyBuZXZlcik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXMuc2VuZChzcHJpbmdBY3R1YXRvclBheWxvYWQpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgeyBzdGFydFN0dWIsIHN0b3BTdHViLCB0ZXN0LCBzZXRFeHBlY3RhdGlvbnMsIHByaW50SmFyVmVyc2lvbiwgc2hvd1Rlc3RSZXN1bHRzLCBlbmFibGVBcGlDb3ZlcmFnZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNC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
267
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZUZldGNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcGF0aCIsIl9mYXN0WG1sUGFyc2VyIiwiX2ZzIiwiX2xvZ2dlciIsIl9ydW5uZXIiLCJfcHJvbWlzZSIsIl9leHByZXNzTGlzdEVuZHBvaW50cyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJleHBvcnRzIiwiT3AiLCJPYmplY3QiLCJoYXNPd24iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwiZGVzYyIsInZhbHVlIiwiJFN5bWJvbCIsIml0ZXJhdG9yU3ltYm9sIiwiYXN5bmNJdGVyYXRvclN5bWJvbCIsImFzeW5jSXRlcmF0b3IiLCJ0b1N0cmluZ1RhZ1N5bWJvbCIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiZXJyIiwid3JhcCIsImlubmVyRm4iLCJvdXRlckZuIiwic2VsZiIsInRyeUxvY3NMaXN0IiwicHJvdG9HZW5lcmF0b3IiLCJHZW5lcmF0b3IiLCJnZW5lcmF0b3IiLCJjcmVhdGUiLCJjb250ZXh0IiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsImZuIiwiYXJnIiwidHlwZSIsImNhbGwiLCJDb250aW51ZVNlbnRpbmVsIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsIkl0ZXJhdG9yUHJvdG90eXBlIiwiZ2V0UHJvdG8iLCJnZXRQcm90b3R5cGVPZiIsIk5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlIiwidmFsdWVzIiwiR3AiLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwibWV0aG9kIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJQcm9taXNlSW1wbCIsImludm9rZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZWNvcmQiLCJyZXN1bHQiLCJfX2F3YWl0IiwidGhlbiIsInVud3JhcHBlZCIsImVycm9yIiwicHJldmlvdXNQcm9taXNlIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJzdGF0ZSIsIkVycm9yIiwiZG9uZVJlc3VsdCIsImRlbGVnYXRlIiwiZGVsZWdhdGVSZXN1bHQiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJkb25lIiwibWV0aG9kTmFtZSIsInVuZGVmaW5lZCIsIlR5cGVFcnJvciIsImluZm8iLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJsb2NzIiwiZW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsIml0ZXJhYmxlIiwiaXRlcmF0b3JNZXRob2QiLCJpc05hTiIsImxlbmd0aCIsImkiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJnZW5GdW4iLCJjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwiaXRlciIsImtleXMiLCJ2YWwiLCJvYmplY3QiLCJyZXZlcnNlIiwicG9wIiwic2tpcFRlbXBSZXNldCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJyb290UmVjb3JkIiwicnZhbCIsImV4Y2VwdGlvbiIsImhhbmRsZSIsImxvYyIsImNhdWdodCIsImhhc0NhdGNoIiwiaGFzRmluYWxseSIsImZpbmFsbHlFbnRyeSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwidGhyb3duIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsIl9uZXh0IiwiX3Rocm93IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmdzIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsIl90b1Byb3BlcnR5S2V5IiwiX2NyZWF0ZUNsYXNzIiwiQ29uc3RydWN0b3IiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIl9kZWZpbmVQcm9wZXJ0eSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJ0b1ByaW1pdGl2ZSIsInJlcyIsIk51bWJlciIsIkVORF9QT0lOVFNfQVBJX1JPVVRFIiwiU3R1YiIsImhvc3QiLCJwb3J0IiwidXJsIiwicHJvY2VzcyIsInN0YXJ0U3R1YiIsImNtZCIsImNvbmNhdCIsImpvaW4iLCJsb2dnZXIiLCJkZWJ1ZyIsImphdmFQcm9jZXNzIiwiY2FsbFNwZWNtYXRpYyIsIm1lc3NhZ2UiLCJpbmRleE9mIiwic3R1YkluZm8iLCJzcGxpdCIsIl91cmxJbmZvJGxlbmd0aCIsInRyaW0iLCJ1cmxJbmZvIiwiZXhlYyIsInBhcnNlSW50Iiwic3RvcFN0dWIiLCJfcmVmIiwiX2NhbGxlZSIsInN0dWIiLCJfamF2YVByb2Nlc3Mkc3Rkb3V0IiwiX2phdmFQcm9jZXNzJHN0ZGVyciIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJzdGRvdXQiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzdGRlcnIiLCJ0ZXJtaW5hdGUiLCJwaWQiLCJfeCIsInRlc3QiLCJjb250cmFjdFBhdGgiLCJlbnYiLCJhcGlFbmRQb2ludFVybCIsInNwZWNzUGF0aCIsInBhdGgiLCJyZXBvcnREaXIiLCJmcyIsInJtU3luYyIsInJlY3Vyc2l2ZSIsImZvcmNlIiwiX3JlamVjdCIsInRlc3RDYXNlcyIsInBhcnNlSnVuaXRYTUwiLCJ0b3RhbCIsImZhaWx1cmUiLCJmaWx0ZXIiLCJ0ZXN0Y2FzZSIsInN1Y2Nlc3MiLCJzaG93VGVzdFJlc3VsdHMiLCJ0ZXN0Rm4iLCJtYXAiLCJuYW1lVGVtcEFyciIsInJlcGxhY2UiLCJza2lwcGVkIiwic2V0RXhwZWN0YXRpb25zIiwic3R1YlBhdGgiLCJzdHViU2VydmVyQmFzZVVybCIsInN0dWJSZXNwb25zZSIsImZldGNoIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJfcmVmMiIsIl9jYWxsZWUyIiwicmVzcG9uc2UiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJzdGF0dXMiLCJ0ZXh0IiwiX3gyIiwicHJpbnRKYXJWZXJzaW9uIiwiY29uc29sZSIsImxvZyIsInJlcG9ydFBhdGgiLCJkYXRhIiwicmVhZEZpbGVTeW5jIiwicGFyc2VyIiwiWE1MUGFyc2VyIiwicmVzdWx0WG1sIiwicGFyc2UiLCJ0ZXN0c3VpdGUiLCJBcnJheSIsImlzQXJyYXkiLCJsaXN0RW5kUG9pbnRzIiwiZXhwcmVzc0FwcCIsImRldGFpbHMiLCJsaXN0RXhwcmVzc0VuZHBvaW50cyIsImVuZFBvaW50cyIsImFwaURldGFpbCIsIm1ldGhvZHMiLCJlbmFibGVBcGlDb3ZlcmFnZSIsImFkZEVuZFBvaW50c1JvdXRlIiwiZ2V0IiwiX3JlcSIsInNwcmluZ0FjdHVhdG9yUGF5bG9hZCIsImNvbnRleHRzIiwiYXBwbGljYXRpb24iLCJtYXBwaW5ncyIsImRpc3BhdGNoZXJTZXJ2bGV0cyIsImRpc3BhdGNoZXJTZXJ2bGV0Iiwic29ydCIsInJlcXVlc3RNYXBwaW5nQ29uZGl0aW9ucyIsInBhdHRlcm5zIiwic2VuZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBYTUxQYXJzZXIgfSBmcm9tICdmYXN0LXhtbC1wYXJzZXInO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vY29tbW9uL2xvZ2dlcic7XG5pbXBvcnQgeyBjYWxsU3BlY21hdGljIH0gZnJvbSAnLi4vY29tbW9uL3J1bm5lcic7XG5pbXBvcnQgdGVybWluYXRlIGZyb20gJ3Rlcm1pbmF0ZS9wcm9taXNlJztcbmltcG9ydCBsaXN0RXhwcmVzc0VuZHBvaW50cyBmcm9tICdleHByZXNzLWxpc3QtZW5kcG9pbnRzJztcblxuY29uc3QgRU5EX1BPSU5UU19BUElfUk9VVEUgPSAnX3NwZWNtYXRpYy9lbmRwb2ludHMnO1xuXG5leHBvcnQgY2xhc3MgU3R1YiB7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBvcnQ6IG51bWJlcjtcbiAgICB1cmw6IHN0cmluZztcbiAgICBwcm9jZXNzOiBDaGlsZFByb2Nlc3M7XG4gICAgY29uc3RydWN0b3IoaG9zdDogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHVybDogc3RyaW5nLCBwcm9jZXNzOiBDaGlsZFByb2Nlc3MpIHtcbiAgICAgICAgdGhpcy5ob3N0ID0gaG9zdDtcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICAgIHRoaXMucHJvY2VzcyA9IHByb2Nlc3M7XG4gICAgfVxufVxuXG5jb25zdCBzdGFydFN0dWIgPSAoaG9zdD86IHN0cmluZywgcG9ydD86IG51bWJlciwgYXJncz86IChzdHJpbmcgfCBudW1iZXIpW10pOiBQcm9taXNlPFN0dWI+ID0+IHtcbiAgICB2YXIgY21kID0gYHN0dWJgO1xuICAgIGlmIChob3N0KSBjbWQgKz0gYCAtLWhvc3Q9JHtob3N0fWA7XG4gICAgaWYgKHBvcnQpIGNtZCArPSBgIC0tcG9ydD0ke3BvcnR9YDtcbiAgICBpZiAoYXJncykgY21kICs9ICcgJyArIGFyZ3Muam9pbignICcpO1xuXG4gICAgbG9nZ2VyLmluZm8oJ1N0dWI6IFN0YXJ0aW5nIHNlcnZlcicpO1xuICAgIGxvZ2dlci5kZWJ1ZyhgU3R1YjogRXhlY3V0aW5nIFwiJHtjbWR9XCJgKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGphdmFQcm9jZXNzID0gY2FsbFNwZWNtYXRpYyhcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGBTdHViOiBFeGl0ZWQgd2l0aCBlcnJvciAke2Vycn1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKG1lc3NhZ2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS5pbmRleE9mKCdTdHViIHNlcnZlciBpcyBydW5uaW5nJykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oYFN0dWI6ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0dWJJbmZvID0gbWVzc2FnZS5zcGxpdCgnb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHViSW5mby5sZW5ndGggPCAyKSByZWplY3QoJ0Nhbm5vdCBkZXRlcm1pbmUgdXJsIGZyb20gc3R1YiBvdXRwdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHN0dWJJbmZvWzFdLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cmxJbmZvID0gLyguKj8pOlxcL1xcLyguKj8pOihbMC05XSspLy5leGVjKHVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh1cmxJbmZvPy5sZW5ndGggPz8gMCkgPCA0KSByZWplY3QoJ0Nhbm5vdCBkZXRlcm1pbmUgaG9zdCBhbmQgcG9ydCBmcm9tIHN0dWIgb3V0cHV0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSByZXNvbHZlKG5ldyBTdHViKHVybEluZm8hWzJdLCBwYXJzZUludCh1cmxJbmZvIVszXSksIHVybEluZm8hWzBdLCBqYXZhUHJvY2VzcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaW5kZXhPZignQWRkcmVzcyBhbHJlYWR5IGluIHVzZScpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgU3R1YjogJHttZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KCdBZGRyZXNzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoYFN0dWI6ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgU3R1YjogJHttZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9KTtcbn07XG5cbmNvbnN0IHN0b3BTdHViID0gYXN5bmMgKHN0dWI6IFN0dWIpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoYFN0dWI6IFN0b3BwaW5nIHNlcnZlciBhdCAke3N0dWIudXJsfWApO1xuICAgIGNvbnN0IGphdmFQcm9jZXNzID0gc3R1Yi5wcm9jZXNzO1xuICAgIGphdmFQcm9jZXNzLnN0ZG91dD8ucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgamF2YVByb2Nlc3Muc3RkZXJyPy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgICBqYXZhUHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2Nsb3NlJyk7XG4gICAgYXdhaXQgdGVybWluYXRlKGphdmFQcm9jZXNzLnBpZCEpO1xuICAgIGxvZ2dlci5pbmZvKGBTdHViOiBTdG9wcGVkIHNlcnZlciBhdCAke3N0dWIudXJsfWApO1xufTtcblxuY29uc3QgdGVzdCA9IChob3N0Pzogc3RyaW5nLCBwb3J0PzogbnVtYmVyLCBjb250cmFjdFBhdGg/OiBzdHJpbmcsIGFyZ3M/OiAoc3RyaW5nIHwgbnVtYmVyKVtdKTogUHJvbWlzZTx7IFtrOiBzdHJpbmddOiBudW1iZXIgfSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudlsnZW5kcG9pbnRzQVBJJ10pIHtcbiAgICAgICAgY29uc3QgYXBpRW5kUG9pbnRVcmwgPSBob3N0ICYmIHBvcnQgPyBgaHR0cDovLyR7aG9zdH06JHtwb3J0fS8ke0VORF9QT0lOVFNfQVBJX1JPVVRFfWAgOiBgaHR0cDovL2xvY2FsaG9zdDo4MDgwLyR7RU5EX1BPSU5UU19BUElfUk9VVEV9YDtcbiAgICAgICAgcHJvY2Vzcy5lbnZbJ2VuZHBvaW50c0FQSSddID0gYXBpRW5kUG9pbnRVcmw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY3NQYXRoID0gcGF0aC5yZXNvbHZlKGNvbnRyYWN0UGF0aCArICcnKTtcblxuICAgIHZhciBjbWQgPSBgdGVzdGA7XG4gICAgaWYgKGNvbnRyYWN0UGF0aCkgY21kICs9IGAgJHtzcGVjc1BhdGh9YDtcbiAgICBjbWQgKz0gJyAtLWp1bml0UmVwb3J0RGlyPWRpc3QvdGVzdC1yZXBvcnQnO1xuICAgIGlmIChob3N0KSBjbWQgKz0gYCAtLWhvc3Q9JHtob3N0fWA7XG4gICAgaWYgKHBvcnQpIGNtZCArPSBgIC0tcG9ydD0ke3BvcnR9YDtcbiAgICBpZiAoYXJncykgY21kICs9ICcgJyArIGFyZ3Muam9pbignICcpO1xuXG4gICAgbG9nZ2VyLmluZm8oJ1Rlc3Q6IFJ1bm5pbmcnKTtcbiAgICBsb2dnZXIuZGVidWcoYFRlc3Q6IEV4ZWN1dGluZyBcIiR7Y21kfVwiYCk7XG5cbiAgICBjb25zdCByZXBvcnREaXIgPSBwYXRoLnJlc29sdmUoJ2Rpc3QvdGVzdC1yZXBvcnQnKTtcbiAgICBmcy5ybVN5bmMocmVwb3J0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIF9yZWplY3QpID0+IHtcbiAgICAgICAgY2FsbFNwZWNtYXRpYyhcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIGxvZ2dlci5lcnJvcihgVGVzdDogRmFpbGVkIHdpdGggZXJyb3IgJHtlcnJ9YCk7XG4gICAgICAgICAgICAgICAgdmFyIHRlc3RDYXNlcyA9IHBhcnNlSnVuaXRYTUwoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbCA9IHRlc3RDYXNlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgZmFpbHVyZSA9IHRlc3RDYXNlcy5maWx0ZXIoKHRlc3RjYXNlOiB7IFtpZDogc3RyaW5nXTogYW55IH0pID0+IHRlc3RjYXNlWydmYWlsdXJlJ10gfHwgdGVzdGNhc2VbJ3NraXBwZWQnXSkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0b3RhbCAtIGZhaWx1cmU7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHsgdG90YWwsIHN1Y2Nlc3MsIGZhaWx1cmUgfTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKG1lc3NhZ2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2UuaW5kZXhPZignQVBJIENPVkVSQUdFIFNVTU1BUlknKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKGBUZXN0OiAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyW2Vycm9yID8gJ2Vycm9yJyA6ICdkZWJ1ZyddKGBUZXN0OiAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0pO1xufTtcblxuY29uc3Qgc2hvd1Rlc3RSZXN1bHRzID0gKHRlc3RGbjogKG5hbWU6IHN0cmluZywgY2I6ICgpID0+IHZvaWQpID0+IHZvaWQpID0+IHtcbiAgICB2YXIgdGVzdENhc2VzID0gcGFyc2VKdW5pdFhNTCgpO1xuICAgIHRlc3RDYXNlcy5tYXAoZnVuY3Rpb24gKHRlc3RjYXNlOiB7IFtpZDogc3RyaW5nXTogYW55IH0pIHtcbiAgICAgICAgdmFyIG5hbWUgPSAnTm8gTmFtZSc7XG4gICAgICAgIGlmICh0ZXN0Y2FzZVsnc3lzdGVtLW91dCddKSB7XG4gICAgICAgICAgICBjb25zdCBuYW1lVGVtcEFyciA9IHRlc3RjYXNlWydzeXN0ZW0tb3V0J11cbiAgICAgICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcbi9nLCAnJylcbiAgICAgICAgICAgICAgICAuc3BsaXQoL2Rpc3BsYXktbmFtZTouKlNjZW5hcmlvOiAvKTtcbiAgICAgICAgICAgIGlmIChuYW1lVGVtcEFyci5sZW5ndGggPiAxKSBuYW1lID0gbmFtZVRlbXBBcnJbMV0udHJpbSgpO1xuICAgICAgICB9XG4gICAgICAgIHRlc3RGbihuYW1lLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGVzdGNhc2UuZmFpbHVyZSB8fCB0ZXN0Y2FzZS5za2lwcGVkKSB0aHJvdyBuZXcgRXJyb3IoJ0RpZCBub3QgcGFzcycpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn07XG5cbmNvbnN0IHNldEV4cGVjdGF0aW9ucyA9IChzdHViUGF0aDogc3RyaW5nLCBzdHViU2VydmVyQmFzZVVybD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHN0dWJSZXNwb25zZSA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKHN0dWJQYXRoKSk7XG4gICAgc3R1YlNlcnZlckJhc2VVcmwgPSBzdHViU2VydmVyQmFzZVVybCB8fCAnaHR0cDovL2xvY2FsaG9zdDo5MDAwJztcblxuICAgIGxvZ2dlci5pbmZvKGBTZXQgRXhwZWN0YXRpb25zOiBTdHViIHVybCBpcyAke3N0dWJTZXJ2ZXJCYXNlVXJsfWApO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgZmV0Y2goYCR7c3R1YlNlcnZlckJhc2VVcmx9L19zcGVjbWF0aWMvZXhwZWN0YXRpb25zYCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShzdHViUmVzcG9uc2UpLFxuICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgU2V0IEV4cGVjdGF0aW9uczogRmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihib2R5KTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGBTZXR0aW5nIGV4cGVjYXRpb24gZmFpbGVkYCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ1NldCBFeHBlY3RhdGlvbnM6IEZpbmlzaGVkJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGBTZXQgRXhwZWN0YXRpb25zOiBGYWlsZWQgd2l0aCBlcnJvciAke2Vycn1gKTtcbiAgICAgICAgICAgICAgICByZWplY3QoYFNldHRpbmcgZXhwZWNhdGlvbiBmYWlsZWQgd2l0aCBlcnJvciAke2Vycn1gKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuY29uc3QgcHJpbnRKYXJWZXJzaW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IGNtZCA9IGAtLXZlcnNpb25gO1xuICAgIGxvZ2dlci5pbmZvKCdQcmludCBKYXIgVmVyc2lvbjogUnVubmluZycpO1xuICAgIGxvZ2dlci5kZWJ1ZyhgUHJpbnQgSmFyIFZlcnNpb246IEV4ZWN1dGluZyBcIiR7Y21kfVwiYCk7XG5cbiAgICBjYWxsU3BlY21hdGljKFxuICAgICAgICBjbWQsXG4gICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVycikgbG9nZ2VyLmVycm9yKGBQcmludCBKYXIgVmVyc2lvbjogRmFpbGVkIHdpdGggZXJyb3IgJHtlcnJ9YCk7XG4gICAgICAgIH0sXG4gICAgICAgIChtZXNzYWdlLCBlcnJvcikgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yKSBsb2dnZXIuZXJyb3IoYFByaW50IEphciBWZXJzaW9uOiAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICBlbHNlIGNvbnNvbGUubG9nKGAke21lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICApO1xufTtcblxuY29uc3QgcGFyc2VKdW5pdFhNTCA9ICgpID0+IHtcbiAgICBjb25zdCByZXBvcnRQYXRoID0gcGF0aC5yZXNvbHZlKCdkaXN0L3Rlc3QtcmVwb3J0L1RFU1QtanVuaXQtanVwaXRlci54bWwnKTtcbiAgICB2YXIgZGF0YSA9IGZzLnJlYWRGaWxlU3luYyhyZXBvcnRQYXRoKTtcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgWE1MUGFyc2VyKCk7XG4gICAgdmFyIHJlc3VsdFhtbCA9IHBhcnNlci5wYXJzZShkYXRhKTtcbiAgICByZXN1bHRYbWwudGVzdHN1aXRlLnRlc3RjYXNlID0gQXJyYXkuaXNBcnJheShyZXN1bHRYbWwudGVzdHN1aXRlLnRlc3RjYXNlKSA/IHJlc3VsdFhtbC50ZXN0c3VpdGUudGVzdGNhc2UgOiBbcmVzdWx0WG1sLnRlc3RzdWl0ZS50ZXN0Y2FzZV07XG4gICAgcmV0dXJuIHJlc3VsdFhtbC50ZXN0c3VpdGUudGVzdGNhc2U7XG59O1xuXG5jb25zdCBsaXN0RW5kUG9pbnRzID0gKGV4cHJlc3NBcHA6IGFueSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9PiB7XG4gICAgY29uc3QgZGV0YWlscyA9IGxpc3RFeHByZXNzRW5kcG9pbnRzKGV4cHJlc3NBcHApO1xuICAgIGxldCBlbmRQb2ludHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICAgIGRldGFpbHMubWFwKGFwaURldGFpbCA9PiB7XG4gICAgICAgIGVuZFBvaW50c1thcGlEZXRhaWwucGF0aF0gPSBhcGlEZXRhaWwubWV0aG9kcztcbiAgICB9KTtcbiAgICBkZWxldGUgZW5kUG9pbnRzW2AvJHtFTkRfUE9JTlRTX0FQSV9ST1VURX1gXTtcbiAgICByZXR1cm4gZW5kUG9pbnRzO1xufTtcblxuY29uc3QgZW5hYmxlQXBpQ292ZXJhZ2UgPSAoZXhwcmVzc0FwcDogYW55KSA9PiB7XG4gICAgcHJvY2Vzcy5lbnZbJ2VuZHBvaW50c0FQSSddID0gRU5EX1BPSU5UU19BUElfUk9VVEU7XG4gICAgYWRkRW5kUG9pbnRzUm91dGUoZXhwcmVzc0FwcCk7XG4gICAgbG9nZ2VyLmluZm8oYEVuZHBvaW50cyBBUEkgcmVnaXN0ZXJlZCBhdCAke0VORF9QT0lOVFNfQVBJX1JPVVRFfWApO1xufTtcblxuY29uc3QgYWRkRW5kUG9pbnRzUm91dGUgPSAoZXhwcmVzc0FwcDogYW55KSA9PiB7XG4gICAgZXhwcmVzc0FwcC5nZXQoYC8ke0VORF9QT0lOVFNfQVBJX1JPVVRFfWAsIChfcmVxOiBhbnksIHJlczogYW55KSA9PiB7XG4gICAgICAgIGxldCBlbmRQb2ludHMgPSBsaXN0RW5kUG9pbnRzKGV4cHJlc3NBcHApO1xuICAgICAgICBsZXQgc3ByaW5nQWN0dWF0b3JQYXlsb2FkID0ge1xuICAgICAgICAgICAgY29udGV4dHM6IHtcbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBtYXBwaW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hlclNlcnZsZXRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hlclNlcnZsZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmtleXMoZW5kUG9pbnRzKVxuICAgICAgICAgICAgLnNvcnQoKVxuICAgICAgICAgICAgLm1hcChwYXRoID0+IHtcbiAgICAgICAgICAgICAgICBzcHJpbmdBY3R1YXRvclBheWxvYWQuY29udGV4dHMuYXBwbGljYXRpb24ubWFwcGluZ3MuZGlzcGF0Y2hlclNlcnZsZXRzLmRpc3BhdGNoZXJTZXJ2bGV0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWxzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0TWFwcGluZ0NvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2RzOiBlbmRQb2ludHNbcGF0aF0uc29ydCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5zOiBbcGF0aF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0gYXMgbmV2ZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJlcy5zZW5kKHNwcmluZ0FjdHVhdG9yUGF5bG9hZCk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgeyBzdGFydFN0dWIsIHN0b3BTdHViLCB0ZXN0LCBzZXRFeHBlY3RhdGlvbnMsIHByaW50SmFyVmVyc2lvbiwgc2hvd1Rlc3RSZXN1bHRzLCBlbmFibGVBcGlDb3ZlcmFnZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxHQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxxQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQTBELFNBQUFELHVCQUFBUyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxRQUFBRixHQUFBLHNDQUFBRSxPQUFBLHdCQUFBQyxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUosR0FBQSxrQkFBQUEsR0FBQSxnQkFBQUEsR0FBQSxXQUFBQSxHQUFBLHlCQUFBRyxNQUFBLElBQUFILEdBQUEsQ0FBQUssV0FBQSxLQUFBRixNQUFBLElBQUFILEdBQUEsS0FBQUcsTUFBQSxDQUFBRyxTQUFBLHFCQUFBTixHQUFBLEtBQUFFLE9BQUEsQ0FBQUYsR0FBQTtBQUFBLFNBQUFPLG9CQUFBLGtCQVAxRCxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsT0FBQSxTQUFBQSxPQUFBLE9BQUFDLEVBQUEsR0FBQUMsTUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specmatic",
3
- "version": "0.72.3",
3
+ "version": "0.72.6",
4
4
  "description": "Node wrapper for Specmatic",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/core/index.ts CHANGED
@@ -110,7 +110,11 @@ const test = (host?: string, port?: number, contractPath?: string, args?: (strin
110
110
  resolve(result);
111
111
  },
112
112
  (message, error) => {
113
- logger[error ? 'error' : 'debug'](`Test: ${message}`);
113
+ if (message.indexOf('API COVERAGE SUMMARY') > -1) {
114
+ logger.info(`Test: ${message}`);
115
+ } else {
116
+ logger[error ? 'error' : 'debug'](`Test: ${message}`);
117
+ }
114
118
  }
115
119
  );
116
120
  });
@@ -179,6 +183,15 @@ const printJarVersion = () => {
179
183
  );
180
184
  };
181
185
 
186
+ const parseJunitXML = () => {
187
+ const reportPath = path.resolve('dist/test-report/TEST-junit-jupiter.xml');
188
+ var data = fs.readFileSync(reportPath);
189
+ const parser = new XMLParser();
190
+ var resultXml = parser.parse(data);
191
+ resultXml.testsuite.testcase = Array.isArray(resultXml.testsuite.testcase) ? resultXml.testsuite.testcase : [resultXml.testsuite.testcase];
192
+ return resultXml.testsuite.testcase;
193
+ };
194
+
182
195
  const listEndPoints = (expressApp: any): { [key: string]: string[] } => {
183
196
  const details = listExpressEndpoints(expressApp);
184
197
  let endPoints: { [key: string]: string[] } = {};
@@ -195,15 +208,6 @@ const enableApiCoverage = (expressApp: any) => {
195
208
  logger.info(`Endpoints API registered at ${END_POINTS_API_ROUTE}`);
196
209
  };
197
210
 
198
- const parseJunitXML = () => {
199
- const reportPath = path.resolve('dist/test-report/TEST-junit-jupiter.xml');
200
- var data = fs.readFileSync(reportPath);
201
- const parser = new XMLParser();
202
- var resultXml = parser.parse(data);
203
- resultXml.testsuite.testcase = Array.isArray(resultXml.testsuite.testcase) ? resultXml.testsuite.testcase : [resultXml.testsuite.testcase];
204
- return resultXml.testsuite.testcase;
205
- };
206
-
207
211
  const addEndPointsRoute = (expressApp: any) => {
208
212
  expressApp.get(`/${END_POINTS_API_ROUTE}`, (_req: any, res: any) => {
209
213
  let endPoints = listEndPoints(expressApp);
@@ -218,18 +222,20 @@ const addEndPointsRoute = (expressApp: any) => {
218
222
  },
219
223
  },
220
224
  };
221
- Object.keys(endPoints).sort().map(path => {
222
- springActuatorPayload.contexts.application.mappings.dispatcherServlets.dispatcherServlet.push({
223
- details: {
224
- requestMappingConditions: {
225
- methods: endPoints[path].sort(),
226
- patterns: [path],
225
+ Object.keys(endPoints)
226
+ .sort()
227
+ .map(path => {
228
+ springActuatorPayload.contexts.application.mappings.dispatcherServlets.dispatcherServlet.push({
229
+ details: {
230
+ requestMappingConditions: {
231
+ methods: endPoints[path].sort(),
232
+ patterns: [path],
233
+ },
227
234
  },
228
- },
229
- } as never);
230
- });
235
+ } as never);
236
+ });
231
237
  res.send(springActuatorPayload);
232
238
  });
233
- }
239
+ };
234
240
 
235
241
  export { startStub, stopStub, test, setExpectations, printJarVersion, showTestResults, enableApiCoverage };
package/tsconfig.json CHANGED
@@ -11,7 +11,7 @@
11
11
  // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
12
12
 
13
13
  /* Language and Environment */
14
- "target": "esnext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
14
+ "target": "es2015", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
15
15
  // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
16
16
  // "jsx": "preserve", /* Specify what JSX code is generated. */
17
17
  // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */