@mnaoumov/obsidian-lib 1.0.0 → 2.0.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 (412) hide show
  1. package/README.md +9 -1
  2. package/dist/lib/cjs/__merged.cjs +54 -64
  3. package/dist/lib/cjs/__merged.d.cts +5 -3
  4. package/dist/lib/cjs/active-file-provider.cjs +40 -64
  5. package/dist/lib/cjs/app.cjs +40 -64
  6. package/dist/lib/cjs/async-with-notice.cjs +40 -64
  7. package/dist/lib/cjs/attachment-path.cjs +101 -72
  8. package/dist/lib/cjs/attachment-path.d.cts +21 -43
  9. package/dist/lib/cjs/attachment-unit-folder.cjs +40 -64
  10. package/dist/lib/cjs/attachment-unit-folder.d.cts +8 -9
  11. package/dist/lib/cjs/backlink-index.cjs +41 -65
  12. package/dist/lib/cjs/backlink.cjs +40 -64
  13. package/dist/lib/cjs/bases-view-registrar.cjs +40 -64
  14. package/dist/lib/cjs/callout.cjs +40 -64
  15. package/dist/lib/cjs/canvas.cjs +40 -64
  16. package/dist/lib/cjs/case-insensitive-file-index.cjs +40 -64
  17. package/dist/lib/cjs/code-block-markdown-information.cjs +40 -64
  18. package/dist/lib/cjs/code-block-reg-exp.cjs +40 -64
  19. package/dist/lib/cjs/codemirror/index.cjs +40 -64
  20. package/dist/lib/cjs/codemirror/state-field-spec.cjs +40 -64
  21. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +40 -64
  22. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +40 -64
  23. package/dist/lib/cjs/command-handlers/command-handler.cjs +40 -64
  24. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +40 -64
  25. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +40 -64
  26. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +40 -64
  27. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +40 -64
  28. package/dist/lib/cjs/command-handlers/index.cjs +40 -64
  29. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +40 -64
  30. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +40 -64
  31. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +40 -64
  32. package/dist/lib/cjs/command-registrar.cjs +40 -64
  33. package/dist/lib/cjs/community-plugins.cjs +40 -64
  34. package/dist/lib/cjs/components/abort-signal-component.cjs +40 -64
  35. package/dist/lib/cjs/components/all-windows-event-component.cjs +40 -64
  36. package/dist/lib/cjs/components/async-error-handler-component.cjs +40 -64
  37. package/dist/lib/cjs/components/async-events-component.cjs +40 -64
  38. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +40 -64
  39. package/dist/lib/cjs/components/component-ex.cjs +41 -65
  40. package/dist/lib/cjs/components/console-debug-component.cjs +40 -64
  41. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +40 -64
  42. package/dist/lib/cjs/components/disposable-component.cjs +40 -64
  43. package/dist/lib/cjs/components/embed-extensions-component.cjs +40 -64
  44. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +40 -64
  45. package/dist/lib/cjs/components/index.cjs +40 -64
  46. package/dist/lib/cjs/components/layout-ready-component.cjs +40 -64
  47. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +40 -64
  48. package/dist/lib/cjs/components/monkey-around-component.cjs +40 -64
  49. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +40 -64
  50. package/dist/lib/cjs/components/plugin-context-component.cjs +40 -64
  51. package/dist/lib/cjs/components/plugin-gate-component.cjs +41 -65
  52. package/dist/lib/cjs/components/plugin-notice-component.cjs +46 -65
  53. package/dist/lib/cjs/components/plugin-notice-component.d.cts +3 -0
  54. package/dist/lib/cjs/components/plugin-settings-component.cjs +41 -65
  55. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +40 -64
  56. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +40 -64
  57. package/dist/lib/cjs/components/pointer-position-component.cjs +40 -64
  58. package/dist/lib/cjs/components/registry-component.cjs +40 -64
  59. package/dist/lib/cjs/components/release-notes-component.cjs +42 -65
  60. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +40 -64
  61. package/dist/lib/cjs/components/rmdir-guard-component.cjs +40 -64
  62. package/dist/lib/cjs/components/settings-migration-component.cjs +44 -68
  63. package/dist/lib/cjs/components/settings-migration-component.d.cts +6 -4
  64. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +40 -64
  65. package/dist/lib/cjs/components/templates-language-component.cjs +40 -64
  66. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +40 -64
  67. package/dist/lib/cjs/constructors/index.cjs +40 -64
  68. package/dist/lib/cjs/css-class.cjs +40 -64
  69. package/dist/lib/cjs/data-handler.cjs +40 -64
  70. package/dist/lib/cjs/dataview-link.cjs +40 -64
  71. package/dist/lib/cjs/dataview.cjs +40 -64
  72. package/dist/lib/cjs/debug.cjs +40 -64
  73. package/dist/lib/cjs/demo-vault-helper-settings.cjs +40 -64
  74. package/dist/lib/cjs/demo-vault-helper.cjs +42 -65
  75. package/dist/lib/cjs/demo-vault-naming.cjs +40 -64
  76. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +48 -71
  77. package/dist/lib/cjs/desktop-trusted-input.cjs +40 -64
  78. package/dist/lib/cjs/editor-extension-registrar.cjs +40 -64
  79. package/dist/lib/cjs/editor-suggest-registrar.cjs +40 -64
  80. package/dist/lib/cjs/editor.cjs +40 -64
  81. package/dist/lib/cjs/events.cjs +40 -64
  82. package/dist/lib/cjs/extensions-registrar.cjs +40 -64
  83. package/dist/lib/cjs/file-change.cjs +40 -64
  84. package/dist/lib/cjs/file-explorer.cjs +40 -64
  85. package/dist/lib/cjs/file-manager.cjs +40 -64
  86. package/dist/lib/cjs/file-system.cjs +45 -64
  87. package/dist/lib/cjs/file-system.d.cts +7 -0
  88. package/dist/lib/cjs/folder-note.cjs +40 -64
  89. package/dist/lib/cjs/frontmatter-formatting.cjs +41 -65
  90. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +40 -64
  91. package/dist/lib/cjs/frontmatter.cjs +40 -64
  92. package/dist/lib/cjs/generated-during-build.cjs +42 -66
  93. package/dist/lib/cjs/generated-during-build.d.cts +8 -2
  94. package/dist/lib/cjs/hover-link-source-registrar.cjs +40 -64
  95. package/dist/lib/cjs/html-element.cjs +40 -64
  96. package/dist/lib/cjs/i18n/custom-type-options.cjs +40 -64
  97. package/dist/lib/cjs/i18n/default-translations.cjs +40 -64
  98. package/dist/lib/cjs/i18n/i18n.cjs +40 -64
  99. package/dist/lib/cjs/i18n/index.cjs +40 -64
  100. package/dist/lib/cjs/i18n/locales/en.cjs +40 -64
  101. package/dist/lib/cjs/i18n/locales/index.cjs +40 -64
  102. package/dist/lib/cjs/i18n/locales/translations-map.cjs +40 -64
  103. package/dist/lib/cjs/index.cjs +40 -64
  104. package/dist/lib/cjs/is-in-obsidian.cjs +40 -64
  105. package/dist/lib/cjs/library-styles.cjs +40 -64
  106. package/dist/lib/cjs/library.cjs +40 -64
  107. package/dist/lib/cjs/link-name.cjs +40 -64
  108. package/dist/lib/cjs/link-update-progress.cjs +40 -64
  109. package/dist/lib/cjs/link.cjs +40 -64
  110. package/dist/lib/cjs/logger.cjs +40 -64
  111. package/dist/lib/cjs/loop.cjs +40 -64
  112. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +40 -64
  113. package/dist/lib/cjs/markdown-code-block-processor.cjs +40 -64
  114. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +40 -64
  115. package/dist/lib/cjs/markdown-view.cjs +40 -64
  116. package/dist/lib/cjs/markdown.cjs +40 -64
  117. package/dist/lib/cjs/menu-event-registrar.cjs +40 -64
  118. package/dist/lib/cjs/metadata-cache.cjs +64 -70
  119. package/dist/lib/cjs/metadata-cache.d.cts +8 -19
  120. package/dist/lib/cjs/mobile-trusted-input.cjs +40 -64
  121. package/dist/lib/cjs/modals/alert.cjs +40 -64
  122. package/dist/lib/cjs/modals/confirm.cjs +40 -64
  123. package/dist/lib/cjs/modals/index.cjs +40 -64
  124. package/dist/lib/cjs/modals/minimizable-modal.cjs +40 -64
  125. package/dist/lib/cjs/modals/modal-command-builder.cjs +40 -64
  126. package/dist/lib/cjs/modals/modal.cjs +40 -64
  127. package/dist/lib/cjs/modals/prompt.cjs +40 -64
  128. package/dist/lib/cjs/modals/select-item.cjs +40 -64
  129. package/dist/lib/cjs/modals/select-option.cjs +40 -64
  130. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +40 -64
  131. package/dist/lib/cjs/note-priority.cjs +41 -65
  132. package/dist/lib/cjs/notebook-navigator.cjs +40 -64
  133. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +40 -64
  134. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +40 -64
  135. package/dist/lib/cjs/obsidian-settings.cjs +40 -64
  136. package/dist/lib/cjs/parse-link.cjs +40 -64
  137. package/dist/lib/cjs/path-settings.cjs +40 -64
  138. package/dist/lib/cjs/pdf.cjs +40 -64
  139. package/dist/lib/cjs/plugin/index.cjs +43 -64
  140. package/dist/lib/cjs/plugin/index.d.cts +1 -0
  141. package/dist/lib/cjs/plugin/plugin-api-schema.cjs +171 -0
  142. package/dist/lib/cjs/plugin/plugin-api-schema.d.cts +59 -0
  143. package/dist/lib/cjs/plugin/plugin-api.cjs +46 -64
  144. package/dist/lib/cjs/plugin/plugin-api.d.cts +83 -10
  145. package/dist/lib/cjs/plugin/plugin-context.cjs +40 -64
  146. package/dist/lib/cjs/plugin/plugin-event-source.cjs +40 -64
  147. package/dist/lib/cjs/plugin/plugin-install-state.cjs +40 -64
  148. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +40 -64
  149. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +41 -65
  150. package/dist/lib/cjs/plugin/plugin.cjs +41 -65
  151. package/dist/lib/cjs/plugin/settings-migration-api.cjs +69 -64
  152. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +16 -3
  153. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +40 -64
  154. package/dist/lib/cjs/popovers/field-popover.cjs +40 -64
  155. package/dist/lib/cjs/popovers/index.cjs +40 -64
  156. package/dist/lib/cjs/popovers/popover-anchor.cjs +40 -64
  157. package/dist/lib/cjs/popovers/popover.cjs +40 -64
  158. package/dist/lib/cjs/property-entry.cjs +40 -64
  159. package/dist/lib/cjs/queue.cjs +40 -64
  160. package/dist/lib/cjs/react/app-context.cjs +40 -64
  161. package/dist/lib/cjs/react/index.cjs +40 -64
  162. package/dist/lib/cjs/reference.cjs +40 -64
  163. package/dist/lib/cjs/resource-lock.cjs +40 -64
  164. package/dist/lib/cjs/resource-url.cjs +40 -64
  165. package/dist/lib/cjs/ribbon-icon-registrar.cjs +40 -64
  166. package/dist/lib/cjs/setting-components/checkbox-component.cjs +40 -64
  167. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +40 -64
  168. package/dist/lib/cjs/setting-components/date-component.cjs +40 -64
  169. package/dist/lib/cjs/setting-components/date-time-component.cjs +40 -64
  170. package/dist/lib/cjs/setting-components/email-component.cjs +40 -64
  171. package/dist/lib/cjs/setting-components/file-component.cjs +40 -64
  172. package/dist/lib/cjs/setting-components/index.cjs +40 -64
  173. package/dist/lib/cjs/setting-components/month-component.cjs +40 -64
  174. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +41 -65
  175. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +40 -64
  176. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +40 -64
  177. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +40 -64
  178. package/dist/lib/cjs/setting-components/number-component.cjs +40 -64
  179. package/dist/lib/cjs/setting-components/password-component.cjs +40 -64
  180. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +40 -64
  181. package/dist/lib/cjs/setting-components/telephone-component.cjs +40 -64
  182. package/dist/lib/cjs/setting-components/text-based-component.cjs +40 -64
  183. package/dist/lib/cjs/setting-components/time-component.cjs +40 -64
  184. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +40 -64
  185. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +40 -64
  186. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +40 -64
  187. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +40 -64
  188. package/dist/lib/cjs/setting-components/typed-text-component.cjs +41 -65
  189. package/dist/lib/cjs/setting-components/url-component.cjs +40 -64
  190. package/dist/lib/cjs/setting-components/validator-component.cjs +41 -65
  191. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +40 -64
  192. package/dist/lib/cjs/setting-components/week-component.cjs +40 -64
  193. package/dist/lib/cjs/setting-ex.cjs +40 -64
  194. package/dist/lib/cjs/setting-group-ex.cjs +40 -64
  195. package/dist/lib/cjs/status-bar-item-registrar.cjs +40 -64
  196. package/dist/lib/cjs/templater.cjs +40 -64
  197. package/dist/lib/cjs/transformers/duration-transformer.cjs +40 -64
  198. package/dist/lib/cjs/transformers/index.cjs +40 -64
  199. package/dist/lib/cjs/trusted-input.cjs +40 -64
  200. package/dist/lib/cjs/validation.cjs +40 -64
  201. package/dist/lib/cjs/vault-delete.cjs +40 -64
  202. package/dist/lib/cjs/vault-transaction.cjs +40 -64
  203. package/dist/lib/cjs/vault.cjs +41 -65
  204. package/dist/lib/cjs/view-registrar.cjs +40 -64
  205. package/dist/lib/cjs/workspace.cjs +40 -64
  206. package/dist/lib/esm/__merged.d.mts +5 -3
  207. package/dist/lib/esm/__merged.mjs +20 -14
  208. package/dist/lib/esm/active-file-provider.mjs +6 -14
  209. package/dist/lib/esm/app.mjs +6 -14
  210. package/dist/lib/esm/async-with-notice.mjs +6 -14
  211. package/dist/lib/esm/attachment-path.d.mts +21 -43
  212. package/dist/lib/esm/attachment-path.mjs +70 -22
  213. package/dist/lib/esm/attachment-unit-folder.d.mts +8 -9
  214. package/dist/lib/esm/attachment-unit-folder.mjs +6 -14
  215. package/dist/lib/esm/backlink-index.mjs +6 -14
  216. package/dist/lib/esm/backlink.mjs +6 -14
  217. package/dist/lib/esm/bases-view-registrar.mjs +6 -14
  218. package/dist/lib/esm/callout.mjs +6 -14
  219. package/dist/lib/esm/canvas.mjs +6 -14
  220. package/dist/lib/esm/case-insensitive-file-index.mjs +6 -14
  221. package/dist/lib/esm/code-block-markdown-information.mjs +5 -13
  222. package/dist/lib/esm/code-block-reg-exp.mjs +6 -14
  223. package/dist/lib/esm/codemirror/index.mjs +6 -14
  224. package/dist/lib/esm/codemirror/state-field-spec.mjs +5 -13
  225. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +6 -14
  226. package/dist/lib/esm/command-handlers/command-handler-component.mjs +6 -14
  227. package/dist/lib/esm/command-handlers/command-handler.mjs +6 -14
  228. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +6 -14
  229. package/dist/lib/esm/command-handlers/file-command-handler.mjs +6 -14
  230. package/dist/lib/esm/command-handlers/folder-command-handler.mjs +6 -14
  231. package/dist/lib/esm/command-handlers/global-command-handler.mjs +6 -14
  232. package/dist/lib/esm/command-handlers/index.mjs +6 -14
  233. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +6 -14
  234. package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +6 -14
  235. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +6 -14
  236. package/dist/lib/esm/command-registrar.mjs +6 -14
  237. package/dist/lib/esm/community-plugins.mjs +6 -14
  238. package/dist/lib/esm/components/abort-signal-component.mjs +6 -14
  239. package/dist/lib/esm/components/all-windows-event-component.mjs +6 -14
  240. package/dist/lib/esm/components/async-error-handler-component.mjs +6 -14
  241. package/dist/lib/esm/components/async-events-component.mjs +6 -14
  242. package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +6 -14
  243. package/dist/lib/esm/components/component-ex.mjs +6 -14
  244. package/dist/lib/esm/components/console-debug-component.mjs +6 -14
  245. package/dist/lib/esm/components/core-plugin-toggle-component.mjs +6 -14
  246. package/dist/lib/esm/components/disposable-component.mjs +6 -14
  247. package/dist/lib/esm/components/embed-extensions-component.mjs +6 -14
  248. package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +6 -14
  249. package/dist/lib/esm/components/index.mjs +6 -14
  250. package/dist/lib/esm/components/layout-ready-component.mjs +6 -14
  251. package/dist/lib/esm/components/menu-event-registrar-component.mjs +6 -14
  252. package/dist/lib/esm/components/monkey-around-component.mjs +6 -14
  253. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +6 -14
  254. package/dist/lib/esm/components/plugin-context-component.mjs +6 -14
  255. package/dist/lib/esm/components/plugin-gate-component.mjs +6 -14
  256. package/dist/lib/esm/components/plugin-notice-component.d.mts +3 -0
  257. package/dist/lib/esm/components/plugin-notice-component.mjs +12 -15
  258. package/dist/lib/esm/components/plugin-settings-component.mjs +6 -14
  259. package/dist/lib/esm/components/plugin-settings-tab-component.mjs +6 -14
  260. package/dist/lib/esm/components/plugin-suggestion-component.mjs +6 -14
  261. package/dist/lib/esm/components/pointer-position-component.mjs +6 -14
  262. package/dist/lib/esm/components/registry-component.mjs +6 -14
  263. package/dist/lib/esm/components/release-notes-component.mjs +11 -15
  264. package/dist/lib/esm/components/rename-delete-handler-component.mjs +6 -14
  265. package/dist/lib/esm/components/rmdir-guard-component.mjs +6 -14
  266. package/dist/lib/esm/components/settings-migration-component.d.mts +6 -4
  267. package/dist/lib/esm/components/settings-migration-component.mjs +10 -18
  268. package/dist/lib/esm/components/syntax-highlighting-component.mjs +6 -14
  269. package/dist/lib/esm/components/templates-language-component.mjs +6 -14
  270. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +6 -14
  271. package/dist/lib/esm/constructors/index.mjs +6 -14
  272. package/dist/lib/esm/css-class.mjs +6 -14
  273. package/dist/lib/esm/data-handler.mjs +6 -14
  274. package/dist/lib/esm/dataview-link.mjs +6 -14
  275. package/dist/lib/esm/dataview.mjs +6 -14
  276. package/dist/lib/esm/debug.mjs +6 -14
  277. package/dist/lib/esm/demo-vault-helper-settings.mjs +5 -13
  278. package/dist/lib/esm/demo-vault-helper.mjs +8 -15
  279. package/dist/lib/esm/demo-vault-naming.mjs +6 -14
  280. package/dist/lib/esm/desktop-demo-vault-opener.mjs +17 -21
  281. package/dist/lib/esm/desktop-trusted-input.mjs +6 -14
  282. package/dist/lib/esm/editor-extension-registrar.mjs +6 -14
  283. package/dist/lib/esm/editor-suggest-registrar.mjs +6 -14
  284. package/dist/lib/esm/editor.mjs +6 -14
  285. package/dist/lib/esm/events.mjs +6 -14
  286. package/dist/lib/esm/extensions-registrar.mjs +6 -14
  287. package/dist/lib/esm/file-change.mjs +6 -14
  288. package/dist/lib/esm/file-explorer.mjs +6 -14
  289. package/dist/lib/esm/file-manager.mjs +6 -14
  290. package/dist/lib/esm/file-system.d.mts +7 -0
  291. package/dist/lib/esm/file-system.mjs +10 -14
  292. package/dist/lib/esm/folder-note.mjs +6 -14
  293. package/dist/lib/esm/frontmatter-formatting.mjs +6 -14
  294. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +6 -14
  295. package/dist/lib/esm/frontmatter.mjs +6 -14
  296. package/dist/lib/esm/generated-during-build.d.mts +8 -2
  297. package/dist/lib/esm/generated-during-build.mjs +8 -16
  298. package/dist/lib/esm/hover-link-source-registrar.mjs +6 -14
  299. package/dist/lib/esm/html-element.mjs +6 -14
  300. package/dist/lib/esm/i18n/custom-type-options.mjs +6 -14
  301. package/dist/lib/esm/i18n/default-translations.mjs +6 -14
  302. package/dist/lib/esm/i18n/i18n.mjs +6 -14
  303. package/dist/lib/esm/i18n/index.mjs +6 -14
  304. package/dist/lib/esm/i18n/locales/en.mjs +6 -14
  305. package/dist/lib/esm/i18n/locales/index.mjs +6 -14
  306. package/dist/lib/esm/i18n/locales/translations-map.mjs +6 -14
  307. package/dist/lib/esm/index.mjs +6 -14
  308. package/dist/lib/esm/is-in-obsidian.mjs +6 -14
  309. package/dist/lib/esm/library-styles.mjs +6 -14
  310. package/dist/lib/esm/library.mjs +6 -14
  311. package/dist/lib/esm/link-name.mjs +6 -14
  312. package/dist/lib/esm/link-update-progress.mjs +5 -13
  313. package/dist/lib/esm/link.mjs +6 -14
  314. package/dist/lib/esm/logger.mjs +6 -14
  315. package/dist/lib/esm/loop.mjs +6 -14
  316. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +6 -14
  317. package/dist/lib/esm/markdown-code-block-processor.mjs +6 -14
  318. package/dist/lib/esm/markdown-post-processor-registrar.mjs +6 -14
  319. package/dist/lib/esm/markdown-view.mjs +6 -14
  320. package/dist/lib/esm/markdown.mjs +6 -14
  321. package/dist/lib/esm/menu-event-registrar.mjs +5 -13
  322. package/dist/lib/esm/metadata-cache.d.mts +8 -19
  323. package/dist/lib/esm/metadata-cache.mjs +35 -21
  324. package/dist/lib/esm/mobile-trusted-input.mjs +6 -14
  325. package/dist/lib/esm/modals/alert.mjs +6 -14
  326. package/dist/lib/esm/modals/confirm.mjs +6 -14
  327. package/dist/lib/esm/modals/index.mjs +6 -14
  328. package/dist/lib/esm/modals/minimizable-modal.mjs +6 -14
  329. package/dist/lib/esm/modals/modal-command-builder.mjs +6 -14
  330. package/dist/lib/esm/modals/modal.mjs +6 -14
  331. package/dist/lib/esm/modals/prompt.mjs +6 -14
  332. package/dist/lib/esm/modals/select-item.mjs +6 -14
  333. package/dist/lib/esm/modals/select-option.mjs +6 -14
  334. package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +6 -14
  335. package/dist/lib/esm/note-priority.mjs +6 -14
  336. package/dist/lib/esm/notebook-navigator.mjs +6 -14
  337. package/dist/lib/esm/obsidian-dev-utils-state.mjs +6 -14
  338. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +6 -14
  339. package/dist/lib/esm/obsidian-settings.mjs +6 -14
  340. package/dist/lib/esm/parse-link.mjs +6 -14
  341. package/dist/lib/esm/path-settings.mjs +6 -14
  342. package/dist/lib/esm/pdf.mjs +6 -14
  343. package/dist/lib/esm/plugin/index.d.mts +1 -0
  344. package/dist/lib/esm/plugin/index.mjs +8 -14
  345. package/dist/lib/esm/plugin/plugin-api-schema.d.mts +59 -0
  346. package/dist/lib/esm/plugin/plugin-api-schema.mjs +73 -0
  347. package/dist/lib/esm/plugin/plugin-api.d.mts +83 -10
  348. package/dist/lib/esm/plugin/plugin-api.mjs +11 -14
  349. package/dist/lib/esm/plugin/plugin-context.mjs +6 -14
  350. package/dist/lib/esm/plugin/plugin-event-source.mjs +6 -14
  351. package/dist/lib/esm/plugin/plugin-install-state.mjs +6 -14
  352. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +6 -14
  353. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +6 -14
  354. package/dist/lib/esm/plugin/plugin.mjs +6 -14
  355. package/dist/lib/esm/plugin/settings-migration-api.d.mts +16 -3
  356. package/dist/lib/esm/plugin/settings-migration-api.mjs +30 -14
  357. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +6 -14
  358. package/dist/lib/esm/popovers/field-popover.mjs +6 -14
  359. package/dist/lib/esm/popovers/index.mjs +6 -14
  360. package/dist/lib/esm/popovers/popover-anchor.mjs +6 -14
  361. package/dist/lib/esm/popovers/popover.mjs +6 -14
  362. package/dist/lib/esm/property-entry.mjs +6 -14
  363. package/dist/lib/esm/queue.mjs +6 -14
  364. package/dist/lib/esm/react/app-context.mjs +6 -14
  365. package/dist/lib/esm/react/index.mjs +6 -14
  366. package/dist/lib/esm/reference.mjs +6 -14
  367. package/dist/lib/esm/resource-lock.mjs +6 -14
  368. package/dist/lib/esm/resource-url.mjs +6 -14
  369. package/dist/lib/esm/ribbon-icon-registrar.mjs +6 -14
  370. package/dist/lib/esm/setting-components/checkbox-component.mjs +6 -14
  371. package/dist/lib/esm/setting-components/code-highlighter-component.mjs +6 -14
  372. package/dist/lib/esm/setting-components/date-component.mjs +6 -14
  373. package/dist/lib/esm/setting-components/date-time-component.mjs +6 -14
  374. package/dist/lib/esm/setting-components/email-component.mjs +6 -14
  375. package/dist/lib/esm/setting-components/file-component.mjs +6 -14
  376. package/dist/lib/esm/setting-components/index.mjs +6 -14
  377. package/dist/lib/esm/setting-components/month-component.mjs +6 -14
  378. package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +6 -14
  379. package/dist/lib/esm/setting-components/multiple-email-component.mjs +6 -14
  380. package/dist/lib/esm/setting-components/multiple-file-component.mjs +6 -14
  381. package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -14
  382. package/dist/lib/esm/setting-components/number-component.mjs +6 -14
  383. package/dist/lib/esm/setting-components/password-component.mjs +6 -14
  384. package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +6 -14
  385. package/dist/lib/esm/setting-components/telephone-component.mjs +6 -14
  386. package/dist/lib/esm/setting-components/text-based-component.mjs +6 -14
  387. package/dist/lib/esm/setting-components/time-component.mjs +6 -14
  388. package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +6 -14
  389. package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +6 -14
  390. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +6 -14
  391. package/dist/lib/esm/setting-components/typed-range-text-component.mjs +6 -14
  392. package/dist/lib/esm/setting-components/typed-text-component.mjs +6 -14
  393. package/dist/lib/esm/setting-components/url-component.mjs +6 -14
  394. package/dist/lib/esm/setting-components/validator-component.mjs +6 -14
  395. package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +5 -13
  396. package/dist/lib/esm/setting-components/week-component.mjs +6 -14
  397. package/dist/lib/esm/setting-ex.mjs +6 -14
  398. package/dist/lib/esm/setting-group-ex.mjs +6 -14
  399. package/dist/lib/esm/status-bar-item-registrar.mjs +6 -14
  400. package/dist/lib/esm/templater.mjs +6 -14
  401. package/dist/lib/esm/transformers/duration-transformer.mjs +6 -14
  402. package/dist/lib/esm/transformers/index.mjs +6 -14
  403. package/dist/lib/esm/trusted-input.mjs +6 -14
  404. package/dist/lib/esm/validation.mjs +6 -14
  405. package/dist/lib/esm/vault-delete.mjs +6 -14
  406. package/dist/lib/esm/vault-transaction.mjs +6 -14
  407. package/dist/lib/esm/vault.mjs +6 -14
  408. package/dist/lib/esm/view-registrar.mjs +6 -14
  409. package/dist/lib/esm/workspace.mjs +6 -14
  410. package/dist/styles.css +4 -1
  411. package/package.json +69 -24
  412. package/plugin/plugin-api-schema/package.json +6 -0
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -83,4 +75,4 @@ export {
83
75
  ModalBase,
84
76
  showModal
85
77
  };
86
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9tb2RhbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogVGhlIHBhcmFtZXRlcnMgZm9yIGNvbnN0cnVjdGluZyBhIHtAbGluayBNb2RhbEJhc2V9LlxuICpcbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgcmVzb2x2ZWQgYnkgdGhlIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zPFZhbHVlPiBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIHZhbHVlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IHByb21pc2VSZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxWYWx1ZT47XG59XG5cbi8qKlxuICogQmFzZSBvcHRpb25zIGZvciBhIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgYmFzZSBjbGFzcyBmb3IgZGlzcGxheWluZyBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogQHR5cGVQYXJhbSBWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSByZXNvbHZlZCBieSB0aGUgbW9kYWwuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbEJhc2U8VmFsdWU+IGV4dGVuZHMgTW9kYWwge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byByZXNvbHZlIHRoZSB2YWx1ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvbWlzZVJlc29sdmU6IFByb21pc2VSZXNvbHZlPFZhbHVlPjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8VmFsdWU+KSB7XG4gICAgc3VwZXIocGFyYW1zLmFwcCk7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZSA9IHBhcmFtcy5wcm9taXNlUmVzb2x2ZTtcbiAgICB0aGlzLmFkZENzc0NsYXNzZXMocGFyYW1zLmNzc0NsYXNzZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG1vZGFsJ3MgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjc3NDbGFzc2VzIC0gVGhlIENTUyBjbGFzc2VzIHRvIGFkZC5cbiAgICovXG4gIHByb3RlY3RlZCBhZGRDc3NDbGFzc2VzKGNzc0NsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXModGhpcy5jb250YWluZXJFbCwgY3NzQ2xhc3Nlcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgcmVzb2x2ZWQgYnkgdGhlIG1vZGFsLlxuICogQHBhcmFtIG1vZGFsQ3JlYXRvciAtIEEgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dNb2RhbDxWYWx1ZT4obW9kYWxDcmVhdG9yOiAocmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8VmFsdWU+KSA9PiBNb2RhbCk6IFByb21pc2U8VmFsdWU+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFZhbHVlPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IG1vZGFsID0gbW9kYWxDcmVhdG9yKHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsU0FBUyxhQUFhO0FBRXRCLFNBQVMsMkJBQTJCO0FBa0M3QixNQUFlLGtCQUF5QixNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQTJDO0FBQzVELFVBQU0sT0FBTyxHQUFHO0FBQ2hCLFNBQUssaUJBQWlCLE9BQU87QUFDN0IsU0FBSyxjQUFjLE9BQU8sVUFBVTtBQUFBLEVBQ3RDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1UsY0FBYyxZQUFzQztBQUM1RCx3QkFBb0IsS0FBSyxhQUFhLFVBQVU7QUFBQSxFQUNsRDtBQUNGO0FBU0EsZUFBc0IsVUFBaUIsY0FBeUU7QUFDOUcsU0FBTyxNQUFNLElBQUksUUFBZSxDQUFDLFlBQVk7QUFDM0MsVUFBTSxRQUFRLGFBQWEsT0FBTztBQUNsQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
78
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9tb2RhbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogVGhlIHBhcmFtZXRlcnMgZm9yIGNvbnN0cnVjdGluZyBhIHtAbGluayBNb2RhbEJhc2V9LlxuICpcbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgcmVzb2x2ZWQgYnkgdGhlIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zPFZhbHVlPiBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIHZhbHVlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IHByb21pc2VSZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxWYWx1ZT47XG59XG5cbi8qKlxuICogQmFzZSBvcHRpb25zIGZvciBhIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgYmFzZSBjbGFzcyBmb3IgZGlzcGxheWluZyBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogQHR5cGVQYXJhbSBWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSByZXNvbHZlZCBieSB0aGUgbW9kYWwuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbEJhc2U8VmFsdWU+IGV4dGVuZHMgTW9kYWwge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byByZXNvbHZlIHRoZSB2YWx1ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvbWlzZVJlc29sdmU6IFByb21pc2VSZXNvbHZlPFZhbHVlPjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8VmFsdWU+KSB7XG4gICAgc3VwZXIocGFyYW1zLmFwcCk7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZSA9IHBhcmFtcy5wcm9taXNlUmVzb2x2ZTtcbiAgICB0aGlzLmFkZENzc0NsYXNzZXMocGFyYW1zLmNzc0NsYXNzZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG1vZGFsJ3MgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjc3NDbGFzc2VzIC0gVGhlIENTUyBjbGFzc2VzIHRvIGFkZC5cbiAgICovXG4gIHByb3RlY3RlZCBhZGRDc3NDbGFzc2VzKGNzc0NsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXModGhpcy5jb250YWluZXJFbCwgY3NzQ2xhc3Nlcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgcmVzb2x2ZWQgYnkgdGhlIG1vZGFsLlxuICogQHBhcmFtIG1vZGFsQ3JlYXRvciAtIEEgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dNb2RhbDxWYWx1ZT4obW9kYWxDcmVhdG9yOiAocmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8VmFsdWU+KSA9PiBNb2RhbCk6IFByb21pc2U8VmFsdWU+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFZhbHVlPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IG1vZGFsID0gbW9kYWxDcmVhdG9yKHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBLFNBQVMsYUFBYTtBQUV0QixTQUFTLDJCQUEyQjtBQWtDN0IsTUFBZSxrQkFBeUIsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWhDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1osWUFBWSxRQUEyQztBQUM1RCxVQUFNLE9BQU8sR0FBRztBQUNoQixTQUFLLGlCQUFpQixPQUFPO0FBQzdCLFNBQUssY0FBYyxPQUFPLFVBQVU7QUFBQSxFQUN0QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9VLGNBQWMsWUFBc0M7QUFDNUQsd0JBQW9CLEtBQUssYUFBYSxVQUFVO0FBQUEsRUFDbEQ7QUFDRjtBQVNBLGVBQXNCLFVBQWlCLGNBQXlFO0FBQzlHLFNBQU8sTUFBTSxJQUFJLFFBQWUsQ0FBQyxZQUFZO0FBQzNDLFVBQU0sUUFBUSxhQUFhLE9BQU87QUFDbEMsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -173,4 +165,4 @@ async function prompt(params) {
173
165
  export {
174
166
  prompt
175
167
  };
176
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBNb2RhbENvbW1hbmRCdWlsZGVyLFxuICBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zLFxuICBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZVxufSBmcm9tICcuL21vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zLFxuICBNb2RhbFBhcmFtc0Jhc2Vcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7IGFwcGx5U3BlbGxjaGVja01vZGUgfSBmcm9tICcuLi9odG1sLWVsZW1lbnQudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9tcHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdFBhcmFtcyBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGNvbnRyb2xzIFx1MjAxNCBjaGVja2JveGVzLCBkcm9wZG93bnMgYW5kIGtleWJvYXJkIHNob3J0Y3V0cyBcdTIwMTQgcmVuZGVyZWQgYXMgYSBzdHJpcCBhbG9uZyB0aGUgYm90dG9tXG4gICAqIG9mIHRoZSBtb2RhbCwgc28gYSBjYWxsZXIgZ2V0cyBhIHRleHQgaW5wdXQgcGx1cyBvcHRpb25zIHdpdGggbm8gYmVzcG9rZSBtb2RhbCBvZiBpdHMgb3duLlxuICAgKlxuICAgKiBIYW5kIGl0IGEgY29uZmlndXJlZCB7QGxpbmsgTW9kYWxDb21tYW5kQnVpbGRlcn07IHRoZSBtb2RhbCBidWlsZHMgaXQuIFRoZSBzdHJpcCBpcyByZW5kZXJlZCBhZnRlclxuICAgKiB0aGUgYnV0dG9ucywgc28gaXQgc2l0cyBhbG9uZyB0aGUgYm90dG9tIGVkZ2Ugd2hlcmUgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhciBzaXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZEJ1aWxkZXI/OiBNb2RhbENvbW1hbmRCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgd2F5IHtAbGluayBQcm9tcHRQYXJhbXMuY29tbWFuZEJ1aWxkZXJ9J3MgY29udHJvbHMgYXJlIHJlbmRlcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgTW9kYWxDb21tYW5kc1JlbmRlck1vZGUuSW5zdHJ1Y3Rpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHNSZW5kZXJNb2RlPzogTW9kYWxDb21tYW5kc1JlbmRlck1vZGU7XG5cbiAgLyoqXG4gICAqIEEgZGVmYXVsdCB2YWx1ZSB0byBwcmUtZmlsbCB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSBkZWNpZGluZyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBzcGVsbC1jaGVja2VkLlxuICAgKlxuICAgKiBUaGUgZGVmYXVsdCBpcyB3aGF0IHRoaXMgbW9kYWwgaGFzIGFsd2F5cyBkb25lLCBzbyBwYXNzaW5nIG5vdGhpbmcgY2hhbmdlcyBub3RoaW5nOiB0aGUgaW5wdXQgZm9sbG93c1xuICAgKiBgRWRpdG9yID4gU3BlbGxjaGVja2AsIGxpa2UgT2JzaWRpYW4ncyBvd24gbmFtZS1lbnRyeSBzdXJmYWNlcy4gUGFzcyB7QGxpbmsgU3BlbGxjaGVja01vZGUuT2ZmfSBmb3IgYVxuICAgKiBib3ggdGhhdCBpcyByZWFsbHkgYSBzZWFyY2ggZmllbGQsIG9yIHtAbGluayBTcGVsbGNoZWNrTW9kZS5BbHdheXNPbn0gdG8gc3BlbGwtY2hlY2sgaXQgd2hhdGV2ZXIgdGhlXG4gICAqIHZhdWx0IHNldHRpbmcgc2F5cy5cbiAgICpcbiAgICogQGRlZmF1bHQgYFNwZWxsY2hlY2tNb2RlLkZvbGxvd09ic2lkaWFuU2V0dGluZ2BcbiAgICovXG4gIHJlYWRvbmx5IHNwZWxsY2hlY2tNb2RlPzogU3BlbGxjaGVja01vZGU7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xufVxuXG50eXBlIFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMgPSBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtczxudWxsIHwgc3RyaW5nPiAmIFByb21wdFBhcmFtcztcblxuY2xhc3MgUHJvbXB0TW9kYWwgZXh0ZW5kcyBNb2RhbEJhc2U8bnVsbCB8IHN0cmluZz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kQnVpbGRlcjogTW9kYWxDb21tYW5kQnVpbGRlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZHNSZW5kZXJNb2RlOiBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpc09rQ2xpY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzVG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG9rQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3BlbGxjaGVja01vZGU6IFNwZWxsY2hlY2tNb2RlO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVWYWxpZGF0b3I6ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5Qcm9tcHRNb2RhbCk7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gcGFyYW1zLmNhbmNlbEJ1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKTtcbiAgICB0aGlzLmNvbW1hbmRCdWlsZGVyID0gcGFyYW1zLmNvbW1hbmRCdWlsZGVyID8/IG51bGw7XG4gICAgdGhpcy5jb21tYW5kc1JlbmRlck1vZGUgPSBwYXJhbXMuY29tbWFuZHNSZW5kZXJNb2RlO1xuICAgIHRoaXMub2tCdXR0b25UZXh0ID0gcGFyYW1zLm9rQnV0dG9uVGV4dCA/PyB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayk7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBhcmFtcy5wbGFjZWhvbGRlciA/PyAnJztcbiAgICB0aGlzLnNwZWxsY2hlY2tNb2RlID0gcGFyYW1zLnNwZWxsY2hlY2tNb2RlID8/IFNwZWxsY2hlY2tNb2RlLkZvbGxvd09ic2lkaWFuU2V0dGluZztcbiAgICB0aGlzLnRpdGxlID0gcGFyYW1zLnRpdGxlID8/ICcnO1xuICAgIHRoaXMudmFsdWVWYWxpZGF0b3IgPSBwYXJhbXMudmFsdWVWYWxpZGF0b3IgPz8gbm9vcDtcbiAgICB0aGlzLnZhbHVlID0gcGFyYW1zLmRlZmF1bHRWYWx1ZSA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucHJvbWlzZVJlc29sdmUodGhpcy5pc09rQ2xpY2tlZCA/IHRoaXMudmFsdWUgOiBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy50aXRsZSk7XG4gICAgY29uc3QgdGV4dENvbXBvbmVudCA9IG5ldyBUZXh0Q29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjb25zdCBpbnB1dEVsID0gdGV4dENvbXBvbmVudC5pbnB1dEVsO1xuICAgIC8vIGBBYnN0cmFjdFRleHRDb21wb25lbnRgIGZvcmNlcyBgc3BlbGxjaGVjaz1cImZhbHNlXCJgIG9uIGV2ZXJ5IHRleHQgY29tcG9uZW50LCBzbyB0aGUgbW9kZSBoYXMgdG8gYmUgYXBwbGllZCBoZXJlLlxuICAgIC8vIE9ic2lkaWFuJ3Mgb3duIGZpbGUgZXhwbG9yZXIgcmVhZHMgdGhlIHNhbWUgY29uZmlnIHdoZW4gaXQgc3RhcnRzIGFuIGlubGluZSByZW5hbWUuXG4gICAgYXBwbHlTcGVsbGNoZWNrTW9kZSh7XG4gICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgZWxlbWVudDogaW5wdXRFbCxcbiAgICAgIHNwZWxsY2hlY2tNb2RlOiB0aGlzLnNwZWxsY2hlY2tNb2RlXG4gICAgfSk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9IGFzeW5jIChzaG91bGRSZXBvcnQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHRoaXMudmFsdWVWYWxpZGF0b3IoaW5wdXRFbC52YWx1ZSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgaWYgKHNob3VsZFJlcG9ydCkge1xuICAgICAgICBpbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgdGhpcy5tYXJrVG91Y2hlZChpbnB1dEVsKTtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuaXNUb3VjaGVkKTtcbiAgICB9O1xuXG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2VsZWN0KCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcih0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICBpbnB1dEVsLmFkZENsYXNzKENzc0NsYXNzLlRleHRCb3gpO1xuICAgIC8vIFRoZSBtb2RhbCBvcGVucyBpbnZhbGlkIGJ5IGRlc2lnbiAoc2VlIGJlbG93KSwgc28gdGhlIGludmFsaWQgc3R5bGluZyBpcyBkZWZlcnJlZCB1bnRpbCB0b3VjaGVkLlxuICAgIGlucHV0RWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuVW50b3VjaGVkKTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyhoYW5kbGVJbnB1dCkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmMoaGFuZGxlRm9jdXMpKTtcbiAgICAvLyBUaGUgbW9kYWwgbXVzdCBzdGFydCBvdXQgaW52YWxpZCBzbyBPSyByZWZ1c2VzLCBidXQgdGhlIHZhbGlkaXR5IGlzIG5vdCByZXBvcnRlZCB1bnRpbCB0aGUgdXNlciB0eXBlcyBvciBzdWJtaXRzLlxuICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHZhbGlkYXRlKGZhbHNlKSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcblxuICAgIC8vIEJ1aWx0IGxhc3Qgc28gdGhlIHN0cmlwIGxhbmRzIGFsb25nIHRoZSBtb2RhbCdzIGJvdHRvbSBlZGdlLCB3aGVyZSBhIGBTdWdnZXN0TW9kYWxgJ3MgaW5zdHJ1Y3Rpb25cbiAgICAvLyBiYXIgc2l0cy5cbiAgICB0aGlzLmNvbW1hbmRCdWlsZGVyPy5idWlsZCh0aGlzLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8TW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucz4oeyByZW5kZXJNb2RlOiB0aGlzLmNvbW1hbmRzUmVuZGVyTW9kZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICB0aGlzLm1hcmtUb3VjaGVkKHRleHRDb21wb25lbnQuaW5wdXRFbCk7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtUb3VjaGVkKGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IHRydWU7XG4gICAgaW5wdXRFbC5yZW1vdmVDbGFzcyhDc3NDbGFzcy5VbnRvdWNoZWQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1c2VyIGlucHV0IG9yIGBudWxsYCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQocGFyYW1zOiBQcm9tcHRQYXJhbXMpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgc3RyaW5nPigocHJvbWlzZVJlc29sdmUpID0+XG4gICAgbmV3IFByb21wdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsWUFBWTtBQUNyQixTQUFTLG1DQUFtQztBQUM1QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQVlQLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsU0FBUztBQUNsQixTQUFTLHNCQUFzQjtBQUMvQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQTRFUCxNQUFNLG9CQUFvQixVQUF5QjtBQUFBLEVBQ2hDO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNULGNBQWM7QUFBQSxFQUNkLFlBQVk7QUFBQSxFQUNIO0FB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
168
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBNb2RhbENvbW1hbmRCdWlsZGVyLFxuICBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zLFxuICBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZVxufSBmcm9tICcuL21vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zLFxuICBNb2RhbFBhcmFtc0Jhc2Vcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7IGFwcGx5U3BlbGxjaGVja01vZGUgfSBmcm9tICcuLi9odG1sLWVsZW1lbnQudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9tcHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdFBhcmFtcyBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGNvbnRyb2xzIFx1MjAxNCBjaGVja2JveGVzLCBkcm9wZG93bnMgYW5kIGtleWJvYXJkIHNob3J0Y3V0cyBcdTIwMTQgcmVuZGVyZWQgYXMgYSBzdHJpcCBhbG9uZyB0aGUgYm90dG9tXG4gICAqIG9mIHRoZSBtb2RhbCwgc28gYSBjYWxsZXIgZ2V0cyBhIHRleHQgaW5wdXQgcGx1cyBvcHRpb25zIHdpdGggbm8gYmVzcG9rZSBtb2RhbCBvZiBpdHMgb3duLlxuICAgKlxuICAgKiBIYW5kIGl0IGEgY29uZmlndXJlZCB7QGxpbmsgTW9kYWxDb21tYW5kQnVpbGRlcn07IHRoZSBtb2RhbCBidWlsZHMgaXQuIFRoZSBzdHJpcCBpcyByZW5kZXJlZCBhZnRlclxuICAgKiB0aGUgYnV0dG9ucywgc28gaXQgc2l0cyBhbG9uZyB0aGUgYm90dG9tIGVkZ2Ugd2hlcmUgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhciBzaXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZEJ1aWxkZXI/OiBNb2RhbENvbW1hbmRCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgd2F5IHtAbGluayBQcm9tcHRQYXJhbXMuY29tbWFuZEJ1aWxkZXJ9J3MgY29udHJvbHMgYXJlIHJlbmRlcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgTW9kYWxDb21tYW5kc1JlbmRlck1vZGUuSW5zdHJ1Y3Rpb25zYFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZHNSZW5kZXJNb2RlPzogTW9kYWxDb21tYW5kc1JlbmRlck1vZGU7XG5cbiAgLyoqXG4gICAqIEEgZGVmYXVsdCB2YWx1ZSB0byBwcmUtZmlsbCB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSBkZWNpZGluZyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBzcGVsbC1jaGVja2VkLlxuICAgKlxuICAgKiBUaGUgZGVmYXVsdCBpcyB3aGF0IHRoaXMgbW9kYWwgaGFzIGFsd2F5cyBkb25lLCBzbyBwYXNzaW5nIG5vdGhpbmcgY2hhbmdlcyBub3RoaW5nOiB0aGUgaW5wdXQgZm9sbG93c1xuICAgKiBgRWRpdG9yID4gU3BlbGxjaGVja2AsIGxpa2UgT2JzaWRpYW4ncyBvd24gbmFtZS1lbnRyeSBzdXJmYWNlcy4gUGFzcyB7QGxpbmsgU3BlbGxjaGVja01vZGUuT2ZmfSBmb3IgYVxuICAgKiBib3ggdGhhdCBpcyByZWFsbHkgYSBzZWFyY2ggZmllbGQsIG9yIHtAbGluayBTcGVsbGNoZWNrTW9kZS5BbHdheXNPbn0gdG8gc3BlbGwtY2hlY2sgaXQgd2hhdGV2ZXIgdGhlXG4gICAqIHZhdWx0IHNldHRpbmcgc2F5cy5cbiAgICpcbiAgICogQGRlZmF1bHQgYFNwZWxsY2hlY2tNb2RlLkZvbGxvd09ic2lkaWFuU2V0dGluZ2BcbiAgICovXG4gIHJlYWRvbmx5IHNwZWxsY2hlY2tNb2RlPzogU3BlbGxjaGVja01vZGU7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xufVxuXG50eXBlIFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMgPSBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtczxudWxsIHwgc3RyaW5nPiAmIFByb21wdFBhcmFtcztcblxuY2xhc3MgUHJvbXB0TW9kYWwgZXh0ZW5kcyBNb2RhbEJhc2U8bnVsbCB8IHN0cmluZz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kQnVpbGRlcjogTW9kYWxDb21tYW5kQnVpbGRlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZHNSZW5kZXJNb2RlOiBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpc09rQ2xpY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzVG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG9rQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3BlbGxjaGVja01vZGU6IFNwZWxsY2hlY2tNb2RlO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVWYWxpZGF0b3I6ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5Qcm9tcHRNb2RhbCk7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gcGFyYW1zLmNhbmNlbEJ1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKTtcbiAgICB0aGlzLmNvbW1hbmRCdWlsZGVyID0gcGFyYW1zLmNvbW1hbmRCdWlsZGVyID8/IG51bGw7XG4gICAgdGhpcy5jb21tYW5kc1JlbmRlck1vZGUgPSBwYXJhbXMuY29tbWFuZHNSZW5kZXJNb2RlO1xuICAgIHRoaXMub2tCdXR0b25UZXh0ID0gcGFyYW1zLm9rQnV0dG9uVGV4dCA/PyB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayk7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBhcmFtcy5wbGFjZWhvbGRlciA/PyAnJztcbiAgICB0aGlzLnNwZWxsY2hlY2tNb2RlID0gcGFyYW1zLnNwZWxsY2hlY2tNb2RlID8/IFNwZWxsY2hlY2tNb2RlLkZvbGxvd09ic2lkaWFuU2V0dGluZztcbiAgICB0aGlzLnRpdGxlID0gcGFyYW1zLnRpdGxlID8/ICcnO1xuICAgIHRoaXMudmFsdWVWYWxpZGF0b3IgPSBwYXJhbXMudmFsdWVWYWxpZGF0b3IgPz8gbm9vcDtcbiAgICB0aGlzLnZhbHVlID0gcGFyYW1zLmRlZmF1bHRWYWx1ZSA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucHJvbWlzZVJlc29sdmUodGhpcy5pc09rQ2xpY2tlZCA/IHRoaXMudmFsdWUgOiBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy50aXRsZSk7XG4gICAgY29uc3QgdGV4dENvbXBvbmVudCA9IG5ldyBUZXh0Q29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjb25zdCBpbnB1dEVsID0gdGV4dENvbXBvbmVudC5pbnB1dEVsO1xuICAgIC8vIGBBYnN0cmFjdFRleHRDb21wb25lbnRgIGZvcmNlcyBgc3BlbGxjaGVjaz1cImZhbHNlXCJgIG9uIGV2ZXJ5IHRleHQgY29tcG9uZW50LCBzbyB0aGUgbW9kZSBoYXMgdG8gYmUgYXBwbGllZCBoZXJlLlxuICAgIC8vIE9ic2lkaWFuJ3Mgb3duIGZpbGUgZXhwbG9yZXIgcmVhZHMgdGhlIHNhbWUgY29uZmlnIHdoZW4gaXQgc3RhcnRzIGFuIGlubGluZSByZW5hbWUuXG4gICAgYXBwbHlTcGVsbGNoZWNrTW9kZSh7XG4gICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgZWxlbWVudDogaW5wdXRFbCxcbiAgICAgIHNwZWxsY2hlY2tNb2RlOiB0aGlzLnNwZWxsY2hlY2tNb2RlXG4gICAgfSk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9IGFzeW5jIChzaG91bGRSZXBvcnQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHRoaXMudmFsdWVWYWxpZGF0b3IoaW5wdXRFbC52YWx1ZSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgaWYgKHNob3VsZFJlcG9ydCkge1xuICAgICAgICBpbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgdGhpcy5tYXJrVG91Y2hlZChpbnB1dEVsKTtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuaXNUb3VjaGVkKTtcbiAgICB9O1xuXG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2VsZWN0KCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcih0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICBpbnB1dEVsLmFkZENsYXNzKENzc0NsYXNzLlRleHRCb3gpO1xuICAgIC8vIFRoZSBtb2RhbCBvcGVucyBpbnZhbGlkIGJ5IGRlc2lnbiAoc2VlIGJlbG93KSwgc28gdGhlIGludmFsaWQgc3R5bGluZyBpcyBkZWZlcnJlZCB1bnRpbCB0b3VjaGVkLlxuICAgIGlucHV0RWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuVW50b3VjaGVkKTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyhoYW5kbGVJbnB1dCkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmMoaGFuZGxlRm9jdXMpKTtcbiAgICAvLyBUaGUgbW9kYWwgbXVzdCBzdGFydCBvdXQgaW52YWxpZCBzbyBPSyByZWZ1c2VzLCBidXQgdGhlIHZhbGlkaXR5IGlzIG5vdCByZXBvcnRlZCB1bnRpbCB0aGUgdXNlciB0eXBlcyBvciBzdWJtaXRzLlxuICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHZhbGlkYXRlKGZhbHNlKSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcblxuICAgIC8vIEJ1aWx0IGxhc3Qgc28gdGhlIHN0cmlwIGxhbmRzIGFsb25nIHRoZSBtb2RhbCdzIGJvdHRvbSBlZGdlLCB3aGVyZSBhIGBTdWdnZXN0TW9kYWxgJ3MgaW5zdHJ1Y3Rpb25cbiAgICAvLyBiYXIgc2l0cy5cbiAgICB0aGlzLmNvbW1hbmRCdWlsZGVyPy5idWlsZCh0aGlzLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8TW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucz4oeyByZW5kZXJNb2RlOiB0aGlzLmNvbW1hbmRzUmVuZGVyTW9kZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICB0aGlzLm1hcmtUb3VjaGVkKHRleHRDb21wb25lbnQuaW5wdXRFbCk7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtUb3VjaGVkKGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IHRydWU7XG4gICAgaW5wdXRFbC5yZW1vdmVDbGFzcyhDc3NDbGFzcy5VbnRvdWNoZWQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1c2VyIGlucHV0IG9yIGBudWxsYCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQocGFyYW1zOiBQcm9tcHRQYXJhbXMpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgc3RyaW5nPigocHJvbWlzZVJlc29sdmUpID0+XG4gICAgbmV3IFByb21wdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLFlBQVk7QUFDckIsU0FBUyxtQ0FBbUM7QUFDNUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFZUCxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLFNBQVM7QUFDbEIsU0FBUyxzQkFBc0I7QUFDL0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUE0RVAsTUFBTSxvQkFBb0IsVUFBeUI7QUFBQSxFQUNoQztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDVCxjQUFjO0FBQUEsRUFDZCxZQUFZO0FBQUEsRUFDSDtBQUFBLEVBQ0E7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
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -109,4 +101,4 @@ async function selectItem(params) {
109
101
  export {
110
102
  selectItem
111
103
  };
112
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zZWxlY3QtaXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB0eXBlIHsgRnV6enlNYXRjaCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgRnV6enlTdWdnZXN0TW9kYWwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1vZGFsUGFyYW1zQmFzZVxufSBmcm9tICcuL21vZGFsLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgYXBwbHlTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuaW1wb3J0IHsgc2hvd01vZGFsIH0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHNlbGVjdEl0ZW19LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzZWxlY3RhYmxlIGl0ZW1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEl0ZW1QYXJhbXM8VD4gZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSBsaXN0IG9mIGl0ZW1zIHRvIGNob29zZSBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM6IFRbXTtcblxuICAvKipcbiAgICogR2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yIGVhY2ggaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBpdGVtIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvci5cbiAgICogQHJldHVybnMgVGhlIGRpc3BsYXkgdGV4dCBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICByZWFkb25seSBpdGVtVGV4dEZ1bmN0aW9uOiAoaXRlbTogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlIGRlY2lkaW5nIHdoZXRoZXIgdGhlIHNlYXJjaCBib3ggaXMgc3BlbGwtY2hlY2tlZC5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaXMgd2hhdCB0aGlzIG1vZGFsIGhhcyBhbHdheXMgZG9uZSwgc28gcGFzc2luZyBub3RoaW5nIGNoYW5nZXMgbm90aGluZy4gSXQgZGlmZmVycyBmcm9tXG4gICAqIHRoZSBgcHJvbXB0KClgIHBhcmFtZXRlcidzIGRlZmF1bHQgb24gcHVycG9zZTogT2JzaWRpYW4gYnVpbGRzIGV2ZXJ5IGBTdWdnZXN0TW9kYWxgIGlucHV0XG4gICAqIHdpdGggYSBoYXJkY29kZWQgYHNwZWxsY2hlY2s9XCJmYWxzZVwiYCBhbmQgbmV2ZXIgY29uc3VsdHMgYEVkaXRvciA+IFNwZWxsY2hlY2tgIHRoZXJlLCBzbyBgT2ZmYCBcdTIwMTQgbm90XG4gICAqIGBGb2xsb3dPYnNpZGlhblNldHRpbmdgIFx1MjAxNCBpcyB0aGUgdmFsdWUgdGhhdCBsZWF2ZXMgdGhlIGJveCBleGFjdGx5IGFzIE9ic2lkaWFuIGJ1aWx0IGl0LlxuICAgKlxuICAgKiBSYWlzZSBpdCBmb3IgYSBwaWNrZXIgd2hvc2UgYm94IGNhbiBOQU1FIHRoZSB0aGluZyBpdCBpcyBhYm91dCB0byBjcmVhdGUsIHJhdGhlciB0aGFuIG9ubHkgZmluZCBvbmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBTcGVsbGNoZWNrTW9kZS5PZmZgXG4gICAqL1xuICByZWFkb25seSBzcGVsbGNoZWNrTW9kZT86IFNwZWxsY2hlY2tNb2RlO1xufVxuXG50eXBlIEl0ZW1TZWxlY3RNb2RhbENvbnN0cnVjdG9yUGFyYW1zPFQ+ID0gTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8bnVsbCB8IFQ+ICYgU2VsZWN0SXRlbVBhcmFtczxUPjtcblxuY2xhc3MgSXRlbVNlbGVjdE1vZGFsPFQ+IGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8VD4ge1xuICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtczogVFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1UZXh0RnVuY3Rpb246IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9taXNlUmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8bnVsbCB8IFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHNwZWxsY2hlY2tNb2RlOiBTcGVsbGNoZWNrTW9kZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBJdGVtU2VsZWN0TW9kYWxDb25zdHJ1Y3RvclBhcmFtczxUPikge1xuICAgIHN1cGVyKHBhcmFtcy5hcHApO1xuICAgIHRoaXMuaXRlbXMgPSBwYXJhbXMuaXRlbXM7XG4gICAgdGhpcy5pdGVtVGV4dEZ1bmN0aW9uID0gcGFyYW1zLml0ZW1UZXh0RnVuY3Rpb247XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBhcmFtcy5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlID0gcGFyYW1zLnByb21pc2VSZXNvbHZlO1xuICAgIHRoaXMuc3BlbGxjaGVja01vZGUgPSBwYXJhbXMuc3BlbGxjaGVja01vZGUgPz8gU3BlbGxjaGVja01vZGUuT2ZmO1xuXG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcih0aGlzLnBsYWNlaG9sZGVyID8/ICcnKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIHBhcmFtcy5jc3NDbGFzc2VzKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIENzc0NsYXNzLlNlbGVjdEl0ZW1Nb2RhbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbXMoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRJdGVtVGV4dChpdGVtOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtVGV4dEZ1bmN0aW9uKGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2hvb3NlSXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZShpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLnByb21pc2VSZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgc3VwZXIub25PcGVuKCk7XG4gICAgYXBwbHlTcGVsbGNoZWNrTW9kZSh7XG4gICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgZWxlbWVudDogdGhpcy5pbnB1dEVsLFxuICAgICAgc3BlbGxjaGVja01vZGU6IHRoaXMuc3BlbGxjaGVja01vZGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKHZhbHVlOiBGdXp6eU1hdGNoPFQ+LCAkZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCAkZXZlbnQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNlbGVjdGFibGUgaXRlbXMuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgYG51bGxgIGlmIG5vIGl0ZW0gd2FzIHNlbGVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0SXRlbTxUPihwYXJhbXM6IFNlbGVjdEl0ZW1QYXJhbXM8VD4pOiBQcm9taXNlPG51bGwgfCBUPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IFQ+KChwcm9taXNlUmVzb2x2ZSkgPT5cbiAgICBuZXcgSXRlbVNlbGVjdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxTQUFTLHlCQUF5QjtBQU9sQyxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLGlCQUFpQjtBQTZDMUIsTUFBTSx3QkFBMkIsa0JBQXFCO0FBQUEsRUFDNUMsYUFBYTtBQUFBLEVBQ0o7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFFVixZQUFZLFFBQTZDO0FBQzlELFVBQU0sT0FBTyxHQUFHO0FBQ2hCLFNBQUssUUFBUSxPQUFPO0FBQ3BCLFNBQUssbUJBQW1CLE9BQU87QUFDL0IsU0FBSyxjQUFjLE9BQU87QUFDMUIsU0FBSyxpQkFBaUIsT0FBTztBQUM3QixTQUFLLGlCQUFpQixPQUFPLGtCQUFrQixlQUFlO0FBRTlELFNBQUssZUFBZSxLQUFLLGVBQWUsRUFBRTtBQUMxQyx3QkFBb0IsS0FBSyxhQUFhLE9BQU8sVUFBVTtBQUN2RCx3QkFBb0IsS0FBSyxhQUFhLFNBQVMsZUFBZTtBQUFBLEVBQ2hFO0FBQUEsRUFFZ0IsV0FBZ0I7QUFDOUIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRWdCLFlBQVksTUFBaUI7QUFDM0MsV0FBTyxLQUFLLGlCQUFpQixJQUFJO0FBQUEsRUFDbkM7QUFBQSxFQUVnQixhQUFhLE1BQWU7QUFDMUMsU0FBSyxlQUFlLElBQUk7QUFBQSxFQUMxQjtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFFBQUksQ0FBQyxLQUFLLFlBQVk7QUFDcEIsV0FBSyxlQUFlLElBQUk7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFVBQU0sT0FBTztBQUNiLHdCQUFvQjtBQUFBLE1BQ2xCLEtBQUssS0FBSztBQUFBLE1BQ1YsU0FBUyxLQUFLO0FBQUEsTUFDZCxnQkFBZ0IsS0FBSztBQUFBLElBQ3ZCLENBQUM7QUFBQSxFQUNIO0FBQUEsRUFFZ0IsaUJBQWlCLE9BQXNCLFFBQTBDO0FBQy9GLFNBQUssYUFBYTtBQUNsQixVQUFNLGlCQUFpQixPQUFPLE1BQU07QUFBQSxFQUN0QztBQUNGO0FBU0EsZUFBc0IsV0FBYyxRQUFnRDtBQUNsRixTQUFPLE1BQU07QUFBQSxJQUFvQixDQUFDLG1CQUNoQyxJQUFJLGdCQUFnQjtBQUFBLE1BQ2xCLEdBQUc7QUFBQSxNQUNIO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
104
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zZWxlY3QtaXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB0eXBlIHsgRnV6enlNYXRjaCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgRnV6enlTdWdnZXN0TW9kYWwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1vZGFsUGFyYW1zQmFzZVxufSBmcm9tICcuL21vZGFsLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgYXBwbHlTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuaW1wb3J0IHsgc2hvd01vZGFsIH0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHNlbGVjdEl0ZW19LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzZWxlY3RhYmxlIGl0ZW1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEl0ZW1QYXJhbXM8VD4gZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSBsaXN0IG9mIGl0ZW1zIHRvIGNob29zZSBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM6IFRbXTtcblxuICAvKipcbiAgICogR2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yIGVhY2ggaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBpdGVtIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvci5cbiAgICogQHJldHVybnMgVGhlIGRpc3BsYXkgdGV4dCBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICByZWFkb25seSBpdGVtVGV4dEZ1bmN0aW9uOiAoaXRlbTogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlIGRlY2lkaW5nIHdoZXRoZXIgdGhlIHNlYXJjaCBib3ggaXMgc3BlbGwtY2hlY2tlZC5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaXMgd2hhdCB0aGlzIG1vZGFsIGhhcyBhbHdheXMgZG9uZSwgc28gcGFzc2luZyBub3RoaW5nIGNoYW5nZXMgbm90aGluZy4gSXQgZGlmZmVycyBmcm9tXG4gICAqIHRoZSBgcHJvbXB0KClgIHBhcmFtZXRlcidzIGRlZmF1bHQgb24gcHVycG9zZTogT2JzaWRpYW4gYnVpbGRzIGV2ZXJ5IGBTdWdnZXN0TW9kYWxgIGlucHV0XG4gICAqIHdpdGggYSBoYXJkY29kZWQgYHNwZWxsY2hlY2s9XCJmYWxzZVwiYCBhbmQgbmV2ZXIgY29uc3VsdHMgYEVkaXRvciA+IFNwZWxsY2hlY2tgIHRoZXJlLCBzbyBgT2ZmYCBcdTIwMTQgbm90XG4gICAqIGBGb2xsb3dPYnNpZGlhblNldHRpbmdgIFx1MjAxNCBpcyB0aGUgdmFsdWUgdGhhdCBsZWF2ZXMgdGhlIGJveCBleGFjdGx5IGFzIE9ic2lkaWFuIGJ1aWx0IGl0LlxuICAgKlxuICAgKiBSYWlzZSBpdCBmb3IgYSBwaWNrZXIgd2hvc2UgYm94IGNhbiBOQU1FIHRoZSB0aGluZyBpdCBpcyBhYm91dCB0byBjcmVhdGUsIHJhdGhlciB0aGFuIG9ubHkgZmluZCBvbmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBTcGVsbGNoZWNrTW9kZS5PZmZgXG4gICAqL1xuICByZWFkb25seSBzcGVsbGNoZWNrTW9kZT86IFNwZWxsY2hlY2tNb2RlO1xufVxuXG50eXBlIEl0ZW1TZWxlY3RNb2RhbENvbnN0cnVjdG9yUGFyYW1zPFQ+ID0gTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8bnVsbCB8IFQ+ICYgU2VsZWN0SXRlbVBhcmFtczxUPjtcblxuY2xhc3MgSXRlbVNlbGVjdE1vZGFsPFQ+IGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8VD4ge1xuICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtczogVFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1UZXh0RnVuY3Rpb246IChpdGVtOiBUKSA9PiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9taXNlUmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8bnVsbCB8IFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHNwZWxsY2hlY2tNb2RlOiBTcGVsbGNoZWNrTW9kZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBJdGVtU2VsZWN0TW9kYWxDb25zdHJ1Y3RvclBhcmFtczxUPikge1xuICAgIHN1cGVyKHBhcmFtcy5hcHApO1xuICAgIHRoaXMuaXRlbXMgPSBwYXJhbXMuaXRlbXM7XG4gICAgdGhpcy5pdGVtVGV4dEZ1bmN0aW9uID0gcGFyYW1zLml0ZW1UZXh0RnVuY3Rpb247XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBhcmFtcy5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlID0gcGFyYW1zLnByb21pc2VSZXNvbHZlO1xuICAgIHRoaXMuc3BlbGxjaGVja01vZGUgPSBwYXJhbXMuc3BlbGxjaGVja01vZGUgPz8gU3BlbGxjaGVja01vZGUuT2ZmO1xuXG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcih0aGlzLnBsYWNlaG9sZGVyID8/ICcnKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIHBhcmFtcy5jc3NDbGFzc2VzKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIENzc0NsYXNzLlNlbGVjdEl0ZW1Nb2RhbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbXMoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRJdGVtVGV4dChpdGVtOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtVGV4dEZ1bmN0aW9uKGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2hvb3NlSXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZShpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLnByb21pc2VSZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgc3VwZXIub25PcGVuKCk7XG4gICAgYXBwbHlTcGVsbGNoZWNrTW9kZSh7XG4gICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgZWxlbWVudDogdGhpcy5pbnB1dEVsLFxuICAgICAgc3BlbGxjaGVja01vZGU6IHRoaXMuc3BlbGxjaGVja01vZGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKHZhbHVlOiBGdXp6eU1hdGNoPFQ+LCAkZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCAkZXZlbnQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNlbGVjdGFibGUgaXRlbXMuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgYG51bGxgIGlmIG5vIGl0ZW0gd2FzIHNlbGVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0SXRlbTxUPihwYXJhbXM6IFNlbGVjdEl0ZW1QYXJhbXM8VD4pOiBQcm9taXNlPG51bGwgfCBUPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IFQ+KChwcm9taXNlUmVzb2x2ZSkgPT5cbiAgICBuZXcgSXRlbVNlbGVjdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsU0FBUyx5QkFBeUI7QUFPbEMsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyxpQkFBaUI7QUE2QzFCLE1BQU0sd0JBQTJCLGtCQUFxQjtBQUFBLEVBQzVDLGFBQWE7QUFBQSxFQUNKO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBRVYsWUFBWSxRQUE2QztBQUM5RCxVQUFNLE9BQU8sR0FBRztBQUNoQixTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLG1CQUFtQixPQUFPO0FBQy9CLFNBQUssY0FBYyxPQUFPO0FBQzFCLFNBQUssaUJBQWlCLE9BQU87QUFDN0IsU0FBSyxpQkFBaUIsT0FBTyxrQkFBa0IsZUFBZTtBQUU5RCxTQUFLLGVBQWUsS0FBSyxlQUFlLEVBQUU7QUFDMUMsd0JBQW9CLEtBQUssYUFBYSxPQUFPLFVBQVU7QUFDdkQsd0JBQW9CLEtBQUssYUFBYSxTQUFTLGVBQWU7QUFBQSxFQUNoRTtBQUFBLEVBRWdCLFdBQWdCO0FBQzlCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVnQixZQUFZLE1BQWlCO0FBQzNDLFdBQU8sS0FBSyxpQkFBaUIsSUFBSTtBQUFBLEVBQ25DO0FBQUEsRUFFZ0IsYUFBYSxNQUFlO0FBQzFDLFNBQUssZUFBZSxJQUFJO0FBQUEsRUFDMUI7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixRQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCLFdBQUssZUFBZSxJQUFJO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixVQUFNLE9BQU87QUFDYix3QkFBb0I7QUFBQSxNQUNsQixLQUFLLEtBQUs7QUFBQSxNQUNWLFNBQVMsS0FBSztBQUFBLE1BQ2QsZ0JBQWdCLEtBQUs7QUFBQSxJQUN2QixDQUFDO0FBQUEsRUFDSDtBQUFBLEVBRWdCLGlCQUFpQixPQUFzQixRQUEwQztBQUMvRixTQUFLLGFBQWE7QUFDbEIsVUFBTSxpQkFBaUIsT0FBTyxNQUFNO0FBQUEsRUFDdEM7QUFDRjtBQVNBLGVBQXNCLFdBQWMsUUFBZ0Q7QUFDbEYsU0FBTyxNQUFNO0FBQUEsSUFBb0IsQ0FBQyxtQkFDaEMsSUFBSSxnQkFBZ0I7QUFBQSxNQUNsQixHQUFHO0FBQUEsTUFDSDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -100,4 +92,4 @@ async function selectOption(params) {
100
92
  export {
101
93
  selectOption
102
94
  };
103
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhIG1vZGFsIHRoYXQgb2ZmZXJzIGEgZml4ZWQgc2V0IG9mIGxhYmVsbGVkIG9wdGlvbnMgYXMgYnV0dG9ucy5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIHNlbGVjdEl0ZW19IChhIGZ1enp5LXNlYXJjaCBwaWNrZXIgb3ZlciBhbiBhcmJpdHJhcnkgbGlzdCksIHRoaXMgbW9kYWwgcmVuZGVycyBvbmVcbiAqIGJ1dHRvbiBwZXIgb3B0aW9uIFx1MjAxNCB1c2VmdWwgZm9yIGEgc21hbGwsIGZpeGVkIHNldCBvZiBtdXR1YWxseS1leGNsdXNpdmUgY2hvaWNlcyB3aGVyZSBlYWNoIGNob2ljZVxuICogaGFzIGl0cyBvd24gbGFiZWwgYW5kIHJlc29sdmVkIHZhbHVlLiBJdCByZXNvbHZlcyB3aXRoIHRoZSBjaG9zZW4gdmFsdWUsIG9yIGBudWxsYCBpZiB0aGUgbW9kYWwgaXNcbiAqIGRpc21pc3NlZCB3aXRob3V0IGEgY2hvaWNlLlxuICovXG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLnRzJztcblxuLyoqXG4gKiBBIHNpbmdsZSBzZWxlY3RhYmxlIG9wdGlvbiByZW5kZXJlZCBhcyBhIGJ1dHRvbiBpbiB0aGUge0BsaW5rIHNlbGVjdE9wdGlvbn0gbW9kYWwuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbkl0ZW08VD4ge1xuICAvKipcbiAgICogV2hldGhlciB0byByZW5kZXIgdGhpcyBvcHRpb24gYXMgdGhlIGNhbGwtdG8tYWN0aW9uIChwcmltYXJ5KSBidXR0b24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IGlzQ3RhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGJ1dHRvbiBsYWJlbC5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRoZSBtb2RhbCByZXNvbHZlcyB3aXRoIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IFQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHNlbGVjdE9wdGlvbn0uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gYW4gb3B0aW9uIGlzIGNob3Nlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb25QYXJhbXM8VD4gZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSBtZXNzYWdlIGRpc3BsYXllZCBhYm92ZSB0aGUgb3B0aW9uIGJ1dHRvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0YWJsZSBvcHRpb25zLCBlYWNoIHJlbmRlcmVkIGFzIGEgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3B0aW9uczogU2VsZWN0T3B0aW9uSXRlbTxUPltdO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG50eXBlIFNlbGVjdE9wdGlvbk1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4gPSBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtczxudWxsIHwgVD4gJiBTZWxlY3RPcHRpb25QYXJhbXM8VD47XG5cbmNsYXNzIFNlbGVjdE9wdGlvbk1vZGFsPFQ+IGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBUPiB7XG4gIHByaXZhdGUgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU2VsZWN0T3B0aW9uSXRlbTxUPltdO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFNlbGVjdE9wdGlvbk1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5TZWxlY3RPcHRpb25Nb2RhbCk7XG4gICAgdGhpcy5tZXNzYWdlID0gcGFyYW1zLm1lc3NhZ2UgPz8gJyc7XG4gICAgdGhpcy5vcHRpb25zID0gcGFyYW1zLm9wdGlvbnM7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLnByb21pc2VSZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy50aXRsZSk7XG4gICAgaWYgKHRoaXMubWVzc2FnZSkge1xuICAgICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMubWVzc2FnZSB9KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgICAgYnV0dG9uLnNldEJ1dHRvblRleHQob3B0aW9uLnRleHQpO1xuICAgICAgaWYgKG9wdGlvbi5pc0N0YSkge1xuICAgICAgICBidXR0b24uc2V0Q3RhKCk7XG4gICAgICB9XG4gICAgICBidXR0b24ub25DbGljaygoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMucHJvbWlzZVJlc29sdmUob3B0aW9uLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbiBvZmZlcmluZyBhIGZpeGVkIHNldCBvZiBsYWJlbGxlZCBvcHRpb25zIGFzIGJ1dHRvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gYW4gb3B0aW9uIGlzIGNob3Nlbi5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjaG9zZW4gb3B0aW9uJ3MgdmFsdWUsIG9yIGBudWxsYCBpZiB0aGUgbW9kYWxcbiAqIHdhcyBkaXNtaXNzZWQgd2l0aG91dCBhIGNob2ljZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbGVjdE9wdGlvbjxUPihwYXJhbXM6IFNlbGVjdE9wdGlvblBhcmFtczxUPik6IFByb21pc2U8bnVsbCB8IFQ+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgVD4oKHByb21pc2VSZXNvbHZlKSA9PlxuICAgIG5ldyBTZWxlY3RPcHRpb25Nb2RhbDxUPih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm9taXNlUmVzb2x2ZVxuICAgIH0pXG4gICk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsU0FBUyx1QkFBdUI7QUFPaEMsU0FBUyxnQkFBZ0I7QUFDekI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFzRFAsTUFBTSwwQkFBNkIsVUFBb0I7QUFBQSxFQUM3QyxhQUFhO0FBQUEsRUFDSjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFFVixZQUFZLFFBQStDO0FBQ2hFLFVBQU0sTUFBTTtBQUNaLFNBQUssY0FBYyxTQUFTLGlCQUFpQjtBQUM3QyxTQUFLLFVBQVUsT0FBTyxXQUFXO0FBQ2pDLFNBQUssVUFBVSxPQUFPO0FBQ3RCLFNBQUssUUFBUSxPQUFPLFNBQVM7QUFBQSxFQUMvQjtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFFBQUksQ0FBQyxLQUFLLFlBQVk7QUFDcEIsV0FBSyxlQUFlLElBQUk7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFNBQUssUUFBUSxRQUFRLEtBQUssS0FBSztBQUMvQixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLFVBQVUsU0FBUyxLQUFLLEVBQUUsTUFBTSxLQUFLLFFBQVEsQ0FBQztBQUFBLElBQ3JEO0FBRUEsZUFBVyxVQUFVLEtBQUssU0FBUztBQUNqQyxZQUFNLFNBQVMsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTO0FBQ2pELGFBQU8sY0FBYyxPQUFPLElBQUk7QUFDaEMsVUFBSSxPQUFPLE9BQU87QUFDaEIsZUFBTyxPQUFPO0FBQUEsTUFDaEI7QUFDQSxhQUFPLFFBQVEsTUFBTTtBQUNuQixhQUFLLGFBQWE7QUFDbEIsYUFBSyxlQUFlLE9BQU8sS0FBSztBQUNoQyxhQUFLLE1BQU07QUFBQSxNQUNiLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBVUEsZUFBc0IsYUFBZ0IsUUFBa0Q7QUFDdEYsU0FBTyxNQUFNO0FBQUEsSUFBb0IsQ0FBQyxtQkFDaEMsSUFBSSxrQkFBcUI7QUFBQSxNQUN2QixHQUFHO0FBQUEsTUFDSDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
95
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhIG1vZGFsIHRoYXQgb2ZmZXJzIGEgZml4ZWQgc2V0IG9mIGxhYmVsbGVkIG9wdGlvbnMgYXMgYnV0dG9ucy5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIHNlbGVjdEl0ZW19IChhIGZ1enp5LXNlYXJjaCBwaWNrZXIgb3ZlciBhbiBhcmJpdHJhcnkgbGlzdCksIHRoaXMgbW9kYWwgcmVuZGVycyBvbmVcbiAqIGJ1dHRvbiBwZXIgb3B0aW9uIFx1MjAxNCB1c2VmdWwgZm9yIGEgc21hbGwsIGZpeGVkIHNldCBvZiBtdXR1YWxseS1leGNsdXNpdmUgY2hvaWNlcyB3aGVyZSBlYWNoIGNob2ljZVxuICogaGFzIGl0cyBvd24gbGFiZWwgYW5kIHJlc29sdmVkIHZhbHVlLiBJdCByZXNvbHZlcyB3aXRoIHRoZSBjaG9zZW4gdmFsdWUsIG9yIGBudWxsYCBpZiB0aGUgbW9kYWwgaXNcbiAqIGRpc21pc3NlZCB3aXRob3V0IGEgY2hvaWNlLlxuICovXG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLnRzJztcblxuLyoqXG4gKiBBIHNpbmdsZSBzZWxlY3RhYmxlIG9wdGlvbiByZW5kZXJlZCBhcyBhIGJ1dHRvbiBpbiB0aGUge0BsaW5rIHNlbGVjdE9wdGlvbn0gbW9kYWwuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbkl0ZW08VD4ge1xuICAvKipcbiAgICogV2hldGhlciB0byByZW5kZXIgdGhpcyBvcHRpb24gYXMgdGhlIGNhbGwtdG8tYWN0aW9uIChwcmltYXJ5KSBidXR0b24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IGlzQ3RhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGJ1dHRvbiBsYWJlbC5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRoZSBtb2RhbCByZXNvbHZlcyB3aXRoIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IFQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHNlbGVjdE9wdGlvbn0uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gYW4gb3B0aW9uIGlzIGNob3Nlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb25QYXJhbXM8VD4gZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSBtZXNzYWdlIGRpc3BsYXllZCBhYm92ZSB0aGUgb3B0aW9uIGJ1dHRvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0YWJsZSBvcHRpb25zLCBlYWNoIHJlbmRlcmVkIGFzIGEgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb3B0aW9uczogU2VsZWN0T3B0aW9uSXRlbTxUPltdO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG50eXBlIFNlbGVjdE9wdGlvbk1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4gPSBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtczxudWxsIHwgVD4gJiBTZWxlY3RPcHRpb25QYXJhbXM8VD47XG5cbmNsYXNzIFNlbGVjdE9wdGlvbk1vZGFsPFQ+IGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBUPiB7XG4gIHByaXZhdGUgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU2VsZWN0T3B0aW9uSXRlbTxUPltdO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFNlbGVjdE9wdGlvbk1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5TZWxlY3RPcHRpb25Nb2RhbCk7XG4gICAgdGhpcy5tZXNzYWdlID0gcGFyYW1zLm1lc3NhZ2UgPz8gJyc7XG4gICAgdGhpcy5vcHRpb25zID0gcGFyYW1zLm9wdGlvbnM7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLnByb21pc2VSZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy50aXRsZSk7XG4gICAgaWYgKHRoaXMubWVzc2FnZSkge1xuICAgICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMubWVzc2FnZSB9KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgICAgYnV0dG9uLnNldEJ1dHRvblRleHQob3B0aW9uLnRleHQpO1xuICAgICAgaWYgKG9wdGlvbi5pc0N0YSkge1xuICAgICAgICBidXR0b24uc2V0Q3RhKCk7XG4gICAgICB9XG4gICAgICBidXR0b24ub25DbGljaygoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMucHJvbWlzZVJlc29sdmUob3B0aW9uLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbiBvZmZlcmluZyBhIGZpeGVkIHNldCBvZiBsYWJlbGxlZCBvcHRpb25zIGFzIGJ1dHRvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHJlc29sdmVkIHdoZW4gYW4gb3B0aW9uIGlzIGNob3Nlbi5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjaG9zZW4gb3B0aW9uJ3MgdmFsdWUsIG9yIGBudWxsYCBpZiB0aGUgbW9kYWxcbiAqIHdhcyBkaXNtaXNzZWQgd2l0aG91dCBhIGNob2ljZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbGVjdE9wdGlvbjxUPihwYXJhbXM6IFNlbGVjdE9wdGlvblBhcmFtczxUPik6IFByb21pc2U8bnVsbCB8IFQ+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgVD4oKHByb21pc2VSZXNvbHZlKSA9PlxuICAgIG5ldyBTZWxlY3RPcHRpb25Nb2RhbDxUPih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm9taXNlUmVzb2x2ZVxuICAgIH0pXG4gICk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLFNBQVMsdUJBQXVCO0FBT2hDLFNBQVMsZ0JBQWdCO0FBQ3pCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBc0RQLE1BQU0sMEJBQTZCLFVBQW9CO0FBQUEsRUFDN0MsYUFBYTtBQUFBLEVBQ0o7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBRVYsWUFBWSxRQUErQztBQUNoRSxVQUFNLE1BQU07QUFDWixTQUFLLGNBQWMsU0FBUyxpQkFBaUI7QUFDN0MsU0FBSyxVQUFVLE9BQU8sV0FBVztBQUNqQyxTQUFLLFVBQVUsT0FBTztBQUN0QixTQUFLLFFBQVEsT0FBTyxTQUFTO0FBQUEsRUFDL0I7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixRQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCLFdBQUssZUFBZSxJQUFJO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLEtBQUs7QUFDL0IsUUFBSSxLQUFLLFNBQVM7QUFDaEIsV0FBSyxVQUFVLFNBQVMsS0FBSyxFQUFFLE1BQU0sS0FBSyxRQUFRLENBQUM7QUFBQSxJQUNyRDtBQUVBLGVBQVcsVUFBVSxLQUFLLFNBQVM7QUFDakMsWUFBTSxTQUFTLElBQUksZ0JBQWdCLEtBQUssU0FBUztBQUNqRCxhQUFPLGNBQWMsT0FBTyxJQUFJO0FBQ2hDLFVBQUksT0FBTyxPQUFPO0FBQ2hCLGVBQU8sT0FBTztBQUFBLE1BQ2hCO0FBQ0EsYUFBTyxRQUFRLE1BQU07QUFDbkIsYUFBSyxhQUFhO0FBQ2xCLGFBQUssZUFBZSxPQUFPLEtBQUs7QUFDaEMsYUFBSyxNQUFNO0FBQUEsTUFDYixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQVVBLGVBQXNCLGFBQWdCLFFBQWtEO0FBQ3RGLFNBQU8sTUFBTTtBQUFBLElBQW9CLENBQUMsbUJBQ2hDLElBQUksa0JBQXFCO0FBQUEsTUFDdkIsR0FBRztBQUFBLE1BQ0g7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNIO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -52,4 +44,4 @@ const SuggestModalCommandBuilder = ModalCommandBuilder;
52
44
  export {
53
45
  SuggestModalCommandBuilder
54
46
  };
55
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBmb3JtZXIgaG9tZSBvZiB0aGUgYFN1Z2dlc3RNb2RhbGAgaW5zdHJ1Y3Rpb24tYmFyIGJ1aWxkZXIuXG4gKlxuICogVGhlIGJ1aWxkZXIgaXMgbm8gbG9uZ2VyIHRpZWQgdG8gYFN1Z2dlc3RNb2RhbGAgXHUyMDE0IGl0IHJlbmRlcnMgaW50byBhIHBsYWluIGBNb2RhbGAgYW5kIGludG8gYSBiYXJlXG4gKiBlbGVtZW50ICsgYFNjb3BlYCB0b28gXHUyMDE0IHNvIGl0IG1vdmVkIHRvIGBtb2RhbC1jb21tYW5kLWJ1aWxkZXIudHNgIHVuZGVyIHRoZSBob25lc3QgbmFtZVxuICoge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9LiBUaGlzIG1vZHVsZSBzdGF5cyBhcyBhIGRlcHJlY2F0ZWQgYWxpYXMgc28gZXhpc3RpbmcgaW1wb3J0ZXJzIGtlZXAgd29ya2luZ1xuICogdW5jaGFuZ2VkOyBpdCByZS1leHBvcnRzIHRoZSB2ZXJ5IHNhbWUgY2xhc3MsIG5vdCBhIGNvcHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG5pbXBvcnQgeyBNb2RhbENvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG5leHBvcnQgdHlwZSB7XG4gIENoZWNrYm94Q29tbWFuZCxcbiAgRHJvcERvd25Db21tYW5kLFxuICBLZXlib2FyZENvbW1hbmRcbn0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5idWlsZH0uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zfSBmcm9tXG4gKiBgb2JzaWRpYW4tZGV2LXV0aWxzL29ic2lkaWFuL21vZGFscy9tb2RhbC1jb21tYW5kLWJ1aWxkZXJgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCB0eXBlIFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zID0gTW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucztcblxuLyoqXG4gKiBCdWlsZHMgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9IGZyb21cbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvb2JzaWRpYW4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlcmAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyID0gTW9kYWxDb21tYW5kQnVpbGRlcjtcblxuLyoqXG4gKiBCdWlsZHMgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9IGZyb21cbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvb2JzaWRpYW4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlcmAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IHR5cGUgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgPSBNb2RhbENvbW1hbmRCdWlsZGVyO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLFNBQVMsMkJBQTJCO0FBc0I3QixNQUFNLDZCQUE2QjsiLAogICJuYW1lcyI6IFtdCn0K
47
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBmb3JtZXIgaG9tZSBvZiB0aGUgYFN1Z2dlc3RNb2RhbGAgaW5zdHJ1Y3Rpb24tYmFyIGJ1aWxkZXIuXG4gKlxuICogVGhlIGJ1aWxkZXIgaXMgbm8gbG9uZ2VyIHRpZWQgdG8gYFN1Z2dlc3RNb2RhbGAgXHUyMDE0IGl0IHJlbmRlcnMgaW50byBhIHBsYWluIGBNb2RhbGAgYW5kIGludG8gYSBiYXJlXG4gKiBlbGVtZW50ICsgYFNjb3BlYCB0b28gXHUyMDE0IHNvIGl0IG1vdmVkIHRvIGBtb2RhbC1jb21tYW5kLWJ1aWxkZXIudHNgIHVuZGVyIHRoZSBob25lc3QgbmFtZVxuICoge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9LiBUaGlzIG1vZHVsZSBzdGF5cyBhcyBhIGRlcHJlY2F0ZWQgYWxpYXMgc28gZXhpc3RpbmcgaW1wb3J0ZXJzIGtlZXAgd29ya2luZ1xuICogdW5jaGFuZ2VkOyBpdCByZS1leHBvcnRzIHRoZSB2ZXJ5IHNhbWUgY2xhc3MsIG5vdCBhIGNvcHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG5pbXBvcnQgeyBNb2RhbENvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG5leHBvcnQgdHlwZSB7XG4gIENoZWNrYm94Q29tbWFuZCxcbiAgRHJvcERvd25Db21tYW5kLFxuICBLZXlib2FyZENvbW1hbmRcbn0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5idWlsZH0uXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zfSBmcm9tXG4gKiBgb2JzaWRpYW4tZGV2LXV0aWxzL29ic2lkaWFuL21vZGFscy9tb2RhbC1jb21tYW5kLWJ1aWxkZXJgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCB0eXBlIFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyQnVpbGRPcHRpb25zID0gTW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucztcblxuLyoqXG4gKiBCdWlsZHMgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9IGZyb21cbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvb2JzaWRpYW4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlcmAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyID0gTW9kYWxDb21tYW5kQnVpbGRlcjtcblxuLyoqXG4gKiBCdWlsZHMgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uIGJhci5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIE1vZGFsQ29tbWFuZEJ1aWxkZXJ9IGZyb21cbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvb2JzaWRpYW4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlcmAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IHR5cGUgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgPSBNb2RhbENvbW1hbmRCdWlsZGVyO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxTQUFTLDJCQUEyQjtBQXNCN0IsTUFBTSw2QkFBNkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  (function () {
7
7
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
+ symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
10
  }
11
11
 
12
12
  function ensureBrowserProcess() {
13
13
  const browserProcess = {
14
14
  browser: true,
15
15
  cwd() {
16
- return '/';
16
+ return "/";
17
17
  },
18
18
  env: {},
19
- platform: 'android'
19
+ platform: "android"
20
20
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
21
  const existingProcess = globalThis.process;
24
-
25
22
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
23
  globalThis.process = browserProcess;
28
24
  return;
29
25
  }
30
-
31
26
  if (existingProcess.versions?.node) {
32
27
  return;
33
28
  }
34
-
35
29
  const existingProcessRecord = existingProcess;
36
-
37
30
  for (const [key, value] of Object.entries(browserProcess)) {
38
31
  existingProcessRecord[key] ??= value;
39
32
  }
40
-
41
- existingProcessRecord['browser'] = true;
33
+ existingProcessRecord["browser"] = true;
42
34
  }
43
35
 
44
36
  (function initEsm() {
@@ -140,4 +132,4 @@ export {
140
132
  findNotePriorityRank,
141
133
  pickHighestPriorityNotePath
142
134
  };
143
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25vdGUtcHJpb3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEZWNpZGVzIHdoaWNoIG9mIHNldmVyYWwgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgYXR0YWNobWVudCBvd25zIGl0LlxuICpcbiAqIEFuIGF0dGFjaG1lbnQgcmVmZXJlbmNlZCBmcm9tIG1vcmUgdGhhbiBvbmUgbm90ZSBoYXMgbm8gc2luZ2xlIGNvcnJlY3QgaG9tZSwgc28gY29sbGVjdGluZyBpdCBmYWxsc1xuICogYmFjayB0byB3aGF0ZXZlciBgY29sbGVjdEF0dGFjaG1lbnRVc2VkQnlNdWx0aXBsZU5vdGVzTW9kZWAgc2F5cyBcdTIwMTQgc2tpcCwgY29weSwgY2FuY2VsLCBvciBhc2suIEFcbiAqIHByaW9yaXR5IGxpc3QgbGV0cyB0aGUgdXNlciBhbnN3ZXIgdGhlIHF1ZXN0aW9uIG9uY2UgaW5zdGVhZDogcHV0IGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhd2AgYW5kIGFuXG4gKiBpbWFnZSBzaGFyZWQgYnkgYm90aCBsYW5kcyBpbiB0aGUgbWFya2Rvd24gbm90ZSdzIGZvbGRlci5cbiAqXG4gKiBBIHRpZSBpcyBkZWxpYmVyYXRlbHkgTk9UIHJlc29sdmVkIGhlcmUuIFR3byBub3RlcyBvZiBlcXVhbCBwcmlvcml0eSBpcyBleGFjdGx5IHRoZSBhbWJpZ3VpdHkgdGhlXG4gKiBleGlzdGluZyBtb2RlIHNldHRpbmcgYWxyZWFkeSBleGlzdHMgdG8gaGFuZGxlLCBhbmQgaW52ZW50aW5nIGEgc2Vjb25kLCBzaWxlbnQgcnVsZSBmb3IgaXQgd291bGRcbiAqIG1vdmUgYSBmaWxlIHRoZSB1c2VyIG5ldmVyIG5hbWVkLlxuICpcbiAqIFRoZSB0aWUgaXMgYWxzbyB0aGUgd2hvbGUgb2Ygd2hhdCBnZXRzIFJFUE9SVEVELiBBIG5vdGUgdGhlIGxpc3QgcmFua2VkIGJlbG93IHRoZSBiZXN0IHJhbmsgY2Fubm90XG4gKiByZXNvbHZlIHRoZSBhbWJpZ3VpdHksIHNvIGxpc3RpbmcgaXQgb25seSBhZGRzIG5vaXNlIFx1MjAxNCBhbmQgd29yc2UgaW4gYSBwaWNrZXIsIHdoZXJlIG9mZmVyaW5nIGl0XG4gKiBpbnZpdGVzIGFuIGFuc3dlciB0aGUgcHJpb3JpdHkgbGlzdCBpdHNlbGYgd291bGQgbm90IGhhdmUgZ2l2ZW4uIFRoYXQgaXMgd2h5XG4gKiB7QGxpbmsgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzfSBleGlzdHMgYWxvbmdzaWRlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgZGVjaWRlLlxuICovXG5cbmltcG9ydCB7IGlzVmFsaWRSZWdFeHAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5cbmltcG9ydCB7XG4gIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMsXG4gIGlzUHJvcGVydHlFbnRyeVxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcblxuY29uc3QgUkVHX0VYUF9ERUxJTUlURVIgPSAnLyc7XG5jb25zdCBFWFRFTlNJT05fUFJFRklYID0gJy4nO1xuXG4vKipcbiAqIFdoeSB0aGUgcHJpb3JpdHkgbGlzdCBkaWQgbm90IHNldHRsZSB3aGljaCBub3RlIG93bnMgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBUaGUgdGhyZWUgdmFsdWVzIGFyZSBleGFjdGx5IHRoZSB0aHJlZSB3YXlzIHtAbGluayBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGh9IChwbHVzIGl0cyBlbXB0eS1saXN0XG4gKiBndWFyZCkgY2FuIGZhaWwgdG8gbmFtZSBhIHdpbm5lciwgc28gYSBjYWxsZXIgY2FuIHRlbGwgdGhlIHVzZXIgdGhlIHJlYWwgcmVhc29uIGluc3RlYWQgb2Ygb25seVxuICogcmVwb3J0aW5nIHRoYXQgdGhlIGF0dGFjaG1lbnQgaXMgcmVmZXJlbmNlZCBieSBzZXZlcmFsIG5vdGVzLlxuICovXG5leHBvcnQgZW51bSBOb1ByaW9yaXR5V2lubmVyUmVhc29uIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0IGlzIGVtcHR5IFx1MjAxNCBpdHMgZGVmYXVsdC4gTm90aGluZyB3YXMgY29uZmlndXJlZCB0byBkZWNpZGUgYmV0d2VlbiB0aGUgbm90ZXMuXG4gICAqL1xuICBFbXB0eUxpc3QgPSAnRW1wdHlMaXN0JyxcblxuICAvKipcbiAgICogVGhlIGxpc3QgaGFzIGVudHJpZXMsIGJ1dCBub25lIG9mIHRoZSByZWZlcmVuY2luZyBub3RlcyBtYXRjaGVzIGFueSBvZiB0aGVtLlxuICAgKi9cbiAgTm9NYXRjaCA9ICdOb01hdGNoJyxcblxuICAvKipcbiAgICogU2V2ZXJhbCByZWZlcmVuY2luZyBub3RlcyB0aWUgZm9yIHRoZSBiZXN0IHJhbmssIHNvIHRoZSBsaXN0IG5hbWVzIG5vIHNpbmdsZSBvd25lci5cbiAgICovXG4gIFRpZSA9ICdUaWUnXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRoc30uXG4gKlxuICogVGhlIHNhbWUgcXVlc3Rpb24gYXMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0gYXNrcywgc28gZGVsaWJlcmF0ZWx5IHRoZSBzYW1lIHBhcmFtZXRlcnM6XG4gKiB0aGUgdHdvIG11c3QgYmUgYW5zd2VyZWQgZnJvbSBpZGVudGljYWwgaW5wdXRzIG9yIHRoZXkgY291bGQgZGlzYWdyZWUuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRoc1BhcmFtcyA9IFBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFBhcmFtcztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uUGFyYW1zIGV4dGVuZHMgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0LCBoaWdoZXN0IHByaW9yaXR5IGZpcnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbmROb3RlUHJpb3JpdHlSYW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5kTm90ZVByaW9yaXR5UmFua1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgbGlzdCwgaGlnaGVzdCBwcmlvcml0eSBmaXJzdC5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJpZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90ZSdzIGZyb250bWF0dGVyLCBvciBgbnVsbGAgd2hlbiBpdCBoYXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyb250bWF0dGVyOiBudWxsIHwgUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRocyBvZiB0aGUgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIGF0dGFjaG1lbnQuXG4gICAqL1xuICByZWFkb25seSBub3RlUGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgcmFuayBvZiBhIG5vdGUuIExvd2VyIHdpbnM7IHtAbGluayBOT19QUklPUklUWV9NQVRDSH0gbWVhbnMgdGhlIG5vdGUgbWF0Y2hlZCBub3RoaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gbm90ZVBhdGggLSBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICogQHJldHVybnMgVGhlIHJhbmsuXG4gICAqL1xuICByZWFkb25seSByYW5rOiAobm90ZVBhdGg6IHN0cmluZykgPT4gbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSByYW5rIG9mIGEgbm90ZSB0aGF0IG1hdGNoZXMgbm8gZW50cnkgaW4gdGhlIHByaW9yaXR5IGxpc3QuIEhpZ2hlciB0aGFuIGFueSByZWFsIHJhbmssIHNvIGEgbm90ZVxuICogdGhhdCBtYXRjaGVzIG5vdGhpbmcgYWx3YXlzIGxvc2VzIHRvIG9uZSB0aGF0IG1hdGNoZXMgc29tZXRoaW5nLlxuICovXG5leHBvcnQgY29uc3QgTk9fUFJJT1JJVFlfTUFUQ0ggPSBJbmZpbml0eTtcblxuLyoqXG4gKiBOYXJyb3dzIHRoZSByZWZlcmVuY2luZyBub3RlcyB0byB0aGUgb25lcyBzaGFyaW5nIHRoZSBiZXN0IHJhbmsuXG4gKlxuICogVGhvc2Ugbm90ZXMgYXJlIHRoZSB3aG9sZSBvZiB0aGUgYW1iaWd1aXR5OiBvbmUgdGhlIGxpc3QgcmFua2VkIGJlbG93IHRoZW0gY2Fubm90IHJlc29sdmUgYW55dGhpbmcsXG4gKiBzbyByZXBvcnRpbmcgaXQgb25seSBhZGRzIG5vaXNlLiBUaGlzIG1pcnJvcnMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0ncyBjb25kaXRpb25zXG4gKiByYXRoZXIgdGhhbiByZS1kZWNpZGluZyBhbnl0aGluZywgc28gdGhlIHR3byBjYW4gb25seSBldmVyIGFncmVlIFx1MjAxNCB3aGVuZXZlciB0aGF0IG5hbWVzIGEgd2lubmVyLFxuICogdGhpcyByZXR1cm5zIGV4YWN0bHkgdGhhdCBvbmUgbm90ZS5cbiAqXG4gKiBBIGxpc3QgdGhhdCBkZWNpZGVzIG5vdGhpbmcgYXQgYWxsIFx1MjAxNCBlbXB0eSwgb3IgbWF0Y2hpbmcgbm8gbm90ZSBcdTIwMTQgcmFua3MgZXZlcnkgbm90ZVxuICoge0BsaW5rIE5PX1BSSU9SSVRZX01BVENIfSwgc28gdGhleSBhbGwgdGllIGFuZCBldmVyeSBvbmUgb2YgdGhlbSBpcyBrZXB0LiBUaGF0IGlzIHRoZSBzYW1lIGxpc3QgdGhlXG4gKiB1c2VyIHNhdyBiZWZvcmUsIHdoaWNoIGlzIGNvcnJlY3Q6IG5vdGhpbmcgaGFzIHJ1bGVkIGFueSBvZiB0aGVtIG91dC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHJlZmVyZW5jaW5nIG5vdGVzIGFuZCBob3cgdG8gcmFuayBvbmUuXG4gKiBAcmV0dXJucyBUaGUgbm90ZXMgaG9sZGluZyB0aGUgYmVzdCByYW5rLCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGdpdmVuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzKHBhcmFtczogRmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzUGFyYW1zKTogc3RyaW5nW10ge1xuICAvLyBSYW5raW5nIGNhbiBoaXQgdGhlIHZhdWx0IGFuZCB0aGUgbWV0YWRhdGEgY2FjaGUsIHNvIGVhY2ggbm90ZSBpcyByYW5rZWQgb25jZSBhbmQgY2FycmllZC5cbiAgY29uc3QgcmFua2VkTm90ZVBhdGhzID0gcGFyYW1zLm5vdGVQYXRocy5tYXAoKG5vdGVQYXRoKSA9PiAoe1xuICAgIG5vdGVQYXRoLFxuICAgIHJhbms6IHBhcmFtcy5yYW5rKG5vdGVQYXRoKVxuICB9KSk7XG5cbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGZvciAoY29uc3QgcmFua2VkIG9mIHJhbmtlZE5vdGVQYXRocykge1xuICAgIGlmIChyYW5rZWQucmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IHJhbmtlZC5yYW5rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByYW5rZWROb3RlUGF0aHNcbiAgICAuZmlsdGVyKChyYW5rZWQpID0+IHJhbmtlZC5yYW5rID09PSBiZXN0UmFuaylcbiAgICAubWFwKChyYW5rZWQpID0+IHJhbmtlZC5ub3RlUGF0aCk7XG59XG5cbi8qKlxuICogRXhwbGFpbnMgd2h5IHRoZSBwcmlvcml0eSBsaXN0IG5hbWVkIG5vIG93bmVyIGZvciBhbiBhdHRhY2htZW50LlxuICpcbiAqIE9ubHkgbWVhbmluZ2Z1bCBvbmNlIHtAbGluayBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGh9IGhhcyByZXR1cm5lZCBgbnVsbGAgKG9yIHRoZSBsaXN0IHdhcyBlbXB0eVxuICogYW5kIHdhcyBuZXZlciBjb25zdWx0ZWQpOyBpdCBtaXJyb3JzIHRoYXQgZnVuY3Rpb24ncyBvd24gY29uZGl0aW9ucyByYXRoZXIgdGhhbiByZS1kZWNpZGluZ1xuICogYW55dGhpbmcsIHNvIHRoZSB0d28gY2FuIG9ubHkgZXZlciBhZ3JlZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHByaW9yaXR5IGxpc3QsIHRoZSByZWZlcmVuY2luZyBub3RlcywgYW5kIGhvdyB0byByYW5rIG9uZS5cbiAqIEByZXR1cm5zIFdoaWNoIG9mIHRoZSB0aHJlZSB3YXlzIHRoZSBsaXN0IGZhaWxlZCB0byBzZXR0bGUgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbihwYXJhbXM6IEZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uUGFyYW1zKTogTm9Qcmlvcml0eVdpbm5lclJlYXNvbiB7XG4gIGlmIChwYXJhbXMuZW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gTm9Qcmlvcml0eVdpbm5lclJlYXNvbi5FbXB0eUxpc3Q7XG4gIH1cblxuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBwYXJhbXMubm90ZVBhdGhzKSB7XG4gICAgY29uc3QgY3VycmVudFJhbmsgPSBwYXJhbXMucmFuayhub3RlUGF0aCk7XG4gICAgaWYgKGN1cnJlbnRSYW5rIDwgYmVzdFJhbmspIHtcbiAgICAgIGJlc3RSYW5rID0gY3VycmVudFJhbms7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJlc3RSYW5rID09PSBOT19QUklPUklUWV9NQVRDSCA/IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uTm9NYXRjaCA6IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uVGllO1xufVxuXG4vKipcbiAqIEZpbmRzIGhvdyBoaWdobHkgYSBub3RlIHJhbmtzIGluIHRoZSBwcmlvcml0eSBsaXN0LlxuICpcbiAqIEFuIGVudHJ5IG1hdGNoZXMgaW4gb25lIG9mIGZvdXIgd2F5cywgcGlja2VkIGJ5IGl0cyBzaGFwZSBzbyB0aGF0IG9uZSBsaXN0IGNhbiBleHByZXNzIGFsbCBvZiB0aGVtOlxuICpcbiAqIC0gYHByb3BlcnR5Om5hbWVgIFx1MjAxNCB0aGUgbm90ZSdzIGZyb250bWF0dGVyIGhhcyBgbmFtZWA7IGBwcm9wZXJ0eTpuYW1lPXZhbHVlYCBhbHNvIGNvbXBhcmVzIHRoZSB2YWx1ZS5cbiAqIC0gYC9yZWd1bGFyIGV4cHJlc3Npb24vYCBcdTIwMTQgdGVzdGVkIGFnYWluc3QgdGhlIG5vdGUncyBwYXRoLlxuICogLSBgLmV4dGAgXHUyMDE0IHRoZSBub3RlJ3MgcGF0aCBlbmRzIHdpdGggaXQsIGNhc2UtaW5zZW5zaXRpdmVseS4gVGhpcyBpcyB0aGUgZm9ybSB0aGUgcmVxdWVzdCBhc2tlZCBmb3IuXG4gKiAtIGFueXRoaW5nIGVsc2UgXHUyMDE0IGEgcGF0aCBmcm9tIHRoZSB2YXVsdCByb290LCBtYXRjaGluZyB0aGUgdm9jYWJ1bGFyeSBvZiB0aGUgaW5jbHVkZSAvIGV4Y2x1ZGVcbiAqICAgcGF0aCBzZXR0aW5ncy5cbiAqXG4gKiBXaGVuIGEgbm90ZSBtYXRjaGVzIHNldmVyYWwgZW50cmllcyB0aGUgKipsb25nZXN0Kiogb25lIGRlY2lkZXMgaXRzIHJhbmssIHNvIHRoZSBtb3N0IHNwZWNpZmljXG4gKiBlbnRyeSB3aW5zIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QgaXMgbGVmdCB0byBleHByZXNzIHByaW9yaXR5LiBXaXRob3V0IHRoaXMgYW4gRXhjYWxpZHJhdyBub3RlXG4gKiBjb3VsZCBuZXZlciByYW5rIGJlbG93IGEgcGxhaW4gbWFya2Rvd24gb25lOiBgZHJhd2luZy5leGNhbGlkcmF3Lm1kYCBhbHNvIGVuZHMgd2l0aCBgLm1kYCwgc29cbiAqIGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhdy5tZGAgXHUyMDE0IHRoZSB2ZXJ5IGV4YW1wbGUgdGhlIHJlcXVlc3QgaXMgYnVpbHQgb24gXHUyMDE0IHdvdWxkIHRpZSBpbnN0ZWFkIG9mXG4gKiByZXNvbHZpbmcuIEVxdWFsLWxlbmd0aCBtYXRjaGVzIGZhbGwgdG8gdGhlIGVhcmxpZXIgZW50cnkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBmaW5kaW5nIHRoZSByYW5rLlxuICogQHJldHVybnMgVGhlIGluZGV4IG9mIHRoZSBtb3N0IHNwZWNpZmljIG1hdGNoaW5nIGVudHJ5LCBvciB7QGxpbmsgTk9fUFJJT1JJVFlfTUFUQ0h9IHdoZW4gbm9uZSBtYXRjaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmROb3RlUHJpb3JpdHlSYW5rKHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBudW1iZXIge1xuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgbGV0IGJlc3RMZW5ndGggPSAtMTtcblxuICBmb3IgKGNvbnN0IFtpbmRleCwgZW50cnldIG9mIHBhcmFtcy5lbnRyaWVzLmVudHJpZXMoKSkge1xuICAgIC8vIEEgc2hvcnRlciBlbnRyeSBjYW4gbmV2ZXIgYmVhdCBvbmUgdGhhdCBhbHJlYWR5IG1hdGNoZWQsIHNvIGl0IGlzIG5vdCB3b3J0aCB0ZXN0aW5nLlxuICAgIGlmICgoZW50cnkubGVuZ3RoIDw9IGJlc3RMZW5ndGgpIHx8ICFjaGVja0VudHJ5TWF0Y2hlcyhlbnRyeSwgcGFyYW1zKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgYmVzdFJhbmsgPSBpbmRleDtcbiAgICBiZXN0TGVuZ3RoID0gZW50cnkubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIGJlc3RSYW5rO1xufVxuXG4vKipcbiAqIFBpY2tzIHRoZSBzaW5nbGUgaGlnaGVzdC1wcmlvcml0eSBub3RlIGFtb25nIHRob3NlIHJlZmVyZW5jaW5nIGFuIGF0dGFjaG1lbnQuXG4gKlxuICogUmV0dXJucyBgbnVsbGAgd2hlbiB0aGUgYmVzdCByYW5rIGlzIHNoYXJlZCBieSBtb3JlIHRoYW4gb25lIG5vdGUsIG9yIHdoZW4gbm8gbm90ZSBtYXRjaGVzXG4gKiBhbnl0aGluZy4gQm90aCBhcmUgdGllcywgYW5kIGEgdGllIGlzIHRoZSBjYWxsZXIncyBwcm9ibGVtOiBpdCBpcyB3aGF0IHRoZSBtdWx0aXBsZS1ub3RlcyBtb2RlXG4gKiBzZXR0aW5nIGlzIGZvci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHBpY2tpbmcgdGhlIG5vdGUuXG4gKiBAcmV0dXJucyBUaGUgd2lubmluZyBub3RlJ3MgcGF0aCwgb3IgYG51bGxgIHdoZW4gdGhlcmUgaXMgbm8gc2luZ2xlIHdpbm5lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aChwYXJhbXM6IFBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFBhcmFtcyk6IG51bGwgfCBzdHJpbmcge1xuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgbGV0IGJlc3ROb3RlUGF0aDogbnVsbCB8IHN0cmluZyA9IG51bGw7XG4gIGxldCBiZXN0Q291bnQgPSAwO1xuXG4gIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgcGFyYW1zLm5vdGVQYXRocykge1xuICAgIGNvbnN0IGN1cnJlbnRSYW5rID0gcGFyYW1zLnJhbmsobm90ZVBhdGgpO1xuICAgIGlmIChjdXJyZW50UmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IGN1cnJlbnRSYW5rO1xuICAgICAgYmVzdE5vdGVQYXRoID0gbm90ZVBhdGg7XG4gICAgICBiZXN0Q291bnQgPSAxO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFJhbmsgPT09IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0Q291bnQrKztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYmVzdENvdW50ICE9PSAxIHx8IGJlc3RSYW5rID09PSBOT19QUklPUklUWV9NQVRDSCA/IG51bGwgOiBiZXN0Tm90ZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRW50cnlNYXRjaGVzKGVudHJ5OiBzdHJpbmcsIHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgaWYgKCFlbnRyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChpc1Byb3BlcnR5RW50cnkoZW50cnkpKSB7XG4gICAgcmV0dXJuIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMoeyBlbnRyeSwgZnJvbnRtYXR0ZXI6IHBhcmFtcy5mcm9udG1hdHRlciB9KTtcbiAgfVxuXG4gIGlmIChlbnRyeS5sZW5ndGggPiAxICYmIGVudHJ5LnN0YXJ0c1dpdGgoUkVHX0VYUF9ERUxJTUlURVIpICYmIGVudHJ5LmVuZHNXaXRoKFJFR19FWFBfREVMSU1JVEVSKSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IGVudHJ5LnNsaWNlKDEsIC0xKTtcbiAgICAvLyBBbiB1bnBhcnNlYWJsZSBleHByZXNzaW9uIG11c3Qgbm90IHRocm93IG1pZC1jb2xsZWN0aW9uOyBpdCBzaW1wbHkgbWF0Y2hlcyBub3RoaW5nLlxuICAgIHJldHVybiBpc1ZhbGlkUmVnRXhwKHNvdXJjZSkgJiYgbmV3IFJlZ0V4cChzb3VyY2UpLnRlc3QocGFyYW1zLm5vdGVQYXRoKTtcbiAgfVxuXG4gIGlmIChlbnRyeS5zdGFydHNXaXRoKEVYVEVOU0lPTl9QUkVGSVgpKSB7XG4gICAgcmV0dXJuIHBhcmFtcy5ub3RlUGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKGVudHJ5LnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgY29uc3QgcHJlZml4ID0gZW50cnkuZW5kc1dpdGgoJy8nKSA/IGVudHJ5IDogYCR7ZW50cnl9L2A7XG4gIHJldHVybiBwYXJhbXMubm90ZVBhdGggPT09IGVudHJ5IHx8IHBhcmFtcy5ub3RlUGF0aC5zdGFydHNXaXRoKHByZWZpeCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLFNBQVMscUJBQXFCO0FBRTlCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsTUFBTSxvQkFBb0I7QUFDMUIsTUFBTSxtQkFBbUI7QUFTbEIsSUFBSyx5QkFBTCxrQkFBS0EsNEJBQUw7QUFJTCxFQUFBQSx3QkFBQSxlQUFZO0FBS1osRUFBQUEsd0JBQUEsYUFBVTtBQUtWLEVBQUFBLHdCQUFBLFNBQU07QUFkSSxTQUFBQTtBQUFBLEdBQUE7QUE2RUwsTUFBTSxvQkFBb0I7QUFpQjFCLFNBQVMsK0JBQStCLFFBQXdEO0FBRXJHLFFBQU0sa0JBQWtCLE9BQU8sVUFBVSxJQUFJLENBQUMsY0FBYztBQUFBLElBQzFEO0FBQUEsSUFDQSxNQUFNLE9BQU8sS0FBSyxRQUFRO0FBQUEsRUFDNUIsRUFBRTtBQUVGLE1BQUksV0FBVztBQUNmLGFBQVcsVUFBVSxpQkFBaUI7QUFDcEMsUUFBSSxPQUFPLE9BQU8sVUFBVTtBQUMxQixpQkFBVyxPQUFPO0FBQUEsSUFDcEI7QUFBQSxFQUNGO0FBRUEsU0FBTyxnQkFDSixPQUFPLENBQUMsV0FBVyxPQUFPLFNBQVMsUUFBUSxFQUMzQyxJQUFJLENBQUMsV0FBVyxPQUFPLFFBQVE7QUFDcEM7QUFZTyxTQUFTLDJCQUEyQixRQUFrRTtBQUMzRyxNQUFJLE9BQU8sUUFBUSxXQUFXLEdBQUc7QUFDL0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLFdBQVc7QUFDZixhQUFXLFlBQVksT0FBTyxXQUFXO0FBQ3ZDLFVBQU0sY0FBYyxPQUFPLEtBQUssUUFBUTtBQUN4QyxRQUFJLGNBQWMsVUFBVTtBQUMxQixpQkFBVztBQUFBLElBQ2I7QUFBQSxFQUNGO0FBRUEsU0FBTyxhQUFhLG9CQUFvQiwwQkFBaUM7QUFDM0U7QUFzQk8sU0FBUyxxQkFBcUIsUUFBNEM7QUFDL0UsTUFBSSxXQUFXO0FBQ2YsTUFBSSxhQUFhO0FBRWpCLGFBQVcsQ0FBQyxPQUFPLEtBQUssS0FBSyxPQUFPLFFBQVEsUUFBUSxHQUFHO0FBRXJELFFBQUssTUFBTSxVQUFVLGNBQWUsQ0FBQyxrQkFBa0IsT0FBTyxNQUFNLEdBQUc7QUFDckU7QUFBQSxJQUNGO0FBRUEsZUFBVztBQUNYLGlCQUFhLE1BQU07QUFBQSxFQUNyQjtBQUVBLFNBQU87QUFDVDtBQVlPLFNBQVMsNEJBQTRCLFFBQTBEO0FBQ3BHLE1BQUksV0FBVztBQUNmLE1BQUksZUFBOEI7QUFDbEMsTUFBSSxZQUFZO0FBRWhCLGFBQVcsWUFBWSxPQUFPLFdBQVc7QUFDdkMsVUFBTSxjQUFjLE9BQU8sS0FBSyxRQUFRO0FBQ3hDLFFBQUksY0FBYyxVQUFVO0FBQzFCLGlCQUFXO0FBQ1gscUJBQWU7QUFDZixrQkFBWTtBQUFBLElBQ2QsV0FBVyxnQkFBZ0IsVUFBVTtBQUNuQztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsU0FBTyxjQUFjLEtBQUssYUFBYSxvQkFBb0IsT0FBTztBQUNwRTtBQUVBLFNBQVMsa0JBQWtCLE9BQWUsUUFBNkM7QUFDckYsTUFBSSxDQUFDLE9BQU87QUFDVixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksZ0JBQWdCLEtBQUssR0FBRztBQUMxQixXQUFPLDBCQUEwQixFQUFFLE9BQU8sYUFBYSxPQUFPLFlBQVksQ0FBQztBQUFBLEVBQzdFO0FBRUEsTUFBSSxNQUFNLFNBQVMsS0FBSyxNQUFNLFdBQVcsaUJBQWlCLEtBQUssTUFBTSxTQUFTLGlCQUFpQixHQUFHO0FBQ2hHLFVBQU0sU0FBUyxNQUFNLE1BQU0sR0FBRyxFQUFFO0FBRWhDLFdBQU8sY0FBYyxNQUFNLEtBQUssSUFBSSxPQUFPLE1BQU0sRUFBRSxLQUFLLE9BQU8sUUFBUTtBQUFBLEVBQ3pFO0FBRUEsTUFBSSxNQUFNLFdBQVcsZ0JBQWdCLEdBQUc7QUFDdEMsV0FBTyxPQUFPLFNBQVMsWUFBWSxFQUFFLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFBQSxFQUNuRTtBQUVBLFFBQU0sU0FBUyxNQUFNLFNBQVMsR0FBRyxJQUFJLFFBQVEsR0FBRyxLQUFLO0FBQ3JELFNBQU8sT0FBTyxhQUFhLFNBQVMsT0FBTyxTQUFTLFdBQVcsTUFBTTtBQUN2RTsiLAogICJuYW1lcyI6IFsiTm9Qcmlvcml0eVdpbm5lclJlYXNvbiJdCn0K
135
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25vdGUtcHJpb3JpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEZWNpZGVzIHdoaWNoIG9mIHNldmVyYWwgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgYXR0YWNobWVudCBvd25zIGl0LlxuICpcbiAqIEFuIGF0dGFjaG1lbnQgcmVmZXJlbmNlZCBmcm9tIG1vcmUgdGhhbiBvbmUgbm90ZSBoYXMgbm8gc2luZ2xlIGNvcnJlY3QgaG9tZSwgc28gY29sbGVjdGluZyBpdCBmYWxsc1xuICogYmFjayB0byB3aGF0ZXZlciBgY29sbGVjdEF0dGFjaG1lbnRVc2VkQnlNdWx0aXBsZU5vdGVzTW9kZWAgc2F5cyBcdTIwMTQgc2tpcCwgY29weSwgY2FuY2VsLCBvciBhc2suIEFcbiAqIHByaW9yaXR5IGxpc3QgbGV0cyB0aGUgdXNlciBhbnN3ZXIgdGhlIHF1ZXN0aW9uIG9uY2UgaW5zdGVhZDogcHV0IGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhd2AgYW5kIGFuXG4gKiBpbWFnZSBzaGFyZWQgYnkgYm90aCBsYW5kcyBpbiB0aGUgbWFya2Rvd24gbm90ZSdzIGZvbGRlci5cbiAqXG4gKiBBIHRpZSBpcyBkZWxpYmVyYXRlbHkgTk9UIHJlc29sdmVkIGhlcmUuIFR3byBub3RlcyBvZiBlcXVhbCBwcmlvcml0eSBpcyBleGFjdGx5IHRoZSBhbWJpZ3VpdHkgdGhlXG4gKiBleGlzdGluZyBtb2RlIHNldHRpbmcgYWxyZWFkeSBleGlzdHMgdG8gaGFuZGxlLCBhbmQgaW52ZW50aW5nIGEgc2Vjb25kLCBzaWxlbnQgcnVsZSBmb3IgaXQgd291bGRcbiAqIG1vdmUgYSBmaWxlIHRoZSB1c2VyIG5ldmVyIG5hbWVkLlxuICpcbiAqIFRoZSB0aWUgaXMgYWxzbyB0aGUgd2hvbGUgb2Ygd2hhdCBnZXRzIFJFUE9SVEVELiBBIG5vdGUgdGhlIGxpc3QgcmFua2VkIGJlbG93IHRoZSBiZXN0IHJhbmsgY2Fubm90XG4gKiByZXNvbHZlIHRoZSBhbWJpZ3VpdHksIHNvIGxpc3RpbmcgaXQgb25seSBhZGRzIG5vaXNlIFx1MjAxNCBhbmQgd29yc2UgaW4gYSBwaWNrZXIsIHdoZXJlIG9mZmVyaW5nIGl0XG4gKiBpbnZpdGVzIGFuIGFuc3dlciB0aGUgcHJpb3JpdHkgbGlzdCBpdHNlbGYgd291bGQgbm90IGhhdmUgZ2l2ZW4uIFRoYXQgaXMgd2h5XG4gKiB7QGxpbmsgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzfSBleGlzdHMgYWxvbmdzaWRlIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgZGVjaWRlLlxuICovXG5cbmltcG9ydCB7IGlzVmFsaWRSZWdFeHAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5cbmltcG9ydCB7XG4gIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMsXG4gIGlzUHJvcGVydHlFbnRyeVxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcblxuY29uc3QgUkVHX0VYUF9ERUxJTUlURVIgPSAnLyc7XG5jb25zdCBFWFRFTlNJT05fUFJFRklYID0gJy4nO1xuXG4vKipcbiAqIFdoeSB0aGUgcHJpb3JpdHkgbGlzdCBkaWQgbm90IHNldHRsZSB3aGljaCBub3RlIG93bnMgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBUaGUgdGhyZWUgdmFsdWVzIGFyZSBleGFjdGx5IHRoZSB0aHJlZSB3YXlzIHtAbGluayBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGh9IChwbHVzIGl0cyBlbXB0eS1saXN0XG4gKiBndWFyZCkgY2FuIGZhaWwgdG8gbmFtZSBhIHdpbm5lciwgc28gYSBjYWxsZXIgY2FuIHRlbGwgdGhlIHVzZXIgdGhlIHJlYWwgcmVhc29uIGluc3RlYWQgb2Ygb25seVxuICogcmVwb3J0aW5nIHRoYXQgdGhlIGF0dGFjaG1lbnQgaXMgcmVmZXJlbmNlZCBieSBzZXZlcmFsIG5vdGVzLlxuICovXG5leHBvcnQgZW51bSBOb1ByaW9yaXR5V2lubmVyUmVhc29uIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0IGlzIGVtcHR5IFx1MjAxNCBpdHMgZGVmYXVsdC4gTm90aGluZyB3YXMgY29uZmlndXJlZCB0byBkZWNpZGUgYmV0d2VlbiB0aGUgbm90ZXMuXG4gICAqL1xuICBFbXB0eUxpc3QgPSAnRW1wdHlMaXN0JyxcblxuICAvKipcbiAgICogVGhlIGxpc3QgaGFzIGVudHJpZXMsIGJ1dCBub25lIG9mIHRoZSByZWZlcmVuY2luZyBub3RlcyBtYXRjaGVzIGFueSBvZiB0aGVtLlxuICAgKi9cbiAgTm9NYXRjaCA9ICdOb01hdGNoJyxcblxuICAvKipcbiAgICogU2V2ZXJhbCByZWZlcmVuY2luZyBub3RlcyB0aWUgZm9yIHRoZSBiZXN0IHJhbmssIHNvIHRoZSBsaXN0IG5hbWVzIG5vIHNpbmdsZSBvd25lci5cbiAgICovXG4gIFRpZSA9ICdUaWUnXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRoc30uXG4gKlxuICogVGhlIHNhbWUgcXVlc3Rpb24gYXMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0gYXNrcywgc28gZGVsaWJlcmF0ZWx5IHRoZSBzYW1lIHBhcmFtZXRlcnM6XG4gKiB0aGUgdHdvIG11c3QgYmUgYW5zd2VyZWQgZnJvbSBpZGVudGljYWwgaW5wdXRzIG9yIHRoZXkgY291bGQgZGlzYWdyZWUuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbHRlckhpZ2hlc3RQcmlvcml0eU5vdGVQYXRoc1BhcmFtcyA9IFBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFBhcmFtcztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZmluZE5vUHJpb3JpdHlXaW5uZXJSZWFzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uUGFyYW1zIGV4dGVuZHMgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmlvcml0eSBsaXN0LCBoaWdoZXN0IHByaW9yaXR5IGZpcnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpbmROb3RlUHJpb3JpdHlSYW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5kTm90ZVByaW9yaXR5UmFua1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgbGlzdCwgaGlnaGVzdCBwcmlvcml0eSBmaXJzdC5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJpZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90ZSdzIGZyb250bWF0dGVyLCBvciBgbnVsbGAgd2hlbiBpdCBoYXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyb250bWF0dGVyOiBudWxsIHwgUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja0hpZ2hlc3RQcmlvcml0eU5vdGVQYXRoUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2YXVsdC1yZWxhdGl2ZSBwYXRocyBvZiB0aGUgbm90ZXMgcmVmZXJlbmNpbmcgdGhlIGF0dGFjaG1lbnQuXG4gICAqL1xuICByZWFkb25seSBub3RlUGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgcmFuayBvZiBhIG5vdGUuIExvd2VyIHdpbnM7IHtAbGluayBOT19QUklPUklUWV9NQVRDSH0gbWVhbnMgdGhlIG5vdGUgbWF0Y2hlZCBub3RoaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gbm90ZVBhdGggLSBUaGUgdmF1bHQtcmVsYXRpdmUgcGF0aCBvZiB0aGUgbm90ZS5cbiAgICogQHJldHVybnMgVGhlIHJhbmsuXG4gICAqL1xuICByZWFkb25seSByYW5rOiAobm90ZVBhdGg6IHN0cmluZykgPT4gbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSByYW5rIG9mIGEgbm90ZSB0aGF0IG1hdGNoZXMgbm8gZW50cnkgaW4gdGhlIHByaW9yaXR5IGxpc3QuIEhpZ2hlciB0aGFuIGFueSByZWFsIHJhbmssIHNvIGEgbm90ZVxuICogdGhhdCBtYXRjaGVzIG5vdGhpbmcgYWx3YXlzIGxvc2VzIHRvIG9uZSB0aGF0IG1hdGNoZXMgc29tZXRoaW5nLlxuICovXG5leHBvcnQgY29uc3QgTk9fUFJJT1JJVFlfTUFUQ0ggPSBJbmZpbml0eTtcblxuLyoqXG4gKiBOYXJyb3dzIHRoZSByZWZlcmVuY2luZyBub3RlcyB0byB0aGUgb25lcyBzaGFyaW5nIHRoZSBiZXN0IHJhbmsuXG4gKlxuICogVGhvc2Ugbm90ZXMgYXJlIHRoZSB3aG9sZSBvZiB0aGUgYW1iaWd1aXR5OiBvbmUgdGhlIGxpc3QgcmFua2VkIGJlbG93IHRoZW0gY2Fubm90IHJlc29sdmUgYW55dGhpbmcsXG4gKiBzbyByZXBvcnRpbmcgaXQgb25seSBhZGRzIG5vaXNlLiBUaGlzIG1pcnJvcnMge0BsaW5rIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aH0ncyBjb25kaXRpb25zXG4gKiByYXRoZXIgdGhhbiByZS1kZWNpZGluZyBhbnl0aGluZywgc28gdGhlIHR3byBjYW4gb25seSBldmVyIGFncmVlIFx1MjAxNCB3aGVuZXZlciB0aGF0IG5hbWVzIGEgd2lubmVyLFxuICogdGhpcyByZXR1cm5zIGV4YWN0bHkgdGhhdCBvbmUgbm90ZS5cbiAqXG4gKiBBIGxpc3QgdGhhdCBkZWNpZGVzIG5vdGhpbmcgYXQgYWxsIFx1MjAxNCBlbXB0eSwgb3IgbWF0Y2hpbmcgbm8gbm90ZSBcdTIwMTQgcmFua3MgZXZlcnkgbm90ZVxuICoge0BsaW5rIE5PX1BSSU9SSVRZX01BVENIfSwgc28gdGhleSBhbGwgdGllIGFuZCBldmVyeSBvbmUgb2YgdGhlbSBpcyBrZXB0LiBUaGF0IGlzIHRoZSBzYW1lIGxpc3QgdGhlXG4gKiB1c2VyIHNhdyBiZWZvcmUsIHdoaWNoIGlzIGNvcnJlY3Q6IG5vdGhpbmcgaGFzIHJ1bGVkIGFueSBvZiB0aGVtIG91dC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHJlZmVyZW5jaW5nIG5vdGVzIGFuZCBob3cgdG8gcmFuayBvbmUuXG4gKiBAcmV0dXJucyBUaGUgbm90ZXMgaG9sZGluZyB0aGUgYmVzdCByYW5rLCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGdpdmVuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzKHBhcmFtczogRmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzUGFyYW1zKTogc3RyaW5nW10ge1xuICAvLyBSYW5raW5nIGNhbiBoaXQgdGhlIHZhdWx0IGFuZCB0aGUgbWV0YWRhdGEgY2FjaGUsIHNvIGVhY2ggbm90ZSBpcyByYW5rZWQgb25jZSBhbmQgY2FycmllZC5cbiAgY29uc3QgcmFua2VkTm90ZVBhdGhzID0gcGFyYW1zLm5vdGVQYXRocy5tYXAoKG5vdGVQYXRoKSA9PiAoe1xuICAgIG5vdGVQYXRoLFxuICAgIHJhbms6IHBhcmFtcy5yYW5rKG5vdGVQYXRoKVxuICB9KSk7XG5cbiAgbGV0IGJlc3RSYW5rID0gTk9fUFJJT1JJVFlfTUFUQ0g7XG4gIGZvciAoY29uc3QgcmFua2VkIG9mIHJhbmtlZE5vdGVQYXRocykge1xuICAgIGlmIChyYW5rZWQucmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IHJhbmtlZC5yYW5rO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByYW5rZWROb3RlUGF0aHNcbiAgICAuZmlsdGVyKChyYW5rZWQpID0+IHJhbmtlZC5yYW5rID09PSBiZXN0UmFuaylcbiAgICAubWFwKChyYW5rZWQpID0+IHJhbmtlZC5ub3RlUGF0aCk7XG59XG5cbi8qKlxuICogRXhwbGFpbnMgd2h5IHRoZSBwcmlvcml0eSBsaXN0IG5hbWVkIG5vIG93bmVyIGZvciBhbiBhdHRhY2htZW50LlxuICpcbiAqIE9ubHkgbWVhbmluZ2Z1bCBvbmNlIHtAbGluayBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGh9IGhhcyByZXR1cm5lZCBgbnVsbGAgKG9yIHRoZSBsaXN0IHdhcyBlbXB0eVxuICogYW5kIHdhcyBuZXZlciBjb25zdWx0ZWQpOyBpdCBtaXJyb3JzIHRoYXQgZnVuY3Rpb24ncyBvd24gY29uZGl0aW9ucyByYXRoZXIgdGhhbiByZS1kZWNpZGluZ1xuICogYW55dGhpbmcsIHNvIHRoZSB0d28gY2FuIG9ubHkgZXZlciBhZ3JlZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHByaW9yaXR5IGxpc3QsIHRoZSByZWZlcmVuY2luZyBub3RlcywgYW5kIGhvdyB0byByYW5rIG9uZS5cbiAqIEByZXR1cm5zIFdoaWNoIG9mIHRoZSB0aHJlZSB3YXlzIHRoZSBsaXN0IGZhaWxlZCB0byBzZXR0bGUgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbihwYXJhbXM6IEZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uUGFyYW1zKTogTm9Qcmlvcml0eVdpbm5lclJlYXNvbiB7XG4gIGlmIChwYXJhbXMuZW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gTm9Qcmlvcml0eVdpbm5lclJlYXNvbi5FbXB0eUxpc3Q7XG4gIH1cblxuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBwYXJhbXMubm90ZVBhdGhzKSB7XG4gICAgY29uc3QgY3VycmVudFJhbmsgPSBwYXJhbXMucmFuayhub3RlUGF0aCk7XG4gICAgaWYgKGN1cnJlbnRSYW5rIDwgYmVzdFJhbmspIHtcbiAgICAgIGJlc3RSYW5rID0gY3VycmVudFJhbms7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJlc3RSYW5rID09PSBOT19QUklPUklUWV9NQVRDSCA/IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uTm9NYXRjaCA6IE5vUHJpb3JpdHlXaW5uZXJSZWFzb24uVGllO1xufVxuXG4vKipcbiAqIEZpbmRzIGhvdyBoaWdobHkgYSBub3RlIHJhbmtzIGluIHRoZSBwcmlvcml0eSBsaXN0LlxuICpcbiAqIEFuIGVudHJ5IG1hdGNoZXMgaW4gb25lIG9mIGZvdXIgd2F5cywgcGlja2VkIGJ5IGl0cyBzaGFwZSBzbyB0aGF0IG9uZSBsaXN0IGNhbiBleHByZXNzIGFsbCBvZiB0aGVtOlxuICpcbiAqIC0gYHByb3BlcnR5Om5hbWVgIFx1MjAxNCB0aGUgbm90ZSdzIGZyb250bWF0dGVyIGhhcyBgbmFtZWA7IGBwcm9wZXJ0eTpuYW1lPXZhbHVlYCBhbHNvIGNvbXBhcmVzIHRoZSB2YWx1ZS5cbiAqIC0gYC9yZWd1bGFyIGV4cHJlc3Npb24vYCBcdTIwMTQgdGVzdGVkIGFnYWluc3QgdGhlIG5vdGUncyBwYXRoLlxuICogLSBgLmV4dGAgXHUyMDE0IHRoZSBub3RlJ3MgcGF0aCBlbmRzIHdpdGggaXQsIGNhc2UtaW5zZW5zaXRpdmVseS4gVGhpcyBpcyB0aGUgZm9ybSB0aGUgcmVxdWVzdCBhc2tlZCBmb3IuXG4gKiAtIGFueXRoaW5nIGVsc2UgXHUyMDE0IGEgcGF0aCBmcm9tIHRoZSB2YXVsdCByb290LCBtYXRjaGluZyB0aGUgdm9jYWJ1bGFyeSBvZiB0aGUgaW5jbHVkZSAvIGV4Y2x1ZGVcbiAqICAgcGF0aCBzZXR0aW5ncy5cbiAqXG4gKiBXaGVuIGEgbm90ZSBtYXRjaGVzIHNldmVyYWwgZW50cmllcyB0aGUgKipsb25nZXN0Kiogb25lIGRlY2lkZXMgaXRzIHJhbmssIHNvIHRoZSBtb3N0IHNwZWNpZmljXG4gKiBlbnRyeSB3aW5zIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QgaXMgbGVmdCB0byBleHByZXNzIHByaW9yaXR5LiBXaXRob3V0IHRoaXMgYW4gRXhjYWxpZHJhdyBub3RlXG4gKiBjb3VsZCBuZXZlciByYW5rIGJlbG93IGEgcGxhaW4gbWFya2Rvd24gb25lOiBgZHJhd2luZy5leGNhbGlkcmF3Lm1kYCBhbHNvIGVuZHMgd2l0aCBgLm1kYCwgc29cbiAqIGAubWRgIGFib3ZlIGAuZXhjYWxpZHJhdy5tZGAgXHUyMDE0IHRoZSB2ZXJ5IGV4YW1wbGUgdGhlIHJlcXVlc3QgaXMgYnVpbHQgb24gXHUyMDE0IHdvdWxkIHRpZSBpbnN0ZWFkIG9mXG4gKiByZXNvbHZpbmcuIEVxdWFsLWxlbmd0aCBtYXRjaGVzIGZhbGwgdG8gdGhlIGVhcmxpZXIgZW50cnkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBmaW5kaW5nIHRoZSByYW5rLlxuICogQHJldHVybnMgVGhlIGluZGV4IG9mIHRoZSBtb3N0IHNwZWNpZmljIG1hdGNoaW5nIGVudHJ5LCBvciB7QGxpbmsgTk9fUFJJT1JJVFlfTUFUQ0h9IHdoZW4gbm9uZSBtYXRjaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmROb3RlUHJpb3JpdHlSYW5rKHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBudW1iZXIge1xuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgbGV0IGJlc3RMZW5ndGggPSAtMTtcblxuICBmb3IgKGNvbnN0IFtpbmRleCwgZW50cnldIG9mIHBhcmFtcy5lbnRyaWVzLmVudHJpZXMoKSkge1xuICAgIC8vIEEgc2hvcnRlciBlbnRyeSBjYW4gbmV2ZXIgYmVhdCBvbmUgdGhhdCBhbHJlYWR5IG1hdGNoZWQsIHNvIGl0IGlzIG5vdCB3b3J0aCB0ZXN0aW5nLlxuICAgIGlmICgoZW50cnkubGVuZ3RoIDw9IGJlc3RMZW5ndGgpIHx8ICFjaGVja0VudHJ5TWF0Y2hlcyhlbnRyeSwgcGFyYW1zKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgYmVzdFJhbmsgPSBpbmRleDtcbiAgICBiZXN0TGVuZ3RoID0gZW50cnkubGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIGJlc3RSYW5rO1xufVxuXG4vKipcbiAqIFBpY2tzIHRoZSBzaW5nbGUgaGlnaGVzdC1wcmlvcml0eSBub3RlIGFtb25nIHRob3NlIHJlZmVyZW5jaW5nIGFuIGF0dGFjaG1lbnQuXG4gKlxuICogUmV0dXJucyBgbnVsbGAgd2hlbiB0aGUgYmVzdCByYW5rIGlzIHNoYXJlZCBieSBtb3JlIHRoYW4gb25lIG5vdGUsIG9yIHdoZW4gbm8gbm90ZSBtYXRjaGVzXG4gKiBhbnl0aGluZy4gQm90aCBhcmUgdGllcywgYW5kIGEgdGllIGlzIHRoZSBjYWxsZXIncyBwcm9ibGVtOiBpdCBpcyB3aGF0IHRoZSBtdWx0aXBsZS1ub3RlcyBtb2RlXG4gKiBzZXR0aW5nIGlzIGZvci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHBpY2tpbmcgdGhlIG5vdGUuXG4gKiBAcmV0dXJucyBUaGUgd2lubmluZyBub3RlJ3MgcGF0aCwgb3IgYG51bGxgIHdoZW4gdGhlcmUgaXMgbm8gc2luZ2xlIHdpbm5lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aChwYXJhbXM6IFBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFBhcmFtcyk6IG51bGwgfCBzdHJpbmcge1xuICBsZXQgYmVzdFJhbmsgPSBOT19QUklPUklUWV9NQVRDSDtcbiAgbGV0IGJlc3ROb3RlUGF0aDogbnVsbCB8IHN0cmluZyA9IG51bGw7XG4gIGxldCBiZXN0Q291bnQgPSAwO1xuXG4gIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgcGFyYW1zLm5vdGVQYXRocykge1xuICAgIGNvbnN0IGN1cnJlbnRSYW5rID0gcGFyYW1zLnJhbmsobm90ZVBhdGgpO1xuICAgIGlmIChjdXJyZW50UmFuayA8IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0UmFuayA9IGN1cnJlbnRSYW5rO1xuICAgICAgYmVzdE5vdGVQYXRoID0gbm90ZVBhdGg7XG4gICAgICBiZXN0Q291bnQgPSAxO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFJhbmsgPT09IGJlc3RSYW5rKSB7XG4gICAgICBiZXN0Q291bnQrKztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYmVzdENvdW50ICE9PSAxIHx8IGJlc3RSYW5rID09PSBOT19QUklPUklUWV9NQVRDSCA/IG51bGwgOiBiZXN0Tm90ZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRW50cnlNYXRjaGVzKGVudHJ5OiBzdHJpbmcsIHBhcmFtczogRmluZE5vdGVQcmlvcml0eVJhbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgaWYgKCFlbnRyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChpc1Byb3BlcnR5RW50cnkoZW50cnkpKSB7XG4gICAgcmV0dXJuIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMoeyBlbnRyeSwgZnJvbnRtYXR0ZXI6IHBhcmFtcy5mcm9udG1hdHRlciB9KTtcbiAgfVxuXG4gIGlmIChlbnRyeS5sZW5ndGggPiAxICYmIGVudHJ5LnN0YXJ0c1dpdGgoUkVHX0VYUF9ERUxJTUlURVIpICYmIGVudHJ5LmVuZHNXaXRoKFJFR19FWFBfREVMSU1JVEVSKSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IGVudHJ5LnNsaWNlKDEsIC0xKTtcbiAgICAvLyBBbiB1bnBhcnNlYWJsZSBleHByZXNzaW9uIG11c3Qgbm90IHRocm93IG1pZC1jb2xsZWN0aW9uOyBpdCBzaW1wbHkgbWF0Y2hlcyBub3RoaW5nLlxuICAgIHJldHVybiBpc1ZhbGlkUmVnRXhwKHNvdXJjZSkgJiYgbmV3IFJlZ0V4cChzb3VyY2UpLnRlc3QocGFyYW1zLm5vdGVQYXRoKTtcbiAgfVxuXG4gIGlmIChlbnRyeS5zdGFydHNXaXRoKEVYVEVOU0lPTl9QUkVGSVgpKSB7XG4gICAgcmV0dXJuIHBhcmFtcy5ub3RlUGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKGVudHJ5LnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgY29uc3QgcHJlZml4ID0gZW50cnkuZW5kc1dpdGgoJy8nKSA/IGVudHJ5IDogYCR7ZW50cnl9L2A7XG4gIHJldHVybiBwYXJhbXMubm90ZVBhdGggPT09IGVudHJ5IHx8IHBhcmFtcy5ub3RlUGF0aC5zdGFydHNXaXRoKHByZWZpeCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxTQUFTLHFCQUFxQjtBQUU5QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLE1BQU0sb0JBQW9CO0FBQzFCLE1BQU0sbUJBQW1CO0FBU2xCLElBQUsseUJBQUwsa0JBQUtBLDRCQUFMO0FBSUwsRUFBQUEsd0JBQUEsZUFBWTtBQUtaLEVBQUFBLHdCQUFBLGFBQVU7QUFLVixFQUFBQSx3QkFBQSxTQUFNO0FBZEksU0FBQUE7QUFBQSxHQUFBO0FBNkVMLE1BQU0sb0JBQW9CO0FBaUIxQixTQUFTLCtCQUErQixRQUF3RDtBQUVyRyxRQUFNLGtCQUFrQixPQUFPLFVBQVUsSUFBSSxDQUFDLGNBQWM7QUFBQSxJQUMxRDtBQUFBLElBQ0EsTUFBTSxPQUFPLEtBQUssUUFBUTtBQUFBLEVBQzVCLEVBQUU7QUFFRixNQUFJLFdBQVc7QUFDZixhQUFXLFVBQVUsaUJBQWlCO0FBQ3BDLFFBQUksT0FBTyxPQUFPLFVBQVU7QUFDMUIsaUJBQVcsT0FBTztBQUFBLElBQ3BCO0FBQUEsRUFDRjtBQUVBLFNBQU8sZ0JBQ0osT0FBTyxDQUFDLFdBQVcsT0FBTyxTQUFTLFFBQVEsRUFDM0MsSUFBSSxDQUFDLFdBQVcsT0FBTyxRQUFRO0FBQ3BDO0FBWU8sU0FBUywyQkFBMkIsUUFBa0U7QUFDM0csTUFBSSxPQUFPLFFBQVEsV0FBVyxHQUFHO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXO0FBQ2YsYUFBVyxZQUFZLE9BQU8sV0FBVztBQUN2QyxVQUFNLGNBQWMsT0FBTyxLQUFLLFFBQVE7QUFDeEMsUUFBSSxjQUFjLFVBQVU7QUFDMUIsaUJBQVc7QUFBQSxJQUNiO0FBQUEsRUFDRjtBQUVBLFNBQU8sYUFBYSxvQkFBb0IsMEJBQWlDO0FBQzNFO0FBc0JPLFNBQVMscUJBQXFCLFFBQTRDO0FBQy9FLE1BQUksV0FBVztBQUNmLE1BQUksYUFBYTtBQUVqQixhQUFXLENBQUMsT0FBTyxLQUFLLEtBQUssT0FBTyxRQUFRLFFBQVEsR0FBRztBQUVyRCxRQUFLLE1BQU0sVUFBVSxjQUFlLENBQUMsa0JBQWtCLE9BQU8sTUFBTSxHQUFHO0FBQ3JFO0FBQUEsSUFDRjtBQUVBLGVBQVc7QUFDWCxpQkFBYSxNQUFNO0FBQUEsRUFDckI7QUFFQSxTQUFPO0FBQ1Q7QUFZTyxTQUFTLDRCQUE0QixRQUEwRDtBQUNwRyxNQUFJLFdBQVc7QUFDZixNQUFJLGVBQThCO0FBQ2xDLE1BQUksWUFBWTtBQUVoQixhQUFXLFlBQVksT0FBTyxXQUFXO0FBQ3ZDLFVBQU0sY0FBYyxPQUFPLEtBQUssUUFBUTtBQUN4QyxRQUFJLGNBQWMsVUFBVTtBQUMxQixpQkFBVztBQUNYLHFCQUFlO0FBQ2Ysa0JBQVk7QUFBQSxJQUNkLFdBQVcsZ0JBQWdCLFVBQVU7QUFDbkM7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLFNBQU8sY0FBYyxLQUFLLGFBQWEsb0JBQW9CLE9BQU87QUFDcEU7QUFFQSxTQUFTLGtCQUFrQixPQUFlLFFBQTZDO0FBQ3JGLE1BQUksQ0FBQyxPQUFPO0FBQ1YsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGdCQUFnQixLQUFLLEdBQUc7QUFDMUIsV0FBTywwQkFBMEIsRUFBRSxPQUFPLGFBQWEsT0FBTyxZQUFZLENBQUM7QUFBQSxFQUM3RTtBQUVBLE1BQUksTUFBTSxTQUFTLEtBQUssTUFBTSxXQUFXLGlCQUFpQixLQUFLLE1BQU0sU0FBUyxpQkFBaUIsR0FBRztBQUNoRyxVQUFNLFNBQVMsTUFBTSxNQUFNLEdBQUcsRUFBRTtBQUVoQyxXQUFPLGNBQWMsTUFBTSxLQUFLLElBQUksT0FBTyxNQUFNLEVBQUUsS0FBSyxPQUFPLFFBQVE7QUFBQSxFQUN6RTtBQUVBLE1BQUksTUFBTSxXQUFXLGdCQUFnQixHQUFHO0FBQ3RDLFdBQU8sT0FBTyxTQUFTLFlBQVksRUFBRSxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQUEsRUFDbkU7QUFFQSxRQUFNLFNBQVMsTUFBTSxTQUFTLEdBQUcsSUFBSSxRQUFRLEdBQUcsS0FBSztBQUNyRCxTQUFPLE9BQU8sYUFBYSxTQUFTLE9BQU8sU0FBUyxXQUFXLE1BQU07QUFDdkU7IiwKICAibmFtZXMiOiBbIk5vUHJpb3JpdHlXaW5uZXJSZWFzb24iXQp9Cg==