obsidian-integration-testing 9.2.2 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/README.md +30 -1096
  2. package/dist/lib/cjs/appium-dependencies.cjs +5 -5
  3. package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
  4. package/dist/lib/cjs/appium-session-config.cjs +1 -1
  5. package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
  6. package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
  7. package/dist/lib/cjs/avd-list.cjs +1 -1
  8. package/dist/lib/cjs/avd-list.d.cts +6 -2
  9. package/dist/lib/cjs/capture-obsidian-screenshot.cjs +60 -0
  10. package/dist/lib/cjs/capture-obsidian-screenshot.d.cts +53 -0
  11. package/dist/lib/cjs/capture-screenshot.cjs +82 -0
  12. package/dist/lib/cjs/capture-screenshot.d.cts +99 -0
  13. package/dist/lib/cjs/cli.cjs +4 -4
  14. package/dist/lib/cjs/compatibility-options.cjs +13 -13
  15. package/dist/lib/cjs/compatibility-options.d.cts +24 -12
  16. package/dist/lib/cjs/connect-to-cdp.cjs +10 -4
  17. package/dist/lib/cjs/connect-to-cdp.d.cts +19 -6
  18. package/dist/lib/cjs/context-id.cjs +5 -5
  19. package/dist/lib/cjs/context-id.d.cts +1 -1
  20. package/dist/lib/cjs/context-provider.cjs +5 -5
  21. package/dist/lib/cjs/context-provider.d.cts +4 -4
  22. package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
  23. package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
  24. package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
  25. package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
  26. package/dist/lib/cjs/device-readiness.cjs +3 -3
  27. package/dist/lib/cjs/device-readiness.d.cts +7 -3
  28. package/dist/lib/cjs/ecmascript-version.cjs +1 -1
  29. package/dist/lib/cjs/electron-compatibility.cjs +4 -4
  30. package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
  31. package/dist/lib/cjs/emulator-arguments.cjs +36 -0
  32. package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
  33. package/dist/lib/cjs/enable-plugin.cjs +29 -29
  34. package/dist/lib/cjs/enable-plugin.d.cts +6 -6
  35. package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
  36. package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
  37. package/dist/lib/cjs/exec.cjs +49 -53
  38. package/dist/lib/cjs/exec.d.cts +9 -9
  39. package/dist/lib/cjs/function-expression.cjs +8 -8
  40. package/dist/lib/cjs/function-expression.d.cts +4 -4
  41. package/dist/lib/cjs/generate-function-call.cjs +6 -6
  42. package/dist/lib/cjs/generate-function-call.d.cts +15 -9
  43. package/dist/lib/cjs/global-setup-core.cjs +43 -43
  44. package/dist/lib/cjs/global-setup-core.d.cts +19 -9
  45. package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
  46. package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
  47. package/dist/lib/cjs/index.cjs +22 -10
  48. package/dist/lib/cjs/index.d.cts +12 -8
  49. package/dist/lib/cjs/installer-asset.cjs +4 -4
  50. package/dist/lib/cjs/installer-asset.d.cts +21 -7
  51. package/dist/lib/cjs/installer-compatibility.cjs +4 -4
  52. package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
  53. package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
  54. package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
  55. package/dist/lib/cjs/jest/global-setup.cjs +11 -11
  56. package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
  57. package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
  58. package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
  59. package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
  60. package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
  61. package/dist/lib/cjs/jest/setup.cjs +2 -2
  62. package/dist/lib/cjs/jest/setup.d.cts +1 -1
  63. package/dist/lib/cjs/json-with-functions.cjs +7 -7
  64. package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
  65. package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
  66. package/dist/lib/cjs/library.cjs +2 -2
  67. package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
  68. package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
  69. package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
  70. package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
  71. package/dist/lib/cjs/obsidian-config.cjs +30 -31
  72. package/dist/lib/cjs/obsidian-config.d.cts +8 -8
  73. package/dist/lib/cjs/obsidian-executable.cjs +2 -2
  74. package/dist/lib/cjs/obsidian-installer.cjs +37 -37
  75. package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
  76. package/dist/lib/cjs/obsidian-instance.cjs +3 -3
  77. package/dist/lib/cjs/obsidian-instance.d.cts +18 -8
  78. package/dist/lib/cjs/obsidian-metadata.cjs +28 -1
  79. package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
  80. package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
  81. package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
  82. package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
  83. package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
  84. package/dist/lib/cjs/obsidian-version.cjs +3 -3
  85. package/dist/lib/cjs/obsidian-version.d.cts +15 -5
  86. package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
  87. package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
  88. package/dist/lib/cjs/parent-liveness.cjs +4 -4
  89. package/dist/lib/cjs/parent-liveness.d.cts +7 -3
  90. package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
  91. package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
  92. package/dist/lib/cjs/poll-until.cjs +1 -1
  93. package/dist/lib/cjs/poll-until.d.cts +21 -7
  94. package/dist/lib/cjs/process-exit-message.cjs +1 -1
  95. package/dist/lib/cjs/process-exit-message.d.cts +21 -7
  96. package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
  97. package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
  98. package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
  99. package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
  100. package/dist/lib/cjs/setup-lock.cjs +26 -26
  101. package/dist/lib/cjs/setup-lock.d.cts +6 -2
  102. package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
  103. package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
  104. package/dist/lib/cjs/spawn-options.cjs +1 -1
  105. package/dist/lib/cjs/spawn-options.d.cts +3 -1
  106. package/dist/lib/cjs/strict-proxy.cjs +25 -25
  107. package/dist/lib/cjs/strict-proxy.d.cts +3 -3
  108. package/dist/lib/cjs/temporary-vault.cjs +166 -0
  109. package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
  110. package/dist/lib/cjs/transport-appium.cjs +29 -7
  111. package/dist/lib/cjs/transport-appium.d.cts +23 -3
  112. package/dist/lib/cjs/transport-desktop-cdp.cjs +99 -57
  113. package/dist/lib/cjs/transport-desktop-cdp.d.cts +44 -17
  114. package/dist/lib/cjs/transport-factory.cjs +62 -63
  115. package/dist/lib/cjs/transport.cjs +1 -1
  116. package/dist/lib/cjs/transport.d.cts +15 -0
  117. package/dist/lib/cjs/type-guards.cjs +8 -3
  118. package/dist/lib/cjs/type-guards.d.cts +9 -2
  119. package/dist/lib/cjs/vault-path-match.cjs +9 -9
  120. package/dist/lib/cjs/vault-path-match.d.cts +11 -11
  121. package/dist/lib/cjs/version-matrix.cjs +1 -1
  122. package/dist/lib/cjs/version-matrix.d.cts +51 -17
  123. package/dist/lib/cjs/visibility.cjs +7 -7
  124. package/dist/lib/cjs/visibility.d.cts +5 -5
  125. package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
  126. package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
  127. package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
  128. package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
  129. package/dist/lib/cjs/vitest/setup.cjs +2 -2
  130. package/dist/lib/cjs/vitest/typings.d.cts +2 -2
  131. package/dist/lib/esm/appium-dependencies.d.mts +4 -2
  132. package/dist/lib/esm/appium-dependencies.mjs +4 -4
  133. package/dist/lib/esm/appium-session-config.mjs +1 -1
  134. package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
  135. package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
  136. package/dist/lib/esm/avd-list.d.mts +6 -2
  137. package/dist/lib/esm/avd-list.mjs +1 -1
  138. package/dist/lib/esm/capture-obsidian-screenshot.d.mts +53 -0
  139. package/dist/lib/esm/capture-obsidian-screenshot.mjs +29 -0
  140. package/dist/lib/esm/capture-screenshot.d.mts +99 -0
  141. package/dist/lib/esm/capture-screenshot.mjs +55 -0
  142. package/dist/lib/esm/cli.mjs +4 -4
  143. package/dist/lib/esm/compatibility-options.d.mts +24 -12
  144. package/dist/lib/esm/compatibility-options.mjs +10 -10
  145. package/dist/lib/esm/connect-to-cdp.d.mts +19 -6
  146. package/dist/lib/esm/connect-to-cdp.mjs +12 -6
  147. package/dist/lib/esm/context-id.d.mts +1 -1
  148. package/dist/lib/esm/context-id.mjs +5 -5
  149. package/dist/lib/esm/context-provider.d.mts +4 -4
  150. package/dist/lib/esm/context-provider.mjs +5 -5
  151. package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
  152. package/dist/lib/esm/demo-vault-populate.mjs +5 -5
  153. package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
  154. package/dist/lib/esm/demo-vault-tree.mjs +4 -4
  155. package/dist/lib/esm/device-readiness.d.mts +7 -3
  156. package/dist/lib/esm/device-readiness.mjs +3 -3
  157. package/dist/lib/esm/ecmascript-version.mjs +1 -1
  158. package/dist/lib/esm/electron-compatibility.d.mts +33 -17
  159. package/dist/lib/esm/electron-compatibility.mjs +3 -3
  160. package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
  161. package/dist/lib/esm/emulator-arguments.mjs +12 -0
  162. package/dist/lib/esm/enable-plugin.d.mts +6 -6
  163. package/dist/lib/esm/enable-plugin.mjs +29 -29
  164. package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
  165. package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
  166. package/dist/lib/esm/exec.d.mts +9 -9
  167. package/dist/lib/esm/exec.mjs +49 -53
  168. package/dist/lib/esm/function-expression.d.mts +4 -4
  169. package/dist/lib/esm/function-expression.mjs +8 -8
  170. package/dist/lib/esm/generate-function-call.d.mts +15 -9
  171. package/dist/lib/esm/generate-function-call.mjs +6 -6
  172. package/dist/lib/esm/global-setup-core.d.mts +19 -9
  173. package/dist/lib/esm/global-setup-core.mjs +45 -45
  174. package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
  175. package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
  176. package/dist/lib/esm/index.d.mts +12 -8
  177. package/dist/lib/esm/index.mjs +21 -9
  178. package/dist/lib/esm/installer-asset.d.mts +21 -7
  179. package/dist/lib/esm/installer-asset.mjs +4 -4
  180. package/dist/lib/esm/installer-compatibility.d.mts +36 -18
  181. package/dist/lib/esm/installer-compatibility.mjs +3 -3
  182. package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
  183. package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
  184. package/dist/lib/esm/jest/global-setup.d.mts +12 -8
  185. package/dist/lib/esm/jest/global-setup.mjs +10 -10
  186. package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
  187. package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
  188. package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
  189. package/dist/lib/esm/jest/global-teardown.mjs +2 -3
  190. package/dist/lib/esm/jest/setup.d.mts +1 -1
  191. package/dist/lib/esm/jest/setup.mjs +2 -2
  192. package/dist/lib/esm/json-with-functions.mjs +7 -7
  193. package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
  194. package/dist/lib/esm/leftover-cleanup.mjs +12 -12
  195. package/dist/lib/esm/library.mjs +2 -2
  196. package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
  197. package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
  198. package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
  199. package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
  200. package/dist/lib/esm/obsidian-config.d.mts +8 -8
  201. package/dist/lib/esm/obsidian-config.mjs +27 -28
  202. package/dist/lib/esm/obsidian-executable.mjs +2 -2
  203. package/dist/lib/esm/obsidian-installer.d.mts +7 -3
  204. package/dist/lib/esm/obsidian-installer.mjs +36 -36
  205. package/dist/lib/esm/obsidian-instance.d.mts +18 -8
  206. package/dist/lib/esm/obsidian-instance.mjs +3 -3
  207. package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
  208. package/dist/lib/esm/obsidian-metadata.mjs +28 -1
  209. package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
  210. package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
  211. package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
  212. package/dist/lib/esm/obsidian-version.d.mts +15 -5
  213. package/dist/lib/esm/obsidian-version.mjs +3 -3
  214. package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
  215. package/dist/lib/esm/owned-vault-seed.mjs +1 -1
  216. package/dist/lib/esm/parent-liveness.d.mts +7 -3
  217. package/dist/lib/esm/parent-liveness.mjs +3 -3
  218. package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
  219. package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
  220. package/dist/lib/esm/poll-until.d.mts +21 -7
  221. package/dist/lib/esm/poll-until.mjs +1 -1
  222. package/dist/lib/esm/process-exit-message.d.mts +21 -7
  223. package/dist/lib/esm/process-exit-message.mjs +1 -1
  224. package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
  225. package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
  226. package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
  227. package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
  228. package/dist/lib/esm/setup-lock.d.mts +6 -2
  229. package/dist/lib/esm/setup-lock.mjs +26 -26
  230. package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
  231. package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
  232. package/dist/lib/esm/spawn-options.d.mts +3 -1
  233. package/dist/lib/esm/spawn-options.mjs +1 -1
  234. package/dist/lib/esm/strict-proxy.d.mts +3 -3
  235. package/dist/lib/esm/strict-proxy.mjs +25 -25
  236. package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
  237. package/dist/lib/esm/temporary-vault.mjs +157 -0
  238. package/dist/lib/esm/transport-appium.d.mts +23 -3
  239. package/dist/lib/esm/transport-appium.mjs +32 -7
  240. package/dist/lib/esm/transport-desktop-cdp.d.mts +44 -17
  241. package/dist/lib/esm/transport-desktop-cdp.mjs +113 -67
  242. package/dist/lib/esm/transport-factory.mjs +71 -72
  243. package/dist/lib/esm/transport.d.mts +15 -0
  244. package/dist/lib/esm/type-guards.d.mts +9 -2
  245. package/dist/lib/esm/type-guards.mjs +7 -3
  246. package/dist/lib/esm/vault-path-match.d.mts +11 -11
  247. package/dist/lib/esm/vault-path-match.mjs +7 -7
  248. package/dist/lib/esm/version-matrix.d.mts +51 -17
  249. package/dist/lib/esm/version-matrix.mjs +1 -1
  250. package/dist/lib/esm/visibility.d.mts +5 -5
  251. package/dist/lib/esm/visibility.mjs +5 -5
  252. package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
  253. package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
  254. package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
  255. package/dist/lib/esm/vitest/global-setup.mjs +8 -8
  256. package/dist/lib/esm/vitest/setup.mjs +2 -2
  257. package/dist/lib/esm/vitest/typings.d.mts +2 -2
  258. package/dist/obsidian-integration-testing-10.1.0.tgz +0 -0
  259. package/package.json +35 -18
  260. package/dist/lib/cjs/emulator-args.cjs +0 -36
  261. package/dist/lib/cjs/temp-vault.cjs +0 -166
  262. package/dist/lib/esm/emulator-args.mjs +0 -12
  263. package/dist/lib/esm/temp-vault.mjs +0 -157
  264. package/dist/obsidian-integration-testing-9.2.2.tgz +0 -0
@@ -20,7 +20,7 @@ var appium_dependencies_exports = {};
20
20
  __export(appium_dependencies_exports, {
21
21
  UIAUTOMATOR2_DRIVER_NAME: () => UIAUTOMATOR2_DRIVER_NAME,
22
22
  checkIsAppiumDriverInstalled: () => checkIsAppiumDriverInstalled,
23
- resolveShouldAutoInstallAppiumDependencies: () => resolveShouldAutoInstallAppiumDependencies
23
+ willAutoInstallAppiumDependencies: () => willAutoInstallAppiumDependencies
24
24
  });
25
25
  module.exports = __toCommonJS(appium_dependencies_exports);
26
26
  const UIAUTOMATOR2_DRIVER_NAME = "uiautomator2";
@@ -34,15 +34,15 @@ function checkIsAppiumDriverInstalled(params) {
34
34
  if (typeof parsed !== "object" || parsed === null) {
35
35
  return false;
36
36
  }
37
- return params.driverName in parsed;
37
+ return Object.hasOwn(parsed, params.driverName);
38
38
  }
39
- function resolveShouldAutoInstallAppiumDependencies(options) {
39
+ function willAutoInstallAppiumDependencies(options) {
40
40
  return options.shouldAutoInstallAppiumDependencies ?? true;
41
41
  }
42
42
  // Annotate the CommonJS export names for ESM import in node:
43
43
  0 && (module.exports = {
44
44
  UIAUTOMATOR2_DRIVER_NAME,
45
45
  checkIsAppiumDriverInstalled,
46
- resolveShouldAutoInstallAppiumDependencies
46
+ willAutoInstallAppiumDependencies
47
47
  });
48
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FwcGl1bS1kZXBlbmRlbmNpZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIGRlY2lkaW5nIHdoZXRoZXIgdGhlIGhhcm5lc3MgbXVzdCBhdXRvLWluc3RhbGwgdGhlIEFwcGl1bVxuICogZGVwZW5kZW5jaWVzICh0aGUgYHVpYXV0b21hdG9yMmAgZHJpdmVyKSBiZWZvcmUgaXQgYXV0by1zdGFydHMgdGhlIEFwcGl1bVxuICogc2VydmVyLCBwbHVzIHJlc29sdmluZyB0aGUgYXV0by1pbnN0YWxsIG9wdC1vdXQgZnJvbSB0aGUgdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBLZXB0IHNlcGFyYXRlIGZyb20gdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1mYWN0b3J5YCBzbyB0aGUgcGFyc2luZyBhbmRcbiAqIGRlZmF1bHQgcmVzb2x1dGlvbiBzdGF5IHVuaXQtdGVzdGFibGUgKHRoZSBmYWN0b3J5IGl0c2VsZiBzaGVsbHMgb3V0IHRvIGBucG1gXG4gKiAvIGBucHhgIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuLyoqXG4gKiBUaGUgQXBwaXVtIGRyaXZlciBuYW1lIHJlcXVpcmVkIHRvIGF1dG9tYXRlIE9ic2lkaWFuIE1vYmlsZSBvbiBBbmRyb2lkLlxuICovXG5leHBvcnQgY29uc3QgVUlBVVRPTUFUT1IyX0RSSVZFUl9OQU1FID0gJ3VpYXV0b21hdG9yMic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrSXNBcHBpdW1Ecml2ZXJJbnN0YWxsZWR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSXNBcHBpdW1Ecml2ZXJJbnN0YWxsZWRQYXJhbXMge1xuICAvKipcbiAgICogUmF3IHN0ZG91dCBvZiBgYXBwaXVtIGRyaXZlciBsaXN0IC0taW5zdGFsbGVkIC0tanNvbmAgXHUyMDE0IGEgSlNPTiBvYmplY3Qga2V5ZWRcbiAgICogYnkgaW5zdGFsbGVkIGRyaXZlciBuYW1lIChge31gIHdoZW4gbm9uZSBhcmUgaW5zdGFsbGVkKS5cbiAgICovXG4gIHJlYWRvbmx5IGRyaXZlckxpc3RKc29uOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBkcml2ZXIgbmFtZSB0byBsb29rIGZvciAoZS5nLiB7QGxpbmsgVUlBVVRPTUFUT1IyX0RSSVZFUl9OQU1FfSkuICovXG4gIHJlYWRvbmx5IGRyaXZlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHdoZXRoZXIgYSBnaXZlbiBBcHBpdW0gZHJpdmVyIGlzIGluc3RhbGxlZCwgZnJvbSB0aGUgcmF3IEpTT04gb3V0cHV0XG4gKiBvZiBgYXBwaXVtIGRyaXZlciBsaXN0IC0taW5zdGFsbGVkIC0tanNvbmAuXG4gKlxuICogYC0taW5zdGFsbGVkYCByZXN0cmljdHMgdGhlIGxpc3RpbmcgdG8gaW5zdGFsbGVkIGRyaXZlcnMsIHNvIGEgZHJpdmVyIGlzXG4gKiBwcmVzZW50IGV4YWN0bHkgd2hlbiBpdHMgbmFtZSBpcyBhIGtleSBvZiB0aGUgcGFyc2VkIG9iamVjdC4gTWFsZm9ybWVkIG9yXG4gKiBub24tb2JqZWN0IG91dHB1dCAoYW4gZW1wdHkgc3RyaW5nLCBhIGxvZyBsaW5lIHRoYXQgbGVha2VkIG9udG8gc3Rkb3V0LCBhXG4gKiBKU09OIHByaW1pdGl2ZSwgYG51bGxgKSBpcyB0cmVhdGVkIGFzIFwibm90IGluc3RhbGxlZFwiIHNvIHRoZSBjYWxsZXIgcHJvY2VlZHNcbiAqIHRvIGluc3RhbGwgXHUyMDE0IHRoZSBpbnN0YWxsIGNvbW1hbmQgaXMgb25seSBpc3N1ZWQgd2hlbiB0aGlzIHJldHVybnMgYGZhbHNlYC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHNhbXBsZWQgZHJpdmVyLWxpc3Qgb3V0cHV0IGFuZCB0aGUgZHJpdmVyIG5hbWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgZHJpdmVyIGlzIGxpc3RlZCBhcyBpbnN0YWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lzQXBwaXVtRHJpdmVySW5zdGFsbGVkKHBhcmFtczogQ2hlY2tJc0FwcGl1bURyaXZlckluc3RhbGxlZFBhcmFtcyk6IGJvb2xlYW4ge1xuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1zLmRyaXZlckxpc3RKc29uKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwYXJzZWQgIT09ICdvYmplY3QnIHx8IHBhcnNlZCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBwYXJhbXMuZHJpdmVyTmFtZSBpbiBwYXJzZWQ7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2hldGhlciB0aGUgaGFybmVzcyBtYXkgYXV0by1pbnN0YWxsIG1pc3NpbmcgQXBwaXVtIGRlcGVuZGVuY2llcyxcbiAqIGFwcGx5aW5nIHRoZSBkZWZhdWx0IHdoZW4gdGhlIG9wdGlvbiBpcyBvbWl0dGVkLlxuICpcbiAqIFRoaXMgb25seSBnb3Zlcm5zIHRoZSBtYWNoaW5lLW11dGF0aW5nIGluc3RhbGwgc3RlcCAoYSBnbG9iYWwgYG5wbSBpbnN0YWxsIC1nXG4gKiBhcHBpdW1gIGFuZCBhbiBgYXBwaXVtIGRyaXZlciBpbnN0YWxsYCk7IGl0IGlzIGEgbm8tb3AgdW5sZXNzIHRoZSBoYXJuZXNzIGlzXG4gKiBhbHNvIGF1dG8tc3RhcnRpbmcgdGhlIEFwcGl1bSBzZXJ2ZXIgKHtAbGlua1xuICogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5zaG91bGRBdXRvU3RhcnRBcHBpdW19KS4gU2V0IGl0IHRvXG4gKiBgZmFsc2VgIHRvIG1hbmFnZSB0aGUgQXBwaXVtIHRvb2xjaGFpbiB5b3Vyc2VsZi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBBbmRyb2lkIEFwcGl1bSB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFdoZXRoZXIgbWlzc2luZyBBcHBpdW0gZGVwZW5kZW5jaWVzIG1heSBiZSBhdXRvLWluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTaG91bGRBdXRvSW5zdGFsbEFwcGl1bURlcGVuZGVuY2llcyhcbiAgb3B0aW9uczogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc1xuKTogYm9vbGVhbiB7XG4gIHJldHVybiBvcHRpb25zLnNob3VsZEF1dG9JbnN0YWxsQXBwaXVtRGVwZW5kZW5jaWVzID8/IHRydWU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCTyxNQUFNLDJCQUEyQjtBQTZCakMsU0FBUyw2QkFBNkIsUUFBcUQ7QUFDaEcsTUFBSTtBQUNKLE1BQUk7QUFDRixhQUFTLEtBQUssTUFBTSxPQUFPLGNBQWM7QUFBQSxFQUMzQyxRQUFRO0FBQ04sV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLE9BQU8sV0FBVyxZQUFZLFdBQVcsTUFBTTtBQUNqRCxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sT0FBTyxjQUFjO0FBQzlCO0FBZU8sU0FBUywyQ0FDZCxTQUNTO0FBQ1QsU0FBTyxRQUFRLHVDQUF1QztBQUN4RDsiLAogICJuYW1lcyI6IFtdCn0K
48
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FwcGl1bS1kZXBlbmRlbmNpZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIGRlY2lkaW5nIHdoZXRoZXIgdGhlIGhhcm5lc3MgbXVzdCBhdXRvLWluc3RhbGwgdGhlIEFwcGl1bVxuICogZGVwZW5kZW5jaWVzICh0aGUgYHVpYXV0b21hdG9yMmAgZHJpdmVyKSBiZWZvcmUgaXQgYXV0by1zdGFydHMgdGhlIEFwcGl1bVxuICogc2VydmVyLCBwbHVzIHJlc29sdmluZyB0aGUgYXV0by1pbnN0YWxsIG9wdC1vdXQgZnJvbSB0aGUgdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBLZXB0IHNlcGFyYXRlIGZyb20gdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1mYWN0b3J5YCBzbyB0aGUgcGFyc2luZyBhbmRcbiAqIGRlZmF1bHQgcmVzb2x1dGlvbiBzdGF5IHVuaXQtdGVzdGFibGUgKHRoZSBmYWN0b3J5IGl0c2VsZiBzaGVsbHMgb3V0IHRvIGBucG1gXG4gKiAvIGBucHhgIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuLyoqXG4gKiBUaGUgQXBwaXVtIGRyaXZlciBuYW1lIHJlcXVpcmVkIHRvIGF1dG9tYXRlIE9ic2lkaWFuIE1vYmlsZSBvbiBBbmRyb2lkLlxuICovXG5leHBvcnQgY29uc3QgVUlBVVRPTUFUT1IyX0RSSVZFUl9OQU1FID0gJ3VpYXV0b21hdG9yMic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrSXNBcHBpdW1Ecml2ZXJJbnN0YWxsZWR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSXNBcHBpdW1Ecml2ZXJJbnN0YWxsZWRQYXJhbXMge1xuICAvKipcbiAgICogUmF3IHN0ZG91dCBvZiBgYXBwaXVtIGRyaXZlciBsaXN0IC0taW5zdGFsbGVkIC0tanNvbmAgXHUyMDE0IGEgSlNPTiBvYmplY3Qga2V5ZWRcbiAgICogYnkgaW5zdGFsbGVkIGRyaXZlciBuYW1lIChge31gIHdoZW4gbm9uZSBhcmUgaW5zdGFsbGVkKS5cbiAgICovXG4gIHJlYWRvbmx5IGRyaXZlckxpc3RKc29uOiBzdHJpbmc7XG5cbiAgLyoqXG4gIFRoZSBkcml2ZXIgbmFtZSB0byBsb29rIGZvciAoZS5nLiB7QGxpbmsgVUlBVVRPTUFUT1IyX0RSSVZFUl9OQU1FfSkuXG4gICAqL1xuICByZWFkb25seSBkcml2ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgZ2l2ZW4gQXBwaXVtIGRyaXZlciBpcyBpbnN0YWxsZWQsIGZyb20gdGhlIHJhdyBKU09OIG91dHB1dFxuICogb2YgYGFwcGl1bSBkcml2ZXIgbGlzdCAtLWluc3RhbGxlZCAtLWpzb25gLlxuICpcbiAqIGAtLWluc3RhbGxlZGAgcmVzdHJpY3RzIHRoZSBsaXN0aW5nIHRvIGluc3RhbGxlZCBkcml2ZXJzLCBzbyBhIGRyaXZlciBpc1xuICogcHJlc2VudCBleGFjdGx5IHdoZW4gaXRzIG5hbWUgaXMgYSBrZXkgb2YgdGhlIHBhcnNlZCBvYmplY3QuIE1hbGZvcm1lZCBvclxuICogbm9uLW9iamVjdCBvdXRwdXQgKGFuIGVtcHR5IHN0cmluZywgYSBsb2cgbGluZSB0aGF0IGxlYWtlZCBvbnRvIHN0ZG91dCwgYVxuICogSlNPTiBwcmltaXRpdmUsIGBudWxsYCkgaXMgdHJlYXRlZCBhcyBcIm5vdCBpbnN0YWxsZWRcIiBzbyB0aGUgY2FsbGVyIHByb2NlZWRzXG4gKiB0byBpbnN0YWxsIFx1MjAxNCB0aGUgaW5zdGFsbCBjb21tYW5kIGlzIG9ubHkgaXNzdWVkIHdoZW4gdGhpcyByZXR1cm5zIGBmYWxzZWAuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBzYW1wbGVkIGRyaXZlci1saXN0IG91dHB1dCBhbmQgdGhlIGRyaXZlciBuYW1lIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGRyaXZlciBpcyBsaXN0ZWQgYXMgaW5zdGFsbGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJc0FwcGl1bURyaXZlckluc3RhbGxlZChwYXJhbXM6IENoZWNrSXNBcHBpdW1Ecml2ZXJJbnN0YWxsZWRQYXJhbXMpOiBib29sZWFuIHtcbiAgbGV0IHBhcnNlZDogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKHBhcmFtcy5kcml2ZXJMaXN0SnNvbik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcGFyc2VkICE9PSAnb2JqZWN0JyB8fCBwYXJzZWQgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0Lmhhc093bihwYXJzZWQsIHBhcmFtcy5kcml2ZXJOYW1lKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB3aGV0aGVyIHRoZSBoYXJuZXNzIG1heSBhdXRvLWluc3RhbGwgbWlzc2luZyBBcHBpdW0gZGVwZW5kZW5jaWVzLFxuICogYXBwbHlpbmcgdGhlIGRlZmF1bHQgd2hlbiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuXG4gKlxuICogVGhpcyBvbmx5IGdvdmVybnMgdGhlIG1hY2hpbmUtbXV0YXRpbmcgaW5zdGFsbCBzdGVwIChhIGdsb2JhbCBgbnBtIGluc3RhbGwgLWdcbiAqIGFwcGl1bWAgYW5kIGFuIGBhcHBpdW0gZHJpdmVyIGluc3RhbGxgKTsgaXQgaXMgYSBuby1vcCB1bmxlc3MgdGhlIGhhcm5lc3MgaXNcbiAqIGFsc28gYXV0by1zdGFydGluZyB0aGUgQXBwaXVtIHNlcnZlciAoe0BsaW5rXG4gKiBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLnNob3VsZEF1dG9TdGFydEFwcGl1bX0pLiBTZXQgaXQgdG9cbiAqIGBmYWxzZWAgdG8gbWFuYWdlIHRoZSBBcHBpdW0gdG9vbGNoYWluIHlvdXJzZWxmLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIEFuZHJvaWQgQXBwaXVtIHRyYW5zcG9ydCBvcHRpb25zLlxuICogQHJldHVybnMgV2hldGhlciBtaXNzaW5nIEFwcGl1bSBkZXBlbmRlbmNpZXMgbWF5IGJlIGF1dG8taW5zdGFsbGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2lsbEF1dG9JbnN0YWxsQXBwaXVtRGVwZW5kZW5jaWVzKFxuICBvcHRpb25zOiBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIG9wdGlvbnMuc2hvdWxkQXV0b0luc3RhbGxBcHBpdW1EZXBlbmRlbmNpZXMgPz8gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JPLE1BQU0sMkJBQTJCO0FBK0JqQyxTQUFTLDZCQUE2QixRQUFxRDtBQUNoRyxNQUFJO0FBQ0osTUFBSTtBQUNGLGFBQVMsS0FBSyxNQUFNLE9BQU8sY0FBYztBQUFBLEVBQzNDLFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksT0FBTyxXQUFXLFlBQVksV0FBVyxNQUFNO0FBQ2pELFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxPQUFPLE9BQU8sUUFBUSxPQUFPLFVBQVU7QUFDaEQ7QUFlTyxTQUFTLGtDQUNkLFNBQ1M7QUFDVCxTQUFPLFFBQVEsdUNBQXVDO0FBQ3hEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -22,7 +22,9 @@ export interface CheckIsAppiumDriverInstalledParams {
22
22
  * by installed driver name (`{}` when none are installed).
23
23
  */
24
24
  readonly driverListJson: string;
25
- /** The driver name to look for (e.g. {@link UIAUTOMATOR2_DRIVER_NAME}). */
25
+ /**
26
+ The driver name to look for (e.g. {@link UIAUTOMATOR2_DRIVER_NAME}).
27
+ */
26
28
  readonly driverName: string;
27
29
  }
28
30
  /**
@@ -52,4 +54,4 @@ export declare function checkIsAppiumDriverInstalled(params: CheckIsAppiumDriver
52
54
  * @param options - The Android Appium transport options.
53
55
  * @returns Whether missing Appium dependencies may be auto-installed.
54
56
  */
55
- export declare function resolveShouldAutoInstallAppiumDependencies(options: ObsidianAndroidAppiumTransportOptions): boolean;
57
+ export declare function willAutoInstallAppiumDependencies(options: ObsidianAndroidAppiumTransportOptions): boolean;
@@ -39,4 +39,4 @@ function resolveSessionConnectionRetryTimeoutInMilliseconds(options) {
39
39
  resolveAppiumStartTimeoutInMilliseconds,
40
40
  resolveSessionConnectionRetryTimeoutInMilliseconds
41
41
  });
42
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FwcGl1bS1zZXNzaW9uLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlc29sdmVzIHR1bmFibGUgQXBwaXVtIHNlcnZlci1zdGFydCBhbmQgc2Vzc2lvbi1lc3RhYmxpc2htZW50IHRpbWVvdXRzIGZyb21cbiAqIHRoZSB0cmFuc3BvcnQgb3B0aW9ucywgYXBwbHlpbmcgZGVmYXVsdHMuIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGVcbiAqIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1mYWN0b3J5YCBzbyB0aGUgZGVmYXVsdCByZXNvbHV0aW9uIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlICh0aGUgZmFjdG9yeSBpdHNlbGYgbmVlZHMgYSByZWFsIEFwcGl1bSBzZXJ2ZXIgYW5kIGlzIGV4Y2x1ZGVkXG4gKiBmcm9tIHVuaXQgdGVzdHMpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuLyoqXG4gKiBEZWZhdWx0IGZvciB7QGxpbmsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5hcHBpdW1TdGFydFRpbWVvdXRJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FQUElVTV9TVEFSVF9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDE4MDAwMDtcblxuLyoqXG4gKiBEZWZhdWx0IGZvciB7QGxpbmsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5zZXNzaW9uQ29ubmVjdGlvblJldHJ5VGltZW91dEluTWlsbGlzZWNvbmRzfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VTU0lPTl9DT05ORUNUSU9OX1JFVFJZX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gMTgwMDAwO1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBhdXRvLXN0YXJ0ZWQgQXBwaXVtIHNlcnZlciByZWFkaW5lc3MgdGltZW91dCwgYXBwbHlpbmcgdGhlXG4gKiBkZWZhdWx0IHdoZW4gdGhlIG9wdGlvbiBpcyBvbWl0dGVkLlxuICpcbiAqIFRoaXMgZ292ZXJucyBob3cgbG9uZyB0aGUgZmFjdG9yeSBwb2xscyB0aGUgYXV0by1zdGFydGVkIEFwcGl1bSBzZXJ2ZXInc1xuICogYC9zdGF0dXNgIGVuZHBvaW50IGJlZm9yZSBnaXZpbmcgdXAuIE9ubHkgcmVsZXZhbnQgd2hlbiB0aGUgaGFybmVzc1xuICogYXV0by1zdGFydHMgdGhlIHNlcnZlcjsgd2hlbiBhdHRhY2hpbmcgdG8gYW4gYWxyZWFkeS1ydW5uaW5nIHNlcnZlciB0aGUgd2FpdFxuICogaXMgc2tpcHBlZCBlbnRpcmVseS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBBbmRyb2lkIEFwcGl1bSB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBcHBpdW1TdGFydFRpbWVvdXRJbk1pbGxpc2Vjb25kcyhcbiAgb3B0aW9uczogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc1xuKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9wdGlvbnMuYXBwaXVtU3RhcnRUaW1lb3V0SW5NaWxsaXNlY29uZHMgPz8gREVGQVVMVF9BUFBJVU1fU1RBUlRfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFM7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIEFwcGl1bSBzZXNzaW9uIGNvbm5lY3Rpb24gcmV0cnkgdGltZW91dCwgYXBwbHlpbmcgdGhlIGRlZmF1bHRcbiAqIHdoZW4gdGhlIG9wdGlvbiBpcyBvbWl0dGVkLlxuICpcbiAqIFRoaXMgZ292ZXJucyBob3cgbG9uZyBXZWJEcml2ZXJJTydzIGByZW1vdGUoKWAgd2FpdHMgZm9yIHRoZSBzZXNzaW9uIHRvIGJlXG4gKiBlc3RhYmxpc2hlZCAoVWlBdXRvbWF0b3IyIHNlcnZlciBpbnN0YWxsICsgYXBwIGxhdW5jaCkgXHUyMDE0IGVtcGlyaWNhbGx5IHRoZVxuICogbGFyZ2VzdCBhbmQgbW9zdCBsb2FkLXNlbnNpdGl2ZSBzdGVwIG9mIHRoZSBBbmRyb2lkIHNldHVwLCBzbyBpdCBpcyB0aGUga25vYlxuICogdG8gcmFpc2Ugd2hlbiBzZXNzaW9uIGVzdGFibGlzaG1lbnQgdGltZXMgb3V0IG9uIGEgY29sZCBvciBjb250ZW5kZWQgZW11bGF0b3IuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgQW5kcm9pZCBBcHBpdW0gdHJhbnNwb3J0IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2Vzc2lvbkNvbm5lY3Rpb25SZXRyeVRpbWVvdXRJbk1pbGxpc2Vjb25kcyhcbiAgb3B0aW9uczogT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9uc1xuKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9wdGlvbnMuc2Vzc2lvbkNvbm5lY3Rpb25SZXRyeVRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX1NFU1NJT05fQ09OTkVDVElPTl9SRVRSWV9USU1FT1VUX0lOX01JTExJU0VDT05EUztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlTyxNQUFNLCtDQUErQztBQUtyRCxNQUFNLDJEQUEyRDtBQWNqRSxTQUFTLHdDQUNkLFNBQ1E7QUFDUixTQUFPLFFBQVEsb0NBQW9DO0FBQ3JEO0FBY08sU0FBUyxtREFDZCxTQUNRO0FBQ1IsU0FBTyxRQUFRLCtDQUErQztBQUNoRTsiLAogICJuYW1lcyI6IFtdCn0K
42
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FwcGl1bS1zZXNzaW9uLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlc29sdmVzIHR1bmFibGUgQXBwaXVtIHNlcnZlci1zdGFydCBhbmQgc2Vzc2lvbi1lc3RhYmxpc2htZW50IHRpbWVvdXRzIGZyb21cbiAqIHRoZSB0cmFuc3BvcnQgb3B0aW9ucywgYXBwbHlpbmcgZGVmYXVsdHMuIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGVcbiAqIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1mYWN0b3J5YCBzbyB0aGUgZGVmYXVsdCByZXNvbHV0aW9uIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlICh0aGUgZmFjdG9yeSBpdHNlbGYgbmVlZHMgYSByZWFsIEFwcGl1bSBzZXJ2ZXIgYW5kIGlzIGV4Y2x1ZGVkXG4gKiBmcm9tIHVuaXQgdGVzdHMpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcblxuLyoqXG4gKiBEZWZhdWx0IGZvciB7QGxpbmsgT2JzaWRpYW5BbmRyb2lkQXBwaXVtVHJhbnNwb3J0T3B0aW9ucy5hcHBpdW1TdGFydFRpbWVvdXRJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FQUElVTV9TVEFSVF9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDE4MF8wMDA7XG5cbi8qKlxuICogRGVmYXVsdCBmb3Ige0BsaW5rIE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnMuc2Vzc2lvbkNvbm5lY3Rpb25SZXRyeVRpbWVvdXRJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFU1NJT05fQ09OTkVDVElPTl9SRVRSWV9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDE4MF8wMDA7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGF1dG8tc3RhcnRlZCBBcHBpdW0gc2VydmVyIHJlYWRpbmVzcyB0aW1lb3V0LCBhcHBseWluZyB0aGVcbiAqIGRlZmF1bHQgd2hlbiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuXG4gKlxuICogVGhpcyBnb3Zlcm5zIGhvdyBsb25nIHRoZSBmYWN0b3J5IHBvbGxzIHRoZSBhdXRvLXN0YXJ0ZWQgQXBwaXVtIHNlcnZlcidzXG4gKiBgL3N0YXR1c2AgZW5kcG9pbnQgYmVmb3JlIGdpdmluZyB1cC4gT25seSByZWxldmFudCB3aGVuIHRoZSBoYXJuZXNzXG4gKiBhdXRvLXN0YXJ0cyB0aGUgc2VydmVyOyB3aGVuIGF0dGFjaGluZyB0byBhbiBhbHJlYWR5LXJ1bm5pbmcgc2VydmVyIHRoZSB3YWl0XG4gKiBpcyBza2lwcGVkIGVudGlyZWx5LlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIEFuZHJvaWQgQXBwaXVtIHRyYW5zcG9ydCBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUFwcGl1bVN0YXJ0VGltZW91dEluTWlsbGlzZWNvbmRzKFxuICBvcHRpb25zOiBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zXG4pOiBudW1iZXIge1xuICByZXR1cm4gb3B0aW9ucy5hcHBpdW1TdGFydFRpbWVvdXRJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX0FQUElVTV9TVEFSVF9USU1FT1VUX0lOX01JTExJU0VDT05EUztcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgQXBwaXVtIHNlc3Npb24gY29ubmVjdGlvbiByZXRyeSB0aW1lb3V0LCBhcHBseWluZyB0aGUgZGVmYXVsdFxuICogd2hlbiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuXG4gKlxuICogVGhpcyBnb3Zlcm5zIGhvdyBsb25nIFdlYkRyaXZlcklPJ3MgYHJlbW90ZSgpYCB3YWl0cyBmb3IgdGhlIHNlc3Npb24gdG8gYmVcbiAqIGVzdGFibGlzaGVkIChVaUF1dG9tYXRvcjIgc2VydmVyIGluc3RhbGwgKyBhcHAgbGF1bmNoKSBcdTIwMTQgZW1waXJpY2FsbHkgdGhlXG4gKiBsYXJnZXN0IGFuZCBtb3N0IGxvYWQtc2Vuc2l0aXZlIHN0ZXAgb2YgdGhlIEFuZHJvaWQgc2V0dXAsIHNvIGl0IGlzIHRoZSBrbm9iXG4gKiB0byByYWlzZSB3aGVuIHNlc3Npb24gZXN0YWJsaXNobWVudCB0aW1lcyBvdXQgb24gYSBjb2xkIG9yIGNvbnRlbmRlZCBlbXVsYXRvci5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBBbmRyb2lkIEFwcGl1bSB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTZXNzaW9uQ29ubmVjdGlvblJldHJ5VGltZW91dEluTWlsbGlzZWNvbmRzKFxuICBvcHRpb25zOiBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zXG4pOiBudW1iZXIge1xuICByZXR1cm4gb3B0aW9ucy5zZXNzaW9uQ29ubmVjdGlvblJldHJ5VGltZW91dEluTWlsbGlzZWNvbmRzID8/IERFRkFVTFRfU0VTU0lPTl9DT05ORUNUSU9OX1JFVFJZX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVPLE1BQU0sK0NBQStDO0FBS3JELE1BQU0sMkRBQTJEO0FBY2pFLFNBQVMsd0NBQ2QsU0FDUTtBQUNSLFNBQU8sUUFBUSxvQ0FBb0M7QUFDckQ7QUFjTyxTQUFTLG1EQUNkLFNBQ1E7QUFDUixTQUFPLFFBQVEsK0NBQStDO0FBQ2hFOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var asar_fallback_detection_exports = {};
20
20
  __export(asar_fallback_detection_exports, {
21
- checkAsarFallback: () => checkAsarFallback
21
+ resolveAsarFallback: () => resolveAsarFallback
22
22
  });
23
23
  module.exports = __toCommonJS(asar_fallback_detection_exports);
24
24
  var import_obsidian_version = require("./obsidian-version.cjs");
25
- function checkAsarFallback(params) {
25
+ function resolveAsarFallback(params) {
26
26
  const { requestedVersion, runningApiVersion } = params;
27
27
  if (requestedVersion === void 0 || runningApiVersion === void 0) {
28
28
  return {
@@ -43,6 +43,6 @@ function checkAsarFallback(params) {
43
43
  }
44
44
  // Annotate the CommonJS export names for ESM import in node:
45
45
  0 && (module.exports = {
46
- checkAsarFallback
46
+ resolveAsarFallback
47
47
  });
48
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FzYXItZmFsbGJhY2stZGV0ZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSBib290ZWQgb3duZWQgT2JzaWRpYW4gaW5zdGFuY2UgaXMgYWN0dWFsbHkgcnVubmluZ1xuICogdGhlIHBpbm5lZCBhcHAgKGFzYXIpIHZlcnNpb24sIG9yICoqc2lsZW50bHkgZmVsbCBiYWNrKiogdG8gdGhlIGluc3RhbGxlcidzIG93blxuICogYnVuZGxlZCBhc2FyLiBLZXB0IHNlcGFyYXRlIGZyb20gdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1kZXNrdG9wLWNkcGBcbiAqICh3aGljaCByZWFkcyB0aGUgbGl2ZSB2ZXJzaW9uIG92ZXIgQ0RQIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZVxuICogdGllciBsb2dpYyBzdGF5cyB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGBpbnN0YWxsZXItY29tcGF0aWJpbGl0eWAgL1xuICogYGVsZWN0cm9uLWNvbXBhdGliaWxpdHlgIC8gYHJlbmRlcmVyLWJvb3QtZGV0ZWN0aW9uYCBzcGxpdC5cbiAqXG4gKiBXaGVuIGFuIGFzYXIgaXMgc3dhcHBlZCBvbnRvIGFuIGluc3RhbGxlciBzaGVsbCBiZWxvdyBpdHMgcmVhbCBib290IGZsb29yLCB0aGVcbiAqIHJlbmRlcmVyIGRvZXMgbm90IGFsd2F5cyBkZWFkLWJvb3QgKHRoZSBibGFjayBzY3JlZW4gYHJlbmRlcmVyLWJvb3QtZGV0ZWN0aW9uYFxuICogY2F0Y2hlcykuIFNvbWUgYXBwIHZlcnNpb25zIGluc3RlYWQgKipzaWxlbnRseSByZXZlcnQgdG8gdGhlIGluc3RhbGxlcidzIG93blxuICogYnVuZGxlZCBhc2FyKiogYW5kIHJlbmRlciBhIHBlcmZlY3RseSBoZWFsdGh5IFVJIG9mIHRoZSAqd3JvbmcgKG9sZGVyKSogdmVyc2lvbi5cbiAqIFRoZSBkZWFkLWJvb3QgZGV0ZWN0b3IgcmVhZHMgdGhhdCBoZWFsdGh5IFVJIGFzIGEgZmFsc2UtcG9zaXRpdmUgXCJydW5uYWJsZVwiIFx1MjAxNFxuICogZXhhY3RseSBob3cgT2JzaWRpYW4gYDEuMTMuMGAgb24gaW5zdGFsbGVyIGAxLjEuOWAgd2FzIGZpcnN0IG1pcy1tZWFzdXJlZCAoaXRcbiAqIHJlcG9ydHMgYGFwaVZlcnNpb25gIGAxLjEuOWAsIG5vdCBgMS4xMy4wYCkuXG4gKlxuICogVGhlIGRpc2NyaW1pbmF0b3IgaXMgdGhlICoqcnVubmluZyoqIGFwcCB2ZXJzaW9uLCByZWFkIGxpdmUgcG9zdC1ib290XG4gKiAoYGlwY1JlbmRlcmVyLnNlbmRTeW5jKCd2ZXJzaW9uJylgIC8gYG9ic2lkaWFuTW9kdWxlLmFwaVZlcnNpb25gLCB3aGljaCBib3RoXG4gKiB0cmFjayB0aGUgYXNhciBhY3R1YWxseSBydW5uaW5nKS4gVGhpcyB2ZXJkaWN0IGNvbXBhcmVzIGl0IHRvIHRoZSBwaW5uZWRcbiAqIHZlcnNpb246IGVxdWFsIFx1MjFEMiBgJ21hdGNoJ2AsIGRpZmZlcmVudCBcdTIxRDIgYCdmYWxsYmFjaydgICh0aGUgcGluIHdhcyBub3QgaG9ub3JlZCksXG4gKiBhbmQgYCd1bmtub3duJ2Agd2hlbiBlaXRoZXIgdmVyc2lvbiBpcyB1bmF2YWlsYWJsZSAobm8gYXNhciB3YXMgc3dhcHBlZCwgb3IgdGhlXG4gKiBsaXZlIHZlcnNpb24gY291bGQgbm90IGJlIHJlYWQpIFx1MjAxNCBpbiB3aGljaCBjYXNlIG5vdGhpbmcgaXMgdGhyb3duIG9yIHdhcm5lZC5cbiAqL1xuXG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICcuL29ic2lkaWFuLXZlcnNpb24uY2pzJztcblxuLyoqXG4gKiBUaGUgc2lsZW50LWFzYXItZmFsbGJhY2sgdmVyZGljdCBmb3IgYSBib290ZWQgb3duZWQgaW5zdGFuY2UsIGNhcnJpZWQgYXMgZGF0YVxuICogb24gdGhlIHRyYW5zcG9ydCAvIGNvbm5lY3Rpb24gcmVzdWx0IHNvIGNvbnN1bWVycyBjYW4gYXNzZXJ0IG9uIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzYXJGYWxsYmFjayB7XG4gIC8qKiBBIGh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uLCBwcmVzZW50IGZvciB0aGUgYCdmYWxsYmFjaydgIHRpZXIuICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwaW5uZWQgYXBwIChhc2FyKSB2ZXJzaW9uIHRoYXQgd2FzIHJlcXVlc3RlZCwgb3IgYG51bGxgIHdoZW4gbm9uZS4gKi9cbiAgcmVhZG9ubHkgcmVxdWVzdGVkVmVyc2lvbjogbnVsbCB8IHN0cmluZztcblxuICAvKiogVGhlIGFwcCAoYXNhcikgdmVyc2lvbiBhY3R1YWxseSBydW5uaW5nLCBvciBgbnVsbGAgd2hlbiB1bnJlYWRhYmxlLiAqL1xuICByZWFkb25seSBydW5uaW5nQXBpVmVyc2lvbjogbnVsbCB8IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIGZhbGxiYWNrIHRpZXIuICovXG4gIHJlYWRvbmx5IHRpZXI6IEFzYXJGYWxsYmFja1RpZXI7XG59XG5cbi8qKlxuICogVGhlIHNpbGVudC1hc2FyLWZhbGxiYWNrIHRpZXIgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLlxuICpcbiAqIC0gYCdtYXRjaCdgIFx1MjAxNCB0aGUgcnVubmluZyBhcHAgdmVyc2lvbiBlcXVhbHMgdGhlIHBpbm5lZCB2ZXJzaW9uOyB0aGUgcGluIHdhc1xuICogICBob25vcmVkLlxuICogLSBgJ2ZhbGxiYWNrJ2AgXHUyMDE0IHRoZSBydW5uaW5nIGFwcCB2ZXJzaW9uIGRpZmZlcnMgZnJvbSB0aGUgcGlubmVkIHZlcnNpb247IHRoZVxuICogICBpbnN0YWxsZXIgc2lsZW50bHkgcmFuIGEgZGlmZmVyZW50IChpdHMgb3duIGJ1bmRsZWQpIGFzYXIgaW5zdGVhZCBvZiB0aGUgcGluLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKG5vIGFzYXIgd2FzIHN3YXBwZWQsIHNvIHRoZXJlIGlzIG5vIHBpbiB0b1xuICogICB2ZXJpZnksIG9yIHRoZSBsaXZlIHJ1bm5pbmcgdmVyc2lvbiBjb3VsZCBub3QgYmUgcmVhZCkuXG4gKi9cbmV4cG9ydCB0eXBlIEFzYXJGYWxsYmFja1RpZXIgPSAnZmFsbGJhY2snIHwgJ21hdGNoJyB8ICd1bmtub3duJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY2hlY2tBc2FyRmFsbGJhY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQXNhckZhbGxiYWNrUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwaW5uZWQgT2JzaWRpYW4gYXBwIChhc2FyKSB2ZXJzaW9uIHRoZSBvd25lZCBpbnN0YW5jZSB3YXMgYXNrZWQgdG8gcnVuLFxuICAgKiBvciBgdW5kZWZpbmVkYCB3aGVuIG5vIGFzYXIgd2FzIHN3YXBwZWQgKHNvIHRoZXJlIGlzIG5vdGhpbmcgdG8gdmVyaWZ5KS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RlZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbiB0aGUgaW5zdGFuY2UgaXMgYWN0dWFsbHkgcnVubmluZywgcmVhZCBsaXZlXG4gICAqIHBvc3QtYm9vdCwgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBjb3VsZCBub3QgYmUgcmVhZC5cbiAgICovXG4gIHJlYWRvbmx5IHJ1bm5pbmdBcGlWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIHNpbGVudC1hc2FyLWZhbGxiYWNrIHZlcmRpY3QgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLlxuICpcbiAqIE9ubHkgYCdmYWxsYmFjaydgIHdhcnJhbnRzIGFjdGlvbiAoYSB0aHJvdyAvIHdhcm5pbmcpOyBgJ21hdGNoJ2AgYW5kIGAndW5rbm93bidgXG4gKiBhcmUgc2lsZW50LiBDb21wYXJpc29uIGlzIGEgcHVyZSBgeC55LnpgIHZlcnNpb24gY29tcGFyZSBcdTIwMTQgbm8gSS9PLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGlubmVkIHZlcnNpb24gYW5kIHRoZSBsaXZlIHJ1bm5pbmcgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBmYWxsYmFjayB2ZXJkaWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tBc2FyRmFsbGJhY2socGFyYW1zOiBDaGVja0FzYXJGYWxsYmFja1BhcmFtcyk6IEFzYXJGYWxsYmFjayB7XG4gIGNvbnN0IHsgcmVxdWVzdGVkVmVyc2lvbiwgcnVubmluZ0FwaVZlcnNpb24gfSA9IHBhcmFtcztcblxuICBpZiAocmVxdWVzdGVkVmVyc2lvbiA9PT0gdW5kZWZpbmVkIHx8IHJ1bm5pbmdBcGlWZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWVzdGVkVmVyc2lvbjogcmVxdWVzdGVkVmVyc2lvbiA/PyBudWxsLFxuICAgICAgcnVubmluZ0FwaVZlcnNpb246IHJ1bm5pbmdBcGlWZXJzaW9uID8/IG51bGwsXG4gICAgICB0aWVyOiAndW5rbm93bidcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhydW5uaW5nQXBpVmVyc2lvbiwgcmVxdWVzdGVkVmVyc2lvbikgPT09IDApIHtcbiAgICByZXR1cm4geyByZXF1ZXN0ZWRWZXJzaW9uLCBydW5uaW5nQXBpVmVyc2lvbiwgdGllcjogJ21hdGNoJyB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiBgT2JzaWRpYW4gd2FzIHBpbm5lZCB0byBhcHAgdmVyc2lvbiAke3JlcXVlc3RlZFZlcnNpb259IGJ1dCBpcyBhY3R1YWxseSBydW5uaW5nICR7cnVubmluZ0FwaVZlcnNpb259IFx1MjAxNCBgXG4gICAgICArICd0aGUgaW5zdGFsbGVyIHNpbGVudGx5IGZlbGwgYmFjayB0byBpdHMgb3duIGJ1bmRsZWQgYXNhciBpbnN0ZWFkIG9mIHJ1bm5pbmcgdGhlIHBpbm5lZCB2ZXJzaW9uLiAnXG4gICAgICArIGBQaW4gYW4gb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uIGF0IG9yIGFib3ZlICR7cmVxdWVzdGVkVmVyc2lvbn0ncyBydW4gZmxvb3Igc28gdGhlIHBpbiBhY3R1YWxseSBydW5zLmAsXG4gICAgcmVxdWVzdGVkVmVyc2lvbixcbiAgICBydW5uaW5nQXBpVmVyc2lvbixcbiAgICB0aWVyOiAnZmFsbGJhY2snXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMEJBLDhCQUFnQztBQTBEekIsU0FBUyxrQkFBa0IsUUFBK0M7QUFDL0UsUUFBTSxFQUFFLGtCQUFrQixrQkFBa0IsSUFBSTtBQUVoRCxNQUFJLHFCQUFxQixVQUFhLHNCQUFzQixRQUFXO0FBQ3JFLFdBQU87QUFBQSxNQUNMLGtCQUFrQixvQkFBb0I7QUFBQSxNQUN0QyxtQkFBbUIscUJBQXFCO0FBQUEsTUFDeEMsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsVUFBSSx5Q0FBZ0IsbUJBQW1CLGdCQUFnQixNQUFNLEdBQUc7QUFDOUQsV0FBTyxFQUFFLGtCQUFrQixtQkFBbUIsTUFBTSxRQUFRO0FBQUEsRUFDOUQ7QUFFQSxTQUFPO0FBQUEsSUFDTCxTQUFTLHNDQUFzQyxnQkFBZ0IsNEJBQTRCLGlCQUFpQix1SkFFekQsZ0JBQWdCO0FBQUEsSUFDbkU7QUFBQSxJQUNBO0FBQUEsSUFDQSxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
48
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FzYXItZmFsbGJhY2stZGV0ZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSBib290ZWQgb3duZWQgT2JzaWRpYW4gaW5zdGFuY2UgaXMgYWN0dWFsbHkgcnVubmluZ1xuICogdGhlIHBpbm5lZCBhcHAgKGFzYXIpIHZlcnNpb24sIG9yICoqc2lsZW50bHkgZmVsbCBiYWNrKiogdG8gdGhlIGluc3RhbGxlcidzIG93blxuICogYnVuZGxlZCBhc2FyLiBLZXB0IHNlcGFyYXRlIGZyb20gdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1kZXNrdG9wLWNkcGBcbiAqICh3aGljaCByZWFkcyB0aGUgbGl2ZSB2ZXJzaW9uIG92ZXIgQ0RQIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZVxuICogdGllciBsb2dpYyBzdGF5cyB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGBpbnN0YWxsZXItY29tcGF0aWJpbGl0eWAgL1xuICogYGVsZWN0cm9uLWNvbXBhdGliaWxpdHlgIC8gYHJlbmRlcmVyLWJvb3QtZGV0ZWN0aW9uYCBzcGxpdC5cbiAqXG4gKiBXaGVuIGFuIGFzYXIgaXMgc3dhcHBlZCBvbnRvIGFuIGluc3RhbGxlciBzaGVsbCBiZWxvdyBpdHMgcmVhbCBib290IGZsb29yLCB0aGVcbiAqIHJlbmRlcmVyIGRvZXMgbm90IGFsd2F5cyBkZWFkLWJvb3QgKHRoZSBibGFjayBzY3JlZW4gYHJlbmRlcmVyLWJvb3QtZGV0ZWN0aW9uYFxuICogY2F0Y2hlcykuIFNvbWUgYXBwIHZlcnNpb25zIGluc3RlYWQgKipzaWxlbnRseSByZXZlcnQgdG8gdGhlIGluc3RhbGxlcidzIG93blxuICogYnVuZGxlZCBhc2FyKiogYW5kIHJlbmRlciBhIHBlcmZlY3RseSBoZWFsdGh5IFVJIG9mIHRoZSAqd3JvbmcgKG9sZGVyKSogdmVyc2lvbi5cbiAqIFRoZSBkZWFkLWJvb3QgZGV0ZWN0b3IgcmVhZHMgdGhhdCBoZWFsdGh5IFVJIGFzIGEgZmFsc2UtcG9zaXRpdmUgXCJydW5uYWJsZVwiIFx1MjAxNFxuICogZXhhY3RseSBob3cgT2JzaWRpYW4gYDEuMTMuMGAgb24gaW5zdGFsbGVyIGAxLjEuOWAgd2FzIGZpcnN0IG1pcy1tZWFzdXJlZCAoaXRcbiAqIHJlcG9ydHMgYGFwaVZlcnNpb25gIGAxLjEuOWAsIG5vdCBgMS4xMy4wYCkuXG4gKlxuICogVGhlIGRpc2NyaW1pbmF0b3IgaXMgdGhlICoqcnVubmluZyoqIGFwcCB2ZXJzaW9uLCByZWFkIGxpdmUgcG9zdC1ib290XG4gKiAoYGlwY1JlbmRlcmVyLnNlbmRTeW5jKCd2ZXJzaW9uJylgIC8gYG9ic2lkaWFuTW9kdWxlLmFwaVZlcnNpb25gLCB3aGljaCBib3RoXG4gKiB0cmFjayB0aGUgYXNhciBhY3R1YWxseSBydW5uaW5nKS4gVGhpcyB2ZXJkaWN0IGNvbXBhcmVzIGl0IHRvIHRoZSBwaW5uZWRcbiAqIHZlcnNpb246IGVxdWFsIFx1MjFEMiBgJ21hdGNoJ2AsIGRpZmZlcmVudCBcdTIxRDIgYCdmYWxsYmFjaydgICh0aGUgcGluIHdhcyBub3QgaG9ub3JlZCksXG4gKiBhbmQgYCd1bmtub3duJ2Agd2hlbiBlaXRoZXIgdmVyc2lvbiBpcyB1bmF2YWlsYWJsZSAobm8gYXNhciB3YXMgc3dhcHBlZCwgb3IgdGhlXG4gKiBsaXZlIHZlcnNpb24gY291bGQgbm90IGJlIHJlYWQpIFx1MjAxNCBpbiB3aGljaCBjYXNlIG5vdGhpbmcgaXMgdGhyb3duIG9yIHdhcm5lZC5cbiAqL1xuXG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICcuL29ic2lkaWFuLXZlcnNpb24uY2pzJztcblxuLyoqXG4gKiBUaGUgc2lsZW50LWFzYXItZmFsbGJhY2sgdmVyZGljdCBmb3IgYSBib290ZWQgb3duZWQgaW5zdGFuY2UsIGNhcnJpZWQgYXMgZGF0YVxuICogb24gdGhlIHRyYW5zcG9ydCAvIGNvbm5lY3Rpb24gcmVzdWx0IHNvIGNvbnN1bWVycyBjYW4gYXNzZXJ0IG9uIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzYXJGYWxsYmFjayB7XG4gIC8qKlxuICBBIGh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uLCBwcmVzZW50IGZvciB0aGUgYCdmYWxsYmFjaydgIHRpZXIuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgcGlubmVkIGFwcCAoYXNhcikgdmVyc2lvbiB0aGF0IHdhcyByZXF1ZXN0ZWQsIG9yIGBudWxsYCB3aGVuIG5vbmUuXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0ZWRWZXJzaW9uOiBudWxsIHwgc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgYXBwIChhc2FyKSB2ZXJzaW9uIGFjdHVhbGx5IHJ1bm5pbmcsIG9yIGBudWxsYCB3aGVuIHVucmVhZGFibGUuXG4gICAqL1xuICByZWFkb25seSBydW5uaW5nQXBpVmVyc2lvbjogbnVsbCB8IHN0cmluZztcblxuICAvKipcbiAgVGhlIHJlc29sdmVkIGZhbGxiYWNrIHRpZXIuXG4gICAqL1xuICByZWFkb25seSB0aWVyOiBBc2FyRmFsbGJhY2tUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBzaWxlbnQtYXNhci1mYWxsYmFjayB0aWVyIGZvciBhIGJvb3RlZCBvd25lZCBpbnN0YW5jZS5cbiAqXG4gKiAtIGAnbWF0Y2gnYCBcdTIwMTQgdGhlIHJ1bm5pbmcgYXBwIHZlcnNpb24gZXF1YWxzIHRoZSBwaW5uZWQgdmVyc2lvbjsgdGhlIHBpbiB3YXNcbiAqICAgaG9ub3JlZC5cbiAqIC0gYCdmYWxsYmFjaydgIFx1MjAxNCB0aGUgcnVubmluZyBhcHAgdmVyc2lvbiBkaWZmZXJzIGZyb20gdGhlIHBpbm5lZCB2ZXJzaW9uOyB0aGVcbiAqICAgaW5zdGFsbGVyIHNpbGVudGx5IHJhbiBhIGRpZmZlcmVudCAoaXRzIG93biBidW5kbGVkKSBhc2FyIGluc3RlYWQgb2YgdGhlIHBpbi5cbiAqIC0gYCd1bmtub3duJ2AgXHUyMDE0IGNhbm5vdCBiZSBkZXRlcm1pbmVkIChubyBhc2FyIHdhcyBzd2FwcGVkLCBzbyB0aGVyZSBpcyBubyBwaW4gdG9cbiAqICAgdmVyaWZ5LCBvciB0aGUgbGl2ZSBydW5uaW5nIHZlcnNpb24gY291bGQgbm90IGJlIHJlYWQpLlxuICovXG5leHBvcnQgdHlwZSBBc2FyRmFsbGJhY2tUaWVyID0gJ2ZhbGxiYWNrJyB8ICdtYXRjaCcgfCAndW5rbm93bic7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVBc2FyRmFsbGJhY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVBc2FyRmFsbGJhY2tQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHBpbm5lZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24gdGhlIG93bmVkIGluc3RhbmNlIHdhcyBhc2tlZCB0byBydW4sXG4gICAqIG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gYXNhciB3YXMgc3dhcHBlZCAoc28gdGhlcmUgaXMgbm90aGluZyB0byB2ZXJpZnkpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdGVkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIChhc2FyKSB2ZXJzaW9uIHRoZSBpbnN0YW5jZSBpcyBhY3R1YWxseSBydW5uaW5nLCByZWFkIGxpdmVcbiAgICogcG9zdC1ib290LCBvciBgdW5kZWZpbmVkYCB3aGVuIGl0IGNvdWxkIG5vdCBiZSByZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVubmluZ0FwaVZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgc2lsZW50LWFzYXItZmFsbGJhY2sgdmVyZGljdCBmb3IgYSBib290ZWQgb3duZWQgaW5zdGFuY2UuXG4gKlxuICogT25seSBgJ2ZhbGxiYWNrJ2Agd2FycmFudHMgYWN0aW9uIChhIHRocm93IC8gd2FybmluZyk7IGAnbWF0Y2gnYCBhbmQgYCd1bmtub3duJ2BcbiAqIGFyZSBzaWxlbnQuIENvbXBhcmlzb24gaXMgYSBwdXJlIGB4LnkuemAgdmVyc2lvbiBjb21wYXJlIFx1MjAxNCBubyBJL08uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwaW5uZWQgdmVyc2lvbiBhbmQgdGhlIGxpdmUgcnVubmluZyB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIGZhbGxiYWNrIHZlcmRpY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXNhckZhbGxiYWNrKHBhcmFtczogUmVzb2x2ZUFzYXJGYWxsYmFja1BhcmFtcyk6IEFzYXJGYWxsYmFjayB7XG4gIGNvbnN0IHsgcmVxdWVzdGVkVmVyc2lvbiwgcnVubmluZ0FwaVZlcnNpb24gfSA9IHBhcmFtcztcblxuICBpZiAocmVxdWVzdGVkVmVyc2lvbiA9PT0gdW5kZWZpbmVkIHx8IHJ1bm5pbmdBcGlWZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWVzdGVkVmVyc2lvbjogcmVxdWVzdGVkVmVyc2lvbiA/PyBudWxsLFxuICAgICAgcnVubmluZ0FwaVZlcnNpb246IHJ1bm5pbmdBcGlWZXJzaW9uID8/IG51bGwsXG4gICAgICB0aWVyOiAndW5rbm93bidcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhydW5uaW5nQXBpVmVyc2lvbiwgcmVxdWVzdGVkVmVyc2lvbikgPT09IDApIHtcbiAgICByZXR1cm4geyByZXF1ZXN0ZWRWZXJzaW9uLCBydW5uaW5nQXBpVmVyc2lvbiwgdGllcjogJ21hdGNoJyB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiBgT2JzaWRpYW4gd2FzIHBpbm5lZCB0byBhcHAgdmVyc2lvbiAke3JlcXVlc3RlZFZlcnNpb259IGJ1dCBpcyBhY3R1YWxseSBydW5uaW5nICR7cnVubmluZ0FwaVZlcnNpb259IFx1MjAxNCBgXG4gICAgICArICd0aGUgaW5zdGFsbGVyIHNpbGVudGx5IGZlbGwgYmFjayB0byBpdHMgb3duIGJ1bmRsZWQgYXNhciBpbnN0ZWFkIG9mIHJ1bm5pbmcgdGhlIHBpbm5lZCB2ZXJzaW9uLiAnXG4gICAgICArIGBQaW4gYW4gb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uIGF0IG9yIGFib3ZlICR7cmVxdWVzdGVkVmVyc2lvbn0ncyBydW4gZmxvb3Igc28gdGhlIHBpbiBhY3R1YWxseSBydW5zLmAsXG4gICAgcmVxdWVzdGVkVmVyc2lvbixcbiAgICBydW5uaW5nQXBpVmVyc2lvbixcbiAgICB0aWVyOiAnZmFsbGJhY2snXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMEJBLDhCQUFnQztBQWtFekIsU0FBUyxvQkFBb0IsUUFBaUQ7QUFDbkYsUUFBTSxFQUFFLGtCQUFrQixrQkFBa0IsSUFBSTtBQUVoRCxNQUFJLHFCQUFxQixVQUFhLHNCQUFzQixRQUFXO0FBQ3JFLFdBQU87QUFBQSxNQUNMLGtCQUFrQixvQkFBb0I7QUFBQSxNQUN0QyxtQkFBbUIscUJBQXFCO0FBQUEsTUFDeEMsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsVUFBSSx5Q0FBZ0IsbUJBQW1CLGdCQUFnQixNQUFNLEdBQUc7QUFDOUQsV0FBTyxFQUFFLGtCQUFrQixtQkFBbUIsTUFBTSxRQUFRO0FBQUEsRUFDOUQ7QUFFQSxTQUFPO0FBQUEsSUFDTCxTQUFTLHNDQUFzQyxnQkFBZ0IsNEJBQTRCLGlCQUFpQix1SkFFekQsZ0JBQWdCO0FBQUEsSUFDbkU7QUFBQSxJQUNBO0FBQUEsSUFDQSxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -28,13 +28,21 @@
28
28
  * on the transport / connection result so consumers can assert on it.
29
29
  */
30
30
  export interface AsarFallback {
31
- /** A human-readable explanation, present for the `'fallback'` tier. */
31
+ /**
32
+ A human-readable explanation, present for the `'fallback'` tier.
33
+ */
32
34
  readonly message?: string;
33
- /** The pinned app (asar) version that was requested, or `null` when none. */
35
+ /**
36
+ The pinned app (asar) version that was requested, or `null` when none.
37
+ */
34
38
  readonly requestedVersion: null | string;
35
- /** The app (asar) version actually running, or `null` when unreadable. */
39
+ /**
40
+ The app (asar) version actually running, or `null` when unreadable.
41
+ */
36
42
  readonly runningApiVersion: null | string;
37
- /** The resolved fallback tier. */
43
+ /**
44
+ The resolved fallback tier.
45
+ */
38
46
  readonly tier: AsarFallbackTier;
39
47
  }
40
48
  /**
@@ -49,9 +57,9 @@ export interface AsarFallback {
49
57
  */
50
58
  export type AsarFallbackTier = 'fallback' | 'match' | 'unknown';
51
59
  /**
52
- * Parameters for {@link checkAsarFallback}.
60
+ * Parameters for {@link resolveAsarFallback}.
53
61
  */
54
- export interface CheckAsarFallbackParams {
62
+ export interface ResolveAsarFallbackParams {
55
63
  /**
56
64
  * The pinned Obsidian app (asar) version the owned instance was asked to run,
57
65
  * or `undefined` when no asar was swapped (so there is nothing to verify).
@@ -72,4 +80,4 @@ export interface CheckAsarFallbackParams {
72
80
  * @param params - The pinned version and the live running version.
73
81
  * @returns The fallback verdict.
74
82
  */
75
- export declare function checkAsarFallback(params: CheckAsarFallbackParams): AsarFallback;
83
+ export declare function resolveAsarFallback(params: ResolveAsarFallbackParams): AsarFallback;
@@ -33,4 +33,4 @@ function listAvailableAvds(avdListOutput) {
33
33
  checkAvdExists,
34
34
  listAvailableAvds
35
35
  });
36
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2F2ZC1saXN0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSBoZWxwZXJzIGZvciBwYXJzaW5nIGBlbXVsYXRvciAtbGlzdC1hdmRzYCBvdXRwdXQ6IGV4dHJhY3RpbmcgdGhlXG4gKiBhdmFpbGFibGUgQVZEIG5hbWVzIGFuZCBjaGVja2luZyB3aGV0aGVyIGEgcmVxdWVzdGVkIEFWRCBleGlzdHMuXG4gKlxuICogS2VwdCBzZXBhcmF0ZSBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IGB0cmFuc3BvcnQtZmFjdG9yeWAgKGV4Y2x1ZGVkIGZyb21cbiAqIHVuaXQgdGVzdHMpIHNvIHRoZSBwYXJzaW5nIHN0YXlzIHVuaXQtdGVzdGFibGUgXHUyMDE0IHRoZSBmYWN0b3J5IGl0c2VsZiBzaGVsbHMgb3V0XG4gKiB0byB0aGUgYGVtdWxhdG9yYCBiaW5hcnkuXG4gKi9cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY2hlY2tBdmRFeGlzdHN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQXZkRXhpc3RzUGFyYW1zIHtcbiAgLyoqIFJhdyBzdGRvdXQgb2YgYGVtdWxhdG9yIC1saXN0LWF2ZHNgIFx1MjAxNCBvbmUgQVZEIG5hbWUgcGVyIGxpbmUuICovXG4gIHJlYWRvbmx5IGF2ZExpc3RPdXRwdXQ6IHN0cmluZztcblxuICAvKiogVGhlIEFWRCBuYW1lIHRvIGxvb2sgZm9yLiAqL1xuICByZWFkb25seSBhdmROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVjaWRlcyB3aGV0aGVyIGEgZ2l2ZW4gQVZEIGV4aXN0cywgZnJvbSB0aGUgcmF3IHN0ZG91dCBvZlxuICogYGVtdWxhdG9yIC1saXN0LWF2ZHNgLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgbGlzdGluZyBvdXRwdXQgYW5kIHRoZSBBVkQgbmFtZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBBVkQgbmFtZSBhcHBlYXJzIGluIHRoZSBsaXN0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tBdmRFeGlzdHMocGFyYW1zOiBDaGVja0F2ZEV4aXN0c1BhcmFtcyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbGlzdEF2YWlsYWJsZUF2ZHMocGFyYW1zLmF2ZExpc3RPdXRwdXQpLmluY2x1ZGVzKHBhcmFtcy5hdmROYW1lKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIGF2YWlsYWJsZSBBVkQgbmFtZXMgZnJvbSB0aGUgcmF3IHN0ZG91dCBvZiBgZW11bGF0b3IgLWxpc3QtYXZkc2AuXG4gKlxuICogVGhlIGNvbW1hbmQgcHJpbnRzIG9uZSBBVkQgbmFtZSBwZXIgbGluZTsgYmxhbmsgbGluZXMgYW5kIHN1cnJvdW5kaW5nXG4gKiB3aGl0ZXNwYWNlIGFyZSBpZ25vcmVkLiBTb21lIGVtdWxhdG9yIGJ1aWxkcyBlbWl0IGFuIGluZm9ybWF0aW9uYWwgYmFubmVyXG4gKiAoZS5nLiBgSU5GTyAgICB8IC4uLmApIHRvIHN0ZG91dCBiZWZvcmUgdGhlIGxpc3QsIHNvIHRob3NlIGxpbmVzIGFyZSBkcm9wcGVkLlxuICpcbiAqIEBwYXJhbSBhdmRMaXN0T3V0cHV0IC0gUmF3IHN0ZG91dCBvZiBgZW11bGF0b3IgLWxpc3QtYXZkc2AuXG4gKiBAcmV0dXJucyBUaGUgYXZhaWxhYmxlIEFWRCBuYW1lcywgaW4gbGlzdGVkIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdEF2YWlsYWJsZUF2ZHMoYXZkTGlzdE91dHB1dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gYXZkTGlzdE91dHB1dFxuICAgIC5zcGxpdCgnXFxuJylcbiAgICAubWFwKChsaW5lKSA9PiBsaW5lLnRyaW0oKSlcbiAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLmxlbmd0aCA+IDAgJiYgIWxpbmUuaW5jbHVkZXMoJ3wnKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE2Qk8sU0FBUyxlQUFlLFFBQXVDO0FBQ3BFLFNBQU8sa0JBQWtCLE9BQU8sYUFBYSxFQUFFLFNBQVMsT0FBTyxPQUFPO0FBQ3hFO0FBWU8sU0FBUyxrQkFBa0IsZUFBaUM7QUFDakUsU0FBTyxjQUNKLE1BQU0sSUFBSSxFQUNWLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLEVBQ3pCLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxLQUFLLENBQUMsS0FBSyxTQUFTLEdBQUcsQ0FBQztBQUM1RDsiLAogICJuYW1lcyI6IFtdCn0K
36
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2F2ZC1saXN0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSBoZWxwZXJzIGZvciBwYXJzaW5nIGBlbXVsYXRvciAtbGlzdC1hdmRzYCBvdXRwdXQ6IGV4dHJhY3RpbmcgdGhlXG4gKiBhdmFpbGFibGUgQVZEIG5hbWVzIGFuZCBjaGVja2luZyB3aGV0aGVyIGEgcmVxdWVzdGVkIEFWRCBleGlzdHMuXG4gKlxuICogS2VwdCBzZXBhcmF0ZSBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IGB0cmFuc3BvcnQtZmFjdG9yeWAgKGV4Y2x1ZGVkIGZyb21cbiAqIHVuaXQgdGVzdHMpIHNvIHRoZSBwYXJzaW5nIHN0YXlzIHVuaXQtdGVzdGFibGUgXHUyMDE0IHRoZSBmYWN0b3J5IGl0c2VsZiBzaGVsbHMgb3V0XG4gKiB0byB0aGUgYGVtdWxhdG9yYCBiaW5hcnkuXG4gKi9cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY2hlY2tBdmRFeGlzdHN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQXZkRXhpc3RzUGFyYW1zIHtcbiAgLyoqXG4gIFJhdyBzdGRvdXQgb2YgYGVtdWxhdG9yIC1saXN0LWF2ZHNgIFx1MjAxNCBvbmUgQVZEIG5hbWUgcGVyIGxpbmUuXG4gICAqL1xuICByZWFkb25seSBhdmRMaXN0T3V0cHV0OiBzdHJpbmc7XG5cbiAgLyoqXG4gIFRoZSBBVkQgbmFtZSB0byBsb29rIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGF2ZE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHdoZXRoZXIgYSBnaXZlbiBBVkQgZXhpc3RzLCBmcm9tIHRoZSByYXcgc3Rkb3V0IG9mXG4gKiBgZW11bGF0b3IgLWxpc3QtYXZkc2AuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBsaXN0aW5nIG91dHB1dCBhbmQgdGhlIEFWRCBuYW1lIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIEFWRCBuYW1lIGFwcGVhcnMgaW4gdGhlIGxpc3RpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0F2ZEV4aXN0cyhwYXJhbXM6IENoZWNrQXZkRXhpc3RzUGFyYW1zKTogYm9vbGVhbiB7XG4gIHJldHVybiBsaXN0QXZhaWxhYmxlQXZkcyhwYXJhbXMuYXZkTGlzdE91dHB1dCkuaW5jbHVkZXMocGFyYW1zLmF2ZE5hbWUpO1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgYXZhaWxhYmxlIEFWRCBuYW1lcyBmcm9tIHRoZSByYXcgc3Rkb3V0IG9mIGBlbXVsYXRvciAtbGlzdC1hdmRzYC5cbiAqXG4gKiBUaGUgY29tbWFuZCBwcmludHMgb25lIEFWRCBuYW1lIHBlciBsaW5lOyBibGFuayBsaW5lcyBhbmQgc3Vycm91bmRpbmdcbiAqIHdoaXRlc3BhY2UgYXJlIGlnbm9yZWQuIFNvbWUgZW11bGF0b3IgYnVpbGRzIGVtaXQgYW4gaW5mb3JtYXRpb25hbCBiYW5uZXJcbiAqIChlLmcuIGBJTkZPICAgIHwgLi4uYCkgdG8gc3Rkb3V0IGJlZm9yZSB0aGUgbGlzdCwgc28gdGhvc2UgbGluZXMgYXJlIGRyb3BwZWQuXG4gKlxuICogQHBhcmFtIGF2ZExpc3RPdXRwdXQgLSBSYXcgc3Rkb3V0IG9mIGBlbXVsYXRvciAtbGlzdC1hdmRzYC5cbiAqIEByZXR1cm5zIFRoZSBhdmFpbGFibGUgQVZEIG5hbWVzLCBpbiBsaXN0ZWQgb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaXN0QXZhaWxhYmxlQXZkcyhhdmRMaXN0T3V0cHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBhdmRMaXN0T3V0cHV0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5tYXAoKGxpbmUpID0+IGxpbmUudHJpbSgpKVxuICAgIC5maWx0ZXIoKGxpbmUpID0+IGxpbmUubGVuZ3RoID4gMCAmJiAhbGluZS5pbmNsdWRlcygnfCcpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWlDTyxTQUFTLGVBQWUsUUFBdUM7QUFDcEUsU0FBTyxrQkFBa0IsT0FBTyxhQUFhLEVBQUUsU0FBUyxPQUFPLE9BQU87QUFDeEU7QUFZTyxTQUFTLGtCQUFrQixlQUFpQztBQUNqRSxTQUFPLGNBQ0osTUFBTSxJQUFJLEVBQ1YsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFDekIsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLEtBQUssQ0FBQyxLQUFLLFNBQVMsR0FBRyxDQUFDO0FBQzVEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -12,9 +12,13 @@
12
12
  * Parameters for {@link checkAvdExists}.
13
13
  */
14
14
  export interface CheckAvdExistsParams {
15
- /** Raw stdout of `emulator -list-avds` — one AVD name per line. */
15
+ /**
16
+ Raw stdout of `emulator -list-avds` — one AVD name per line.
17
+ */
16
18
  readonly avdListOutput: string;
17
- /** The AVD name to look for. */
19
+ /**
20
+ The AVD name to look for.
21
+ */
18
22
  readonly avdName: string;
19
23
  }
20
24
  /**
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var capture_obsidian_screenshot_exports = {};
30
+ __export(capture_obsidian_screenshot_exports, {
31
+ captureObsidianScreenshot: () => captureObsidianScreenshot
32
+ });
33
+ module.exports = __toCommonJS(capture_obsidian_screenshot_exports);
34
+ var import_node_process = __toESM(require("node:process"), 1);
35
+ var import_context_provider = require("./context-provider.cjs");
36
+ var import_normalize_optional_properties = require("./normalize-optional-properties.cjs");
37
+ var import_transport_factory = require("./transport-factory.cjs");
38
+ async function captureObsidianScreenshot(options) {
39
+ const {
40
+ heightInPixels,
41
+ transport: transportOverride,
42
+ vaultPath,
43
+ widthInPixels
44
+ } = options ?? {};
45
+ const cwd = vaultPath ?? (0, import_context_provider.getVaultPath)() ?? import_node_process.default.cwd();
46
+ const transport = transportOverride ?? await (0, import_transport_factory.getOrCreateTransport)((0, import_context_provider.getTransportOptions)());
47
+ if (!transport.captureScreenshot) {
48
+ throw new Error("captureObsidianScreenshot: the active transport cannot capture screenshots.");
49
+ }
50
+ return transport.captureScreenshot((0, import_normalize_optional_properties.normalizeOptionalProperties)({
51
+ cwd,
52
+ heightInPixels,
53
+ widthInPixels
54
+ }));
55
+ }
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ captureObsidianScreenshot
59
+ });
60
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhcHR1cmUtb2JzaWRpYW4tc2NyZWVuc2hvdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENhcHR1cmVzIGEgc2NyZWVuc2hvdCBvZiB0aGUgT2JzaWRpYW4gaW5zdGFuY2UgdGhlIGN1cnJlbnQgdGVzdCBjb250ZXh0IGlzXG4gKiBhbHJlYWR5IGRyaXZpbmcuXG4gKlxuICogVGhlIHRyYW5zcG9ydC1sZXZlbCBgY2FwdHVyZVNjcmVlbnNob3RgIG5lZWRzIGEgdHJhbnNwb3J0IGluIGhhbmQsIHdoaWNoIGFcbiAqIHRlc3QgcnVubmluZyB1bmRlciB0aGUgaGFybmVzcydzIGdsb2JhbCBzZXR1cCBuZXZlciBoYXMgXHUyMDE0IHRoZSBpbnN0YW5jZSBpc1xuICogb3duZWQgYnkgdGhhdCBzZXR1cCBhbmQgcmVhY2hlZCB0aHJvdWdoIHRoZSBjb250ZXh0IHByb3ZpZGVyLiBUaGlzIGlzIHRoZVxuICogY29udGV4dC1yZXNvbHZpbmcgZW50cnkgcG9pbnQsIHRoZSBzY3JlZW5zaG90IGNvdW50ZXJwYXJ0IG9mXG4gKiBgZXZhbEluT2JzaWRpYW5gIC8gYHBvbGxJbk9ic2lkaWFuYDogd2l0aCBubyBhcmd1bWVudHMgYXQgYWxsIGl0IGNhcHR1cmVzXG4gKiB3aGF0ZXZlciBpbnN0YW5jZSB0aGUgYWN0aXZlIHByb2plY3QgaXMgZHJpdmluZywgZGVza3RvcCBvciBtb2JpbGUuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgY29kZSAoZHJpdmVzIGEgbGl2ZSBPYnNpZGlhbikgY292ZXJlZCBieSBpbnRlZ3JhdGlvbiB0ZXN0cywgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB0eXBlIHsgQ2FwdHVyZVNjcmVlbnNob3RQYXJhbXMgfSBmcm9tICcuL2NhcHR1cmUtc2NyZWVuc2hvdC5janMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydCB9IGZyb20gJy4vdHJhbnNwb3J0LmNqcyc7XG5cbmltcG9ydCB7XG4gIGdldFRyYW5zcG9ydE9wdGlvbnMsXG4gIGdldFZhdWx0UGF0aFxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyB9IGZyb20gJy4vbm9ybWFsaXplLW9wdGlvbmFsLXByb3BlcnRpZXMuY2pzJztcbmltcG9ydCB7IGdldE9yQ3JlYXRlVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBjYXB0dXJlT2JzaWRpYW5TY3JlZW5zaG90fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXB0dXJlT2JzaWRpYW5TY3JlZW5zaG90T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZXhhY3QgaGVpZ2h0IGluIHBpeGVscyB0aGUgY2FwdHVyZWQgaW1hZ2Ugc2hvdWxkIGhhdmUuXG4gICAqXG4gICAqIERlc2t0b3Agb25seSwgYW5kIG9ubHkgbWVhbmluZ2Z1bCB0b2dldGhlciB3aXRoIHtAbGluayB3aWR0aEluUGl4ZWxzfS5cbiAgICogSWdub3JlZCBvbiBtb2JpbGUsIHdoZXJlIHRoZSBpbWFnZSBpcyBhbHdheXMgdGhlIGRldmljZSdzIG5hdGl2ZVxuICAgKiBmcmFtZWJ1ZmZlciBcdTIwMTQgc2l6ZSB0aG9zZSBieSBjaG9vc2luZyBhbiBBVkQgd2l0aCB0aGUgd2FudGVkIHNjcmVlblxuICAgKiBnZW9tZXRyeS5cbiAgICovXG4gIHJlYWRvbmx5IGhlaWdodEluUGl4ZWxzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgdHJhbnNwb3J0LiBXaGVuIG9taXR0ZWQsIHRoZSB0cmFuc3BvcnQgdGhlIGN1cnJlbnQgdGVzdFxuICAgKiBjb250ZXh0IGlzIGRyaXZpbmcgaXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zcG9ydD86IE9ic2lkaWFuVHJhbnNwb3J0O1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgcGF0aCB0byBjYXB0dXJlLiBXaGVuIG9taXR0ZWQsIHRoZSBjdXJyZW50IHRlc3QgY29udGV4dCdzIHZhdWx0XG4gICAqIGlzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSB2YXVsdFBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBleGFjdCB3aWR0aCBpbiBwaXhlbHMgdGhlIGNhcHR1cmVkIGltYWdlIHNob3VsZCBoYXZlLlxuICAgKlxuICAgKiBTZWUge0BsaW5rIGhlaWdodEluUGl4ZWxzfSBcdTIwMTQgdGhlIHR3byBhcmUgc2V0IHRvZ2V0aGVyIG9yIG5vdCBhdCBhbGwuXG4gICAqL1xuICByZWFkb25seSB3aWR0aEluUGl4ZWxzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIENhcHR1cmVzIGEgUE5HIHNjcmVlbnNob3Qgb2YgdGhlIHJ1bm5pbmcgT2JzaWRpYW4gaW5zdGFuY2UsIHJlc29sdmluZyB0aGVcbiAqIHRyYW5zcG9ydCBhbmQgdmF1bHQgZnJvbSB0aGUgY3VycmVudCB0ZXN0IGNvbnRleHQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBzaXplLCB0cmFuc3BvcnQgYW5kIHZhdWx0IG92ZXJyaWRlcy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJhdyBQTkcgYnl0ZXMuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhY3RpdmUgdHJhbnNwb3J0IGNhbm5vdCBjYXB0dXJlIHNjcmVlbnNob3RzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FwdHVyZU9ic2lkaWFuU2NyZWVuc2hvdChvcHRpb25zPzogQ2FwdHVyZU9ic2lkaWFuU2NyZWVuc2hvdE9wdGlvbnMpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgY29uc3Qge1xuICAgIGhlaWdodEluUGl4ZWxzLFxuICAgIHRyYW5zcG9ydDogdHJhbnNwb3J0T3ZlcnJpZGUsXG4gICAgdmF1bHRQYXRoLFxuICAgIHdpZHRoSW5QaXhlbHNcbiAgfSA9IG9wdGlvbnMgPz8ge307XG5cbiAgY29uc3QgY3dkID0gdmF1bHRQYXRoID8/IGdldFZhdWx0UGF0aCgpID8/IHByb2Nlc3MuY3dkKCk7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IHRyYW5zcG9ydE92ZXJyaWRlID8/IGF3YWl0IGdldE9yQ3JlYXRlVHJhbnNwb3J0KGdldFRyYW5zcG9ydE9wdGlvbnMoKSk7XG5cbiAgaWYgKCF0cmFuc3BvcnQuY2FwdHVyZVNjcmVlbnNob3QpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhcHR1cmVPYnNpZGlhblNjcmVlbnNob3Q6IHRoZSBhY3RpdmUgdHJhbnNwb3J0IGNhbm5vdCBjYXB0dXJlIHNjcmVlbnNob3RzLicpO1xuICB9XG5cbiAgcmV0dXJuIHRyYW5zcG9ydC5jYXB0dXJlU2NyZWVuc2hvdChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8Q2FwdHVyZVNjcmVlbnNob3RQYXJhbXM+KHtcbiAgICBjd2QsXG4gICAgaGVpZ2h0SW5QaXhlbHMsXG4gICAgd2lkdGhJblBpeGVsc1xuICB9KSk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSwwQkFBb0I7QUFLcEIsOEJBR087QUFDUCwyQ0FBNEM7QUFDNUMsK0JBQXFDO0FBNENyQyxlQUFzQiwwQkFBMEIsU0FBaUU7QUFDL0csUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSSxXQUFXLENBQUM7QUFFaEIsUUFBTSxNQUFNLGlCQUFhLHNDQUFhLEtBQUssb0JBQUFBLFFBQVEsSUFBSTtBQUN2RCxRQUFNLFlBQVkscUJBQXFCLFVBQU0sbURBQXFCLDZDQUFvQixDQUFDO0FBRXZGLE1BQUksQ0FBQyxVQUFVLG1CQUFtQjtBQUNoQyxVQUFNLElBQUksTUFBTSw2RUFBNkU7QUFBQSxFQUMvRjtBQUVBLFNBQU8sVUFBVSxzQkFBa0Isa0VBQXFEO0FBQUEsSUFDdEY7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQyxDQUFDO0FBQ0o7IiwKICAibmFtZXMiOiBbInByb2Nlc3MiXQp9Cg==
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Captures a screenshot of the Obsidian instance the current test context is
5
+ * already driving.
6
+ *
7
+ * The transport-level `captureScreenshot` needs a transport in hand, which a
8
+ * test running under the harness's global setup never has — the instance is
9
+ * owned by that setup and reached through the context provider. This is the
10
+ * context-resolving entry point, the screenshot counterpart of
11
+ * `evalInObsidian` / `pollInObsidian`: with no arguments at all it captures
12
+ * whatever instance the active project is driving, desktop or mobile.
13
+ */
14
+ import type { ObsidianTransport } from './transport.cjs';
15
+ /**
16
+ * Options for {@link captureObsidianScreenshot}.
17
+ */
18
+ export interface CaptureObsidianScreenshotOptions {
19
+ /**
20
+ * The exact height in pixels the captured image should have.
21
+ *
22
+ * Desktop only, and only meaningful together with {@link widthInPixels}.
23
+ * Ignored on mobile, where the image is always the device's native
24
+ * framebuffer — size those by choosing an AVD with the wanted screen
25
+ * geometry.
26
+ */
27
+ readonly heightInPixels?: number;
28
+ /**
29
+ * Override the transport. When omitted, the transport the current test
30
+ * context is driving is used.
31
+ */
32
+ readonly transport?: ObsidianTransport;
33
+ /**
34
+ * The vault path to capture. When omitted, the current test context's vault
35
+ * is used.
36
+ */
37
+ readonly vaultPath?: string;
38
+ /**
39
+ * The exact width in pixels the captured image should have.
40
+ *
41
+ * See {@link heightInPixels} — the two are set together or not at all.
42
+ */
43
+ readonly widthInPixels?: number;
44
+ }
45
+ /**
46
+ * Captures a PNG screenshot of the running Obsidian instance, resolving the
47
+ * transport and vault from the current test context.
48
+ *
49
+ * @param options - Optional size, transport and vault overrides.
50
+ * @returns A {@link Promise} that resolves to the raw PNG bytes.
51
+ * @throws Error if the active transport cannot capture screenshots.
52
+ */
53
+ export declare function captureObsidianScreenshot(options?: CaptureObsidianScreenshotOptions): Promise<Uint8Array>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var capture_screenshot_exports = {};
20
+ __export(capture_screenshot_exports, {
21
+ buildDeviceMetricsOverride: () => buildDeviceMetricsOverride,
22
+ decodeBase64Png: () => decodeBase64Png,
23
+ isPng: () => isPng,
24
+ readPngDimensions: () => readPngDimensions
25
+ });
26
+ module.exports = __toCommonJS(capture_screenshot_exports);
27
+ const PNG_MARKER = "PNG";
28
+ const PNG_MARKER_OFFSET = 1;
29
+ const PNG_IHDR_MARKER = "IHDR";
30
+ const PNG_IHDR_MARKER_OFFSET = 12;
31
+ const PNG_WIDTH_OFFSET = 16;
32
+ const PNG_HEIGHT_OFFSET = 20;
33
+ const PNG_HEADER_MIN_LENGTH = 24;
34
+ const CAPTURE_DEVICE_SCALE_FACTOR = 1;
35
+ function buildDeviceMetricsOverride(params) {
36
+ const { heightInPixels, widthInPixels } = params;
37
+ if (heightInPixels === void 0 && widthInPixels === void 0) {
38
+ return void 0;
39
+ }
40
+ if (heightInPixels === void 0 || widthInPixels === void 0) {
41
+ throw new Error("captureScreenshot: widthInPixels and heightInPixels must be given together.");
42
+ }
43
+ return {
44
+ deviceScaleFactor: CAPTURE_DEVICE_SCALE_FACTOR,
45
+ height: heightInPixels,
46
+ mobile: false,
47
+ width: widthInPixels
48
+ };
49
+ }
50
+ function decodeBase64Png(base64) {
51
+ return new Uint8Array(Buffer.from(base64, "base64"));
52
+ }
53
+ function isPng(bytes) {
54
+ return readAscii(bytes, PNG_MARKER_OFFSET, PNG_MARKER.length) === PNG_MARKER && readAscii(bytes, PNG_IHDR_MARKER_OFFSET, PNG_IHDR_MARKER.length) === PNG_IHDR_MARKER;
55
+ }
56
+ function readPngDimensions(bytes) {
57
+ if (!isPng(bytes)) {
58
+ throw new Error("readPngDimensions: the given bytes are not a PNG.");
59
+ }
60
+ if (bytes.length < PNG_HEADER_MIN_LENGTH) {
61
+ throw new Error(`readPngDimensions: a PNG header needs at least ${String(PNG_HEADER_MIN_LENGTH)} bytes, got ${String(bytes.length)}.`);
62
+ }
63
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
64
+ return {
65
+ heightInPixels: view.getUint32(PNG_HEIGHT_OFFSET),
66
+ widthInPixels: view.getUint32(PNG_WIDTH_OFFSET)
67
+ };
68
+ }
69
+ function readAscii(bytes, offset, length) {
70
+ if (bytes.length < offset + length) {
71
+ return "";
72
+ }
73
+ return Buffer.from(bytes.subarray(offset, offset + length)).toString("ascii");
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ buildDeviceMetricsOverride,
78
+ decodeBase64Png,
79
+ isPng,
80
+ readPngDimensions
81
+ });
82
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhcHR1cmUtc2NyZWVuc2hvdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgaGVscGVycyBmb3Igc2NyZWVuc2hvdCBjYXB0dXJlOiBidWlsZGluZyB0aGUgQ0RQIGRldmljZS1tZXRyaWNzIG92ZXJyaWRlXG4gKiBwYXlsb2FkLCBkZWNvZGluZyBhIGJhc2U2NC1lbmNvZGVkIFBORywgYW5kIHJlYWRpbmcgYSBQTkcncyBwaXhlbCBkaW1lbnNpb25zXG4gKiBvdXQgb2YgaXRzIElIRFIgaGVhZGVyLlxuICpcbiAqIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGUgdHJhbnNwb3J0cyAod2hpY2ggYXJlIGludGVncmF0aW9uLW9ubHkgYW5kIGV4Y2x1ZGVkXG4gKiBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSBwYXlsb2FkIHNoYXBlIGFuZCB0aGUgUE5HIHBhcnNpbmcgc3RheSB1bml0LXRlc3RhYmxlIFx1MjAxNFxuICogdGhlIHRyYW5zcG9ydHMgdGhlbXNlbHZlcyBvbmx5IHRhbGsgdG8gQ0RQIC8gQXBwaXVtLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRXhjZXB0IH0gZnJvbSAndHlwZS1mZXN0JztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjYXB0dXJpbmcgYSBzY3JlZW5zaG90IG9mIGEgcnVubmluZyBPYnNpZGlhbiBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYXB0dXJlU2NyZWVuc2hvdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBkaXJlY3RvcnkgKHZhdWx0IHBhdGgpIGlkZW50aWZ5aW5nIHdoaWNoIE9ic2lkaWFuIHdpbmRvdyB0b1xuICAgKiBjYXB0dXJlLlxuICAgKlxuICAgKiBNaXJyb3JzIHRoZSBgY3dkYCBvZiBhbiBldmFsdWF0aW9uOiBhIGRlc2t0b3AgaW5zdGFuY2UgY2FuIGhvbGQgc2V2ZXJhbFxuICAgKiB2YXVsdCB3aW5kb3dzLCBhbmQgdGhlIGNhcHR1cmUgaGFzIHRvIGJlIHJvdXRlZCB0byB0aGUgcmlnaHQgb25lLlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBleGFjdCBoZWlnaHQgaW4gcGl4ZWxzIHRoZSBjYXB0dXJlZCBpbWFnZSBzaG91bGQgaGF2ZS5cbiAgICpcbiAgICogRGVza3RvcCBvbmx5LCBhbmQgb25seSBtZWFuaW5nZnVsIHRvZ2V0aGVyIHdpdGgge0BsaW5rIHdpZHRoSW5QaXhlbHN9OiB0aGVcbiAgICogdmlld3BvcnQgaXMgcGlubmVkIHRvIHRoZXNlIG1ldHJpY3MgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FwdHVyZSwgc28gdGhlXG4gICAqIHJlc3VsdGluZyBQTkcgaXMgZXhhY3RseSB0aGlzIHNpemUgd2hhdGV2ZXIgc2l6ZSB0aGUgd2luZG93IGhhcHBlbnMgdG8gYmUuXG4gICAqIE9taXQgYm90aCB0byBjYXB0dXJlIHRoZSB3aW5kb3cgYXQgaXRzIG5hdHVyYWwgc2l6ZS5cbiAgICpcbiAgICogSWdub3JlZCBieSB0aGUgQXBwaXVtIHRyYW5zcG9ydCwgd2hpY2ggY2FuIG9ubHkgcmV0dXJuIHRoZSBkZXZpY2UncyBuYXRpdmVcbiAgICogZnJhbWVidWZmZXIgXHUyMDE0IHNpemUgYSBtb2JpbGUgY2FwdHVyZSBieSBjaG9vc2luZyBhbiBBVkQgd2l0aCB0aGUgd2FudGVkXG4gICAqIHNjcmVlbiBnZW9tZXRyeSBpbnN0ZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVpZ2h0SW5QaXhlbHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBleGFjdCB3aWR0aCBpbiBwaXhlbHMgdGhlIGNhcHR1cmVkIGltYWdlIHNob3VsZCBoYXZlLlxuICAgKlxuICAgKiBTZWUge0BsaW5rIGhlaWdodEluUGl4ZWxzfSBcdTIwMTQgdGhlIHR3byBhcmUgc2V0IHRvZ2V0aGVyIG9yIG5vdCBhdCBhbGwuXG4gICAqL1xuICByZWFkb25seSB3aWR0aEluUGl4ZWxzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBwaXhlbCBkaW1lbnNpb25zIHJlYWQgb3V0IG9mIGEgUE5HJ3MgSUhEUiBoZWFkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG5nRGltZW5zaW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgaGVpZ2h0IGluIHBpeGVscy5cbiAgICovXG4gIHJlYWRvbmx5IGhlaWdodEluUGl4ZWxzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB3aWR0aCBpbiBwaXhlbHMuXG4gICAqL1xuICByZWFkb25seSB3aWR0aEluUGl4ZWxzOiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIEFTQ0lJIG1hcmtlciBpbnNpZGUgYSBQTkcncyA4LWJ5dGUgc2lnbmF0dXJlLlxuICpcbiAqIE1hdGNoZWQgYXMgdGV4dCByYXRoZXIgdGhhbiBhcyB0aGUgcmF3IHNpZ25hdHVyZSBieXRlcyBzbyB0aGlzIGZpbGUgc3RheXNcbiAqIHB1cmUgQVNDSUkgXHUyMDE0IHR3byBvZiB0aG9zZSBlaWdodCBieXRlcyBhcmUgdW5wcmludGFibGUsIGFuZCBhIGxpdGVyYWwgYDB4MUFgXG4gKiBpbiBhIHNvdXJjZSBmaWxlIGlzIHJlYWQgYXMgZW5kLW9mLWZpbGUgYnkgc29tZSBXaW5kb3dzIHRvb2xpbmcuXG4gKi9cbmNvbnN0IFBOR19NQVJLRVIgPSAnUE5HJztcblxuLyoqXG4gKiBCeXRlIG9mZnNldCBvZiB7QGxpbmsgUE5HX01BUktFUn0sIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzaWduYXR1cmUncyBsZWFkaW5nXG4gKiB1bnByaW50YWJsZSBieXRlLlxuICovXG5jb25zdCBQTkdfTUFSS0VSX09GRlNFVCA9IDE7XG5cbi8qKlxuICogVGhlIElIRFIgY2h1bmsncyB0eXBlIG1hcmtlci5cbiAqXG4gKiBSZXF1aXJlZCBhbG9uZ3NpZGUge0BsaW5rIFBOR19NQVJLRVJ9IGJlY2F1c2UgdGhlIGRpbWVuc2lvbnMgYXJlIHJlYWQgb3V0IG9mXG4gKiBleGFjdGx5IHRoYXQgY2h1bmssIHNvIGl0cyBwcmVzZW5jZSBpcyB3aGF0IGFjdHVhbGx5IGhhcyB0byBob2xkIGhlcmUuXG4gKi9cbmNvbnN0IFBOR19JSERSX01BUktFUiA9ICdJSERSJztcblxuLyoqXG4gKiBCeXRlIG9mZnNldCBvZiB7QGxpbmsgUE5HX0lIRFJfTUFSS0VSfTogdGhlIDgtYnl0ZSBzaWduYXR1cmUgcGx1cyB0aGUgY2h1bmsnc1xuICogNC1ieXRlIGxlbmd0aCBmaWVsZC5cbiAqL1xuY29uc3QgUE5HX0lIRFJfTUFSS0VSX09GRlNFVCA9IDEyO1xuXG4vKipcbiAqIEJ5dGUgb2Zmc2V0IG9mIHRoZSBiaWctZW5kaWFuIGB3aWR0aGAgZmllbGQsIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBJSERSIHR5cGUuXG4gKi9cbmNvbnN0IFBOR19XSURUSF9PRkZTRVQgPSAxNjtcblxuLyoqXG4gKiBCeXRlIG9mZnNldCBvZiB0aGUgYmlnLWVuZGlhbiBgaGVpZ2h0YCBmaWVsZCwgaW1tZWRpYXRlbHkgYWZ0ZXIgYHdpZHRoYC5cbiAqL1xuY29uc3QgUE5HX0hFSUdIVF9PRkZTRVQgPSAyMDtcblxuLyoqXG4gKiBUaGUgc2hvcnRlc3QgcHJlZml4IGZyb20gd2hpY2gge0BsaW5rIHJlYWRQbmdEaW1lbnNpb25zfSBjYW4gcmVhZDogZXZlcnl0aGluZ1xuICogdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgSUhEUiBgaGVpZ2h0YCBmaWVsZC5cbiAqL1xuY29uc3QgUE5HX0hFQURFUl9NSU5fTEVOR1RIID0gMjQ7XG5cbi8qKlxuICogRGV2aWNlIHNjYWxlIGZhY3RvciBmb3IgYSBjYXB0dXJlLlxuICpcbiAqIEFsd2F5cyBgMWAsIHNvIHRoZSBlbWl0dGVkIFBORyBpcyBleGFjdGx5IHRoZSByZXF1ZXN0ZWQgQ1NTIHBpeGVsIHNpemUgcmF0aGVyXG4gKiB0aGFuIGEgbXVsdGlwbGUgb2YgaXQuXG4gKi9cbmNvbnN0IENBUFRVUkVfREVWSUNFX1NDQUxFX0ZBQ1RPUiA9IDE7XG5cbi8qKlxuICogQnVpbGRzIHRoZSBgRW11bGF0aW9uLnNldERldmljZU1ldHJpY3NPdmVycmlkZWAgcGF5bG9hZCB0aGF0IHBpbnMgYSBkZXNrdG9wXG4gKiBjYXB0dXJlIHRvIGFuIGV4YWN0IHBpeGVsIHNpemUuXG4gKlxuICogVGFrZXMgb25seSB0aGUgc2l6ZSBoYWxmIG9mIHtAbGluayBDYXB0dXJlU2NyZWVuc2hvdFBhcmFtc30gXHUyMDE0IHJvdXRpbmcgdGhlXG4gKiBjYXB0dXJlIHRvIGEgd2luZG93IGlzIHRoZSB0cmFuc3BvcnQncyBqb2IsIG5vdCB0aGUgcGF5bG9hZCdzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcmVxdWVzdGVkIGNhcHR1cmUgc2l6ZS5cbiAqIEByZXR1cm5zIFRoZSBDRFAgcGF5bG9hZCwgb3IgYHVuZGVmaW5lZGAgd2hlbiBubyBzaXplIHdhcyByZXF1ZXN0ZWQgKGNhcHR1cmUgdGhlIHdpbmRvdyBhcyBpdCBpcykuXG4gKiBAdGhyb3dzIEVycm9yIGlmIGV4YWN0bHkgb25lIG9mIHRoZSB0d28gZGltZW5zaW9ucyBpcyBnaXZlbiBcdTIwMTQgYSBoYWxmLXNwZWNpZmllZCBzaXplIGNhbm5vdCBiZSBob25vdXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRGV2aWNlTWV0cmljc092ZXJyaWRlKHBhcmFtczogRXhjZXB0PENhcHR1cmVTY3JlZW5zaG90UGFyYW1zLCAnY3dkJz4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgaGVpZ2h0SW5QaXhlbHMsIHdpZHRoSW5QaXhlbHMgfSA9IHBhcmFtcztcbiAgaWYgKGhlaWdodEluUGl4ZWxzID09PSB1bmRlZmluZWQgJiYgd2lkdGhJblBpeGVscyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChoZWlnaHRJblBpeGVscyA9PT0gdW5kZWZpbmVkIHx8IHdpZHRoSW5QaXhlbHMgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2FwdHVyZVNjcmVlbnNob3Q6IHdpZHRoSW5QaXhlbHMgYW5kIGhlaWdodEluUGl4ZWxzIG11c3QgYmUgZ2l2ZW4gdG9nZXRoZXIuJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRldmljZVNjYWxlRmFjdG9yOiBDQVBUVVJFX0RFVklDRV9TQ0FMRV9GQUNUT1IsXG4gICAgaGVpZ2h0OiBoZWlnaHRJblBpeGVscyxcbiAgICBtb2JpbGU6IGZhbHNlLFxuICAgIHdpZHRoOiB3aWR0aEluUGl4ZWxzXG4gIH07XG59XG5cbi8qKlxuICogRGVjb2RlcyB0aGUgYmFzZTY0IHBheWxvYWQgYm90aCBDRFAgKGBQYWdlLmNhcHR1cmVTY3JlZW5zaG90YCkgYW5kIEFwcGl1bVxuICogKGB0YWtlU2NyZWVuc2hvdGApIHJldHVybiBpbnRvIHJhdyBQTkcgYnl0ZXMuXG4gKlxuICogQHBhcmFtIGJhc2U2NCAtIFRoZSBiYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhLlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgYnl0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCYXNlNjRQbmcoYmFzZTY0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKGJhc2U2NCwgJ2Jhc2U2NCcpKTtcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHdoZXRoZXIgdGhlIGdpdmVuIGJ5dGVzIGFyZSBhIFBORyBjYXJyeWluZyBhbiBJSERSIGNodW5rLlxuICpcbiAqIFVzZWQgdG8gZmFpbCBhIGNhcHR1cmUgbG91ZGx5IHdoZW4gYSB0cmFuc3BvcnQgaGFuZHMgYmFjayBzb21ldGhpbmcgdGhhdCBpc1xuICogbm90IGFuIGltYWdlLCByYXRoZXIgdGhhbiB3cml0aW5nIGEgY29ycnVwdCBmaWxlIHRvIGRpc2suXG4gKlxuICogQHBhcmFtIGJ5dGVzIC0gVGhlIGJ5dGVzIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGJ5dGVzIGFyZSBhIFBORy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUG5nKGJ5dGVzOiBVaW50OEFycmF5KTogYm9vbGVhbiB7XG4gIHJldHVybiByZWFkQXNjaWkoYnl0ZXMsIFBOR19NQVJLRVJfT0ZGU0VULCBQTkdfTUFSS0VSLmxlbmd0aCkgPT09IFBOR19NQVJLRVJcbiAgICAmJiByZWFkQXNjaWkoYnl0ZXMsIFBOR19JSERSX01BUktFUl9PRkZTRVQsIFBOR19JSERSX01BUktFUi5sZW5ndGgpID09PSBQTkdfSUhEUl9NQVJLRVI7XG59XG5cbi8qKlxuICogUmVhZHMgYSBQTkcncyBwaXhlbCBkaW1lbnNpb25zIGZyb20gaXRzIElIRFIgaGVhZGVyLlxuICpcbiAqIFRoZSB3aG9sZSBwb2ludCBpcyB2ZXJpZmljYXRpb246IGEgY2FwdHVyZSB0aGF0IHNpbGVudGx5IGNvbWVzIGJhY2sgYXQgdGhlXG4gKiB3cm9uZyBzaXplIGlzIHRoZSBmYWlsdXJlIG1vZGUgdGhhdCBwcm9kdWNlcyBhbiBvZmYtc3BlYyBzY3JlZW5zaG90IHNldCwgc29cbiAqIHRoZSBzaXplIGlzIHJlYWQgYmFjayBmcm9tIHRoZSBieXRlcyByYXRoZXIgdGhhbiBhc3N1bWVkIGZyb20gdGhlIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIGJ5dGVzIC0gVGhlIFBORyBieXRlcy5cbiAqIEByZXR1cm5zIFRoZSBpbWFnZSdzIHdpZHRoIGFuZCBoZWlnaHQgaW4gcGl4ZWxzLlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgYnl0ZXMgYXJlIG5vdCBhIFBORywgb3IgYXJlIHRvbyBzaG9ydCB0byBjYXJyeSBhbiBJSERSIGhlYWRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQbmdEaW1lbnNpb25zKGJ5dGVzOiBVaW50OEFycmF5KTogUG5nRGltZW5zaW9ucyB7XG4gIGlmICghaXNQbmcoYnl0ZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdyZWFkUG5nRGltZW5zaW9uczogdGhlIGdpdmVuIGJ5dGVzIGFyZSBub3QgYSBQTkcuJyk7XG4gIH1cblxuICBpZiAoYnl0ZXMubGVuZ3RoIDwgUE5HX0hFQURFUl9NSU5fTEVOR1RIKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGByZWFkUG5nRGltZW5zaW9uczogYSBQTkcgaGVhZGVyIG5lZWRzIGF0IGxlYXN0ICR7U3RyaW5nKFBOR19IRUFERVJfTUlOX0xFTkdUSCl9IGJ5dGVzLCBnb3QgJHtTdHJpbmcoYnl0ZXMubGVuZ3RoKX0uYCk7XG4gIH1cblxuICBjb25zdCB2aWV3ID0gbmV3IERhdGFWaWV3KGJ5dGVzLmJ1ZmZlciwgYnl0ZXMuYnl0ZU9mZnNldCwgYnl0ZXMuYnl0ZUxlbmd0aCk7XG4gIHJldHVybiB7XG4gICAgaGVpZ2h0SW5QaXhlbHM6IHZpZXcuZ2V0VWludDMyKFBOR19IRUlHSFRfT0ZGU0VUKSxcbiAgICB3aWR0aEluUGl4ZWxzOiB2aWV3LmdldFVpbnQzMihQTkdfV0lEVEhfT0ZGU0VUKVxuICB9O1xufVxuXG4vKipcbiAqIFJlYWRzIGEgZml4ZWQtbGVuZ3RoIEFTQ0lJIG1hcmtlciBvdXQgb2YgYSBieXRlIGJ1ZmZlci5cbiAqXG4gKiBAcGFyYW0gYnl0ZXMgLSBUaGUgYnl0ZXMgdG8gcmVhZCBmcm9tLlxuICogQHBhcmFtIG9mZnNldCAtIEJ5dGUgb2Zmc2V0IHRoZSBtYXJrZXIgc3RhcnRzIGF0LlxuICogQHBhcmFtIGxlbmd0aCAtIE1hcmtlciBsZW5ndGggaW4gYnl0ZXMuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBtYXJrZXIsIG9yIGFuIGVtcHR5IHN0cmluZyB3aGVuIHRoZSBidWZmZXIgaXMgdG9vIHNob3J0IHRvIGhvbGQgaXQuXG4gKi9cbmZ1bmN0aW9uIHJlYWRBc2NpaShieXRlczogVWludDhBcnJheSwgb2Zmc2V0OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKGJ5dGVzLmxlbmd0aCA8IG9mZnNldCArIGxlbmd0aCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBCdWZmZXIuZnJvbShieXRlcy5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIGxlbmd0aCkpLnRvU3RyaW5nKCdhc2NpaScpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVFQSxNQUFNLGFBQWE7QUFNbkIsTUFBTSxvQkFBb0I7QUFRMUIsTUFBTSxrQkFBa0I7QUFNeEIsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSxtQkFBbUI7QUFLekIsTUFBTSxvQkFBb0I7QUFNMUIsTUFBTSx3QkFBd0I7QUFROUIsTUFBTSw4QkFBOEI7QUFhN0IsU0FBUywyQkFBMkIsUUFBcUY7QUFDOUgsUUFBTSxFQUFFLGdCQUFnQixjQUFjLElBQUk7QUFDMUMsTUFBSSxtQkFBbUIsVUFBYSxrQkFBa0IsUUFBVztBQUMvRCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksbUJBQW1CLFVBQWEsa0JBQWtCLFFBQVc7QUFDL0QsVUFBTSxJQUFJLE1BQU0sNkVBQTZFO0FBQUEsRUFDL0Y7QUFFQSxTQUFPO0FBQUEsSUFDTCxtQkFBbUI7QUFBQSxJQUNuQixRQUFRO0FBQUEsSUFDUixRQUFRO0FBQUEsSUFDUixPQUFPO0FBQUEsRUFDVDtBQUNGO0FBU08sU0FBUyxnQkFBZ0IsUUFBNEI7QUFDMUQsU0FBTyxJQUFJLFdBQVcsT0FBTyxLQUFLLFFBQVEsUUFBUSxDQUFDO0FBQ3JEO0FBV08sU0FBUyxNQUFNLE9BQTRCO0FBQ2hELFNBQU8sVUFBVSxPQUFPLG1CQUFtQixXQUFXLE1BQU0sTUFBTSxjQUM3RCxVQUFVLE9BQU8sd0JBQXdCLGdCQUFnQixNQUFNLE1BQU07QUFDNUU7QUFhTyxTQUFTLGtCQUFrQixPQUFrQztBQUNsRSxNQUFJLENBQUMsTUFBTSxLQUFLLEdBQUc7QUFDakIsVUFBTSxJQUFJLE1BQU0sbURBQW1EO0FBQUEsRUFDckU7QUFFQSxNQUFJLE1BQU0sU0FBUyx1QkFBdUI7QUFDeEMsVUFBTSxJQUFJLE1BQU0sa0RBQWtELE9BQU8scUJBQXFCLENBQUMsZUFBZSxPQUFPLE1BQU0sTUFBTSxDQUFDLEdBQUc7QUFBQSxFQUN2STtBQUVBLFFBQU0sT0FBTyxJQUFJLFNBQVMsTUFBTSxRQUFRLE1BQU0sWUFBWSxNQUFNLFVBQVU7QUFDMUUsU0FBTztBQUFBLElBQ0wsZ0JBQWdCLEtBQUssVUFBVSxpQkFBaUI7QUFBQSxJQUNoRCxlQUFlLEtBQUssVUFBVSxnQkFBZ0I7QUFBQSxFQUNoRDtBQUNGO0FBVUEsU0FBUyxVQUFVLE9BQW1CLFFBQWdCLFFBQXdCO0FBQzVFLE1BQUksTUFBTSxTQUFTLFNBQVMsUUFBUTtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sT0FBTyxLQUFLLE1BQU0sU0FBUyxRQUFRLFNBQVMsTUFBTSxDQUFDLEVBQUUsU0FBUyxPQUFPO0FBQzlFOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Pure helpers for screenshot capture: building the CDP device-metrics override
5
+ * payload, decoding a base64-encoded PNG, and reading a PNG's pixel dimensions
6
+ * out of its IHDR header.
7
+ *
8
+ * Kept separate from the transports (which are integration-only and excluded
9
+ * from unit tests) so the payload shape and the PNG parsing stay unit-testable —
10
+ * the transports themselves only talk to CDP / Appium.
11
+ */
12
+ import type { Except } from 'type-fest';
13
+ /**
14
+ * Parameters for capturing a screenshot of a running Obsidian instance.
15
+ */
16
+ export interface CaptureScreenshotParams {
17
+ /**
18
+ * The working directory (vault path) identifying which Obsidian window to
19
+ * capture.
20
+ *
21
+ * Mirrors the `cwd` of an evaluation: a desktop instance can hold several
22
+ * vault windows, and the capture has to be routed to the right one.
23
+ */
24
+ readonly cwd: string;
25
+ /**
26
+ * The exact height in pixels the captured image should have.
27
+ *
28
+ * Desktop only, and only meaningful together with {@link widthInPixels}: the
29
+ * viewport is pinned to these metrics for the duration of the capture, so the
30
+ * resulting PNG is exactly this size whatever size the window happens to be.
31
+ * Omit both to capture the window at its natural size.
32
+ *
33
+ * Ignored by the Appium transport, which can only return the device's native
34
+ * framebuffer — size a mobile capture by choosing an AVD with the wanted
35
+ * screen geometry instead.
36
+ */
37
+ readonly heightInPixels?: number;
38
+ /**
39
+ * The exact width in pixels the captured image should have.
40
+ *
41
+ * See {@link heightInPixels} — the two are set together or not at all.
42
+ */
43
+ readonly widthInPixels?: number;
44
+ }
45
+ /**
46
+ * The pixel dimensions read out of a PNG's IHDR header.
47
+ */
48
+ export interface PngDimensions {
49
+ /**
50
+ * The image height in pixels.
51
+ */
52
+ readonly heightInPixels: number;
53
+ /**
54
+ * The image width in pixels.
55
+ */
56
+ readonly widthInPixels: number;
57
+ }
58
+ /**
59
+ * Builds the `Emulation.setDeviceMetricsOverride` payload that pins a desktop
60
+ * capture to an exact pixel size.
61
+ *
62
+ * Takes only the size half of {@link CaptureScreenshotParams} — routing the
63
+ * capture to a window is the transport's job, not the payload's.
64
+ *
65
+ * @param params - The requested capture size.
66
+ * @returns The CDP payload, or `undefined` when no size was requested (capture the window as it is).
67
+ * @throws Error if exactly one of the two dimensions is given — a half-specified size cannot be honoured.
68
+ */
69
+ export declare function buildDeviceMetricsOverride(params: Except<CaptureScreenshotParams, 'cwd'>): Record<string, unknown> | undefined;
70
+ /**
71
+ * Decodes the base64 payload both CDP (`Page.captureScreenshot`) and Appium
72
+ * (`takeScreenshot`) return into raw PNG bytes.
73
+ *
74
+ * @param base64 - The base64-encoded image data.
75
+ * @returns The decoded bytes.
76
+ */
77
+ export declare function decodeBase64Png(base64: string): Uint8Array;
78
+ /**
79
+ * Decides whether the given bytes are a PNG carrying an IHDR chunk.
80
+ *
81
+ * Used to fail a capture loudly when a transport hands back something that is
82
+ * not an image, rather than writing a corrupt file to disk.
83
+ *
84
+ * @param bytes - The bytes to check.
85
+ * @returns `true` when the bytes are a PNG.
86
+ */
87
+ export declare function isPng(bytes: Uint8Array): boolean;
88
+ /**
89
+ * Reads a PNG's pixel dimensions from its IHDR header.
90
+ *
91
+ * The whole point is verification: a capture that silently comes back at the
92
+ * wrong size is the failure mode that produces an off-spec screenshot set, so
93
+ * the size is read back from the bytes rather than assumed from the request.
94
+ *
95
+ * @param bytes - The PNG bytes.
96
+ * @returns The image's width and height in pixels.
97
+ * @throws Error if the bytes are not a PNG, or are too short to carry an IHDR header.
98
+ */
99
+ export declare function readPngDimensions(bytes: Uint8Array): PngDimensions;
@@ -74,7 +74,7 @@ function buildOptions(values) {
74
74
  function parseNumber(flag, raw) {
75
75
  const value = Number(raw);
76
76
  if (!Number.isFinite(value)) {
77
- throw new Error(`--${flag} must be a number, got: ${raw}`);
77
+ throw new TypeError(`--${flag} must be a number, got: ${raw}`);
78
78
  }
79
79
  return value;
80
80
  }
@@ -84,12 +84,12 @@ function waitForShutdownOrInstanceClose(cdpUrl) {
84
84
  const versionUrl = `${cdpUrl}/json/version`;
85
85
  let isSettled = false;
86
86
  const timer = setInterval(() => {
87
- checkAlive().catch(() => {
87
+ probeAlive().catch(() => {
88
88
  });
89
89
  }, POLL_INTERVAL_IN_MILLISECONDS);
90
90
  import_node_process.default.once("SIGINT", settle);
91
91
  import_node_process.default.once("SIGTERM", settle);
92
- async function checkAlive() {
92
+ async function probeAlive() {
93
93
  try {
94
94
  const response = await fetch(versionUrl);
95
95
  if (!response.ok) {
@@ -113,4 +113,4 @@ function waitForShutdownOrInstanceClose(cdpUrl) {
113
113
  0 && (module.exports = {
114
114
  main
115
115
  });
116
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NsaS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaW4gQ0xJIG92ZXIge0BsaW5rIGNvbm5lY3RUb0NkcH06IGxhdW5jaGVzIChvciBhdHRhY2hlcyB0bykgYSBDRFAtZW5hYmxlZFxuICogT2JzaWRpYW4gaW5zdGFuY2Ugd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgcHJpbnRzIHRoZVxuICogY2hvc2VuIENEUCBwb3J0L1VSTCwgYW5kIHN0YXlzIGFsaXZlIHVudGlsIGludGVycnVwdGVkIHNvIGFuIGV4dGVybmFsIHRvb2xcbiAqIChyYXcgQ0RQIGB3c2AsIERldlRvb2xzLCBcdTIwMjYpIGNhbiBhdHRhY2guXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgQ0xJIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBtYW51YWxseSwgbm90IGJ5IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwYXJzZUFyZ3MgfSBmcm9tICdub2RlOnV0aWwnO1xuXG5pbXBvcnQgdHlwZSB7IENvbm5lY3RUb0NkcE9wdGlvbnMgfSBmcm9tICcuL2Nvbm5lY3QtdG8tY2RwLmNqcyc7XG5cbmltcG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcblxuLyoqXG4gKiBUaGUgc2hhcGUgb2YgdGhlIHBhcnNlZCBDTEkgZmxhZyB2YWx1ZXMuXG4gKi9cbmludGVyZmFjZSBQYXJzZWRDbGlWYWx1ZXMge1xuICAnY29tbWFuZC10aW1lb3V0Jz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgJ2hvc3QnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAnbm8tcmVtb3ZlLXZhdWx0Jz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICdvYnNpZGlhbi1pbnN0YWxsZXItdmVyc2lvbic/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICdvYnNpZGlhbi12ZXJzaW9uJz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgJ3BvcnQnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAndmF1bHQnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFBhcnNlcyBDTEkgYXJndW1lbnRzLCBvcGVucyB0aGUgY29ubmVjdGlvbiwgcHJpbnRzIGl0cyBlbmRwb2ludCwgYW5kIGJsb2Nrc1xuICogdW50aWwgYFNJR0lOVGAvYFNJR1RFUk1gIG9yIHRoZSBvd25lZCBPYnNpZGlhbiB3aW5kb3cgaXMgY2xvc2VkLCBkaXNwb3NpbmcgdGhlXG4gKiBjb25uZWN0aW9uIG9uIHNodXRkb3duLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgY29ubmVjdGlvbiBoYXMgYmVlbiBkaXNwb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgdmFsdWVzIH0gPSBwYXJzZUFyZ3Moe1xuICAgIG9wdGlvbnM6IHtcbiAgICAgICdjb21tYW5kLXRpbWVvdXQnOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAnaG9zdCc6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICduby1yZW1vdmUtdmF1bHQnOiB7IHR5cGU6ICdib29sZWFuJyB9LFxuICAgICAgJ29ic2lkaWFuLWluc3RhbGxlci12ZXJzaW9uJzogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgJ29ic2lkaWFuLXZlcnNpb24nOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAncG9ydCc6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICd2YXVsdCc6IHsgdHlwZTogJ3N0cmluZycgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgY29ubmVjdGlvbiA9IGF3YWl0IGNvbm5lY3RUb0NkcChidWlsZE9wdGlvbnModmFsdWVzKSk7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoXG4gICAgJ09ic2lkaWFuIENEUCByZWFkeS5cXG4nXG4gICAgICArIGAgIHBvcnQ6ICAgJHtTdHJpbmcoY29ubmVjdGlvbi5wb3J0KX1cXG5gXG4gICAgICArIGAgIGNkcFVybDogJHtjb25uZWN0aW9uLmNkcFVybH1cXG5gXG4gICAgICArIGAgIHZhdWx0OiAgJHtjb25uZWN0aW9uLnZhdWx0LnBhdGh9XFxuYFxuICAgICAgKyAnUnVudGltZSBoZWxwZXJzIGJvb3RzdHJhcHBlZCBhcyB3aW5kb3cuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy5cXG4nXG4gICAgICArICdQcmVzcyBDdHJsK0MgdG8gc3RvcC5cXG4nXG4gICk7XG5cbiAgYXdhaXQgd2FpdEZvclNodXRkb3duT3JJbnN0YW5jZUNsb3NlKGNvbm5lY3Rpb24uY2RwVXJsKTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZSgnXFxuU2h1dHRpbmcgZG93blx1MjAyNlxcbicpO1xuICBhd2FpdCBjb25uZWN0aW9uLmRpc3Bvc2UoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnN9IGZyb20gcGFyc2VkIENMSSBmbGFnIHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWVzIC0gVGhlIHBhcnNlZCBgcGFyc2VBcmdzYCB2YWx1ZXMuXG4gKiBAcmV0dXJucyBUaGUgY29ubmVjdGlvbiBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBidWlsZE9wdGlvbnModmFsdWVzOiBQYXJzZWRDbGlWYWx1ZXMpOiBDb25uZWN0VG9DZHBPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICAuLi4odmFsdWVzWydjb21tYW5kLXRpbWVvdXQnXSAhPT0gdW5kZWZpbmVkICYmIHsgY29tbWFuZFRpbWVvdXRJbk1pbGxpc2Vjb25kczogcGFyc2VOdW1iZXIoJ2NvbW1hbmQtdGltZW91dCcsIHZhbHVlc1snY29tbWFuZC10aW1lb3V0J10pIH0pLFxuICAgIC4uLih2YWx1ZXMuaG9zdCAhPT0gdW5kZWZpbmVkICYmIHsgaG9zdDogdmFsdWVzLmhvc3QgfSksXG4gICAgLi4uKHZhbHVlc1snbm8tcmVtb3ZlLXZhdWx0J10gPT09IHRydWUgJiYgeyBzaG91bGRSZW1vdmVWYXVsdE9uRGlzcG9zZTogZmFsc2UgfSksXG4gICAgLi4uKHZhbHVlc1snb2JzaWRpYW4taW5zdGFsbGVyLXZlcnNpb24nXSAhPT0gdW5kZWZpbmVkICYmIHsgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uOiB2YWx1ZXNbJ29ic2lkaWFuLWluc3RhbGxlci12ZXJzaW9uJ10gfSksXG4gICAgLi4uKHZhbHVlc1snb2JzaWRpYW4tdmVyc2lvbiddICE9PSB1bmRlZmluZWQgJiYgeyBvYnNpZGlhblZlcnNpb246IHZhbHVlc1snb2JzaWRpYW4tdmVyc2lvbiddIH0pLFxuICAgIC4uLih2YWx1ZXMucG9ydCAhPT0gdW5kZWZpbmVkICYmIHsgcG9ydDogcGFyc2VOdW1iZXIoJ3BvcnQnLCB2YWx1ZXMucG9ydCkgfSksXG4gICAgLi4uKHZhbHVlcy52YXVsdCAhPT0gdW5kZWZpbmVkICYmIHsgdmF1bHQ6IHZhbHVlcy52YXVsdCB9KVxuICB9O1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIG51bWVyaWMgQ0xJIGZsYWcgdmFsdWUsIHRocm93aW5nIG9uIGEgbm9uLWZpbml0ZSByZXN1bHQuXG4gKlxuICogQHBhcmFtIGZsYWcgLSBUaGUgZmxhZyBuYW1lIChmb3IgdGhlIGVycm9yIG1lc3NhZ2UpLlxuICogQHBhcmFtIHJhdyAtIFRoZSByYXcgc3RyaW5nIHZhbHVlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBudW1iZXIuXG4gKiBAdGhyb3dzIEVycm9yIGlmIGByYXdgIGlzIG5vdCBhIGZpbml0ZSBudW1iZXIuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlTnVtYmVyKGZsYWc6IHN0cmluZywgcmF3OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB2YWx1ZSA9IE51bWJlcihyYXcpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYC0tJHtmbGFnfSBtdXN0IGJlIGEgbnVtYmVyLCBnb3Q6ICR7cmF3fWApO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyBvbmNlIHRoZSBwcm9jZXNzIHJlY2VpdmVzIGBTSUdJTlRgL2BTSUdURVJNYCwgb3IgdGhlIENEUCBlbmRwb2ludFxuICogc3RvcHMgYW5zd2VyaW5nICh0aGUgb3duZWQgT2JzaWRpYW4gd2luZG93IHdhcyBjbG9zZWQpLlxuICpcbiAqIEBwYXJhbSBjZHBVcmwgLSBUaGUgY29ubmVjdGlvbidzIENEUCBiYXNlIFVSTCB0byBwb2xsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbiB0aGUgZmlyc3Qgc2h1dGRvd24gdHJpZ2dlci5cbiAqL1xuZnVuY3Rpb24gd2FpdEZvclNodXRkb3duT3JJbnN0YW5jZUNsb3NlKGNkcFVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IFBPTExfSU5URVJWQUxfSU5fTUlMTElTRUNPTkRTID0gMTAwMDtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgdmVyc2lvblVybCA9IGAke2NkcFVybH0vanNvbi92ZXJzaW9uYDtcbiAgICBsZXQgaXNTZXR0bGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGNoZWNrQWxpdmUoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIElnbm9yZSBwb2xsIGVycm9ycy5cbiAgICAgIH0pO1xuICAgIH0sIFBPTExfSU5URVJWQUxfSU5fTUlMTElTRUNPTkRTKTtcblxuICAgIHByb2Nlc3Mub25jZSgnU0lHSU5UJywgc2V0dGxlKTtcbiAgICBwcm9jZXNzLm9uY2UoJ1NJR1RFUk0nLCBzZXR0bGUpO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tBbGl2ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godmVyc2lvblVybCk7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICBzZXR0bGUoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIFRoZSBDRFAgcG9ydCBzdG9wcGVkIGFuc3dlcmluZzogdGhlIE9ic2lkaWFuIHdpbmRvdyB3YXMgY2xvc2VkLlxuICAgICAgICBzZXR0bGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXR0bGUoKTogdm9pZCB7XG4gICAgICBpZiAoaXNTZXR0bGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlzU2V0dGxlZCA9IHRydWU7XG4gICAgICBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSwwQkFBb0I7QUFDcEIsdUJBQTBCO0FBSTFCLDRCQUE2QjtBQXNCN0IsZUFBc0IsT0FBc0I7QUFDMUMsUUFBTSxFQUFFLE9BQU8sUUFBSSw0QkFBVTtBQUFBLElBQzNCLFNBQVM7QUFBQSxNQUNQLG1CQUFtQixFQUFFLE1BQU0sU0FBUztBQUFBLE1BQ3BDLFFBQVEsRUFBRSxNQUFNLFNBQVM7QUFBQSxNQUN6QixtQkFBbUIsRUFBRSxNQUFNLFVBQVU7QUFBQSxNQUNyQyw4QkFBOEIsRUFBRSxNQUFNLFNBQVM7QUFBQSxNQUMvQyxvQkFBb0IsRUFBRSxNQUFNLFNBQVM7QUFBQSxNQUNyQyxRQUFRLEVBQUUsTUFBTSxTQUFTO0FBQUEsTUFDekIsU0FBUyxFQUFFLE1BQU0sU0FBUztBQUFBLElBQzVCO0FBQUEsRUFDRixDQUFDO0FBRUQsUUFBTSxhQUFhLFVBQU0sb0NBQWEsYUFBYSxNQUFNLENBQUM7QUFFMUQsc0JBQUFBLFFBQVEsT0FBTztBQUFBLElBQ2I7QUFBQSxZQUNpQixPQUFPLFdBQVcsSUFBSSxDQUFDO0FBQUEsWUFDdkIsV0FBVyxNQUFNO0FBQUEsWUFDakIsV0FBVyxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUd4QztBQUVBLFFBQU0sK0JBQStCLFdBQVcsTUFBTTtBQUV0RCxzQkFBQUEsUUFBUSxPQUFPLE1BQU0seUJBQW9CO0FBQ3pDLFFBQU0sV0FBVyxRQUFRO0FBQzNCO0FBUUEsU0FBUyxhQUFhLFFBQThDO0FBQ2xFLFNBQU87QUFBQSxJQUNMLEdBQUksT0FBTyxpQkFBaUIsTUFBTSxVQUFhLEVBQUUsOEJBQThCLFlBQVksbUJBQW1CLE9BQU8saUJBQWlCLENBQUMsRUFBRTtBQUFBLElBQ3pJLEdBQUksT0FBTyxTQUFTLFVBQWEsRUFBRSxNQUFNLE9BQU8sS0FBSztBQUFBLElBQ3JELEdBQUksT0FBTyxpQkFBaUIsTUFBTSxRQUFRLEVBQUUsNEJBQTRCLE1BQU07QUFBQSxJQUM5RSxHQUFJLE9BQU8sNEJBQTRCLE1BQU0sVUFBYSxFQUFFLDBCQUEwQixPQUFPLDRCQUE0QixFQUFFO0FBQUEsSUFDM0gsR0FBSSxPQUFPLGtCQUFrQixNQUFNLFVBQWEsRUFBRSxpQkFBaUIsT0FBTyxrQkFBa0IsRUFBRTtBQUFBLElBQzlGLEdBQUksT0FBTyxTQUFTLFVBQWEsRUFBRSxNQUFNLFlBQVksUUFBUSxPQUFPLElBQUksRUFBRTtBQUFBLElBQzFFLEdBQUksT0FBTyxVQUFVLFVBQWEsRUFBRSxPQUFPLE9BQU8sTUFBTTtBQUFBLEVBQzFEO0FBQ0Y7QUFVQSxTQUFTLFlBQVksTUFBYyxLQUFxQjtBQUN0RCxRQUFNLFFBQVEsT0FBTyxHQUFHO0FBQ3hCLE1BQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxHQUFHO0FBQzNCLFVBQU0sSUFBSSxNQUFNLEtBQUssSUFBSSwyQkFBMkIsR0FBRyxFQUFFO0FBQUEsRUFDM0Q7QUFDQSxTQUFPO0FBQ1Q7QUFTQSxTQUFTLCtCQUErQixRQUErQjtBQUNyRSxRQUFNLGdDQUFnQztBQUN0QyxTQUFPLElBQUksUUFBYyxDQUFDLFlBQVk7QUFDcEMsVUFBTSxhQUFhLEdBQUcsTUFBTTtBQUM1QixRQUFJLFlBQVk7QUFFaEIsVUFBTSxRQUFRLFlBQVksTUFBTTtBQUM5QixpQkFBVyxFQUFFLE1BQU0sTUFBTTtBQUFBLE1BRXpCLENBQUM7QUFBQSxJQUNILEdBQUcsNkJBQTZCO0FBRWhDLHdCQUFBQSxRQUFRLEtBQUssVUFBVSxNQUFNO0FBQzdCLHdCQUFBQSxRQUFRLEtBQUssV0FBVyxNQUFNO0FBRTlCLG1CQUFlLGFBQTRCO0FBQ3pDLFVBQUk7QUFDRixjQUFNLFdBQVcsTUFBTSxNQUFNLFVBQVU7QUFDdkMsWUFBSSxDQUFDLFNBQVMsSUFBSTtBQUNoQixpQkFBTztBQUFBLFFBQ1Q7QUFBQSxNQUNGLFFBQVE7QUFFTixlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFFQSxhQUFTLFNBQWU7QUFDdEIsVUFBSSxXQUFXO0FBQ2I7QUFBQSxNQUNGO0FBQ0Esa0JBQVk7QUFDWixvQkFBYyxLQUFLO0FBQ25CLGNBQVE7QUFBQSxJQUNWO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbInByb2Nlc3MiXQp9Cg==
116
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NsaS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaW4gQ0xJIG92ZXIge0BsaW5rIGNvbm5lY3RUb0NkcH06IGxhdW5jaGVzIChvciBhdHRhY2hlcyB0bykgYSBDRFAtZW5hYmxlZFxuICogT2JzaWRpYW4gaW5zdGFuY2Ugd2l0aCB0aGUgcnVudGltZSBoZWxwZXIgbmFtZXNwYWNlIGJvb3RzdHJhcHBlZCwgcHJpbnRzIHRoZVxuICogY2hvc2VuIENEUCBwb3J0L1VSTCwgYW5kIHN0YXlzIGFsaXZlIHVudGlsIGludGVycnVwdGVkIHNvIGFuIGV4dGVybmFsIHRvb2xcbiAqIChyYXcgQ0RQIGB3c2AsIERldlRvb2xzLCBcdTIwMjYpIGNhbiBhdHRhY2guXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgQ0xJIChsYXVuY2hlcyBPYnNpZGlhbiAvIENEUCkgY292ZXJlZCBtYW51YWxseSwgbm90IGJ5IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwYXJzZUFyZ3MgfSBmcm9tICdub2RlOnV0aWwnO1xuXG5pbXBvcnQgdHlwZSB7IENvbm5lY3RUb0NkcE9wdGlvbnMgfSBmcm9tICcuL2Nvbm5lY3QtdG8tY2RwLmNqcyc7XG5cbmltcG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcblxuLyoqXG4gKiBUaGUgc2hhcGUgb2YgdGhlIHBhcnNlZCBDTEkgZmxhZyB2YWx1ZXMuXG4gKi9cbmludGVyZmFjZSBQYXJzZWRDbGlWYWx1ZXMge1xuICAnY29tbWFuZC10aW1lb3V0Jz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgJ2hvc3QnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAnbm8tcmVtb3ZlLXZhdWx0Jz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICdvYnNpZGlhbi1pbnN0YWxsZXItdmVyc2lvbic/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICdvYnNpZGlhbi12ZXJzaW9uJz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgJ3BvcnQnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAndmF1bHQnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFBhcnNlcyBDTEkgYXJndW1lbnRzLCBvcGVucyB0aGUgY29ubmVjdGlvbiwgcHJpbnRzIGl0cyBlbmRwb2ludCwgYW5kIGJsb2Nrc1xuICogdW50aWwgYFNJR0lOVGAvYFNJR1RFUk1gIG9yIHRoZSBvd25lZCBPYnNpZGlhbiB3aW5kb3cgaXMgY2xvc2VkLCBkaXNwb3NpbmcgdGhlXG4gKiBjb25uZWN0aW9uIG9uIHNodXRkb3duLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgY29ubmVjdGlvbiBoYXMgYmVlbiBkaXNwb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgdmFsdWVzIH0gPSBwYXJzZUFyZ3Moe1xuICAgIG9wdGlvbnM6IHtcbiAgICAgICdjb21tYW5kLXRpbWVvdXQnOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAnaG9zdCc6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICduby1yZW1vdmUtdmF1bHQnOiB7IHR5cGU6ICdib29sZWFuJyB9LFxuICAgICAgJ29ic2lkaWFuLWluc3RhbGxlci12ZXJzaW9uJzogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgJ29ic2lkaWFuLXZlcnNpb24nOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAncG9ydCc6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICd2YXVsdCc6IHsgdHlwZTogJ3N0cmluZycgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgY29ubmVjdGlvbiA9IGF3YWl0IGNvbm5lY3RUb0NkcChidWlsZE9wdGlvbnModmFsdWVzKSk7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoXG4gICAgJ09ic2lkaWFuIENEUCByZWFkeS5cXG4nXG4gICAgICArIGAgIHBvcnQ6ICAgJHtTdHJpbmcoY29ubmVjdGlvbi5wb3J0KX1cXG5gXG4gICAgICArIGAgIGNkcFVybDogJHtjb25uZWN0aW9uLmNkcFVybH1cXG5gXG4gICAgICArIGAgIHZhdWx0OiAgJHtjb25uZWN0aW9uLnZhdWx0LnBhdGh9XFxuYFxuICAgICAgKyAnUnVudGltZSBoZWxwZXJzIGJvb3RzdHJhcHBlZCBhcyB3aW5kb3cuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy5cXG4nXG4gICAgICArICdQcmVzcyBDdHJsK0MgdG8gc3RvcC5cXG4nXG4gICk7XG5cbiAgYXdhaXQgd2FpdEZvclNodXRkb3duT3JJbnN0YW5jZUNsb3NlKGNvbm5lY3Rpb24uY2RwVXJsKTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZSgnXFxuU2h1dHRpbmcgZG93blx1MjAyNlxcbicpO1xuICBhd2FpdCBjb25uZWN0aW9uLmRpc3Bvc2UoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMge0BsaW5rIENvbm5lY3RUb0NkcE9wdGlvbnN9IGZyb20gcGFyc2VkIENMSSBmbGFnIHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWVzIC0gVGhlIHBhcnNlZCBgcGFyc2VBcmdzYCB2YWx1ZXMuXG4gKiBAcmV0dXJucyBUaGUgY29ubmVjdGlvbiBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBidWlsZE9wdGlvbnModmFsdWVzOiBQYXJzZWRDbGlWYWx1ZXMpOiBDb25uZWN0VG9DZHBPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICAuLi4odmFsdWVzWydjb21tYW5kLXRpbWVvdXQnXSAhPT0gdW5kZWZpbmVkICYmIHsgY29tbWFuZFRpbWVvdXRJbk1pbGxpc2Vjb25kczogcGFyc2VOdW1iZXIoJ2NvbW1hbmQtdGltZW91dCcsIHZhbHVlc1snY29tbWFuZC10aW1lb3V0J10pIH0pLFxuICAgIC4uLih2YWx1ZXMuaG9zdCAhPT0gdW5kZWZpbmVkICYmIHsgaG9zdDogdmFsdWVzLmhvc3QgfSksXG4gICAgLi4uKHZhbHVlc1snbm8tcmVtb3ZlLXZhdWx0J10gPT09IHRydWUgJiYgeyBzaG91bGRSZW1vdmVWYXVsdE9uRGlzcG9zZTogZmFsc2UgfSksXG4gICAgLi4uKHZhbHVlc1snb2JzaWRpYW4taW5zdGFsbGVyLXZlcnNpb24nXSAhPT0gdW5kZWZpbmVkICYmIHsgb2JzaWRpYW5JbnN0YWxsZXJWZXJzaW9uOiB2YWx1ZXNbJ29ic2lkaWFuLWluc3RhbGxlci12ZXJzaW9uJ10gfSksXG4gICAgLi4uKHZhbHVlc1snb2JzaWRpYW4tdmVyc2lvbiddICE9PSB1bmRlZmluZWQgJiYgeyBvYnNpZGlhblZlcnNpb246IHZhbHVlc1snb2JzaWRpYW4tdmVyc2lvbiddIH0pLFxuICAgIC4uLih2YWx1ZXMucG9ydCAhPT0gdW5kZWZpbmVkICYmIHsgcG9ydDogcGFyc2VOdW1iZXIoJ3BvcnQnLCB2YWx1ZXMucG9ydCkgfSksXG4gICAgLi4uKHZhbHVlcy52YXVsdCAhPT0gdW5kZWZpbmVkICYmIHsgdmF1bHQ6IHZhbHVlcy52YXVsdCB9KVxuICB9O1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIG51bWVyaWMgQ0xJIGZsYWcgdmFsdWUsIHRocm93aW5nIG9uIGEgbm9uLWZpbml0ZSByZXN1bHQuXG4gKlxuICogQHBhcmFtIGZsYWcgLSBUaGUgZmxhZyBuYW1lIChmb3IgdGhlIGVycm9yIG1lc3NhZ2UpLlxuICogQHBhcmFtIHJhdyAtIFRoZSByYXcgc3RyaW5nIHZhbHVlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBudW1iZXIuXG4gKiBAdGhyb3dzIEVycm9yIGlmIGByYXdgIGlzIG5vdCBhIGZpbml0ZSBudW1iZXIuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlTnVtYmVyKGZsYWc6IHN0cmluZywgcmF3OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB2YWx1ZSA9IE51bWJlcihyYXcpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAtLSR7ZmxhZ30gbXVzdCBiZSBhIG51bWJlciwgZ290OiAke3Jhd31gKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgb25jZSB0aGUgcHJvY2VzcyByZWNlaXZlcyBgU0lHSU5UYC9gU0lHVEVSTWAsIG9yIHRoZSBDRFAgZW5kcG9pbnRcbiAqIHN0b3BzIGFuc3dlcmluZyAodGhlIG93bmVkIE9ic2lkaWFuIHdpbmRvdyB3YXMgY2xvc2VkKS5cbiAqXG4gKiBAcGFyYW0gY2RwVXJsIC0gVGhlIGNvbm5lY3Rpb24ncyBDRFAgYmFzZSBVUkwgdG8gcG9sbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb24gdGhlIGZpcnN0IHNodXRkb3duIHRyaWdnZXIuXG4gKi9cbmZ1bmN0aW9uIHdhaXRGb3JTaHV0ZG93bk9ySW5zdGFuY2VDbG9zZShjZHBVcmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBQT0xMX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyA9IDEwMDA7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHZlcnNpb25VcmwgPSBgJHtjZHBVcmx9L2pzb24vdmVyc2lvbmA7XG4gICAgbGV0IGlzU2V0dGxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBwcm9iZUFsaXZlKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBJZ25vcmUgcG9sbCBlcnJvcnMuXG4gICAgICB9KTtcbiAgICB9LCBQT0xMX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyk7XG5cbiAgICBwcm9jZXNzLm9uY2UoJ1NJR0lOVCcsIHNldHRsZSk7XG4gICAgcHJvY2Vzcy5vbmNlKCdTSUdURVJNJywgc2V0dGxlKTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uIHByb2JlQWxpdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHZlcnNpb25VcmwpO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgc2V0dGxlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBUaGUgQ0RQIHBvcnQgc3RvcHBlZCBhbnN3ZXJpbmc6IHRoZSBPYnNpZGlhbiB3aW5kb3cgd2FzIGNsb3NlZC5cbiAgICAgICAgc2V0dGxlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0dGxlKCk6IHZvaWQge1xuICAgICAgaWYgKGlzU2V0dGxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpc1NldHRsZWQgPSB0cnVlO1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsMEJBQW9CO0FBQ3BCLHVCQUEwQjtBQUkxQiw0QkFBNkI7QUFzQjdCLGVBQXNCLE9BQXNCO0FBQzFDLFFBQU0sRUFBRSxPQUFPLFFBQUksNEJBQVU7QUFBQSxJQUMzQixTQUFTO0FBQUEsTUFDUCxtQkFBbUIsRUFBRSxNQUFNLFNBQVM7QUFBQSxNQUNwQyxRQUFRLEVBQUUsTUFBTSxTQUFTO0FBQUEsTUFDekIsbUJBQW1CLEVBQUUsTUFBTSxVQUFVO0FBQUEsTUFDckMsOEJBQThCLEVBQUUsTUFBTSxTQUFTO0FBQUEsTUFDL0Msb0JBQW9CLEVBQUUsTUFBTSxTQUFTO0FBQUEsTUFDckMsUUFBUSxFQUFFLE1BQU0sU0FBUztBQUFBLE1BQ3pCLFNBQVMsRUFBRSxNQUFNLFNBQVM7QUFBQSxJQUM1QjtBQUFBLEVBQ0YsQ0FBQztBQUVELFFBQU0sYUFBYSxVQUFNLG9DQUFhLGFBQWEsTUFBTSxDQUFDO0FBRTFELHNCQUFBQSxRQUFRLE9BQU87QUFBQSxJQUNiO0FBQUEsWUFDaUIsT0FBTyxXQUFXLElBQUksQ0FBQztBQUFBLFlBQ3ZCLFdBQVcsTUFBTTtBQUFBLFlBQ2pCLFdBQVcsTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFHeEM7QUFFQSxRQUFNLCtCQUErQixXQUFXLE1BQU07QUFFdEQsc0JBQUFBLFFBQVEsT0FBTyxNQUFNLHlCQUFvQjtBQUN6QyxRQUFNLFdBQVcsUUFBUTtBQUMzQjtBQVFBLFNBQVMsYUFBYSxRQUE4QztBQUNsRSxTQUFPO0FBQUEsSUFDTCxHQUFJLE9BQU8saUJBQWlCLE1BQU0sVUFBYSxFQUFFLDhCQUE4QixZQUFZLG1CQUFtQixPQUFPLGlCQUFpQixDQUFDLEVBQUU7QUFBQSxJQUN6SSxHQUFJLE9BQU8sU0FBUyxVQUFhLEVBQUUsTUFBTSxPQUFPLEtBQUs7QUFBQSxJQUNyRCxHQUFJLE9BQU8saUJBQWlCLE1BQU0sUUFBUSxFQUFFLDRCQUE0QixNQUFNO0FBQUEsSUFDOUUsR0FBSSxPQUFPLDRCQUE0QixNQUFNLFVBQWEsRUFBRSwwQkFBMEIsT0FBTyw0QkFBNEIsRUFBRTtBQUFBLElBQzNILEdBQUksT0FBTyxrQkFBa0IsTUFBTSxVQUFhLEVBQUUsaUJBQWlCLE9BQU8sa0JBQWtCLEVBQUU7QUFBQSxJQUM5RixHQUFJLE9BQU8sU0FBUyxVQUFhLEVBQUUsTUFBTSxZQUFZLFFBQVEsT0FBTyxJQUFJLEVBQUU7QUFBQSxJQUMxRSxHQUFJLE9BQU8sVUFBVSxVQUFhLEVBQUUsT0FBTyxPQUFPLE1BQU07QUFBQSxFQUMxRDtBQUNGO0FBVUEsU0FBUyxZQUFZLE1BQWMsS0FBcUI7QUFDdEQsUUFBTSxRQUFRLE9BQU8sR0FBRztBQUN4QixNQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssR0FBRztBQUMzQixVQUFNLElBQUksVUFBVSxLQUFLLElBQUksMkJBQTJCLEdBQUcsRUFBRTtBQUFBLEVBQy9EO0FBQ0EsU0FBTztBQUNUO0FBU0EsU0FBUywrQkFBK0IsUUFBK0I7QUFDckUsUUFBTSxnQ0FBZ0M7QUFDdEMsU0FBTyxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sYUFBYSxHQUFHLE1BQU07QUFDNUIsUUFBSSxZQUFZO0FBRWhCLFVBQU0sUUFBUSxZQUFZLE1BQU07QUFDOUIsaUJBQVcsRUFBRSxNQUFNLE1BQU07QUFBQSxNQUV6QixDQUFDO0FBQUEsSUFDSCxHQUFHLDZCQUE2QjtBQUVoQyx3QkFBQUEsUUFBUSxLQUFLLFVBQVUsTUFBTTtBQUM3Qix3QkFBQUEsUUFBUSxLQUFLLFdBQVcsTUFBTTtBQUU5QixtQkFBZSxhQUE0QjtBQUN6QyxVQUFJO0FBQ0YsY0FBTSxXQUFXLE1BQU0sTUFBTSxVQUFVO0FBQ3ZDLFlBQUksQ0FBQyxTQUFTLElBQUk7QUFDaEIsaUJBQU87QUFBQSxRQUNUO0FBQUEsTUFDRixRQUFRO0FBRU4sZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBRUEsYUFBUyxTQUFlO0FBQ3RCLFVBQUksV0FBVztBQUNiO0FBQUEsTUFDRjtBQUNBLGtCQUFZO0FBQ1osb0JBQWMsS0FBSztBQUNuQixjQUFRO0FBQUEsSUFDVjtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogWyJwcm9jZXNzIl0KfQo=