obsidian-dev-utils 57.0.1 → 58.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 (399) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/lib/cjs/abort-controller.cjs +5 -5
  3. package/dist/lib/cjs/array.cjs +3 -3
  4. package/dist/lib/cjs/async-events.cjs +6 -6
  5. package/dist/lib/cjs/async.cjs +6 -6
  6. package/dist/lib/cjs/blob.cjs +3 -3
  7. package/dist/lib/cjs/codemirror/index.cjs +3 -3
  8. package/dist/lib/cjs/codemirror/state-field-spec.cjs +3 -3
  9. package/dist/lib/cjs/css-class.cjs +3 -3
  10. package/dist/lib/cjs/debug-controller.cjs +3 -3
  11. package/dist/lib/cjs/debug.cjs +3 -3
  12. package/dist/lib/cjs/enum.cjs +3 -3
  13. package/dist/lib/cjs/error.cjs +4 -4
  14. package/dist/lib/cjs/function.cjs +3 -3
  15. package/dist/lib/cjs/html-element.cjs +5 -5
  16. package/dist/lib/cjs/index.cjs +3 -3
  17. package/dist/lib/cjs/library.cjs +4 -4
  18. package/dist/lib/cjs/object-utils.cjs +3 -3
  19. package/dist/lib/cjs/obsidian/app.cjs +4 -4
  20. package/dist/lib/cjs/obsidian/async-with-notice.cjs +7 -7
  21. package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -3
  22. package/dist/lib/cjs/obsidian/backlink.cjs +3 -3
  23. package/dist/lib/cjs/obsidian/callout.cjs +3 -3
  24. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +3 -3
  25. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +3 -3
  26. package/dist/lib/cjs/obsidian/command-handlers/app-active-file-provider.cjs +3 -3
  27. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +3 -3
  28. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +3 -3
  29. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
  30. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +3 -3
  31. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +3 -3
  32. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +3 -3
  33. package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +3 -3
  34. package/dist/lib/cjs/obsidian/command-handlers/index.cjs +3 -3
  35. package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +3 -3
  36. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +3 -3
  37. package/dist/lib/cjs/obsidian/components/async-component.cjs +31 -14
  38. package/dist/lib/cjs/obsidian/components/async-component.d.cts +14 -0
  39. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +3 -3
  40. package/dist/lib/cjs/obsidian/components/index.cjs +3 -3
  41. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +3 -3
  42. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +5 -5
  43. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +3 -3
  44. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +3 -3
  45. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +3 -3
  46. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +3 -3
  47. package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +3 -3
  48. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +3 -3
  49. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +3 -3
  50. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +3 -3
  51. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -3
  52. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +3 -3
  53. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +3 -3
  54. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +3 -3
  55. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +3 -3
  56. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +3 -3
  57. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +3 -3
  58. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +3 -3
  59. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +3 -3
  60. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +3 -3
  61. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +3 -3
  62. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +3 -3
  63. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +3 -3
  64. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +3 -3
  65. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +5 -5
  66. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +3 -3
  67. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +3 -3
  68. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +3 -3
  69. package/dist/lib/cjs/obsidian/constructors/index.cjs +3 -3
  70. package/dist/lib/cjs/obsidian/dataview-link.cjs +3 -3
  71. package/dist/lib/cjs/obsidian/dataview.cjs +3 -3
  72. package/dist/lib/cjs/obsidian/editor.cjs +3 -3
  73. package/dist/lib/cjs/obsidian/file-change.cjs +3 -3
  74. package/dist/lib/cjs/obsidian/file-manager.cjs +3 -3
  75. package/dist/lib/cjs/obsidian/file-system.cjs +3 -3
  76. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +3 -3
  77. package/dist/lib/cjs/obsidian/frontmatter.cjs +3 -3
  78. package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +3 -3
  79. package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +3 -3
  80. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -3
  81. package/dist/lib/cjs/obsidian/i18n/index.cjs +3 -3
  82. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -3
  83. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +3 -3
  84. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +3 -3
  85. package/dist/lib/cjs/obsidian/index.cjs +3 -3
  86. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +3 -3
  87. package/dist/lib/cjs/obsidian/link.cjs +3 -3
  88. package/dist/lib/cjs/obsidian/logger.cjs +3 -3
  89. package/dist/lib/cjs/obsidian/loop.cjs +3 -3
  90. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +3 -3
  91. package/dist/lib/cjs/obsidian/markdown-view.cjs +3 -3
  92. package/dist/lib/cjs/obsidian/markdown.cjs +3 -3
  93. package/dist/lib/cjs/obsidian/metadata-cache.cjs +3 -3
  94. package/dist/lib/cjs/obsidian/modals/alert.cjs +3 -3
  95. package/dist/lib/cjs/obsidian/modals/confirm.cjs +3 -3
  96. package/dist/lib/cjs/obsidian/modals/index.cjs +3 -3
  97. package/dist/lib/cjs/obsidian/modals/modal.cjs +3 -3
  98. package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -3
  99. package/dist/lib/cjs/obsidian/modals/select-item.cjs +3 -3
  100. package/dist/lib/cjs/obsidian/monkey-around.cjs +3 -3
  101. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +3 -3
  102. package/dist/lib/cjs/obsidian/pdf.cjs +3 -3
  103. package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.cjs +3 -3
  104. package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.cjs +3 -3
  105. package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.cjs +3 -3
  106. package/dist/lib/cjs/obsidian/plugin/components/i18n-component.cjs +3 -3
  107. package/dist/lib/cjs/obsidian/plugin/components/index.cjs +7 -7
  108. package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +1 -1
  109. package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.cjs +124 -0
  110. package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.d.cts +18 -0
  111. package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.cjs +3 -3
  112. package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.cjs +3 -3
  113. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +3 -3
  114. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +3 -3
  115. package/dist/lib/cjs/obsidian/plugin/index.cjs +3 -3
  116. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +3 -3
  117. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +3 -3
  118. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +6 -6
  119. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +3 -3
  120. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +6 -6
  121. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +50 -84
  122. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +13 -51
  123. package/dist/lib/cjs/obsidian/queue.cjs +3 -3
  124. package/dist/lib/cjs/obsidian/react/app-context.cjs +3 -3
  125. package/dist/lib/cjs/obsidian/react/index.cjs +3 -3
  126. package/dist/lib/cjs/obsidian/reference.cjs +3 -3
  127. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +3 -3
  128. package/dist/lib/cjs/obsidian/resource-url.cjs +3 -3
  129. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -3
  130. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +3 -3
  131. package/dist/lib/cjs/obsidian/validation.cjs +3 -3
  132. package/dist/lib/cjs/obsidian/vault-delete.cjs +3 -3
  133. package/dist/lib/cjs/obsidian/vault.cjs +3 -3
  134. package/dist/lib/cjs/obsidian/workspace.cjs +3 -3
  135. package/dist/lib/cjs/path.cjs +3 -3
  136. package/dist/lib/cjs/reg-exp.cjs +3 -3
  137. package/dist/lib/cjs/script-utils/build.cjs +3 -3
  138. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -3
  139. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -3
  140. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +3 -3
  141. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +3 -3
  142. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +3 -3
  143. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +3 -3
  144. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +3 -3
  145. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +3 -3
  146. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +4 -4
  147. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +3 -3
  148. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -3
  149. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +3 -3
  150. package/dist/lib/cjs/script-utils/bundlers/index.cjs +3 -3
  151. package/dist/lib/cjs/script-utils/cli-utils.cjs +3 -3
  152. package/dist/lib/cjs/script-utils/code-generator.cjs +3 -3
  153. package/dist/lib/cjs/script-utils/commitlint-config.cjs +3 -3
  154. package/dist/lib/cjs/script-utils/exec.cjs +3 -3
  155. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -3
  156. package/dist/lib/cjs/script-utils/formatters/index.cjs +3 -3
  157. package/dist/lib/cjs/script-utils/fs.cjs +3 -3
  158. package/dist/lib/cjs/script-utils/index.cjs +3 -3
  159. package/dist/lib/cjs/script-utils/json.cjs +3 -3
  160. package/dist/lib/cjs/script-utils/linters/cspell.cjs +3 -3
  161. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +3 -3
  162. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +3 -3
  163. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +3 -3
  164. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +3 -3
  165. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -3
  166. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +3 -3
  167. package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -3
  168. package/dist/lib/cjs/script-utils/linters/index.cjs +3 -3
  169. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +3 -3
  170. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -3
  171. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +3 -3
  172. package/dist/lib/cjs/script-utils/npm-publish.cjs +3 -3
  173. package/dist/lib/cjs/script-utils/npm-run.cjs +3 -3
  174. package/dist/lib/cjs/script-utils/npm.cjs +3 -3
  175. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -3
  176. package/dist/lib/cjs/script-utils/root.cjs +3 -3
  177. package/dist/lib/cjs/script-utils/test-runners/index.cjs +3 -3
  178. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +3 -3
  179. package/dist/lib/cjs/script-utils/version.cjs +3 -3
  180. package/dist/lib/cjs/strict-proxy.cjs +18 -7
  181. package/dist/lib/cjs/strict-proxy.d.cts +12 -0
  182. package/dist/lib/cjs/string.cjs +3 -3
  183. package/dist/lib/cjs/transformers/date-transformer.cjs +3 -3
  184. package/dist/lib/cjs/transformers/duration-transformer.cjs +3 -3
  185. package/dist/lib/cjs/transformers/group-transformer.cjs +3 -3
  186. package/dist/lib/cjs/transformers/index.cjs +3 -3
  187. package/dist/lib/cjs/transformers/map-transformer.cjs +3 -3
  188. package/dist/lib/cjs/transformers/set-transformer.cjs +3 -3
  189. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +3 -3
  190. package/dist/lib/cjs/transformers/transformer.cjs +3 -3
  191. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +3 -3
  192. package/dist/lib/cjs/transformers/typed-transformer.cjs +3 -3
  193. package/dist/lib/cjs/two-way-map.cjs +3 -3
  194. package/dist/lib/cjs/type-guards.cjs +3 -3
  195. package/dist/lib/cjs/type.cjs +3 -3
  196. package/dist/lib/cjs/url.cjs +3 -3
  197. package/dist/lib/cjs/value-provider.cjs +3 -3
  198. package/dist/lib/esm/abort-controller.mjs +4 -4
  199. package/dist/lib/esm/array.mjs +2 -2
  200. package/dist/lib/esm/async-events.mjs +5 -5
  201. package/dist/lib/esm/async.mjs +5 -5
  202. package/dist/lib/esm/blob.mjs +2 -2
  203. package/dist/lib/esm/codemirror/index.mjs +2 -2
  204. package/dist/lib/esm/codemirror/state-field-spec.mjs +2 -2
  205. package/dist/lib/esm/css-class.mjs +2 -2
  206. package/dist/lib/esm/debug-controller.mjs +2 -2
  207. package/dist/lib/esm/debug.mjs +2 -2
  208. package/dist/lib/esm/enum.mjs +2 -2
  209. package/dist/lib/esm/error.mjs +3 -3
  210. package/dist/lib/esm/function.mjs +2 -2
  211. package/dist/lib/esm/html-element.mjs +4 -4
  212. package/dist/lib/esm/index.mjs +2 -2
  213. package/dist/lib/esm/library.mjs +3 -3
  214. package/dist/lib/esm/object-utils.mjs +2 -2
  215. package/dist/lib/esm/obsidian/app.mjs +3 -3
  216. package/dist/lib/esm/obsidian/async-with-notice.mjs +6 -6
  217. package/dist/lib/esm/obsidian/attachment-path.mjs +2 -2
  218. package/dist/lib/esm/obsidian/backlink.mjs +2 -2
  219. package/dist/lib/esm/obsidian/callout.mjs +2 -2
  220. package/dist/lib/esm/obsidian/code-block-markdown-information.mjs +2 -2
  221. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -2
  222. package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +2 -2
  223. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +2 -2
  224. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +2 -2
  225. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +2 -2
  226. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -2
  227. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
  228. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
  229. package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +2 -2
  230. package/dist/lib/esm/obsidian/command-handlers/index.mjs +2 -2
  231. package/dist/lib/esm/obsidian/command-handlers/open-settings-command-handler.mjs +2 -2
  232. package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +2 -2
  233. package/dist/lib/esm/obsidian/components/async-component.d.mts +14 -0
  234. package/dist/lib/esm/obsidian/components/async-component.mjs +27 -12
  235. package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -2
  236. package/dist/lib/esm/obsidian/components/index.mjs +2 -2
  237. package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +2 -2
  238. package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +4 -4
  239. package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +2 -2
  240. package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +2 -2
  241. package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +2 -2
  242. package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +2 -2
  243. package/dist/lib/esm/obsidian/components/setting-components/index.mjs +2 -2
  244. package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +2 -2
  245. package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +2 -2
  246. package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +2 -2
  247. package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +2 -2
  248. package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +2 -2
  249. package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +2 -2
  250. package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +2 -2
  251. package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +2 -2
  252. package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +2 -2
  253. package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +2 -2
  254. package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +2 -2
  255. package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +2 -2
  256. package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +2 -2
  257. package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +2 -2
  258. package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +2 -2
  259. package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +2 -2
  260. package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +2 -2
  261. package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +4 -4
  262. package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.mjs +2 -2
  263. package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +2 -2
  264. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +2 -2
  265. package/dist/lib/esm/obsidian/constructors/index.mjs +2 -2
  266. package/dist/lib/esm/obsidian/dataview-link.mjs +2 -2
  267. package/dist/lib/esm/obsidian/dataview.mjs +2 -2
  268. package/dist/lib/esm/obsidian/editor.mjs +2 -2
  269. package/dist/lib/esm/obsidian/file-change.mjs +2 -2
  270. package/dist/lib/esm/obsidian/file-manager.mjs +2 -2
  271. package/dist/lib/esm/obsidian/file-system.mjs +2 -2
  272. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +2 -2
  273. package/dist/lib/esm/obsidian/frontmatter.mjs +2 -2
  274. package/dist/lib/esm/obsidian/i18n/custom-type-options.mjs +2 -2
  275. package/dist/lib/esm/obsidian/i18n/default-translations.mjs +2 -2
  276. package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -2
  277. package/dist/lib/esm/obsidian/i18n/index.mjs +2 -2
  278. package/dist/lib/esm/obsidian/i18n/locales/en.mjs +2 -2
  279. package/dist/lib/esm/obsidian/i18n/locales/index.mjs +2 -2
  280. package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +2 -2
  281. package/dist/lib/esm/obsidian/index.mjs +2 -2
  282. package/dist/lib/esm/obsidian/is-in-obsidian.mjs +2 -2
  283. package/dist/lib/esm/obsidian/link.mjs +2 -2
  284. package/dist/lib/esm/obsidian/logger.mjs +2 -2
  285. package/dist/lib/esm/obsidian/loop.mjs +2 -2
  286. package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +2 -2
  287. package/dist/lib/esm/obsidian/markdown-view.mjs +2 -2
  288. package/dist/lib/esm/obsidian/markdown.mjs +2 -2
  289. package/dist/lib/esm/obsidian/metadata-cache.mjs +2 -2
  290. package/dist/lib/esm/obsidian/modals/alert.mjs +2 -2
  291. package/dist/lib/esm/obsidian/modals/confirm.mjs +2 -2
  292. package/dist/lib/esm/obsidian/modals/index.mjs +2 -2
  293. package/dist/lib/esm/obsidian/modals/modal.mjs +2 -2
  294. package/dist/lib/esm/obsidian/modals/prompt.mjs +2 -2
  295. package/dist/lib/esm/obsidian/modals/select-item.mjs +2 -2
  296. package/dist/lib/esm/obsidian/monkey-around.mjs +2 -2
  297. package/dist/lib/esm/obsidian/obsidian-settings.mjs +2 -2
  298. package/dist/lib/esm/obsidian/pdf.mjs +2 -2
  299. package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.mjs +2 -2
  300. package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.mjs +2 -2
  301. package/dist/lib/esm/obsidian/plugin/components/console-debug-component.mjs +2 -2
  302. package/dist/lib/esm/obsidian/plugin/components/i18n-component.mjs +2 -2
  303. package/dist/lib/esm/obsidian/plugin/components/index.d.mts +1 -1
  304. package/dist/lib/esm/obsidian/plugin/components/index.mjs +5 -5
  305. package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.d.mts +18 -0
  306. package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.mjs +24 -0
  307. package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.mjs +2 -2
  308. package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.mjs +2 -2
  309. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +2 -2
  310. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +2 -2
  311. package/dist/lib/esm/obsidian/plugin/index.mjs +2 -2
  312. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +2 -2
  313. package/dist/lib/esm/obsidian/plugin/path-settings.mjs +2 -2
  314. package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +5 -5
  315. package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +2 -2
  316. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +5 -5
  317. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +13 -51
  318. package/dist/lib/esm/obsidian/plugin/plugin.mjs +50 -87
  319. package/dist/lib/esm/obsidian/queue.mjs +2 -2
  320. package/dist/lib/esm/obsidian/react/app-context.mjs +2 -2
  321. package/dist/lib/esm/obsidian/react/index.mjs +2 -2
  322. package/dist/lib/esm/obsidian/reference.mjs +2 -2
  323. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +2 -2
  324. package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
  325. package/dist/lib/esm/obsidian/setting-ex.mjs +2 -2
  326. package/dist/lib/esm/obsidian/setting-group-ex.mjs +2 -2
  327. package/dist/lib/esm/obsidian/validation.mjs +2 -2
  328. package/dist/lib/esm/obsidian/vault-delete.mjs +2 -2
  329. package/dist/lib/esm/obsidian/vault.mjs +2 -2
  330. package/dist/lib/esm/obsidian/workspace.mjs +2 -2
  331. package/dist/lib/esm/path.mjs +2 -2
  332. package/dist/lib/esm/reg-exp.mjs +2 -2
  333. package/dist/lib/esm/script-utils/build.mjs +2 -2
  334. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +2 -2
  335. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +2 -2
  336. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +2 -2
  337. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +2 -2
  338. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +2 -2
  339. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -2
  340. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +2 -2
  341. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -2
  342. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +3 -3
  343. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +2 -2
  344. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +2 -2
  345. package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +2 -2
  346. package/dist/lib/esm/script-utils/bundlers/index.mjs +2 -2
  347. package/dist/lib/esm/script-utils/cli-utils.mjs +2 -2
  348. package/dist/lib/esm/script-utils/code-generator.mjs +2 -2
  349. package/dist/lib/esm/script-utils/commitlint-config.mjs +2 -2
  350. package/dist/lib/esm/script-utils/exec.mjs +2 -2
  351. package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
  352. package/dist/lib/esm/script-utils/formatters/index.mjs +2 -2
  353. package/dist/lib/esm/script-utils/fs.mjs +2 -2
  354. package/dist/lib/esm/script-utils/index.mjs +2 -2
  355. package/dist/lib/esm/script-utils/json.mjs +2 -2
  356. package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
  357. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -2
  358. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +2 -2
  359. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +2 -2
  360. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +2 -2
  361. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +2 -2
  362. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +2 -2
  363. package/dist/lib/esm/script-utils/linters/eslint.mjs +2 -2
  364. package/dist/lib/esm/script-utils/linters/index.mjs +2 -2
  365. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +2 -2
  366. package/dist/lib/esm/script-utils/linters/markdownlint.mjs +2 -2
  367. package/dist/lib/esm/script-utils/nano-staged-config.mjs +2 -2
  368. package/dist/lib/esm/script-utils/npm-publish.mjs +2 -2
  369. package/dist/lib/esm/script-utils/npm-run.mjs +2 -2
  370. package/dist/lib/esm/script-utils/npm.mjs +2 -2
  371. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -2
  372. package/dist/lib/esm/script-utils/root.mjs +2 -2
  373. package/dist/lib/esm/script-utils/test-runners/index.mjs +2 -2
  374. package/dist/lib/esm/script-utils/test-runners/vitest.mjs +2 -2
  375. package/dist/lib/esm/script-utils/version.mjs +2 -2
  376. package/dist/lib/esm/strict-proxy.d.mts +12 -0
  377. package/dist/lib/esm/strict-proxy.mjs +16 -6
  378. package/dist/lib/esm/string.mjs +2 -2
  379. package/dist/lib/esm/transformers/date-transformer.mjs +2 -2
  380. package/dist/lib/esm/transformers/duration-transformer.mjs +2 -2
  381. package/dist/lib/esm/transformers/group-transformer.mjs +2 -2
  382. package/dist/lib/esm/transformers/index.mjs +2 -2
  383. package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
  384. package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
  385. package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +2 -2
  386. package/dist/lib/esm/transformers/transformer.mjs +2 -2
  387. package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
  388. package/dist/lib/esm/transformers/typed-transformer.mjs +2 -2
  389. package/dist/lib/esm/two-way-map.mjs +2 -2
  390. package/dist/lib/esm/type-guards.mjs +2 -2
  391. package/dist/lib/esm/type.mjs +2 -2
  392. package/dist/lib/esm/url.mjs +2 -2
  393. package/dist/lib/esm/value-provider.mjs +2 -2
  394. package/obsidian/Plugin/components/{lifecycle-events-component → layout-ready-component}/package.json +3 -3
  395. package/package.json +3 -3
  396. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +0 -211
  397. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +0 -63
  398. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +0 -63
  399. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +0 -106
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -299,4 +299,4 @@ function initEsm() {
299
299
  0 && (module.exports = {
300
300
  preprocessPlugin
301
301
  });
302
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvcHJlcHJvY2Vzcy1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgIGNvbnN0IHVybCA9IGxvY2FsUmVxdWlyZSgnbm9kZTp1cmwnKTtcbiAgICAgICAgaWYgKHR5cGVvZiB1cmwucGF0aFRvRmlsZVVSTCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gYWN0aXZlV2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICB9XG5cbiAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pKCk7XG4vKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIHNvdXJjZSBmaWxlcyB3aXRoIGltcG9ydC5tZXRhLnVybCBzaGltcyBhbmQgcHJvY2VzcyBwb2x5ZmlsbHM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgdHlwZSB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCc7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uLy4uL3N0cmluZy50cyc7XG5cbmludGVyZmFjZSBCcm93c2VyUHJvY2VzcyBleHRlbmRzIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+IHtcbiAgYnJvd3NlcjogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbmludGVyZmFjZSBSZXF1aXJlUGF0Y2hlZCBleHRlbmRzIE5vZGVKUy5SZXF1aXJlIHtcbiAgX19pc1BhdGNoZWQ6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBVcmxNb2R1bGUge1xuICBwYXRoVG9GaWxlVVJMOiB0eXBlb2YgcGF0aFRvRmlsZVVSTDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHBhcmFtIGlzRXNtIC0gV2hldGhlciB0aGUgYnVpbGQgaXMgZm9yIGFuIEVTTSBmb3JtYXQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKGlzRXNtPzogYm9vbGVhbik6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IGlzRXNtXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgW3JlcGxhY2VBbGwoJ2ltcG9ydChkb3QpbWV0YShkb3QpdXJsJywgJyhkb3QpJywgJy4nKV06ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJykgYXMgVXJsTW9kdWxlO1xuICAgICAgICAgIGlmICh0eXBlb2YgdXJsLnBhdGhUb0ZpbGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdwcmVwcm9jZXNzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lID8/PSB7fTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5kZWZpbmVba2V5XSA9IGBfXyR7bWFrZVZhbGlkVmFyaWFibGVOYW1lKGtleSl9YDtcbiAgICAgIH1cblxuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyID8/PSB7fTtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lclsnanMnXSA/Pz0gJyc7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gKz0gYFxcbigke1N0cmluZyhpc0VzbSA/IGluaXRFc20gOiBpbml0Q2pzKX0pKCk7XFxuYDtcblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKD86anN8dHN8Y2pzfG1qc3xjdHN8bXRzKSQvIH0sIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICAgIGxldCBjb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKGFyZ3MucGF0aCwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlID0gYF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gO1xuICAgICAgICAgIGlmICghY29udGVudHMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gYCgke1N0cmluZyh2YWx1ZSl9KSgpYCA6IHRvSnNvbih2YWx1ZSwgeyBmdW5jdGlvbkhhbmRsaW5nTW9kZTogRnVuY3Rpb25IYW5kbGluZ01vZGUuRnVsbCB9KTtcbiAgICAgICAgICBpZiAoY29udGVudHMuaW5jbHVkZXMoYHZhciAke3ZhcmlhYmxlfWApKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGVudHMgPSBgdmFyICR7dmFyaWFibGV9ID0gZ2xvYmFsVGhpc1snJHtrZXl9J10gPz8gJHt2YWx1ZVN0cn07XFxuJHtjb250ZW50c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSEFDSzogVGhlICR7Jyd9IHBhcnQgaXMgdXNlZCB0byBlbnN1cmUgT2JzaWRpYW4gbG9hZHMgdGhlIHBsdWdpbiBwcm9wZXJseSxcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBzdG9wcyBsb2FkaW5nIGFmdGVyIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzb3VyY2VNYXBwaW5nVVJMIGNvbW1lbnQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcgLS0gSXQgaXMgaW50ZW50aW9uYWwsIHRoZSBzdHJpbmcgbG9va3MgbGlrZSBhIHRlbXBsYXRlIGxpdGVyYWwsIGJ1dCBpdCBpcyBub3QuXG4gICAgICAgIGNvbnRlbnRzID0gcmVwbGFjZUFsbChjb250ZW50cywgL2BcXHI/XFxuXFwvXFwvIyBzb3VyY2VNYXBwaW5nVVJML2csICdgXFxuLy8jJHtcXCdcXCd9IHNvdXJjZU1hcHBpbmdVUkwnKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnRzLFxuICAgICAgICAgIGxvYWRlcjogJ3RzJ1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpbml0Q2pzKCk6IHZvaWQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItYWN0aXZlLWRvYyAtLSBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgY29uc3QgZ2xvYmFsVGhpc1JlY29yZCA9IGdsb2JhbFRoaXMgYXMgR2VuZXJpY09iamVjdDtcbiAgZ2xvYmFsVGhpc1JlY29yZFsnX19uYW1lJ10gPz89IG5hbWU7XG4gIGNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IHJlcXVpcmUgYXMgKE5vZGVKUy5SZXF1aXJlICYgUGFydGlhbDxSZXF1aXJlUGF0Y2hlZD4gfCB1bmRlZmluZWQpO1xuICBpZiAob3JpZ2luYWxSZXF1aXJlICYmICFvcmlnaW5hbFJlcXVpcmUuX19pc1BhdGNoZWQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZ2xvYmFsLWFzc2lnbiwgbm8taW1wbGljaXQtZ2xvYmFscyAtLSBXZSBuZWVkIHRvIHBhdGNoIHRoZSBgcmVxdWlyZSgpYCBmdW5jdGlvbi5cbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIChpZDogc3RyaW5nKSA9PiByZXF1aXJlUGF0Y2hlZChpZCksXG4gICAgICBvcmlnaW5hbFJlcXVpcmUsXG4gICAgICB7XG4gICAgICAgIF9faXNQYXRjaGVkOiB0cnVlXG4gICAgICB9XG4gICAgKSBhcyBSZXF1aXJlUGF0Y2hlZDtcbiAgfVxuXG4gIGNvbnN0IG5ld0Z1bmNzOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPiA9IHtcbiAgICBfX2V4dHJhY3REZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGV4dHJhY3REZWZhdWx0O1xuICAgIH0sXG4gICAgcHJvY2VzcygpIHtcbiAgICAgIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICAgICAgYnJvd3NlcjogdHJ1ZSxcbiAgICAgICAgY3dkKCkge1xuICAgICAgICAgIHJldHVybiAnLyc7XG4gICAgICAgIH0sXG4gICAgICAgIGVudjoge30sXG4gICAgICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgICAgIH07XG4gICAgICByZXR1cm4gYnJvd3NlclByb2Nlc3M7XG4gICAgfVxuICB9O1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG5ld0Z1bmNzKSkge1xuICAgIGdsb2JhbFRoaXNSZWNvcmRba2V5XSA/Pz0gbmV3RnVuY3Nba2V5XT8uKCk7XG4gIH1cblxuICBmdW5jdGlvbiBuYW1lKG9iajogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBmdW5jdGlvbiBleHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgJ2RlZmF1bHQnIGluIG1vZHVsZSA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICB9XG5cbiAgY29uc3QgT0JTSURJQU5fQlVJTFRfSU5fTU9EVUxFX05BTUVTID0gW1xuICAgICdvYnNpZGlhbicsXG4gICAgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZScsXG4gICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgJ0Bjb2RlbWlycm9yL2NvbW1hbmRzJyxcbiAgICAnQGNvZGVtaXJyb3IvbGFuZ3VhZ2UnLFxuICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAnQGNvZGVtaXJyb3Ivc2VhcmNoJyxcbiAgICAnQGNvZGVtaXJyb3Ivc3RhdGUnLFxuICAgICdAY29kZW1pcnJvci90ZXh0JyxcbiAgICAnQGNvZGVtaXJyb3IvdmlldycsXG4gICAgJ0BsZXplci9jb21tb24nLFxuICAgICdAbGV6ZXIvbHInLFxuICAgICdAbGV6ZXIvaGlnaGxpZ2h0J1xuICBdO1xuXG4gIGNvbnN0IERFUFJFQ0FURURfT0JTSURJQU5fQlVJTFRfSU5fTU9EVUxFX05BTUVTID0gW1xuICAgICdAY29kZW1pcnJvci9jbG9zZWJyYWNrZXRzJyxcbiAgICAnQGNvZGVtaXJyb3IvY29tbWVudCcsXG4gICAgJ0Bjb2RlbWlycm9yL2ZvbGQnLFxuICAgICdAY29kZW1pcnJvci9ndXR0ZXInLFxuICAgICdAY29kZW1pcnJvci9oaWdobGlnaHQnLFxuICAgICdAY29kZW1pcnJvci9oaXN0b3J5JyxcbiAgICAnQGNvZGVtaXJyb3IvbWF0Y2hicmFja2V0cycsXG4gICAgJ0Bjb2RlbWlycm9yL3BhbmVsJyxcbiAgICAnQGNvZGVtaXJyb3IvcmFuZ2VzZXQnLFxuICAgICdAY29kZW1pcnJvci9yZWN0YW5ndWxhci1zZWxlY3Rpb24nLFxuICAgICdAY29kZW1pcnJvci9zdHJlYW0tcGFyc2VyJyxcbiAgICAnQGNvZGVtaXJyb3IvdG9vbHRpcCdcbiAgXTtcblxuICBmdW5jdGlvbiByZXF1aXJlUGF0Y2hlZChpZDogc3RyaW5nKTogdW5rbm93biB7XG4gICAgaWYgKE9CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUy5pbmNsdWRlcyhpZCkgfHwgREVQUkVDQVRFRF9PQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICByZXR1cm4gb3JpZ2luYWxSZXF1aXJlPy4oaWQpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCwgb2JzaWRpYW5tZC9wcmVmZXItYWN0aXZlLWRvYyAgLS0gTmVlZCBhY2Nlc3MgdG8gYXBwLiBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICBpZiAoZ2xvYmFsVGhpcy5hcHAuaXNNb2JpbGUpIHtcbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgVGhlIG1vc3QgbGlrZWx5IHlvdSBjYW4gc2FmZWx5IGlnbm9yZSB0aGlzIGVycm9yLiBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItYWN0aXZlLWRvYyAtLSBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICAgICAgcmV0dXJuIGdsb2JhbFRoaXMucHJvY2VzcztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbW9kdWxlID0gb3JpZ2luYWxSZXF1aXJlPy4oaWQpIGFzIChQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpO1xuICAgICAgaWYgKG1vZHVsZSkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdERlZmF1bHQobW9kdWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKGBUaGUgbW9zdCBsaWtlbHkgeW91IGNhbiBzYWZlbHkgaWdub3JlIHRoaXMgZXJyb3IuIE1vZHVsZSBub3QgZm91bmQ6ICR7aWR9LiBFbXB0eSBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEVzbSgpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLWFjdGl2ZS1kb2MgLS0gQWN0aXZlbHkgdXNlIGdsb2JhbFRoaXMuXG4gIGlmICgoZ2xvYmFsVGhpcy5wcm9jZXNzIGFzIE5vZGVKUy5Qcm9jZXNzIHwgdW5kZWZpbmVkKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICBicm93c2VyOiB0cnVlLFxuICAgIGN3ZCgpIHtcbiAgICAgIHJldHVybiAnLyc7XG4gICAgfSxcbiAgICBlbnY6IHt9LFxuICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLWFjdGl2ZS1kb2MgLS0gQWN0aXZlbHkgdXNlIGdsb2JhbFRoaXMuXG4gIGdsb2JhbFRoaXMucHJvY2VzcyA9IGJyb3dzZXJQcm9jZXNzIGFzIE5vZGVKUy5Qcm9jZXNzO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBOEJBLHNCQUF5QjtBQUl6QiwwQkFHTztBQUNQLG9CQUdPO0FBekNQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBTTtBQUMxRCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLFVBQU0sZUFBZTtBQUNyQixVQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFFBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGFBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLElBQ3ZDO0FBQUEsRUFDRjtBQUVBLE1BQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsV0FBTyxhQUFhLFNBQVM7QUFBQSxFQUMvQjtBQUdBLFNBQU87QUFDVCxHQUFHO0FBd0RBLFNBQVMsaUJBQWlCLE9BQXlCO0FBQ3hELFFBQU0sZUFBZSxRQUNqQixDQUFDLElBQ0Q7QUFBQSxJQUNBLEtBQUMsMEJBQVcsMkJBQTJCLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBYztBQUNuRSxVQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLGNBQU0sZUFBZTtBQUNyQixjQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFlBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGlCQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxRQUN2QztBQUFBLE1BQ0Y7QUFFQSxVQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLGVBQU8sYUFBYSxTQUFTO0FBQUEsTUFDL0I7QUFHQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFRixTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUVqQyxpQkFBVyxPQUFPLE9BQU8sS0FBSyxZQUFZLEdBQUc7QUFDM0MsY0FBTSxlQUFlLE9BQU8sR0FBRyxJQUFJLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUFBLE1BQ3BFO0FBRUEsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUNqQyxZQUFNLGVBQWUsT0FBTyxJQUFJLE1BQU07QUFDdEMsWUFBTSxlQUFlLE9BQU8sSUFBSSxLQUFLO0FBQUEsR0FBTSxPQUFPLFFBQVEsVUFBVSxPQUFPLENBQUM7QUFBQTtBQUU1RSxZQUFNLE9BQU8sRUFBRSxRQUFRLCtCQUErQixHQUFHLE9BQU8sU0FBUztBQUN2RSxZQUFJLFdBQVcsVUFBTSwwQkFBUyxLQUFLLE1BQU0sT0FBTztBQUVoRCxtQkFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLE9BQU8sUUFBUSxZQUFZLEdBQUc7QUFDdkQsZ0JBQU0sV0FBVyxTQUFLLHFDQUFzQixHQUFHLENBQUM7QUFDaEQsY0FBSSxDQUFDLFNBQVMsU0FBUyxHQUFHLEdBQUc7QUFDM0I7QUFBQSxVQUNGO0FBQ0EsZ0JBQU0sV0FBVyxPQUFPLFVBQVUsYUFBYSxJQUFJLE9BQU8sS0FBSyxDQUFDLFlBQVEsNEJBQU8sT0FBTyxFQUFFLHNCQUFzQix5Q0FBcUIsS0FBSyxDQUFDO0FBQ3pJLGNBQUksU0FBUyxTQUFTLE9BQU8sUUFBUSxFQUFFLEdBQUc7QUFDeEM7QUFBQSxVQUNGO0FBQ0EscUJBQVcsT0FBTyxRQUFRLGtCQUFrQixHQUFHLFNBQVMsUUFBUTtBQUFBLEVBQU0sUUFBUTtBQUFBLFFBQ2hGO0FBS0EsdUJBQVcsMEJBQVcsVUFBVSxpQ0FBaUMsOEJBQWdDO0FBRWpHLGVBQU87QUFBQSxVQUNMO0FBQUEsVUFDQSxRQUFRO0FBQUEsUUFDVjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLFVBQWdCO0FBRXZCLFFBQU0sbUJBQW1CO0FBQ3pCLG1CQUFpQixRQUFRLE1BQU07QUFDL0IsUUFBTSxrQkFBa0I7QUFDeEIsTUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsYUFBYTtBQUVuRCxjQUFVLE9BQU87QUFBQSxNQUNmLENBQUMsT0FBZSxlQUFlLEVBQUU7QUFBQSxNQUNqQztBQUFBLE1BQ0E7QUFBQSxRQUNFLGFBQWE7QUFBQSxNQUNmO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQTBDO0FBQUEsSUFDOUMsbUJBQW1CO0FBQ2pCLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxVQUFVO0FBQ1IsWUFBTSxpQkFBaUM7QUFBQSxRQUNyQyxTQUFTO0FBQUEsUUFDVCxNQUFNO0FBQ0osaUJBQU87QUFBQSxRQUNUO0FBQUEsUUFDQSxLQUFLLENBQUM7QUFBQSxRQUNOLFVBQVU7QUFBQSxNQUNaO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsYUFBVyxPQUFPLE9BQU8sS0FBSyxRQUFRLEdBQUc7QUFDdkMscUJBQWlCLEdBQUcsTUFBTSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQzVDO0FBRUEsV0FBUyxLQUFLLEtBQXVCO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsV0FBUyxlQUFlQSxTQUFpRDtBQUN2RSxXQUFPQSxXQUFVQSxRQUFPLGNBQWMsYUFBYUEsVUFBU0EsUUFBTyxVQUFVQTtBQUFBLEVBQy9FO0FBRUEsUUFBTSxpQ0FBaUM7QUFBQSxJQUNyQztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFFQSxRQUFNLDRDQUE0QztBQUFBLElBQ2hEO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBRUEsV0FBUyxlQUFlLElBQXFCO0FBQzNDLFFBQUksK0JBQStCLFNBQVMsRUFBRSxLQUFLLDBDQUEwQyxTQUFTLEVBQUUsR0FBRztBQUN6RyxhQUFPLGtCQUFrQixFQUFFO0FBQUEsSUFDN0I7QUFHQSxRQUFJLFdBQVcsSUFBSSxVQUFVO0FBQzNCLFVBQUksT0FBTyxhQUFhLE9BQU8sZ0JBQWdCO0FBRTdDLGdCQUFRLE1BQU0sdUVBQXVFLEVBQUUsNENBQTRDO0FBRW5JLGVBQU8sV0FBVztBQUFBLE1BQ3BCO0FBQUEsSUFDRixPQUFPO0FBQ0wsWUFBTUEsVUFBUyxrQkFBa0IsRUFBRTtBQUNuQyxVQUFJQSxTQUFRO0FBQ1YsZUFBTyxlQUFlQSxPQUFNO0FBQUEsTUFDOUI7QUFBQSxJQUNGO0FBR0EsWUFBUSxNQUFNLHVFQUF1RSxFQUFFLHFDQUFxQztBQUM1SCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7QUFFQSxTQUFTLFVBQWdCO0FBRXZCLE1BQUssV0FBVyxTQUF3QztBQUN0RDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLGlCQUFpQztBQUFBLElBQ3JDLFNBQVM7QUFBQSxJQUNULE1BQU07QUFDSixhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsS0FBSyxDQUFDO0FBQUEsSUFDTixVQUFVO0FBQUEsRUFDWjtBQUVBLGFBQVcsVUFBVTtBQUN2QjsiLAogICJuYW1lcyI6IFsibW9kdWxlIl0KfQo=
302
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvcHJlcHJvY2Vzcy1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgIGNvbnN0IHVybCA9IGxvY2FsUmVxdWlyZSgnbm9kZTp1cmwnKTtcbiAgICAgICAgaWYgKHR5cGVvZiB1cmwucGF0aFRvRmlsZVVSTCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gYWN0aXZlV2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICB9XG5cbiAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pKCk7XG4vKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIHNvdXJjZSBmaWxlcyB3aXRoIGltcG9ydC5tZXRhLnVybCBzaGltcyBhbmQgcHJvY2VzcyBwb2x5ZmlsbHM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgdHlwZSB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCc7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uLy4uL3N0cmluZy50cyc7XG5cbmludGVyZmFjZSBCcm93c2VyUHJvY2VzcyBleHRlbmRzIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+IHtcbiAgYnJvd3NlcjogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbmludGVyZmFjZSBSZXF1aXJlUGF0Y2hlZCBleHRlbmRzIE5vZGVKUy5SZXF1aXJlIHtcbiAgX19pc1BhdGNoZWQ6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBVcmxNb2R1bGUge1xuICBwYXRoVG9GaWxlVVJMOiB0eXBlb2YgcGF0aFRvRmlsZVVSTDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHBhcmFtIGlzRXNtIC0gV2hldGhlciB0aGUgYnVpbGQgaXMgZm9yIGFuIEVTTSBmb3JtYXQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKGlzRXNtPzogYm9vbGVhbik6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IGlzRXNtXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgW3JlcGxhY2VBbGwoJ2ltcG9ydChkb3QpbWV0YShkb3QpdXJsJywgJyhkb3QpJywgJy4nKV06ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJykgYXMgVXJsTW9kdWxlO1xuICAgICAgICAgIGlmICh0eXBlb2YgdXJsLnBhdGhUb0ZpbGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdwcmVwcm9jZXNzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lID8/PSB7fTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5kZWZpbmVba2V5XSA9IGBfXyR7bWFrZVZhbGlkVmFyaWFibGVOYW1lKGtleSl9YDtcbiAgICAgIH1cblxuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyID8/PSB7fTtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lclsnanMnXSA/Pz0gJyc7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gKz0gYFxcbigke1N0cmluZyhpc0VzbSA/IGluaXRFc20gOiBpbml0Q2pzKX0pKCk7XFxuYDtcblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKD86anN8dHN8Y2pzfG1qc3xjdHN8bXRzKSQvIH0sIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICAgIGxldCBjb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKGFyZ3MucGF0aCwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlID0gYF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gO1xuICAgICAgICAgIGlmICghY29udGVudHMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gYCgke1N0cmluZyh2YWx1ZSl9KSgpYCA6IHRvSnNvbih2YWx1ZSwgeyBmdW5jdGlvbkhhbmRsaW5nTW9kZTogRnVuY3Rpb25IYW5kbGluZ01vZGUuRnVsbCB9KTtcbiAgICAgICAgICBpZiAoY29udGVudHMuaW5jbHVkZXMoYHZhciAke3ZhcmlhYmxlfWApKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGVudHMgPSBgdmFyICR7dmFyaWFibGV9ID0gZ2xvYmFsVGhpc1snJHtrZXl9J10gPz8gJHt2YWx1ZVN0cn07XFxuJHtjb250ZW50c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSEFDSzogVGhlICR7Jyd9IHBhcnQgaXMgdXNlZCB0byBlbnN1cmUgT2JzaWRpYW4gbG9hZHMgdGhlIHBsdWdpbiBwcm9wZXJseSxcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBzdG9wcyBsb2FkaW5nIGFmdGVyIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzb3VyY2VNYXBwaW5nVVJMIGNvbW1lbnQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcgLS0gSXQgaXMgaW50ZW50aW9uYWwsIHRoZSBzdHJpbmcgbG9va3MgbGlrZSBhIHRlbXBsYXRlIGxpdGVyYWwsIGJ1dCBpdCBpcyBub3QuXG4gICAgICAgIGNvbnRlbnRzID0gcmVwbGFjZUFsbChjb250ZW50cywgL2BcXHI/XFxuXFwvXFwvIyBzb3VyY2VNYXBwaW5nVVJML2csICdgXFxuLy8jJHtcXCdcXCd9IHNvdXJjZU1hcHBpbmdVUkwnKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnRzLFxuICAgICAgICAgIGxvYWRlcjogJ3RzJ1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpbml0Q2pzKCk6IHZvaWQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAtLSBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgY29uc3QgZ2xvYmFsVGhpc1JlY29yZCA9IGdsb2JhbFRoaXMgYXMgR2VuZXJpY09iamVjdDtcbiAgZ2xvYmFsVGhpc1JlY29yZFsnX19uYW1lJ10gPz89IG5hbWU7XG4gIGNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IHJlcXVpcmUgYXMgKE5vZGVKUy5SZXF1aXJlICYgUGFydGlhbDxSZXF1aXJlUGF0Y2hlZD4gfCB1bmRlZmluZWQpO1xuICBpZiAob3JpZ2luYWxSZXF1aXJlICYmICFvcmlnaW5hbFJlcXVpcmUuX19pc1BhdGNoZWQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZ2xvYmFsLWFzc2lnbiwgbm8taW1wbGljaXQtZ2xvYmFscyAtLSBXZSBuZWVkIHRvIHBhdGNoIHRoZSBgcmVxdWlyZSgpYCBmdW5jdGlvbi5cbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIChpZDogc3RyaW5nKSA9PiByZXF1aXJlUGF0Y2hlZChpZCksXG4gICAgICBvcmlnaW5hbFJlcXVpcmUsXG4gICAgICB7XG4gICAgICAgIF9faXNQYXRjaGVkOiB0cnVlXG4gICAgICB9XG4gICAgKSBhcyBSZXF1aXJlUGF0Y2hlZDtcbiAgfVxuXG4gIGNvbnN0IG5ld0Z1bmNzOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPiA9IHtcbiAgICBfX2V4dHJhY3REZWZhdWx0KCkge1xuICAgICAgcmV0dXJuIGV4dHJhY3REZWZhdWx0O1xuICAgIH0sXG4gICAgcHJvY2VzcygpIHtcbiAgICAgIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICAgICAgYnJvd3NlcjogdHJ1ZSxcbiAgICAgICAgY3dkKCkge1xuICAgICAgICAgIHJldHVybiAnLyc7XG4gICAgICAgIH0sXG4gICAgICAgIGVudjoge30sXG4gICAgICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgICAgIH07XG4gICAgICByZXR1cm4gYnJvd3NlclByb2Nlc3M7XG4gICAgfVxuICB9O1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG5ld0Z1bmNzKSkge1xuICAgIGdsb2JhbFRoaXNSZWNvcmRba2V5XSA/Pz0gbmV3RnVuY3Nba2V5XT8uKCk7XG4gIH1cblxuICBmdW5jdGlvbiBuYW1lKG9iajogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBmdW5jdGlvbiBleHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgJ2RlZmF1bHQnIGluIG1vZHVsZSA/IG1vZHVsZS5kZWZhdWx0IDogbW9kdWxlO1xuICB9XG5cbiAgY29uc3QgT0JTSURJQU5fQlVJTFRfSU5fTU9EVUxFX05BTUVTID0gW1xuICAgICdvYnNpZGlhbicsXG4gICAgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZScsXG4gICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgJ0Bjb2RlbWlycm9yL2NvbW1hbmRzJyxcbiAgICAnQGNvZGVtaXJyb3IvbGFuZ3VhZ2UnLFxuICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAnQGNvZGVtaXJyb3Ivc2VhcmNoJyxcbiAgICAnQGNvZGVtaXJyb3Ivc3RhdGUnLFxuICAgICdAY29kZW1pcnJvci90ZXh0JyxcbiAgICAnQGNvZGVtaXJyb3IvdmlldycsXG4gICAgJ0BsZXplci9jb21tb24nLFxuICAgICdAbGV6ZXIvbHInLFxuICAgICdAbGV6ZXIvaGlnaGxpZ2h0J1xuICBdO1xuXG4gIGNvbnN0IERFUFJFQ0FURURfT0JTSURJQU5fQlVJTFRfSU5fTU9EVUxFX05BTUVTID0gW1xuICAgICdAY29kZW1pcnJvci9jbG9zZWJyYWNrZXRzJyxcbiAgICAnQGNvZGVtaXJyb3IvY29tbWVudCcsXG4gICAgJ0Bjb2RlbWlycm9yL2ZvbGQnLFxuICAgICdAY29kZW1pcnJvci9ndXR0ZXInLFxuICAgICdAY29kZW1pcnJvci9oaWdobGlnaHQnLFxuICAgICdAY29kZW1pcnJvci9oaXN0b3J5JyxcbiAgICAnQGNvZGVtaXJyb3IvbWF0Y2hicmFja2V0cycsXG4gICAgJ0Bjb2RlbWlycm9yL3BhbmVsJyxcbiAgICAnQGNvZGVtaXJyb3IvcmFuZ2VzZXQnLFxuICAgICdAY29kZW1pcnJvci9yZWN0YW5ndWxhci1zZWxlY3Rpb24nLFxuICAgICdAY29kZW1pcnJvci9zdHJlYW0tcGFyc2VyJyxcbiAgICAnQGNvZGVtaXJyb3IvdG9vbHRpcCdcbiAgXTtcblxuICBmdW5jdGlvbiByZXF1aXJlUGF0Y2hlZChpZDogc3RyaW5nKTogdW5rbm93biB7XG4gICAgaWYgKE9CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUy5pbmNsdWRlcyhpZCkgfHwgREVQUkVDQVRFRF9PQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICByZXR1cm4gb3JpZ2luYWxSZXF1aXJlPy4oaWQpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCwgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAgLS0gTmVlZCBhY2Nlc3MgdG8gYXBwLiBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICBpZiAoZ2xvYmFsVGhpcy5hcHAuaXNNb2JpbGUpIHtcbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgVGhlIG1vc3QgbGlrZWx5IHlvdSBjYW4gc2FmZWx5IGlnbm9yZSB0aGlzIGVycm9yLiBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAtLSBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICAgICAgcmV0dXJuIGdsb2JhbFRoaXMucHJvY2VzcztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbW9kdWxlID0gb3JpZ2luYWxSZXF1aXJlPy4oaWQpIGFzIChQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpO1xuICAgICAgaWYgKG1vZHVsZSkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdERlZmF1bHQobW9kdWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKGBUaGUgbW9zdCBsaWtlbHkgeW91IGNhbiBzYWZlbHkgaWdub3JlIHRoaXMgZXJyb3IuIE1vZHVsZSBub3QgZm91bmQ6ICR7aWR9LiBFbXB0eSBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEVzbSgpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gQWN0aXZlbHkgdXNlIGdsb2JhbFRoaXMuXG4gIGlmICgoZ2xvYmFsVGhpcy5wcm9jZXNzIGFzIE5vZGVKUy5Qcm9jZXNzIHwgdW5kZWZpbmVkKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICBicm93c2VyOiB0cnVlLFxuICAgIGN3ZCgpIHtcbiAgICAgIHJldHVybiAnLyc7XG4gICAgfSxcbiAgICBlbnY6IHt9LFxuICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gQWN0aXZlbHkgdXNlIGdsb2JhbFRoaXMuXG4gIGdsb2JhbFRoaXMucHJvY2VzcyA9IGJyb3dzZXJQcm9jZXNzIGFzIE5vZGVKUy5Qcm9jZXNzO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBOEJBLHNCQUF5QjtBQUl6QiwwQkFHTztBQUNQLG9CQUdPO0FBekNQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBTTtBQUMxRCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLFVBQU0sZUFBZTtBQUNyQixVQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFFBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGFBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLElBQ3ZDO0FBQUEsRUFDRjtBQUVBLE1BQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsV0FBTyxhQUFhLFNBQVM7QUFBQSxFQUMvQjtBQUdBLFNBQU87QUFDVCxHQUFHO0FBd0RBLFNBQVMsaUJBQWlCLE9BQXlCO0FBQ3hELFFBQU0sZUFBZSxRQUNqQixDQUFDLElBQ0Q7QUFBQSxJQUNBLEtBQUMsMEJBQVcsMkJBQTJCLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBYztBQUNuRSxVQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLGNBQU0sZUFBZTtBQUNyQixjQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFlBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGlCQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxRQUN2QztBQUFBLE1BQ0Y7QUFFQSxVQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLGVBQU8sYUFBYSxTQUFTO0FBQUEsTUFDL0I7QUFHQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFRixTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUVqQyxpQkFBVyxPQUFPLE9BQU8sS0FBSyxZQUFZLEdBQUc7QUFDM0MsY0FBTSxlQUFlLE9BQU8sR0FBRyxJQUFJLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUFBLE1BQ3BFO0FBRUEsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUNqQyxZQUFNLGVBQWUsT0FBTyxJQUFJLE1BQU07QUFDdEMsWUFBTSxlQUFlLE9BQU8sSUFBSSxLQUFLO0FBQUEsR0FBTSxPQUFPLFFBQVEsVUFBVSxPQUFPLENBQUM7QUFBQTtBQUU1RSxZQUFNLE9BQU8sRUFBRSxRQUFRLCtCQUErQixHQUFHLE9BQU8sU0FBUztBQUN2RSxZQUFJLFdBQVcsVUFBTSwwQkFBUyxLQUFLLE1BQU0sT0FBTztBQUVoRCxtQkFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLE9BQU8sUUFBUSxZQUFZLEdBQUc7QUFDdkQsZ0JBQU0sV0FBVyxTQUFLLHFDQUFzQixHQUFHLENBQUM7QUFDaEQsY0FBSSxDQUFDLFNBQVMsU0FBUyxHQUFHLEdBQUc7QUFDM0I7QUFBQSxVQUNGO0FBQ0EsZ0JBQU0sV0FBVyxPQUFPLFVBQVUsYUFBYSxJQUFJLE9BQU8sS0FBSyxDQUFDLFlBQVEsNEJBQU8sT0FBTyxFQUFFLHNCQUFzQix5Q0FBcUIsS0FBSyxDQUFDO0FBQ3pJLGNBQUksU0FBUyxTQUFTLE9BQU8sUUFBUSxFQUFFLEdBQUc7QUFDeEM7QUFBQSxVQUNGO0FBQ0EscUJBQVcsT0FBTyxRQUFRLGtCQUFrQixHQUFHLFNBQVMsUUFBUTtBQUFBLEVBQU0sUUFBUTtBQUFBLFFBQ2hGO0FBS0EsdUJBQVcsMEJBQVcsVUFBVSxpQ0FBaUMsOEJBQWdDO0FBRWpHLGVBQU87QUFBQSxVQUNMO0FBQUEsVUFDQSxRQUFRO0FBQUEsUUFDVjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLFVBQWdCO0FBRXZCLFFBQU0sbUJBQW1CO0FBQ3pCLG1CQUFpQixRQUFRLE1BQU07QUFDL0IsUUFBTSxrQkFBa0I7QUFDeEIsTUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsYUFBYTtBQUVuRCxjQUFVLE9BQU87QUFBQSxNQUNmLENBQUMsT0FBZSxlQUFlLEVBQUU7QUFBQSxNQUNqQztBQUFBLE1BQ0E7QUFBQSxRQUNFLGFBQWE7QUFBQSxNQUNmO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQTBDO0FBQUEsSUFDOUMsbUJBQW1CO0FBQ2pCLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxVQUFVO0FBQ1IsWUFBTSxpQkFBaUM7QUFBQSxRQUNyQyxTQUFTO0FBQUEsUUFDVCxNQUFNO0FBQ0osaUJBQU87QUFBQSxRQUNUO0FBQUEsUUFDQSxLQUFLLENBQUM7QUFBQSxRQUNOLFVBQVU7QUFBQSxNQUNaO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsYUFBVyxPQUFPLE9BQU8sS0FBSyxRQUFRLEdBQUc7QUFDdkMscUJBQWlCLEdBQUcsTUFBTSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQzVDO0FBRUEsV0FBUyxLQUFLLEtBQXVCO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsV0FBUyxlQUFlQSxTQUFpRDtBQUN2RSxXQUFPQSxXQUFVQSxRQUFPLGNBQWMsYUFBYUEsVUFBU0EsUUFBTyxVQUFVQTtBQUFBLEVBQy9FO0FBRUEsUUFBTSxpQ0FBaUM7QUFBQSxJQUNyQztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFFQSxRQUFNLDRDQUE0QztBQUFBLElBQ2hEO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBRUEsV0FBUyxlQUFlLElBQXFCO0FBQzNDLFFBQUksK0JBQStCLFNBQVMsRUFBRSxLQUFLLDBDQUEwQyxTQUFTLEVBQUUsR0FBRztBQUN6RyxhQUFPLGtCQUFrQixFQUFFO0FBQUEsSUFDN0I7QUFHQSxRQUFJLFdBQVcsSUFBSSxVQUFVO0FBQzNCLFVBQUksT0FBTyxhQUFhLE9BQU8sZ0JBQWdCO0FBRTdDLGdCQUFRLE1BQU0sdUVBQXVFLEVBQUUsNENBQTRDO0FBRW5JLGVBQU8sV0FBVztBQUFBLE1BQ3BCO0FBQUEsSUFDRixPQUFPO0FBQ0wsWUFBTUEsVUFBUyxrQkFBa0IsRUFBRTtBQUNuQyxVQUFJQSxTQUFRO0FBQ1YsZUFBTyxlQUFlQSxPQUFNO0FBQUEsTUFDOUI7QUFBQSxJQUNGO0FBR0EsWUFBUSxNQUFNLHVFQUF1RSxFQUFFLHFDQUFxQztBQUM1SCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7QUFFQSxTQUFTLFVBQWdCO0FBRXZCLE1BQUssV0FBVyxTQUF3QztBQUN0RDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLGlCQUFpQztBQUFBLElBQ3JDLFNBQVM7QUFBQSxJQUNULE1BQU07QUFDSixhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsS0FBSyxDQUFDO0FBQUEsSUFDTixVQUFVO0FBQUEsRUFDWjtBQUVBLGFBQVcsVUFBVTtBQUN2QjsiLAogICJuYW1lcyI6IFsibW9kdWxlIl0KfQo=
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  const globalThisRecord = globalThis;
9
9
  globalThisRecord['__name'] ??= name;
10
10
  const originalRequire = require;
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
84
84
  return originalRequire?.(id);
85
85
  }
86
86
 
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/prefer-active-doc -- Need access to app. Actively use globalThis.
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
88
  if (globalThis.app.isMobile) {
89
89
  if (id === 'process' || id === 'node:process') {
90
90
  // eslint-disable-next-line no-console -- Valid usage.
91
91
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
93
  return globalThis.process;
94
94
  }
95
95
  } else {