oxygen-cli 1.41.0 → 1.42.0

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.
Files changed (285) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/core/OxygenCore.js +41 -274
  3. package/build/core/OxygenEvents.js +2 -12
  4. package/build/core/OxygenModule.js +1 -16
  5. package/build/core/OxygenService.js +1 -12
  6. package/build/core/OxygenSubModule.js +1 -10
  7. package/build/core/WebDriverModule.js +2 -32
  8. package/build/core/utils.js +2 -21
  9. package/build/errors/HookError.js +2 -8
  10. package/build/errors/ModuleError.js +2 -8
  11. package/build/errors/ModuleUnavailableError.js +1 -3
  12. package/build/errors/OxygenError.js +3 -36
  13. package/build/errors/ScriptNotFound.js +2 -8
  14. package/build/errors/helper.js +50 -82
  15. package/build/index.js +8 -22
  16. package/build/lib/cli-util.js +35 -105
  17. package/build/lib/cli.js +3 -30
  18. package/build/lib/debugger.js +2 -145
  19. package/build/lib/img-merge.js +2 -16
  20. package/build/lib/launcher.js +3 -31
  21. package/build/lib/moduleRequire.js +1 -4
  22. package/build/lib/parallel-launcher.js +44 -84
  23. package/build/lib/param-manager.js +2 -29
  24. package/build/lib/param-reader-csv.js +1 -15
  25. package/build/lib/param-reader-excel.js +1 -14
  26. package/build/lib/param-reader-json.js +1 -10
  27. package/build/lib/text-to-image.js +5 -26
  28. package/build/lib/util.js +4 -75
  29. package/build/model/case-result.js +1 -2
  30. package/build/model/failure.js +1 -2
  31. package/build/model/status.js +1 -2
  32. package/build/model/step-result.js +1 -2
  33. package/build/model/suite-result.js +1 -2
  34. package/build/model/test-result.js +1 -2
  35. package/build/model/testcase.js +1 -2
  36. package/build/model/testsuite.js +1 -2
  37. package/build/ox_modules/index.js +20 -41
  38. package/build/ox_modules/module-assert.js +9 -28
  39. package/build/ox_modules/module-date.js +3 -8
  40. package/build/ox_modules/module-db.js +8 -29
  41. package/build/ox_modules/module-email.js +14 -45
  42. package/build/ox_modules/module-eyes.js +6 -47
  43. package/build/ox_modules/module-http/ntlm-util.js +3 -7
  44. package/build/ox_modules/module-http/ntlm.js +9 -78
  45. package/build/ox_modules/module-http.js +69 -172
  46. package/build/ox_modules/module-log.js +10 -23
  47. package/build/ox_modules/module-mailinator.js +11 -33
  48. package/build/ox_modules/module-mob/commands/alertAccept.js +1 -3
  49. package/build/ox_modules/module-mob/commands/alertDismiss.js +1 -3
  50. package/build/ox_modules/module-mob/commands/assertAlert.js +1 -7
  51. package/build/ox_modules/module-mob/commands/assertText.js +1 -4
  52. package/build/ox_modules/module-mob/commands/assertTitle.js +1 -5
  53. package/build/ox_modules/module-mob/commands/assertValue.js +9 -17
  54. package/build/ox_modules/module-mob/commands/back.js +1 -3
  55. package/build/ox_modules/module-mob/commands/clear.js +1 -5
  56. package/build/ox_modules/module-mob/commands/click.js +3 -5
  57. package/build/ox_modules/module-mob/commands/clickHidden.js +3 -10
  58. package/build/ox_modules/module-mob/commands/clickLong.js +1 -3
  59. package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +1 -5
  60. package/build/ox_modules/module-mob/commands/closeApp.js +1 -3
  61. package/build/ox_modules/module-mob/commands/debug.js +2 -3
  62. package/build/ox_modules/module-mob/commands/dragAndDrop.js +1 -3
  63. package/build/ox_modules/module-mob/commands/enableNetwork.js +4 -13
  64. package/build/ox_modules/module-mob/commands/execute.js +1 -3
  65. package/build/ox_modules/module-mob/commands/findElement.js +1 -4
  66. package/build/ox_modules/module-mob/commands/findElements.js +1 -5
  67. package/build/ox_modules/module-mob/commands/getAlertText.js +1 -3
  68. package/build/ox_modules/module-mob/commands/getAppiumLogs.js +1 -3
  69. package/build/ox_modules/module-mob/commands/getBrowserLogs.js +1 -11
  70. package/build/ox_modules/module-mob/commands/getCurrentActivity.js +1 -3
  71. package/build/ox_modules/module-mob/commands/getCurrentPackage.js +1 -3
  72. package/build/ox_modules/module-mob/commands/getDeviceLogs.js +1 -10
  73. package/build/ox_modules/module-mob/commands/getDeviceTime.js +1 -3
  74. package/build/ox_modules/module-mob/commands/getLocation.js +1 -3
  75. package/build/ox_modules/module-mob/commands/getSource.js +1 -3
  76. package/build/ox_modules/module-mob/commands/getText.js +1 -5
  77. package/build/ox_modules/module-mob/commands/getTitle.js +1 -3
  78. package/build/ox_modules/module-mob/commands/getUrl.js +1 -3
  79. package/build/ox_modules/module-mob/commands/getValue.js +5 -10
  80. package/build/ox_modules/module-mob/commands/getWindowHandles.js +1 -3
  81. package/build/ox_modules/module-mob/commands/hideKeyboard.js +1 -3
  82. package/build/ox_modules/module-mob/commands/index.js +1 -148
  83. package/build/ox_modules/module-mob/commands/installApp.js +1 -3
  84. package/build/ox_modules/module-mob/commands/isAppInstalled.js +1 -3
  85. package/build/ox_modules/module-mob/commands/isCheckable.js +1 -3
  86. package/build/ox_modules/module-mob/commands/isChecked.js +1 -3
  87. package/build/ox_modules/module-mob/commands/isClickable.js +1 -3
  88. package/build/ox_modules/module-mob/commands/isExist.js +1 -4
  89. package/build/ox_modules/module-mob/commands/isSelected.js +1 -3
  90. package/build/ox_modules/module-mob/commands/isVisible.js +1 -4
  91. package/build/ox_modules/module-mob/commands/isWebViewContext.js +1 -3
  92. package/build/ox_modules/module-mob/commands/launchApp.js +1 -3
  93. package/build/ox_modules/module-mob/commands/longPressKeyCode.js +1 -3
  94. package/build/ox_modules/module-mob/commands/open.js +1 -4
  95. package/build/ox_modules/module-mob/commands/pause.js +1 -3
  96. package/build/ox_modules/module-mob/commands/removeApp.js +1 -3
  97. package/build/ox_modules/module-mob/commands/resetApp.js +1 -3
  98. package/build/ox_modules/module-mob/commands/scrollIntoElement.js +1 -7
  99. package/build/ox_modules/module-mob/commands/scrollIntoView.js +1 -3
  100. package/build/ox_modules/module-mob/commands/select.js +1 -5
  101. package/build/ox_modules/module-mob/commands/selectFrame.js +1 -5
  102. package/build/ox_modules/module-mob/commands/selectWindow.js +5 -27
  103. package/build/ox_modules/module-mob/commands/sendKeys.js +6 -10
  104. package/build/ox_modules/module-mob/commands/setContext.js +1 -3
  105. package/build/ox_modules/module-mob/commands/setNativeContext.js +1 -3
  106. package/build/ox_modules/module-mob/commands/setTimeout.js +1 -3
  107. package/build/ox_modules/module-mob/commands/setWebViewContext.js +3 -7
  108. package/build/ox_modules/module-mob/commands/shake.js +1 -3
  109. package/build/ox_modules/module-mob/commands/smsClickLink.js +1 -3
  110. package/build/ox_modules/module-mob/commands/smsGetText.js +3 -7
  111. package/build/ox_modules/module-mob/commands/swipe.js +1 -3
  112. package/build/ox_modules/module-mob/commands/swipeElement.js +1 -3
  113. package/build/ox_modules/module-mob/commands/swipeScreen.js +1 -3
  114. package/build/ox_modules/module-mob/commands/takeScreenshot.js +1 -3
  115. package/build/ox_modules/module-mob/commands/tap.js +1 -3
  116. package/build/ox_modules/module-mob/commands/type.js +3 -8
  117. package/build/ox_modules/module-mob/commands/unlockPattern.js +9 -11
  118. package/build/ox_modules/module-mob/commands/waitForExist.js +1 -3
  119. package/build/ox_modules/module-mob/commands/waitForInteractable.js +1 -4
  120. package/build/ox_modules/module-mob/commands/waitForVisible.js +1 -3
  121. package/build/ox_modules/module-mob.js +74 -216
  122. package/build/ox_modules/module-mongo.js +14 -51
  123. package/build/ox_modules/module-pdf.js +24 -65
  124. package/build/ox_modules/module-proxy.js +9 -69
  125. package/build/ox_modules/module-serial.js +8 -33
  126. package/build/ox_modules/module-shell.js +10 -30
  127. package/build/ox_modules/module-soap.js +17 -52
  128. package/build/ox_modules/module-twilio.js +11 -54
  129. package/build/ox_modules/module-utils.js +22 -58
  130. package/build/ox_modules/module-web/commands/alertAccept.js +1 -3
  131. package/build/ox_modules/module-web/commands/alertDismiss.js +1 -3
  132. package/build/ox_modules/module-web/commands/assertAlert.js +1 -7
  133. package/build/ox_modules/module-web/commands/assertExist.js +1 -3
  134. package/build/ox_modules/module-web/commands/assertSelectedLabel.js +1 -5
  135. package/build/ox_modules/module-web/commands/assertSelectedValue.js +1 -4
  136. package/build/ox_modules/module-web/commands/assertText.js +1 -4
  137. package/build/ox_modules/module-web/commands/assertTextNotPresent.js +1 -7
  138. package/build/ox_modules/module-web/commands/assertTextPresent.js +1 -7
  139. package/build/ox_modules/module-web/commands/assertTitle.js +1 -4
  140. package/build/ox_modules/module-web/commands/assertValue.js +1 -4
  141. package/build/ox_modules/module-web/commands/back.js +1 -3
  142. package/build/ox_modules/module-web/commands/clear.js +1 -6
  143. package/build/ox_modules/module-web/commands/click.js +4 -15
  144. package/build/ox_modules/module-web/commands/clickHidden.js +2 -8
  145. package/build/ox_modules/module-web/commands/closeWindow.js +1 -3
  146. package/build/ox_modules/module-web/commands/debug.js +2 -3
  147. package/build/ox_modules/module-web/commands/deleteCookies.js +1 -3
  148. package/build/ox_modules/module-web/commands/deselect.js +1 -3
  149. package/build/ox_modules/module-web/commands/doubleClick.js +3 -10
  150. package/build/ox_modules/module-web/commands/dragAndDrop.js +1 -3
  151. package/build/ox_modules/module-web/commands/execute.js +1 -3
  152. package/build/ox_modules/module-web/commands/fileBrowse.js +4 -11
  153. package/build/ox_modules/module-web/commands/findElement.js +1 -4
  154. package/build/ox_modules/module-web/commands/findElements.js +1 -5
  155. package/build/ox_modules/module-web/commands/fullscreenWindow.js +1 -3
  156. package/build/ox_modules/module-web/commands/getAlertText.js +1 -3
  157. package/build/ox_modules/module-web/commands/getAttribute.js +1 -5
  158. package/build/ox_modules/module-web/commands/getBrowserLogs.js +1 -4
  159. package/build/ox_modules/module-web/commands/getCookies.js +1 -3
  160. package/build/ox_modules/module-web/commands/getCssValue.js +1 -5
  161. package/build/ox_modules/module-web/commands/getElementCount.js +1 -3
  162. package/build/ox_modules/module-web/commands/getHTML.js +1 -3
  163. package/build/ox_modules/module-web/commands/getSource.js +1 -3
  164. package/build/ox_modules/module-web/commands/getText.js +1 -5
  165. package/build/ox_modules/module-web/commands/getTitle.js +1 -3
  166. package/build/ox_modules/module-web/commands/getUrl.js +1 -3
  167. package/build/ox_modules/module-web/commands/getValue.js +1 -6
  168. package/build/ox_modules/module-web/commands/getWindowHandles.js +1 -3
  169. package/build/ox_modules/module-web/commands/getWindowSize.js +1 -3
  170. package/build/ox_modules/module-web/commands/getXMLPageSource.js +1 -6
  171. package/build/ox_modules/module-web/commands/index.js +1 -184
  172. package/build/ox_modules/module-web/commands/isAlertPresent.js +1 -3
  173. package/build/ox_modules/module-web/commands/isChecked.js +1 -3
  174. package/build/ox_modules/module-web/commands/isExist.js +1 -4
  175. package/build/ox_modules/module-web/commands/isInteractable.js +1 -3
  176. package/build/ox_modules/module-web/commands/isSelected.js +1 -3
  177. package/build/ox_modules/module-web/commands/isVisible.js +1 -4
  178. package/build/ox_modules/module-web/commands/makeVisible.js +2 -11
  179. package/build/ox_modules/module-web/commands/maximizeWindow.js +1 -3
  180. package/build/ox_modules/module-web/commands/minimizeWindow.js +1 -3
  181. package/build/ox_modules/module-web/commands/mock.js +1 -3
  182. package/build/ox_modules/module-web/commands/mockClearAll.js +1 -3
  183. package/build/ox_modules/module-web/commands/mockRestoreAll.js +1 -3
  184. package/build/ox_modules/module-web/commands/newWindow.js +1 -3
  185. package/build/ox_modules/module-web/commands/open.js +1 -5
  186. package/build/ox_modules/module-web/commands/pause.js +1 -3
  187. package/build/ox_modules/module-web/commands/point.js +1 -3
  188. package/build/ox_modules/module-web/commands/pointJS.js +2 -9
  189. package/build/ox_modules/module-web/commands/refresh.js +1 -3
  190. package/build/ox_modules/module-web/commands/rightClick.js +3 -9
  191. package/build/ox_modules/module-web/commands/rightClickActions.js +1 -3
  192. package/build/ox_modules/module-web/commands/scrollToElement.js +1 -3
  193. package/build/ox_modules/module-web/commands/select.js +1 -6
  194. package/build/ox_modules/module-web/commands/selectFrame.js +1 -4
  195. package/build/ox_modules/module-web/commands/selectWindow.js +5 -27
  196. package/build/ox_modules/module-web/commands/sendKeys.js +3 -7
  197. package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +2 -3
  198. package/build/ox_modules/module-web/commands/setTimeout.js +1 -3
  199. package/build/ox_modules/module-web/commands/setWindowSize.js +1 -3
  200. package/build/ox_modules/module-web/commands/takeScreenshot.js +3 -6
  201. package/build/ox_modules/module-web/commands/type.js +1 -6
  202. package/build/ox_modules/module-web/commands/verifyAlert.js +1 -7
  203. package/build/ox_modules/module-web/commands/verifyExist.js +2 -7
  204. package/build/ox_modules/module-web/commands/verifySelectedLabel.js +1 -5
  205. package/build/ox_modules/module-web/commands/verifySelectedValue.js +1 -4
  206. package/build/ox_modules/module-web/commands/verifyText.js +1 -4
  207. package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +1 -7
  208. package/build/ox_modules/module-web/commands/verifyTextPresent.js +1 -7
  209. package/build/ox_modules/module-web/commands/verifyTitle.js +1 -4
  210. package/build/ox_modules/module-web/commands/verifyValue.js +1 -4
  211. package/build/ox_modules/module-web/commands/waitForAngular.js +11 -14
  212. package/build/ox_modules/module-web/commands/waitForExist.js +1 -3
  213. package/build/ox_modules/module-web/commands/waitForInteractable.js +1 -3
  214. package/build/ox_modules/module-web/commands/waitForNotExist.js +1 -9
  215. package/build/ox_modules/module-web/commands/waitForNotText.js +1 -4
  216. package/build/ox_modules/module-web/commands/waitForNotValue.js +1 -4
  217. package/build/ox_modules/module-web/commands/waitForText.js +1 -4
  218. package/build/ox_modules/module-web/commands/waitForValue.js +1 -4
  219. package/build/ox_modules/module-web/commands/waitForVisible.js +1 -3
  220. package/build/ox_modules/module-web/commands/waitForWindow.js +4 -22
  221. package/build/ox_modules/module-web/webdriver/ChromeWDM.js +287 -0
  222. package/build/ox_modules/module-web/webdriver/auto-start.js +25 -0
  223. package/build/ox_modules/module-web.js +112 -232
  224. package/build/ox_modules/module-win/commands/assertText.js +1 -4
  225. package/build/ox_modules/module-win/commands/assertTitle.js +1 -5
  226. package/build/ox_modules/module-win/commands/assertValue.js +9 -17
  227. package/build/ox_modules/module-win/commands/back.js +1 -3
  228. package/build/ox_modules/module-win/commands/clear.js +1 -5
  229. package/build/ox_modules/module-win/commands/click.js +1 -3
  230. package/build/ox_modules/module-win/commands/clickLong.js +1 -3
  231. package/build/ox_modules/module-win/commands/clickMultipleTimes.js +1 -5
  232. package/build/ox_modules/module-win/commands/findElement.js +1 -4
  233. package/build/ox_modules/module-win/commands/findElements.js +1 -5
  234. package/build/ox_modules/module-win/commands/getAppiumLogs.js +1 -3
  235. package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +1 -3
  236. package/build/ox_modules/module-win/commands/getLocation.js +1 -3
  237. package/build/ox_modules/module-win/commands/getSource.js +1 -3
  238. package/build/ox_modules/module-win/commands/getText.js +1 -5
  239. package/build/ox_modules/module-win/commands/getValue.js +5 -10
  240. package/build/ox_modules/module-win/commands/getWindowHandles.js +1 -3
  241. package/build/ox_modules/module-win/commands/index.js +1 -74
  242. package/build/ox_modules/module-win/commands/isCheckable.js +1 -3
  243. package/build/ox_modules/module-win/commands/isChecked.js +1 -3
  244. package/build/ox_modules/module-win/commands/isClickable.js +1 -3
  245. package/build/ox_modules/module-win/commands/isExist.js +1 -4
  246. package/build/ox_modules/module-win/commands/isSelected.js +1 -3
  247. package/build/ox_modules/module-win/commands/isVisible.js +1 -4
  248. package/build/ox_modules/module-win/commands/open.js +1 -3
  249. package/build/ox_modules/module-win/commands/pause.js +1 -3
  250. package/build/ox_modules/module-win/commands/rightClick.js +1 -3
  251. package/build/ox_modules/module-win/commands/selectWindow.js +1 -16
  252. package/build/ox_modules/module-win/commands/sendKeys.js +1 -5
  253. package/build/ox_modules/module-win/commands/setTimeout.js +1 -3
  254. package/build/ox_modules/module-win/commands/takeScreenshot.js +1 -3
  255. package/build/ox_modules/module-win/commands/tap.js +1 -3
  256. package/build/ox_modules/module-win/commands/type.js +1 -5
  257. package/build/ox_modules/module-win/commands/waitForExist.js +1 -3
  258. package/build/ox_modules/module-win/commands/waitForInteractable.js +1 -5
  259. package/build/ox_modules/module-win/commands/waitForVisible.js +1 -3
  260. package/build/ox_modules/module-win.js +54 -95
  261. package/build/ox_modules/utils.js +91 -79
  262. package/build/ox_reporters/reporter-excel.js +2 -59
  263. package/build/ox_reporters/reporter-html.js +2 -29
  264. package/build/ox_reporters/reporter-json.js +2 -15
  265. package/build/ox_reporters/reporter-junit.js +2 -25
  266. package/build/ox_reporters/reporter-pdf.js +2 -20
  267. package/build/ox_reporters/reporter-rp.js +2 -91
  268. package/build/ox_reporters/reporter-xml.js +2 -18
  269. package/build/ox_services/service-devtools/submodule-network.js +4 -86
  270. package/build/ox_services/service-devtools.js +2 -24
  271. package/build/reporter/FileReporterBase.js +6 -45
  272. package/build/reporter/ReportAggregator.js +7 -121
  273. package/build/reporter/ReporterBase.js +1 -6
  274. package/build/reporter/WebSocketReporter.js +1 -39
  275. package/build/runners/WorkerProcess.js +2 -107
  276. package/build/runners/cucumber/CucumberEventListener.js +4 -29
  277. package/build/runners/cucumber/CucumberReporter.js +2 -57
  278. package/build/runners/cucumber/CucumberWorker.js +3 -69
  279. package/build/runners/cucumber/index.js +2 -31
  280. package/build/runners/cucumber/worker.js +2 -19
  281. package/build/runners/index.js +4 -11
  282. package/build/runners/oxygen/OxygenWorker.js +3 -61
  283. package/build/runners/oxygen/index.js +18 -179
  284. package/build/runners/oxygen/worker.js +3 -27
  285. package/package.json +3 -1
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  class ReporterBase {
11
9
  constructor(options, aggregator) {
12
10
  this.options = options;
13
11
  }
14
-
15
12
  generate(results) {
16
13
  throw new Error('Abstract class, method not implemented');
17
14
  }
18
-
19
15
  }
20
-
21
16
  exports.default = ReporterBase;
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvcnRlci9SZXBvcnRlckJhc2UuanMiXSwibmFtZXMiOlsiUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiYWdncmVnYXRvciIsImdlbmVyYXRlIiwicmVzdWx0cyIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZZSxNQUFNQSxZQUFOLENBQW1CO0FBQzlCQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsVUFBVixFQUFzQjtBQUM3QixTQUFLRCxPQUFMLEdBQWVBLE9BQWY7QUFDSDs7QUFDREUsRUFBQUEsUUFBUSxDQUFDQyxPQUFELEVBQVU7QUFDZCxVQUFNLElBQUlDLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0g7O0FBTjZCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gUmVwb3J0ZXIgYWJzdHJhY3QgY2xhc3NcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcG9ydGVyQmFzZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zLCBhZ2dyZWdhdG9yKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIH1cclxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0IGNsYXNzLCBtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XHJcbiAgICB9XHJcbn1cclxuIl19
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXBvcnRlckJhc2UiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJhZ2dyZWdhdG9yIiwiZ2VuZXJhdGUiLCJyZXN1bHRzIiwiRXJyb3IiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvcnRlci9SZXBvcnRlckJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gUmVwb3J0ZXIgYWJzdHJhY3QgY2xhc3NcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcG9ydGVyQmFzZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zLCBhZ2dyZWdhdG9yKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIH1cclxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0IGNsYXNzLCBtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XHJcbiAgICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBWWUsTUFBTUEsWUFBWSxDQUFDO0VBQzlCQyxXQUFXQSxDQUFDQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtJQUM3QixJQUFJLENBQUNELE9BQU8sR0FBR0EsT0FBTztFQUMxQjtFQUNBRSxRQUFRQSxDQUFDQyxPQUFPLEVBQUU7SUFDZCxNQUFNLElBQUlDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQztFQUM3RDtBQUNKO0FBQUNDLE9BQUEsQ0FBQUMsT0FBQSxHQUFBUixZQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  var _socket = require("socket.io");
11
-
12
9
  const io = new _socket.Server({
13
10
  serveClient: false,
14
11
  pingInterval: 10000,
@@ -20,38 +17,30 @@ const io = new _socket.Server({
20
17
  },
21
18
  transports: ['websocket']
22
19
  });
23
-
24
20
  class WebSocketReporter {
25
21
  constructor(aggregator) {
26
22
  this._aggregator = aggregator;
27
-
28
23
  this._hookAggregatorEvents();
29
24
  }
30
-
31
25
  startAndWaitForClient(serverPort) {
32
26
  io.listen(serverPort);
33
27
  return new Promise((resolve, reject) => {
34
28
  this._handleServerEvents(resolve);
35
29
  });
36
30
  }
37
-
38
31
  stop() {
39
32
  if (this._socket) {
40
33
  io.close();
41
34
  this._socket = undefined;
42
35
  }
43
36
  }
44
-
45
37
  _handleServerEvents(resolveWait) {
46
38
  const _this = this;
47
-
48
39
  io.on('connection', socket => {
49
40
  _this._handleSocketEvents(socket);
50
-
51
41
  resolveWait();
52
42
  });
53
43
  }
54
-
55
44
  _handleSocketEvents(socket) {
56
45
  this._socket = socket;
57
46
  socket.on('disconnect', reason => {});
@@ -59,78 +48,51 @@ class WebSocketReporter {
59
48
  console.error('Error in Socket:', err);
60
49
  });
61
50
  }
62
-
63
51
  _hookAggregatorEvents() {
64
52
  this._aggregator.on('runner:start', e => this._handleRunnerStart(e));
65
-
66
53
  this._aggregator.on('runner:end', e => this._handleRunnerEnd(e));
67
-
68
54
  this._aggregator.on('suite:start', e => this._handleSuiteStart(e));
69
-
70
55
  this._aggregator.on('suite:end', e => this._handleSuiteEnd(e));
71
-
72
56
  this._aggregator.on('case:start', e => this._handleCaseStart(e));
73
-
74
57
  this._aggregator.on('case:end', e => this._handleCaseEnd(e));
75
-
76
58
  this._aggregator.on('log', e => this._handleLog(e));
77
59
  }
78
-
79
60
  _handleRunnerStart(event) {
80
61
  var _this$_socket;
81
-
82
62
  (_this$_socket = this._socket) === null || _this$_socket === void 0 ? void 0 : _this$_socket.emit('runner:start', event);
83
63
  }
84
-
85
64
  _handleRunnerEnd(event) {
86
65
  var _this$_socket2;
87
-
88
66
  (_this$_socket2 = this._socket) === null || _this$_socket2 === void 0 ? void 0 : _this$_socket2.emit('runner:end', event);
89
67
  }
90
-
91
68
  _handleSuiteStart(event) {
92
69
  var _this$_socket3;
93
-
94
70
  (_this$_socket3 = this._socket) === null || _this$_socket3 === void 0 ? void 0 : _this$_socket3.emit('suite:start', event);
95
71
  }
96
-
97
72
  _handleSuiteEnd(event) {
98
73
  var _this$_socket4;
99
-
100
74
  (_this$_socket4 = this._socket) === null || _this$_socket4 === void 0 ? void 0 : _this$_socket4.emit('suite:end', event);
101
75
  }
102
-
103
76
  _handleCaseStart(event) {
104
77
  var _this$_socket5;
105
-
106
78
  (_this$_socket5 = this._socket) === null || _this$_socket5 === void 0 ? void 0 : _this$_socket5.emit('case:start', event);
107
79
  }
108
-
109
80
  _handleCaseEnd(event) {
110
81
  var _this$_socket6;
111
-
112
82
  (_this$_socket6 = this._socket) === null || _this$_socket6 === void 0 ? void 0 : _this$_socket6.emit('case:end', event);
113
83
  }
114
-
115
84
  _handleStepStart(event) {
116
85
  var _this$_socket7;
117
-
118
86
  (_this$_socket7 = this._socket) === null || _this$_socket7 === void 0 ? void 0 : _this$_socket7.emit('step:start', event);
119
87
  }
120
-
121
88
  _handleStepEnd(event) {
122
89
  var _this$_socket8;
123
-
124
90
  (_this$_socket8 = this._socket) === null || _this$_socket8 === void 0 ? void 0 : _this$_socket8.emit('step:end', event);
125
91
  }
126
-
127
92
  _handleLog(event) {
128
93
  var _this$_socket9;
129
-
130
94
  (_this$_socket9 = this._socket) === null || _this$_socket9 === void 0 ? void 0 : _this$_socket9.emit('log', event);
131
95
  }
132
-
133
96
  }
134
-
135
97
  exports.default = WebSocketReporter;
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvcnRlci9XZWJTb2NrZXRSZXBvcnRlci5qcyJdLCJuYW1lcyI6WyJpbyIsIlNlcnZlciIsInNlcnZlQ2xpZW50IiwicGluZ0ludGVydmFsIiwicGluZ1RpbWVvdXQiLCJtYXhIdHRwQnVmZmVyU2l6ZSIsImNvb2tpZSIsImNvcnMiLCJvcmlnaW4iLCJ0cmFuc3BvcnRzIiwiV2ViU29ja2V0UmVwb3J0ZXIiLCJjb25zdHJ1Y3RvciIsImFnZ3JlZ2F0b3IiLCJfYWdncmVnYXRvciIsIl9ob29rQWdncmVnYXRvckV2ZW50cyIsInN0YXJ0QW5kV2FpdEZvckNsaWVudCIsInNlcnZlclBvcnQiLCJsaXN0ZW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsIl9oYW5kbGVTZXJ2ZXJFdmVudHMiLCJzdG9wIiwiX3NvY2tldCIsImNsb3NlIiwidW5kZWZpbmVkIiwicmVzb2x2ZVdhaXQiLCJfdGhpcyIsIm9uIiwic29ja2V0IiwiX2hhbmRsZVNvY2tldEV2ZW50cyIsInJlYXNvbiIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJfaGFuZGxlUnVubmVyU3RhcnQiLCJfaGFuZGxlUnVubmVyRW5kIiwiX2hhbmRsZVN1aXRlU3RhcnQiLCJfaGFuZGxlU3VpdGVFbmQiLCJfaGFuZGxlQ2FzZVN0YXJ0IiwiX2hhbmRsZUNhc2VFbmQiLCJfaGFuZGxlTG9nIiwiZXZlbnQiLCJlbWl0IiwiX2hhbmRsZVN0ZXBTdGFydCIsIl9oYW5kbGVTdGVwRW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQTs7QUFFQSxNQUFNQSxFQUFFLEdBQUcsSUFBSUMsY0FBSixDQUFXO0FBQ2xCQyxFQUFBQSxXQUFXLEVBQUUsS0FESztBQUVsQkMsRUFBQUEsWUFBWSxFQUFFLEtBRkk7QUFHbEJDLEVBQUFBLFdBQVcsRUFBRSxLQUhLO0FBSWxCQyxFQUFBQSxpQkFBaUIsRUFBRSxNQUFNLElBQU4sR0FBYSxJQUpkO0FBS2xCQyxFQUFBQSxNQUFNLEVBQUUs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QUFjcUIsSUFBZCxDQUFtQixZQUFuQixFQUFpQ0QsS0FBakM7QUFDSDs7QUFDREwsRUFBQUEsaUJBQWlCLENBQUNLLEtBQUQsRUFBUTtBQUFBOztBQUNyQiwyQkFBS3BCLE9BQUwsa0VBQWNxQixJQUFkLENBQW1CLGFBQW5CLEVBQWtDRCxLQUFsQztBQUNIOztBQUNESixFQUFBQSxlQUFlLENBQUNJLEtBQUQsRUFBUTtBQUFBOztBQUNuQiwyQkFBS3BCLE9BQUwsa0VBQWNxQixJQUFkLENBQW1CLFdBQW5CLEVBQWdDRCxLQUFoQztBQUNIOztBQUNESCxFQUFBQSxnQkFBZ0IsQ0FBQ0csS0FBRCxFQUFRO0FBQUE7O0FBQ3BCLDJCQUFLcEIsT0FBTCxrRUFBY3FCLElBQWQsQ0FBbUIsWUFBbkIsRUFBaUNELEtBQWpDO0FBQ0g7O0FBQ0RGLEVBQUFBLGNBQWMsQ0FBQ0UsS0FBRCxFQUFRO0FBQUE7O0FBQ2xCLDJCQUFLcEIsT0FBTCxrRUFBY3FCLElBQWQsQ0FBbUIsVUFBbkIsRUFBK0JELEtBQS9CO0FBQ0g7O0FBQ0RFLEVBQUFBLGdCQUFnQixDQUFDRixLQUFELEVBQVE7QUFBQTs7QUFDcEIsMkJBQUtwQixPQUFMLGtFQUFjcUIsSUFBZCxDQUFtQixZQUFuQixFQUFpQ0QsS0FBakM7QUFDSDs7QUFDREcsRUFBQUEsY0FBYyxDQUFDSCxLQUFELEVBQVE7QUFBQTs7QUFDbEIsMkJBQUtwQixPQUFMLGtFQUFjcUIsSUFBZCxDQUFtQixVQUFuQixFQUErQkQsS0FBL0I7QUFDSDs7QUFDREQsRUFBQUEsVUFBVSxDQUFDQyxLQUFELEVBQVE7QUFBQTs7QUFDZCwyQkFBS3BCLE9BQUwsa0VBQWNxQixJQUFkLENBQW1CLEtBQW5CLEVBQTBCRCxLQUExQjtBQUNIOztBQW5Fa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuaW1wb3J0IHsgU2VydmVyIH0gZnJvbSAnc29ja2V0LmlvJztcclxuXHJcbmNvbnN0IGlvID0gbmV3IFNlcnZlcih7XHJcbiAgICBzZXJ2ZUNsaWVudDogZmFsc2UsXHJcbiAgICBwaW5nSW50ZXJ2YWw6IDEwMDAwLFxyXG4gICAgcGluZ1RpbWVvdXQ6IDYwMDAwLFxyXG4gICAgbWF4SHR0cEJ1ZmZlclNpemU6IDI1NiAqIDEwMjQgKiAxMDI0LCAvLyAyNTZNQlxyXG4gICAgY29va2llOiB0cnVlLFxyXG4gICAgY29yczoge1xyXG4gICAgICAgIG9yaWdpbjogJyonLFxyXG4gICAgfSxcclxuICAgIHRyYW5zcG9ydHM6IFsnd2Vic29ja2V0J10sXHJcbn0pO1xyXG4vKlxyXG4gKiBXZWJTb2NrZXQgUmVwb3J0ZXJcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYlNvY2tldFJlcG9ydGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKGFnZ3JlZ2F0b3IpIHtcclxuICAgICAgICB0aGlzLl9hZ2dyZWdhdG9yID0gYWdncmVnYXRvcjtcclxuICAgICAgICB0aGlzLl9ob29rQWdncmVnYXRvckV2ZW50cygpO1xyXG4gICAgfVxyXG4gICAgc3RhcnRBbmRXYWl0Rm9yQ2xpZW50KHNlcnZlclBvcnQpIHtcclxuICAgICAgICBpby5saXN0ZW4oc2VydmVyUG9ydCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlU2VydmVyRXZlbnRzKHJlc29sdmUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgc3RvcCgpIHtcclxuICAgICAgICBpZiAodGhpcy5fc29ja2V0KSB7XHJcbiAgICAgICAgICAgIGlvLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvY2tldCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlU2VydmVyRXZlbnRzKHJlc29sdmVXYWl0KSB7XHJcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIGlvLm9uKCdjb25uZWN0aW9uJywgKHNvY2tldCkgPT4ge1xyXG4gICAgICAgICAgICBfdGhpcy5faGFuZGxlU29ja2V0RXZlbnRzKHNvY2tldCk7XHJcbiAgICAgICAgICAgIHJlc29sdmVXYWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlU29ja2V0RXZlbnRzKHNvY2tldCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldCA9IHNvY2tldDtcclxuICAgICAgICBzb2NrZXQub24oJ2Rpc2Nvbm5lY3QnLCAocmVhc29uKSA9PiB7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc29ja2V0Lm9uKCdlcnJvcicsIChlcnIpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gU29ja2V0OicsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBfaG9va0FnZ3JlZ2F0b3JFdmVudHMoKSB7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbigncnVubmVyOnN0YXJ0JywgZSA9PiB0aGlzLl9oYW5kbGVSdW5uZXJTdGFydChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbigncnVubmVyOmVuZCcsIGUgPT4gdGhpcy5faGFuZGxlUnVubmVyRW5kKGUpKTtcclxuICAgICAgICB0aGlzLl9hZ2dyZWdhdG9yLm9uKCdzdWl0ZTpzdGFydCcsIGUgPT4gdGhpcy5faGFuZGxlU3VpdGVTdGFydChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbignc3VpdGU6ZW5kJywgZSA9PiB0aGlzLl9oYW5kbGVTdWl0ZUVuZChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbignY2FzZTpzdGFydCcsIGUgPT4gdGhpcy5faGFuZGxlQ2FzZVN0YXJ0KGUpKTtcclxuICAgICAgICB0aGlzLl9hZ2dyZWdhdG9yLm9uKCdjYXNlOmVuZCcsIGUgPT4gdGhpcy5faGFuZGxlQ2FzZUVuZChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbignbG9nJywgZSA9PiB0aGlzLl9oYW5kbGVMb2coZSkpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVJ1bm5lclN0YXJ0KGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdydW5uZXI6c3RhcnQnLCBldmVudCk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlUnVubmVyRW5kKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdydW5uZXI6ZW5kJywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVN1aXRlU3RhcnQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9zb2NrZXQ/LmVtaXQoJ3N1aXRlOnN0YXJ0JywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVN1aXRlRW5kKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdzdWl0ZTplbmQnLCBldmVudCk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlQ2FzZVN0YXJ0KGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdjYXNlOnN0YXJ0JywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZUNhc2VFbmQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9zb2NrZXQ/LmVtaXQoJ2Nhc2U6ZW5kJywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVN0ZXBTdGFydChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgnc3RlcDpzdGFydCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVTdGVwRW5kKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdzdGVwOmVuZCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVMb2coZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9zb2NrZXQ/LmVtaXQoJ2xvZycsIGV2ZW50KTtcclxuICAgIH1cclxufSJdfQ==
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc29ja2V0IiwicmVxdWlyZSIsImlvIiwiU2VydmVyIiwic2VydmVDbGllbnQiLCJwaW5nSW50ZXJ2YWwiLCJwaW5nVGltZW91dCIsIm1heEh0dHBCdWZmZXJTaXplIiwiY29va2llIiwiY29ycyIsIm9yaWdpbiIsInRyYW5zcG9ydHMiLCJXZWJTb2NrZXRSZXBvcnRlciIsImNvbnN0cnVjdG9yIiwiYWdncmVnYXRvciIsIl9hZ2dyZWdhdG9yIiwiX2hvb2tBZ2dyZWdhdG9yRXZlbnRzIiwic3RhcnRBbmRXYWl0Rm9yQ2xpZW50Iiwic2VydmVyUG9ydCIsImxpc3RlbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiX2hhbmRsZVNlcnZlckV2ZW50cyIsInN0b3AiLCJjbG9zZSIsInVuZGVmaW5lZCIsInJlc29sdmVXYWl0IiwiX3RoaXMiLCJvbiIsInNvY2tldCIsIl9oYW5kbGVTb2NrZXRFdmVudHMiLCJyZWFzb24iLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJlIiwiX2hhbmRsZVJ1bm5lclN0YXJ0IiwiX2hhbmRsZVJ1bm5lckVuZCIsIl9oYW5kbGVTdWl0ZVN0YXJ0IiwiX2hhbmRsZVN1aXRlRW5kIiwiX2hhbmRsZUNhc2VTdGFydCIsIl9oYW5kbGVDYXNlRW5kIiwiX2hhbmRsZUxvZyIsImV2ZW50IiwiX3RoaXMkX3NvY2tldCIsImVtaXQiLCJfdGhpcyRfc29ja2V0MiIsIl90aGlzJF9zb2NrZXQzIiwiX3RoaXMkX3NvY2tldDQiLCJfdGhpcyRfc29ja2V0NSIsIl90aGlzJF9zb2NrZXQ2IiwiX2hhbmRsZVN0ZXBTdGFydCIsIl90aGlzJF9zb2NrZXQ3IiwiX2hhbmRsZVN0ZXBFbmQiLCJfdGhpcyRfc29ja2V0OCIsIl90aGlzJF9zb2NrZXQ5IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVwb3J0ZXIvV2ViU29ja2V0UmVwb3J0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcbmltcG9ydCB7IFNlcnZlciB9IGZyb20gJ3NvY2tldC5pbyc7XHJcblxyXG5jb25zdCBpbyA9IG5ldyBTZXJ2ZXIoe1xyXG4gICAgc2VydmVDbGllbnQ6IGZhbHNlLFxyXG4gICAgcGluZ0ludGVydmFsOiAxMDAwMCxcclxuICAgIHBpbmdUaW1lb3V0OiA2MDAwMCxcclxuICAgIG1heEh0dHBCdWZmZXJTaXplOiAyNTYgKiAxMDI0ICogMTAyNCwgLy8gMjU2TUJcclxuICAgIGNvb2tpZTogdHJ1ZSxcclxuICAgIGNvcnM6IHtcclxuICAgICAgICBvcmlnaW46ICcqJyxcclxuICAgIH0sXHJcbiAgICB0cmFuc3BvcnRzOiBbJ3dlYnNvY2tldCddLFxyXG59KTtcclxuLypcclxuICogV2ViU29ja2V0IFJlcG9ydGVyXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJTb2NrZXRSZXBvcnRlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihhZ2dyZWdhdG9yKSB7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvciA9IGFnZ3JlZ2F0b3I7XHJcbiAgICAgICAgdGhpcy5faG9va0FnZ3JlZ2F0b3JFdmVudHMoKTtcclxuICAgIH1cclxuICAgIHN0YXJ0QW5kV2FpdEZvckNsaWVudChzZXJ2ZXJQb3J0KSB7XHJcbiAgICAgICAgaW8ubGlzdGVuKHNlcnZlclBvcnQpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNlcnZlckV2ZW50cyhyZXNvbHZlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHN0b3AoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvY2tldCkge1xyXG4gICAgICAgICAgICBpby5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9zb2NrZXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgX2hhbmRsZVNlcnZlckV2ZW50cyhyZXNvbHZlV2FpdCkge1xyXG4gICAgICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgICAgICBpby5vbignY29ubmVjdGlvbicsIChzb2NrZXQpID0+IHtcclxuICAgICAgICAgICAgX3RoaXMuX2hhbmRsZVNvY2tldEV2ZW50cyhzb2NrZXQpO1xyXG4gICAgICAgICAgICByZXNvbHZlV2FpdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVNvY2tldEV2ZW50cyhzb2NrZXQpIHtcclxuICAgICAgICB0aGlzLl9zb2NrZXQgPSBzb2NrZXQ7XHJcbiAgICAgICAgc29ja2V0Lm9uKCdkaXNjb25uZWN0JywgKHJlYXNvbikgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIFNvY2tldDonLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgX2hvb2tBZ2dyZWdhdG9yRXZlbnRzKCkge1xyXG4gICAgICAgIHRoaXMuX2FnZ3JlZ2F0b3Iub24oJ3J1bm5lcjpzdGFydCcsIGUgPT4gdGhpcy5faGFuZGxlUnVubmVyU3RhcnQoZSkpO1xyXG4gICAgICAgIHRoaXMuX2FnZ3JlZ2F0b3Iub24oJ3J1bm5lcjplbmQnLCBlID0+IHRoaXMuX2hhbmRsZVJ1bm5lckVuZChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbignc3VpdGU6c3RhcnQnLCBlID0+IHRoaXMuX2hhbmRsZVN1aXRlU3RhcnQoZSkpO1xyXG4gICAgICAgIHRoaXMuX2FnZ3JlZ2F0b3Iub24oJ3N1aXRlOmVuZCcsIGUgPT4gdGhpcy5faGFuZGxlU3VpdGVFbmQoZSkpO1xyXG4gICAgICAgIHRoaXMuX2FnZ3JlZ2F0b3Iub24oJ2Nhc2U6c3RhcnQnLCBlID0+IHRoaXMuX2hhbmRsZUNhc2VTdGFydChlKSk7XHJcbiAgICAgICAgdGhpcy5fYWdncmVnYXRvci5vbignY2FzZTplbmQnLCBlID0+IHRoaXMuX2hhbmRsZUNhc2VFbmQoZSkpO1xyXG4gICAgICAgIHRoaXMuX2FnZ3JlZ2F0b3Iub24oJ2xvZycsIGUgPT4gdGhpcy5faGFuZGxlTG9nKGUpKTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVSdW5uZXJTdGFydChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgncnVubmVyOnN0YXJ0JywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZVJ1bm5lckVuZChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgncnVubmVyOmVuZCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVTdWl0ZVN0YXJ0KGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdzdWl0ZTpzdGFydCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVTdWl0ZUVuZChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgnc3VpdGU6ZW5kJywgZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgX2hhbmRsZUNhc2VTdGFydChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgnY2FzZTpzdGFydCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVDYXNlRW5kKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdjYXNlOmVuZCcsIGV2ZW50KTtcclxuICAgIH1cclxuICAgIF9oYW5kbGVTdGVwU3RhcnQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLl9zb2NrZXQ/LmVtaXQoJ3N0ZXA6c3RhcnQnLCBldmVudCk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlU3RlcEVuZChldmVudCkge1xyXG4gICAgICAgIHRoaXMuX3NvY2tldD8uZW1pdCgnc3RlcDplbmQnLCBldmVudCk7XHJcbiAgICB9XHJcbiAgICBfaGFuZGxlTG9nKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc29ja2V0Py5lbWl0KCdsb2cnLCBldmVudCk7XHJcbiAgICB9XHJcbn0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxNQUFNQyxFQUFFLEdBQUcsSUFBSUMsY0FBTSxDQUFDO0VBQ2xCQyxXQUFXLEVBQUUsS0FBSztFQUNsQkMsWUFBWSxFQUFFLEtBQUs7RUFDbkJDLFdBQVcsRUFBRSxLQUFLO0VBQ2xCQyxpQkFBaUIsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUk7RUFDcENDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLElBQUksRUFBRTtJQUNGQyxNQUFNLEVBQUU7RUFDWixDQUFDO0VBQ0RDLFVBQVUsRUFBRSxDQUFDLFdBQVc7QUFDNUIsQ0FBQyxDQUFDO0FBSWEsTUFBTUMsaUJBQWlCLENBQUM7RUFDbkNDLFdBQVdBLENBQUNDLFVBQVUsRUFBRTtJQUNwQixJQUFJLENBQUNDLFdBQVcsR0FBR0QsVUFBVTtJQUM3QixJQUFJLENBQUNFLHFCQUFxQixDQUFDLENBQUM7RUFDaEM7RUFDQUMscUJBQXFCQSxDQUFDQyxVQUFVLEVBQUU7SUFDOUJoQixFQUFFLENBQUNpQixNQUFNLENBQUNELFVBQVUsQ0FBQztJQUNyQixPQUFPLElBQUlFLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLEVBQUVD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