oxygen-cli 1.40.2-beta.1 → 1.41.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.
- package/CHANGELOG.md +1755 -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 -1
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +1 -1
- 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 -1
- 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-mongo.js +82 -82
- 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 +1 -1
- 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 +139 -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/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
|
@@ -37,4 +37,4 @@ class OxygenService {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
exports.default = OxygenService;
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL094eWdlblNlcnZpY2UuanMiXSwibmFtZXMiOlsiT3h5Z2VuU2VydmljZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImN0eCIsInJlc3VsdHMiLCJsb2dnZXIiLCJpc0luaXRpYWxpemVkIiwiaW5pdCIsImRpc3Bvc2UiLCJvbk1vZHVsZUxvYWRlZCIsIm1vZHVsZSIsIm9uTW9kdWxlSW5pdGlhbGl6ZWQiLCJvbk1vZHVsZVdpbGxEaXNwb3NlIiwib25UZXN0U3RhcnQiLCJ0ZXN0Iiwib25UZXN0RW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBZSxNQUFNQSxhQUFOLENBQW9CO0FBRS9CQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsR0FBVixFQUFlQyxPQUFmLEVBQXdCQyxNQUF4QixFQUFnQztBQUN2QyxTQUFLSCxPQUFMLEdBQWVBLE9BQWY7QUFDQSxTQUFLQyxHQUFMLEdBQVdBLEdBQVg7QUFDQSxTQUFLQyxPQUFMLEdBQWVBLE9BQWY7QUFDQSxTQUFLQyxNQUFMLEdBQWNBLE1BQWQ7QUFDQSxTQUFLQyxhQUFMLEdBQXFCLEtBQXJCO0FBQ0g7O0FBQ0RDLEVBQUFBLElBQUksR0FBRztBQUNILFNBQUtELGFBQUwsR0FBcUIsSUFBckI7QUFDSDs7QUFDREUsRUFBQUEsT0FBTyxHQUFHO0FBQ04sU0FBS0YsYUFBTCxHQUFxQixLQUFyQjtBQUNIOztBQUNERyxFQUFBQSxjQUFjLENBQUNDLE1BQUQsRUFBUyxDQUV0Qjs7QUFDREMsRUFBQUEsbUJBQW1CLENBQUNELE1BQUQsRUFBUyxDQUUzQjs7QUFDREUsRUFBQUEsbUJBQW1CLENBQUNGLE1BQUQsRUFBUyxDQUUzQjs7QUFDREcsRUFBQUEsV0FBVyxDQUFDQyxJQUFELEVBQU8sQ0FFakI7O0FBQ0RDLEVBQUFBLFNBQVMsQ0FBQ0QsSUFBRCxFQUFPLENBRWY7O0FBN0I4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIE94eWdlblNlcnZpY2Uge1xyXG4gICAgLy9yZXR1cm4gbmV3IFNlcnZpY2VDbGFzcyh0aGlzLm9wdHMsIHRoaXMuY3R4LCB0aGlzLnJlc3VsdFN0b3JlLCBsb2dnZXIpO1xyXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgY3R4LCByZXN1bHRzLCBsb2dnZXIpIHtcclxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgIHRoaXMuY3R4ID0gY3R4O1xyXG4gICAgICAgIHRoaXMucmVzdWx0cyA9IHJlc3VsdHM7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XHJcbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgb25Nb2R1bGVMb2FkZWQobW9kdWxlKSB7XHJcblxyXG4gICAgfVxyXG4gICAgb25Nb2R1bGVJbml0aWFsaXplZChtb2R1bGUpIHtcclxuXHJcbiAgICB9XHJcbiAgICBvbk1vZHVsZVdpbGxEaXNwb3NlKG1vZHVsZSkge1xyXG5cclxuICAgIH1cclxuICAgIG9uVGVzdFN0YXJ0KHRlc3QpIHtcclxuXHJcbiAgICB9XHJcbiAgICBvblRlc3RFbmQodGVzdCkge1xyXG5cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -37,4 +37,4 @@ class OxygenSubModule {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
exports.OxygenSubModule = OxygenSubModule;
|
|
40
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL094eWdlblN1Yk1vZHVsZS5qcyJdLCJuYW1lcyI6WyJPeHlnZW5TdWJNb2R1bGUiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJwYXJlbnQiLCJfbmFtZSIsIl9wYXJlbnQiLCJfaXNJbml0aWFsaXplZCIsImlzSW5pdGlhbGl6ZWQiLCJpbml0IiwiZGlzcG9zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sTUFBTUEsZUFBTixDQUFzQjtBQUN6QkMsRUFBQUEsV0FBVyxDQUFDQyxJQUFELEVBQU9DLE1BQVAsRUFBZTtBQUN0QixTQUFLQyxLQUFMLEdBQWFGLElBQWI7QUFDQSxTQUFLRyxPQUFMLEdBQWVGLE1BQWY7QUFDQSxTQUFLRyxjQUFMLEdBQXNCLEtBQXRCO0FBQ0g7O0FBQ08sTUFBSkosSUFBSSxHQUFHO0FBQ1AsV0FBTyxLQUFLRSxLQUFaO0FBQ0g7O0FBRVMsTUFBTkQsTUFBTSxHQUFHO0FBQ1QsV0FBTyxLQUFLRSxPQUFaO0FBQ0g7O0FBRWdCLE1BQWJFLGFBQWEsR0FBRztBQUNoQixXQUFPLEtBQUtELGNBQVo7QUFDSDs7QUFFREUsRUFBQUEsSUFBSSxHQUFHO0FBQ0gsU0FBS0YsY0FBTCxHQUFzQixJQUF0QjtBQUNIOztBQUVERyxFQUFBQSxPQUFPLEdBQUc7QUFDTixTQUFLSCxjQUFMLEdBQXNCLEtBQXRCO0FBQ0g7O0FBeEJ3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPeHlnZW5TdWJNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IobmFtZSwgcGFyZW50KSB7XHJcbiAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50ID0gcGFyZW50O1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwYXJlbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNJbml0aWFsaXplZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNJbml0aWFsaXplZDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3Bvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -155,4 +155,4 @@ class WebDriverModule extends _OxygenModule.default {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
exports.default = WebDriverModule;
|
|
158
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL1dlYkRyaXZlck1vZHVsZS5qcyJdLCJuYW1lcyI6WyJlcnJIZWxwZXIiLCJyZXF1aXJlIiwiV2ViRHJpdmVyTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiZHJpdmVyIiwiY2FwcyIsInJlcGxFeGVjdXRlZCIsImluaXQiLCJwcm9jZXNzIiwic2VuZCIsImV2ZW50IiwibmFtZSIsInZhbHVlIiwicmVtb3ZlTGlzdGVuZXIiLCJyZXBsTGF1bmNoZXIiLCJvbiIsImRpc3Bvc2UiLCJnZXREcml2ZXIiLCJnZXRDYXBhYmlsaXRpZXMiLCJtIiwicmVwbFN0YXJ0IiwiY29tbWFuZFRpbWVvdXQiLCJPeEVycm9yIiwiZXJyb3JDb2RlIiwiU0NSSVBUX0VSUk9SIiwid2Rpb1JlcGwiLCJyZXBsIiwiZGVmYXVsdCIsImludHJvTWVzc2FnZSIsImJyb3dzZXIiLCIkIiwiYmluZCIsIiQkIiwic3RhcnQiLCJfZGVidWdQcm9jZXNzIiwicGlkIiwicGFyYW1zIiwiY29tbWFuZFJlc29sdmUiLCJfZGVidWdFbmQiLCJyZXBsRXZhbCIsImNvbnRlbnQiLCJjbWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNlcmlhbGl6ZV9lcnJvciIsImV2YWwiLCJnbG9iYWwiLCJlIiwicmVzdWx0Iiwic2VyaWFsaXplZF9lcnIiLCJzZXJpYWxpemVFcnJvciIsImVyciIsIm1lc3NhZ2UiLCJ0eXBlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0EsTUFBTUEsU0FBUyxHQUFHQyxPQUFPLENBQUMsa0JBQUQsQ0FBekI7O0FBRWUsTUFBTUMsZUFBTixTQUE4QkMscUJBQTlCLENBQTJDO0FBQ3REQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsT0FBVixFQUFtQkMsRUFBbkIsRUFBdUJDLE1BQXZCLEVB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RCxVQUFBQSxPQUFPLEdBQUdELEdBQUcsQ0FBQ0UsSUFBSixDQUFTQSxJQUFULEdBQWdCLEtBQWhCLEdBQXdCRixHQUFHLENBQUNFLElBQUosQ0FBU0QsT0FBM0M7QUFDSCxTQUZELE1BRU87QUFDSEEsVUFBQUEsT0FBTyxHQUFHRCxHQUFHLENBQUNFLElBQUosQ0FBU0QsT0FBbkI7QUFDSDs7QUFFRDVDLFFBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhO0FBQ1RDLFVBQUFBLEtBQUssRUFBRSxNQURFO0FBRVRDLFVBQUFBLElBQUksRUFBRSxhQUZHO0FBR1R5QixVQUFBQSxNQUFNLEVBQUU7QUFDSmtCLFlBQUFBLEtBQUssRUFBRSxJQURIO0FBRUpGLFlBQUFBLE9BQU8sRUFBRUE7QUFGTDtBQUhDLFNBQWI7QUFRSDs7QUFDRCxVQUFJLE9BQU9KLE1BQVAsS0FBa0IsVUFBdEIsRUFBa0M7QUFDOUJBLFFBQUFBLE1BQU0sR0FBSSxjQUFhQSxNQUFNLENBQUNyQyxJQUFLLEdBQW5DO0FBQ0g7O0FBQ0RILE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhO0FBQ1RDLFFBQUFBLEtBQUssRUFBRSxNQURFO0FBRVRDLFFBQUFBLElBQUksRUFBRSxhQUZHO0FBR1R5QixRQUFBQSxNQUFNLEVBQUU7QUFBRVksVUFBQUE7QUFBRjtBQUhDLE9BQWI7QUFLSCxLQTdCSyxDQUFOO0FBOEJIOztBQTlIcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT3h5Z2VuTW9kdWxlIGZyb20gJy4vT3h5Z2VuTW9kdWxlJztcbmltcG9ydCBPeEVycm9yIGZyb20gJy4uL2Vycm9ycy9PeHlnZW5FcnJvcic7XG5jb25zdCBlcnJIZWxwZXIgPSByZXF1aXJlKCcuLi9lcnJvcnMvaGVscGVyJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYkRyaXZlck1vZHVsZSBleHRlbmRzIE94eWdlbk1vZHVsZSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpO1xuICAgICAgICB0aGlzLmRyaXZlciA9IG51bGw7XG4gICAgICAgIHRoaXMuY2FwcyA9IG51bGw7XG4gICAgICAgIHRoaXMucmVwbEV4ZWN1dGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaW5pdChkcml2ZXIpIHtcbiAgICAgICAgdGhpcy5kcml2ZXIgPSBkcml2ZXI7XG5cbiAgICAgICAgcHJvY2Vzcy5zZW5kKHtcbiAgICAgICAgICAgIGV2ZW50OiAncmVwbCcsXG4gICAgICAgICAgICBuYW1lOiAncmVwbF9jYW5TdGFydCcsXG4gICAgICAgICAgICB2YWx1ZTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyByZW1vdmUgYW55IHByZXZpb3VzbHkgYXNzaWduZWQgaGFuZGxlcnMgdG8gcHJldmVudCBwb3RlbnRpYWwgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrXG4gICAgICAgIC8vIChzaW5jZSAnbWVzc2FnZWAgaGFuZGxlZCB3aWxsIGJlIGFzc2lnbmVkIGZvciBlYWNoIGNhc2UgaW4gYSBzdWl0ZSA/KSBcbiAgICAgICAgcHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMucmVwbExhdW5jaGVyKTtcblxuICAgICAgICBwcm9jZXNzLm9uKCdtZXNzYWdlJywgdGhpcy5yZXBsTGF1bmNoZXIpO1xuXG4gICAgICAgIHN1cGVyLmluaXQoKTtcbiAgICB9XG5cbiAgICBkaXNwb3NlKCkge1xuICAgICAgICBwcm9jZXNzLnNlbmQoe1xuICAgICAgICAgICAgZXZlbnQ6ICdyZXBsJyxcbiAgICAgICAgICAgIG5hbWU6ICdyZXBsX2NhblN0YXJ0JyxcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIuZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGdldERyaXZlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJpdmVyO1xuICAgIH1cblxuICAgIGdldENhcGFiaWxpdGllcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FwcztcbiAgICB9XG5cbiAgICBhc3luYyByZXBsTGF1bmNoZXIobSkge1xuICAgICAgICBpZiAobS5ldmVudCAhPT0gJ3JlcGwnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobS5uYW1lID09PSAncmVwbF9zdGFydCcgJiYgdGhpcy5kcml2ZXIpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVwbFN0YXJ0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyByZXBsU3RhcnQoY29tbWFuZFRpbWVvdXQgPSA1MDAwKSB7XG4gICAgICAgIGlmICh0aGlzLnJlcGxFeGVjdXRlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE94RXJyb3IoZXJySGVscGVyLmVycm9yQ29kZS5TQ1JJUFRfRVJST1IsICdkZWJ1ZyBjb21tYW5kIGNhbiBiZSB1c2VkIG9ubHkgb25jZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHdkaW9SZXBsID0gcmVxdWlyZSgnQHdkaW8vcmVwbCcpO1xuICAgICAgICB0aGlzLnJlcGwgPSBuZXcgd2Rpb1JlcGwuZGVmYXVsdCgpO1xuXG4gICAgICAgIGNvbnN0IHsgaW50cm9NZXNzYWdlIH0gPSB0aGlzLnJlcGw7XG5cbiAgICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgICAgIGJyb3dzZXI6IHRoaXMuZHJpdmVyLFxuICAgICAgICAgICAgZHJpdmVyOiB0aGlzLmRyaXZlcixcbiAgICAgICAgICAgICQ6IHRoaXMuZHJpdmVyLiQuYmluZCh0aGlzLmRyaXZlciksXG4gICAgICAgICAgICAkJDogdGhpcy5kcml2ZXIuJCQuYmluZCh0aGlzLmRyaXZlcilcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZXBsLnN0YXJ0KGNvbnRleHQpO1xuXG4gICAgICAgIHByb2Nlc3MuX2RlYnVnUHJvY2Vzcyhwcm9jZXNzLnBpZCk7XG4gICAgICAgIHByb2Nlc3Muc2VuZCh7XG4gICAgICAgICAgICBldmVudDogJ3JlcGwnLFxuICAgICAgICAgICAgbmFtZTogJ3JlcGxfc3RhcnRlZCcsXG4gICAgICAgICAgICBwYXJhbXM6IHsgY29tbWFuZFRpbWVvdXQsIGludHJvTWVzc2FnZSB9XG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgY29tbWFuZFJlc29sdmUgPSAoKSA9PiB7IH07XG4gICAgICAgIHByb2Nlc3Mub24oJ21lc3NhZ2UnLCBhc3luYyhtKSA9PiB7XG4gICAgICAgICAgICBpZiAobS5ldmVudCAhPT0gJ3JlcGwnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG0ubmFtZSA9PT0gJ3JlcGxfc3RvcCcpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzLl9kZWJ1Z0VuZChwcm9jZXNzLnBpZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1hbmRSZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobS5uYW1lID09PSAncmVwbF9ldmFsJykge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucmVwbEV2YWwobS5jb250ZW50LmNtZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVwbEV4ZWN1dGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiAoY29tbWFuZFJlc29sdmUgPSByZXNvbHZlKSk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVwbEV2YWwgKGNtZCkge1xuICAgICAgICBjb25zdCBzZXJpYWxpemVfZXJyb3IgPSByZXF1aXJlKCdzZXJpYWxpemUtZXJyb3InKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZXBsLmV2YWwoY21kLCBnbG9iYWwsIG51bGwsIChlLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZF9lcnIgPSBzZXJpYWxpemVfZXJyb3Iuc2VyaWFsaXplRXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IE94RXJyb3Ioc2VyaWFsaXplZF9lcnIpO1xuICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gJyc7XG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyLnR5cGUgJiYgZXJyLnR5cGUudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gZXJyLnR5cGUudHlwZSArICcgLSAnICsgZXJyLnR5cGUubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gZXJyLnR5cGUubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwcm9jZXNzLnNlbmQoe1xuICAgICAgICAgICAgICAgICAgICBldmVudDogJ3JlcGwnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmVwbF9yZXN1bHQnLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGBbRnVuY3Rpb246ICR7cmVzdWx0Lm5hbWV9XWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9jZXNzLnNlbmQoe1xuICAgICAgICAgICAgICAgIGV2ZW50OiAncmVwbCcsXG4gICAgICAgICAgICAgICAgbmFtZTogJ3JlcGxfcmVzdWx0JyxcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgcmVzdWx0IH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59Il19
|
|
158
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL1dlYkRyaXZlck1vZHVsZS5qcyJdLCJuYW1lcyI6WyJlcnJIZWxwZXIiLCJyZXF1aXJlIiwiV2ViRHJpdmVyTW9kdWxlIiwiT3h5Z2VuTW9kdWxlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiY29udGV4dCIsInJzIiwibG9nZ2VyIiwibW9kdWxlcyIsInNlcnZpY2VzIiwiZHJpdmVyIiwiY2FwcyIsInJlcGxFeGVjdXRlZCIsImluaXQiLCJwcm9jZXNzIiwic2VuZCIsImV2ZW50IiwibmFtZSIsInZhbHVlIiwicmVtb3ZlTGlzdGVuZXIiLCJyZXBsTGF1bmNoZXIiLCJvbiIsImRpc3Bvc2UiLCJnZXREcml2ZXIiLCJnZXRDYXBhYmlsaXRpZXMiLCJtIiwicmVwbFN0YXJ0IiwiY29tbWFuZFRpbWVvdXQiLCJPeEVycm9yIiwiZXJyb3JDb2RlIiwiU0NSSVBUX0VSUk9SIiwid2Rpb1JlcGwiLCJyZXBsIiwiZGVmYXVsdCIsImludHJvTWVzc2FnZSIsImJyb3dzZXIiLCIkIiwiYmluZCIsIiQkIiwic3RhcnQiLCJfZGVidWdQcm9jZXNzIiwicGlkIiwicGFyYW1zIiwiY29tbWFuZFJlc29sdmUiLCJfZGVidWdFbmQiLCJyZXBsRXZhbCIsImNvbnRlbnQiLCJjbWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNlcmlhbGl6ZV9lcnJvciIsImV2YWwiLCJnbG9iYWwiLCJlIiwicmVzdWx0Iiwic2VyaWFsaXplZF9lcnIiLCJzZXJpYWxpemVFcnJvciIsImVyciIsIm1lc3NhZ2UiLCJ0eXBlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0EsTUFBTUEsU0FBUyxHQUFHQyxPQUFPLENBQUMsa0JBQUQsQ0FBekI7O0FBRWUsTUFBTUMsZUFBTixTQUE4QkMscUJBQTlCLENBQTJDO0FBQ3REQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsT0FBVixFQUFtQkMsRUFBbkIsRUFBdUJDLE1BQXZCLEVB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RCxVQUFBQSxPQUFPLEdBQUdELEdBQUcsQ0FBQ0UsSUFBSixDQUFTQSxJQUFULEdBQWdCLEtBQWhCLEdBQXdCRixHQUFHLENBQUNFLElBQUosQ0FBU0QsT0FBM0M7QUFDSCxTQUZELE1BRU87QUFDSEEsVUFBQUEsT0FBTyxHQUFHRCxHQUFHLENBQUNFLElBQUosQ0FBU0QsT0FBbkI7QUFDSDs7QUFFRDVDLFFBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhO0FBQ1RDLFVBQUFBLEtBQUssRUFBRSxNQURFO0FBRVRDLFVBQUFBLElBQUksRUFBRSxhQUZHO0FBR1R5QixVQUFBQSxNQUFNLEVBQUU7QUFDSmtCLFlBQUFBLEtBQUssRUFBRSxJQURIO0FBRUpGLFlBQUFBLE9BQU8sRUFBRUE7QUFGTDtBQUhDLFNBQWI7QUFRSDs7QUFDRCxVQUFJLE9BQU9KLE1BQVAsS0FBa0IsVUFBdEIsRUFBa0M7QUFDOUJBLFFBQUFBLE1BQU0sR0FBSSxjQUFhQSxNQUFNLENBQUNyQyxJQUFLLEdBQW5DO0FBQ0g7O0FBQ0RILE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhO0FBQ1RDLFFBQUFBLEtBQUssRUFBRSxNQURFO0FBRVRDLFFBQUFBLElBQUksRUFBRSxhQUZHO0FBR1R5QixRQUFBQSxNQUFNLEVBQUU7QUFBRVksVUFBQUE7QUFBRjtBQUhDLE9BQWI7QUFLSCxLQTdCSyxDQUFOO0FBOEJIOztBQTlIcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT3h5Z2VuTW9kdWxlIGZyb20gJy4vT3h5Z2VuTW9kdWxlJztcclxuaW1wb3J0IE94RXJyb3IgZnJvbSAnLi4vZXJyb3JzL094eWdlbkVycm9yJztcclxuY29uc3QgZXJySGVscGVyID0gcmVxdWlyZSgnLi4vZXJyb3JzL2hlbHBlcicpO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2ViRHJpdmVyTW9kdWxlIGV4dGVuZHMgT3h5Z2VuTW9kdWxlIHtcclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMsIGNvbnRleHQsIHJzLCBsb2dnZXIsIG1vZHVsZXMsIHNlcnZpY2VzKSB7XHJcbiAgICAgICAgc3VwZXIob3B0aW9ucywgY29udGV4dCwgcnMsIGxvZ2dlciwgbW9kdWxlcywgc2VydmljZXMpO1xyXG4gICAgICAgIHRoaXMuZHJpdmVyID0gbnVsbDtcclxuICAgICAgICB0aGlzLmNhcHMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMucmVwbEV4ZWN1dGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChkcml2ZXIpIHtcclxuICAgICAgICB0aGlzLmRyaXZlciA9IGRyaXZlcjtcclxuXHJcbiAgICAgICAgcHJvY2Vzcy5zZW5kKHtcclxuICAgICAgICAgICAgZXZlbnQ6ICdyZXBsJyxcclxuICAgICAgICAgICAgbmFtZTogJ3JlcGxfY2FuU3RhcnQnLFxyXG4gICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyByZW1vdmUgYW55IHByZXZpb3VzbHkgYXNzaWduZWQgaGFuZGxlcnMgdG8gcHJldmVudCBwb3RlbnRpYWwgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrXHJcbiAgICAgICAgLy8gKHNpbmNlICdtZXNzYWdlYCBoYW5kbGVkIHdpbGwgYmUgYXNzaWduZWQgZm9yIGVhY2ggY2FzZSBpbiBhIHN1aXRlID8pIFxyXG4gICAgICAgIHByb2Nlc3MucmVtb3ZlTGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLnJlcGxMYXVuY2hlcik7XHJcblxyXG4gICAgICAgIHByb2Nlc3Mub24oJ21lc3NhZ2UnLCB0aGlzLnJlcGxMYXVuY2hlcik7XHJcblxyXG4gICAgICAgIHN1cGVyLmluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHByb2Nlc3Muc2VuZCh7XHJcbiAgICAgICAgICAgIGV2ZW50OiAncmVwbCcsXHJcbiAgICAgICAgICAgIG5hbWU6ICdyZXBsX2NhblN0YXJ0JyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc3VwZXIuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERyaXZlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kcml2ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q2FwYWJpbGl0aWVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhcHM7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVwbExhdW5jaGVyKG0pIHtcclxuICAgICAgICBpZiAobS5ldmVudCAhPT0gJ3JlcGwnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChtLm5hbWUgPT09ICdyZXBsX3N0YXJ0JyAmJiB0aGlzLmRyaXZlcikge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlcGxTdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXBsU3RhcnQoY29tbWFuZFRpbWVvdXQgPSA1MDAwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVwbEV4ZWN1dGVkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBPeEVycm9yKGVyckhlbHBlci5lcnJvckNvZGUuU0NSSVBUX0VSUk9SLCAnZGVidWcgY29tbWFuZCBjYW4gYmUgdXNlZCBvbmx5IG9uY2UnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgd2Rpb1JlcGwgPSByZXF1aXJlKCdAd2Rpby9yZXBsJyk7XHJcbiAgICAgICAgdGhpcy5yZXBsID0gbmV3IHdkaW9SZXBsLmRlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgeyBpbnRyb01lc3NhZ2UgfSA9IHRoaXMucmVwbDtcclxuXHJcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHtcclxuICAgICAgICAgICAgYnJvd3NlcjogdGhpcy5kcml2ZXIsXHJcbiAgICAgICAgICAgIGRyaXZlcjogdGhpcy5kcml2ZXIsXHJcbiAgICAgICAgICAgICQ6IHRoaXMuZHJpdmVyLiQuYmluZCh0aGlzLmRyaXZlciksXHJcbiAgICAgICAgICAgICQkOiB0aGlzLmRyaXZlci4kJC5iaW5kKHRoaXMuZHJpdmVyKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYXdhaXQgdGhpcy5yZXBsLnN0YXJ0KGNvbnRleHQpO1xyXG5cclxuICAgICAgICBwcm9jZXNzLl9kZWJ1Z1Byb2Nlc3MocHJvY2Vzcy5waWQpO1xyXG4gICAgICAgIHByb2Nlc3Muc2VuZCh7XHJcbiAgICAgICAgICAgIGV2ZW50OiAncmVwbCcsXHJcbiAgICAgICAgICAgIG5hbWU6ICdyZXBsX3N0YXJ0ZWQnLFxyXG4gICAgICAgICAgICBwYXJhbXM6IHsgY29tbWFuZFRpbWVvdXQsIGludHJvTWVzc2FnZSB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGV0IGNvbW1hbmRSZXNvbHZlID0gKCkgPT4geyB9O1xyXG4gICAgICAgIHByb2Nlc3Mub24oJ21lc3NhZ2UnLCBhc3luYyhtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChtLmV2ZW50ICE9PSAncmVwbCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAobS5uYW1lID09PSAncmVwbF9zdG9wJykge1xyXG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5fZGVidWdFbmQocHJvY2Vzcy5waWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1hbmRSZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG0ubmFtZSA9PT0gJ3JlcGxfZXZhbCcpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucmVwbEV2YWwobS5jb250ZW50LmNtZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yZXBsRXhlY3V0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gKGNvbW1hbmRSZXNvbHZlID0gcmVzb2x2ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlcGxFdmFsIChjbWQpIHtcclxuICAgICAgICBjb25zdCBzZXJpYWxpemVfZXJyb3IgPSByZXF1aXJlKCdzZXJpYWxpemUtZXJyb3InKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnJlcGwuZXZhbChjbWQsIGdsb2JhbCwgbnVsbCwgKGUsIHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZF9lcnIgPSBzZXJpYWxpemVfZXJyb3Iuc2VyaWFsaXplRXJyb3IoZSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgT3hFcnJvcihzZXJpYWxpemVkX2Vycik7XHJcbiAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9ICcnO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChlcnIudHlwZSAmJiBlcnIudHlwZS50eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGVyci50eXBlLnR5cGUgKyAnIC0gJyArIGVyci50eXBlLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBlcnIudHlwZS5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHByb2Nlc3Muc2VuZCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdyZXBsJyxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmVwbF9yZXN1bHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBgW0Z1bmN0aW9uOiAke3Jlc3VsdC5uYW1lfV1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHByb2Nlc3Muc2VuZCh7XHJcbiAgICAgICAgICAgICAgICBldmVudDogJ3JlcGwnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3JlcGxfcmVzdWx0JyxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogeyByZXN1bHQgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
|
package/build/core/utils.js
CHANGED
|
@@ -87,4 +87,4 @@ function addCommandsToPrototype(cmdDirPath, moduleName, moduleClass) {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3V0aWxzLmpzIl0sIm5hbWVzIjpbInYxIiwicmVxdWlyZSIsImxvYWRNb2R1bGVGcm9tQ2xhc3MiLCJtb2R1bGVOYW1lIiwibW9kdWxlQ2xhc3MiLCJtb2R1bGVMb2dnZXIiLCJveE1vZHVsZXNEaXJQYXRoIiwiYXJncyIsImRlZmF1bHQiLCJjbWREaXJQYXRoIiwicGF0aCIsImpvaW4iLCJhZGRDb21tYW5kc1RvUHJvdG90eXBlIiwibW9kdWxlIiwib3B0cyIsImN0eCIsInJlc3VsdFN0b3JlIiwibW9kdWxlcyIsInNlcnZpY2VzIiwibmFtZSIsImFwcGx5VGhpc0luSGVscGVycyIsImxvYWRNb2R1bGVzRnJvbUZpbGUiLCJtb2R1bGVGaWxlTmFtZSIsIm5ld0ZpbGVBdHRhY2htZW50IiwiZmlsZVBhdGgiLCJmaWxlTmFtZSIsImJhc2VuYW1lIiwiaWQiLCJ0eXBlIiwiaGVscGVycyIsIl90aGlzIiwiZnVuY05hbWUiLCJiaW5kIiwiZnMiLCJleGlzdHNTeW5jIiwiY29tbWFuZHMiLCJjbWROYW1lIiwiY21kRnVuYyIsIk9iamVjdCIsImVudHJpZXMiLCJwcm90b3R5cGUiLCJlIiwiRXJyb3IiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7O0FBQ0EsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQVNDLE9BQU8sQ0FBQyxNQUFELENBQXRCOztBQUVPLFNBQVNDLG1CQUFULENBQTZCQyxVQUE3QixFQUF5Q0MsV0FBekMsRUFBc0RDLFlBQXRELEVBQW9FQyxnQkFBcEUsRUFBc0ZDLElBQXRGLEVBQTRGO0FBQy9GLE1BQUlILFdBQVcsQ0FBQ0ksT0FBaEIsRUFBeUI7QUFDckJKLElBQUFBLFdBQVcsR0FBR0EsV0FBVyxDQUFDSSxPQUExQjtBQUNIOztBQUVELFFBQU1DLFVBQVUsR0FBR0gsZ0JBQWdCLEdBQUdJLGNBQUtDLElBQUwsQ0FBVUwsZ0JBQVYsRUFBNEIsWUFBWUgsVUFBeEMsRUFBb0Qs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QUgsQ0FBY3pCLFVBQWQsQ0FBbEIsRUFBNkM7QUFDekMsUUFBSTtBQUNBLFlBQU0wQixRQUFRLEdBQUdsQyxPQUFPLENBQUNRLFVBQUQsQ0FBeEI7O0FBQ0EsV0FBSyxNQUFNLENBQUMyQixPQUFELEVBQVVDLE9BQVYsQ0FBWCxJQUFpQ0MsTUFBTSxDQUFDQyxPQUFQLENBQWVKLFFBQWYsQ0FBakMsRUFBMkQ7QUFDdkQvQixRQUFBQSxXQUFXLENBQUNvQyxTQUFaLENBQXNCSixPQUF0QixJQUFpQ0MsT0FBakM7QUFDSDtBQUNKLEtBTEQsQ0FLRSxPQUFPSSxDQUFQLEVBQVU7QUFDUixZQUFNLElBQUlDLEtBQUosQ0FBVyw2Q0FBNEN2QyxVQUFXLEtBQXhELEdBQStEc0MsQ0FBQyxDQUFDRSxPQUEzRSxDQUFOO0FBQ0g7QUFDSjtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XHJcbmNvbnN0IHsgdjEgfSA9IHJlcXVpcmUoJ3V1aWQnKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkTW9kdWxlRnJvbUNsYXNzKG1vZHVsZU5hbWUsIG1vZHVsZUNsYXNzLCBtb2R1bGVMb2dnZXIsIG94TW9kdWxlc0RpclBhdGgsIGFyZ3MpIHtcclxuICAgIGlmIChtb2R1bGVDbGFzcy5kZWZhdWx0KSB7XHJcbiAgICAgICAgbW9kdWxlQ2xhc3MgPSBtb2R1bGVDbGFzcy5kZWZhdWx0O1xyXG4gICAgfVxyXG4gICAgLy8gY2hlY2sgaWYgbW9kdWxlIGNvbnRhaW5zIGV4dGVybmFsIFwiY29tbWFuZHNcIiBmb2xkZXIgYW5kIGlmIHNvIGxvYWQgYWxsIHRoZSBjb21tYW5kc1xyXG4gICAgY29uc3QgY21kRGlyUGF0aCA9IG94TW9kdWxlc0RpclBhdGggPyBwYXRoLmpvaW4ob3hNb2R1bGVzRGlyUGF0aCwgJ21vZHVsZS0nICsgbW9kdWxlTmFtZSwgJ2NvbW1hbmRzJykgOiBudWxsO1xyXG4gICAgYWRkQ29tbWFuZHNUb1Byb3RvdHlwZShjbWREaXJQYXRoLCBtb2R1bGVOYW1lLCBtb2R1bGVDbGFzcyk7XHJcbiAgICAvLyBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIG1vZHVsZSBcclxuICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBtb2R1bGVDbGFzcyhhcmdzLm9wdHMsIGFyZ3MuY3R4LCBhcmdzLnJlc3VsdFN0b3JlLCBtb2R1bGVMb2dnZXIsIGFyZ3MubW9kdWxlcywgYXJncy5zZXJ2aWNlcyk7XHJcbiAgICBpZiAoIW1vZHVsZS5uYW1lKSB7XHJcbiAgICAgICAgbW9kdWxlLm5hbWUgPSBtb2R1bGVOYW1lO1xyXG4gICAgfVxyXG4gICAgLy8gYXBwbHkgdGhpcyBmb3IgZnVuY3Rpb25zIGluc2lkZSAnaGVscGVycycgbWV0aG9kcyBjb2xsZWN0aW9uIGlmIGZvdW5kXHJcbiAgICBhcHBseVRoaXNJbkhlbHBlcnMobW9kdWxlKTtcclxuICAgIHJldHVybiBtb2R1bGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkTW9kdWxlc0Zyb21GaWxlKG1vZHVsZU5hbWUsIG1vZHVsZUZpbGVOYW1lLCBtb2R1bGVMb2dnZXIsIG94TW9kdWxlc0RpclBhdGgsIGFyZ3MpIHtcclxuICAgIGNvbnN0IG1vZHVsZUNsYXNzID0gcmVxdWlyZShwYXRoLmpvaW4ob3hNb2R1bGVzRGlyUGF0aCwgbW9kdWxlRmlsZU5hbWUpKTtcclxuICAgIC8vIGNoZWNrIGlmIG1vZHVsZSBjb250YWlucyBleHRlcm5hbCBcImNvbW1hbmRzXCIgZm9sZGVyIGFuZCBpZiBzbyBsb2FkIGFsbCB0aGUgY29tbWFuZHNcclxuICAgIGNvbnN0IGNtZERpclBhdGggPSBveE1vZHVsZXNEaXJQYXRoID8gcGF0aC5qb2luKG94TW9kdWxlc0RpclBhdGgsICdtb2R1bGUtJyArIG1vZHVsZU5hbWUsICdjb21tYW5kcycpIDogbnVsbDtcclxuICAgIGFkZENvbW1hbmRzVG9Qcm90b3R5cGUoY21kRGlyUGF0aCwgbW9kdWxlTmFtZSwgbW9kdWxlQ2xhc3MpO1xyXG4gICAgLy8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBtb2R1bGUgXHJcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgbW9kdWxlQ2xhc3MoYXJncy5vcHRzLCBhcmdzLmN0eCwgYXJncy5yZXN1bHRTdG9yZSwgbW9kdWxlTG9nZ2VyLCBhcmdzLm1vZHVsZXMsIGFyZ3Muc2VydmljZXMpO1xyXG4gICAgaWYgKCFtb2R1bGUubmFtZSkge1xyXG4gICAgICAgIG1vZHVsZS5uYW1lID0gbW9kdWxlTmFtZTtcclxuICAgIH1cclxuICAgIC8vIGFwcGx5IHRoaXMgZm9yIGZ1bmN0aW9ucyBpbnNpZGUgJ2hlbHBlcnMnIG1ldGhvZHMgY29sbGVjdGlvbiBpZiBmb3VuZFxyXG4gICAgYXBwbHlUaGlzSW5IZWxwZXJzKG1vZHVsZSk7XHJcbiAgICByZXR1cm4gbW9kdWxlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmV3RmlsZUF0dGFjaG1lbnQoZmlsZVBhdGgpIHtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkOiB2MSgpLFxyXG4gICAgICAgIGZpbGVOYW1lLFxyXG4gICAgICAgIGZpbGVQYXRoLFxyXG4gICAgICAgIHR5cGU6ICdvdGhlcicsXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBhcHBseVRoaXNJbkhlbHBlcnMobW9kdWxlKSB7XHJcbiAgICBpZiAobW9kdWxlLmhlbHBlcnMgfHwgKG1vZHVsZS5fdGhpcyAmJiBtb2R1bGUuX3RoaXMuaGVscGVycykpIHtcclxuICAgICAgICBjb25zdCBoZWxwZXJzID0gbW9kdWxlLmhlbHBlcnMgfHwgbW9kdWxlLl90aGlzLmhlbHBlcnM7XHJcbiAgICAgICAgZm9yICh2YXIgZnVuY05hbWUgaW4gaGVscGVycykge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGhlbHBlcnNbZnVuY05hbWVdID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICBoZWxwZXJzW2Z1bmNOYW1lXSA9IGhlbHBlcnNbZnVuY05hbWVdLmJpbmQobW9kdWxlLl90aGlzIHx8IG1vZHVsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFkZENvbW1hbmRzVG9Qcm90b3R5cGUoY21kRGlyUGF0aCwgbW9kdWxlTmFtZSwgbW9kdWxlQ2xhc3MpIHtcclxuICAgIGlmIChjbWREaXJQYXRoICYmIGZzLmV4aXN0c1N5bmMoY21kRGlyUGF0aCkpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBjb21tYW5kcyA9IHJlcXVpcmUoY21kRGlyUGF0aCk7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2NtZE5hbWUsIGNtZEZ1bmNdIG9mIE9iamVjdC5lbnRyaWVzKGNvbW1hbmRzKSkge1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlQ2xhc3MucHJvdG90eXBlW2NtZE5hbWVdID0gY21kRnVuYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbG9hZCBleHRlcm5hbCBjb21tYW5kcyBmb3IgbW9kdWxlIFwiJHttb2R1bGVOYW1lfVwiOiBgICsgZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -19,4 +19,4 @@ class HookError extends _OxygenError.default {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
exports.default = HookError;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvSG9va0Vycm9yLmpzIl0sIm5hbWVzIjpbIkhvb2tFcnJvciIsIk94eWdlbkVycm9yIiwiY29uc3RydWN0b3IiLCJtZXNzYWdlIiwiZXJyIiwiaXNGYXRhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7Ozs7QUFFZSxNQUFNQSxTQUFOLFNBQXdCQyxvQkFBeEIsQ0FBb0M7QUFDL0NDLEVBQUFBLFdBQVcsQ0FBQ0MsT0FBRCxFQUFVQyxHQUFWLEVBQWVDLE9BQU8sR0FBRyxJQUF6QixFQUErQjtBQUN0QyxVQUFNLFlBQU4sRUFBb0JGLE9BQXBCLEVBQTZCLElBQTdCLEVBQW1DRSxPQUFuQyxFQUE0Q0QsR0FBNUM7QUFDSDs7QUFIOEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qXHJcbiAqIE94eWdlbiB0ZXN0IGhvb2sgdGhyb3duIGFuIGVycm9yXHJcbiAqL1xyXG5pbXBvcnQgT3h5Z2VuRXJyb3IgZnJvbSAnLi9PeHlnZW5FcnJvcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIb29rRXJyb3IgZXh0ZW5kcyBPeHlnZW5FcnJvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlLCBlcnIsIGlzRmF0YWwgPSB0cnVlKSB7XHJcbiAgICAgICAgc3VwZXIoJ0hPT0tfRVJST1InLCBtZXNzYWdlLCBudWxsLCBpc0ZhdGFsLCBlcnIpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -19,4 +19,4 @@ class ModuleError extends _OxygenError.default {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
exports.default = ModuleError;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvTW9kdWxlRXJyb3IuanMiXSwibmFtZXMiOlsiTW9kdWxlRXJyb3IiLCJPeHlnZW5FcnJvciIsImNvbnN0cnVjdG9yIiwibWVzc2FnZSIsImVyciIsImlzRmF0YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBOzs7O0FBRWUsTUFBTUEsV0FBTixTQUEwQkMsb0JBQTFCLENBQXNDO0FBQ2pEQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVUMsR0FBVixFQUFlQyxPQUFPLEdBQUcsSUFBekIsRUFBK0I7QUFDdEMsVUFBTSxjQUFOLEVBQXNCRixPQUF0QixFQUErQixJQUEvQixFQUFxQ0UsT0FBckMsRUFBOENELEdBQTlDO0FBQ0g7O0FBSGdEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBVc2VkIHRvIGRlbm90ZSBKYXZhU2NyaXB0IGxldmVsIGVycm9ycyBpbiB1c2VyJ3Mgc2NyaXB0OiBUeXBlRXJyb3IsIFN5bnRheEVycm9yLCBldGMuXHJcbiAqL1xyXG5pbXBvcnQgT3h5Z2VuRXJyb3IgZnJvbSAnLi9PeHlnZW5FcnJvcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2R1bGVFcnJvciBleHRlbmRzIE94eWdlbkVycm9yIHtcclxuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UsIGVyciwgaXNGYXRhbCA9IHRydWUpIHtcclxuICAgICAgICBzdXBlcignTU9EVUxFX0VSUk9SJywgbWVzc2FnZSwgbnVsbCwgaXNGYXRhbCwgZXJyKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -7,4 +7,4 @@ function ModuleUnavailableError(message) {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
module.exports = ModuleUnavailableError;
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvTW9kdWxlVW5hdmFpbGFibGVFcnJvci5qcyJdLCJuYW1lcyI6WyJNb2R1bGVVbmF2YWlsYWJsZUVycm9yIiwibWVzc2FnZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFZQSxTQUFTQSxzQkFBVCxDQUFnQ0MsT0FBaEMsRUFBeUM7QUFDckMsT0FBS0EsT0FBTCxHQUFlQSxPQUFmO0FBQ0g7O0FBRURDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQkgsc0JBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUgKGUuZy4gT0RCQyBkdWUgdG8gbWlzc2luZyBsaWJzKVxyXG4gKi9cclxuZnVuY3Rpb24gTW9kdWxlVW5hdmFpbGFibGVFcnJvcihtZXNzYWdlKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IE1vZHVsZVVuYXZhaWxhYmxlRXJyb3I7XHJcbiJdfQ==
|
|
@@ -150,4 +150,4 @@ class OxygenError extends Error {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
exports.default = OxygenError;
|
|
153
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvT3h5Z2VuRXJyb3IuanMiXSwibmFtZXMiOlsiU1RBQ0tUUkFDRV9GSUxURVJTIiwiT3h5Z2VuRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwidHlwZSIsIm1lc3NhZ2UiLCJkYXRhIiwiaXNGYXRhbCIsIm9yZ0VyciIsInVuZGVmaW5lZCIsInN1YnR5cGUiLCJzY3JlZW5zaG90Iiwic3RhY2siLCJjYXB0dXJlU3RhY2tUcmFjZSIsImZpbHRlclN0YWNrVHJhY2UiLCJnZW5lcmF0ZUxvY2F0aW9uIiwic3BsaXQiLCJmaWx0ZXIiLCJfc3RhY2tUcmFjZUZpbHRlckZuIiwiam9pbiIsInZhbHVlIiwic29tZSIsImluY2x1ZGVzIiwiYW5vdGhlckZpbGUiLCJhbm90aGVyTGluZU51bWJlciIsImFub3RoZXJDb2x1bW4iLCJhbm90aGVyU3RhY2siLCJzdGFja1RyYWNlUGFyc2VyIiwicGFyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJpIiwiZnMiLCJleGlzdHNTeW5jIiwiZmlsZSIsInN0YWNrVHJhY2UiLCJTdGFja1RyYWNlIiwiaXRlbSIsImV4aXN0IiwiZmlsZU5hbWUiLCJjYWxsIiwibG9jYXRpb24iLCJsb2NhdGlvblNwbGl0IiwicGFyc2VJbnQiLCJzdGFja3RyYWNlIiwibWFwIiwicGF0Y2hGaWxlUGF0aE9uV2luZG93cyIsImdldEZpbGVOYW1lIiwiZ2V0TGluZU51bWJlciIsImdldENvbHVtbk51bWJlciIsImZpbGVQYXRoIiwicHJvY2VzcyIsInBsYXRmb3JtIiwicmVwbGFjZSIsImVyciIsImUiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLENBQUMsa0JBQUQsRUFBcUIsZ0JBQXJCLEVBQXVDLGVBQXZDLEVBQXdELGlCQUF4RCxFQUEyRSxZQUEzRSxFQUF5RixxQkFBekYsRUFBZ0gsZ0JB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QyxHQUF4QixFQUE2QnRELFdBQTdCO0FBQ0EsYUFBS1csS0FBTCxHQUFhMkMsR0FBRyxDQUFDM0MsS0FBakI7QUFFSCxPQVBELENBUUEsT0FBTzRDLENBQVAsRUFBVTtBQUNOQyxRQUFBQSxPQUFPLENBQUNDLEtBQVIsQ0FBY0YsQ0FBQyxDQUFDbkQsT0FBaEI7QUFDSDtBQUNKO0FBQ0o7O0FBeEswQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBFcnJvciBjbGFzc1xuICovXG5pbXBvcnQgU3RhY2tUcmFjZSBmcm9tICdzdGFjay10cmFjZSc7XG5pbXBvcnQgKiBhcyBzdGFja1RyYWNlUGFyc2VyIGZyb20gJ3N0YWNrdHJhY2UtcGFyc2VyJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5cbmNvbnN0IFNUQUNLVFJBQ0VfRklMVEVSUyA9IFsnXFxcXG5vZGVfbW9kdWxlc1xcXFwnLCAnL25vZGVfbW9kdWxlcy8nLCAnL294eWdlbi1ub2RlLycsICdcXFxcb3h5Z2VuLW5vZGVcXFxcJywgJyhtb2R1bGUuanMnLCAnKGludGVybmFsL21vZHVsZS5qcycsICdhdCA8YW5vbnltb3VzPicsICdpbnRlcm5hbC8nLCAnaW50ZXJuYWxcXFxcJ107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE94eWdlbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHR5cGUsIG1lc3NhZ2UsIGRhdGEsIGlzRmF0YWwsIG9yZ0VyciA9IG51bGwpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSB8fCB1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlIHx8IHRoaXMudHlwZSB8fCBudWxsO1xuICAgICAgICB0aGlzLm9yZ0VyciA9IG9yZ0VycjtcbiAgICAgICAgLy8gc3VidHlwZSBhbGxvd3MgdG8gc3BlY2lmeSBtb3JlIHBhcnRpY3VsYXIgZXJyb3IgZm9yIGEgZ2VuZXJhbCBPeHlnZW4gZXJyb3IgdHlwZVxuICAgICAgICAvLyBmb3IgZXhhbXBsZSwgc3BlY2lmeSBUeXBlRXJyb3IgYXMgc3VidHlwZSBmb3IgYSBnZW5lcmFsIFNDUklQVF9FUlJPUiBPeHlnZW4gdHlwZVxuICAgICAgICBpZiAob3JnRXJyICYmIHR5cGVvZiBvcmdFcnIgPT09ICdzdHJpbmcnICYmIHR5cGUgIT09IG9yZ0Vycikge1xuICAgICAgICAgICAgdGhpcy5zdWJ0eXBlID0gb3JnRXJyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG9yZ0VyciAmJiB0eXBlb2Ygb3JnRXJyID09PSAnb2JqZWN0JyAmJiBvcmdFcnIudHlwZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJ0eXBlID0gb3JnRXJyLnR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZSB8fCBudWxsO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhIHx8IG51bGw7XG4gICAgICAgIHRoaXMuc2NyZWVuc2hvdCA9IG51bGw7XG4gICAgICAgIHRoaXMuaXNGYXRhbCA9ICh0eXBlb2YgaXNGYXRhbCA9PT0gJ3VuZGVmaW5lZCcpID8gdHJ1ZSA6IGlzRmF0YWw7XG4gICAgICAgIGlmIChvcmdFcnIgJiYgb3JnRXJyLnN0YWNrKSB7XG4gICAgICAgICAgICB0aGlzLnN0YWNrID0gb3JnRXJyLnN0YWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZG9uJ3QgZ2VuZXJhdGUgc3RhY2t0cmFjZSBpZiBPeHlnZW5FcnJvciBpcyB1c2VkIGluZGlyZWN0bHkgdGhyb3VnaCBpbmhlcml0YW5jZVxuICAgICAgICBpZiAodHlwZSB8fCBtZXNzYWdlKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVTdGFja1RyYWNlKCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclN0YWNrVHJhY2UoKTtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVMb2NhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlsdGVyU3RhY2tUcmFjZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0YWNrKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVTdGFja1RyYWNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGFjayA9IHRoaXMuc3RhY2suc3BsaXQoJ1xcbicpLmZpbHRlcih0aGlzLl9zdGFja1RyYWNlRmlsdGVyRm4pLmpvaW4oJ1xcbicpO1xuICAgIH1cblxuICAgIF9zdGFja1RyYWNlRmlsdGVyRm4odmFsdWUpIHtcbiAgICAgICAgcmV0dXJuICFTVEFDS1RSQUNFX0ZJTFRFUlMuc29tZShmaWx0ZXIgPT4gdmFsdWUuaW5jbHVkZXMoZmlsdGVyKSk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVMb2NhdGlvbigpIHtcbiAgICAgICAgbGV0IGFub3RoZXJGaWxlO1xuICAgICAgICBsZXQgYW5vdGhlckxpbmVOdW1iZXI7XG4gICAgICAgIGxldCBhbm90aGVyQ29sdW1uO1xuXG4gICAgICAgIGlmICh0aGlzLm9yZ0VyciAmJiB0aGlzLm9yZ0Vyci5zdGFjaykge1xuICAgICAgICAgICAgY29uc3QgYW5vdGhlclN0YWNrID0gc3RhY2tUcmFjZVBhcnNlci5wYXJzZSh0aGlzLm9yZ0Vyci5zdGFjayk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2sgJiZcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGFub3RoZXJTdGFjaykgJiZcbiAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2subGVuZ3RoID4gMFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbm90aGVyU3RhY2subGVuZ3RoOyBpKyspIHtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBmcy5leGlzdHNTeW5jKGFub3RoZXJTdGFja1tpXVsnZmlsZSddKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrW2ldWydsaW5lTnVtYmVyJ10gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFhbm90aGVyRmlsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWFub3RoZXJMaW5lTnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZSA9IGFub3RoZXJTdGFja1tpXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlOiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6ICcqLmpzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kTmFtZTogJzx1bmtub3duPicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVOdW1iZXI6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiAnKi5qcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZE5hbWU6ICdPYmplY3QuPGFub255bW91cz4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiAxMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrW2ldICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrWzEraV0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV1bJ2ZpbGUnXSA9PT0gYW5vdGhlclN0YWNrWzEraV1bJ2ZpbGUnXVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGFub3RoZXJTdGFja1sxK2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyRmlsZSA9IGZpbGVbJ2ZpbGUnXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJMaW5lTnVtYmVyID0gZmlsZVsnbGluZU51bWJlciddO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlckNvbHVtbiA9IGZpbGVbJ2NvbHVtbiddIHx8IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RhY2tUcmFjZSA9IFN0YWNrVHJhY2UucGFyc2UodGhpcykgfHwgW107XG4gICAgICAgIHN0YWNrVHJhY2UgPSBzdGFja1RyYWNlLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhpc3QgPSBmcy5leGlzdHNTeW5jKGl0ZW0uZmlsZU5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIGV4aXN0O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHN0YWNrVHJhY2UubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY2FsbCA9IHN0YWNrVHJhY2VbMF07XG4gICAgICAgICAgICBpZiAoY2FsbCAmJiBjYWxsLmZpbGVOYW1lID09PSAndm0uanMnICYmIHRoaXMub3JnRXJyICYmIHRoaXMub3JnRXJyLnN0YWNrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGxvY2F0aW9uID0gdGhpcy5vcmdFcnIuc3RhY2suc3BsaXQoJ1xcbicpWzBdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25TcGxpdCA9IGxvY2F0aW9uLnNwbGl0KCc6Jyk7XG5cbiAgICAgICAgICAgICAgICBpZiAobG9jYXRpb25TcGxpdCAmJiBsb2NhdGlvblNwbGl0WzBdKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMV0pICYmIHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIGFuZCBjb2x1bW4gcHJlc2VudFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIHByZXNlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uICs9ICc6MCc7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IG5hbWUgcHJlc2VudFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gKz0gJzowOjAnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGxvY2F0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YWNrVHJhY2UubWFwKGNhbGwgPT4gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGNhbGwuZ2V0RmlsZU5hbWUoKSl9OiR7Y2FsbC5nZXRMaW5lTnVtYmVyKCl9OiR7Y2FsbC5nZXRDb2x1bW5OdW1iZXIoKX1gKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFub3RoZXJGaWxlICYmIGFub3RoZXJMaW5lTnVtYmVyICYmIGFub3RoZXJDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGFub3RoZXJGaWxlKX06JHthbm90aGVyTGluZU51bWJlcn06JHthbm90aGVyQ29sdW1ufWA7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja3RyYWNlID0gW3RoaXMubG9jYXRpb25dO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBhZGQgZXh0cmEgbGluZSBpZiB3ZSBhcmUgcnVubmluZyBpbiBkZWJ1Z2dlciBtb2RlIChWOCBkZWJ1Z2dlciBhZGRzIGFuIGV4dHJhIGxpbmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSlcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGV4dHJhTGluZSA9IG94dXRpbC5pc0luRGVidWdNb2RlKCkgPyAxIDogMDtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGNhbGwuZ2V0RmlsZU5hbWUoKSl9OiR7Y2FsbC5nZXRMaW5lTnVtYmVyKCl9OiR7Y2FsbC5nZXRDb2x1bW5OdW1iZXIoKX1gO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IHN0YWNrVHJhY2UubWFwKGNhbGwgPT4gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGNhbGwuZ2V0RmlsZU5hbWUoKSl9OiR7Y2FsbC5nZXRMaW5lTnVtYmVyKCl9OiR7Y2FsbC5nZXRDb2x1bW5OdW1iZXIoKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChhbm90aGVyRmlsZSAmJiBhbm90aGVyTGluZU51bWJlciAmJiBhbm90aGVyQ29sdW1uKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGFub3RoZXJGaWxlKX06JHthbm90aGVyTGluZU51bWJlcn06JHthbm90aGVyQ29sdW1ufWA7XG4gICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBbdGhpcy5sb2NhdGlvbl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhdGNoRmlsZVBhdGhPbldpbmRvd3MoZmlsZVBhdGgpIHtcbiAgICAgICAgaWYgKGZpbGVQYXRoICYmIHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgJiYgdHlwZW9mKGZpbGVQYXRoKSA9PT0gJ3N0cmluZycgJiYgZmlsZVBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGVQYXRoLnJlcGxhY2UoL1xcLy9nLCAnXFxcXCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlUGF0aDtcbiAgICB9XG5cbiAgICBjYXB0dXJlU3RhY2tUcmFjZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgLy92YXIgb3JpZyA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlO1xuICAgICAgICAgICAgICAgIC8vRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBmdW5jdGlvbiAoXywgc3RhY2spIHsgcmV0dXJuIHN0YWNrOyB9O1xuICAgICAgICAgICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnIsIE94eWdlbkVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrID0gZXJyLnN0YWNrO1xuICAgICAgICAgICAgICAgIC8vRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBvcmlnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUubWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvT3h5Z2VuRXJyb3IuanMiXSwibmFtZXMiOlsiU1RBQ0tUUkFDRV9GSUxURVJTIiwiT3h5Z2VuRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwidHlwZSIsIm1lc3NhZ2UiLCJkYXRhIiwiaXNGYXRhbCIsIm9yZ0VyciIsInVuZGVmaW5lZCIsInN1YnR5cGUiLCJzY3JlZW5zaG90Iiwic3RhY2siLCJjYXB0dXJlU3RhY2tUcmFjZSIsImZpbHRlclN0YWNrVHJhY2UiLCJnZW5lcmF0ZUxvY2F0aW9uIiwic3BsaXQiLCJmaWx0ZXIiLCJfc3RhY2tUcmFjZUZpbHRlckZuIiwiam9pbiIsInZhbHVlIiwic29tZSIsImluY2x1ZGVzIiwiYW5vdGhlckZpbGUiLCJhbm90aGVyTGluZU51bWJlciIsImFub3RoZXJDb2x1bW4iLCJhbm90aGVyU3RhY2siLCJzdGFja1RyYWNlUGFyc2VyIiwicGFyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJpIiwiZnMiLCJleGlzdHNTeW5jIiwiZmlsZSIsInN0YWNrVHJhY2UiLCJTdGFja1RyYWNlIiwiaXRlbSIsImV4aXN0IiwiZmlsZU5hbWUiLCJjYWxsIiwibG9jYXRpb24iLCJsb2NhdGlvblNwbGl0IiwicGFyc2VJbnQiLCJzdGFja3RyYWNlIiwibWFwIiwicGF0Y2hGaWxlUGF0aE9uV2luZG93cyIsImdldEZpbGVOYW1lIiwiZ2V0TGluZU51bWJlciIsImdldENvbHVtbk51bWJlciIsImZpbGVQYXRoIiwicHJvY2VzcyIsInBsYXRmb3JtIiwicmVwbGFjZSIsImVyciIsImUiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLENBQUMsa0JBQUQsRUFBcUIsZ0JBQXJCLEVBQXVDLGVBQXZDLEVBQXdELGlCQUF4RCxFQUEyRSxZQUEzRSxFQUF5RixxQkFBekYsRUFBZ0gsZ0JB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QyxHQUF4QixFQUE2QnRELFdBQTdCO0FBQ0EsYUFBS1csS0FBTCxHQUFhMkMsR0FBRyxDQUFDM0MsS0FBakI7QUFFSCxPQVBELENBUUEsT0FBTzRDLENBQVAsRUFBVTtBQUNOQyxRQUFBQSxPQUFPLENBQUNDLEtBQVIsQ0FBY0YsQ0FBQyxDQUFDbkQsT0FBaEI7QUFDSDtBQUNKO0FBQ0o7O0FBeEswQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLypcclxuICogT3h5Z2VuIEVycm9yIGNsYXNzXHJcbiAqL1xyXG5pbXBvcnQgU3RhY2tUcmFjZSBmcm9tICdzdGFjay10cmFjZSc7XHJcbmltcG9ydCAqIGFzIHN0YWNrVHJhY2VQYXJzZXIgZnJvbSAnc3RhY2t0cmFjZS1wYXJzZXInO1xyXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xyXG5cclxuY29uc3QgU1RBQ0tUUkFDRV9GSUxURVJTID0gWydcXFxcbm9kZV9tb2R1bGVzXFxcXCcsICcvbm9kZV9tb2R1bGVzLycsICcvb3h5Z2VuLW5vZGUvJywgJ1xcXFxveHlnZW4tbm9kZVxcXFwnLCAnKG1vZHVsZS5qcycsICcoaW50ZXJuYWwvbW9kdWxlLmpzJywgJ2F0IDxhbm9ueW1vdXM+JywgJ2ludGVybmFsLycsICdpbnRlcm5hbFxcXFwnXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE94eWdlbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgY29uc3RydWN0b3IodHlwZSwgbWVzc2FnZSwgZGF0YSwgaXNGYXRhbCwgb3JnRXJyID0gbnVsbCkge1xyXG4gICAgICAgIHN1cGVyKG1lc3NhZ2UgfHwgdW5kZWZpbmVkKTtcclxuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlIHx8IHRoaXMudHlwZSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMub3JnRXJyID0gb3JnRXJyO1xyXG4gICAgICAgIC8vIHN1YnR5cGUgYWxsb3dzIHRvIHNwZWNpZnkgbW9yZSBwYXJ0aWN1bGFyIGVycm9yIGZvciBhIGdlbmVyYWwgT3h5Z2VuIGVycm9yIHR5cGVcclxuICAgICAgICAvLyBmb3IgZXhhbXBsZSwgc3BlY2lmeSBUeXBlRXJyb3IgYXMgc3VidHlwZSBmb3IgYSBnZW5lcmFsIFNDUklQVF9FUlJPUiBPeHlnZW4gdHlwZVxyXG4gICAgICAgIGlmIChvcmdFcnIgJiYgdHlwZW9mIG9yZ0VyciA9PT0gJ3N0cmluZycgJiYgdHlwZSAhPT0gb3JnRXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VidHlwZSA9IG9yZ0VycjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAob3JnRXJyICYmIHR5cGVvZiBvcmdFcnIgPT09ICdvYmplY3QnICYmIG9yZ0Vyci50eXBlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VidHlwZSA9IG9yZ0Vyci50eXBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8IG51bGw7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMuc2NyZWVuc2hvdCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0ZhdGFsID0gKHR5cGVvZiBpc0ZhdGFsID09PSAndW5kZWZpbmVkJykgPyB0cnVlIDogaXNGYXRhbDtcclxuICAgICAgICBpZiAob3JnRXJyICYmIG9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YWNrID0gb3JnRXJyLnN0YWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZG9uJ3QgZ2VuZXJhdGUgc3RhY2t0cmFjZSBpZiBPeHlnZW5FcnJvciBpcyB1c2VkIGluZGlyZWN0bHkgdGhyb3VnaCBpbmhlcml0YW5jZVxyXG4gICAgICAgIGlmICh0eXBlIHx8IG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXB0dXJlU3RhY2tUcmFjZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlclN0YWNrVHJhY2UoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUxvY2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpbHRlclN0YWNrVHJhY2UoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FwdHVyZVN0YWNrVHJhY2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdGFjayA9IHRoaXMuc3RhY2suc3BsaXQoJ1xcbicpLmZpbHRlcih0aGlzLl9zdGFja1RyYWNlRmlsdGVyRm4pLmpvaW4oJ1xcbicpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zdGFja1RyYWNlRmlsdGVyRm4odmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gIVNUQUNLVFJBQ0VfRklMVEVSUy5zb21lKGZpbHRlciA9PiB2YWx1ZS5pbmNsdWRlcyhmaWx0ZXIpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZW5lcmF0ZUxvY2F0aW9uKCkge1xyXG4gICAgICAgIGxldCBhbm90aGVyRmlsZTtcclxuICAgICAgICBsZXQgYW5vdGhlckxpbmVOdW1iZXI7XHJcbiAgICAgICAgbGV0IGFub3RoZXJDb2x1bW47XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9yZ0VyciAmJiB0aGlzLm9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICBjb25zdCBhbm90aGVyU3RhY2sgPSBzdGFja1RyYWNlUGFyc2VyLnBhcnNlKHRoaXMub3JnRXJyLnN0YWNrKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGFub3RoZXJTdGFjayAmJlxyXG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShhbm90aGVyU3RhY2spICYmXHJcbiAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2subGVuZ3RoID4gMFxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYW5vdGhlclN0YWNrLmxlbmd0aDsgaSsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnMuZXhpc3RzU3luYyhhbm90aGVyU3RhY2tbaV1bJ2ZpbGUnXSkgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrW2ldWydsaW5lTnVtYmVyJ10gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgIWFub3RoZXJGaWxlICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFhbm90aGVyTGluZU51bWJlclxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGUgPSBhbm90aGVyU3RhY2tbaV07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZTogXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogJyouanMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZE5hbWU6ICc8dW5rbm93bj4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogJyouanMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZE5hbWU6ICdPYmplY3QuPGFub255bW91cz4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bWJlcjogMTEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV0gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJTdGFja1sxK2ldICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV1bJ2ZpbGUnXSA9PT0gYW5vdGhlclN0YWNrWzEraV1bJ2ZpbGUnXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgPSBhbm90aGVyU3RhY2tbMStpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlckZpbGUgPSBmaWxlWydmaWxlJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJMaW5lTnVtYmVyID0gZmlsZVsnbGluZU51bWJlciddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyQ29sdW1uID0gZmlsZVsnY29sdW1uJ10gfHwgMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBzdGFja1RyYWNlID0gU3RhY2tUcmFjZS5wYXJzZSh0aGlzKSB8fCBbXTtcclxuICAgICAgICBzdGFja1RyYWNlID0gc3RhY2tUcmFjZS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZXhpc3QgPSBmcy5leGlzdHNTeW5jKGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gZXhpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHN0YWNrVHJhY2UubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsID0gc3RhY2tUcmFjZVswXTtcclxuICAgICAgICAgICAgaWYgKGNhbGwgJiYgY2FsbC5maWxlTmFtZSA9PT0gJ3ZtLmpzJyAmJiB0aGlzLm9yZ0VyciAmJiB0aGlzLm9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGxvY2F0aW9uID0gdGhpcy5vcmdFcnIuc3RhY2suc3BsaXQoJ1xcbicpWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uU3BsaXQgPSBsb2NhdGlvbi5zcGxpdCgnOicpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblNwbGl0ICYmIGxvY2F0aW9uU3BsaXRbMF0pIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMV0pICYmIHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMl0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUgYW5kIGNvbHVtbiBwcmVzZW50XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZUludChsb2NhdGlvblNwbGl0W2xvY2F0aW9uU3BsaXQubGVuZ3RoLTFdKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIHByZXNlbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gKz0gJzowJztcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IG5hbWUgcHJlc2VudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbiArPSAnOjA6MCc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBsb2NhdGlvbjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IFtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGFja1RyYWNlLm1hcChjYWxsID0+IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhjYWxsLmdldEZpbGVOYW1lKCkpfToke2NhbGwuZ2V0TGluZU51bWJlcigpfToke2NhbGwuZ2V0Q29sdW1uTnVtYmVyKCl9YClcclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYW5vdGhlckZpbGUgJiYgYW5vdGhlckxpbmVOdW1iZXIgJiYgYW5vdGhlckNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhhbm90aGVyRmlsZSl9OiR7YW5vdGhlckxpbmVOdW1iZXJ9OiR7YW5vdGhlckNvbHVtbn1gO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja3RyYWNlID0gW3RoaXMubG9jYXRpb25dO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gYWRkIGV4dHJhIGxpbmUgaWYgd2UgYXJlIHJ1bm5pbmcgaW4gZGVidWdnZXIgbW9kZSAoVjggZGVidWdnZXIgYWRkcyBhbiBleHRyYSBsaW5lIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUpXHJcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGV4dHJhTGluZSA9IG94dXRpbC5pc0luRGVidWdNb2RlKCkgPyAxIDogMDtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBgJHt0aGlzLnBhdGNoRmlsZVBhdGhPbldpbmRvd3MoY2FsbC5nZXRGaWxlTmFtZSgpKX06JHtjYWxsLmdldExpbmVOdW1iZXIoKX06JHtjYWxsLmdldENvbHVtbk51bWJlcigpfWA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBzdGFja1RyYWNlLm1hcChjYWxsID0+IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhjYWxsLmdldEZpbGVOYW1lKCkpfToke2NhbGwuZ2V0TGluZU51bWJlcigpfToke2NhbGwuZ2V0Q29sdW1uTnVtYmVyKCl9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGFub3RoZXJGaWxlICYmIGFub3RoZXJMaW5lTnVtYmVyICYmIGFub3RoZXJDb2x1bW4pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhhbm90aGVyRmlsZSl9OiR7YW5vdGhlckxpbmVOdW1iZXJ9OiR7YW5vdGhlckNvbHVtbn1gO1xyXG4gICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBbdGhpcy5sb2NhdGlvbl07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhdGNoRmlsZVBhdGhPbldpbmRvd3MoZmlsZVBhdGgpIHtcclxuICAgICAgICBpZiAoZmlsZVBhdGggJiYgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyAmJiB0eXBlb2YoZmlsZVBhdGgpID09PSAnc3RyaW5nJyAmJiBmaWxlUGF0aC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlUGF0aC5yZXBsYWNlKC9cXC8vZywgJ1xcXFwnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpbGVQYXRoO1xyXG4gICAgfVxyXG5cclxuICAgIGNhcHR1cmVTdGFja1RyYWNlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAvL3ZhciBvcmlnID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7XHJcbiAgICAgICAgICAgICAgICAvL0Vycm9yLnByZXBhcmVTdGFja1RyYWNlID0gZnVuY3Rpb24gKF8sIHN0YWNrKSB7IHJldHVybiBzdGFjazsgfTtcclxuICAgICAgICAgICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgICAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVyciwgT3h5Z2VuRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IGVyci5zdGFjaztcclxuICAgICAgICAgICAgICAgIC8vRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBvcmlnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -19,4 +19,4 @@ class ScriptNotFoundError extends _OxygenError.default {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
exports.default = ScriptNotFoundError;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvU2NyaXB0Tm90Rm91bmQuanMiXSwibmFtZXMiOlsiU2NyaXB0Tm90Rm91bmRFcnJvciIsIk94eWdlbkVycm9yIiwiY29uc3RydWN0b3IiLCJzY3JpcHRQYXRoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQTs7OztBQUVlLE1BQU1BLG1CQUFOLFNBQWtDQyxvQkFBbEMsQ0FBOEM7QUFDekRDLEVBQUFBLFdBQVcsQ0FBQ0MsVUFBRCxFQUFhO0FBQ3BCLFVBQU0sd0JBQU4sRUFBaUMscUJBQW9CQSxVQUFXLEVBQWhFLEVBQW1FLElBQW5FLEVBQXlFLElBQXpFO0FBQ0g7O0FBSHdEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gc2NyaXB0IGlzIG5vdCBmb3VuZC5cclxuICovXHJcbmltcG9ydCBPeHlnZW5FcnJvciBmcm9tICcuL094eWdlbkVycm9yJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjcmlwdE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBPeHlnZW5FcnJvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihzY3JpcHRQYXRoKSB7XHJcbiAgICAgICAgc3VwZXIoJ1NDUklQVF9OT1RfRk9VTkRfRVJST1InLCBgU2NyaXB0IG5vdCBmb3VuZDogJHtzY3JpcHRQYXRofWAsIG51bGwsIHRydWUpO1xyXG4gICAgfVxyXG59Il19
|
package/build/errors/helper.js
CHANGED
|
@@ -297,4 +297,4 @@ function extractOriginalError(msg) {
|
|
|
297
297
|
|
|
298
298
|
return msg;
|
|
299
299
|
}
|
|
300
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvaGVscGVyLmpzIl0sIm5hbWVzIjpbInV0aWwiLCJyZXF1aXJlIiwiRVJST1JfQ09ERVMiLCJTQ1JJUFRfRVJST1IiLCJVTktOT1dOX0VSUk9SIiwiQVNTRVJUX0VSUk9SIiwiUERGX0VSUk9SIiwiVkVSSUZZX0VSUk9SIiwiRUxFTUVOVF9OT1RfRk9VTkQiLCJGUkFNRV9OT1RfRk9VTkQiLCJVTktOT1dOX0NPTU1BTkRfRVJST1IiLCJTVEFMRV9FTEVNRU5UX1JFRkVSRU5DRSIsIkVMRU1FTlRfTk9UX1ZJU0lCTEUiLCJFTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUiLCJMT0NBVE9SX01BVENIRVNfTVVMVElQTEVfRUxFTUVOVFMiLCJFTEVNRU5UX1NUSUxMX0VYSVNUUyIsIkJST1dTRVJfSlNfRVhFQ1VURV9FUlJPUiIsIlRJTUVPVVQiLCJXSU5ET1dfTk9UX0ZPVU5EIiwiVU5FWFBFQ1RFRF9BTEVSVF9PUEVOIiwiTk9fQUxFUlRfT1BFTl9FUlJPUiIsIk1BSUxJTkFUT1JfRVJST1IiLCJBUFBJVU1fVU5SRUFDSEFCTEVfRVJST1IiLCJTRUxFTklVTV9VTlJFQUNIQUJMRV9FUlJPUiIsIkNIUk9NRURSSVZFUl9FUlJPUiIsIldFQkRSSVZFUl9FUlJPUiIsIkRCX0NPTk5FQ1RJT05fRVJST1IiLCJEQl9RVUVSWV9FUlJPUiIsIlNPQVBfRVJST1IiLCJTSEVMTF9FUlJPUiIsIk1PTkdPREJfRVJST1IiLCJOT1RfSU1QTEVNRU5URURfRVJST1IiLCJTRVJJQUxfUE9SVF9FUlJPUiIsIkhUVFBfRVJST1IiLCJFTUFJTF9FUlJPUiIsIk1PRFVMRV9OT1RfSU5JVElBTElaRURfRVJST1IiLCJERVZJQ0VfTk9UX0ZPVU5EIiwiUEFSQU1FVEVSU19FUlJPUiIsIklOVkFMSURfQ0FQQUJJTElUSUVTIiwiQlJPV1NFUl9DT05GSUdVUkFUSU9OX0VSUk9SIiwiQVBQSVVNX0NPTk5FQ1RJT05fRVJST1IiLCJBUFBJVU1fU0VTU0lPTl9FUlJPUiIsIkFQUElVTV9TRVNTSU9OX1RJTUVPVVQiLCJTRUxFTklVTV9TRVNTSU9OX0VSUk9SIiwiU0VMRU5JVU1fU0VTU0lPTl9USU1FT1VUIiwiU0VMRU5JVU1fQ09OTkVDVElPTl9FUlJPUiIsIlVSTF9PUEVOX0VSUk9SIiwiT1BUSU9OX05PVF9GT1VORCIsIkFUVFJJQlVURV9OT1RfRk9VTkQiLCJFTEVNRU5UX1NUQVRFX0VSUk9SIiwiTU9CSUxFX0NPTlRFWFRfRVJST1IiLCJBUFBMSUNBVElPTl9OT1RfRk9VTkRfRVJST1IiLCJUV0lMSU9fRVJST1IiLCJIT09LX0VSUk9SIiwiTk9UX1NVUFBPUlRFRCIsIkFTU0VSVF9QQVNTRUQiLCJNT0RVTEVfTk9UX0ZPVU5EIiwiRklMRV9CUk9XU0VfRVJST1IiLCJDU1ZfRVJST1IiLCJDUllQVE9fRVJST1IiLCJETlNfRVJST1IiLCJDSVJDVUxBUl9FUlJPUiIsIlhNTF9FUlJPUiIsIkpBVkFTQ1JJUFRfRVJST1IiLCJDSEFJX0VSUk9SX0NPREVTIiwiQXNzZXJ0aW9uRXJyb3IiLCJTQ1JJUFRfRVJST1JfQ09ERVMiLCJUeXBlRXJyb3IiLCJTeW50YXhFcnJvciIsIlJlZmVyZW5jZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyIsImdldEZhaWx1cmVGcm9tRXJyb3IiLCJlcnIiLCJPeEVycm9yIiwiZ2V0T3h5Z2VuRXJyb3IiLCJ0eXBlIiwibWVzc2FnZSIsImRhdGEiLCJsb2NhdGlvbiIsInN0YWNrdHJhY2UiLCJnZXREYkVycm9yTWVzc2FnZSIsIm9kYmNFcnJvcnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJtYXAiLCJpdGVtIiwiY21kIiwiYXJncyIsImVyclR5cGUiLCJuYW1lIiwiaW5jbHVkZXMiLCJtYXRjaGVzIiwibWF0Y2giLCJzdGFydHNXaXRoIiwiZXh0cmFjdE9yaWdpbmFsRXJyb3IiLCJPUklHSU5BTF9FUlJPUl9NRVNTQUdFIiwiaW5zcGVjdCIsImNvZGUiLCJlcnJNZXNzYWdlIiwicmVwbGFjZSIsIm94RXJyb3JDb2RlIiwiQVNTRVJUIiwiaW5kZXhPZiIsIlZFUklGWSIsImNvbnNvbGUiLCJsb2ciLCJnZXRTZWxlbml1bUluaXRFcnJvciIsImllWm9vbUVycm9yTXNnIiwidG9TdHJpbmciLCJjaHJvbWVEcml2ZXJNc2ciLCJnZXRBcHBpdW1Jbml0RXJyb3IiLCJnZXRBc3NlcnRFcnJvciIsImV4cGVjdGVkIiwiYWN0dWFsIiwiaXNGYXRhbCIsInVuZGVmaW5lZCIsImdldFZlcmlmeUVycm9yIiwiZXJyb3JDb2RlIiwiVU5LTk9XTl9FUlJPUl9NRVNTQUdFIiwibXNnIiwiZXJyb3JJbmRleDEiLCJlcnJvckluZGV4MiIsInN1YnN0cmluZyIsInVua25vd25FcnJvckluZGV4Il0sIm1hcHBpbmdzIjoiOzs7O0FBYUE7Ozs7QUFDQSxNQUFNQSxJQUFJLEdBQUdDLE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUVBLE1BQU1DLFdBQVcsR0FBRztBQUNoQkMsRUFBQUEsWUFBWSxFQUFFLGNBREU7QUFFaEJDLEVBQUFBLGFBQWEsRUFBRSxlQUZDO0FBR2hCQyxFQUFBQSxZQUFZLEVBQUUsY0FIRTtBQUloQkMsRUFBQUEsU0FBUyxFQUFFLFdBSks7QUFLaEJDLEVBQUFBLFlBQVksRUFBRSxjQUxFO0FBTWhCQyxFQUFBQSxpQkFBaUIsRUFBRSxtQkFOSDtBQU9oQkMsRUFBQUEsZUFBZSxFQUFFLGlCQVBEO0FBUWhCQyxFQUFBQSxxQkFBcUIsRUFBRSx1QkFSUDtBQVNoQkMsRUFBQUEsdUJBQXVCLEVBQUUseUJBVFQ7QUFVaEJDLEVBQUFBLG1CQUFtQixFQUFFLHFCQVZMO0FBV2hCQyxFQUFBQSx3QkFBd0IsRUFBRSwwQkFYVjtBQVloQkMsRUFBQUEsaUNBQWlDLEVBQUUsbUNBWm5CO0FBYWhCQyxFQUFBQSxvQkFBb0IsRUFBRSxzQkFiTjtBQWNoQkMsRUFBQUEsd0JBQXdCLEVBQUUsMEJBZFY7QUFlaEJDLEVBQUFBLE9BQU8sRUFBRSxTQWZPO0FBZ0JoQkMsRUFBQUEsZ0JBQWdCLEVBQUUsa0JBaEJGO0FBaUJoQkMsRUFBQUEscUJBQXFCLEVB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QW9DLEVBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRyxTQUFKLENBQWMsQ0FBQ0QsV0FBVyxHQUFHLENBQUMsQ0FBZixHQUFtQkEsV0FBbkIsR0FBaUNELFdBQWxDLElBQWtEekIsc0JBQXNCLENBQUNaLE1BQXZGLENBQU47QUFHQSxNQUFJd0MsaUJBQWlCLEdBQUdKLEdBQUcsQ0FBQ2pCLE9BQUosQ0FBWWdCLHFCQUFaLENBQXhCOztBQUNBLE1BQUlLLGlCQUFpQixHQUFHLENBQUMsQ0FBekIsRUFBNEI7QUFDeEIsV0FBT0osR0FBRyxDQUFDRyxTQUFKLENBQWNDLGlCQUFpQixHQUFHTCxxQkFBcUIsQ0FBQ25DLE1BQXhELENBQVA7QUFDSDs7QUFFRCxTQUFPb0MsR0FBUDtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqL1xuXG4vKipcbiAqIEhlbHBlciBtb2R1bGUgZm9yIGhhbmRsaW5nIGFuZCBjb252ZXJ0aW5nIHZhcmlvdXMgZXJyb3IgdHlwZXNcbiAqL1xuXG5pbXBvcnQgT3hFcnJvciBmcm9tICcuL094eWdlbkVycm9yJztcbmNvbnN0IHV0aWwgPSByZXF1aXJlKCd1dGlsJyk7XG5cbmNvbnN0IEVSUk9SX0NPREVTID0ge1xuICAgIFNDUklQVF9FUlJPUjogJ1NDUklQVF9FUlJPUicsXG4gICAgVU5LTk9XTl9FUlJPUjogJ1VOS05PV05fRVJST1InLFxuICAgIEFTU0VSVF9FUlJPUjogJ0FTU0VSVF9FUlJPUicsXG4gICAgUERGX0VSUk9SOiAnUERGX0VSUk9SJyxcbiAgICBWRVJJRllfRVJST1I6ICdWRVJJRllfRVJST1InLFxuICAgIEVMRU1FTlRfTk9UX0ZPVU5EOiAnRUxFTUVOVF9OT1RfRk9VTkQnLFxuICAgIEZSQU1FX05PVF9GT1VORDogJ0ZSQU1FX05PVF9GT1VORCcsXG4gICAgVU5LTk9XTl9DT01NQU5EX0VSUk9SOiAnVU5LTk9XTl9DT01NQU5EX0VSUk9SJyxcbiAgICBTVEFMRV9FTEVNRU5UX1JFRkVSRU5DRTogJ1NUQUxFX0VMRU1FTlRfUkVGRVJFTkNFJyxcbiAgICBFTEVNRU5UX05PVF9WSVNJQkxFOiAnRUxFTUVOVF9OT1RfVklTSUJMRScsXG4gICAgRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFOiAnRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFJyxcbiAgICBMT0NBVE9SX01BVENIRVNfTVVMVElQTEVfRUxFTUVOVFM6ICdMT0NBVE9SX01BVENIRVNfTVVMVElQTEVfRUxFTUVOVFMnLFxuICAgIEVMRU1FTlRfU1RJTExfRVhJU1RTOiAnRUxFTUVOVF9TVElMTF9FWElTVFMnLFxuICAgIEJST1dTRVJfSlNfRVhFQ1VURV9FUlJPUjogJ0JST1dTRVJfSlNfRVhFQ1VURV9FUlJPUicsXG4gICAgVElNRU9VVDogJ1RJTUVPVVQnLFxuICAgIFdJTkRPV19OT1RfRk9VTkQ6ICdXSU5ET1dfTk9UX0ZPVU5EJyxcbiAgICBVTkVYUEVDVEVEX0FMRVJUX09QRU46ICdVTkVYUEVDVEVEX0FMRVJUX09QRU4nLFxuICAgIE5PX0FMRVJUX09QRU5fRVJST1I6ICdOT19BTEVSVF9PUEVOX0VSUk9SJyxcbiAgICBNQUlMSU5BVE9SX0VSUk9SOiAnTUFJTElOQVRPUl9FUlJPUicsXG4gICAgQVBQSVVNX1VOUkVBQ0hBQkxFX0VSUk9SOiAnQVBQSVVNX1VOUkVBQ0hBQkxFX0VSUk9SJyxcbiAgICBTRUxFTklVTV9VTlJFQUNIQUJMRV9FUlJPUjogJ1NFTEVOSVVNX1VOUkVBQ0hBQkxFX0VSUk9SJyxcbiAgICBDSFJPTUVEUklWRVJfRVJST1I6ICdDSFJPTUVEUklWRVJfRVJST1InLFxuICAgIFdFQkRSSVZFUl9FUlJPUjogJ1dFQkRSSVZFUl9FUlJPUicsXG4gICAgREJfQ09OTkVDVElPTl9FUlJPUjogJ0RCX0NPTk5FQ1RJT05fRVJST1InLFxuICAgIERCX1FVRVJZX0VSUk9SOiAnREJfUVVFUllfRVJST1InLFxuICAgIFNPQVBfRVJST1I6ICdTT0FQX0VSUk9SJyxcbiAgICBTSEVMTF9FUlJPUjogJ1NIRUxMX0VSUk9SJyxcbiAgICBNT05HT0RCX0VSUk9SOiAnTU9OR09EQl9FUlJPUicsXG4gICAgTk9UX0lNUExFTUVOVEVEX0VSUk9SOiAnTk9UX0lNUExFTUVOVEVEX0VSUk9SJyxcbiAgICBTRVJJQUxfUE9SVF9FUlJPUjogJ1NFUklBTF9QT1JUX0VSUk9SJyxcbiAgICBIVFRQX0VSUk9SOiAnSFRUUF9FUlJPUicsXG4gICAgRU1BSUxfRVJST1I6ICdFTUFJTF9FUlJPUicsXG4gICAgTU9EVUxFX05PVF9JTklUSUFMSVpFRF9FUlJPUjogJ01PRFVMRV9OT1RfSU5JVElBTElaRURfRVJST1InLFxuICAgIERFVklDRV9OT1RfRk9VTkQ6ICdERVZJQ0VfTk9UX0ZPVU5EJyxcbiAgICBQQVJBTUVURVJTX0VSUk9SOiAnUEFSQU1FVEVSU19FUlJPUicsXG4gICAgSU5WQUxJRF9DQVBBQklMSVRJRVM6ICdJTlZBTElEX0NBUEFCSUxJVElFUycsXG4gICAgQlJPV1NFUl9DT05GSUdVUkFUSU9OX0VSUk9SOiAnQlJPV1NFUl9DT05GSUdVUkFUSU9OX0VSUk9SJyxcbiAgICBBUFBJVU1fQ09OTkVDVElPTl9FUlJPUjogJ0FQUElVTV9DT05ORUNUSU9OX0VSUk9SJyxcbiAgICBBUFBJVU1fU0VTU0lPTl9FUlJPUjogJ0FQUElVTV9TRVNTSU9OX0VSUk9SJyxcbiAgICBBUFBJVU1fU0VTU0lPTl9USU1FT1VUOiAnQVBQSVVNX1NFU1NJT05fVElNRU9VVCcsXG4gICAgU0VMRU5JVU1fU0VTU0lPTl9FUlJPUjogJ1NFTEVOSVVNX1NFU1NJT05fRVJST1InLFxuICAgIFNFTEVOSVVNX1NFU1NJT05fVElNRU9VVDogJ1NFTEVOSVVNX1NFU1NJT05fVElNRU9VVCcsXG4gICAgU0VMRU5JVU1fQ09OTkVDVElPTl9FUlJPUjogJ1NFTEVOSVVNX0NPTk5FQ1RJT05fRVJST1InLFxuICAgIFVSTF9PUEVOX0VSUk9SOiAnVVJMX09QRU5fRVJST1InLFxuICAgIE9QVElPTl9OT1RfRk9VTkQ6ICdPUFRJT05fTk9UX0ZPVU5EJyxcbiAgICBBVFRSSUJVVEVfTk9UX0ZPVU5EOiAnQVRUUklCVVRFX05PVF9GT1VORCcsXG4gICAgRUxFTUVOVF9TVEFURV9FUlJPUjogJ0VMRU1FTlRfU1RBVEVfRVJST1InLFxuICAgIE1PQklMRV9DT05URVhUX0VSUk9SOiAnTU9CSUxFX0NPTlRFWFRfRVJST1InLFxuICAgIEFQUExJQ0FUSU9OX05PVF9GT1VORF9FUlJPUjogJ0FQUExJQ0FUSU9OX05PVF9GT1VORF9FUlJPUicsXG4gICAgVFdJTElPX0VSUk9SOiAnVFdJTElPX0VSUk9SJyxcbiAgICBIT09LX0VSUk9SOiAnSE9PS19FUlJPUicsXG4gICAgTk9UX1NVUFBPUlRFRDogJ05PVF9TVVBQT1JURUQnLFxuICAgIEFTU0VSVF9QQVNTRUQ6ICdBU1NFUlRfUEFTU0VEJyxcbiAgICBNT0RVTEVfTk9UX0ZPVU5EOiAnTU9EVUxFX05PVF9GT1VORCcsXG4gICAgRklMRV9CUk9XU0VfRVJST1I6ICdGSUxFX0JST1dTRV9FUlJPUicsXG4gICAgQ1NWX0VSUk9SOiAnQ1NWX0VSUk9SJyxcbiAgICBDUllQVE9fRVJST1I6ICdDUllQVE9fRVJST1InLFxuICAgIEROU19FUlJPUjogJ0ROU19FUlJPUicsXG4gICAgQ0lSQ1VMQVJfRVJST1I6ICdDSVJDVUxBUl9FUlJPUicsXG4gICAgWE1MX0VSUk9SOiAnWE1MX0VSUk9SJyxcbiAgICBKQVZBU0NSSVBUX0VSUk9SOiAnSkFWQVNDUklQVF9FUlJPUidcbn07XG5cbi8vIENoYWkgdG8gT3h5Z2VuIGVycm9yIGNvZGVzIG1hcHBpbmdcbmNvbnN0IENIQUlfRVJST1JfQ09ERVMgPSB7XG4gICAgQXNzZXJ0aW9uRXJyb3I6IEVSUk9SX0NPREVTLkFTU0VSVF9FUlJPUlxufTtcblxuLy8gR2VuZXJhbCBKYXZhU2NyaXB0IGVycm9yIGNvZGVzIG1hcHBpbmdcbmNvbnN0IFNDUklQVF9FUlJPUl9DT0RFUyA9IHtcbiAgICBUeXBlRXJyb3I6IEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUixcbiAgICBTeW50YXhFcnJvcjogRVJST1JfQ09ERVMuU0NSSVBUX0VSUk9SLFxuICAgIFJlZmVyZW5jZUVycm9yOiBFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsXG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRGYWlsdXJlRnJvbUVycm9yOiBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgaWYgKCFlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKGVyciBpbnN0YW5jZW9mIE94RXJyb3IpKSB7XG4gICAgICAgICAgICBlcnIgPSB0aGlzLmdldE94eWdlbkVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGVyci50eXBlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICBkYXRhOiBlcnIuZGF0YSxcbiAgICAgICAgICAgIGxvY2F0aW9uOiBlcnIubG9jYXRpb24sXG4gICAgICAgICAgICBzdGFja3RyYWNlOiBlcnIuc3RhY2t0cmFjZSB8fCBudWxsXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBnZXREYkVycm9yTWVzc2FnZTogZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgIGxldCBtZXNzYWdlID0gJyc7XG5cbiAgICAgICAgaWYgKGVyciAmJiBlcnIubWVzc2FnZSkge1xuICAgICAgICAgICAgbWVzc2FnZSArPSBlcnIubWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGVyciAmJlxuICAgICAgICAgICAgZXJyLm9kYmNFcnJvcnMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZXJyLm9kYmNFcnJvcnMpICYmXG4gICAgICAgICAgICBlcnIub2RiY0Vycm9ycy5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyLm9kYmNFcnJvcnMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpdGVtICYmXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ubWVzc2FnZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICc6ICcgK2l0ZW0ubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH0sXG4gICAgZ2V0T3h5Z2VuRXJyb3I6IGZ1bmN0aW9uKGVyciwgbW9kdWxlLCBjbWQsIGFyZ3MpIHtcbiAgICAgICAgLy8gcmV0dXJuIHRoZSBlcnJvciBhcyBpcyBpZiBpdCBoYXMgYmVlbiBhbHJlYWR5IHByb2Nlc3NlZFxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgT3hFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGVycjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBlcnJUeXBlID0gZXJyLnR5cGUgfHwgZXJyLm5hbWUgfHwgdHlwZW9mIGVycjtcbiAgICAgICAgLy8gaGFuZGxlIFwiQ2FuJ3QgY2FsbCA8Y29tbWFuZD4gb24gZWxlbWVudCB3aXRoIHNlbGVjdG9yIDxzZWxlY3Rvcj4gYmVjYXVzZSBlbGVtZW50IHdhc24ndCBmb3VuZFwiXG4gICAgICAgIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnYmVjYXVzZSBlbGVtZW50IHdhc25cXCd0IGZvdW5kJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5FTEVNRU5UX05PVF9GT1VORCwgZXJyLm1lc3NhZ2UsIG51bGwsIHRydWUsIGVycik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaGFuZGxlIFwiaW52YWxpZCBhcmd1bWVudDogVW5zdXBwb3J0ZWQgbG9jYXRvciBzdHJhdGVneTogLWFuZHJvaWQgdWlhdXRvbWF0b3JcIiBmb3IgbW9iaWxlLlxuICAgICAgICAvLyB1c3VhbGx5IGR1ZSB0byBub3QgdXNpbmcgdGhlIGNvcnJlY3QgY29udGV4dFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5zdXBwb3J0ZWQgbG9jYXRvciBzdHJhdGVneScpKSB7XG4gICAgICAgICAgICBsZXQgbWF0Y2hlcyA9IGVyci5tZXNzYWdlLm1hdGNoKC9pbnZhbGlkIGFyZ3VtZW50OiAoLiopL2kpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLk1PQklMRV9DT05URVhUX0VSUk9SLCAobWF0Y2hlcy5sZW5ndGggPT09IDIgPyBtYXRjaGVzWzFdIDogZXJyLm1lc3NhZ2UpICtcbiAgICAgICAgICAgICAgICAnLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyB0aGUgY29ycmVjdCBtb2JpbGUgY29udGV4dC4gU2VlIG1vYi5zZXROYXRpdmVDb250ZXh0IGFuZCBtb2Iuc2V0V2ViVmlld0NvbnRleHQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaGFuZGxlIFwiaW52YWxpZCBzZWxlY3RvcjogVW5hYmxlIHRvIGxvY2F0ZSBhbiBlbGVtZW50IHdpdGggdGhlIHhwYXRoIGV4cHJlc3Npb25cIlxuICAgICAgICAvLyB1c3VhbGx5IGR1ZSB0byBpbnZhbGlkIHhwYXRoXG4gICAgICAgIGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gbG9jYXRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgeHBhdGggZXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgICBsZXQgbWF0Y2hlcyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oVGhlIHN0cmluZyAnLionIGlzIG5vdCBhIHZhbGlkIFhQYXRoIGV4cHJlc3Npb24uKS9pKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyID8gbWF0Y2hlc1sxXSA6IGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW52YWxpZCBjc3MgbG9jYXRvciBvbiBDaHJvbWUvSUUuIGUuZy4gY3NzPSNcXDpwMFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnQW4gaW52YWxpZCBvciBpbGxlZ2FsIHNlbGVjdG9yIHdhcyBzcGVjaWZpZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUiwgJ0FuIGludmFsaWQgb3IgaWxsZWdhbCBzZWxlY3RvciB3YXMgc3BlY2lmaWVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW52YWxpZCBjc3MgbG9jYXRvciBvbiBGaXJlZm94LiBlLmcuIGNzcz0jXFw6cDBcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnR2l2ZW4gY3NzIHNlbGVjdG9yIGV4cHJlc3Npb24nKSkge1xuICAgICAgICAgICAgbGV0IG1hdGNoZXMgPSBlcnIubWVzc2FnZS5tYXRjaCgvKEdpdmVuIGNzcyBzZWxlY3RvciBleHByZXNzaW9uIFwiLipcIiBpcyBpbnZhbGlkKS4qL2kpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUiwgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGggPT09IDIgPyBtYXRjaGVzWzFdIDogZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiAoZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ1VuYWJsZSB0byBhdXRvbWF0ZSBDaHJvbWUgdmVyc2lvbicpIHx8XG4gICAgICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcygnTm8gQ2hyb21lZHJpdmVyIGZvdW5kIHRoYXQgY2FuIGF1dG9tYXRlJykpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGhhbmRsZSB2YXJpb3VzIHR5cGVzIG9mICdPcmlnaW5hbCBlcnJvcidcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoT1JJR0lOQUxfRVJST1JfTUVTU0FHRSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5VTktOT1dOX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSksIHV0aWwuaW5zcGVjdChlcnIpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpbnZhbGlkIFVSTCBpbiBvcGVuIGNvbW1hbmRcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0ludmFsaWQgVVJMJykpIHtcbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gZXJyLm1lc3NhZ2UubWF0Y2goLyggSW52YWxpZCBVUkw6IC4qJCkuKi9pKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyID8gbWF0Y2hlc1sxXSA6IGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdXN1YWxseSBvbiBtb2JpbGUgQ2hyb21lIHdoZW4gZWxlbWVudCBpcyBvdmVybGFwcGVkIGJ5IGFub3RoZXIgZWxlbWVudFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5zdGFydHNXaXRoKCdlbGVtZW50IGNsaWNrIGludGVyY2VwdGVkJykpIHtcbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gZXJyLm1lc3NhZ2UubWF0Y2goL2VsZW1lbnQgY2xpY2sgaW50ZXJjZXB0ZWQ6ICguKikvaSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuRUxFTUVOVF9OT1RfVklTSUJMRSwgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGggPT09IDIgPyBtYXRjaGVzWzFdIDogZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB1c3VhbGx5IGJlY2F1c2UgU2VsZW5pdW0gaGFzIGtpbGxlZCB0aGUgc2Vzc2lvbiBkdWUgdG8gZXhjZWVkaW5nICctdGltZW91dCcgdGltZW91dFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5zdGFydHNXaXRoKCdObyBhY3RpdmUgc2Vzc2lvbiB3aXRoIElEJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TRUxFTklVTV9TRVNTSU9OX0VSUk9SLCAnRXhlY3V0aW9uIHRpbWUgZXhjZWVkZWQgdGhlIHRpbWVvdXQgc2V0IGJ5IFNlbGVuaXVtJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2hlbiBkcml2ZXIgKElFRHJpdmVyU2VydmVyLCBDaHJvbWVEcml2ZXIsIGV0YykgY3Jhc2hlc1xuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSA9PT0gJ2phdmEubmV0LkNvbm5lY3RFeGNlcHRpb246IENvbm5lY3Rpb24gcmVmdXNlZDogY29ubmVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5XRUJEUklWRVJfRVJST1IsICdUaGUgdW5kZXJseWluZyBXZWJEcml2ZXIgc2VlbXMgdG8gaGF2ZSBjcmFzaGVkOiAnICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0YWxlIGVsZW1lbnQgcmVmZXJlbmNlXG4gICAgICAgIGVsc2UgaWYgKGVyci5uYW1lICYmIGVyci5uYW1lLmluY2x1ZGVzKCdzdGFsZSBlbGVtZW50IHJlZmVyZW5jZScpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuU1RBTEVfRUxFTUVOVF9SRUZFUkVOQ0UsIGVyci5uYW1lICsgJyAnICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVyci5jb2RlICYmIGVyci5jb2RlID09PSAnTU9EVUxFX05PVF9GT1VORCcpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5NT0RVTEVfTk9UX0ZPVU5ELCBlcnIubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gIHdoZW4gZG9pbmcgYW4gb3BlcmF0aW9uIG9uIGFuIGVsZW1lbnQgKGUuZy4gY2xpY2spIGJ1dCB0aGUgd2luZG93IHdhcyBhbHJlYWR5IGNsb3NlZFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnbm8gc3VjaCB3aW5kb3cnKSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygndGFyZ2V0IHdpbmRvdyBhbHJlYWR5IGNsb3NlZCcpICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCd3ZWIgdmlldyBub3QgZm91bmQnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLldJTkRPV19OT1RfRk9VTkQsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBleGFtcGxlOiBUaGUgZWxlbWVudCB3aXRoIHNlbGVjdG9yICoqKiB5b3UgdHJ5aW5nIHRvIHBhc3MgaW50byB0aGUgZXhlY3V0ZSBtZXRob2Qgd2Fzbid0IGZvdW5kXG4gICAgICAgIC8vIHdoZW4gZWxlbWVudCB3YXMgZGVsZXRlZCBmcm9tIERPTVxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygneW91IHRyeWluZyB0byBwYXNzIGludG8gdGhlIGV4ZWN1dGUgbWV0aG9kIHdhc25cXCd0IGZvdW5kJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5FTEVNRU5UX05PVF9GT1VORCwgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdoZW4gZG9pbmcgYW4gb3BlcmF0aW9uIG9uIGFuIGVsZW1lbnQgcmVmZXJlbmNlIChlLmcuIGNsaWNrKSBidXQgdGhlIHBhZ2Ugd2FzIGFscmVhZHkgY2hhbmdlZFxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnZWxlbWVudCBub3QgaW50ZXJhY3RhYmxlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5FTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnc3RpbGwgbm90IGNsaWNrYWJsZSBhZnRlcicpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFLCBlcnIubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW52YWxpZCBzZWxlY3RvcjogamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogVW5hYmxlIHRvIGNvbXBpbGUgc2VsZWN0b3IgLi4uXG4gICAgICAgIGVsc2UgaWYgKGVyci5uYW1lID09PSAnaW52YWxpZCBzZWxlY3RvcicpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXF1ZXN0RXJyb3I6IFRpbWVvdXQgYXdhaXRpbmcgJ3JlcXVlc3QnIGZvciAzMTAwMDBtcywgbmFtZTogJ1RpbWVvdXRFcnJvcidcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ1RpbWVvdXQgYXdhaXRpbmcgXFwncmVxdWVzdFxcJyBmb3InKSkge1xuICAgICAgICAgICAgY29uc3QgZXJyTWVzc2FnZSA9IGVyci5tZXNzYWdlLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgJ1RpbWVvdXQgYXdhaXRpbmcgXFwncmVxdWVzdFxcJyBmb3InLFxuICAgICAgICAgICAgICAgICdDb3VsZG5cXCd0IGdldCBhIHJlc3BvbnNlIGZyb20gU2VsZW5pdW0vV2ViRHJpdmVyIHdpdGhpbidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IobW9kdWxlID09PSAnd2ViJyA/IEVSUk9SX0NPREVTLlNFTEVOSVVNX1NFU1NJT05fVElNRU9VVCA6IEVSUk9SX0NPREVTLkFQUElVTV9TRVNTSU9OX1RJTUVPVVQsIGVyck1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVyciAmJiBlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnc29ja2V0IGhhbmcgdXAnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKG1vZHVsZSA9PT0gJ3dlYicgPyBFUlJPUl9DT0RFUy5TRUxFTklVTV9TRVNTSU9OX1RJTUVPVVQgOiBFUlJPUl9DT0RFUy5BUFBJVU1fU0VTU0lPTl9USU1FT1VULCBlcnIubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2phdmFzY3JpcHQgZXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkpBVkFTQ1JJUFRfRVJST1IsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBhcHBpdW1cbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0FuIGVsZW1lbnQgY291bGQgbm90IGJlIGxvY2F0ZWQgb24gdGhlIHBhZ2UgdXNpbmcgdGhlIGdpdmVuIHNlYXJjaCBwYXJhbWV0ZXJzJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5FTEVNRU5UX05PVF9GT1VORCwgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdHJ5IHRvIHJlc29sdmUgQ2hhaSBlcnJvciBjb2RlXG4gICAgICAgIHZhciBveEVycm9yQ29kZSA9IENIQUlfRVJST1JfQ09ERVNbZXJyVHlwZV07XG4gICAgICAgIGlmIChveEVycm9yQ29kZSkge1xuICAgICAgICAgICAgLy8gdGhyb3cgbm9uLWZhdGFsIGVycm9yIGlmIGl0J3MgYSBcInZlcmlmeVwiIG1vZHVsZSBvciBtZXRob2QgXG4gICAgICAgICAgICBpZiAob3hFcnJvckNvZGUgPT09IEVSUk9SX0NPREVTLkFTU0VSVCAmJlxuXHRcdFx0XHQobW9kdWxlID09PSAndmVyaWZ5JyB8fCBjbWQuaW5kZXhPZigndmVyaWZ5JykgPT09IDApKSB7IC8vIHZlcmlmeS4qLCAqLnZlcmlmeSpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuVkVSSUZZLCBlcnIubWVzc2FnZSwgbnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKG94RXJyb3JDb2RlLCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRyeSB0byByZXNvbHZlIEphdmFTY3JpcHQgZXJyb3IgY29kZVxuICAgICAgICBveEVycm9yQ29kZSA9IFNDUklQVF9FUlJPUl9DT0RFU1tlcnJUeXBlXTtcbiAgICAgICAgaWYgKG94RXJyb3JDb2RlKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBub24tZmF0YWwgZXJyb3IgaWYgaXQncyBhIFwidmVyaWZ5XCIgbW9kdWxlIG9yIG1ldGhvZCBcbiAgICAgICAgICAgIGlmIChveEVycm9yQ29kZSA9PT0gRVJST1JfQ09ERVMuQVNTRVJUICYmXG5cdFx0XHRcdChtb2R1bGUgPT09ICd2ZXJpZnknIHx8IGNtZC5pbmRleE9mKCd2ZXJpZnknKSA9PT0gMCkpIHsgLy8gdmVyaWZ5LiosICoudmVyaWZ5KlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5WRVJJRlksIGVyci5tZXNzYWdlLCBudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3Iob3hFcnJvckNvZGUsIGVyci5tZXNzYWdlIHx8IG51bGwsIG51bGwsIHRydWUsIGVycik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZygnPT09IEVycm9yIERldGFpbHMgPT09Jyk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdUeXBlOiAnICsgZXJyLnR5cGUgKyAnIE5hbWU6ICcgKyBlcnIubmFtZSArICcgQ29kZTogJyArIGVyci5jb2RlICsgJyBNc2c6ICcgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKHV0aWwuaW5zcGVjdChlcnIpKTtcblxuICAgICAgICBjb25zdCBlcnJNZXNzYWdlID0gZXJyLm1lc3NhZ2UgPyBgJHtlcnJUeXBlfTogJHtlcnIubWVzc2FnZX1gIDogYCR7ZXJyVHlwZX1gO1xuICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuVU5LTk9XTl9FUlJPUiwgZXJyTWVzc2FnZSwgdXRpbC5pbnNwZWN0KGVyciksIHRydWUsIGVycik7XG4gICAgfSxcbiAgICBnZXRTZWxlbml1bUluaXRFcnJvcjogZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgIGlmIChlcnIubWVzc2FnZSkge1xuICAgICAgICAgICAgdmFyIGllWm9vbUVycm9yTXNnID0gZXJyLm1lc3NhZ2UubWF0Y2goLyhVbmV4cGVjdGVkIGVycm9yIGxhdW5jaGluZyBJbnRlcm5ldCBFeHBsb3JlclxcLiBCcm93c2VyIHpvb20gbGV2ZWwgd2FzIHNldCB0byBcXGQrJVxcLiBJdCBzaG91bGQgYmUgc2V0IHRvIFxcZCslKS9nbSk7XG4gICAgICAgICAgICBpZiAoaWVab29tRXJyb3JNc2cpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQlJPV1NFUl9DT05GSUdVUkFUSU9OX0VSUk9SLCBpZVpvb21FcnJvck1zZy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gY3JlYXRlIG5ldyBzZXJ2aWNlOiBDaHJvbWVEcml2ZXJTZXJ2aWNlJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gY3JlYXRlIG5ldyBzZXJ2aWNlOicpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNFTEVOSVVNX1VOUkVBQ0hBQkxFX0VSUk9SLCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGNocm9tZURyaXZlck1zZyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oVGhpcyB2ZXJzaW9uIG9mIENocm9tZURyaXZlciBvbmx5IHN1cHBvcnRzIENocm9tZSB2ZXJzaW9uIFswLTldKikvZ20pO1xuICAgICAgICAgICAgaWYgKGNocm9tZURyaXZlck1zZykge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5DSFJPTUVEUklWRVJfRVJST1IsIGNocm9tZURyaXZlck1zZy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnY2Fubm90IGZpbmQgQ2hyb21lIGJpbmFyeScpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCAnQ2Fubm90IGZpbmQgQ2hyb21lIGJpbmFyeScpO1xuICAgICAgICB9IGVsc2UgaWYgKGVyci5jb2RlID09PSAnRUNPTk5SRUZVU0VEJyB8fCBlcnIuY29kZSA9PT0gJ0VDT05OUkVTRVQnIHx8IGVyci5jb2RlID09PSAnRU5PVEZPVU5EJyB8fCBlcnIubWVzc2FnZSA9PT0gJ0ZhaWxlZCB0byBjcmVhdGUgc2Vzc2lvbi5cXG5zb2NrZXQgaGFuZyB1cCcpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TRUxFTklVTV9VTlJFQUNIQUJMRV9FUlJPUiwgXCJDb3VsZG4ndCBjb25uZWN0IHRvIFNlbGVuaXVtIHNlcnZlclwiKTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSA9PT0gJ0FsbCBtaW51dGVzIGZvciB0aGlzIG9yZ2FuaXphdGlvbiBoYXMgYmVlbiBleGF1c3RlZCcgfHxcbiAgICAgICAgICAgIGVyci5tZXNzYWdlID09PSAnNDAxIFVuYXV0aG9yaXplZCcgfHxcbiAgICAgICAgICAgIGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0ZhaWxlZCB0byBjcmVhdGUgc2Vzc2lvbi4nKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNFTEVOSVVNX0NPTk5FQ1RJT05fRVJST1IsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VydmljZTonKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNFTEVOSVVNX0NPTk5FQ1RJT05fRVJST1IsIGVyci5tZXNzYWdlICsgJ1xcblxcblRoaXMgaXMgcHJvYmFibHkgZHVlIHRvIG1pc3NpbmcgQ2hyb21lRHJpdmVyL0lFRHJpdmVyU2VydmVyL0dlY2tvRHJpdmVyIGJpbmFyeS5cXG4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCc9PT0gRXJyb3IgRGV0YWlscyA9PT0nKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1R5cGU6ICcgKyBlcnIudHlwZSArICcgTmFtZTogJyArIGVyci5uYW1lICsgJyBDb2RlOiAnICsgZXJyLmNvZGUgKyAnIE1zZzogJyArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgY29uc29sZS5sb2codXRpbC5pbnNwZWN0KGVycikpO1xuXG4gICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5VTktOT1dOX0VSUk9SLCBlcnIudHlwZSArICc6ICcgKyBlcnIubWVzc2FnZSwgdXRpbC5pbnNwZWN0KGVycikpO1xuICAgIH0sXG4gICAgZ2V0QXBwaXVtSW5pdEVycm9yOiBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdjYW5ub3QgZmluZCBDaHJvbWUgYmluYXJ5JykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5DSFJPTUVEUklWRVJfRVJST1IsICdDYW5ub3QgZmluZCBDaHJvbWUgYmluYXJ5Jyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLmNvZGUgPT09ICdFQ09OTlJFRlVTRUQnIHx8IGVyci5jb2RlID09PSAnRUNPTk5SRVNFVCcgfHwgZXJyLmNvZGUgPT09ICdFTk9URk9VTkQnIHx8IGVyci5tZXNzYWdlID09PSAnRmFpbGVkIHRvIGNyZWF0ZSBzZXNzaW9uLlxcbnNvY2tldCBoYW5nIHVwJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkFQUElVTV9VTlJFQUNIQUJMRV9FUlJPUiwgXCJDb3VsZG4ndCBjb25uZWN0IHRvIEFwcGl1bSBzZXJ2ZXJcIik7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0NvdWxkIG5vdCBmaW5kIGEgY29ubmVjdGVkIEFuZHJvaWQgZGV2aWNlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5ERVZJQ0VfTk9UX0ZPVU5ELCAnQ291bGQgbm90IGZpbmQgYSBjb25uZWN0ZWQgQW5kcm9pZCBkZXZpY2UnKTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5hYmxlIHRvIGF1dG9tYXRlIENocm9tZSB2ZXJzaW9uJykpIHsgICAgICAgICAgLy8gYXBwaXVtIDw9IDEuMTRcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5DSFJPTUVEUklWRVJfRVJST1IsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ05vIENocm9tZWRyaXZlciBmb3VuZCB0aGF0IGNhbiBhdXRvbWF0ZScpKSB7ICAgIC8vIGFwcGl1bSA+PSAxLjE1XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gZmluZCBhbiBhY3RpdmUgZGV2aWNlIG9yIGVtdWxhdG9yIHdpdGgnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkRFVklDRV9OT1RfRk9VTkQsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2lzIG5vdCBpbnN0YWxsZWQgb24gZGV2aWNlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5BUFBMSUNBVElPTl9OT1RfRk9VTkRfRVJST1IsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgPT09ICdBbGwgbWludXRlcyBmb3IgdGhpcyBvcmdhbml6YXRpb24gaGFzIGJlZW4gZXhhdXN0ZWQnIHx8XG4gICAgICAgICAgICBlcnIubWVzc2FnZSA9PT0gJzQwMSBVbmF1dGhvcml6ZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQVBQSVVNX0NPTk5FQ1RJT05fRVJST1IsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiAoXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0EgbmV3IHNlc3Npb24gY291bGQgbm90IGJlIGNyZWF0ZWQuJykgfHxcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcygnRmFpbGVkIHRvIGNyZWF0ZSBzZXNzaW9uLicpKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkFQUElVTV9TRVNTSU9OX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSksIG51bGwsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coJz09PSBFcnJvciBEZXRhaWxzID09PScpO1xuICAgICAgICBjb25zb2xlLmxvZygnVHlwZTogJyArIGVyci50eXBlICsgJyBOYW1lOiAnICsgZXJyLm5hbWUgKyAnIENvZGU6ICcgKyBlcnIuY29kZSArICcgTXNnOiAnICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICBjb25zb2xlLmxvZyh1dGlsLmluc3BlY3QoZXJyKSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlVOS05PV05fRVJST1IsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSwgdXRpbC5pbnNwZWN0KGVycikpO1xuICAgIH0sXG4gICAgZ2V0QXNzZXJ0RXJyb3I6IGZ1bmN0aW9uKGV4cGVjdGVkLCBhY3R1YWwsIGlzRmF0YWwgPSB0cnVlKSB7XG4gICAgICAgIGFjdHVhbCA9IGFjdHVhbC50b1N0cmluZygpLnJlcGxhY2UoL1xcbi9nLCAnXFxcXG4nKTtcbiAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkFTU0VSVF9FUlJPUiwgYEV4cGVjdGVkOiBcIiR7ZXhwZWN0ZWR9XCIuIEdvdDogXCIke2FjdHVhbH1cImAsIHVuZGVmaW5lZCwgaXNGYXRhbCk7XG4gICAgfSxcbiAgICBnZXRWZXJpZnlFcnJvcjogZnVuY3Rpb24oZXhwZWN0ZWQsIGFjdHVhbCkge1xuICAgICAgICBhY3R1YWwgPSBhY3R1YWwudG9TdHJpbmcoKS5yZXBsYWNlKC9cXG4vZywgJ1xcXFxuJyk7XG4gICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5WRVJJRllfRVJST1IsIGBFeHBlY3RlZDogXCIke2V4cGVjdGVkfVwiLiBHb3Q6IFwiJHthY3R1YWx9XCJgLCB1bmRlZmluZWQsIGZhbHNlIC8qIG5vdCBmYXRhbCAqLyk7XG4gICAgfSxcbiAgICBlcnJvckNvZGU6IEVSUk9SX0NPREVTXG59O1xuXG5jb25zdCBPUklHSU5BTF9FUlJPUl9NRVNTQUdFID0gJ09yaWdpbmFsIGVycm9yOiAnO1xuY29uc3QgVU5LTk9XTl9FUlJPUl9NRVNTQUdFID0gJ3Vua25vd24gZXJyb3I6ICc7XG5cbmZ1bmN0aW9uIGV4dHJhY3RPcmlnaW5hbEVycm9yKG1zZykge1xuICAgIGlmICghbXNnKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICB2YXIgZXJyb3JJbmRleDEgPSBtc2cuaW5kZXhPZihPUklHSU5BTF9FUlJPUl9NRVNTQUdFKTtcbiAgICBpZiAoZXJyb3JJbmRleDEgPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBtc2c7XG4gICAgfVxuXG4gICAgLy8gdGhlcmUgY291bGQgYW5vdGhlIG5lc3RlZCBcIm9yaWdpbmFsIGVycm9yXCJcbiAgICB2YXIgZXJyb3JJbmRleDIgPSBtc2cuaW5kZXhPZihPUklHSU5BTF9FUlJPUl9NRVNTQUdFLCBlcnJvckluZGV4MSArIE9SSUdJTkFMX0VSUk9SX01FU1NBR0UubGVuZ3RoKTtcblxuICAgIG1zZyA9IG1zZy5zdWJzdHJpbmcoKGVycm9ySW5kZXgyID4gLTEgPyBlcnJvckluZGV4MiA6IGVycm9ySW5kZXgxKSAgKyBPUklHSU5BTF9FUlJPUl9NRVNTQUdFLmxlbmd0aCk7XG5cbiAgICAvLyBzdHJpcCAndW5rbm93biBlcnJvcjonXG4gICAgdmFyIHVua25vd25FcnJvckluZGV4ID0gbXNnLmluZGV4T2YoVU5LTk9XTl9FUlJPUl9NRVNTQUdFKTtcbiAgICBpZiAodW5rbm93bkVycm9ySW5kZXggPiAtMSkge1xuICAgICAgICByZXR1cm4gbXNnLnN1YnN0cmluZyh1bmtub3duRXJyb3JJbmRleCArIFVOS05PV05fRVJST1JfTUVTU0FHRS5sZW5ndGgpO1xuICAgIH1cblxuICAgIHJldHVybiBtc2c7XG59XG4iXX0=
|
|
300
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvaGVscGVyLmpzIl0sIm5hbWVzIjpbInV0aWwiLCJyZXF1aXJlIiwiRVJST1JfQ09ERVMiLCJTQ1JJUFRfRVJST1IiLCJVTktOT1dOX0VSUk9SIiwiQVNTRVJUX0VSUk9SIiwiUERGX0VSUk9SIiwiVkVSSUZZX0VSUk9SIiwiRUxFTUVOVF9OT1RfRk9VTkQiLCJGUkFNRV9OT1RfRk9VTkQiLCJVTktOT1dOX0NPTU1BTkRfRVJST1IiLCJTVEFMRV9FTEVNRU5UX1JFRkVSRU5DRSIsIkVMRU1FTlRfTk9UX1ZJU0lCTEUiLCJFTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUiLCJMT0NBVE9SX01BVENIRVNfTVVMVElQTEVfRUxFTUVOVFMiLCJFTEVNRU5UX1NUSUxMX0VYSVNUUyIsIkJST1dTRVJfSlNfRVhFQ1VURV9FUlJPUiIsIlRJTUVPVVQiLCJXSU5ET1dfTk9UX0ZPVU5EIiwiVU5FWFBFQ1RFRF9BTEVSVF9PUEVOIiwiTk9fQUxFUlRfT1BFTl9FUlJPUiIsIk1BSUxJTkFUT1JfRVJST1IiLCJBUFBJVU1fVU5SRUFDSEFCTEVfRVJST1IiLCJTRUxFTklVTV9VTlJFQUNIQUJMRV9FUlJPUiIsIkNIUk9NRURSSVZFUl9FUlJPUiIsIldFQkRSSVZFUl9FUlJPUiIsIkRCX0NPTk5FQ1RJT05fRVJST1IiLCJEQl9RVUVSWV9FUlJPUiIsIlNPQVBfRVJST1IiLCJTSEVMTF9FUlJPUiIsIk1PTkdPREJfRVJST1IiLCJOT1RfSU1QTEVNRU5URURfRVJST1IiLCJTRVJJQUxfUE9SVF9FUlJPUiIsIkhUVFBfRVJST1IiLCJFTUFJTF9FUlJPUiIsIk1PRFVMRV9OT1RfSU5JVElBTElaRURfRVJST1IiLCJERVZJQ0VfTk9UX0ZPVU5EIiwiUEFSQU1FVEVSU19FUlJPUiIsIklOVkFMSURfQ0FQQUJJTElUSUVTIiwiQlJPV1NFUl9DT05GSUdVUkFUSU9OX0VSUk9SIiwiQVBQSVVNX0NPTk5FQ1RJT05fRVJST1IiLCJBUFBJVU1fU0VTU0lPTl9FUlJPUiIsIkFQUElVTV9TRVNTSU9OX1RJTUVPVVQiLCJTRUxFTklVTV9TRVNTSU9OX0VSUk9SIiwiU0VMRU5JVU1fU0VTU0lPTl9USU1FT1VUIiwiU0VMRU5JVU1fQ09OTkVDVElPTl9FUlJPUiIsIlVSTF9PUEVOX0VSUk9SIiwiT1BUSU9OX05PVF9GT1VORCIsIkFUVFJJQlVURV9OT1RfRk9VTkQiLCJFTEVNRU5UX1NUQVRFX0VSUk9SIiwiTU9CSUxFX0NPTlRFWFRfRVJST1IiLCJBUFBMSUNBVElPTl9OT1RfRk9VTkRfRVJST1IiLCJUV0lMSU9fRVJST1IiLCJIT09LX0VSUk9SIiwiTk9UX1NVUFBPUlRFRCIsIkFTU0VSVF9QQVNTRUQiLCJNT0RVTEVfTk9UX0ZPVU5EIiwiRklMRV9CUk9XU0VfRVJST1IiLCJDU1ZfRVJST1IiLCJDUllQVE9fRVJST1IiLCJETlNfRVJST1IiLCJDSVJDVUxBUl9FUlJPUiIsIlhNTF9FUlJPUiIsIkpBVkFTQ1JJUFRfRVJST1IiLCJDSEFJX0VSUk9SX0NPREVTIiwiQXNzZXJ0aW9uRXJyb3IiLCJTQ1JJUFRfRVJST1JfQ09ERVMiLCJUeXBlRXJyb3IiLCJTeW50YXhFcnJvciIsIlJlZmVyZW5jZUVycm9yIiwibW9kdWxlIiwiZXhwb3J0cyIsImdldEZhaWx1cmVGcm9tRXJyb3IiLCJlcnIiLCJPeEVycm9yIiwiZ2V0T3h5Z2VuRXJyb3IiLCJ0eXBlIiwibWVzc2FnZSIsImRhdGEiLCJsb2NhdGlvbiIsInN0YWNrdHJhY2UiLCJnZXREYkVycm9yTWVzc2FnZSIsIm9kYmNFcnJvcnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJtYXAiLCJpdGVtIiwiY21kIiwiYXJncyIsImVyclR5cGUiLCJuYW1lIiwiaW5jbHVkZXMiLCJtYXRjaGVzIiwibWF0Y2giLCJzdGFydHNXaXRoIiwiZXh0cmFjdE9yaWdpbmFsRXJyb3IiLCJPUklHSU5BTF9FUlJPUl9NRVNTQUdFIiwiaW5zcGVjdCIsImNvZGUiLCJlcnJNZXNzYWdlIiwicmVwbGFjZSIsIm94RXJyb3JDb2RlIiwiQVNTRVJUIiwiaW5kZXhPZiIsIlZFUklGWSIsImNvbnNvbGUiLCJsb2ciLCJnZXRTZWxlbml1bUluaXRFcnJvciIsImllWm9vbUVycm9yTXNnIiwidG9TdHJpbmciLCJjaHJvbWVEcml2ZXJNc2ciLCJnZXRBcHBpdW1Jbml0RXJyb3IiLCJnZXRBc3NlcnRFcnJvciIsImV4cGVjdGVkIiwiYWN0dWFsIiwiaXNGYXRhbCIsInVuZGVmaW5lZCIsImdldFZlcmlmeUVycm9yIiwiZXJyb3JDb2RlIiwiVU5LTk9XTl9FUlJPUl9NRVNTQUdFIiwibXNnIiwiZXJyb3JJbmRleDEiLCJlcnJvckluZGV4MiIsInN1YnN0cmluZyIsInVua25vd25FcnJvckluZGV4Il0sIm1hcHBpbmdzIjoiOzs7O0FBYUE7Ozs7QUFDQSxNQUFNQSxJQUFJLEdBQUdDLE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUVBLE1BQU1DLFdBQVcsR0FBRztBQUNoQkMsRUFBQUEsWUFBWSxFQUFFLGNBREU7QUFFaEJDLEVBQUFBLGFBQWEsRUFBRSxlQUZDO0FBR2hCQyxFQUFBQSxZQUFZLEVBQUUsY0FIRTtBQUloQkMsRUFBQUEsU0FBUyxFQUFFLFdBSks7QUFLaEJDLEVBQUFBLFlBQVksRUFBRSxjQUxFO0FBTWhCQyxFQUFBQSxpQkFBaUIsRUFBRSxtQkFOSDtBQU9oQkMsRUFBQUEsZUFBZSxFQUFFLGlCQVBEO0FBUWhCQyxFQUFBQSxxQkFBcUIsRUFBRSx1QkFSUDtBQVNoQkMsRUFBQUEsdUJBQXVCLEVBQUUseUJBVFQ7QUFVaEJDLEVBQUFBLG1CQUFtQixFQUFFLHFCQVZMO0FBV2hCQyxFQUFBQSx3QkFBd0IsRUFBRSwwQkFYVjtBQVloQkMsRUFBQUEsaUNBQWlDLEVBQUUsbUNBWm5CO0FBYWhCQyxFQUFBQSxvQkFBb0IsRUFBRSxzQkFiTjtBQWNoQkMsRUFBQUEsd0JBQXdCLEVBQUUsMEJBZFY7QUFlaEJDLEVBQUFBLE9BQU8sRUFBRSxTQWZPO0FBZ0JoQkMsRUFBQUEsZ0JBQWdCLEVBQUUsa0JBaEJGO0FBaUJoQkMsRUFBQUEscUJBQXFCLEVB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QW9DLEVBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRyxTQUFKLENBQWMsQ0FBQ0QsV0FBVyxHQUFHLENBQUMsQ0FBZixHQUFtQkEsV0FBbkIsR0FBaUNELFdBQWxDLElBQWtEekIsc0JBQXNCLENBQUNaLE1BQXZGLENBQU47QUFHQSxNQUFJd0MsaUJBQWlCLEdBQUdKLEdBQUcsQ0FBQ2pCLE9BQUosQ0FBWWdCLHFCQUFaLENBQXhCOztBQUNBLE1BQUlLLGlCQUFpQixHQUFHLENBQUMsQ0FBekIsRUFBNEI7QUFDeEIsV0FBT0osR0FBRyxDQUFDRyxTQUFKLENBQWNDLGlCQUFpQixHQUFHTCxxQkFBcUIsQ0FBQ25DLE1BQXhELENBQVA7QUFDSDs7QUFFRCxTQUFPb0MsR0FBUDtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogSGVscGVyIG1vZHVsZSBmb3IgaGFuZGxpbmcgYW5kIGNvbnZlcnRpbmcgdmFyaW91cyBlcnJvciB0eXBlc1xyXG4gKi9cclxuXHJcbmltcG9ydCBPeEVycm9yIGZyb20gJy4vT3h5Z2VuRXJyb3InO1xyXG5jb25zdCB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xyXG5cclxuY29uc3QgRVJST1JfQ09ERVMgPSB7XHJcbiAgICBTQ1JJUFRfRVJST1I6ICdTQ1JJUFRfRVJST1InLFxyXG4gICAgVU5LTk9XTl9FUlJPUjogJ1VOS05PV05fRVJST1InLFxyXG4gICAgQVNTRVJUX0VSUk9SOiAnQVNTRVJUX0VSUk9SJyxcclxuICAgIFBERl9FUlJPUjogJ1BERl9FUlJPUicsXHJcbiAgICBWRVJJRllfRVJST1I6ICdWRVJJRllfRVJST1InLFxyXG4gICAgRUxFTUVOVF9OT1RfRk9VTkQ6ICdFTEVNRU5UX05PVF9GT1VORCcsXHJcbiAgICBGUkFNRV9OT1RfRk9VTkQ6ICdGUkFNRV9OT1RfRk9VTkQnLFxyXG4gICAgVU5LTk9XTl9DT01NQU5EX0VSUk9SOiAnVU5LTk9XTl9DT01NQU5EX0VSUk9SJyxcclxuICAgIFNUQUxFX0VMRU1FTlRfUkVGRVJFTkNFOiAnU1RBTEVfRUxFTUVOVF9SRUZFUkVOQ0UnLFxyXG4gICAgRUxFTUVOVF9OT1RfVklTSUJMRTogJ0VMRU1FTlRfTk9UX1ZJU0lCTEUnLFxyXG4gICAgRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFOiAnRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFJyxcclxuICAgIExPQ0FUT1JfTUFUQ0hFU19NVUxUSVBMRV9FTEVNRU5UUzogJ0xPQ0FUT1JfTUFUQ0hFU19NVUxUSVBMRV9FTEVNRU5UUycsXHJcbiAgICBFTEVNRU5UX1NUSUxMX0VYSVNUUzogJ0VMRU1FTlRfU1RJTExfRVhJU1RTJyxcclxuICAgIEJST1dTRVJfSlNfRVhFQ1VURV9FUlJPUjogJ0JST1dTRVJfSlNfRVhFQ1VURV9FUlJPUicsXHJcbiAgICBUSU1FT1VUOiAnVElNRU9VVCcsXHJcbiAgICBXSU5ET1dfTk9UX0ZPVU5EOiAnV0lORE9XX05PVF9GT1VORCcsXHJcbiAgICBVTkVYUEVDVEVEX0FMRVJUX09QRU46ICdVTkVYUEVDVEVEX0FMRVJUX09QRU4nLFxyXG4gICAgTk9fQUxFUlRfT1BFTl9FUlJPUjogJ05PX0FMRVJUX09QRU5fRVJST1InLFxyXG4gICAgTUFJTElOQVRPUl9FUlJPUjogJ01BSUxJTkFUT1JfRVJST1InLFxyXG4gICAgQVBQSVVNX1VOUkVBQ0hBQkxFX0VSUk9SOiAnQVBQSVVNX1VOUkVBQ0hBQkxFX0VSUk9SJyxcclxuICAgIFNFTEVOSVVNX1VOUkVBQ0hBQkxFX0VSUk9SOiAnU0VMRU5JVU1fVU5SRUFDSEFCTEVfRVJST1InLFxyXG4gICAgQ0hST01FRFJJVkVSX0VSUk9SOiAnQ0hST01FRFJJVkVSX0VSUk9SJyxcclxuICAgIFdFQkRSSVZFUl9FUlJPUjogJ1dFQkRSSVZFUl9FUlJPUicsXHJcbiAgICBEQl9DT05ORUNUSU9OX0VSUk9SOiAnREJfQ09OTkVDVElPTl9FUlJPUicsXHJcbiAgICBEQl9RVUVSWV9FUlJPUjogJ0RCX1FVRVJZX0VSUk9SJyxcclxuICAgIFNPQVBfRVJST1I6ICdTT0FQX0VSUk9SJyxcclxuICAgIFNIRUxMX0VSUk9SOiAnU0hFTExfRVJST1InLFxyXG4gICAgTU9OR09EQl9FUlJPUjogJ01PTkdPREJfRVJST1InLFxyXG4gICAgTk9UX0lNUExFTUVOVEVEX0VSUk9SOiAnTk9UX0lNUExFTUVOVEVEX0VSUk9SJyxcclxuICAgIFNFUklBTF9QT1JUX0VSUk9SOiAnU0VSSUFMX1BPUlRfRVJST1InLFxyXG4gICAgSFRUUF9FUlJPUjogJ0hUVFBfRVJST1InLFxyXG4gICAgRU1BSUxfRVJST1I6ICdFTUFJTF9FUlJPUicsXHJcbiAgICBNT0RVTEVfTk9UX0lOSVRJQUxJWkVEX0VSUk9SOiAnTU9EVUxFX05PVF9JTklUSUFMSVpFRF9FUlJPUicsXHJcbiAgICBERVZJQ0VfTk9UX0ZPVU5EOiAnREVWSUNFX05PVF9GT1VORCcsXHJcbiAgICBQQVJBTUVURVJTX0VSUk9SOiAnUEFSQU1FVEVSU19FUlJPUicsXHJcbiAgICBJTlZBTElEX0NBUEFCSUxJVElFUzogJ0lOVkFMSURfQ0FQQUJJTElUSUVTJyxcclxuICAgIEJST1dTRVJfQ09ORklHVVJBVElPTl9FUlJPUjogJ0JST1dTRVJfQ09ORklHVVJBVElPTl9FUlJPUicsXHJcbiAgICBBUFBJVU1fQ09OTkVDVElPTl9FUlJPUjogJ0FQUElVTV9DT05ORUNUSU9OX0VSUk9SJyxcclxuICAgIEFQUElVTV9TRVNTSU9OX0VSUk9SOiAnQVBQSVVNX1NFU1NJT05fRVJST1InLFxyXG4gICAgQVBQSVVNX1NFU1NJT05fVElNRU9VVDogJ0FQUElVTV9TRVNTSU9OX1RJTUVPVVQnLFxyXG4gICAgU0VMRU5JVU1fU0VTU0lPTl9FUlJPUjogJ1NFTEVOSVVNX1NFU1NJT05fRVJST1InLFxyXG4gICAgU0VMRU5JVU1fU0VTU0lPTl9USU1FT1VUOiAnU0VMRU5JVU1fU0VTU0lPTl9USU1FT1VUJyxcclxuICAgIFNFTEVOSVVNX0NPTk5FQ1RJT05fRVJST1I6ICdTRUxFTklVTV9DT05ORUNUSU9OX0VSUk9SJyxcclxuICAgIFVSTF9PUEVOX0VSUk9SOiAnVVJMX09QRU5fRVJST1InLFxyXG4gICAgT1BUSU9OX05PVF9GT1VORDogJ09QVElPTl9OT1RfRk9VTkQnLFxyXG4gICAgQVRUUklCVVRFX05PVF9GT1VORDogJ0FUVFJJQlVURV9OT1RfRk9VTkQnLFxyXG4gICAgRUxFTUVOVF9TVEFURV9FUlJPUjogJ0VMRU1FTlRfU1RBVEVfRVJST1InLFxyXG4gICAgTU9CSUxFX0NPTlRFWFRfRVJST1I6ICdNT0JJTEVfQ09OVEVYVF9FUlJPUicsXHJcbiAgICBBUFBMSUNBVElPTl9OT1RfRk9VTkRfRVJST1I6ICdBUFBMSUNBVElPTl9OT1RfRk9VTkRfRVJST1InLFxyXG4gICAgVFdJTElPX0VSUk9SOiAnVFdJTElPX0VSUk9SJyxcclxuICAgIEhPT0tfRVJST1I6ICdIT09LX0VSUk9SJyxcclxuICAgIE5PVF9TVVBQT1JURUQ6ICdOT1RfU1VQUE9SVEVEJyxcclxuICAgIEFTU0VSVF9QQVNTRUQ6ICdBU1NFUlRfUEFTU0VEJyxcclxuICAgIE1PRFVMRV9OT1RfRk9VTkQ6ICdNT0RVTEVfTk9UX0ZPVU5EJyxcclxuICAgIEZJTEVfQlJPV1NFX0VSUk9SOiAnRklMRV9CUk9XU0VfRVJST1InLFxyXG4gICAgQ1NWX0VSUk9SOiAnQ1NWX0VSUk9SJyxcclxuICAgIENSWVBUT19FUlJPUjogJ0NSWVBUT19FUlJPUicsXHJcbiAgICBETlNfRVJST1I6ICdETlNfRVJST1InLFxyXG4gICAgQ0lSQ1VMQVJfRVJST1I6ICdDSVJDVUxBUl9FUlJPUicsXHJcbiAgICBYTUxfRVJST1I6ICdYTUxfRVJST1InLFxyXG4gICAgSkFWQVNDUklQVF9FUlJPUjogJ0pBVkFTQ1JJUFRfRVJST1InXHJcbn07XHJcblxyXG4vLyBDaGFpIHRvIE94eWdlbiBlcnJvciBjb2RlcyBtYXBwaW5nXHJcbmNvbnN0IENIQUlfRVJST1JfQ09ERVMgPSB7XHJcbiAgICBBc3NlcnRpb25FcnJvcjogRVJST1JfQ09ERVMuQVNTRVJUX0VSUk9SXHJcbn07XHJcblxyXG4vLyBHZW5lcmFsIEphdmFTY3JpcHQgZXJyb3IgY29kZXMgbWFwcGluZ1xyXG5jb25zdCBTQ1JJUFRfRVJST1JfQ09ERVMgPSB7XHJcbiAgICBUeXBlRXJyb3I6IEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUixcclxuICAgIFN5bnRheEVycm9yOiBFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsXHJcbiAgICBSZWZlcmVuY2VFcnJvcjogRVJST1JfQ09ERVMuU0NSSVBUX0VSUk9SLFxyXG59O1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBnZXRGYWlsdXJlRnJvbUVycm9yOiBmdW5jdGlvbihlcnIpIHtcclxuICAgICAgICBpZiAoIWVycikge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgT3hFcnJvcikpIHtcclxuICAgICAgICAgICAgZXJyID0gdGhpcy5nZXRPeHlnZW5FcnJvcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBlcnIudHlwZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogZXJyLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgIGRhdGE6IGVyci5kYXRhLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogZXJyLmxvY2F0aW9uLFxyXG4gICAgICAgICAgICBzdGFja3RyYWNlOiBlcnIuc3RhY2t0cmFjZSB8fCBudWxsXHJcbiAgICAgICAgfTtcclxuICAgIH0sXHJcbiAgICBnZXREYkVycm9yTWVzc2FnZTogZnVuY3Rpb24oZXJyKSB7XHJcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSAnJztcclxuXHJcbiAgICAgICAgaWYgKGVyciAmJiBlcnIubWVzc2FnZSkge1xyXG4gICAgICAgICAgICBtZXNzYWdlICs9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBlcnIgJiZcclxuICAgICAgICAgICAgZXJyLm9kYmNFcnJvcnMgJiZcclxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShlcnIub2RiY0Vycm9ycykgJiZcclxuICAgICAgICAgICAgZXJyLm9kYmNFcnJvcnMubGVuZ3RoID4gMFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBlcnIub2RiY0Vycm9ycy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICBpdGVtICYmXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5tZXNzYWdlXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICc6ICcgK2l0ZW0ubWVzc2FnZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgIH0sXHJcbiAgICBnZXRPeHlnZW5FcnJvcjogZnVuY3Rpb24oZXJyLCBtb2R1bGUsIGNtZCwgYXJncykge1xyXG4gICAgICAgIC8vIHJldHVybiB0aGUgZXJyb3IgYXMgaXMgaWYgaXQgaGFzIGJlZW4gYWxyZWFkeSBwcm9jZXNzZWRcclxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgT3hFcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZXJyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGVyclR5cGUgPSBlcnIudHlwZSB8fCBlcnIubmFtZSB8fCB0eXBlb2YgZXJyO1xyXG4gICAgICAgIC8vIGhhbmRsZSBcIkNhbid0IGNhbGwgPGNvbW1hbmQ+IG9uIGVsZW1lbnQgd2l0aCBzZWxlY3RvciA8c2VsZWN0b3I+IGJlY2F1c2UgZWxlbWVudCB3YXNuJ3QgZm91bmRcIlxyXG4gICAgICAgIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnYmVjYXVzZSBlbGVtZW50IHdhc25cXCd0IGZvdW5kJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkVMRU1FTlRfTk9UX0ZPVU5ELCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaGFuZGxlIFwiaW52YWxpZCBhcmd1bWVudDogVW5zdXBwb3J0ZWQgbG9jYXRvciBzdHJhdGVneTogLWFuZHJvaWQgdWlhdXRvbWF0b3JcIiBmb3IgbW9iaWxlLlxyXG4gICAgICAgIC8vIHVzdWFsbHkgZHVlIHRvIG5vdCB1c2luZyB0aGUgY29ycmVjdCBjb250ZXh0XHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ1Vuc3VwcG9ydGVkIGxvY2F0b3Igc3RyYXRlZ3knKSkge1xyXG4gICAgICAgICAgICBsZXQgbWF0Y2hlcyA9IGVyci5tZXNzYWdlLm1hdGNoKC9pbnZhbGlkIGFyZ3VtZW50OiAoLiopL2kpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuTU9CSUxFX0NPTlRFWFRfRVJST1IsIChtYXRjaGVzLmxlbmd0aCA9PT0gMiA/IG1hdGNoZXNbMV0gOiBlcnIubWVzc2FnZSkgK1xyXG4gICAgICAgICAgICAgICAgJy4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgbW9iaWxlIGNvbnRleHQuIFNlZSBtb2Iuc2V0TmF0aXZlQ29udGV4dCBhbmQgbW9iLnNldFdlYlZpZXdDb250ZXh0LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBoYW5kbGUgXCJpbnZhbGlkIHNlbGVjdG9yOiBVbmFibGUgdG8gbG9jYXRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgeHBhdGggZXhwcmVzc2lvblwiXHJcbiAgICAgICAgLy8gdXN1YWxseSBkdWUgdG8gaW52YWxpZCB4cGF0aFxyXG4gICAgICAgIGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gbG9jYXRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgeHBhdGggZXhwcmVzc2lvbicpKSB7XHJcbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gZXJyLm1lc3NhZ2UubWF0Y2goLyhUaGUgc3RyaW5nICcuKicgaXMgbm90IGEgdmFsaWQgWFBhdGggZXhwcmVzc2lvbi4pL2kpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuU0NSSVBUX0VSUk9SLCAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA9PT0gMiA/IG1hdGNoZXNbMV0gOiBlcnIubWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpbnZhbGlkIGNzcyBsb2NhdG9yIG9uIENocm9tZS9JRS4gZS5nLiBjc3M9I1xcOnAwXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0FuIGludmFsaWQgb3IgaWxsZWdhbCBzZWxlY3RvciB3YXMgc3BlY2lmaWVkJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUiwgJ0FuIGludmFsaWQgb3IgaWxsZWdhbCBzZWxlY3RvciB3YXMgc3BlY2lmaWVkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGludmFsaWQgY3NzIGxvY2F0b3Igb24gRmlyZWZveC4gZS5nLiBjc3M9I1xcOnAwXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnR2l2ZW4gY3NzIHNlbGVjdG9yIGV4cHJlc3Npb24nKSkge1xyXG4gICAgICAgICAgICBsZXQgbWF0Y2hlcyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oR2l2ZW4gY3NzIHNlbGVjdG9yIGV4cHJlc3Npb24gXCIuKlwiIGlzIGludmFsaWQpLiovaSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyID8gbWF0Y2hlc1sxXSA6IGVyci5tZXNzYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIChlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5hYmxlIHRvIGF1dG9tYXRlIENocm9tZSB2ZXJzaW9uJykgfHxcclxuICAgICAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ05vIENocm9tZWRyaXZlciBmb3VuZCB0aGF0IGNhbiBhdXRvbWF0ZScpKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBoYW5kbGUgdmFyaW91cyB0eXBlcyBvZiAnT3JpZ2luYWwgZXJyb3InXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoT1JJR0lOQUxfRVJST1JfTUVTU0FHRSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlVOS05PV05fRVJST1IsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSwgdXRpbC5pbnNwZWN0KGVycikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpbnZhbGlkIFVSTCBpbiBvcGVuIGNvbW1hbmRcclxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnSW52YWxpZCBVUkwnKSkge1xyXG4gICAgICAgICAgICBsZXQgbWF0Y2hlcyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oIEludmFsaWQgVVJMOiAuKiQpLiovaSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TQ1JJUFRfRVJST1IsIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyID8gbWF0Y2hlc1sxXSA6IGVyci5tZXNzYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHVzdWFsbHkgb24gbW9iaWxlIENocm9tZSB3aGVuIGVsZW1lbnQgaXMgb3ZlcmxhcHBlZCBieSBhbm90aGVyIGVsZW1lbnRcclxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5zdGFydHNXaXRoKCdlbGVtZW50IGNsaWNrIGludGVyY2VwdGVkJykpIHtcclxuICAgICAgICAgICAgbGV0IG1hdGNoZXMgPSBlcnIubWVzc2FnZS5tYXRjaCgvZWxlbWVudCBjbGljayBpbnRlcmNlcHRlZDogKC4qKS9pKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkVMRU1FTlRfTk9UX1ZJU0lCTEUsIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID09PSAyID8gbWF0Y2hlc1sxXSA6IGVyci5tZXNzYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHVzdWFsbHkgYmVjYXVzZSBTZWxlbml1bSBoYXMga2lsbGVkIHRoZSBzZXNzaW9uIGR1ZSB0byBleGNlZWRpbmcgJy10aW1lb3V0JyB0aW1lb3V0XHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnTm8gYWN0aXZlIHNlc3Npb24gd2l0aCBJRCcpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TRUxFTklVTV9TRVNTSU9OX0VSUk9SLCAnRXhlY3V0aW9uIHRpbWUgZXhjZWVkZWQgdGhlIHRpbWVvdXQgc2V0IGJ5IFNlbGVuaXVtJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHdoZW4gZHJpdmVyIChJRURyaXZlclNlcnZlciwgQ2hyb21lRHJpdmVyLCBldGMpIGNyYXNoZXNcclxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSA9PT0gJ2phdmEubmV0LkNvbm5lY3RFeGNlcHRpb246IENvbm5lY3Rpb24gcmVmdXNlZDogY29ubmVjdCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLldFQkRSSVZFUl9FUlJPUiwgJ1RoZSB1bmRlcmx5aW5nIFdlYkRyaXZlciBzZWVtcyB0byBoYXZlIGNyYXNoZWQ6ICcgKyBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHN0YWxlIGVsZW1lbnQgcmVmZXJlbmNlXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm5hbWUgJiYgZXJyLm5hbWUuaW5jbHVkZXMoJ3N0YWxlIGVsZW1lbnQgcmVmZXJlbmNlJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNUQUxFX0VMRU1FTlRfUkVGRVJFTkNFLCBlcnIubmFtZSArICcgJyArIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLmNvZGUgJiYgZXJyLmNvZGUgPT09ICdNT0RVTEVfTk9UX0ZPVU5EJykge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuTU9EVUxFX05PVF9GT1VORCwgZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAgd2hlbiBkb2luZyBhbiBvcGVyYXRpb24gb24gYW4gZWxlbWVudCAoZS5nLiBjbGljaykgYnV0IHRoZSB3aW5kb3cgd2FzIGFscmVhZHkgY2xvc2VkXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ25vIHN1Y2ggd2luZG93JykgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ3RhcmdldCB3aW5kb3cgYWxyZWFkeSBjbG9zZWQnKSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnd2ViIHZpZXcgbm90IGZvdW5kJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLldJTkRPV19OT1RfRk9VTkQsIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gZXhhbXBsZTogVGhlIGVsZW1lbnQgd2l0aCBzZWxlY3RvciAqKiogeW91IHRyeWluZyB0byBwYXNzIGludG8gdGhlIGV4ZWN1dGUgbWV0aG9kIHdhc24ndCBmb3VuZFxyXG4gICAgICAgIC8vIHdoZW4gZWxlbWVudCB3YXMgZGVsZXRlZCBmcm9tIERPTVxyXG4gICAgICAgIGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCd5b3UgdHJ5aW5nIHRvIHBhc3MgaW50byB0aGUgZXhlY3V0ZSBtZXRob2Qgd2FzblxcJ3QgZm91bmQnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuRUxFTUVOVF9OT1RfRk9VTkQsIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gd2hlbiBkb2luZyBhbiBvcGVyYXRpb24gb24gYW4gZWxlbWVudCByZWZlcmVuY2UgKGUuZy4gY2xpY2spIGJ1dCB0aGUgcGFnZSB3YXMgYWxyZWFkeSBjaGFuZ2VkXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2VsZW1lbnQgbm90IGludGVyYWN0YWJsZScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5FTEVNRU5UX05PVF9JTlRFUkFDVEFCTEUsIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ3N0aWxsIG5vdCBjbGlja2FibGUgYWZ0ZXInKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuRUxFTUVOVF9OT1RfSU5URVJBQ1RBQkxFLCBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGludmFsaWQgc2VsZWN0b3I6IGphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb246IFVuYWJsZSB0byBjb21waWxlIHNlbGVjdG9yIC4uLlxyXG4gICAgICAgIGVsc2UgaWYgKGVyci5uYW1lID09PSAnaW52YWxpZCBzZWxlY3RvcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNDUklQVF9FUlJPUiwgZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZXF1ZXN0RXJyb3I6IFRpbWVvdXQgYXdhaXRpbmcgJ3JlcXVlc3QnIGZvciAzMTAwMDBtcywgbmFtZTogJ1RpbWVvdXRFcnJvcidcclxuICAgICAgICBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnVGltZW91dCBhd2FpdGluZyBcXCdyZXF1ZXN0XFwnIGZvcicpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVyck1lc3NhZ2UgPSBlcnIubWVzc2FnZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICAgICAgJ1RpbWVvdXQgYXdhaXRpbmcgXFwncmVxdWVzdFxcJyBmb3InLFxyXG4gICAgICAgICAgICAgICAgJ0NvdWxkblxcJ3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSBTZWxlbml1bS9XZWJEcml2ZXIgd2l0aGluJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IobW9kdWxlID09PSAnd2ViJyA/IEVSUk9SX0NPREVTLlNFTEVOSVVNX1NFU1NJT05fVElNRU9VVCA6IEVSUk9SX0NPREVTLkFQUElVTV9TRVNTSU9OX1RJTUVPVVQsIGVyck1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChlcnIgJiYgZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ3NvY2tldCBoYW5nIHVwJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKG1vZHVsZSA9PT0gJ3dlYicgPyBFUlJPUl9DT0RFUy5TRUxFTklVTV9TRVNTSU9OX1RJTUVPVVQgOiBFUlJPUl9DT0RFUy5BUFBJVU1fU0VTU0lPTl9USU1FT1VULCBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdqYXZhc2NyaXB0IGVycm9yJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkpBVkFTQ1JJUFRfRVJST1IsIGVyci5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gYXBwaXVtXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0FuIGVsZW1lbnQgY291bGQgbm90IGJlIGxvY2F0ZWQgb24gdGhlIHBhZ2UgdXNpbmcgdGhlIGdpdmVuIHNlYXJjaCBwYXJhbWV0ZXJzJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkVMRU1FTlRfTk9UX0ZPVU5ELCBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB0cnkgdG8gcmVzb2x2ZSBDaGFpIGVycm9yIGNvZGVcclxuICAgICAgICB2YXIgb3hFcnJvckNvZGUgPSBDSEFJX0VSUk9SX0NPREVTW2VyclR5cGVdO1xyXG4gICAgICAgIGlmIChveEVycm9yQ29kZSkge1xyXG4gICAgICAgICAgICAvLyB0aHJvdyBub24tZmF0YWwgZXJyb3IgaWYgaXQncyBhIFwidmVyaWZ5XCIgbW9kdWxlIG9yIG1ldGhvZCBcclxuICAgICAgICAgICAgaWYgKG94RXJyb3JDb2RlID09PSBFUlJPUl9DT0RFUy5BU1NFUlQgJiZcclxuXHRcdFx0XHQobW9kdWxlID09PSAndmVyaWZ5JyB8fCBjbWQuaW5kZXhPZigndmVyaWZ5JykgPT09IDApKSB7IC8vIHZlcmlmeS4qLCAqLnZlcmlmeSpcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5WRVJJRlksIGVyci5tZXNzYWdlLCBudWxsLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKG94RXJyb3JDb2RlLCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHRyeSB0byByZXNvbHZlIEphdmFTY3JpcHQgZXJyb3IgY29kZVxyXG4gICAgICAgIG94RXJyb3JDb2RlID0gU0NSSVBUX0VSUk9SX0NPREVTW2VyclR5cGVdO1xyXG4gICAgICAgIGlmIChveEVycm9yQ29kZSkge1xyXG4gICAgICAgICAgICAvLyB0aHJvdyBub24tZmF0YWwgZXJyb3IgaWYgaXQncyBhIFwidmVyaWZ5XCIgbW9kdWxlIG9yIG1ldGhvZCBcclxuICAgICAgICAgICAgaWYgKG94RXJyb3JDb2RlID09PSBFUlJPUl9DT0RFUy5BU1NFUlQgJiZcclxuXHRcdFx0XHQobW9kdWxlID09PSAndmVyaWZ5JyB8fCBjbWQuaW5kZXhPZigndmVyaWZ5JykgPT09IDApKSB7IC8vIHZlcmlmeS4qLCAqLnZlcmlmeSpcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5WRVJJRlksIGVyci5tZXNzYWdlLCBudWxsLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKG94RXJyb3JDb2RlLCBlcnIubWVzc2FnZSB8fCBudWxsLCBudWxsLCB0cnVlLCBlcnIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coJz09PSBFcnJvciBEZXRhaWxzID09PScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdUeXBlOiAnICsgZXJyLnR5cGUgKyAnIE5hbWU6ICcgKyBlcnIubmFtZSArICcgQ29kZTogJyArIGVyci5jb2RlICsgJyBNc2c6ICcgKyBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgY29uc29sZS5sb2codXRpbC5pbnNwZWN0KGVycikpO1xyXG5cclxuICAgICAgICBjb25zdCBlcnJNZXNzYWdlID0gZXJyLm1lc3NhZ2UgPyBgJHtlcnJUeXBlfTogJHtlcnIubWVzc2FnZX1gIDogYCR7ZXJyVHlwZX1gO1xyXG4gICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5VTktOT1dOX0VSUk9SLCBlcnJNZXNzYWdlLCB1dGlsLmluc3BlY3QoZXJyKSwgdHJ1ZSwgZXJyKTtcclxuICAgIH0sXHJcbiAgICBnZXRTZWxlbml1bUluaXRFcnJvcjogZnVuY3Rpb24oZXJyKSB7XHJcbiAgICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHZhciBpZVpvb21FcnJvck1zZyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oVW5leHBlY3RlZCBlcnJvciBsYXVuY2hpbmcgSW50ZXJuZXQgRXhwbG9yZXJcXC4gQnJvd3NlciB6b29tIGxldmVsIHdhcyBzZXQgdG8gXFxkKyVcXC4gSXQgc2hvdWxkIGJlIHNldCB0byBcXGQrJSkvZ20pO1xyXG4gICAgICAgICAgICBpZiAoaWVab29tRXJyb3JNc2cpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5CUk9XU0VSX0NPTkZJR1VSQVRJT05fRVJST1IsIGllWm9vbUVycm9yTXNnLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ1VuYWJsZSB0byBjcmVhdGUgbmV3IHNlcnZpY2U6IENocm9tZURyaXZlclNlcnZpY2UnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkNIUk9NRURSSVZFUl9FUlJPUiwgZXJyLm1lc3NhZ2UsIG51bGwsIHRydWUsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VydmljZTonKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNFTEVOSVVNX1VOUkVBQ0hBQkxFX0VSUk9SLCBlcnIubWVzc2FnZSwgbnVsbCwgdHJ1ZSwgZXJyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdmFyIGNocm9tZURyaXZlck1zZyA9IGVyci5tZXNzYWdlLm1hdGNoKC8oVGhpcyB2ZXJzaW9uIG9mIENocm9tZURyaXZlciBvbmx5IHN1cHBvcnRzIENocm9tZSB2ZXJzaW9uIFswLTldKikvZ20pO1xyXG4gICAgICAgICAgICBpZiAoY2hyb21lRHJpdmVyTXNnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBjaHJvbWVEcml2ZXJNc2cudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnY2Fubm90IGZpbmQgQ2hyb21lIGJpbmFyeScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5DSFJPTUVEUklWRVJfRVJST1IsICdDYW5ub3QgZmluZCBDaHJvbWUgYmluYXJ5Jyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OUkVGVVNFRCcgfHwgZXJyLmNvZGUgPT09ICdFQ09OTlJFU0VUJyB8fCBlcnIuY29kZSA9PT0gJ0VOT1RGT1VORCcgfHwgZXJyLm1lc3NhZ2UgPT09ICdGYWlsZWQgdG8gY3JlYXRlIHNlc3Npb24uXFxuc29ja2V0IGhhbmcgdXAnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5TRUxFTklVTV9VTlJFQUNIQUJMRV9FUlJPUiwgXCJDb3VsZG4ndCBjb25uZWN0IHRvIFNlbGVuaXVtIHNlcnZlclwiKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVyci5tZXNzYWdlID09PSAnQWxsIG1pbnV0ZXMgZm9yIHRoaXMgb3JnYW5pemF0aW9uIGhhcyBiZWVuIGV4YXVzdGVkJyB8fFxyXG4gICAgICAgICAgICBlcnIubWVzc2FnZSA9PT0gJzQwMSBVbmF1dGhvcml6ZWQnIHx8XHJcbiAgICAgICAgICAgIGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0ZhaWxlZCB0byBjcmVhdGUgc2Vzc2lvbi4nKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuU0VMRU5JVU1fQ09OTkVDVElPTl9FUlJPUiwgZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ1VuYWJsZSB0byBjcmVhdGUgbmV3IHNlcnZpY2U6JykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlNFTEVOSVVNX0NPTk5FQ1RJT05fRVJST1IsIGVyci5tZXNzYWdlICsgJ1xcblxcblRoaXMgaXMgcHJvYmFibHkgZHVlIHRvIG1pc3NpbmcgQ2hyb21lRHJpdmVyL0lFRHJpdmVyU2VydmVyL0dlY2tvRHJpdmVyIGJpbmFyeS5cXG4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCc9PT0gRXJyb3IgRGV0YWlscyA9PT0nKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnVHlwZTogJyArIGVyci50eXBlICsgJyBOYW1lOiAnICsgZXJyLm5hbWUgKyAnIENvZGU6ICcgKyBlcnIuY29kZSArICcgTXNnOiAnICsgZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHV0aWwuaW5zcGVjdChlcnIpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLlVOS05PV05fRVJST1IsIGVyci50eXBlICsgJzogJyArIGVyci5tZXNzYWdlLCB1dGlsLmluc3BlY3QoZXJyKSk7XHJcbiAgICB9LFxyXG4gICAgZ2V0QXBwaXVtSW5pdEVycm9yOiBmdW5jdGlvbihlcnIpIHtcclxuICAgICAgICBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2Nhbm5vdCBmaW5kIENocm9tZSBiaW5hcnknKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCAnQ2Fubm90IGZpbmQgQ2hyb21lIGJpbmFyeScpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLmNvZGUgPT09ICdFQ09OTlJFRlVTRUQnIHx8IGVyci5jb2RlID09PSAnRUNPTk5SRVNFVCcgfHwgZXJyLmNvZGUgPT09ICdFTk9URk9VTkQnIHx8IGVyci5tZXNzYWdlID09PSAnRmFpbGVkIHRvIGNyZWF0ZSBzZXNzaW9uLlxcbnNvY2tldCBoYW5nIHVwJykge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQVBQSVVNX1VOUkVBQ0hBQkxFX0VSUk9SLCBcIkNvdWxkbid0IGNvbm5lY3QgdG8gQXBwaXVtIHNlcnZlclwiKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdDb3VsZCBub3QgZmluZCBhIGNvbm5lY3RlZCBBbmRyb2lkIGRldmljZScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5ERVZJQ0VfTk9UX0ZPVU5ELCAnQ291bGQgbm90IGZpbmQgYSBjb25uZWN0ZWQgQW5kcm9pZCBkZXZpY2UnKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVyci5tZXNzYWdlICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKCdVbmFibGUgdG8gYXV0b21hdGUgQ2hyb21lIHZlcnNpb24nKSkgeyAgICAgICAgICAvLyBhcHBpdW0gPD0gMS4xNFxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQ0hST01FRFJJVkVSX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ05vIENocm9tZWRyaXZlciBmb3VuZCB0aGF0IGNhbiBhdXRvbWF0ZScpKSB7ICAgIC8vIGFwcGl1bSA+PSAxLjE1XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5DSFJPTUVEUklWRVJfRVJST1IsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnVW5hYmxlIHRvIGZpbmQgYW4gYWN0aXZlIGRldmljZSBvciBlbXVsYXRvciB3aXRoJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkRFVklDRV9OT1RfRk9VTkQsIGV4dHJhY3RPcmlnaW5hbEVycm9yKGVyci5tZXNzYWdlKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnaXMgbm90IGluc3RhbGxlZCBvbiBkZXZpY2UnKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuQVBQTElDQVRJT05fTk9UX0ZPVU5EX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLm1lc3NhZ2UgPT09ICdBbGwgbWludXRlcyBmb3IgdGhpcyBvcmdhbml6YXRpb24gaGFzIGJlZW4gZXhhdXN0ZWQnIHx8XHJcbiAgICAgICAgICAgIGVyci5tZXNzYWdlID09PSAnNDAxIFVuYXV0aG9yaXplZCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkFQUElVTV9DT05ORUNUSU9OX0VSUk9SLCBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnIubWVzc2FnZSAmJiAoXHJcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcygnQSBuZXcgc2Vzc2lvbiBjb3VsZCBub3QgYmUgY3JlYXRlZC4nKSB8fFxyXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ0ZhaWxlZCB0byBjcmVhdGUgc2Vzc2lvbi4nKSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBPeEVycm9yKEVSUk9SX0NPREVTLkFQUElVTV9TRVNTSU9OX0VSUk9SLCBleHRyYWN0T3JpZ2luYWxFcnJvcihlcnIubWVzc2FnZSksIG51bGwsIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coJz09PSBFcnJvciBEZXRhaWxzID09PScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdUeXBlOiAnICsgZXJyLnR5cGUgKyAnIE5hbWU6ICcgKyBlcnIubmFtZSArICcgQ29kZTogJyArIGVyci5jb2RlICsgJyBNc2c6ICcgKyBlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgY29uc29sZS5sb2codXRpbC5pbnNwZWN0KGVycikpO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IE94RXJyb3IoRVJST1JfQ09ERVMuVU5LTk9XTl9FUlJPUiwgZXh0cmFjdE9yaWdpbmFsRXJyb3IoZXJyLm1lc3NhZ2UpLCB1dGlsLmluc3BlY3QoZXJyKSk7XHJcbiAgICB9LFxyXG4gICAgZ2V0QXNzZXJ0RXJyb3I6IGZ1bmN0aW9uKGV4cGVjdGVkLCBhY3R1YWwsIGlzRmF0YWwgPSB0cnVlKSB7XHJcbiAgICAgICAgYWN0dWFsID0gYWN0dWFsLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxuL2csICdcXFxcbicpO1xyXG4gICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5BU1NFUlRfRVJST1IsIGBFeHBlY3RlZDogXCIke2V4cGVjdGVkfVwiLiBHb3Q6IFwiJHthY3R1YWx9XCJgLCB1bmRlZmluZWQsIGlzRmF0YWwpO1xyXG4gICAgfSxcclxuICAgIGdldFZlcmlmeUVycm9yOiBmdW5jdGlvbihleHBlY3RlZCwgYWN0dWFsKSB7XHJcbiAgICAgICAgYWN0dWFsID0gYWN0dWFsLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxuL2csICdcXFxcbicpO1xyXG4gICAgICAgIHJldHVybiBuZXcgT3hFcnJvcihFUlJPUl9DT0RFUy5WRVJJRllfRVJST1IsIGBFeHBlY3RlZDogXCIke2V4cGVjdGVkfVwiLiBHb3Q6IFwiJHthY3R1YWx9XCJgLCB1bmRlZmluZWQsIGZhbHNlIC8qIG5vdCBmYXRhbCAqLyk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3JDb2RlOiBFUlJPUl9DT0RFU1xyXG59O1xyXG5cclxuY29uc3QgT1JJR0lOQUxfRVJST1JfTUVTU0FHRSA9ICdPcmlnaW5hbCBlcnJvcjogJztcclxuY29uc3QgVU5LTk9XTl9FUlJPUl9NRVNTQUdFID0gJ3Vua25vd24gZXJyb3I6ICc7XHJcblxyXG5mdW5jdGlvbiBleHRyYWN0T3JpZ2luYWxFcnJvcihtc2cpIHtcclxuICAgIGlmICghbXNnKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBlcnJvckluZGV4MSA9IG1zZy5pbmRleE9mKE9SSUdJTkFMX0VSUk9SX01FU1NBR0UpO1xyXG4gICAgaWYgKGVycm9ySW5kZXgxID09PSAtMSkge1xyXG4gICAgICAgIHJldHVybiBtc2c7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhlcmUgY291bGQgYW5vdGhlIG5lc3RlZCBcIm9yaWdpbmFsIGVycm9yXCJcclxuICAgIHZhciBlcnJvckluZGV4MiA9IG1zZy5pbmRleE9mKE9SSUdJTkFMX0VSUk9SX01FU1NBR0UsIGVycm9ySW5kZXgxICsgT1JJR0lOQUxfRVJST1JfTUVTU0FHRS5sZW5ndGgpO1xyXG5cclxuICAgIG1zZyA9IG1zZy5zdWJzdHJpbmcoKGVycm9ySW5kZXgyID4gLTEgPyBlcnJvckluZGV4MiA6IGVycm9ySW5kZXgxKSAgKyBPUklHSU5BTF9FUlJPUl9NRVNTQUdFLmxlbmd0aCk7XHJcblxyXG4gICAgLy8gc3RyaXAgJ3Vua25vd24gZXJyb3I6J1xyXG4gICAgdmFyIHVua25vd25FcnJvckluZGV4ID0gbXNnLmluZGV4T2YoVU5LTk9XTl9FUlJPUl9NRVNTQUdFKTtcclxuICAgIGlmICh1bmtub3duRXJyb3JJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIG1zZy5zdWJzdHJpbmcodW5rbm93bkVycm9ySW5kZXggKyBVTktOT1dOX0VSUk9SX01FU1NBR0UubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbXNnO1xyXG59XHJcbiJdfQ==
|
package/build/index.js
CHANGED
|
@@ -60,4 +60,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
60
60
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
61
61
|
|
|
62
62
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
63
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSdW5uZXJzIGZyb20gJy4vcnVubmVycyc7XHJcbmltcG9ydCBMYXVuY2hlciBmcm9tICcuL2xpYi9sYXVuY2hlcic7XHJcbmltcG9ydCBQYXJhbGxlbExhdW5jaGVyIGZyb20gJy4vbGliL3BhcmFsbGVsLWxhdW5jaGVyJztcclxuaW1wb3J0IFJlcG9ydEFnZ3JlZ2F0b3IgZnJvbSAnLi9yZXBvcnRlci9SZXBvcnRBZ2dyZWdhdG9yJztcclxuaW1wb3J0IHV0aWwgZnJvbSAnLi9saWIvdXRpbCc7XHJcbmltcG9ydCAqIGFzIGNsaXV0aWwgZnJvbSAnLi9saWIvY2xpLXV0aWwnO1xyXG5pbXBvcnQgbW9kdWxlUmVxdWlyZSBmcm9tICcuL2xpYi9tb2R1bGVSZXF1aXJlJztcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBSdW5uZXJzLFxyXG4gICAgTGF1bmNoZXIsXHJcbiAgICBQYXJhbGxlbExhdW5jaGVyLFxyXG4gICAgUmVwb3J0QWdncmVnYXRvcixcclxuICAgIHV0aWwsXHJcbiAgICBjbGl1dGlsLFxyXG4gICAgbW9kdWxlUmVxdWlyZVxyXG59OyJdfQ==
|