oxygen-cli 1.40.2-beta.1 → 1.40.2
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.
- package/CHANGELOG.md +1750 -1742
- package/LICENSE +672 -672
- package/README.md +37 -37
- package/build/core/OxygenCore.js +1 -1
- package/build/core/OxygenEvents.js +1 -1
- package/build/core/OxygenModule.js +1 -1
- package/build/core/OxygenService.js +1 -1
- package/build/core/OxygenSubModule.js +1 -1
- package/build/core/WebDriverModule.js +1 -1
- package/build/core/utils.js +1 -1
- package/build/errors/HookError.js +1 -1
- package/build/errors/ModuleError.js +1 -1
- package/build/errors/ModuleUnavailableError.js +1 -1
- package/build/errors/OxygenError.js +1 -1
- package/build/errors/ScriptNotFound.js +1 -1
- package/build/errors/helper.js +1 -2
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +1 -5
- package/build/lib/cli.js +1 -1
- package/build/lib/debugger.js +1 -1
- package/build/lib/img-merge.js +1 -1
- package/build/lib/launcher.js +1 -1
- package/build/lib/logger.js +43 -43
- package/build/lib/moduleRequire.js +1 -1
- package/build/lib/parallel-launcher.js +1 -1
- package/build/lib/param-manager.js +1 -1
- package/build/lib/param-reader-csv.js +1 -1
- package/build/lib/param-reader-excel.js +1 -1
- package/build/lib/param-reader-json.js +1 -1
- package/build/lib/text-to-image.js +1 -1
- package/build/lib/util.js +1 -1
- package/build/model/case-result.js +1 -1
- package/build/model/failure.js +1 -1
- package/build/model/status.js +1 -1
- package/build/model/step-result.js +1 -1
- package/build/model/suite-result.js +1 -1
- package/build/model/test-result.js +1 -1
- package/build/model/testcase.js +1 -1
- package/build/model/testsuite.js +1 -1
- package/build/ox_modules/index.js +1 -9
- package/build/ox_modules/module-assert.js +37 -37
- package/build/ox_modules/module-date.js +24 -24
- package/build/ox_modules/module-db.js +52 -52
- package/build/ox_modules/module-email.js +59 -59
- package/build/ox_modules/module-eyes.js +34 -34
- package/build/ox_modules/module-http/ntlm-util.js +10 -10
- package/build/ox_modules/module-http/ntlm.js +15 -15
- package/build/ox_modules/module-http.js +132 -132
- package/build/ox_modules/module-log.js +27 -27
- package/build/ox_modules/module-mailinator.js +87 -87
- package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-mob/commands/assertText.js +21 -21
- package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
- package/build/ox_modules/module-mob/commands/back.js +16 -16
- package/build/ox_modules/module-mob/commands/clear.js +19 -19
- package/build/ox_modules/module-mob/commands/click.js +17 -17
- package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
- package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
- package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/debug.js +16 -16
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
- package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
- package/build/ox_modules/module-mob/commands/execute.js +21 -21
- package/build/ox_modules/module-mob/commands/findElement.js +20 -20
- package/build/ox_modules/module-mob/commands/findElements.js +23 -23
- package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
- package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
- package/build/ox_modules/module-mob/commands/getSource.js +16 -16
- package/build/ox_modules/module-mob/commands/getText.js +18 -18
- package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
- package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
- package/build/ox_modules/module-mob/commands/getValue.js +18 -18
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
- package/build/ox_modules/module-mob/commands/index.js +1 -1
- package/build/ox_modules/module-mob/commands/installApp.js +16 -16
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
- package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
- package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
- package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
- package/build/ox_modules/module-mob/commands/isExist.js +19 -19
- package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
- package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
- package/build/ox_modules/module-mob/commands/open.js +17 -17
- package/build/ox_modules/module-mob/commands/pause.js +16 -16
- package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
- package/build/ox_modules/module-mob/commands/select.js +24 -24
- package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
- package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
- package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
- package/build/ox_modules/module-mob/commands/setContext.js +16 -16
- package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
- package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/shake.js +16 -16
- package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
- package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
- package/build/ox_modules/module-mob/commands/swipe.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-mob/commands/tap.js +17 -17
- package/build/ox_modules/module-mob/commands/type.js +20 -20
- package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
- package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-mob.js +74 -74
- package/build/ox_modules/module-pdf.js +35 -35
- package/build/ox_modules/module-proxy.js +77 -77
- package/build/ox_modules/module-serial.js +55 -55
- package/build/ox_modules/module-shell.js +52 -33
- package/build/ox_modules/module-soap.js +72 -72
- package/build/ox_modules/module-twilio.js +41 -41
- package/build/ox_modules/module-utils.js +91 -91
- package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-web/commands/assertExist.js +17 -17
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/assertText.js +21 -21
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-web/commands/assertValue.js +20 -20
- package/build/ox_modules/module-web/commands/back.js +16 -16
- package/build/ox_modules/module-web/commands/clear.js +18 -18
- package/build/ox_modules/module-web/commands/click.js +25 -25
- package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
- package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
- package/build/ox_modules/module-web/commands/debug.js +15 -15
- package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
- package/build/ox_modules/module-web/commands/deselect.js +22 -22
- package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
- package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
- package/build/ox_modules/module-web/commands/execute.js +24 -24
- package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
- package/build/ox_modules/module-web/commands/findElement.js +19 -19
- package/build/ox_modules/module-web/commands/findElements.js +22 -22
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
- package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
- package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
- package/build/ox_modules/module-web/commands/getCookies.js +13 -13
- package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
- package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
- package/build/ox_modules/module-web/commands/getHTML.js +17 -17
- package/build/ox_modules/module-web/commands/getSource.js +16 -16
- package/build/ox_modules/module-web/commands/getText.js +18 -18
- package/build/ox_modules/module-web/commands/getTitle.js +12 -12
- package/build/ox_modules/module-web/commands/getUrl.js +16 -16
- package/build/ox_modules/module-web/commands/getValue.js +18 -18
- package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
- package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
- package/build/ox_modules/module-web/commands/index.js +1 -1
- package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
- package/build/ox_modules/module-web/commands/isChecked.js +18 -18
- package/build/ox_modules/module-web/commands/isExist.js +19 -19
- package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
- package/build/ox_modules/module-web/commands/isSelected.js +23 -23
- package/build/ox_modules/module-web/commands/isVisible.js +19 -19
- package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
- package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/mock.js +20 -20
- package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
- package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
- package/build/ox_modules/module-web/commands/newWindow.js +16 -16
- package/build/ox_modules/module-web/commands/open.js +16 -16
- package/build/ox_modules/module-web/commands/pause.js +15 -15
- package/build/ox_modules/module-web/commands/point.js +21 -21
- package/build/ox_modules/module-web/commands/pointJS.js +15 -15
- package/build/ox_modules/module-web/commands/refresh.js +15 -15
- package/build/ox_modules/module-web/commands/rightClick.js +17 -17
- package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
- package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
- package/build/ox_modules/module-web/commands/select.js +23 -23
- package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
- package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
- package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
- package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
- package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-web/commands/type.js +20 -20
- package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
- package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
- package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/verifyText.js +21 -21
- package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
- package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
- package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
- package/build/ox_modules/module-web.js +94 -94
- package/build/ox_modules/module-win/commands/assertText.js +17 -17
- package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
- package/build/ox_modules/module-win/commands/assertValue.js +14 -14
- package/build/ox_modules/module-win/commands/back.js +11 -11
- package/build/ox_modules/module-win/commands/clear.js +13 -13
- package/build/ox_modules/module-win/commands/click.js +13 -13
- package/build/ox_modules/module-win/commands/clickLong.js +14 -14
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
- package/build/ox_modules/module-win/commands/findElement.js +15 -15
- package/build/ox_modules/module-win/commands/findElements.js +15 -15
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
- package/build/ox_modules/module-win/commands/getLocation.js +14 -14
- package/build/ox_modules/module-win/commands/getSource.js +12 -12
- package/build/ox_modules/module-win/commands/getText.js +14 -14
- package/build/ox_modules/module-win/commands/getValue.js +14 -14
- package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
- package/build/ox_modules/module-win/commands/index.js +1 -1
- package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
- package/build/ox_modules/module-win/commands/isChecked.js +14 -14
- package/build/ox_modules/module-win/commands/isClickable.js +14 -14
- package/build/ox_modules/module-win/commands/isExist.js +15 -15
- package/build/ox_modules/module-win/commands/isSelected.js +14 -14
- package/build/ox_modules/module-win/commands/isVisible.js +15 -15
- package/build/ox_modules/module-win/commands/open.js +13 -13
- package/build/ox_modules/module-win/commands/pause.js +12 -12
- package/build/ox_modules/module-win/commands/rightClick.js +13 -13
- package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
- package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
- package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
- package/build/ox_modules/module-win/commands/tap.js +13 -13
- package/build/ox_modules/module-win/commands/type.js +16 -16
- package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
- package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
- package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
- package/build/ox_modules/module-win.js +47 -47
- package/build/ox_modules/utils.js +8 -8
- package/build/ox_reporters/excel/template.json +48 -48
- package/build/ox_reporters/html/index.ejs +163 -163
- package/build/ox_reporters/html/summary.ejs +77 -77
- package/build/ox_reporters/html/tests-details.ejs +134 -134
- package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
- package/build/ox_reporters/reporter-excel.js +1 -1
- package/build/ox_reporters/reporter-html.js +1 -1
- package/build/ox_reporters/reporter-json.js +1 -1
- package/build/ox_reporters/reporter-junit.js +1 -1
- package/build/ox_reporters/reporter-pdf.js +1 -1
- package/build/ox_reporters/reporter-rp.js +73 -42
- package/build/ox_reporters/reporter-xml.js +1 -1
- package/build/ox_services/service-devtools/submodule-network.js +1 -1
- package/build/ox_services/service-devtools.js +1 -1
- package/build/reporter/FileReporterBase.js +1 -1
- package/build/reporter/ReportAggregator.js +5 -13
- package/build/reporter/ReporterBase.js +1 -1
- package/build/reporter/WebSocketReporter.js +1 -1
- package/build/runners/WorkerProcess.js +1 -1
- package/build/runners/cucumber/CucumberEventListener.js +1 -1
- package/build/runners/cucumber/CucumberReporter.js +1 -1
- package/build/runners/cucumber/CucumberWorker.js +1 -1
- package/build/runners/cucumber/index.js +1 -1
- package/build/runners/cucumber/worker.js +1 -1
- package/build/runners/index.js +1 -1
- package/build/runners/oxygen/OxygenWorker.js +1 -1
- package/build/runners/oxygen/index.js +1 -1
- package/build/runners/oxygen/worker.js +1 -1
- package/config/default.json +6 -6
- package/package.json +137 -139
- package/types/index.d.ts +70 -70
- package/types/module-eyes.d.ts +39 -39
- package/types/module-http.d.ts +163 -163
- package/types/module-log.d.ts +34 -34
- package/types/module-mob.d.ts +966 -966
- package/types/module-pdf.d.ts +40 -40
- package/types/module-proxy.d.ts +100 -100
- package/types/module-shell.d.ts +24 -24
- package/types/module-utils.d.ts +99 -99
- package/types/module-web.d.ts +1053 -1053
- package/types/module-win.d.ts +352 -352
- package/types/oxygen.d.ts +53 -53
- package/build/ox_modules/module-mongo.js +0 -302
- package/log.txt +0 -1614
- package/reports/2025-06-08_231627/report.html +0 -440
- package/reports/2025-06-09_223615/report.html +0 -440
- package/transpiled/mongodb/etc/prepare.js +0 -18
- package/transpiled/mongodb/lib/admin.js +0 -182
- package/transpiled/mongodb/lib/beta.js +0 -26
- package/transpiled/mongodb/lib/bson.js +0 -220
- package/transpiled/mongodb/lib/bulk/common.js +0 -1041
- package/transpiled/mongodb/lib/bulk/ordered.js +0 -76
- package/transpiled/mongodb/lib/bulk/unordered.js +0 -102
- package/transpiled/mongodb/lib/change_stream.js +0 -517
- package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +0 -329
- package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +0 -779
- package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -95
- package/transpiled/mongodb/lib/client-side-encryption/errors.js +0 -171
- package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +0 -98
- package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +0 -34
- package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +0 -186
- package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +0 -29
- package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +0 -58
- package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +0 -505
- package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +0 -63
- package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +0 -167
- package/transpiled/mongodb/lib/cmap/auth/gssapi.js +0 -207
- package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +0 -193
- package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +0 -181
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +0 -101
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +0 -81
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +0 -174
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +0 -59
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +0 -58
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +0 -138
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +0 -42
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +0 -71
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +0 -34
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +0 -111
- package/transpiled/mongodb/lib/cmap/auth/plain.js +0 -43
- package/transpiled/mongodb/lib/cmap/auth/providers.js +0 -22
- package/transpiled/mongodb/lib/cmap/auth/scram.js +0 -318
- package/transpiled/mongodb/lib/cmap/auth/x509.js +0 -61
- package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +0 -266
- package/transpiled/mongodb/lib/cmap/commands.js +0 -605
- package/transpiled/mongodb/lib/cmap/connect.js +0 -418
- package/transpiled/mongodb/lib/cmap/connection.js +0 -673
- package/transpiled/mongodb/lib/cmap/connection_pool.js +0 -688
- package/transpiled/mongodb/lib/cmap/connection_pool_events.js +0 -254
- package/transpiled/mongodb/lib/cmap/errors.js +0 -128
- package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +0 -278
- package/transpiled/mongodb/lib/cmap/metrics.js +0 -67
- package/transpiled/mongodb/lib/cmap/stream_description.js +0 -74
- package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +0 -196
- package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +0 -19
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +0 -144
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +0 -278
- package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +0 -376
- package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +0 -49
- package/transpiled/mongodb/lib/collection.js +0 -852
- package/transpiled/mongodb/lib/connection_string.js +0 -1452
- package/transpiled/mongodb/lib/constants.js +0 -162
- package/transpiled/mongodb/lib/cursor/abstract_cursor.js +0 -1082
- package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +0 -227
- package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +0 -136
- package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +0 -69
- package/transpiled/mongodb/lib/cursor/find_cursor.js +0 -476
- package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +0 -48
- package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +0 -46
- package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +0 -30
- package/transpiled/mongodb/lib/cursor/run_command_cursor.js +0 -125
- package/transpiled/mongodb/lib/db.js +0 -467
- package/transpiled/mongodb/lib/deps.js +0 -174
- package/transpiled/mongodb/lib/encrypter.js +0 -129
- package/transpiled/mongodb/lib/error.js +0 -1550
- package/transpiled/mongodb/lib/explain.js +0 -122
- package/transpiled/mongodb/lib/gridfs/download.js +0 -369
- package/transpiled/mongodb/lib/gridfs/index.js +0 -240
- package/transpiled/mongodb/lib/gridfs/upload.js +0 -446
- package/transpiled/mongodb/lib/index.js +0 -975
- package/transpiled/mongodb/lib/mongo_client.js +0 -626
- package/transpiled/mongodb/lib/mongo_client_auth_providers.js +0 -98
- package/transpiled/mongodb/lib/mongo_logger.js +0 -812
- package/transpiled/mongodb/lib/mongo_types.js +0 -71
- package/transpiled/mongodb/lib/operations/aggregate.js +0 -129
- package/transpiled/mongodb/lib/operations/bulk_write.js +0 -48
- package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +0 -96
- package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +0 -409
- package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +0 -5
- package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +0 -144
- package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +0 -228
- package/transpiled/mongodb/lib/operations/collections.js +0 -49
- package/transpiled/mongodb/lib/operations/command.js +0 -102
- package/transpiled/mongodb/lib/operations/count.js +0 -60
- package/transpiled/mongodb/lib/operations/create_collection.js +0 -109
- package/transpiled/mongodb/lib/operations/delete.js +0 -134
- package/transpiled/mongodb/lib/operations/distinct.js +0 -77
- package/transpiled/mongodb/lib/operations/drop.js +0 -102
- package/transpiled/mongodb/lib/operations/estimated_document_count.js +0 -47
- package/transpiled/mongodb/lib/operations/execute_operation.js +0 -251
- package/transpiled/mongodb/lib/operations/find.js +0 -197
- package/transpiled/mongodb/lib/operations/find_and_modify.js +0 -191
- package/transpiled/mongodb/lib/operations/get_more.js +0 -84
- package/transpiled/mongodb/lib/operations/indexes.js +0 -197
- package/transpiled/mongodb/lib/operations/insert.js +0 -138
- package/transpiled/mongodb/lib/operations/is_capped.js +0 -44
- package/transpiled/mongodb/lib/operations/kill_cursors.js +0 -58
- package/transpiled/mongodb/lib/operations/list_collections.js +0 -66
- package/transpiled/mongodb/lib/operations/list_databases.js +0 -56
- package/transpiled/mongodb/lib/operations/operation.js +0 -88
- package/transpiled/mongodb/lib/operations/options_operation.js +0 -44
- package/transpiled/mongodb/lib/operations/profiling_level.js +0 -42
- package/transpiled/mongodb/lib/operations/remove_user.js +0 -35
- package/transpiled/mongodb/lib/operations/rename.js +0 -48
- package/transpiled/mongodb/lib/operations/run_command.js +0 -64
- package/transpiled/mongodb/lib/operations/search_indexes/create.js +0 -41
- package/transpiled/mongodb/lib/operations/search_indexes/drop.js +0 -51
- package/transpiled/mongodb/lib/operations/search_indexes/update.js +0 -40
- package/transpiled/mongodb/lib/operations/set_profiling_level.js +0 -70
- package/transpiled/mongodb/lib/operations/stats.js +0 -39
- package/transpiled/mongodb/lib/operations/update.js +0 -218
- package/transpiled/mongodb/lib/operations/validate_collection.js +0 -49
- package/transpiled/mongodb/lib/read_concern.js +0 -92
- package/transpiled/mongodb/lib/read_preference.js +0 -215
- package/transpiled/mongodb/lib/resource_management.js +0 -74
- package/transpiled/mongodb/lib/sdam/common.js +0 -53
- package/transpiled/mongodb/lib/sdam/events.js +0 -177
- package/transpiled/mongodb/lib/sdam/monitor.js +0 -656
- package/transpiled/mongodb/lib/sdam/server.js +0 -463
- package/transpiled/mongodb/lib/sdam/server_description.js +0 -196
- package/transpiled/mongodb/lib/sdam/server_selection.js +0 -283
- package/transpiled/mongodb/lib/sdam/server_selection_events.js +0 -112
- package/transpiled/mongodb/lib/sdam/srv_polling.js +0 -139
- package/transpiled/mongodb/lib/sdam/topology.js +0 -833
- package/transpiled/mongodb/lib/sdam/topology_description.js +0 -447
- package/transpiled/mongodb/lib/sessions.js +0 -988
- package/transpiled/mongodb/lib/sort.js +0 -123
- package/transpiled/mongodb/lib/timeout.js +0 -349
- package/transpiled/mongodb/lib/transactions.js +0 -149
- package/transpiled/mongodb/lib/utils.js +0 -1502
- package/transpiled/mongodb/lib/write_concern.js +0 -115
|
@@ -23,18 +23,18 @@ var _paramReaderExcel = _interopRequireDefault(require("../lib/param-reader-exce
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
25
|
|
|
26
|
-
/*
|
|
27
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
28
|
-
*
|
|
29
|
-
* This program is free software: you can redistribute it and/or modify
|
|
30
|
-
* it under the terms of the GNU General Public License as published by
|
|
31
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
32
|
-
* (at your option) any later version.
|
|
26
|
+
/*
|
|
27
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
28
|
+
*
|
|
29
|
+
* This program is free software: you can redistribute it and/or modify
|
|
30
|
+
* it under the terms of the GNU General Public License as published by
|
|
31
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
32
|
+
* (at your option) any later version.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
/**
|
|
36
|
-
* @name utils
|
|
37
|
-
* @description Provides miscellaneous utility methods.
|
|
35
|
+
/**
|
|
36
|
+
* @name utils
|
|
37
|
+
* @description Provides miscellaneous utility methods.
|
|
38
38
|
*/
|
|
39
39
|
const MODULE_NAME = 'utils';
|
|
40
40
|
|
|
@@ -44,20 +44,20 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
44
44
|
this._alwaysInitialized = true;
|
|
45
45
|
this._isInitialized = true;
|
|
46
46
|
}
|
|
47
|
-
/*
|
|
48
|
-
* @summary Gets module name
|
|
49
|
-
* @function name
|
|
50
|
-
* @return {String} Constant value "utils".
|
|
47
|
+
/*
|
|
48
|
+
* @summary Gets module name
|
|
49
|
+
* @function name
|
|
50
|
+
* @return {String} Constant value "utils".
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
get name() {
|
|
55
55
|
return MODULE_NAME;
|
|
56
56
|
}
|
|
57
|
-
/**
|
|
58
|
-
* @summary Pause test execution for the given amount of milliseconds.
|
|
59
|
-
* @function pause
|
|
60
|
-
* @param {Number} ms - Milliseconds to pause the execution for.
|
|
57
|
+
/**
|
|
58
|
+
* @summary Pause test execution for the given amount of milliseconds.
|
|
59
|
+
* @function pause
|
|
60
|
+
* @param {Number} ms - Milliseconds to pause the execution for.
|
|
61
61
|
*/
|
|
62
62
|
|
|
63
63
|
|
|
@@ -66,63 +66,63 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
66
66
|
|
|
67
67
|
await _util.default.sleep(ms);
|
|
68
68
|
}
|
|
69
|
-
/**
|
|
70
|
-
* @summary Decrypt text
|
|
71
|
-
* @function decrypt
|
|
72
|
-
* @param {String} text - Text
|
|
73
|
-
* @return {Object} DecryptResult Object with getDecryptResult method
|
|
74
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
75
|
-
* // to encrypt plaintext into ciphertext
|
|
76
|
-
* const encrypt = utils.encrypt('https://www.wikipedia.org');
|
|
77
|
-
* log.info(encrypt); // will print b757ba2c2fc50fbb511d596816ca06c4fa56f4e98ce222f30bc58d5251ed635e
|
|
78
|
-
*
|
|
79
|
-
* // to decrypt ciphertext and use it in script
|
|
80
|
-
* const decrypt = utils.decrypt(encrypt);
|
|
81
|
-
* log.info(decrypt); // will print ENCRYPTED
|
|
82
|
-
*
|
|
83
|
-
* web.init();
|
|
84
|
-
* web.open(decrypt); // will open https://www.wikipedia.org
|
|
85
|
-
*
|
|
86
|
-
* // to get original plaintext use getDecryptResult
|
|
87
|
-
* const value = decrypt.getDecryptResult();
|
|
88
|
-
* log.info(value); //will print https://www.wikipedia.org
|
|
69
|
+
/**
|
|
70
|
+
* @summary Decrypt text
|
|
71
|
+
* @function decrypt
|
|
72
|
+
* @param {String} text - Text
|
|
73
|
+
* @return {Object} DecryptResult Object with getDecryptResult method
|
|
74
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
75
|
+
* // to encrypt plaintext into ciphertext
|
|
76
|
+
* const encrypt = utils.encrypt('https://www.wikipedia.org');
|
|
77
|
+
* log.info(encrypt); // will print b757ba2c2fc50fbb511d596816ca06c4fa56f4e98ce222f30bc58d5251ed635e
|
|
78
|
+
*
|
|
79
|
+
* // to decrypt ciphertext and use it in script
|
|
80
|
+
* const decrypt = utils.decrypt(encrypt);
|
|
81
|
+
* log.info(decrypt); // will print ENCRYPTED
|
|
82
|
+
*
|
|
83
|
+
* web.init();
|
|
84
|
+
* web.open(decrypt); // will open https://www.wikipedia.org
|
|
85
|
+
*
|
|
86
|
+
* // to get original plaintext use getDecryptResult
|
|
87
|
+
* const value = decrypt.getDecryptResult();
|
|
88
|
+
* log.info(value); //will print https://www.wikipedia.org
|
|
89
89
|
*/
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
decrypt(text) {
|
|
93
93
|
return _util.default.decrypt(text);
|
|
94
94
|
}
|
|
95
|
-
/**
|
|
96
|
-
* @summary Encrypt text
|
|
97
|
-
* @function encrypt
|
|
98
|
-
* @param {String} text - Text
|
|
99
|
-
* @return {String} Encrypted text
|
|
100
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
101
|
-
* // to encrypt plaintext into ciphertext
|
|
102
|
-
* const encrypt = utils.encrypt('https://www.wikipedia.org');
|
|
103
|
-
* log.info(encrypt); // will print b757ba2c2fc50fbb511d596816ca06c4fa56f4e98ce222f30bc58d5251ed635e
|
|
104
|
-
*
|
|
105
|
-
* // to decrypt ciphertext and use it in script
|
|
106
|
-
* const decrypt = utils.decrypt(encrypt);
|
|
107
|
-
* log.info(decrypt); // will print ENCRYPTED
|
|
108
|
-
*
|
|
109
|
-
* web.init();
|
|
110
|
-
* web.open(decrypt); // will open https://www.wikipedia.org
|
|
111
|
-
*
|
|
112
|
-
* // to get original plaintext use getDecryptResult
|
|
113
|
-
* const value = decrypt.getDecryptResult();
|
|
114
|
-
* log.info(value); //will print https://www.wikipedia.org
|
|
95
|
+
/**
|
|
96
|
+
* @summary Encrypt text
|
|
97
|
+
* @function encrypt
|
|
98
|
+
* @param {String} text - Text
|
|
99
|
+
* @return {String} Encrypted text
|
|
100
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
101
|
+
* // to encrypt plaintext into ciphertext
|
|
102
|
+
* const encrypt = utils.encrypt('https://www.wikipedia.org');
|
|
103
|
+
* log.info(encrypt); // will print b757ba2c2fc50fbb511d596816ca06c4fa56f4e98ce222f30bc58d5251ed635e
|
|
104
|
+
*
|
|
105
|
+
* // to decrypt ciphertext and use it in script
|
|
106
|
+
* const decrypt = utils.decrypt(encrypt);
|
|
107
|
+
* log.info(decrypt); // will print ENCRYPTED
|
|
108
|
+
*
|
|
109
|
+
* web.init();
|
|
110
|
+
* web.open(decrypt); // will open https://www.wikipedia.org
|
|
111
|
+
*
|
|
112
|
+
* // to get original plaintext use getDecryptResult
|
|
113
|
+
* const value = decrypt.getDecryptResult();
|
|
114
|
+
* log.info(value); //will print https://www.wikipedia.org
|
|
115
115
|
*/
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
encrypt(text) {
|
|
119
119
|
return _util.default.encrypt(text);
|
|
120
120
|
}
|
|
121
|
-
/**
|
|
122
|
-
* @summary Reads data from csv file
|
|
123
|
-
* @function readCsv
|
|
124
|
-
* @param {String} filePath - Absolute path to file
|
|
125
|
-
* @param {Object=} options - [Options](https://csv.js.org/parse/options/)
|
|
121
|
+
/**
|
|
122
|
+
* @summary Reads data from csv file
|
|
123
|
+
* @function readCsv
|
|
124
|
+
* @param {String} filePath - Absolute path to file
|
|
125
|
+
* @param {Object=} options - [Options](https://csv.js.org/parse/options/)
|
|
126
126
|
*/
|
|
127
127
|
|
|
128
128
|
|
|
@@ -170,12 +170,12 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
170
170
|
|
|
171
171
|
return table;
|
|
172
172
|
}
|
|
173
|
-
/**
|
|
174
|
-
* @summary Writes data into csv file
|
|
175
|
-
* @function writeCsv
|
|
176
|
-
* @param {String} filePath - Absolute path to file
|
|
177
|
-
* @param {Array} data - CSV data in format [{column_name_1: 'foo', column_name_2: 'bar'}]
|
|
178
|
-
* @param {Object=} options - [Options](https://github.com/anton-bot/objects-to-csv#async-todiskfilename-options)
|
|
173
|
+
/**
|
|
174
|
+
* @summary Writes data into csv file
|
|
175
|
+
* @function writeCsv
|
|
176
|
+
* @param {String} filePath - Absolute path to file
|
|
177
|
+
* @param {Array} data - CSV data in format [{column_name_1: 'foo', column_name_2: 'bar'}]
|
|
178
|
+
* @param {Object=} options - [Options](https://github.com/anton-bot/objects-to-csv#async-todiskfilename-options)
|
|
179
179
|
*/
|
|
180
180
|
|
|
181
181
|
|
|
@@ -192,11 +192,11 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
192
192
|
throw new _OxygenError.default(_helper.default.errorCode.CSV_ERROR, e.message);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
/**
|
|
196
|
-
* @summary Reads data from Xlsx file
|
|
197
|
-
* @function readXlsx
|
|
198
|
-
* @param {String} filePath - Absolute path to file
|
|
199
|
-
* @return {Array} - Array of xlsx data
|
|
195
|
+
/**
|
|
196
|
+
* @summary Reads data from Xlsx file
|
|
197
|
+
* @function readXlsx
|
|
198
|
+
* @param {String} filePath - Absolute path to file
|
|
199
|
+
* @return {Array} - Array of xlsx data
|
|
200
200
|
*/
|
|
201
201
|
|
|
202
202
|
|
|
@@ -204,12 +204,12 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
204
204
|
const reader = new _paramReaderExcel.default();
|
|
205
205
|
return await reader.read(filePath);
|
|
206
206
|
}
|
|
207
|
-
/**
|
|
208
|
-
* @summary Uses the DNS protocol to resolve a host name
|
|
209
|
-
* @function dnsResolve
|
|
210
|
-
* @param {String} hostname - Host name to resolve.
|
|
211
|
-
* @param {String=} rrType - Resource record type. Default: 'A'.
|
|
212
|
-
* @return {String[] | Object} - Array or Object of resource records. The type and structure of individual results vary based on rrtype
|
|
207
|
+
/**
|
|
208
|
+
* @summary Uses the DNS protocol to resolve a host name
|
|
209
|
+
* @function dnsResolve
|
|
210
|
+
* @param {String} hostname - Host name to resolve.
|
|
211
|
+
* @param {String=} rrType - Resource record type. Default: 'A'.
|
|
212
|
+
* @return {String[] | Object} - Array or Object of resource records. The type and structure of individual results vary based on rrtype
|
|
213
213
|
*/
|
|
214
214
|
|
|
215
215
|
|
|
@@ -230,11 +230,11 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
230
230
|
throw new _OxygenError.default(_helper.default.errorCode.DNS_ERROR, e.message);
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
-
/**
|
|
234
|
-
* @summary Parse XML data to JS object
|
|
235
|
-
* @function xmlToJson
|
|
236
|
-
* @param {string|Buffer} xmlDataStr - Like <root a="nice" b="very nice" ><a>wow</a></root>
|
|
237
|
-
* @param {boolean|Object} options - [Options](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md)
|
|
233
|
+
/**
|
|
234
|
+
* @summary Parse XML data to JS object
|
|
235
|
+
* @function xmlToJson
|
|
236
|
+
* @param {string|Buffer} xmlDataStr - Like <root a="nice" b="very nice" ><a>wow</a></root>
|
|
237
|
+
* @param {boolean|Object} options - [Options](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md)
|
|
238
238
|
*/
|
|
239
239
|
|
|
240
240
|
|
|
@@ -247,11 +247,11 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
247
247
|
throw new _OxygenError.default(_helper.default.errorCode.XML_ERROR, e.message);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
/**
|
|
251
|
-
* @summary Opens new transaction.
|
|
252
|
-
* @description The transaction will persist untill a new one is opened. Transaction names must be unique.
|
|
253
|
-
* @function transaction
|
|
254
|
-
* @param {String} name - The transaction name.
|
|
250
|
+
/**
|
|
251
|
+
* @summary Opens new transaction.
|
|
252
|
+
* @description The transaction will persist untill a new one is opened. Transaction names must be unique.
|
|
253
|
+
* @function transaction
|
|
254
|
+
* @param {String} name - The transaction name.
|
|
255
255
|
*/
|
|
256
256
|
|
|
257
257
|
|
|
@@ -270,4 +270,4 @@ class UtilsModule extends _OxygenModule.default {
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
exports.default = UtilsModule;
|
|
273
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS11dGlscy5qcyJdLCJuYW1lcyI6WyJNT0RVTEVfTkFNRSIsIlV0aWxzTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiX2Fsd2F5c0luaXRpYWxpemVkIiwiX2lzSW5pdGlhbGl6ZWQiLCJuYW1lIiwicGF1c2UiLCJtcyIsInV0aWxzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSIsImxpYlV0aWxzIiwic2xlZXAiLCJkZWNyeXB0IiwidGV4dCIsImVuY3J5cHQiLCJyZWFkQ3N2IiwiZmlsZVBhdGgiLCJwYXJzZSIsInJlcXVpcmUiLCJmcyIsInBhdGgiLCJleHQiLCJleHRuYW1lIiwiT3hFcnJvciIsImVycm9ySGVscGVyIiwiZXJyb3JDb2RlIiwiQ1NWX0VSUk9SIiwiZGF0YSIsInJlYWRGaWxlU3luYyIsImUiLCJyZXBsYWNlIiwiYm9tIiwiY2hhckNvZGVBdCIsInRhYmxlIiwiY29sdW1ucyIsInRyaW0iLCJtZXNzYWdlIiwid3JpdGVDc3YiLCJPYmplY3RzVG9Dc3YiLCJjc3YiLCJ0b0Rpc2siLCJhbGxDb2x1bW5zIiwicmVhZFhsc3giLCJyZWFkZXIiLCJFeGNlbFJlYWRlciIsInJlYWQiLCJkbnNSZXNvbHZlIiwiaG9zdG5hbWUiLCJyclR5cGUiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwicnJUeXBlcyIsImluY2x1ZGVzIiwiU0NSSVBUX0VSUk9SIiwiam9pbiIsImRuc1Byb21pc2VzIiwicHJvbWlzZXMiLCJyZXNvbHZlIiwiRE5TX0VSUk9SIiwieG1sVG9Kc29uIiwieG1sRGF0YVN0ciIsInBhcnNlciIsImZhc3RYbWxQYXJzZXIiLCJYTUxQYXJzZXIiLCJvdXRwdXQiLCJYTUxfRVJST1IiLCJ0cmFuc2FjdGlvbiIsInRvU3RyaW5nIiwic2xpY2Ui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QVMsQ0FBQ0MsVUFBRCxFQUFhOUQsT0FBTyxHQUFHLEVBQXZCLEVBQTJCO0FBQ2hDLFFBQUk7QUFDQSxZQUFNK0QsTUFBTSxHQUFHLElBQUlDLHVCQUFjQyxTQUFsQixDQUE0QmpFLE9BQTVCLENBQWY7QUFDQSxZQUFNa0UsTUFBTSxHQUFHSCxNQUFNLENBQUMzQyxLQUFQLENBQWEwQyxVQUFiLENBQWY7QUFDQSxhQUFPSSxNQUFQO0FBQ0gsS0FKRCxDQUlFLE9BQU9sQyxDQUFQLEVBQVU7QUFDUixZQUFNLElBQUlOLG9CQUFKLENBQVlDLGdCQUFZQyxTQUFaLENBQXNCdUMsU0FBbEMsRUFBNkNuQyxDQUFDLENBQUNPLE9BQS9DLENBQU47QUFDSDtBQUNKO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDcUIsUUFBWDZCLFdBQVcsQ0FBQzVELElBQUQsRUFBTztBQUNwQixRQUFJLENBQUNBLElBQUwsRUFBVztBQUNQO0FBQ0gsS0FIbUIsQ0FJcEI7OztBQUNBQSxJQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQzZELFFBQUwsRUFBUCxDQUxvQixDQU9wQjs7QUFDQTdELElBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDOEQsS0FBTCxDQUFXLENBQVgsRUFBYyxHQUFkLENBQVA7QUFFQUMsSUFBQUEsTUFBTSxDQUFDQyxvQkFBUCxHQUE4QmhFLElBQTlCO0FBQ0g7O0FBMU1pRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLyoqXG4gKiBAbmFtZSB1dGlsc1xuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIG1pc2NlbGxhbmVvdXMgdXRpbGl0eSBtZXRob2RzLlxuICovXG5cbmNvbnN0IE1PRFVMRV9OQU1FID0gJ3V0aWxzJztcbmltcG9ydCBmYXN0WG1sUGFyc2VyIGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XG5pbXBvcnQgT3h5Z2VuTW9kdWxlIGZyb20gJy4uL2NvcmUvT3h5Z2VuTW9kdWxlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBsaWJVdGlscyBmcm9tICcuLi9saWIvdXRpbCc7XG5pbXBvcnQgT3hFcnJvciBmcm9tICcuLi9lcnJvcnMvT3h5Z2VuRXJyb3InO1xuaW1wb3J0IGVycm9ySGVscGVyIGZyb20gJy4uL2Vycm9ycy9oZWxwZXInO1xuaW1wb3J0IEV4Y2VsUmVhZGVyIGZyb20gJy4uL2xpYi9wYXJhbS1yZWFkZXItZXhjZWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVdGlsc01vZHVsZSBleHRlbmRzIE94eWdlbk1vZHVsZSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpO1xuICAgICAgICB0aGlzLl9hbHdheXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQHN1bW1hcnkgR2V0cyBtb2R1bGUgbmFtZVxuICAgICAqIEBmdW5jdGlvbiBuYW1lXG4gICAgICogQHJldHVybiB7U3RyaW5nfSBDb25zdGFudCB2YWx1ZSBcInV0aWxzXCIuXG4gICAgICovXG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBNT0RVTEVfTkFNRTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBQYXVzZSB0ZXN0IGV4ZWN1dGlvbiBmb3IgdGhlIGdpdmVuIGFtb3VudCBvZiBtaWxsaXNlY29uZHMuXG4gICAgICogQGZ1bmN0aW9uIHBhdXNlXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG1zIC0gTWlsbGlzZWNvbmRzIHRvIHBhdXNlIHRoZSBleGVjdXRpb24gZm9yLlxuICAgICAqL1xuICAgIGFzeW5jIHBhdXNlKG1zKSB7XG4gICAgICAgIHV0aWxzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUobXMsICdtcycpO1xuICAgICAgICBhd2FpdCBsaWJVdGlscy5zbGVlcChtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHN1bW1hcnkgRGVjcnlwdCB0ZXh0XG4gICAgICogQGZ1bmN0aW9uIGRlY3J5cHRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdGV4dCAtIFRleHRcbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IERlY3J5cHRSZXN1bHQgT2JqZWN0IHdpdGggZ2V0RGVjcnlwdFJlc3VsdCBtZXRob2RcbiAgICAgKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cbiAgICAgKiAvLyB0byBlbmNyeXB0IHBsYWludGV4dCBpbnRvIGNpcGhlcnRleHQgXG4gICAgICogY29uc3QgZW5jcnlwdCA9IHV0aWxzLmVuY3J5cHQoJ2h0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmcnKTtcbiAgICAgKiBsb2cuaW5mbyhlbmNyeXB0KTsgLy8gd2lsbCBwcmludCBiNzU3YmEyYzJmYzUwZmJiNTExZDU5NjgxNmNhMDZjNGZhNTZmNGU5OGNlMjIyZjMwYmM1OGQ1MjUxZWQ2MzVlXG4gICAgICogXG4gICAgICogLy8gdG8gZGVjcnlwdCBjaXBoZXJ0ZXh0IGFuZCB1c2UgaXQgaW4gc2NyaXB0ICBcbiAgICAgKiBjb25zdCBkZWNyeXB0ID0gdXRpbHMuZGVjcnlwdChlbmNyeXB0KTtcbiAgICAgKiBsb2cuaW5mbyhkZWNyeXB0KTsgLy8gd2lsbCBwcmludCBFTkNSWVBURURcbiAgICAgKiBcbiAgICAgKiB3ZWIuaW5pdCgpO1xuICAgICAqIHdlYi5vcGVuKGRlY3J5cHQpOyAvLyB3aWxsIG9wZW4gaHR0cHM6Ly93d3cud2lraXBlZGlhLm9yZ1xuICAgICAqIFxuICAgICAqIC8vIHRvIGdldCBvcmlnaW5hbCBwbGFpbnRleHQgdXNlIGdldERlY3J5cHRSZXN1bHRcbiAgICAgKiBjb25zdCB2YWx1ZSA9IGRlY3J5cHQuZ2V0RGVjcnlwdFJlc3VsdCgpO1xuICAgICAqIGxvZy5pbmZvKHZhbHVlKTsgLy93aWxsIHByaW50IGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcbiAgICAgKi9cbiAgICBkZWNyeXB0KHRleHQpIHtcbiAgICAgICAgcmV0dXJuIGxpYlV0aWxzLmRlY3J5cHQodGV4dCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHN1bW1hcnkgRW5jcnlwdCB0ZXh0XG4gICAgICogQGZ1bmN0aW9uIGVuY3J5cHRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdGV4dCAtIFRleHRcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IEVuY3J5cHRlZCB0ZXh0XG4gICAgICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XG4gICAgICogLy8gdG8gZW5jcnlwdCBwbGFpbnRleHQgaW50byBjaXBoZXJ0ZXh0IFxuICAgICAqIGNvbnN0IGVuY3J5cHQgPSB1dGlscy5lbmNyeXB0KCdodHRwczovL3d3dy53aWtpcGVkaWEub3JnJyk7XG4gICAgICogbG9nLmluZm8oZW5jcnlwdCk7IC8vIHdpbGwgcHJpbnQgYjc1N2JhMmMyZmM1MGZiYjUxMWQ1OTY4MTZjYTA2YzRmYTU2ZjRlOThjZTIyMmYzMGJjNThkNTI1MWVkNjM1ZVxuICAgICAqIFxuICAgICAqIC8vIHRvIGRlY3J5cHQgY2lwaGVydGV4dCBhbmQgdXNlIGl0IGluIHNjcmlwdCAgXG4gICAgICogY29uc3QgZGVjcnlwdCA9IHV0aWxzLmRlY3J5cHQoZW5jcnlwdCk7XG4gICAgICogbG9nLmluZm8oZGVjcnlwdCk7IC8vIHdpbGwgcHJpbnQgRU5DUllQVEVEXG4gICAgICogXG4gICAgICogd2ViLmluaXQoKTtcbiAgICAgKiB3ZWIub3BlbihkZWNyeXB0KTsgLy8gd2lsbCBvcGVuIGh0dHBzOi8vd3d3Lndpa2lwZWRpYS5vcmdcbiAgICAgKiBcbiAgICAgKiAvLyB0byBnZXQgb3JpZ2luYWwgcGxhaW50ZXh0IHVzZSBnZXREZWNyeXB0UmVzdWx0XG4gICAgICogY29uc3QgdmFsdWUgPSBkZWNyeXB0LmdldERlY3J5cHRSZXN1bHQoKTtcbiAgICAgKiBsb2cuaW5mbyh2YWx1ZSk7IC8vd2lsbCBwcmludCBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXG4gICAgICovXG4gICAgZW5jcnlwdCh0ZXh0KSB7XG4gICAgICAgIHJldHVybiBsaWJVdGlscy5lbmNyeXB0KHRleHQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBSZWFkcyBkYXRhIGZyb20gY3N2IGZpbGVcbiAgICAgKiBAZnVuY3Rpb24gcmVhZENzdlxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlUGF0aCAtIEFic29sdXRlIHBhdGggdG8gZmlsZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2Nzdi5qcy5vcmcvcGFyc2Uvb3B0aW9ucy8pXG4gICAgICovXG4gICAgcmVhZENzdihmaWxlUGF0aCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlID0gcmVxdWlyZSgnY3N2LXBhcnNlL2xpYi9zeW5jJyk7XG4gICAgICAgIHZhciBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG4gICAgICAgIHZhciBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuXG4gICAgICAgIHZhciBleHQgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuICAgICAgICBpZiAoZXh0ICE9PSAnLmNzdicgJiYgZXh0ICE9PSAnLnR4dCcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5DU1ZfRVJST1IsICdVbnN1cHBvcnRlZCBmaWxlIGV4dGVuc2lvbjogJyArIGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGF0YTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGRhdGEgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGY4Jyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5DU1ZfRVJST1IsICdVbmFibGUgdG8gcmVhZCBwYXJhbWV0ZXJzIGZpbGU6ICcgKyBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENTVnMgcHJvZHVjZWQgYnkgT1MgWCBFeGNlbCBoYXZlIGhlYWRlciB0ZXJtaW5hdGVkIHdpdGggMGQwZDBhXG4gICAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoL1xcclxcci9nLCAnXFxyJyk7XG5cbiAgICAgICAgLy8gc3RyaXAgQk9NIGZvciBVVEYtOFxuICAgICAgICB2YXIgYm9tID0gZmFsc2U7XG4gICAgICAgIC8vIGNhdGNoZXMgMHhFRkJCQkYgKFVURi04IEJPTSkgYmVjYXVzZSB0aGUgYnVmZmVyLXRvLXN0cmluZ1xuICAgICAgICAvLyBjb252ZXJzaW9uIHRyYW5zbGF0ZXMgaXQgdG8gMHhGRUZGIChVVEYtMTYgQk9NKVxuICAgICAgICBpZiAoZGF0YS5jaGFyQ29kZUF0KDApID09PSAweEZFRkYpIHtcbiAgICAgICAgICAgIGJvbSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIHRhYmxlID0gcGFyc2UoZGF0YSwgeyBib206IGJvbSwgY29sdW1uczogdHJ1ZSwgdHJpbTogdHJ1ZSwgLi4ub3B0aW9ucyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBXcml0ZXMgZGF0YSBpbnRvIGNzdiBmaWxlXG4gICAgICogQGZ1bmN0aW9uIHdyaXRlQ3N2XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGZpbGVQYXRoIC0gQWJzb2x1dGUgcGF0aCB0byBmaWxlXG4gICAgICogQHBhcmFtIHtBcnJheX0gZGF0YSAtIENTViBkYXRhIGluIGZvcm1hdCBbe2NvbHVtbl9uYW1lXzE6ICdmb28nLCBjb2x1bW5fbmFtZV8yOiAnYmFyJ31dXG4gICAgICogQHBhcmFtIHtPYmplY3Q9fSBvcHRpb25zIC0gW09wdGlvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbnRvbi1ib3Qvb2JqZWN0cy10by1jc3YjYXN5bmMtdG9kaXNrZmlsZW5hbWUtb3B0aW9ucylcbiAgICAgKi9cbiAgICBhc3luYyB3cml0ZUNzdihmaWxlUGF0aCwgZGF0YSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBPYmplY3RzVG9Dc3YgPSByZXF1aXJlKCdvYmplY3RzLXRvLWNzdicpO1xuICAgICAgICAgICAgY29uc3QgY3N2ID0gbmV3IE9iamVjdHNUb0NzdihkYXRhKTtcbiAgICAgICAgICAgIGF3YWl0IGNzdi50b0Rpc2soZmlsZVBhdGgsIHsgYWxsQ29sdW1uczogdHJ1ZSwgLi4ub3B0aW9ucyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIGRhdGEgZnJvbSBYbHN4IGZpbGVcbiAgICAgKiBAZnVuY3Rpb24gcmVhZFhsc3hcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIGZpbGVcbiAgICAgKiBAcmV0dXJuIHtBcnJheX0gLSBBcnJheSBvZiB4bHN4IGRhdGFcbiAgICAgKi9cbiAgICBhc3luYyByZWFkWGxzeChmaWxlUGF0aCkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRXhjZWxSZWFkZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlYWRlci5yZWFkKGZpbGVQYXRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBVc2VzIHRoZSBETlMgcHJvdG9jb2wgdG8gcmVzb2x2ZSBhIGhvc3QgbmFtZVxuICAgICAqIEBmdW5jdGlvbiBkbnNSZXNvbHZlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGhvc3RuYW1lIC0gSG9zdCBuYW1lIHRvIHJlc29sdmUuXG4gICAgICogQHBhcmFtIHtTdHJpbmc9fSByclR5cGUgLSBSZXNvdXJjZSByZWNvcmQgdHlwZS4gRGVmYXVsdDogJ0EnLlxuICAgICAqIEByZXR1cm4ge1N0cmluZ1tdIHwgT2JqZWN0fSAtIEFycmF5IG9yIE9iamVjdCBvZiByZXNvdXJjZSByZWNvcmRzLiBUaGUgdHlwZSBhbmQgc3RydWN0dXJlIG9mIGluZGl2aWR1YWwgcmVzdWx0cyB2YXJ5IGJhc2VkIG9uIHJydHlwZVxuICAgICAqL1xuICAgIGFzeW5jIGRuc1Jlc29sdmUoaG9zdG5hbWUsIHJyVHlwZSA9ICdBJykge1xuICAgICAgICB1dGlscy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKGhvc3RuYW1lLCAnaG9zdG5hbWUnKTtcbiAgICAgICAgY29uc3QgcnJUeXBlcyA9IFsnQScsICdBQUFBJywgJ0FOWScsICdDTkFNRScsICdNWCcsICdOQVBUUicsICdOUycsICdQVFInLCAnU09BJywgJ1NSVicsICdUWFQnXTtcblxuICAgICAgICBpZiAoIXJyVHlwZXMuaW5jbHVkZXMocnJUeXBlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLlNDUklQVF9FUlJPUiwgYEludmFsaWQgYXJndW1lbnQgLSAncnJUeXBlJy4gQXZhaWxhYmxlIHJyVHlwZSB2YWx1ZXM6ICR7cnJUeXBlcy5qb2luKCcsICcpfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZG5zUHJvbWlzZXMgPSByZXF1aXJlKCdkbnMnKS5wcm9taXNlcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBkbnNQcm9taXNlcy5yZXNvbHZlKGhvc3RuYW1lLCByclR5cGUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuRE5TX0VSUk9SLCBlLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHN1bW1hcnkgUGFyc2UgWE1MIGRhdGEgdG8gSlMgb2JqZWN0IFxuICAgICAqIEBmdW5jdGlvbiB4bWxUb0pzb25cbiAgICAgKiBAcGFyYW0ge3N0cmluZ3xCdWZmZXJ9IHhtbERhdGFTdHIgLSBMaWtlIDxyb290IGE9XCJuaWNlXCIgYj1cInZlcnkgbmljZVwiID48YT53b3c8L2E+PC9yb290PlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbnxPYmplY3R9IG9wdGlvbnMgLSBbT3B0aW9uc10oaHR0cHM6Ly9naXRodWIuY29tL05hdHVyYWxJbnRlbGxpZ2VuY2UvZmFzdC14bWwtcGFyc2VyL2Jsb2IvbWFzdGVyL2RvY3MvdjQvMi5YTUxwYXJzZU9wdGlvbnMubWQpIFxuICAgICAqL1xuICAgIHhtbFRvSnNvbih4bWxEYXRhU3RyLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBmYXN0WG1sUGFyc2VyLlhNTFBhcnNlcihvcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHBhcnNlci5wYXJzZSh4bWxEYXRhU3RyKTtcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5YTUxfRVJST1IsIGUubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBPcGVucyBuZXcgdHJhbnNhY3Rpb24uXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSB0cmFuc2FjdGlvbiB3aWxsIHBlcnNpc3QgdW50aWxsIGEgbmV3IG9uZSBpcyBvcGVuZWQuIFRyYW5zYWN0aW9uIG5hbWVzIG11c3QgYmUgdW5pcXVlLlxuICAgICAqIEBmdW5jdGlvbiB0cmFuc2FjdGlvblxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIC0gVGhlIHRyYW5zYWN0aW9uIG5hbWUuXG4gICAgICovXG4gICAgYXN5bmMgdHJhbnNhY3Rpb24obmFtZSkge1xuICAgICAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBqdXN0IGluIGNhc2UgdXNlciBwYXNzZWQgYSBjb21wbGV4IG9iamVjdCBieSBtaXN0YWtlXG4gICAgICAgIG5hbWUgPSBuYW1lLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgLy8gbGltaXQgdGhlIG5hbWUgbGVuZ3RoIChzaW5jZSB3ZSBjYW4ndCBzdG9yZSB2YWx1ZXMgbGFyZ2VyIHRoYW4gNTEyQiBpbiB0aGUgZGF0YWJhc2UpXG4gICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDAsIDUxMik7XG5cbiAgICAgICAgZ2xvYmFsLl9sYXN0VHJhbnNhY3Rpb25OYW1lID0gbmFtZTtcbiAgICB9XG59Il19
|
|
273
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS11dGlscy5qcyJdLCJuYW1lcyI6WyJNT0RVTEVfTkFNRSIsIlV0aWxzTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiX2Fsd2F5c0luaXRpYWxpemVkIiwiX2lzSW5pdGlhbGl6ZWQiLCJuYW1lIiwicGF1c2UiLCJtcyIsInV0aWxzIiwiYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSIsImxpYlV0aWxzIiwic2xlZXAiLCJkZWNyeXB0IiwidGV4dCIsImVuY3J5cHQiLCJyZWFkQ3N2IiwiZmlsZVBhdGgiLCJwYXJzZSIsInJlcXVpcmUiLCJmcyIsInBhdGgiLCJleHQiLCJleHRuYW1lIiwiT3hFcnJvciIsImVycm9ySGVscGVyIiwiZXJyb3JDb2RlIiwiQ1NWX0VSUk9SIiwiZGF0YSIsInJlYWRGaWxlU3luYyIsImUiLCJyZXBsYWNlIiwiYm9tIiwiY2hhckNvZGVBdCIsInRhYmxlIiwiY29sdW1ucyIsInRyaW0iLCJtZXNzYWdlIiwid3JpdGVDc3YiLCJPYmplY3RzVG9Dc3YiLCJjc3YiLCJ0b0Rpc2siLCJhbGxDb2x1bW5zIiwicmVhZFhsc3giLCJyZWFkZXIiLCJFeGNlbFJlYWRlciIsInJlYWQiLCJkbnNSZXNvbHZlIiwiaG9zdG5hbWUiLCJyclR5cGUiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwicnJUeXBlcyIsImluY2x1ZGVzIiwiU0NSSVBUX0VSUk9SIiwiam9pbiIsImRuc1Byb21pc2VzIiwicHJvbWlzZXMiLCJyZXNvbHZlIiwiRE5TX0VSUk9SIiwieG1sVG9Kc29uIiwieG1sRGF0YVN0ciIsInBhcnNlciIsImZhc3RYbWxQYXJzZXIiLCJYTUxQYXJzZXIiLCJvdXRwdXQiLCJYTUxfRVJST1IiLCJ0cmFuc2FjdGlvbiIsInRvU3RyaW5nIiwic2xpY2Ui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QVMsQ0FBQ0MsVUFBRCxFQUFhOUQsT0FBTyxHQUFHLEVBQXZCLEVBQTJCO0FBQ2hDLFFBQUk7QUFDQSxZQUFNK0QsTUFBTSxHQUFHLElBQUlDLHVCQUFjQyxTQUFsQixDQUE0QmpFLE9BQTVCLENBQWY7QUFDQSxZQUFNa0UsTUFBTSxHQUFHSCxNQUFNLENBQUMzQyxLQUFQLENBQWEwQyxVQUFiLENBQWY7QUFDQSxhQUFPSSxNQUFQO0FBQ0gsS0FKRCxDQUlFLE9BQU9sQyxDQUFQLEVBQVU7QUFDUixZQUFNLElBQUlOLG9CQUFKLENBQVlDLGdCQUFZQyxTQUFaLENBQXNCdUMsU0FBbEMsRUFBNkNuQyxDQUFDLENBQUNPLE9BQS9DLENBQU47QUFDSDtBQUNKO0FBRUQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDcUIsUUFBWDZCLFdBQVcsQ0FBQzVELElBQUQsRUFBTztBQUNwQixRQUFJLENBQUNBLElBQUwsRUFBVztBQUNQO0FBQ0gsS0FIbUIsQ0FJcEI7OztBQUNBQSxJQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQzZELFFBQUwsRUFBUCxDQUxvQixDQU9wQjs7QUFDQTdELElBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDOEQsS0FBTCxDQUFXLENBQVgsRUFBYyxHQUFkLENBQVA7QUFFQUMsSUFBQUEsTUFBTSxDQUFDQyxvQkFBUCxHQUE4QmhFLElBQTlCO0FBQ0g7O0FBMU1pRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBuYW1lIHV0aWxzXHJcbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBtaXNjZWxsYW5lb3VzIHV0aWxpdHkgbWV0aG9kcy5cclxuICovXHJcblxyXG5jb25zdCBNT0RVTEVfTkFNRSA9ICd1dGlscyc7XHJcbmltcG9ydCBmYXN0WG1sUGFyc2VyIGZyb20gJ2Zhc3QteG1sLXBhcnNlcic7XHJcbmltcG9ydCBPeHlnZW5Nb2R1bGUgZnJvbSAnLi4vY29yZS9PeHlnZW5Nb2R1bGUnO1xyXG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCBsaWJVdGlscyBmcm9tICcuLi9saWIvdXRpbCc7XHJcbmltcG9ydCBPeEVycm9yIGZyb20gJy4uL2Vycm9ycy9PeHlnZW5FcnJvcic7XHJcbmltcG9ydCBlcnJvckhlbHBlciBmcm9tICcuLi9lcnJvcnMvaGVscGVyJztcclxuaW1wb3J0IEV4Y2VsUmVhZGVyIGZyb20gJy4uL2xpYi9wYXJhbS1yZWFkZXItZXhjZWwnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXRpbHNNb2R1bGUgZXh0ZW5kcyBPeHlnZW5Nb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpIHtcclxuICAgICAgICBzdXBlcihvcHRpb25zLCBjb250ZXh0LCBycywgbG9nZ2VyLCBtb2R1bGVzLCBzZXJ2aWNlcyk7XHJcbiAgICAgICAgdGhpcy5fYWx3YXlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBAc3VtbWFyeSBHZXRzIG1vZHVsZSBuYW1lXHJcbiAgICAgKiBAZnVuY3Rpb24gbmFtZVxyXG4gICAgICogQHJldHVybiB7U3RyaW5nfSBDb25zdGFudCB2YWx1ZSBcInV0aWxzXCIuXHJcbiAgICAgKi9cclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICAgIHJldHVybiBNT0RVTEVfTkFNRTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFBhdXNlIHRlc3QgZXhlY3V0aW9uIGZvciB0aGUgZ2l2ZW4gYW1vdW50IG9mIG1pbGxpc2Vjb25kcy5cclxuICAgICAqIEBmdW5jdGlvbiBwYXVzZVxyXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG1zIC0gTWlsbGlzZWNvbmRzIHRvIHBhdXNlIHRoZSBleGVjdXRpb24gZm9yLlxyXG4gICAgICovXHJcbiAgICBhc3luYyBwYXVzZShtcykge1xyXG4gICAgICAgIHV0aWxzLmFzc2VydEFyZ3VtZW50TnVtYmVyTm9uTmVnYXRpdmUobXMsICdtcycpO1xyXG4gICAgICAgIGF3YWl0IGxpYlV0aWxzLnNsZWVwKG1zKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IERlY3J5cHQgdGV4dFxyXG4gICAgICogQGZ1bmN0aW9uIGRlY3J5cHRcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB0ZXh0IC0gVGV4dFxyXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBEZWNyeXB0UmVzdWx0IE9iamVjdCB3aXRoIGdldERlY3J5cHRSZXN1bHQgbWV0aG9kXHJcbiAgICAgKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICAgICAqIC8vIHRvIGVuY3J5cHQgcGxhaW50ZXh0IGludG8gY2lwaGVydGV4dCBcclxuICAgICAqIGNvbnN0IGVuY3J5cHQgPSB1dGlscy5lbmNyeXB0KCdodHRwczovL3d3dy53aWtpcGVkaWEub3JnJyk7XHJcbiAgICAgKiBsb2cuaW5mbyhlbmNyeXB0KTsgLy8gd2lsbCBwcmludCBiNzU3YmEyYzJmYzUwZmJiNTExZDU5NjgxNmNhMDZjNGZhNTZmNGU5OGNlMjIyZjMwYmM1OGQ1MjUxZWQ2MzVlXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGRlY3J5cHQgY2lwaGVydGV4dCBhbmQgdXNlIGl0IGluIHNjcmlwdCAgXHJcbiAgICAgKiBjb25zdCBkZWNyeXB0ID0gdXRpbHMuZGVjcnlwdChlbmNyeXB0KTtcclxuICAgICAqIGxvZy5pbmZvKGRlY3J5cHQpOyAvLyB3aWxsIHByaW50IEVOQ1JZUFRFRFxyXG4gICAgICogXHJcbiAgICAgKiB3ZWIuaW5pdCgpO1xyXG4gICAgICogd2ViLm9wZW4oZGVjcnlwdCk7IC8vIHdpbGwgb3BlbiBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGdldCBvcmlnaW5hbCBwbGFpbnRleHQgdXNlIGdldERlY3J5cHRSZXN1bHRcclxuICAgICAqIGNvbnN0IHZhbHVlID0gZGVjcnlwdC5nZXREZWNyeXB0UmVzdWx0KCk7XHJcbiAgICAgKiBsb2cuaW5mbyh2YWx1ZSk7IC8vd2lsbCBwcmludCBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKi9cclxuICAgIGRlY3J5cHQodGV4dCkge1xyXG4gICAgICAgIHJldHVybiBsaWJVdGlscy5kZWNyeXB0KHRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgRW5jcnlwdCB0ZXh0XHJcbiAgICAgKiBAZnVuY3Rpb24gZW5jcnlwdFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgLSBUZXh0XHJcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmd9IEVuY3J5cHRlZCB0ZXh0XHJcbiAgICAgKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICAgICAqIC8vIHRvIGVuY3J5cHQgcGxhaW50ZXh0IGludG8gY2lwaGVydGV4dCBcclxuICAgICAqIGNvbnN0IGVuY3J5cHQgPSB1dGlscy5lbmNyeXB0KCdodHRwczovL3d3dy53aWtpcGVkaWEub3JnJyk7XHJcbiAgICAgKiBsb2cuaW5mbyhlbmNyeXB0KTsgLy8gd2lsbCBwcmludCBiNzU3YmEyYzJmYzUwZmJiNTExZDU5NjgxNmNhMDZjNGZhNTZmNGU5OGNlMjIyZjMwYmM1OGQ1MjUxZWQ2MzVlXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGRlY3J5cHQgY2lwaGVydGV4dCBhbmQgdXNlIGl0IGluIHNjcmlwdCAgXHJcbiAgICAgKiBjb25zdCBkZWNyeXB0ID0gdXRpbHMuZGVjcnlwdChlbmNyeXB0KTtcclxuICAgICAqIGxvZy5pbmZvKGRlY3J5cHQpOyAvLyB3aWxsIHByaW50IEVOQ1JZUFRFRFxyXG4gICAgICogXHJcbiAgICAgKiB3ZWIuaW5pdCgpO1xyXG4gICAgICogd2ViLm9wZW4oZGVjcnlwdCk7IC8vIHdpbGwgb3BlbiBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKiBcclxuICAgICAqIC8vIHRvIGdldCBvcmlnaW5hbCBwbGFpbnRleHQgdXNlIGdldERlY3J5cHRSZXN1bHRcclxuICAgICAqIGNvbnN0IHZhbHVlID0gZGVjcnlwdC5nZXREZWNyeXB0UmVzdWx0KCk7XHJcbiAgICAgKiBsb2cuaW5mbyh2YWx1ZSk7IC8vd2lsbCBwcmludCBodHRwczovL3d3dy53aWtpcGVkaWEub3JnXHJcbiAgICAgKi9cclxuICAgIGVuY3J5cHQodGV4dCkge1xyXG4gICAgICAgIHJldHVybiBsaWJVdGlscy5lbmNyeXB0KHRleHQpO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBSZWFkcyBkYXRhIGZyb20gY3N2IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiByZWFkQ3N2XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIGZpbGVcclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2Nzdi5qcy5vcmcvcGFyc2Uvb3B0aW9ucy8pXHJcbiAgICAgKi9cclxuICAgIHJlYWRDc3YoZmlsZVBhdGgsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgICAgIGNvbnN0IHBhcnNlID0gcmVxdWlyZSgnY3N2LXBhcnNlL2xpYi9zeW5jJyk7XHJcbiAgICAgICAgdmFyIGZzID0gcmVxdWlyZSgnZnMnKTtcclxuICAgICAgICB2YXIgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcclxuXHJcbiAgICAgICAgdmFyIGV4dCA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XHJcbiAgICAgICAgaWYgKGV4dCAhPT0gJy5jc3YnICYmIGV4dCAhPT0gJy50eHQnKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5DU1ZfRVJST1IsICdVbnN1cHBvcnRlZCBmaWxlIGV4dGVuc2lvbjogJyArIGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgZGF0YTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBkYXRhID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmOCcpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgJ1VuYWJsZSB0byByZWFkIHBhcmFtZXRlcnMgZmlsZTogJyArIGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ1NWcyBwcm9kdWNlZCBieSBPUyBYIEV4Y2VsIGhhdmUgaGVhZGVyIHRlcm1pbmF0ZWQgd2l0aCAwZDBkMGFcclxuICAgICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC9cXHJcXHIvZywgJ1xccicpO1xyXG5cclxuICAgICAgICAvLyBzdHJpcCBCT00gZm9yIFVURi04XHJcbiAgICAgICAgdmFyIGJvbSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIGNhdGNoZXMgMHhFRkJCQkYgKFVURi04IEJPTSkgYmVjYXVzZSB0aGUgYnVmZmVyLXRvLXN0cmluZ1xyXG4gICAgICAgIC8vIGNvbnZlcnNpb24gdHJhbnNsYXRlcyBpdCB0byAweEZFRkYgKFVURi0xNiBCT00pXHJcbiAgICAgICAgaWYgKGRhdGEuY2hhckNvZGVBdCgwKSA9PT0gMHhGRUZGKSB7XHJcbiAgICAgICAgICAgIGJvbSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB2YXIgdGFibGUgPSBwYXJzZShkYXRhLCB7IGJvbTogYm9tLCBjb2x1bW5zOiB0cnVlLCB0cmltOiB0cnVlLCAuLi5vcHRpb25zIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkNTVl9FUlJPUiwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFdyaXRlcyBkYXRhIGludG8gY3N2IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiB3cml0ZUNzdlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGZpbGVQYXRoIC0gQWJzb2x1dGUgcGF0aCB0byBmaWxlXHJcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBkYXRhIC0gQ1NWIGRhdGEgaW4gZm9ybWF0IFt7Y29sdW1uX25hbWVfMTogJ2ZvbycsIGNvbHVtbl9uYW1lXzI6ICdiYXInfV1cclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2dpdGh1Yi5jb20vYW50b24tYm90L29iamVjdHMtdG8tY3N2I2FzeW5jLXRvZGlza2ZpbGVuYW1lLW9wdGlvbnMpXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIHdyaXRlQ3N2KGZpbGVQYXRoLCBkYXRhLCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBPYmplY3RzVG9Dc3YgPSByZXF1aXJlKCdvYmplY3RzLXRvLWNzdicpO1xyXG4gICAgICAgICAgICBjb25zdCBjc3YgPSBuZXcgT2JqZWN0c1RvQ3N2KGRhdGEpO1xyXG4gICAgICAgICAgICBhd2FpdCBjc3YudG9EaXNrKGZpbGVQYXRoLCB7IGFsbENvbHVtbnM6IHRydWUsIC4uLm9wdGlvbnMgfSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuQ1NWX0VSUk9SLCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIGRhdGEgZnJvbSBYbHN4IGZpbGVcclxuICAgICAqIEBmdW5jdGlvbiByZWFkWGxzeFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGZpbGVQYXRoIC0gQWJzb2x1dGUgcGF0aCB0byBmaWxlXHJcbiAgICAgKiBAcmV0dXJuIHtBcnJheX0gLSBBcnJheSBvZiB4bHN4IGRhdGFcclxuICAgICAqL1xyXG4gICAgYXN5bmMgcmVhZFhsc3goZmlsZVBhdGgpIHtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRXhjZWxSZWFkZXIoKTtcclxuICAgICAgICByZXR1cm4gYXdhaXQgcmVhZGVyLnJlYWQoZmlsZVBhdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgVXNlcyB0aGUgRE5TIHByb3RvY29sIHRvIHJlc29sdmUgYSBob3N0IG5hbWVcclxuICAgICAqIEBmdW5jdGlvbiBkbnNSZXNvbHZlXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gaG9zdG5hbWUgLSBIb3N0IG5hbWUgdG8gcmVzb2x2ZS5cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nPX0gcnJUeXBlIC0gUmVzb3VyY2UgcmVjb3JkIHR5cGUuIERlZmF1bHQ6ICdBJy5cclxuICAgICAqIEByZXR1cm4ge1N0cmluZ1tdIHwgT2JqZWN0fSAtIEFycmF5IG9yIE9iamVjdCBvZiByZXNvdXJjZSByZWNvcmRzLiBUaGUgdHlwZSBhbmQgc3RydWN0dXJlIG9mIGluZGl2aWR1YWwgcmVzdWx0cyB2YXJ5IGJhc2VkIG9uIHJydHlwZVxyXG4gICAgICovXHJcbiAgICBhc3luYyBkbnNSZXNvbHZlKGhvc3RuYW1lLCByclR5cGUgPSAnQScpIHtcclxuICAgICAgICB1dGlscy5hc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nKGhvc3RuYW1lLCAnaG9zdG5hbWUnKTtcclxuICAgICAgICBjb25zdCByclR5cGVzID0gWydBJywgJ0FBQUEnLCAnQU5ZJywgJ0NOQU1FJywgJ01YJywgJ05BUFRSJywgJ05TJywgJ1BUUicsICdTT0EnLCAnU1JWJywgJ1RYVCddO1xyXG5cclxuICAgICAgICBpZiAoIXJyVHlwZXMuaW5jbHVkZXMocnJUeXBlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgT3hFcnJvcihlcnJvckhlbHBlci5lcnJvckNvZGUuU0NSSVBUX0VSUk9SLCBgSW52YWxpZCBhcmd1bWVudCAtICdyclR5cGUnLiBBdmFpbGFibGUgcnJUeXBlIHZhbHVlczogJHtyclR5cGVzLmpvaW4oJywgJyl9YCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkbnNQcm9taXNlcyA9IHJlcXVpcmUoJ2RucycpLnByb21pc2VzO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBkbnNQcm9taXNlcy5yZXNvbHZlKGhvc3RuYW1lLCByclR5cGUpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJyb3JIZWxwZXIuZXJyb3JDb2RlLkROU19FUlJPUiwgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBQYXJzZSBYTUwgZGF0YSB0byBKUyBvYmplY3QgXHJcbiAgICAgKiBAZnVuY3Rpb24geG1sVG9Kc29uXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ3xCdWZmZXJ9IHhtbERhdGFTdHIgLSBMaWtlIDxyb290IGE9XCJuaWNlXCIgYj1cInZlcnkgbmljZVwiID48YT53b3c8L2E+PC9yb290PlxyXG4gICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdH0gb3B0aW9ucyAtIFtPcHRpb25zXShodHRwczovL2dpdGh1Yi5jb20vTmF0dXJhbEludGVsbGlnZW5jZS9mYXN0LXhtbC1wYXJzZXIvYmxvYi9tYXN0ZXIvZG9jcy92NC8yLlhNTHBhcnNlT3B0aW9ucy5tZCkgXHJcbiAgICAgKi9cclxuICAgIHhtbFRvSnNvbih4bWxEYXRhU3RyLCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZXIgPSBuZXcgZmFzdFhtbFBhcnNlci5YTUxQYXJzZXIob3B0aW9ucyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHBhcnNlci5wYXJzZSh4bWxEYXRhU3RyKTtcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVycm9ySGVscGVyLmVycm9yQ29kZS5YTUxfRVJST1IsIGUubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgT3BlbnMgbmV3IHRyYW5zYWN0aW9uLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSB0cmFuc2FjdGlvbiB3aWxsIHBlcnNpc3QgdW50aWxsIGEgbmV3IG9uZSBpcyBvcGVuZWQuIFRyYW5zYWN0aW9uIG5hbWVzIG11c3QgYmUgdW5pcXVlLlxyXG4gICAgICogQGZ1bmN0aW9uIHRyYW5zYWN0aW9uXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbmFtZSAtIFRoZSB0cmFuc2FjdGlvbiBuYW1lLlxyXG4gICAgICovXHJcbiAgICBhc3luYyB0cmFuc2FjdGlvbihuYW1lKSB7XHJcbiAgICAgICAgaWYgKCFuYW1lKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8ganVzdCBpbiBjYXNlIHVzZXIgcGFzc2VkIGEgY29tcGxleCBvYmplY3QgYnkgbWlzdGFrZVxyXG4gICAgICAgIG5hbWUgPSBuYW1lLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgIC8vIGxpbWl0IHRoZSBuYW1lIGxlbmd0aCAoc2luY2Ugd2UgY2FuJ3Qgc3RvcmUgdmFsdWVzIGxhcmdlciB0aGFuIDUxMkIgaW4gdGhlIGRhdGFiYXNlKVxyXG4gICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDAsIDUxMik7XHJcblxyXG4gICAgICAgIGdsb2JhbC5fbGFzdFRyYW5zYWN0aW9uTmFtZSA9IG5hbWU7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -7,24 +7,24 @@ exports.alertAccept = alertAccept;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Accepts an alert or a confirmation dialog.
|
|
21
|
-
* @description In case of an alert box this command is identical to `alertDismiss`.
|
|
22
|
-
* @function alertAccept
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* web.init();//Opens browser session
|
|
25
|
-
* web.open("www.yourwebsite.com");// Opens a website.
|
|
26
|
-
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
27
|
-
* web.alertAccept();//Clicks on "OK" in the alert dialog.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Accepts an alert or a confirmation dialog.
|
|
21
|
+
* @description In case of an alert box this command is identical to `alertDismiss`.
|
|
22
|
+
* @function alertAccept
|
|
23
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
+
* web.init();//Opens browser session
|
|
25
|
+
* web.open("www.yourwebsite.com");// Opens a website.
|
|
26
|
+
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
27
|
+
* web.alertAccept();//Clicks on "OK" in the alert dialog.
|
|
28
28
|
*/
|
|
29
29
|
async function alertAccept() {
|
|
30
30
|
try {
|
|
@@ -37,4 +37,4 @@ async function alertAccept() {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYWxlcnRBY2NlcHQuanMiXSwibmFtZXMiOlsiYWxlcnRBY2NlcHQiLCJkcml2ZXIiLCJhY2NlcHRBbGVydCIsImUiLCJuYW1lIiwidHlwZSIsIk94RXJyb3IiLCJlcnJIZWxwZXIiLCJlcnJvckNvZGUiLCJOT19BTEVSVF9PUEVOX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsV0FBZixHQUE2QjtBQUNoQyxNQUFJO0FBQ0EsVUFBTSxLQUFLQyxNQUFMLENBQVlDLFdBQVosRUFBTjtBQUNILEdBRkQsQ0FFRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixRQUFJQSxDQUFDLENBQUNDLElBQUYsS0FBVyxlQUFYLElBQThCRCxDQUFDLENBQUNFLElBQUYsS0FBVyxxQkFBN0MsRUFBb0U7QUFDaEUsWUFBTSxJQUFJLEtBQUtDLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxtQkFBMUMsRUFBK0Qsa0JBQS9ELENBQU47QUFDSCxLQUZELE1BRU87QUFDSCxZQUFNTixDQUFOO0FBQ0g7QUFDSjtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgQWNjZXB0cyBhbiBhbGVydCBvciBhIGNvbmZpcm1hdGlvbiBkaWFsb2cuXHJcbiAqIEBkZXNjcmlwdGlvbiBJbiBjYXNlIG9mIGFuIGFsZXJ0IGJveCB0aGlzIGNvbW1hbmQgaXMgaWRlbnRpY2FsIHRvIGBhbGVydERpc21pc3NgLlxyXG4gKiBAZnVuY3Rpb24gYWxlcnRBY2NlcHRcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIHdlYi5pbml0KCk7Ly9PcGVucyBicm93c2VyIHNlc3Npb25cclxuICogd2ViLm9wZW4oXCJ3d3cueW91cndlYnNpdGUuY29tXCIpOy8vIE9wZW5zIGEgd2Vic2l0ZS5cclxuICogd2ViLmNsaWNrKFwiaWQ9U2F2ZUJ1dHRvblwiKTsvL0NsaWNrcyBvbiBzYXZlIOKAkyBhbiBhbGVydCB3b3VsZCBwb3AgdXBcclxuICogd2ViLmFsZXJ0QWNjZXB0KCk7Ly9DbGlja3Mgb24gXCJPS1wiIGluIHRoZSBhbGVydCBkaWFsb2cuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWxlcnRBY2NlcHQoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLmFjY2VwdEFsZXJ0KCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ25vIHN1Y2ggYWxlcnQnIHx8IGUudHlwZSA9PT0gJ05PX0FMRVJUX09QRU5fRVJST1InKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLk5PX0FMRVJUX09QRU5fRVJST1IsICdObyBhbGVydCBwcmVzZW50Jyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -7,24 +7,24 @@ exports.alertDismiss = alertDismiss;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Dismisses an alert or a confirmation dialog.
|
|
21
|
-
* @description In case of an alert box this command is identical to `alertAccept`.
|
|
22
|
-
* @function alertDismiss
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* web.init();//Opens browser session
|
|
25
|
-
* web.open("www.yourwebsite.com");// Opens a website.
|
|
26
|
-
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
27
|
-
* web.alertDismiss();//Clicks on Cancel in the alert dialog.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Dismisses an alert or a confirmation dialog.
|
|
21
|
+
* @description In case of an alert box this command is identical to `alertAccept`.
|
|
22
|
+
* @function alertDismiss
|
|
23
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
+
* web.init();//Opens browser session
|
|
25
|
+
* web.open("www.yourwebsite.com");// Opens a website.
|
|
26
|
+
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
27
|
+
* web.alertDismiss();//Clicks on Cancel in the alert dialog.
|
|
28
28
|
*/
|
|
29
29
|
async function alertDismiss() {
|
|
30
30
|
try {
|
|
@@ -37,4 +37,4 @@ async function alertDismiss() {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYWxlcnREaXNtaXNzLmpzIl0sIm5hbWVzIjpbImFsZXJ0RGlzbWlzcyIsImRyaXZlciIsImRpc21pc3NBbGVydCIsImUiLCJuYW1lIiwidHlwZSIsIk94RXJyb3IiLCJlcnJIZWxwZXIiLCJlcnJvckNvZGUiLCJOT19BTEVSVF9PUEVOX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsWUFBZixHQUE4QjtBQUNqQyxNQUFJO0FBQ0EsVUFBTSxLQUFLQyxNQUFMLENBQVlDLFlBQVosRUFBTjtBQUNILEdBRkQsQ0FFRSxPQUFPQyxDQUFQLEVBQVU7QUFDUixRQUFJQSxDQUFDLENBQUNDLElBQUYsS0FBVyxlQUFYLElBQThCRCxDQUFDLENBQUNFLElBQUYsS0FBVyxxQkFBN0MsRUFBb0U7QUFDaEUsWUFBTSxJQUFJLEtBQUtDLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxtQkFBMUMsRUFBK0Qsa0JBQS9ELENBQU47QUFDSCxLQUZELE1BRU87QUFDSCxZQUFNTixDQUFOO0FBQ0g7QUFDSjtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgRGlzbWlzc2VzIGFuIGFsZXJ0IG9yIGEgY29uZmlybWF0aW9uIGRpYWxvZy5cclxuICogQGRlc2NyaXB0aW9uIEluIGNhc2Ugb2YgYW4gYWxlcnQgYm94IHRoaXMgY29tbWFuZCBpcyBpZGVudGljYWwgdG8gYGFsZXJ0QWNjZXB0YC5cclxuICogQGZ1bmN0aW9uIGFsZXJ0RGlzbWlzc1xyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogd2ViLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvblxyXG4gKiB3ZWIub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiB3ZWIuY2xpY2soXCJpZD1TYXZlQnV0dG9uXCIpOy8vQ2xpY2tzIG9uIHNhdmUg4oCTIGFuIGFsZXJ0IHdvdWxkIHBvcCB1cFxyXG4gKiB3ZWIuYWxlcnREaXNtaXNzKCk7Ly9DbGlja3Mgb24gQ2FuY2VsIGluIHRoZSBhbGVydCBkaWFsb2cuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWxlcnREaXNtaXNzKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5kaXNtaXNzQWxlcnQoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAoZS5uYW1lID09PSAnbm8gc3VjaCBhbGVydCcgfHwgZS50eXBlID09PSAnTk9fQUxFUlRfT1BFTl9FUlJPUicpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuTk9fQUxFUlRfT1BFTl9FUlJPUiwgJ05vIGFsZXJ0IHByZXNlbnQnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -7,27 +7,27 @@ exports.assertAlert = assertAlert;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Asserts whether alert matches the specified pattern and dismisses it.
|
|
21
|
-
* @description Text pattern can be any of the supported
|
|
22
|
-
* string matching patterns(on the top of page).
|
|
23
|
-
* @function assertAlert
|
|
24
|
-
* @param {String} pattern - Text pattern.
|
|
25
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
26
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
27
|
-
* web.init();//Opens browser session
|
|
28
|
-
* web.open("www.yourwebsite.com");// Opens a website.
|
|
29
|
-
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
30
|
-
* web.assertAlert("Your Alert's text");//Asserts the alert's text.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Asserts whether alert matches the specified pattern and dismisses it.
|
|
21
|
+
* @description Text pattern can be any of the supported
|
|
22
|
+
* string matching patterns(on the top of page).
|
|
23
|
+
* @function assertAlert
|
|
24
|
+
* @param {String} pattern - Text pattern.
|
|
25
|
+
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
26
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
27
|
+
* web.init();//Opens browser session
|
|
28
|
+
* web.open("www.yourwebsite.com");// Opens a website.
|
|
29
|
+
* web.click("id=SaveButton");//Clicks on save – an alert would pop up
|
|
30
|
+
* web.assertAlert("Your Alert's text");//Asserts the alert's text.
|
|
31
31
|
*/
|
|
32
32
|
async function assertAlert(pattern, timeout) {
|
|
33
33
|
let alertText = null;
|
|
@@ -57,4 +57,4 @@ async function assertAlert(pattern, timeout) {
|
|
|
57
57
|
throw new this.OxError(this.errHelper.errorCode.NO_ALERT_OPEN_ERROR, 'No alert present');
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0QWxlcnQuanMiXSwibmFtZXMiOlsiYXNzZXJ0QWxlcnQiLCJwYXR0ZXJuIiwidGltZW91dCIsImFsZXJ0VGV4dCIsImRyaXZlciIsIndhaXRVbnRpbCIsImdldEFsZXJ0VGV4dCIsImhlbHBlcnMiLCJtYXRjaFBhdHRlcm4iLCJlIiwid2FpdEZvclRpbWVvdXQiLCJhbGVydERpc21pc3MiLCJlcnJIZWxwZXIiLCJnZXRBc3NlcnRFcnJvciIsIk94RXJyb3IiLCJlcnJvckNvZGUiLCJOT19BTEVSVF9PUEVOX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsV0FBZixDQUEyQkMsT0FBM0IsRUFBb0NDLE9BQXBDLEVBQTZDO0FBQ2hELE1BQUlDLFNBQVMsR0FBRyxJQUFoQjs7QUFDQSxNQUFJO0FBQ0EsVUFBTSxLQUFLQyxNQUFMLENBQVlDLFNBQVosQ0FBc0IsWUFBVztBQUNuQyxVQUFJO0FBQ0FGLFFBQUFBLFNBQVMsR0FBRyxNQUFNLEtBQUtDLE1BQUwsQ0FBWUUsWUFBWixFQUFsQjs7QUFFQSxZQUFJSCxTQUFKLEVBQWU7QUFDWCxpQkFBTyxLQUFLSSxPQUFMLENBQWFDLFlBQWIsQ0FBMEJMLFNBQTFCLEVBQXFDRixPQUFyQyxDQUFQO0FBQ0g7QUFDSixPQU5ELENBTUUsT0FBT1EsQ0FBUCxFQUFVO0FBQ1IsZUFBTyxLQUFQO0FBQ0g7QUFDSixLQVZLLEVBV047QUFBRVAsTUFBQUEsT0FBTyxFQUFHQSxPQUFPLEdBQUdBLE9BQUgsR0FBYSxLQUFLUTtBQUFyQyxLQVhNLENBQU47QUFhQSxVQUFNLEtBQUtDLFlBQUwsRUFBTjtBQUNILEdBZkQsQ0FlRSxPQUFPRixDQUFQLEVBQVU7QUFDUixVQUFNLEtBQUtFLFlBQUwsRUFBTjs7QUFDQSxRQUFJUixTQUFTLElBQUksT0FBT0EsU0FBUCxLQUFxQixRQUF0QyxFQUFnRDtBQUM1QyxZQUFNLEtBQUtTLFNBQUwsQ0FBZUMsY0FBZixDQUE4QlosT0FBOUIsRUFBdUNFLFNBQXZDLENBQU47QUFDSDs7QUFDRCxVQUFNLElBQUksS0FBS1csT0FBVCxDQUFpQixLQUFLRixTQUFMLENBQWVHLFNBQWYsQ0FBeUJDLG1CQUExQyxFQUErRCxrQkFBL0QsQ0FBTjtBQUNIO0FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBBc3NlcnRzIHdoZXRoZXIgYWxlcnQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIHBhdHRlcm4gYW5kIGRpc21pc3NlcyBpdC5cclxuICogQGRlc2NyaXB0aW9uIFRleHQgcGF0dGVybiBjYW4gYmUgYW55IG9mIHRoZSBzdXBwb3J0ZWRcclxuICogIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyhvbiB0aGUgdG9wIG9mIHBhZ2UpLlxyXG4gKiBAZnVuY3Rpb24gYXNzZXJ0QWxlcnRcclxuICogQHBhcmFtIHtTdHJpbmd9IHBhdHRlcm4gLSBUZXh0IHBhdHRlcm4uXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIHdlYi5jbGljayhcImlkPVNhdmVCdXR0b25cIik7Ly9DbGlja3Mgb24gc2F2ZSDigJMgYW4gYWxlcnQgd291bGQgcG9wIHVwXHJcbiAqIHdlYi5hc3NlcnRBbGVydChcIllvdXIgQWxlcnQncyB0ZXh0XCIpOy8vQXNzZXJ0cyB0aGUgYWxlcnQncyB0ZXh0LlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydEFsZXJ0KHBhdHRlcm4sIHRpbWVvdXQpIHtcclxuICAgIGxldCBhbGVydFRleHQgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci53YWl0VW50aWwoYXN5bmMoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhbGVydFRleHQgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRBbGVydFRleHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYWxlcnRUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGVscGVycy5tYXRjaFBhdHRlcm4oYWxlcnRUZXh0LCBwYXR0ZXJuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHRpbWVvdXQ6ICh0aW1lb3V0ID8gdGltZW91dCA6IHRoaXMud2FpdEZvclRpbWVvdXQpIH0pO1xyXG5cclxuICAgICAgICBhd2FpdCB0aGlzLmFsZXJ0RGlzbWlzcygpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuYWxlcnREaXNtaXNzKCk7XHJcbiAgICAgICAgaWYgKGFsZXJ0VGV4dCAmJiB0eXBlb2YgYWxlcnRUZXh0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICB0aHJvdyB0aGlzLmVyckhlbHBlci5nZXRBc3NlcnRFcnJvcihwYXR0ZXJuLCBhbGVydFRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5OT19BTEVSVF9PUEVOX0VSUk9SLCAnTm8gYWxlcnQgcHJlc2VudCcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,27 +7,27 @@ exports.assertExist = assertExist;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Asserts whether element exists in the DOM.
|
|
21
|
-
* @function assertExist
|
|
22
|
-
* @param {String|Element} locator - An element locator.
|
|
23
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
24
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
25
|
-
* web.init();//Opens browser session
|
|
26
|
-
* web.open("www.yourwebsite.com");// Opens a website.
|
|
27
|
-
* web.assertExist ("id=Username");// Asserts if an element exists in the DOM.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Asserts whether element exists in the DOM.
|
|
21
|
+
* @function assertExist
|
|
22
|
+
* @param {String|Element} locator - An element locator.
|
|
23
|
+
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
24
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
25
|
+
* web.init();//Opens browser session
|
|
26
|
+
* web.open("www.yourwebsite.com");// Opens a website.
|
|
27
|
+
* web.assertExist ("id=Username");// Asserts if an element exists in the DOM.
|
|
28
28
|
*/
|
|
29
29
|
async function assertExist(locator, timeout) {
|
|
30
30
|
this.helpers.assertArgumentTimeout(timeout, 'timeout');
|
|
31
31
|
await this.helpers.getElement(locator, false, timeout);
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS13ZWIvY29tbWFuZHMvYXNzZXJ0RXhpc3QuanMiXSwibmFtZXMiOlsiYXNzZXJ0RXhpc3QiLCJsb2NhdG9yIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudFRpbWVvdXQiLCJnZXRFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsV0FBZixDQUEyQkMsT0FBM0IsRUFBb0NDLE9BQXBDLEVBQTZDO0FBQ2hELE9BQUtDLE9BQUwsQ0FBYUMscUJBQWIsQ0FBbUNGLE9BQW5DLEVBQTRDLFNBQTVDO0FBRUEsUUFBTSxLQUFLQyxPQUFMLENBQWFFLFVBQWIsQ0FBd0JKLE9BQXhCLEVBQWlDLEtBQWpDLEVBQXdDQyxPQUF4QyxDQUFOO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBBc3NlcnRzIHdoZXRoZXIgZWxlbWVudCBleGlzdHMgaW4gdGhlIERPTS5cclxuICogQGZ1bmN0aW9uIGFzc2VydEV4aXN0XHJcbiAqIEBwYXJhbSB7U3RyaW5nfEVsZW1lbnR9IGxvY2F0b3IgLSBBbiBlbGVtZW50IGxvY2F0b3IuXHJcbiAqIEBwYXJhbSB7TnVtYmVyPX0gdGltZW91dCAtIFRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiB3ZWIuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uXHJcbiAqIHdlYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIHdlYi5hc3NlcnRFeGlzdCAoXCJpZD1Vc2VybmFtZVwiKTsvLyBBc3NlcnRzIGlmIGFuIGVsZW1lbnQgZXhpc3RzIGluIHRoZSBET00uXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXNzZXJ0RXhpc3QobG9jYXRvciwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50VGltZW91dCh0aW1lb3V0LCAndGltZW91dCcpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuaGVscGVycy5nZXRFbGVtZW50KGxvY2F0b3IsIGZhbHNlLCB0aW1lb3V0KTtcclxufVxyXG4iXX0=
|