@mnaoumov/obsidian-dev-toolkit 1.1.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/demo-vault-helper/main.js +179 -1
  2. package/dist/integration-test-plugin/main.js +1232 -1023
  3. package/dist/integration-test-plugin/manifest.json +2 -2
  4. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -22
  5. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -1
  6. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +2 -21
  7. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +1 -1
  8. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +2 -21
  9. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -1
  10. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +7 -53
  11. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -1
  12. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +4 -23
  13. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
  14. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +2 -21
  15. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  16. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +2 -21
  17. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
  18. package/dist/lib/cjs/bundlers/esbuild.cjs +1 -47
  19. package/dist/lib/cjs/bundlers/esbuild.d.cts +1 -1
  20. package/dist/lib/cjs/bundlers/index.cjs +3 -49
  21. package/dist/lib/cjs/bundlers/index.d.cts +1 -1
  22. package/dist/lib/cjs/demo-vault-app-json.cjs +2 -21
  23. package/dist/lib/cjs/demo-vault-app-json.d.cts +1 -1
  24. package/dist/lib/cjs/demo-vault-buttons.cjs +3 -22
  25. package/dist/lib/cjs/demo-vault-buttons.d.cts +1 -1
  26. package/dist/lib/cjs/demo-vault-coverage.cjs +2 -21
  27. package/dist/lib/cjs/demo-vault-coverage.d.cts +1 -1
  28. package/dist/lib/cjs/demo-vault.cjs +3 -22
  29. package/dist/lib/cjs/demo-vault.d.cts +1 -1
  30. package/dist/lib/cjs/docs-site/index.cjs +118 -0
  31. package/dist/lib/cjs/docs-site/index.d.cts +2 -0
  32. package/dist/lib/cjs/docs-site/obsidian-external-type-links.cjs +119 -0
  33. package/dist/lib/cjs/docs-site/obsidian-external-type-links.d.cts +25 -0
  34. package/dist/lib/cjs/formatters/dprint.cjs +2 -21
  35. package/dist/lib/cjs/formatters/dprint.d.cts +1 -1
  36. package/dist/lib/cjs/formatters/index.cjs +2 -48
  37. package/dist/lib/cjs/formatters/index.d.cts +1 -1
  38. package/dist/lib/cjs/index.cjs +15 -58
  39. package/dist/lib/cjs/index.d.cts +1 -0
  40. package/dist/lib/cjs/integration-test-setup.cjs +1 -47
  41. package/dist/lib/cjs/integration-test-setup.d.cts +5 -5
  42. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +3 -22
  43. package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +7 -7
  44. package/dist/lib/cjs/jest-setup.cjs +2 -21
  45. package/dist/lib/cjs/jest-setup.d.cts +1 -1
  46. package/dist/lib/cjs/library-references.d.cts +2 -0
  47. package/dist/lib/cjs/linters/eslint-config.cjs +24 -40
  48. package/dist/lib/cjs/linters/eslint-config.d.cts +1 -1
  49. package/dist/lib/cjs/linters/eslint-rules/index.cjs +16 -62
  50. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +2 -2
  51. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -47
  52. package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +1 -1
  53. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +3 -22
  54. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +1 -1
  55. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -47
  56. package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +1 -1
  57. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -47
  58. package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +1 -1
  59. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -47
  60. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +1 -1
  61. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +2 -21
  62. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +1 -1
  63. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +2 -21
  64. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +1 -1
  65. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +2 -21
  66. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +1 -1
  67. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +136 -0
  68. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.cts +16 -0
  69. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +1 -47
  70. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +1 -1
  71. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +1 -47
  72. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +1 -1
  73. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +2 -21
  74. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +1 -1
  75. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +2 -21
  76. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +1 -1
  77. package/dist/lib/cjs/linters/eslint.cjs +2 -21
  78. package/dist/lib/cjs/linters/eslint.d.cts +1 -1
  79. package/dist/lib/cjs/linters/index.cjs +9 -55
  80. package/dist/lib/cjs/linters/index.d.cts +1 -1
  81. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +2 -21
  82. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +1 -1
  83. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +2 -48
  84. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +1 -1
  85. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +2 -48
  86. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +1 -1
  87. package/dist/lib/cjs/linters/markdownlint.cjs +2 -21
  88. package/dist/lib/cjs/linters/markdownlint.d.cts +1 -1
  89. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -47
  90. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +1 -1
  91. package/dist/lib/cjs/linters/plugin-names.cjs +1 -47
  92. package/dist/lib/cjs/linters/plugin-names.d.cts +1 -1
  93. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -47
  94. package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +1 -1
  95. package/dist/lib/cjs/setup.cjs +2 -21
  96. package/dist/lib/cjs/setup.d.cts +1 -1
  97. package/dist/lib/cjs/templates.cjs +2 -21
  98. package/dist/lib/cjs/templates.d.cts +1 -1
  99. package/dist/lib/cjs/test-runners/index.cjs +4 -50
  100. package/dist/lib/cjs/test-runners/index.d.cts +1 -1
  101. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +9 -28
  102. package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +5 -5
  103. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +1 -47
  104. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +1 -1
  105. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +2 -21
  106. package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +1 -1
  107. package/dist/lib/cjs/test-runners/vitest-config.cjs +6 -25
  108. package/dist/lib/cjs/test-runners/vitest-config.d.cts +2 -3
  109. package/dist/lib/cjs/version.cjs +2 -21
  110. package/dist/lib/cjs/version.d.cts +1 -1
  111. package/dist/lib/cjs/vitest-setup.cjs +2 -21
  112. package/dist/lib/cjs/vitest-setup.d.cts +1 -1
  113. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -1
  114. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +2 -11
  115. package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +1 -1
  116. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +2 -11
  117. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -1
  118. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -11
  119. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -1
  120. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -37
  121. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -1
  122. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -11
  123. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  124. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +2 -11
  125. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -1
  126. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +2 -11
  127. package/dist/lib/esm/bundlers/esbuild.d.mts +1 -1
  128. package/dist/lib/esm/bundlers/esbuild.mjs +1 -37
  129. package/dist/lib/esm/bundlers/index.d.mts +1 -1
  130. package/dist/lib/esm/bundlers/index.mjs +1 -37
  131. package/dist/lib/esm/demo-vault-app-json.d.mts +1 -1
  132. package/dist/lib/esm/demo-vault-app-json.mjs +2 -11
  133. package/dist/lib/esm/demo-vault-buttons.d.mts +1 -1
  134. package/dist/lib/esm/demo-vault-buttons.mjs +2 -11
  135. package/dist/lib/esm/demo-vault-coverage.d.mts +1 -1
  136. package/dist/lib/esm/demo-vault-coverage.mjs +2 -11
  137. package/dist/lib/esm/demo-vault.d.mts +1 -1
  138. package/dist/lib/esm/demo-vault.mjs +3 -12
  139. package/dist/lib/esm/docs-site/index.d.mts +2 -0
  140. package/dist/lib/esm/docs-site/index.mjs +10 -0
  141. package/dist/lib/esm/docs-site/obsidian-external-type-links.d.mts +25 -0
  142. package/dist/lib/esm/docs-site/obsidian-external-type-links.mjs +21 -0
  143. package/dist/lib/esm/formatters/dprint.d.mts +1 -1
  144. package/dist/lib/esm/formatters/dprint.mjs +2 -11
  145. package/dist/lib/esm/formatters/index.d.mts +1 -1
  146. package/dist/lib/esm/formatters/index.mjs +1 -37
  147. package/dist/lib/esm/index.d.mts +1 -0
  148. package/dist/lib/esm/index.mjs +3 -37
  149. package/dist/lib/esm/integration-test-setup.d.mts +5 -5
  150. package/dist/lib/esm/integration-test-setup.mjs +1 -37
  151. package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +7 -7
  152. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +4 -13
  153. package/dist/lib/esm/jest-setup.d.mts +1 -1
  154. package/dist/lib/esm/jest-setup.mjs +2 -11
  155. package/dist/lib/esm/library-references.d.mts +2 -0
  156. package/dist/lib/esm/linters/eslint-config.d.mts +1 -1
  157. package/dist/lib/esm/linters/eslint-config.mjs +23 -29
  158. package/dist/lib/esm/linters/eslint-rules/index.d.mts +2 -2
  159. package/dist/lib/esm/linters/eslint-rules/index.mjs +3 -39
  160. package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +1 -1
  161. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +1 -37
  162. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +1 -1
  163. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +2 -11
  164. package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +1 -1
  165. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +1 -37
  166. package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +1 -1
  167. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +1 -37
  168. package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +1 -1
  169. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +1 -37
  170. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +1 -1
  171. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +2 -11
  172. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +1 -1
  173. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +2 -11
  174. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +1 -1
  175. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +2 -11
  176. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.mts +16 -0
  177. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.mjs +37 -0
  178. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +1 -1
  179. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +1 -37
  180. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +1 -1
  181. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +1 -37
  182. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +1 -1
  183. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +2 -11
  184. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +1 -1
  185. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +2 -11
  186. package/dist/lib/esm/linters/eslint.d.mts +1 -1
  187. package/dist/lib/esm/linters/eslint.mjs +2 -11
  188. package/dist/lib/esm/linters/index.d.mts +1 -1
  189. package/dist/lib/esm/linters/index.mjs +1 -37
  190. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +1 -1
  191. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +2 -11
  192. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +1 -1
  193. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +1 -37
  194. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +1 -1
  195. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +1 -37
  196. package/dist/lib/esm/linters/markdownlint.d.mts +1 -1
  197. package/dist/lib/esm/linters/markdownlint.mjs +2 -11
  198. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +1 -1
  199. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +1 -37
  200. package/dist/lib/esm/linters/plugin-names.d.mts +1 -1
  201. package/dist/lib/esm/linters/plugin-names.mjs +1 -37
  202. package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +1 -1
  203. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +1 -37
  204. package/dist/lib/esm/setup.d.mts +1 -1
  205. package/dist/lib/esm/setup.mjs +2 -11
  206. package/dist/lib/esm/templates.d.mts +1 -1
  207. package/dist/lib/esm/templates.mjs +2 -11
  208. package/dist/lib/esm/test-runners/index.d.mts +1 -1
  209. package/dist/lib/esm/test-runners/index.mjs +1 -37
  210. package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +5 -5
  211. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +8 -17
  212. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +1 -1
  213. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +1 -37
  214. package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +1 -1
  215. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +2 -11
  216. package/dist/lib/esm/test-runners/vitest-config.d.mts +2 -3
  217. package/dist/lib/esm/test-runners/vitest-config.mjs +5 -14
  218. package/dist/lib/esm/version.d.mts +1 -1
  219. package/dist/lib/esm/version.mjs +2 -11
  220. package/dist/lib/esm/vitest-setup.d.mts +1 -1
  221. package/dist/lib/esm/vitest-setup.mjs +2 -11
  222. package/dist/templates/dprint.json +1 -0
  223. package/dist/templates/scripts/commitlint-config.ts +2 -2
  224. package/docs-site/index/package.json +6 -0
  225. package/docs-site/obsidian-external-type-links/package.json +6 -0
  226. package/docs-site/package.json +6 -0
  227. package/linters/eslint-rules/{obsidian-dev-utils-plugin → obsidian-dev-toolkit-plugin}/package.json +3 -3
  228. package/package.json +37 -6
  229. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +0 -181
  230. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +0 -13
  231. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +0 -13
  232. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +0 -73
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
30
+ ensureBrowserProcess();
50
31
  })();
51
32
  (function patchObsidianRequire() {
52
33
  const originalRequire = require;
@@ -244,4 +225,4 @@ function resolveEventName(argument, node, context) {
244
225
  MESSAGE_ID,
245
226
  noUntrustedInputEvents
246
227
  });
247
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL25vLXVudHJ1c3RlZC1pbnB1dC1ldmVudHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50c1xuICpcbiAqIFJlcG9ydHMgYW4gaW50ZWdyYXRpb24gdGVzdCB0aGF0IGRyaXZlcyB0aGUgVUkgYnkgZGlzcGF0Y2hpbmcgYW4gSU5QVVQgZXZlbnQgXHUyMDE0XG4gKiBgZWwuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCguLi4pKWAsIGBuZXcgTW91c2VFdmVudCguLi4pYCwgYW5kIGZyaWVuZHMuXG4gKlxuICogU3VjaCBhbiBldmVudCBpcyB1bnRydXN0ZWQgKGBpc1RydXN0ZWQgPT09IGZhbHNlYCksIGFuZCBPYnNpZGlhbiBhbmQgQ29kZU1pcnJvclxuICogcm91dGluZWx5IGdhdGUgb24gZXhhY3RseSB0aGF0OiBPYnNpZGlhbiAxLjEzJ3MgbWFya2Rvd24gdmlld3BvcnQgbWVudSBvcGVucyBmcm9tXG4gKiBhIGxpc3RlbmVyIGd1YXJkZWQgYnkgYGUuaXNUcnVzdGVkYCwgc28gYSBkaXNwYXRjaGVkIGBjb250ZXh0bWVudWAgcmVhY2hlcyBub3RoaW5nLlxuICogVGhlIHRlc3QgdGhlbiBleGVyY2lzZXMgTk9USElORyB3aGlsZSBzdGlsbCBwYXNzaW5nIHdoYXRldmVyIHdlYWtlciBhc3NlcnRpb24gaXRcbiAqIG1ha2VzIFx1MjAxNCBhIGZhbHNlLWNvbmZpZGVuY2UgZmFpbHVyZSwgbm90IGEgZmxha2UuXG4gKlxuICogVGhlIHRydXN0ZWQgYWx0ZXJuYXRpdmVzIFx1MjAxNCBgcHJlc3NLZXlgLCBgY2xpY2tFbGVtZW50YCwgYGNsaWNrTW91c2VgLCBgaG92ZXJFbGVtZW50YCxcbiAqIGB0eXBlSW50b0VkaXRvcmAgXHUyMDE0IGFyZSBzZWVkZWQgaW50byB0aGUgYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaydzIGBsaWJgIGJhZywgYW5kIGFyZVxuICogYWxzbyBpbXBvcnRhYmxlIGZyb20gYG9ic2lkaWFuLWRldi11dGlscy9vYnNpZGlhbi90cnVzdGVkLWlucHV0YCwgd2hpY2ggcGlja3MgdGhlXG4gKiBkZXNrdG9wIG9yIG1vYmlsZSBpbmplY3RvciBpdHNlbGYuIEFsbCBvZiB0aGVtIHdvcmsgb24gQW5kcm9pZCBleGNlcHQgdGhlIGhvdmVyXG4gKiBoZWxwZXJzLCB3aGljaCB0aHJvdyB0aGVyZSBiZWNhdXNlIGA6aG92ZXJgIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50LlxuICpcbiAqIE5PVElGSUNBVElPTiBldmVudHMgYXJlIGRlbGliZXJhdGVseSBOT1QgcmVwb3J0ZWQuIGBuZXcgRXZlbnQoJ2lucHV0JylgIGFmdGVyIHNldHRpbmdcbiAqIGFuIGVsZW1lbnQncyBgLnZhbHVlYCBpcyB0ZWxsaW5nIHRoZSBhcHAgYWJvdXQgYSBjaGFuZ2UgcmF0aGVyIHRoYW4gcHJldGVuZGluZyB0byBiZSBhXG4gKiB1c2VyLCBhbmQgbm90aGluZyBnYXRlcyBpdCBvbiBgaXNUcnVzdGVkYC5cbiAqXG4gKiBOb3QgZXZlcnkgZGlzcGF0Y2ggaXMgd3JvbmcsIHNvIHRoZSBydWxlIGlzIG1lYW50IHRvIGJlIGRpc2FibGVkIFx1MjAxNCB3aXRoIGEgcmVhc29uIFx1MjAxNCBhdFxuICogdGhlIHNpdGVzIHRoYXQgaGF2ZSBvbmU6IGEgZHJhZyBzZXF1ZW5jZSwgd2hpY2ggYHNlbmRJbnB1dEV2ZW50YCBjYW5ub3QgZXhwcmVzcyBhdCBhbGw7XG4gKiB0aGUgbW9iaWxlIGFybSBvZiBhIGhvdmVyIGdlc3R1cmUsIHdoaWNoIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50OyBhbmQgYSBsaXN0ZW5lciB0aGF0XG4gKiBpcyB0aGUgcGx1Z2luJ3Mgb3duIGFuZCBjaGVja3Mgbm90aGluZyBidXQgdGhlIGtleS4gYHJlcXVpcmUtZGVzY3JpcHRpb25gXG4gKiBtYWtlcyB0aGF0IHJlYXNvbiBtYW5kYXRvcnksIHdoaWNoIGlzIHRoZSBwb2ludDogdGhlIHJ1bGUgdHVybnMgYW4gaW52aXNpYmxlIGFzc3VtcHRpb25cbiAqIGludG8gYSB3cml0dGVuIG9uZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGUsXG4gIFNjb3BlXG59IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IHRvVFNFU1RyZWVOb2RlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbGludGVycy9lc2xpbnQtcnVsZXMvdHMtZXN0cmVlLW5vZGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGRyaXZlcyB0aGUgVUkgd2l0aCBhIGRpc3BhdGNoZWQgaW5wdXQgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ25vVW50cnVzdGVkSW5wdXRFdmVudHMnO1xuXG4vKipcbiAqIFdoYXQgdG8gZG8gaW5zdGVhZCwgcGVyIGV2ZW50IGNvbnN0cnVjdG9yLiBBbiBldmVudCBhYnNlbnQgZnJvbSB0aGlzIG1hcCBpcyBhXG4gKiBub3RpZmljYXRpb24gcmF0aGVyIHRoYW4gc2ltdWxhdGVkIGlucHV0LCBhbmQgaXMgbGVmdCBhbG9uZS5cbiAqL1xuY29uc3QgQURWSUNFX0JZX0VWRU5UX05BTUUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXG4gIFsnRHJhZ0V2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgYmVjYXVzZSBgc2VuZElucHV0RXZlbnRgIGNhbm5vdCBleHByZXNzIGEgZHJhZywgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ0tleWJvYXJkRXZlbnQnLCAndXNlIGBwcmVzc0tleWAsIGZvY3VzaW5nIHRoZSB0YXJnZXQgZmlyc3QsIHNpbmNlIGEgdHJ1c3RlZCBrZXkgcHJlc3MgZ29lcyB0byB3aGF0ZXZlciBob2xkcyBET00gZm9jdXMnXSxcbiAgWydNb3VzZUV2ZW50JywgJ3VzZSBgY2xpY2tFbGVtZW50YCwgb3IgYGNsaWNrTW91c2VgIHdoZW4gdGhlIHBvaW50IHRvIGNsaWNrIGlzIG5vdCBhbiBlbGVtZW50IGNlbnRyZSddLFxuICBbJ1BvaW50ZXJFdmVudCcsICd1c2UgYGNsaWNrRWxlbWVudGAsIG9yIGBjbGlja01vdXNlYCB3aGVuIHRoZSBwb2ludCB0byBjbGljayBpcyBub3QgYW4gZWxlbWVudCBjZW50cmUnXSxcbiAgWydUb3VjaEV2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ1doZWVsRXZlbnQnLCAndGhlcmUgaXMgbm8gdHJ1c3RlZCBlcXVpdmFsZW50LCBzbyBrZWVwIHRoZSBkaXNwYXRjaCBhbmQgZGlzYWJsZSB0aGlzIHJ1bGUgd2l0aCB0aGUgcmVhc29uJ11cbl0pO1xuXG4vKipcbiAqIEVTTGludCBydWxlIGRpc2FsbG93aW5nIHVudHJ1c3RlZCBpbnB1dCBldmVudHMgaW4gaW50ZWdyYXRpb24gdGVzdHMsIHdoZXJlIHRoZXkgY2FuIHNpbGVudGx5IGV4ZXJjaXNlIG5vdGhpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBub1VudHJ1c3RlZElucHV0RXZlbnRzOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYWxsRXhwcmVzc2lvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gdG9UU0VTVHJlZU5vZGUobm9kZSkgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKCFpc0Rpc3BhdGNoRXZlbnRDYWxsKGNhbGxOb2RlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFyZ3VtZW50ID0gY2FsbE5vZGUuYXJndW1lbnRzWzBdO1xuICAgICAgICBpZiAoIWFyZ3VtZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZlbnROYW1lID0gcmVzb2x2ZUV2ZW50TmFtZShhcmd1bWVudCwgbm9kZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZHZpY2UgPSBBRFZJQ0VfQllfRVZFTlRfTkFNRS5nZXQoZXZlbnROYW1lKTtcbiAgICAgICAgaWYgKGFkdmljZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGFkdmljZSxcbiAgICAgICAgICAgIGV2ZW50TmFtZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzYWxsb3cgZHJpdmluZyBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRoIGRpc3BhdGNoZWQgKHVudHJ1c3RlZCkgaW5wdXQgZXZlbnRzJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ0EgZGlzcGF0Y2hlZCB7eyBldmVudE5hbWUgfX0gaXMgdW50cnVzdGVkIChgaXNUcnVzdGVkID09PSBmYWxzZWApIGFuZCBPYnNpZGlhbiBtYXkgaWdub3JlIGl0LCBzbyB0aGlzIGNhbiBleGVyY2lzZSBub3RoaW5nIHdoaWxlIHN0aWxsIHBhc3Npbmc6IHt7IGFkdmljZSB9fS4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIEZpbmRzIGEgdmFyaWFibGUgYnkgbmFtZSwgd2Fsa2luZyBvdXR3YXJkcyBmcm9tIHRoZSBnaXZlbiBzY29wZS5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgdG8gc3RhcnQgZnJvbS5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHZhcmlhYmxlJ3MgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSB2YXJpYWJsZSwgb3IgYG51bGxgIHdoZW4gbm90aGluZyBpbiBzY29wZSBkZWNsYXJlcyB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGZpbmRWYXJpYWJsZShzY29wZTogU2NvcGUuU2NvcGUsIG5hbWU6IHN0cmluZyk6IG51bGwgfCBTY29wZS5WYXJpYWJsZSB7XG4gIGxldCBjdXJyZW50U2NvcGU6IG51bGwgfCBTY29wZS5TY29wZSA9IHNjb3BlO1xuXG4gIHdoaWxlIChjdXJyZW50U2NvcGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IGN1cnJlbnRTY29wZS52YXJpYWJsZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKHZhcmlhYmxlKSB7XG4gICAgICByZXR1cm4gdmFyaWFibGU7XG4gICAgfVxuICAgIGN1cnJlbnRTY29wZSA9IGN1cnJlbnRTY29wZS51cHBlcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBleHByZXNzaW9uIGlzIGEgYC5kaXNwYXRjaEV2ZW50KC4uLilgIGNhbGwuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbCBleHByZXNzaW9uIG5vZGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNhbGwgaXMgYDxzb21ldGhpbmc+LmRpc3BhdGNoRXZlbnQoLi4uKWAuXG4gKi9cbmZ1bmN0aW9uIGlzRGlzcGF0Y2hFdmVudENhbGwobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgY29uc3QgY2FsbGVlID0gbm9kZS5jYWxsZWU7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgcmV0dXJuIGNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJyAmJiBjYWxsZWUucHJvcGVydHkubmFtZSA9PT0gJ2Rpc3BhdGNoRXZlbnQnO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBpZGVudGlmaWVyIGEgYG5ldyAuLi4oKWAgZXhwcmVzc2lvbiBjb25zdHJ1Y3RzLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGBOZXdFeHByZXNzaW9uYCBub2RlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yJ3MgbmFtZSwgb3IgYG51bGxgIHdoZW4gdGhlIGNhbGxlZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIHJlYWRDb25zdHJ1Y3Rvck5hbWUobm9kZTogVFNFU1RyZWUuTmV3RXhwcmVzc2lvbik6IG51bGwgfCBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICByZXR1cm4gbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInID8gbm9kZS5jYWxsZWUubmFtZSA6IG51bGw7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnN0cnVjdG9yIG5hbWUgb2YgdGhlIGV2ZW50IGJlaW5nIGRpc3BhdGNoZWQuXG4gKlxuICogSGFuZGxlcyB0aGUgYXJndW1lbnQgd3JpdHRlbiBpbmxpbmUgKGBkaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KC4uLikpYCkgYW5kIHRoZVxuICogYXJndW1lbnQgaGVsZCBpbiBhIHZhcmlhYmxlIChgY29uc3QgZSA9IG5ldyBEcmFnRXZlbnQoLi4uKTsgZWwuZGlzcGF0Y2hFdmVudChlKWApLFxuICogd2hpY2ggaXMgaG93IGEgc2VxdWVuY2Ugc2hhcmluZyBvbmUgYERhdGFUcmFuc2ZlcmAgaXMgdXN1YWxseSB3cml0dGVuLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgYGRpc3BhdGNoRXZlbnRgIGNhbGwuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBjYWxsIG5vZGUsIHVzZWQgdG8gcmVzb2x2ZSB0aGUgZW5jbG9zaW5nIHNjb3BlLlxuICogQHBhcmFtIGNvbnRleHQgLSBUaGUgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yIG5hbWUsIG9yIGBudWxsYCB3aGVuIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICovXG5mdW5jdGlvbiByZXNvbHZlRXZlbnROYW1lKGFyZ3VtZW50OiBUU0VTVHJlZS5Ob2RlLCBub2RlOiBSdWxlLk5vZGUsIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBudWxsIHwgc3RyaW5nIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgaWYgKGFyZ3VtZW50LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgIHJldHVybiByZWFkQ29uc3RydWN0b3JOYW1lKGFyZ3VtZW50KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChhcmd1bWVudC50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHZhcmlhYmxlID0gZmluZFZhcmlhYmxlKGNvbnRleHQuc291cmNlQ29kZS5nZXRTY29wZShub2RlKSwgYXJndW1lbnQubmFtZSk7XG4gIGlmICghdmFyaWFibGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZS5kZWZzKSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB0b1RTRVNUcmVlTm9kZShkZWZpbml0aW9uLm5vZGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gICAgaWYgKGRlZmluaXRpb25Ob2RlLnR5cGUgIT09ICdWYXJpYWJsZURlY2xhcmF0b3InIHx8ICFkZWZpbml0aW9uTm9kZS5pbml0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICAgIGlmIChkZWZpbml0aW9uTm9kZS5pbml0LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgICAgcmV0dXJuIHJlYWRDb25zdHJ1Y3Rvck5hbWUoZGVmaW5pdGlvbk5vZGUuaW5pdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFDQSw0QkFBK0I7QUFLeEIsTUFBTSxhQUFhO0FBTTFCLE1BQU0sdUJBQXVCLG9CQUFJLElBQW9CO0FBQUEsRUFDbkQsQ0FBQyxhQUFhLDRJQUE0STtBQUFBLEVBQzFKLENBQUMsaUJBQWlCLHVHQUF1RztBQUFBLEVBQ3pILENBQUMsY0FBYyxzRkFBc0Y7QUFBQSxFQUNyRyxDQUFDLGdCQUFnQixzRkFBc0Y7QUFBQSxFQUN2RyxDQUFDLGNBQWMsNEZBQTRGO0FBQUEsRUFDM0csQ0FBQyxjQUFjLDRGQUE0RjtBQUM3RyxDQUFDO0FBS00sTUFBTSx5QkFBMEM7QUFBQSxFQUNyRCxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxpQkFBaUIsTUFBdUI7QUFDdEMsY0FBTSxlQUFXLHNDQUFlLElBQUk7QUFFcEMsWUFBSSxDQUFDLG9CQUFvQixRQUFRLEdBQUc7QUFDbEM7QUFBQSxRQUNGO0FBRUEsY0FBTSxXQUFXLFNBQVMsVUFBVSxDQUFDO0FBQ3JDLFlBQUksQ0FBQyxVQUFVO0FBQ2I7QUFBQSxRQUNGO0FBRUEsY0FBTSxZQUFZLGlCQUFpQixVQUFVLE1BQU0sT0FBTztBQUMxRCxZQUFJLGNBQWMsTUFBTTtBQUN0QjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLFNBQVMscUJBQXFCLElBQUksU0FBUztBQUNqRCxZQUFJLFdBQVcsUUFBVztBQUN4QjtBQUFBLFFBQ0Y7QUFFQSxnQkFBUSxPQUFPO0FBQUEsVUFDYixNQUFNO0FBQUEsWUFDSjtBQUFBLFlBQ0E7QUFBQSxVQUNGO0FBQUEsVUFDQSxXQUFXO0FBQUEsVUFDWDtBQUFBLFFBQ0YsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsVUFBVSxHQUFHO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFFBQVEsQ0FBQztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBQ1I7QUFDRjtBQVNBLFNBQVMsYUFBYSxPQUFvQixNQUFxQztBQUM3RSxNQUFJLGVBQW1DO0FBRXZDLFNBQU8sY0FBYztBQUNuQixVQUFNLFdBQVcsYUFBYSxVQUFVLEtBQUssQ0FBQyxjQUFjLFVBQVUsU0FBUyxJQUFJO0FBQ25GLFFBQUksVUFBVTtBQUNaLGFBQU87QUFBQSxJQUNUO0FBQ0EsbUJBQWUsYUFBYTtBQUFBLEVBQzlCO0FBRUEsU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsTUFBd0M7QUFDbkUsUUFBTSxTQUFTLEtBQUs7QUFHcEIsU0FBTyxPQUFPLFNBQVMsc0JBQXNCLE9BQU8sU0FBUyxTQUFTLGdCQUFnQixPQUFPLFNBQVMsU0FBUztBQUNqSDtBQVFBLFNBQVMsb0JBQW9CLE1BQTZDO0FBRXhFLFNBQU8sS0FBSyxPQUFPLFNBQVMsZUFBZSxLQUFLLE9BQU8sT0FBTztBQUNoRTtBQWNBLFNBQVMsaUJBQWlCLFVBQXlCLE1BQWlCLFNBQTBDO0FBRTVHLE1BQUksU0FBUyxTQUFTLGlCQUFpQjtBQUNyQyxXQUFPLG9CQUFvQixRQUFRO0FBQUEsRUFDckM7QUFHQSxNQUFJLFNBQVMsU0FBUyxjQUFjO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxXQUFXLGFBQWEsUUFBUSxXQUFXLFNBQVMsSUFBSSxHQUFHLFNBQVMsSUFBSTtBQUM5RSxNQUFJLENBQUMsVUFBVTtBQUNiLFdBQU87QUFBQSxFQUNUO0FBRUEsYUFBVyxjQUFjLFNBQVMsTUFBTTtBQUN0QyxVQUFNLHFCQUFpQixzQ0FBZSxXQUFXLElBQUk7QUFFckQsUUFBSSxlQUFlLFNBQVMsd0JBQXdCLENBQUMsZUFBZSxNQUFNO0FBQ3hFO0FBQUEsSUFDRjtBQUdBLFFBQUksZUFBZSxLQUFLLFNBQVMsaUJBQWlCO0FBQ2hELGFBQU8sb0JBQW9CLGVBQWUsSUFBSTtBQUFBLElBQ2hEO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11bnRydXN0ZWQtaW5wdXQtZXZlbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50c1xuICpcbiAqIFJlcG9ydHMgYW4gaW50ZWdyYXRpb24gdGVzdCB0aGF0IGRyaXZlcyB0aGUgVUkgYnkgZGlzcGF0Y2hpbmcgYW4gSU5QVVQgZXZlbnQg4oCUXG4gKiBgZWwuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCguLi4pKWAsIGBuZXcgTW91c2VFdmVudCguLi4pYCwgYW5kIGZyaWVuZHMuXG4gKlxuICogU3VjaCBhbiBldmVudCBpcyB1bnRydXN0ZWQgKGBpc1RydXN0ZWQgPT09IGZhbHNlYCksIGFuZCBPYnNpZGlhbiBhbmQgQ29kZU1pcnJvclxuICogcm91dGluZWx5IGdhdGUgb24gZXhhY3RseSB0aGF0OiBPYnNpZGlhbiAxLjEzJ3MgbWFya2Rvd24gdmlld3BvcnQgbWVudSBvcGVucyBmcm9tXG4gKiBhIGxpc3RlbmVyIGd1YXJkZWQgYnkgYGUuaXNUcnVzdGVkYCwgc28gYSBkaXNwYXRjaGVkIGBjb250ZXh0bWVudWAgcmVhY2hlcyBub3RoaW5nLlxuICogVGhlIHRlc3QgdGhlbiBleGVyY2lzZXMgTk9USElORyB3aGlsZSBzdGlsbCBwYXNzaW5nIHdoYXRldmVyIHdlYWtlciBhc3NlcnRpb24gaXRcbiAqIG1ha2VzIOKAlCBhIGZhbHNlLWNvbmZpZGVuY2UgZmFpbHVyZSwgbm90IGEgZmxha2UuXG4gKlxuICogVGhlIHRydXN0ZWQgYWx0ZXJuYXRpdmVzIOKAlCBgcHJlc3NLZXlgLCBgY2xpY2tFbGVtZW50YCwgYGNsaWNrTW91c2VgLCBgaG92ZXJFbGVtZW50YCxcbiAqIGB0eXBlSW50b0VkaXRvcmAg4oCUIGFyZSBzZWVkZWQgaW50byB0aGUgYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaydzIGBsaWJgIGJhZywgYW5kIGFyZVxuICogYWxzbyBpbXBvcnRhYmxlIGZyb20gYG9ic2lkaWFuLWRldi11dGlscy9vYnNpZGlhbi90cnVzdGVkLWlucHV0YCwgd2hpY2ggcGlja3MgdGhlXG4gKiBkZXNrdG9wIG9yIG1vYmlsZSBpbmplY3RvciBpdHNlbGYuIEFsbCBvZiB0aGVtIHdvcmsgb24gQW5kcm9pZCBleGNlcHQgdGhlIGhvdmVyXG4gKiBoZWxwZXJzLCB3aGljaCB0aHJvdyB0aGVyZSBiZWNhdXNlIGA6aG92ZXJgIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50LlxuICpcbiAqIE5PVElGSUNBVElPTiBldmVudHMgYXJlIGRlbGliZXJhdGVseSBOT1QgcmVwb3J0ZWQuIGBuZXcgRXZlbnQoJ2lucHV0JylgIGFmdGVyIHNldHRpbmdcbiAqIGFuIGVsZW1lbnQncyBgLnZhbHVlYCBpcyB0ZWxsaW5nIHRoZSBhcHAgYWJvdXQgYSBjaGFuZ2UgcmF0aGVyIHRoYW4gcHJldGVuZGluZyB0byBiZSBhXG4gKiB1c2VyLCBhbmQgbm90aGluZyBnYXRlcyBpdCBvbiBgaXNUcnVzdGVkYC5cbiAqXG4gKiBOb3QgZXZlcnkgZGlzcGF0Y2ggaXMgd3JvbmcsIHNvIHRoZSBydWxlIGlzIG1lYW50IHRvIGJlIGRpc2FibGVkIOKAlCB3aXRoIGEgcmVhc29uIOKAlCBhdFxuICogdGhlIHNpdGVzIHRoYXQgaGF2ZSBvbmU6IGEgZHJhZyBzZXF1ZW5jZSwgd2hpY2ggYHNlbmRJbnB1dEV2ZW50YCBjYW5ub3QgZXhwcmVzcyBhdCBhbGw7XG4gKiB0aGUgbW9iaWxlIGFybSBvZiBhIGhvdmVyIGdlc3R1cmUsIHdoaWNoIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50OyBhbmQgYSBsaXN0ZW5lciB0aGF0XG4gKiBpcyB0aGUgcGx1Z2luJ3Mgb3duIGFuZCBjaGVja3Mgbm90aGluZyBidXQgdGhlIGtleS4gYHJlcXVpcmUtZGVzY3JpcHRpb25gXG4gKiBtYWtlcyB0aGF0IHJlYXNvbiBtYW5kYXRvcnksIHdoaWNoIGlzIHRoZSBwb2ludDogdGhlIHJ1bGUgdHVybnMgYW4gaW52aXNpYmxlIGFzc3VtcHRpb25cbiAqIGludG8gYSB3cml0dGVuIG9uZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGUsXG4gIFNjb3BlXG59IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IHRvVFNFU1RyZWVOb2RlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbGludGVycy9lc2xpbnQtcnVsZXMvdHMtZXN0cmVlLW5vZGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGRyaXZlcyB0aGUgVUkgd2l0aCBhIGRpc3BhdGNoZWQgaW5wdXQgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ25vVW50cnVzdGVkSW5wdXRFdmVudHMnO1xuXG4vKipcbiAqIFdoYXQgdG8gZG8gaW5zdGVhZCwgcGVyIGV2ZW50IGNvbnN0cnVjdG9yLiBBbiBldmVudCBhYnNlbnQgZnJvbSB0aGlzIG1hcCBpcyBhXG4gKiBub3RpZmljYXRpb24gcmF0aGVyIHRoYW4gc2ltdWxhdGVkIGlucHV0LCBhbmQgaXMgbGVmdCBhbG9uZS5cbiAqL1xuY29uc3QgQURWSUNFX0JZX0VWRU5UX05BTUUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXG4gIFsnRHJhZ0V2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgYmVjYXVzZSBgc2VuZElucHV0RXZlbnRgIGNhbm5vdCBleHByZXNzIGEgZHJhZywgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ0tleWJvYXJkRXZlbnQnLCAndXNlIGBwcmVzc0tleWAsIGZvY3VzaW5nIHRoZSB0YXJnZXQgZmlyc3QsIHNpbmNlIGEgdHJ1c3RlZCBrZXkgcHJlc3MgZ29lcyB0byB3aGF0ZXZlciBob2xkcyBET00gZm9jdXMnXSxcbiAgWydNb3VzZUV2ZW50JywgJ3VzZSBgY2xpY2tFbGVtZW50YCwgb3IgYGNsaWNrTW91c2VgIHdoZW4gdGhlIHBvaW50IHRvIGNsaWNrIGlzIG5vdCBhbiBlbGVtZW50IGNlbnRyZSddLFxuICBbJ1BvaW50ZXJFdmVudCcsICd1c2UgYGNsaWNrRWxlbWVudGAsIG9yIGBjbGlja01vdXNlYCB3aGVuIHRoZSBwb2ludCB0byBjbGljayBpcyBub3QgYW4gZWxlbWVudCBjZW50cmUnXSxcbiAgWydUb3VjaEV2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ1doZWVsRXZlbnQnLCAndGhlcmUgaXMgbm8gdHJ1c3RlZCBlcXVpdmFsZW50LCBzbyBrZWVwIHRoZSBkaXNwYXRjaCBhbmQgZGlzYWJsZSB0aGlzIHJ1bGUgd2l0aCB0aGUgcmVhc29uJ11cbl0pO1xuXG4vKipcbiAqIEVTTGludCBydWxlIGRpc2FsbG93aW5nIHVudHJ1c3RlZCBpbnB1dCBldmVudHMgaW4gaW50ZWdyYXRpb24gdGVzdHMsIHdoZXJlIHRoZXkgY2FuIHNpbGVudGx5IGV4ZXJjaXNlIG5vdGhpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBub1VudHJ1c3RlZElucHV0RXZlbnRzOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYWxsRXhwcmVzc2lvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gdG9UU0VTVHJlZU5vZGUobm9kZSkgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKCFpc0Rpc3BhdGNoRXZlbnRDYWxsKGNhbGxOb2RlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFyZ3VtZW50ID0gY2FsbE5vZGUuYXJndW1lbnRzWzBdO1xuICAgICAgICBpZiAoIWFyZ3VtZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZlbnROYW1lID0gcmVzb2x2ZUV2ZW50TmFtZShhcmd1bWVudCwgbm9kZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZHZpY2UgPSBBRFZJQ0VfQllfRVZFTlRfTkFNRS5nZXQoZXZlbnROYW1lKTtcbiAgICAgICAgaWYgKGFkdmljZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGFkdmljZSxcbiAgICAgICAgICAgIGV2ZW50TmFtZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzYWxsb3cgZHJpdmluZyBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRoIGRpc3BhdGNoZWQgKHVudHJ1c3RlZCkgaW5wdXQgZXZlbnRzJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ0EgZGlzcGF0Y2hlZCB7eyBldmVudE5hbWUgfX0gaXMgdW50cnVzdGVkIChgaXNUcnVzdGVkID09PSBmYWxzZWApIGFuZCBPYnNpZGlhbiBtYXkgaWdub3JlIGl0LCBzbyB0aGlzIGNhbiBleGVyY2lzZSBub3RoaW5nIHdoaWxlIHN0aWxsIHBhc3Npbmc6IHt7IGFkdmljZSB9fS4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIEZpbmRzIGEgdmFyaWFibGUgYnkgbmFtZSwgd2Fsa2luZyBvdXR3YXJkcyBmcm9tIHRoZSBnaXZlbiBzY29wZS5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgdG8gc3RhcnQgZnJvbS5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHZhcmlhYmxlJ3MgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSB2YXJpYWJsZSwgb3IgYG51bGxgIHdoZW4gbm90aGluZyBpbiBzY29wZSBkZWNsYXJlcyB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGZpbmRWYXJpYWJsZShzY29wZTogU2NvcGUuU2NvcGUsIG5hbWU6IHN0cmluZyk6IG51bGwgfCBTY29wZS5WYXJpYWJsZSB7XG4gIGxldCBjdXJyZW50U2NvcGU6IG51bGwgfCBTY29wZS5TY29wZSA9IHNjb3BlO1xuXG4gIHdoaWxlIChjdXJyZW50U2NvcGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IGN1cnJlbnRTY29wZS52YXJpYWJsZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKHZhcmlhYmxlKSB7XG4gICAgICByZXR1cm4gdmFyaWFibGU7XG4gICAgfVxuICAgIGN1cnJlbnRTY29wZSA9IGN1cnJlbnRTY29wZS51cHBlcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBleHByZXNzaW9uIGlzIGEgYC5kaXNwYXRjaEV2ZW50KC4uLilgIGNhbGwuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbCBleHByZXNzaW9uIG5vZGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNhbGwgaXMgYDxzb21ldGhpbmc+LmRpc3BhdGNoRXZlbnQoLi4uKWAuXG4gKi9cbmZ1bmN0aW9uIGlzRGlzcGF0Y2hFdmVudENhbGwobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgY29uc3QgY2FsbGVlID0gbm9kZS5jYWxsZWU7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgcmV0dXJuIGNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJyAmJiBjYWxsZWUucHJvcGVydHkubmFtZSA9PT0gJ2Rpc3BhdGNoRXZlbnQnO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBpZGVudGlmaWVyIGEgYG5ldyAuLi4oKWAgZXhwcmVzc2lvbiBjb25zdHJ1Y3RzLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGBOZXdFeHByZXNzaW9uYCBub2RlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yJ3MgbmFtZSwgb3IgYG51bGxgIHdoZW4gdGhlIGNhbGxlZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIHJlYWRDb25zdHJ1Y3Rvck5hbWUobm9kZTogVFNFU1RyZWUuTmV3RXhwcmVzc2lvbik6IG51bGwgfCBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICByZXR1cm4gbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInID8gbm9kZS5jYWxsZWUubmFtZSA6IG51bGw7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnN0cnVjdG9yIG5hbWUgb2YgdGhlIGV2ZW50IGJlaW5nIGRpc3BhdGNoZWQuXG4gKlxuICogSGFuZGxlcyB0aGUgYXJndW1lbnQgd3JpdHRlbiBpbmxpbmUgKGBkaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KC4uLikpYCkgYW5kIHRoZVxuICogYXJndW1lbnQgaGVsZCBpbiBhIHZhcmlhYmxlIChgY29uc3QgZSA9IG5ldyBEcmFnRXZlbnQoLi4uKTsgZWwuZGlzcGF0Y2hFdmVudChlKWApLFxuICogd2hpY2ggaXMgaG93IGEgc2VxdWVuY2Ugc2hhcmluZyBvbmUgYERhdGFUcmFuc2ZlcmAgaXMgdXN1YWxseSB3cml0dGVuLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgYGRpc3BhdGNoRXZlbnRgIGNhbGwuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBjYWxsIG5vZGUsIHVzZWQgdG8gcmVzb2x2ZSB0aGUgZW5jbG9zaW5nIHNjb3BlLlxuICogQHBhcmFtIGNvbnRleHQgLSBUaGUgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yIG5hbWUsIG9yIGBudWxsYCB3aGVuIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICovXG5mdW5jdGlvbiByZXNvbHZlRXZlbnROYW1lKGFyZ3VtZW50OiBUU0VTVHJlZS5Ob2RlLCBub2RlOiBSdWxlLk5vZGUsIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBudWxsIHwgc3RyaW5nIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgaWYgKGFyZ3VtZW50LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgIHJldHVybiByZWFkQ29uc3RydWN0b3JOYW1lKGFyZ3VtZW50KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChhcmd1bWVudC50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHZhcmlhYmxlID0gZmluZFZhcmlhYmxlKGNvbnRleHQuc291cmNlQ29kZS5nZXRTY29wZShub2RlKSwgYXJndW1lbnQubmFtZSk7XG4gIGlmICghdmFyaWFibGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZS5kZWZzKSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB0b1RTRVNUcmVlTm9kZShkZWZpbml0aW9uLm5vZGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gICAgaWYgKGRlZmluaXRpb25Ob2RlLnR5cGUgIT09ICdWYXJpYWJsZURlY2xhcmF0b3InIHx8ICFkZWZpbml0aW9uTm9kZS5pbml0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICAgIGlmIChkZWZpbml0aW9uTm9kZS5pbml0LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgICAgcmV0dXJuIHJlYWRDb25zdHJ1Y3Rvck5hbWUoZGVmaW5pdGlvbk5vZGUuaW5pdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFxQ0EsNEJBQStCO0FBS3hCLE1BQU0sYUFBYTtBQU0xQixNQUFNLHVCQUF1QixvQkFBSSxJQUFvQjtBQUFBLEVBQ25ELENBQUMsYUFBYSw0SUFBNEk7QUFBQSxFQUMxSixDQUFDLGlCQUFpQix1R0FBdUc7QUFBQSxFQUN6SCxDQUFDLGNBQWMsc0ZBQXNGO0FBQUEsRUFDckcsQ0FBQyxnQkFBZ0Isc0ZBQXNGO0FBQUEsRUFDdkcsQ0FBQyxjQUFjLDRGQUE0RjtBQUFBLEVBQzNHLENBQUMsY0FBYyw0RkFBNEY7QUFDN0csQ0FBQztBQUtNLE1BQU0seUJBQTBDO0FBQUEsRUFDckQsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsaUJBQWlCLE1BQXVCO0FBQ3RDLGNBQU0sZUFBVyxzQ0FBZSxJQUFJO0FBRXBDLFlBQUksQ0FBQyxvQkFBb0IsUUFBUSxHQUFHO0FBQ2xDO0FBQUEsUUFDRjtBQUVBLGNBQU0sV0FBVyxTQUFTLFVBQVUsQ0FBQztBQUNyQyxZQUFJLENBQUMsVUFBVTtBQUNiO0FBQUEsUUFDRjtBQUVBLGNBQU0sWUFBWSxpQkFBaUIsVUFBVSxNQUFNLE9BQU87QUFDMUQsWUFBSSxjQUFjLE1BQU07QUFDdEI7QUFBQSxRQUNGO0FBRUEsY0FBTSxTQUFTLHFCQUFxQixJQUFJLFNBQVM7QUFDakQsWUFBSSxXQUFXLFFBQVc7QUFDeEI7QUFBQSxRQUNGO0FBRUEsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsTUFBTTtBQUFBLFlBQ0o7QUFBQSxZQUNBO0FBQUEsVUFDRjtBQUFBLFVBQ0EsV0FBVztBQUFBLFVBQ1g7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7QUFTQSxTQUFTLGFBQWEsT0FBb0IsTUFBcUM7QUFDN0UsTUFBSSxlQUFtQztBQUV2QyxTQUFPLGNBQWM7QUFDbkIsVUFBTSxXQUFXLGFBQWEsVUFBVSxLQUFLLENBQUMsY0FBYyxVQUFVLFNBQVMsSUFBSTtBQUNuRixRQUFJLFVBQVU7QUFDWixhQUFPO0FBQUEsSUFDVDtBQUNBLG1CQUFlLGFBQWE7QUFBQSxFQUM5QjtBQUVBLFNBQU87QUFDVDtBQVFBLFNBQVMsb0JBQW9CLE1BQXdDO0FBQ25FLFFBQU0sU0FBUyxLQUFLO0FBR3BCLFNBQU8sT0FBTyxTQUFTLHNCQUFzQixPQUFPLFNBQVMsU0FBUyxnQkFBZ0IsT0FBTyxTQUFTLFNBQVM7QUFDakg7QUFRQSxTQUFTLG9CQUFvQixNQUE2QztBQUV4RSxTQUFPLEtBQUssT0FBTyxTQUFTLGVBQWUsS0FBSyxPQUFPLE9BQU87QUFDaEU7QUFjQSxTQUFTLGlCQUFpQixVQUF5QixNQUFpQixTQUEwQztBQUU1RyxNQUFJLFNBQVMsU0FBUyxpQkFBaUI7QUFDckMsV0FBTyxvQkFBb0IsUUFBUTtBQUFBLEVBQ3JDO0FBR0EsTUFBSSxTQUFTLFNBQVMsY0FBYztBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sV0FBVyxhQUFhLFFBQVEsV0FBVyxTQUFTLElBQUksR0FBRyxTQUFTLElBQUk7QUFDOUUsTUFBSSxDQUFDLFVBQVU7QUFDYixXQUFPO0FBQUEsRUFDVDtBQUVBLGFBQVcsY0FBYyxTQUFTLE1BQU07QUFDdEMsVUFBTSxxQkFBaUIsc0NBQWUsV0FBVyxJQUFJO0FBRXJELFFBQUksZUFBZSxTQUFTLHdCQUF3QixDQUFDLGVBQWUsTUFBTTtBQUN4RTtBQUFBLElBQ0Y7QUFHQSxRQUFJLGVBQWUsS0FBSyxTQUFTLGlCQUFpQjtBQUNoRCxhQUFPLG9CQUFvQixlQUFlLElBQUk7QUFBQSxJQUNoRDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwibmFtZXMiOltdfQ==
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.cts" />
1
+ /// <reference path="../../library-references.d.cts" />
2
2
  import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
3
3
  /**
4
4
  Message ID reported when an integration test drives the UI with a dispatched input event.
@@ -0,0 +1,136 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+ (function patchObsidianRequire() {
6
+ const originalRequire = require;
7
+ if (!originalRequire || originalRequire.__isPatched) {
8
+ return;
9
+ }
10
+
11
+ require = Object.assign(
12
+ (id) => requirePatched(id),
13
+ originalRequire,
14
+ {
15
+ __isPatched: true
16
+ }
17
+ );
18
+
19
+ function extractDefault(module) {
20
+ return module && module.__esModule && 'default' in module ? module.default : module;
21
+ }
22
+
23
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
24
+ '@codemirror/autocomplete',
25
+ '@codemirror/collab',
26
+ '@codemirror/commands',
27
+ '@codemirror/language',
28
+ '@codemirror/lint',
29
+ '@codemirror/search',
30
+ '@codemirror/state',
31
+ '@codemirror/text',
32
+ '@codemirror/view',
33
+ '@lezer/common',
34
+ '@lezer/highlight',
35
+ '@lezer/lr',
36
+ 'obsidian']
37
+ );
38
+
39
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
40
+ '@codemirror/closebrackets',
41
+ '@codemirror/comment',
42
+ '@codemirror/fold',
43
+ '@codemirror/gutter',
44
+ '@codemirror/highlight',
45
+ '@codemirror/history',
46
+ '@codemirror/matchbrackets',
47
+ '@codemirror/panel',
48
+ '@codemirror/rangeset',
49
+ '@codemirror/rectangular-selection',
50
+ '@codemirror/stream-parser',
51
+ '@codemirror/tooltip']
52
+ );
53
+
54
+ function requirePatched(id) {
55
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
56
+ return originalRequire?.(id);
57
+ }
58
+
59
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
60
+ if (globalThis.app.isMobile) {
61
+ if (id === 'process' || id === 'node:process') {
62
+ // eslint-disable-next-line no-console -- Valid usage.
63
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
64
+
65
+ return process;
66
+ }
67
+ } else {
68
+ const module = originalRequire?.(id);
69
+ if (module) {
70
+ return extractDefault(module);
71
+ }
72
+ }
73
+
74
+ // eslint-disable-next-line no-console -- Valid usage.
75
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
76
+ return {};
77
+ }
78
+ })();
79
+
80
+ "use strict";
81
+ var __defProp = Object.defineProperty;
82
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
83
+ var __getOwnPropNames = Object.getOwnPropertyNames;
84
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
85
+ var __export = (target, all) => {
86
+ for (var name in all)
87
+ __defProp(target, name, { get: all[name], enumerable: true });
88
+ };
89
+ var __copyProps = (to, from, except, desc) => {
90
+ if (from && typeof from === "object" || typeof from === "function") {
91
+ for (let key of __getOwnPropNames(from))
92
+ if (!__hasOwnProp.call(to, key) && key !== except)
93
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
94
+ }
95
+ return to;
96
+ };
97
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
98
+ var obsidian_dev_toolkit_plugin_exports = {};
99
+ __export(obsidian_dev_toolkit_plugin_exports, {
100
+ OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME: () => OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME,
101
+ obsidianDevToolkitPlugin: () => obsidianDevToolkitPlugin
102
+ });
103
+ module.exports = __toCommonJS(obsidian_dev_toolkit_plugin_exports);
104
+ var import_manifest_description = require('./manifest-description.cjs');
105
+ var import_manifest_id = require('./manifest-id.cjs');
106
+ var import_manifest_name = require('./manifest-name.cjs');
107
+ var import_manifest_schema = require('./manifest-schema.cjs');
108
+ var import_no_local_obsidian_internals = require('./no-local-obsidian-internals.cjs');
109
+ var import_no_over_cap_wait_in_eval_in_obsidian = require('./no-over-cap-wait-in-eval-in-obsidian.cjs');
110
+ var import_no_untrusted_input_events = require('./no-untrusted-input-events.cjs');
111
+ var import_plugin_name_as_code_in_ui = require('./plugin-name-as-code-in-ui.cjs');
112
+ var import_plugin_name_as_code = require('./plugin-name-as-code.cjs');
113
+ var import_require_component_suffix = require('./require-component-suffix.cjs');
114
+ var import_require_plugin_api_contract_schemas = require('./require-plugin-api-contract-schemas.cjs');
115
+ const OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME = "obsidian-dev-toolkit";
116
+ const obsidianDevToolkitPlugin = {
117
+ rules: {
118
+ "manifest-description": import_manifest_description.manifestDescription,
119
+ "manifest-id": import_manifest_id.manifestId,
120
+ "manifest-name": import_manifest_name.manifestName,
121
+ "manifest-schema": import_manifest_schema.manifestSchema,
122
+ "no-local-obsidian-internals": import_no_local_obsidian_internals.noLocalObsidianInternals,
123
+ "no-over-cap-wait-in-eval-in-obsidian": import_no_over_cap_wait_in_eval_in_obsidian.noOverCapWaitInEvalInObsidian,
124
+ "no-untrusted-input-events": import_no_untrusted_input_events.noUntrustedInputEvents,
125
+ "plugin-name-as-code": import_plugin_name_as_code.pluginNameAsCode,
126
+ "plugin-name-as-code-in-ui": import_plugin_name_as_code_in_ui.pluginNameAsCodeInUi,
127
+ "require-component-suffix": import_require_component_suffix.requireComponentSuffix,
128
+ "require-plugin-api-contract-schemas": import_require_plugin_api_contract_schemas.requirePluginApiContractSchemas
129
+ }
130
+ };
131
+ // Annotate the CommonJS export names for ESM import in node:
132
+ 0 && (module.exports = {
133
+ OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME,
134
+ obsidianDevToolkitPlugin
135
+ });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9vYnNpZGlhbi1kZXYtdG9vbGtpdC1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBwbHVnaW4gY2FycnlpbmcgdGhlIE9ic2lkaWFuLXNwZWNpZmljIGluLWhvdXNlIHJ1bGVzLlxuICovXG5pbXBvcnQgdHlwZSB7IEVTTGludCB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IG1hbmlmZXN0RGVzY3JpcHRpb24gfSBmcm9tICcuL21hbmlmZXN0LWRlc2NyaXB0aW9uLnRzJztcbmltcG9ydCB7IG1hbmlmZXN0SWQgfSBmcm9tICcuL21hbmlmZXN0LWlkLnRzJztcbmltcG9ydCB7IG1hbmlmZXN0TmFtZSB9IGZyb20gJy4vbWFuaWZlc3QtbmFtZS50cyc7XG5pbXBvcnQgeyBtYW5pZmVzdFNjaGVtYSB9IGZyb20gJy4vbWFuaWZlc3Qtc2NoZW1hLnRzJztcbmltcG9ydCB7IG5vTG9jYWxPYnNpZGlhbkludGVybmFscyB9IGZyb20gJy4vbm8tbG9jYWwtb2JzaWRpYW4taW50ZXJuYWxzLnRzJztcbmltcG9ydCB7IG5vT3ZlckNhcFdhaXRJbkV2YWxJbk9ic2lkaWFuIH0gZnJvbSAnLi9uby1vdmVyLWNhcC13YWl0LWluLWV2YWwtaW4tb2JzaWRpYW4udHMnO1xuaW1wb3J0IHsgbm9VbnRydXN0ZWRJbnB1dEV2ZW50cyB9IGZyb20gJy4vbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50cy50cyc7XG5pbXBvcnQgeyBwbHVnaW5OYW1lQXNDb2RlSW5VaSB9IGZyb20gJy4vcGx1Z2luLW5hbWUtYXMtY29kZS1pbi11aS50cyc7XG5pbXBvcnQgeyBwbHVnaW5OYW1lQXNDb2RlIH0gZnJvbSAnLi9wbHVnaW4tbmFtZS1hcy1jb2RlLnRzJztcbmltcG9ydCB7IHJlcXVpcmVDb21wb25lbnRTdWZmaXggfSBmcm9tICcuL3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeC50cyc7XG5pbXBvcnQgeyByZXF1aXJlUGx1Z2luQXBpQ29udHJhY3RTY2hlbWFzIH0gZnJvbSAnLi9yZXF1aXJlLXBsdWdpbi1hcGktY29udHJhY3Qtc2NoZW1hcy50cyc7XG5cbi8qKlxuICogVGhlIG5hbWVzcGFjZSB0aGUgT2JzaWRpYW4gaW4taG91c2UgcnVsZXMgYXJlIHJlZ2lzdGVyZWQgdW5kZXI6IHRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlIHRoYXQgZGVmaW5lcyB0aGVtLiBUaGVcbiAqIGdlbmVyaWMgcnVsZXMgbGl2ZSBiZXNpZGUgdGhlbSB1bmRlciBgdHlwZXNjcmlwdC1kZXYtdG9vbGtpdGAsIGFzIGEgcGx1Z2luIG9mIHRoZWlyIG93bi5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0RFVl9UT09MS0lUX0VTTElOVF9QTFVHSU5fTkFNRSA9ICdvYnNpZGlhbi1kZXYtdG9vbGtpdCc7XG5cbi8qKlxuICogRVNMaW50IHBsdWdpbiBjYXJyeWluZyB0aGUgT2JzaWRpYW4gaW4taG91c2UgcnVsZXMsIHJlZ2lzdGVyZWQgdW5kZXIge0BsaW5rIE9CU0lESUFOX0RFVl9UT09MS0lUX0VTTElOVF9QTFVHSU5fTkFNRX0uXG4gKi9cbmV4cG9ydCBjb25zdCBvYnNpZGlhbkRldlRvb2xraXRQbHVnaW46IEVTTGludC5QbHVnaW4gPSB7XG4gIHJ1bGVzOiB7XG4gICAgJ21hbmlmZXN0LWRlc2NyaXB0aW9uJzogbWFuaWZlc3REZXNjcmlwdGlvbixcbiAgICAnbWFuaWZlc3QtaWQnOiBtYW5pZmVzdElkLFxuICAgICdtYW5pZmVzdC1uYW1lJzogbWFuaWZlc3ROYW1lLFxuICAgICdtYW5pZmVzdC1zY2hlbWEnOiBtYW5pZmVzdFNjaGVtYSxcbiAgICAnbm8tbG9jYWwtb2JzaWRpYW4taW50ZXJuYWxzJzogbm9Mb2NhbE9ic2lkaWFuSW50ZXJuYWxzLFxuICAgICduby1vdmVyLWNhcC13YWl0LWluLWV2YWwtaW4tb2JzaWRpYW4nOiBub092ZXJDYXBXYWl0SW5FdmFsSW5PYnNpZGlhbixcbiAgICAnbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50cyc6IG5vVW50cnVzdGVkSW5wdXRFdmVudHMsXG4gICAgJ3BsdWdpbi1uYW1lLWFzLWNvZGUnOiBwbHVnaW5OYW1lQXNDb2RlLFxuICAgICdwbHVnaW4tbmFtZS1hcy1jb2RlLWluLXVpJzogcGx1Z2luTmFtZUFzQ29kZUluVWksXG4gICAgJ3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeCc6IHJlcXVpcmVDb21wb25lbnRTdWZmaXgsXG4gICAgJ3JlcXVpcmUtcGx1Z2luLWFwaS1jb250cmFjdC1zY2hlbWFzJzogcmVxdWlyZVBsdWdpbkFwaUNvbnRyYWN0U2NoZW1hc1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0Esa0NBQW9DO0FBQ3BDLHlCQUEyQjtBQUMzQiwyQkFBNkI7QUFDN0IsNkJBQStCO0FBQy9CLHlDQUF5QztBQUN6QyxrREFBOEM7QUFDOUMsdUNBQXVDO0FBQ3ZDLHVDQUFxQztBQUNyQyxpQ0FBaUM7QUFDakMsc0NBQXVDO0FBQ3ZDLGlEQUFnRDtBQU16QyxNQUFNLDBDQUEwQztBQUtoRCxNQUFNLDJCQUEwQztBQUFBLEVBQ3JELE9BQU87QUFBQSxJQUNMLHdCQUF3QjtBQUFBLElBQ3hCLGVBQWU7QUFBQSxJQUNmLGlCQUFpQjtBQUFBLElBQ2pCLG1CQUFtQjtBQUFBLElBQ25CLCtCQUErQjtBQUFBLElBQy9CLHdDQUF3QztBQUFBLElBQ3hDLDZCQUE2QjtBQUFBLElBQzdCLHVCQUF1QjtBQUFBLElBQ3ZCLDZCQUE2QjtBQUFBLElBQzdCLDRCQUE0QjtBQUFBLElBQzVCLHVDQUF1QztBQUFBLEVBQ3pDO0FBQ0Y7IiwibmFtZXMiOltdfQ==
@@ -0,0 +1,16 @@
1
+ /// <reference path="../../library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * ESLint plugin carrying the Obsidian-specific in-house rules.
6
+ */
7
+ import type { ESLint } from 'eslint' with { 'resolution-mode': 'import' };
8
+ /**
9
+ * The namespace the Obsidian in-house rules are registered under: the name of the package that defines them. The
10
+ * generic rules live beside them under `typescript-dev-toolkit`, as a plugin of their own.
11
+ */
12
+ export declare const OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME = "obsidian-dev-toolkit";
13
+ /**
14
+ * ESLint plugin carrying the Obsidian in-house rules, registered under {@link OBSIDIAN_DEV_TOOLKIT_ESLINT_PLUGIN_NAME}.
15
+ */
16
+ export declare const obsidianDevToolkitPlugin: ESLint.Plugin;
@@ -2,52 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
50
- })();
51
5
  (function patchObsidianRequire() {
52
6
  const originalRequire = require;
53
7
  if (!originalRequire || originalRequire.__isPatched) {
@@ -260,4 +214,4 @@ function getKeyName(key) {
260
214
  MESSAGE_ID,
261
215
  pluginNameAsCodeInUi
262
216
  });
263
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL3BsdWdpbi1uYW1lLWFzLWNvZGUtaW4tdWkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcGx1Z2luLW5hbWUtYXMtY29kZS1pbi11aVxuICpcbiAqIFJlcG9ydHMgYW4gT2JzaWRpYW4gcGx1Z2luJ3MgZGlzcGxheSBuYW1lIGluc2lkZSBhIHN0cmluZyB0aGF0IGlzIHNob3duIGluIFVJIGFzIHBsYWluIHRleHQuIEluIFVJIHRoZSBuYW1lIGlzXG4gKiBidWlsdCBhcyBhIGA8Y29kZT5gIGVsZW1lbnQgaW5zdGVhZDogYGFwcGVuZENvZGVCbG9jaygpYCBpbnRvIGEgYERvY3VtZW50RnJhZ21lbnRgLCBvciBgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcygpYFxuICogd2l0aCBgYXNDb2RlQmxvY2soKWAsIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgJ3MgYGh0bWwtZWxlbWVudC50c2AsIGFuZCB0aGUgZnJhZ21lbnQgaXMgd2hhdCBpcyBwYXNzZWQgb24uXG4gKlxuICogRGV0ZWN0aW9uIGlzIGJlc3QgZWZmb3J0LCBieSBjYWxsIHNoYXBlLCB3aXRob3V0IHR5cGUgaW5mb3JtYXRpb24uIEEgc3RyaW5nIGxpdGVyYWwgb3IgdGVtcGxhdGUgbGl0ZXJhbCAob3IgYVxuICogYCtgIGNvbmNhdGVuYXRpb24gb3IgYD8gOmAgYnJhbmNoIG1hZGUgb2YgdGhlbSkgaXMgcmVhZCB3aGVuIGl0IGlzOlxuICpcbiAqIC0gdGhlIGZpcnN0IGFyZ3VtZW50IG9mIGBuZXcgTm90aWNlKC4uLilgO1xuICogLSB0aGUgZmlyc3QgYXJndW1lbnQgb2YgYHNldE5hbWVgLCBgc2V0RGVzY2AsIGBzZXRUZXh0YCwgYGFwcGVuZFRleHRgIG9yIGBzZXRUaXRsZWAgY2FsbGVkIG9uIGFueXRoaW5nO1xuICogLSB0aGUgYHRleHRgIHByb3BlcnR5IG9mIGFuIG9wdGlvbnMgb2JqZWN0IHBhc3NlZCB0byBgY3JlYXRlRWxgLCBgY3JlYXRlRGl2YCBvciBgY3JlYXRlU3BhbmAuXG4gKlxuICogVGhlcmUgaXMgbm8gYXV0b2ZpeDogc3BsaXR0aW5nIGEgc3RyaW5nIGFyb3VuZCB0aGUgbmFtZSBhbmQgYnVpbGRpbmcgYSBmcmFnbWVudCBpcyBhIHJld3JpdGUgb2YgdGhlIGNhbGwsIGFuZFxuICogb2Z0ZW4gb2YgYSB0cmFuc2xhdGlvbiBrZXksIHdoaWNoIG5lZWRzIGp1ZGdlbWVudC4gQSBjb21tYW5kIG5hbWUsIGEgcmliYm9uIHRvb2x0aXAgYW5kIGEgd2luZG93IHRpdGxlIGNhbm5vdCBob2xkXG4gKiBtYXJrdXAsIHNvIHRoZSBjYWxscyB0aGF0IHNldCB0aGVtIChgYWRkQ29tbWFuZGAsIGBhZGRSaWJib25JY29uYCwgYGRvY3VtZW50LnRpdGxlYCkgYXJlIG5vdCByZWFkIGF0IGFsbC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBDYWxsRXhwcmVzc2lvbixcbiAgRXhwcmVzc2lvbixcbiAgTmV3RXhwcmVzc2lvbixcbiAgTm9kZSxcbiAgU3ByZWFkRWxlbWVudFxufSBmcm9tICdlc3RyZWUnO1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk5hbWVSdWxlT3B0aW9ucyB9IGZyb20gJy4uL3BsdWdpbi1uYW1lcy50cyc7XG5cbmltcG9ydCB7XG4gIGZpbmRQbHVnaW5OYW1lTWF0Y2hlcyxcbiAgZ2V0UGx1Z2luTmFtZXNcbn0gZnJvbSAnLi4vcGx1Z2luLW5hbWVzLnRzJztcbmltcG9ydCB7IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BIH0gZnJvbSAnLi9wbHVnaW4tbmFtZS1hcy1jb2RlLnRzJztcblxuLyoqXG4gKiBNZXNzYWdlIElEIHJlcG9ydGVkIGZvciBhIHBsdWdpbiBuYW1lIGluc2lkZSBhIFVJIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncGx1Z2luTmFtZUFzQ29kZUluVWknO1xuXG4vKipcbiAqIFRoZSBtZXRob2RzIHdob3NlIGZpcnN0IGFyZ3VtZW50IGlzIHNob3duIGluIFVJIGFuZCBtYXkgYmUgYSBgRG9jdW1lbnRGcmFnbWVudGAuXG4gKi9cbmNvbnN0IFVJX1RFWFRfTUVUSE9EX05BTUVTID0gbmV3IFNldChbJ2FwcGVuZFRleHQnLCAnc2V0RGVzYycsICdzZXROYW1lJywgJ3NldFRleHQnLCAnc2V0VGl0bGUnXSk7XG5cbi8qKlxuICogVGhlIGVsZW1lbnQgZmFjdG9yaWVzIHdob3NlIG9wdGlvbnMgb2JqZWN0IGNhcnJpZXMgVUkgdGV4dCBpbiBgdGV4dGAuXG4gKi9cbmNvbnN0IEVMRU1FTlRfRkFDVE9SWV9OQU1FUyA9IG5ldyBTZXQoWydjcmVhdGVEaXYnLCAnY3JlYXRlRWwnLCAnY3JlYXRlU3BhbiddKTtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgYSBwbHVnaW4gbmFtZSBzaG93biBpbiBVSSB0byBiZSBidWlsdCBhcyBhIGA8Y29kZT5gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwbHVnaW5OYW1lQXNDb2RlSW5VaTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gYXMgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBsdWdpbk5hbWVzID0gZ2V0UGx1Z2luTmFtZXMoeyBhZGRpdGlvbmFsUGx1Z2luTmFtZXM6IG9wdGlvbnM/LmFkZGl0aW9uYWxQbHVnaW5OYW1lcywgY3dkOiBjb250ZXh0LmN3ZCB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlOiBDYWxsRXhwcmVzc2lvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWxsZWVOYW1lID0gZ2V0Q2FsbGVlTmFtZShub2RlKTtcbiAgICAgICAgaWYgKGNhbGxlZU5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoVUlfVEVYVF9NRVRIT0RfTkFNRVMuaGFzKGNhbGxlZU5hbWUpICYmIG5vZGUuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuICAgICAgICAgIGluc3BlY3RBcmd1bWVudChub2RlLmFyZ3VtZW50c1swXSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFFTEVNRU5UX0ZBQ1RPUllfTkFNRVMuaGFzKGNhbGxlZU5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBhcmd1bWVudCBvZiBub2RlLmFyZ3VtZW50cykge1xuICAgICAgICAgIGlmIChhcmd1bWVudC50eXBlICE9PSAnT2JqZWN0RXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGFyZ3VtZW50LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0eS50eXBlID09PSAnUHJvcGVydHknICYmICFwcm9wZXJ0eS5jb21wdXRlZCAmJiBnZXRLZXlOYW1lKHByb3BlcnR5LmtleSkgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgICBpbnNwZWN0RXhwcmVzc2lvbihwcm9wZXJ0eS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTmV3RXhwcmVzc2lvbihub2RlOiBOZXdFeHByZXNzaW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChub2RlLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicgJiYgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ05vdGljZScpIHtcbiAgICAgICAgICBpbnNwZWN0QXJndW1lbnQobm9kZS5hcmd1bWVudHNbMF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGluc3BlY3RBcmd1bWVudChhcmd1bWVudDogRXhwcmVzc2lvbiB8IFNwcmVhZEVsZW1lbnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgIGlmIChhcmd1bWVudCAmJiBhcmd1bWVudC50eXBlICE9PSAnU3ByZWFkRWxlbWVudCcpIHtcbiAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24oYXJndW1lbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3BlY3RFeHByZXNzaW9uKG5vZGU6IE5vZGUpOiB2b2lkIHtcbiAgICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0JpbmFyeUV4cHJlc3Npb24nOiB7XG4gICAgICAgICAgaWYgKG5vZGUub3BlcmF0b3IgPT09ICcrJykge1xuICAgICAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24obm9kZS5sZWZ0KTtcbiAgICAgICAgICAgIGluc3BlY3RFeHByZXNzaW9uKG5vZGUucmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdDb25kaXRpb25hbEV4cHJlc3Npb24nOiB7XG4gICAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24obm9kZS5jb25zZXF1ZW50KTtcbiAgICAgICAgICBpbnNwZWN0RXhwcmVzc2lvbihub2RlLmFsdGVybmF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnTGl0ZXJhbCc6IHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5vZGUudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXBvcnRUZXh0KG5vZGUsIG5vZGUudmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdUZW1wbGF0ZUxpdGVyYWwnOiB7XG4gICAgICAgICAgZm9yIChjb25zdCB0ZW1wbGF0ZUVsZW1lbnQgb2Ygbm9kZS5xdWFzaXMpIHtcbiAgICAgICAgICAgIHJlcG9ydFRleHQodGVtcGxhdGVFbGVtZW50LCB0ZW1wbGF0ZUVsZW1lbnQudmFsdWUucmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVwb3J0VGV4dChub2RlOiBOb2RlLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgZmluZFBsdWdpbk5hbWVNYXRjaGVzKHRleHQsIHBsdWdpbk5hbWVzKSkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgZGF0YTogeyBuYW1lOiBtYXRjaC5uYW1lIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGEgcGx1Z2luIG5hbWUgc2hvd24gaW4gVUkgdG8gYmUgYnVpbHQgYXMgYSBgPGNvZGU+YCBlbGVtZW50J1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ1RoZSBwbHVnaW4gbmFtZSBge3sgbmFtZSB9fWAgaXMgc2hvd24gaW4gVUkgYXMgcGxhaW4gdGV4dC4gQnVpbGQgaXQgYXMgYSBgPGNvZGU+YCBlbGVtZW50IGluc3RlYWQ6IGBhcHBlbmRDb2RlQmxvY2soKWAgaW50byBhIGBEb2N1bWVudEZyYWdtZW50YCwgb3IgYGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoKWAgd2l0aCBgYXNDb2RlQmxvY2soKWAsIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgXFwncyBgaHRtbC1lbGVtZW50LnRzYC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BLFxuICAgIHR5cGU6ICdzdWdnZXN0aW9uJ1xuICB9XG59O1xuXG4vKipcbiAqIFJlYWRzIHRoZSBuYW1lIGEgY2FsbCBpcyBtYWRlIGJ5OiB0aGUgZnVuY3Rpb24ncyBuYW1lLCBvciB0aGUgbWV0aG9kJ3MgZm9yIGEgbWVtYmVyIGNhbGwuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbC5cbiAqIEByZXR1cm5zIFRoZSBuYW1lLCBvciBgbnVsbGAgZm9yIGEgY29tcHV0ZWQgb3Igb3RoZXJ3aXNlIHVubmFtZWQgY2FsbGVlLlxuICovXG5mdW5jdGlvbiBnZXRDYWxsZWVOYW1lKG5vZGU6IENhbGxFeHByZXNzaW9uKTogbnVsbCB8IHN0cmluZyB7XG4gIGlmIChub2RlLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gbm9kZS5jYWxsZWUubmFtZTtcbiAgfVxuXG4gIHJldHVybiBub2RlLmNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgIW5vZGUuY2FsbGVlLmNvbXB1dGVkICYmIG5vZGUuY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgID8gbm9kZS5jYWxsZWUucHJvcGVydHkubmFtZVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgbmFtZSBvZiBhbiBvYmplY3QgcHJvcGVydHkga2V5IHdyaXR0ZW4gYXMgYW4gaWRlbnRpZmllciBvciBhIHN0cmluZyBsaXRlcmFsLlxuICpcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICogQHJldHVybnMgVGhlIG5hbWUsIG9yIGBudWxsYCBmb3IgYW55IG90aGVyIGtleS5cbiAqL1xuZnVuY3Rpb24gZ2V0S2V5TmFtZShrZXk6IE5vZGUpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKGtleS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4ga2V5Lm5hbWU7XG4gIH1cblxuICByZXR1cm4ga2V5LnR5cGUgPT09ICdMaXRlcmFsJyAmJiB0eXBlb2Yga2V5LnZhbHVlID09PSAnc3RyaW5nJyA/IGtleS52YWx1ZSA6IG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdDQSwwQkFHTztBQUNQLGlDQUF3QztBQUtqQyxNQUFNLGFBQWE7QUFLMUIsTUFBTSx1QkFBdUIsb0JBQUksSUFBSSxDQUFDLGNBQWMsV0FBVyxXQUFXLFdBQVcsVUFBVSxDQUFDO0FBS2hHLE1BQU0sd0JBQXdCLG9CQUFJLElBQUksQ0FBQyxhQUFhLFlBQVksWUFBWSxDQUFDO0FBS3RFLE1BQU0sdUJBQXdDO0FBQUEsRUFDbkQsT0FBTyxTQUFTO0FBQ2QsVUFBTSxVQUFVLFFBQVEsUUFBUSxDQUFDO0FBQ2pDLFVBQU0sa0JBQWMsb0NBQWUsRUFBRSx1QkFBdUIsU0FBUyx1QkFBdUIsS0FBSyxRQUFRLElBQUksQ0FBQztBQUU5RyxXQUFPO0FBQUEsTUFDTCxlQUFlLE1BQTRCO0FBQ3pDLGNBQU0sYUFBYSxjQUFjLElBQUk7QUFDckMsWUFBSSxlQUFlLE1BQU07QUFDdkI7QUFBQSxRQUNGO0FBRUEsWUFBSSxxQkFBcUIsSUFBSSxVQUFVLEtBQUssS0FBSyxPQUFPLFNBQVMsb0JBQW9CO0FBQ25GLDBCQUFnQixLQUFLLFVBQVUsQ0FBQyxDQUFDO0FBQ2pDO0FBQUEsUUFDRjtBQUVBLFlBQUksQ0FBQyxzQkFBc0IsSUFBSSxVQUFVLEdBQUc7QUFDMUM7QUFBQSxRQUNGO0FBRUEsbUJBQVcsWUFBWSxLQUFLLFdBQVc7QUFDckMsY0FBSSxTQUFT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
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9wbHVnaW4tbmFtZS1hcy1jb2RlLWluLXVpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcGx1Z2luLW5hbWUtYXMtY29kZS1pbi11aVxuICpcbiAqIFJlcG9ydHMgYW4gT2JzaWRpYW4gcGx1Z2luJ3MgZGlzcGxheSBuYW1lIGluc2lkZSBhIHN0cmluZyB0aGF0IGlzIHNob3duIGluIFVJIGFzIHBsYWluIHRleHQuIEluIFVJIHRoZSBuYW1lIGlzXG4gKiBidWlsdCBhcyBhIGA8Y29kZT5gIGVsZW1lbnQgaW5zdGVhZDogYGFwcGVuZENvZGVCbG9jaygpYCBpbnRvIGEgYERvY3VtZW50RnJhZ21lbnRgLCBvciBgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcygpYFxuICogd2l0aCBgYXNDb2RlQmxvY2soKWAsIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgJ3MgYGh0bWwtZWxlbWVudC50c2AsIGFuZCB0aGUgZnJhZ21lbnQgaXMgd2hhdCBpcyBwYXNzZWQgb24uXG4gKlxuICogRGV0ZWN0aW9uIGlzIGJlc3QgZWZmb3J0LCBieSBjYWxsIHNoYXBlLCB3aXRob3V0IHR5cGUgaW5mb3JtYXRpb24uIEEgc3RyaW5nIGxpdGVyYWwgb3IgdGVtcGxhdGUgbGl0ZXJhbCAob3IgYVxuICogYCtgIGNvbmNhdGVuYXRpb24gb3IgYD8gOmAgYnJhbmNoIG1hZGUgb2YgdGhlbSkgaXMgcmVhZCB3aGVuIGl0IGlzOlxuICpcbiAqIC0gdGhlIGZpcnN0IGFyZ3VtZW50IG9mIGBuZXcgTm90aWNlKC4uLilgO1xuICogLSB0aGUgZmlyc3QgYXJndW1lbnQgb2YgYHNldE5hbWVgLCBgc2V0RGVzY2AsIGBzZXRUZXh0YCwgYGFwcGVuZFRleHRgIG9yIGBzZXRUaXRsZWAgY2FsbGVkIG9uIGFueXRoaW5nO1xuICogLSB0aGUgYHRleHRgIHByb3BlcnR5IG9mIGFuIG9wdGlvbnMgb2JqZWN0IHBhc3NlZCB0byBgY3JlYXRlRWxgLCBgY3JlYXRlRGl2YCBvciBgY3JlYXRlU3BhbmAuXG4gKlxuICogVGhlcmUgaXMgbm8gYXV0b2ZpeDogc3BsaXR0aW5nIGEgc3RyaW5nIGFyb3VuZCB0aGUgbmFtZSBhbmQgYnVpbGRpbmcgYSBmcmFnbWVudCBpcyBhIHJld3JpdGUgb2YgdGhlIGNhbGwsIGFuZFxuICogb2Z0ZW4gb2YgYSB0cmFuc2xhdGlvbiBrZXksIHdoaWNoIG5lZWRzIGp1ZGdlbWVudC4gQSBjb21tYW5kIG5hbWUsIGEgcmliYm9uIHRvb2x0aXAgYW5kIGEgd2luZG93IHRpdGxlIGNhbm5vdCBob2xkXG4gKiBtYXJrdXAsIHNvIHRoZSBjYWxscyB0aGF0IHNldCB0aGVtIChgYWRkQ29tbWFuZGAsIGBhZGRSaWJib25JY29uYCwgYGRvY3VtZW50LnRpdGxlYCkgYXJlIG5vdCByZWFkIGF0IGFsbC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBDYWxsRXhwcmVzc2lvbixcbiAgRXhwcmVzc2lvbixcbiAgTmV3RXhwcmVzc2lvbixcbiAgTm9kZSxcbiAgU3ByZWFkRWxlbWVudFxufSBmcm9tICdlc3RyZWUnO1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk5hbWVSdWxlT3B0aW9ucyB9IGZyb20gJy4uL3BsdWdpbi1uYW1lcy50cyc7XG5cbmltcG9ydCB7XG4gIGZpbmRQbHVnaW5OYW1lTWF0Y2hlcyxcbiAgZ2V0UGx1Z2luTmFtZXNcbn0gZnJvbSAnLi4vcGx1Z2luLW5hbWVzLnRzJztcbmltcG9ydCB7IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BIH0gZnJvbSAnLi9wbHVnaW4tbmFtZS1hcy1jb2RlLnRzJztcblxuLyoqXG4gKiBNZXNzYWdlIElEIHJlcG9ydGVkIGZvciBhIHBsdWdpbiBuYW1lIGluc2lkZSBhIFVJIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncGx1Z2luTmFtZUFzQ29kZUluVWknO1xuXG4vKipcbiAqIFRoZSBtZXRob2RzIHdob3NlIGZpcnN0IGFyZ3VtZW50IGlzIHNob3duIGluIFVJIGFuZCBtYXkgYmUgYSBgRG9jdW1lbnRGcmFnbWVudGAuXG4gKi9cbmNvbnN0IFVJX1RFWFRfTUVUSE9EX05BTUVTID0gbmV3IFNldChbJ2FwcGVuZFRleHQnLCAnc2V0RGVzYycsICdzZXROYW1lJywgJ3NldFRleHQnLCAnc2V0VGl0bGUnXSk7XG5cbi8qKlxuICogVGhlIGVsZW1lbnQgZmFjdG9yaWVzIHdob3NlIG9wdGlvbnMgb2JqZWN0IGNhcnJpZXMgVUkgdGV4dCBpbiBgdGV4dGAuXG4gKi9cbmNvbnN0IEVMRU1FTlRfRkFDVE9SWV9OQU1FUyA9IG5ldyBTZXQoWydjcmVhdGVEaXYnLCAnY3JlYXRlRWwnLCAnY3JlYXRlU3BhbiddKTtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgYSBwbHVnaW4gbmFtZSBzaG93biBpbiBVSSB0byBiZSBidWlsdCBhcyBhIGA8Y29kZT5gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwbHVnaW5OYW1lQXNDb2RlSW5VaTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gYXMgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBsdWdpbk5hbWVzID0gZ2V0UGx1Z2luTmFtZXMoeyBhZGRpdGlvbmFsUGx1Z2luTmFtZXM6IG9wdGlvbnM/LmFkZGl0aW9uYWxQbHVnaW5OYW1lcywgY3dkOiBjb250ZXh0LmN3ZCB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlOiBDYWxsRXhwcmVzc2lvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWxsZWVOYW1lID0gZ2V0Q2FsbGVlTmFtZShub2RlKTtcbiAgICAgICAgaWYgKGNhbGxlZU5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoVUlfVEVYVF9NRVRIT0RfTkFNRVMuaGFzKGNhbGxlZU5hbWUpICYmIG5vZGUuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJykge1xuICAgICAgICAgIGluc3BlY3RBcmd1bWVudChub2RlLmFyZ3VtZW50c1swXSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFFTEVNRU5UX0ZBQ1RPUllfTkFNRVMuaGFzKGNhbGxlZU5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBhcmd1bWVudCBvZiBub2RlLmFyZ3VtZW50cykge1xuICAgICAgICAgIGlmIChhcmd1bWVudC50eXBlICE9PSAnT2JqZWN0RXhwcmVzc2lvbicpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGFyZ3VtZW50LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0eS50eXBlID09PSAnUHJvcGVydHknICYmICFwcm9wZXJ0eS5jb21wdXRlZCAmJiBnZXRLZXlOYW1lKHByb3BlcnR5LmtleSkgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgICBpbnNwZWN0RXhwcmVzc2lvbihwcm9wZXJ0eS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTmV3RXhwcmVzc2lvbihub2RlOiBOZXdFeHByZXNzaW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChub2RlLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicgJiYgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ05vdGljZScpIHtcbiAgICAgICAgICBpbnNwZWN0QXJndW1lbnQobm9kZS5hcmd1bWVudHNbMF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGluc3BlY3RBcmd1bWVudChhcmd1bWVudDogRXhwcmVzc2lvbiB8IFNwcmVhZEVsZW1lbnQgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgIGlmIChhcmd1bWVudCAmJiBhcmd1bWVudC50eXBlICE9PSAnU3ByZWFkRWxlbWVudCcpIHtcbiAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24oYXJndW1lbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3BlY3RFeHByZXNzaW9uKG5vZGU6IE5vZGUpOiB2b2lkIHtcbiAgICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0JpbmFyeUV4cHJlc3Npb24nOiB7XG4gICAgICAgICAgaWYgKG5vZGUub3BlcmF0b3IgPT09ICcrJykge1xuICAgICAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24obm9kZS5sZWZ0KTtcbiAgICAgICAgICAgIGluc3BlY3RFeHByZXNzaW9uKG5vZGUucmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdDb25kaXRpb25hbEV4cHJlc3Npb24nOiB7XG4gICAgICAgICAgaW5zcGVjdEV4cHJlc3Npb24obm9kZS5jb25zZXF1ZW50KTtcbiAgICAgICAgICBpbnNwZWN0RXhwcmVzc2lvbihub2RlLmFsdGVybmF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnTGl0ZXJhbCc6IHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5vZGUudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXBvcnRUZXh0KG5vZGUsIG5vZGUudmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdUZW1wbGF0ZUxpdGVyYWwnOiB7XG4gICAgICAgICAgZm9yIChjb25zdCB0ZW1wbGF0ZUVsZW1lbnQgb2Ygbm9kZS5xdWFzaXMpIHtcbiAgICAgICAgICAgIHJlcG9ydFRleHQodGVtcGxhdGVFbGVtZW50LCB0ZW1wbGF0ZUVsZW1lbnQudmFsdWUucmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVwb3J0VGV4dChub2RlOiBOb2RlLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgZmluZFBsdWdpbk5hbWVNYXRjaGVzKHRleHQsIHBsdWdpbk5hbWVzKSkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgZGF0YTogeyBuYW1lOiBtYXRjaC5uYW1lIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGEgcGx1Z2luIG5hbWUgc2hvd24gaW4gVUkgdG8gYmUgYnVpbHQgYXMgYSBgPGNvZGU+YCBlbGVtZW50J1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ1RoZSBwbHVnaW4gbmFtZSBge3sgbmFtZSB9fWAgaXMgc2hvd24gaW4gVUkgYXMgcGxhaW4gdGV4dC4gQnVpbGQgaXQgYXMgYSBgPGNvZGU+YCBlbGVtZW50IGluc3RlYWQ6IGBhcHBlbmRDb2RlQmxvY2soKWAgaW50byBhIGBEb2N1bWVudEZyYWdtZW50YCwgb3IgYGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoKWAgd2l0aCBgYXNDb2RlQmxvY2soKWAsIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgXFwncyBgaHRtbC1lbGVtZW50LnRzYC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BLFxuICAgIHR5cGU6ICdzdWdnZXN0aW9uJ1xuICB9XG59O1xuXG4vKipcbiAqIFJlYWRzIHRoZSBuYW1lIGEgY2FsbCBpcyBtYWRlIGJ5OiB0aGUgZnVuY3Rpb24ncyBuYW1lLCBvciB0aGUgbWV0aG9kJ3MgZm9yIGEgbWVtYmVyIGNhbGwuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbC5cbiAqIEByZXR1cm5zIFRoZSBuYW1lLCBvciBgbnVsbGAgZm9yIGEgY29tcHV0ZWQgb3Igb3RoZXJ3aXNlIHVubmFtZWQgY2FsbGVlLlxuICovXG5mdW5jdGlvbiBnZXRDYWxsZWVOYW1lKG5vZGU6IENhbGxFeHByZXNzaW9uKTogbnVsbCB8IHN0cmluZyB7XG4gIGlmIChub2RlLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gbm9kZS5jYWxsZWUubmFtZTtcbiAgfVxuXG4gIHJldHVybiBub2RlLmNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgIW5vZGUuY2FsbGVlLmNvbXB1dGVkICYmIG5vZGUuY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgID8gbm9kZS5jYWxsZWUucHJvcGVydHkubmFtZVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgbmFtZSBvZiBhbiBvYmplY3QgcHJvcGVydHkga2V5IHdyaXR0ZW4gYXMgYW4gaWRlbnRpZmllciBvciBhIHN0cmluZyBsaXRlcmFsLlxuICpcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICogQHJldHVybnMgVGhlIG5hbWUsIG9yIGBudWxsYCBmb3IgYW55IG90aGVyIGtleS5cbiAqL1xuZnVuY3Rpb24gZ2V0S2V5TmFtZShrZXk6IE5vZGUpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKGtleS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4ga2V5Lm5hbWU7XG4gIH1cblxuICByZXR1cm4ga2V5LnR5cGUgPT09ICdMaXRlcmFsJyAmJiB0eXBlb2Yga2V5LnZhbHVlID09PSAnc3RyaW5nJyA/IGtleS52YWx1ZSA6IG51bGw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQ0EsMEJBR087QUFDUCxpQ0FBd0M7QUFLakMsTUFBTSxhQUFhO0FBSzFCLE1BQU0sdUJBQXVCLG9CQUFJLElBQUksQ0FBQyxjQUFjLFdBQVcsV0FBVyxXQUFXLFVBQVUsQ0FBQztBQUtoRyxNQUFNLHdCQUF3QixvQkFBSSxJQUFJLENBQUMsYUFBYSxZQUFZLFlBQVksQ0FBQztBQUt0RSxNQUFNLHVCQUF3QztBQUFBLEVBQ25ELE9BQU8sU0FBUztBQUNkLFVBQU0sVUFBVSxRQUFRLFFBQVEsQ0FBQztBQUNqQyxVQUFNLGtCQUFjLG9DQUFlLEVBQUUsdUJBQXVCLFNBQVMsdUJBQXVCLEtBQUssUUFBUSxJQUFJLENBQUM7QUFFOUcsV0FBTztBQUFBLE1BQ0wsZUFBZSxNQUE0QjtBQUN6QyxjQUFNLGFBQWEsY0FBYyxJQUFJO0FBQ3JDLFlBQUksZUFBZSxNQUFNO0FBQ3ZCO0FBQUEsUUFDRjtBQUVBLFlBQUkscUJBQXFCLElBQUksVUFBVSxLQUFLLEtBQUssT0FBTyxTQUFTLG9CQUFvQjtBQUNuRiwwQkFBZ0IsS0FBSyxVQUFVLENBQUMsQ0FBQztBQUNqQztBQUFBLFFBQ0Y7QUFFQSxZQUFJLENBQUMsc0JBQXNCLElBQUksVUFBVSxHQUFHO0FBQzFDO0FBQUEsUUFDRjtBQUVBLG1CQUFXLFlBQVksS0FBSyxXQUFXO0FBQ3JDLGNBQUksU0FBUyxTQUFTLG9CQUFvQjtBQUN4QztBQUFBLFVBQ0Y7QUFDQSxxQkFBVyxZQUFZLFNBQVMsWUFBWTtBQUMxQyxn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
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.cts" />
1
+ /// <reference path="../../library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,52 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
50
- })();
51
5
  (function patchObsidianRequire() {
52
6
  const originalRequire = require;
53
7
  if (!originalRequire || originalRequire.__isPatched) {
@@ -212,4 +166,4 @@ const pluginNameAsCode = {
212
166
  PLUGIN_NAME_RULE_SCHEMA,
213
167
  pluginNameAsCode
214
168
  });
215
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL3BsdWdpbi1uYW1lLWFzLWNvZGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcGx1Z2luLW5hbWUtYXMtY29kZVxuICpcbiAqIFJlcG9ydHMgYW4gT2JzaWRpYW4gcGx1Z2luJ3MgZGlzcGxheSBuYW1lIHdyaXR0ZW4gYXMgcGxhaW4gdGV4dCBpbiBhIGNvZGUgY29tbWVudCwgYW5kIGF1dG9maXhlcyBpdCBieSB3cmFwcGluZ1xuICogdGhlIG5hbWUgaW4gYmFja3RpY2tzLiBUU0RvYyByZW5kZXJzIGEgbmFtZSBpbiBiYWNrdGlja3MgYXMgY29kZSwgc28gYSBkb2MgY29tbWVudCByZWFkcyB0aGUgc2FtZSBhcyB0aGUgUkVBRE1FLlxuICpcbiAqIEV2ZXJ5IGNvbW1lbnQgaXMgcmVhZDogYC8vYCwgYC8qICpcXC9gIGFuZCBKU0RvYyAvIFRTRG9jLiBBIG5hbWUgYWxyZWFkeSBpbnNpZGUgYSBjb2RlIHNwYW4sIGFuIGlubGluZSBgQGxpbmtgIHRhZ1xuICogKHdob3NlIHRhcmdldCBpcyBhbiBpZGVudGlmaWVyKSBvciBhIFVSTCBpcyBsZWZ0IGFsb25lLiBUaGUgbmFtZXMgY29tZSBmcm9tIGBwbHVnaW4tbmFtZXMudHNgOiB0aGUgc2hhcmVkIGxpc3QsXG4gKiB0aGUgcHJvamVjdCdzIG93biBgbWFuaWZlc3QuanNvbmAgYG5hbWVgLCBhbmQgdGhlIHJ1bGUncyBgYWRkaXRpb25hbFBsdWdpbk5hbWVzYCBvcHRpb24uXG4gKlxuICogTm90IGF0dGVtcHRlZDogYSBtdWx0aS13b3JkIG5hbWUgYnJva2VuIGFjcm9zcyB0d28gY29tbWVudCBsaW5lcywgd2hpY2ggYSByZWFkZXIgY2Fubm90IHRlbGwgZnJvbSB0d28gdW5yZWxhdGVkXG4gKiB3b3JkcyB3aXRob3V0IHVuZGVyc3RhbmRpbmcgdGhlIHByb3NlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIH0gZnJvbSAnLi4vcGx1Z2luLW5hbWVzLnRzJztcblxuaW1wb3J0IHtcbiAgZmluZFBsdWdpbk5hbWVNYXRjaGVzLFxuICBnZXRQbHVnaW5OYW1lc1xufSBmcm9tICcuLi9wbHVnaW4tbmFtZXMudHMnO1xuXG4vKipcbiAqIE1lc3NhZ2UgSUQgcmVwb3J0ZWQgZm9yIGEgcGx1Z2luIG5hbWUgd3JpdHRlbiBhcyBwbGFpbiB0ZXh0IGluIGEgY29tbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncGx1Z2luTmFtZUFzQ29kZSc7XG5cbi8qKlxuICogVGhlIGNvbW1lbnQgc3BhbnMgd2hvc2UgcGx1Z2luIG5hbWVzIGFyZSBhbHJlYWR5IG1hcmtlZCBvciBhcmUgbm90IHByb3NlOiBhIGNvZGUgc3BhbiwgYW4gaW5saW5lIGBAbGlua2AgdGFnLCBhIFVSTC5cbiAqL1xuY29uc3QgRVhDTFVERURfQ09NTUVOVF9QQVRURVJOUzogcmVhZG9ubHkgUmVnRXhwW10gPSBbXG4gIC8oPzx0aWNrcz5gKylbXFxzXFxTXSo/XFxrPHRpY2tzPi9nLFxuICAvXFx7QGxpbmtcXHcqW159XSpcXH0vZyxcbiAgL1xcYlthLXpdW1xcdysuLV0qOlxcL1xcL1xcUysvZ2lcbl07XG5cbi8qKlxuICogVGhlIGxlbmd0aCBvZiB0aGUgb3BlbmluZyBkZWxpbWl0ZXIgb2YgYSBgLy9gIG9yIGAvKmAgY29tbWVudCwgd2hpY2ggYGNvbW1lbnQudmFsdWVgIGxlYXZlcyBvdXQuXG4gKi9cbmNvbnN0IENPTU1FTlRfT1BFTklOR19MRU5HVEggPSAyO1xuXG4vKipcbiAqIFRoZSBKU09OIHNjaGVtYSBvZiB0aGUgb3B0aW9ucyB0aGUgcGx1Z2luLW5hbWUgcnVsZXMgdGFrZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BOiBSdWxlLlJ1bGVNZXRhRGF0YVsnc2NoZW1hJ10gPSBbXG4gIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgYWRkaXRpb25hbFBsdWdpbk5hbWVzOiB7XG4gICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIHR5cGU6ICdhcnJheSdcbiAgICAgIH1cbiAgICB9LFxuICAgIHR5cGU6ICdvYmplY3QnXG4gIH1cbl07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgcmVxdWlyaW5nIGEgcGx1Z2luIG5hbWUgaW4gYSBjb21tZW50IHRvIGJlIG1hcmtlZCBhcyBjb2RlLlxuICovXG5leHBvcnQgY29uc3QgcGx1Z2luTmFtZUFzQ29kZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gYXMgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBsdWdpbk5hbWVzID0gZ2V0UGx1Z2luTmFtZXMoeyBhZGRpdGlvbmFsUGx1Z2luTmFtZXM6IG9wdGlvbnM/LmFkZGl0aW9uYWxQbHVnaW5OYW1lcywgY3dkOiBjb250ZXh0LmN3ZCB9KTtcbiAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFByb2dyYW0oKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBzb3VyY2VDb2RlLmdldEFsbENvbW1lbnRzKCkpIHtcbiAgICAgICAgICBjb25zdCBbdmFsdWVTdGFydF0gPSBzb3VyY2VDb2RlLmdldFJhbmdlKGNvbW1lbnQpO1xuICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgZmluZFBsdWdpbk5hbWVNYXRjaGVzKGNvbW1lbnQudmFsdWUsIHBsdWdpbk5hbWVzLCBFWENMVURFRF9DT01NRU5UX1BBVFRFUk5TKSkge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVN0YXJ0ICsgQ09NTUVOVF9PUEVOSU5HX0xFTkdUSCArIG1hdGNoLmluZGV4O1xuICAgICAgICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyBtYXRjaC5uYW1lLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgZGF0YTogeyBuYW1lOiBtYXRjaC5uYW1lIH0sXG4gICAgICAgICAgICAgIGZpeDogKGZpeGVyKSA9PiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFtzdGFydCwgZW5kXSwgYFxcYCR7bWF0Y2gubmFtZX1cXGBgKSxcbiAgICAgICAgICAgICAgbG9jOiB7XG4gICAgICAgICAgICAgICAgZW5kOiBzb3VyY2VDb2RlLmdldExvY0Zyb21JbmRleChlbmQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBzb3VyY2VDb2RlLmdldExvY0Zyb21JbmRleChzdGFydClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGEgcGx1Z2luIG5hbWUgaW4gYSBjb21tZW50IHRvIGJlIG1hcmtlZCBhcyBjb2RlIHdpdGggYmFja3RpY2tzJ1xuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdNYXJrIHRoZSBwbHVnaW4gbmFtZSBge3sgbmFtZSB9fWAgYXMgY29kZTogd3JhcCBpdCBpbiBiYWNrdGlja3MuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBQTFVHSU5fTkFNRV9SVUxFX1NDSEVNQSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkEsMEJBR087QUFLQSxNQUFNLGFBQWE7QUFLMUIsTUFBTSw0QkFBK0M7QUFBQSxFQUNuRDtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0Y7QUFLQSxNQUFNLHlCQUF5QjtBQUt4QixNQUFNLDBCQUF1RDtBQUFBLEVBQ2xFO0FBQUEsSUFDRSxzQkFBc0I7QUFBQSxJQUN0QixZQUFZO0FBQUEsTUFDVix1QkFBdUI7QUFBQSxRQUNyQixPQUFPLEVBQUUsTUFBTSxTQUFTO0FBQUEsUUFDeEIsTUFBTTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBQUEsSUFDQSxNQUFNO0FBQUEsRUFDUjtBQUNGO0FBS08sTUFBTSxtQkFBb0M7QUFBQSxFQUMvQyxPQUFPLFNBQVM7QUFDZCxVQUFNLFVBQVUsUUFBUSxRQUFRLENBQUM7QUFDakMsVUFBTSxrQkFBYyxvQ0FBZSxFQUFFLHVCQUF1QixTQUFTLHVCQUF1QixLQUFLLFFBQVEsSUFBSSxDQUFDO0FBQzlHLFVBQU0sYUFBYSxRQUFRO0FBRTNCLFdBQU87QUFBQSxNQUNMLFVBQWdCO0FBQ2QsbUJBQVcsV0FBVyxXQUFXLGVBQWUsR0FBRztBQUNqRCxnQkFBTSxDQUFDLFVBQVUsSUFBSSxXQUFXLFNBQVMsT0FBTztBQUNoRCxxQkFBVyxhQUFTLDJDQUFzQixRQUFRLE9BQU8sYUFBYSx5QkFBeUIsR0FBRztBQUNoRyxrQkFBTSxRQUFRLGFBQWEseUJBQXlCLE1BQU07QUFDMUQsa0JBQU0sTUFBTSxRQUFRLE1BQU0sS0FBSztBQUMvQixvQkFBUSxPQUFPO0FBQUEsY0FDYixNQUFNLEVBQUUsTUFBTSxNQUFNLEtBQUs7QUFBQSxjQUN6QixLQUFLLENBQUMsVUFBVSxNQUFNLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxHQUFHLEtBQUssTUFBTSxJQUFJLElBQUk7QUFBQSxjQUN4RSxLQUFLO0FBQUEsZ0JBQ0gsS0FBSyxXQUFXLGdCQUFnQixHQUFHO0FBQUEsZ0JBQ25DLE9BQU8sV0FBVyxnQkFBZ0IsS0FBSztBQUFBLGNBQ3pDO0FBQUEsY0FDQSxXQUFXO0FBQUEsWUFDYixDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9wbHVnaW4tbmFtZS1hcy1jb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcGx1Z2luLW5hbWUtYXMtY29kZVxuICpcbiAqIFJlcG9ydHMgYW4gT2JzaWRpYW4gcGx1Z2luJ3MgZGlzcGxheSBuYW1lIHdyaXR0ZW4gYXMgcGxhaW4gdGV4dCBpbiBhIGNvZGUgY29tbWVudCwgYW5kIGF1dG9maXhlcyBpdCBieSB3cmFwcGluZ1xuICogdGhlIG5hbWUgaW4gYmFja3RpY2tzLiBUU0RvYyByZW5kZXJzIGEgbmFtZSBpbiBiYWNrdGlja3MgYXMgY29kZSwgc28gYSBkb2MgY29tbWVudCByZWFkcyB0aGUgc2FtZSBhcyB0aGUgUkVBRE1FLlxuICpcbiAqIEV2ZXJ5IGNvbW1lbnQgaXMgcmVhZDogYC8vYCwgYC8qICpcXC9gIGFuZCBKU0RvYyAvIFRTRG9jLiBBIG5hbWUgYWxyZWFkeSBpbnNpZGUgYSBjb2RlIHNwYW4sIGFuIGlubGluZSBgQGxpbmtgIHRhZ1xuICogKHdob3NlIHRhcmdldCBpcyBhbiBpZGVudGlmaWVyKSBvciBhIFVSTCBpcyBsZWZ0IGFsb25lLiBUaGUgbmFtZXMgY29tZSBmcm9tIGBwbHVnaW4tbmFtZXMudHNgOiB0aGUgc2hhcmVkIGxpc3QsXG4gKiB0aGUgcHJvamVjdCdzIG93biBgbWFuaWZlc3QuanNvbmAgYG5hbWVgLCBhbmQgdGhlIHJ1bGUncyBgYWRkaXRpb25hbFBsdWdpbk5hbWVzYCBvcHRpb24uXG4gKlxuICogTm90IGF0dGVtcHRlZDogYSBtdWx0aS13b3JkIG5hbWUgYnJva2VuIGFjcm9zcyB0d28gY29tbWVudCBsaW5lcywgd2hpY2ggYSByZWFkZXIgY2Fubm90IHRlbGwgZnJvbSB0d28gdW5yZWxhdGVkXG4gKiB3b3JkcyB3aXRob3V0IHVuZGVyc3RhbmRpbmcgdGhlIHByb3NlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIH0gZnJvbSAnLi4vcGx1Z2luLW5hbWVzLnRzJztcblxuaW1wb3J0IHtcbiAgZmluZFBsdWdpbk5hbWVNYXRjaGVzLFxuICBnZXRQbHVnaW5OYW1lc1xufSBmcm9tICcuLi9wbHVnaW4tbmFtZXMudHMnO1xuXG4vKipcbiAqIE1lc3NhZ2UgSUQgcmVwb3J0ZWQgZm9yIGEgcGx1Z2luIG5hbWUgd3JpdHRlbiBhcyBwbGFpbiB0ZXh0IGluIGEgY29tbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAncGx1Z2luTmFtZUFzQ29kZSc7XG5cbi8qKlxuICogVGhlIGNvbW1lbnQgc3BhbnMgd2hvc2UgcGx1Z2luIG5hbWVzIGFyZSBhbHJlYWR5IG1hcmtlZCBvciBhcmUgbm90IHByb3NlOiBhIGNvZGUgc3BhbiwgYW4gaW5saW5lIGBAbGlua2AgdGFnLCBhIFVSTC5cbiAqL1xuY29uc3QgRVhDTFVERURfQ09NTUVOVF9QQVRURVJOUzogcmVhZG9ubHkgUmVnRXhwW10gPSBbXG4gIC8oPzx0aWNrcz5gKylbXFxzXFxTXSo/XFxrPHRpY2tzPi9nLFxuICAvXFx7QGxpbmtcXHcqW159XSpcXH0vZyxcbiAgL1xcYlthLXpdW1xcdysuLV0qOlxcL1xcL1xcUysvZ2lcbl07XG5cbi8qKlxuICogVGhlIGxlbmd0aCBvZiB0aGUgb3BlbmluZyBkZWxpbWl0ZXIgb2YgYSBgLy9gIG9yIGAvKmAgY29tbWVudCwgd2hpY2ggYGNvbW1lbnQudmFsdWVgIGxlYXZlcyBvdXQuXG4gKi9cbmNvbnN0IENPTU1FTlRfT1BFTklOR19MRU5HVEggPSAyO1xuXG4vKipcbiAqIFRoZSBKU09OIHNjaGVtYSBvZiB0aGUgb3B0aW9ucyB0aGUgcGx1Z2luLW5hbWUgcnVsZXMgdGFrZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9OQU1FX1JVTEVfU0NIRU1BOiBSdWxlLlJ1bGVNZXRhRGF0YVsnc2NoZW1hJ10gPSBbXG4gIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgYWRkaXRpb25hbFBsdWdpbk5hbWVzOiB7XG4gICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIHR5cGU6ICdhcnJheSdcbiAgICAgIH1cbiAgICB9LFxuICAgIHR5cGU6ICdvYmplY3QnXG4gIH1cbl07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgcmVxdWlyaW5nIGEgcGx1Z2luIG5hbWUgaW4gYSBjb21tZW50IHRvIGJlIG1hcmtlZCBhcyBjb2RlLlxuICovXG5leHBvcnQgY29uc3QgcGx1Z2luTmFtZUFzQ29kZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gYXMgUGx1Z2luTmFtZVJ1bGVPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBsdWdpbk5hbWVzID0gZ2V0UGx1Z2luTmFtZXMoeyBhZGRpdGlvbmFsUGx1Z2luTmFtZXM6IG9wdGlvbnM/LmFkZGl0aW9uYWxQbHVnaW5OYW1lcywgY3dkOiBjb250ZXh0LmN3ZCB9KTtcbiAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFByb2dyYW0oKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBzb3VyY2VDb2RlLmdldEFsbENvbW1lbnRzKCkpIHtcbiAgICAgICAgICBjb25zdCBbdmFsdWVTdGFydF0gPSBzb3VyY2VDb2RlLmdldFJhbmdlKGNvbW1lbnQpO1xuICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgZmluZFBsdWdpbk5hbWVNYXRjaGVzKGNvbW1lbnQudmFsdWUsIHBsdWdpbk5hbWVzLCBFWENMVURFRF9DT01NRU5UX1BBVFRFUk5TKSkge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVN0YXJ0ICsgQ09NTUVOVF9PUEVOSU5HX0xFTkdUSCArIG1hdGNoLmluZGV4O1xuICAgICAgICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyBtYXRjaC5uYW1lLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgZGF0YTogeyBuYW1lOiBtYXRjaC5uYW1lIH0sXG4gICAgICAgICAgICAgIGZpeDogKGZpeGVyKSA9PiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFtzdGFydCwgZW5kXSwgYFxcYCR7bWF0Y2gubmFtZX1cXGBgKSxcbiAgICAgICAgICAgICAgbG9jOiB7XG4gICAgICAgICAgICAgICAgZW5kOiBzb3VyY2VDb2RlLmdldExvY0Zyb21JbmRleChlbmQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBzb3VyY2VDb2RlLmdldExvY0Zyb21JbmRleChzdGFydClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGEgcGx1Z2luIG5hbWUgaW4gYSBjb21tZW50IHRvIGJlIG1hcmtlZCBhcyBjb2RlIHdpdGggYmFja3RpY2tzJ1xuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdNYXJrIHRoZSBwbHVnaW4gbmFtZSBge3sgbmFtZSB9fWAgYXMgY29kZTogd3JhcCBpdCBpbiBiYWNrdGlja3MuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBQTFVHSU5fTkFNRV9SVUxFX1NDSEVNQSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBLDBCQUdPO0FBS0EsTUFBTSxhQUFhO0FBSzFCLE1BQU0sNEJBQStDO0FBQUEsRUFDbkQ7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBS0EsTUFBTSx5QkFBeUI7QUFLeEIsTUFBTSwwQkFBdUQ7QUFBQSxFQUNsRTtBQUFBLElBQ0Usc0JBQXNCO0FBQUEsSUFDdEIsWUFBWTtBQUFBLE1BQ1YsdUJBQXVCO0FBQUEsUUFDckIsT0FBTyxFQUFFLE1BQU0sU0FBUztBQUFBLFFBQ3hCLE1BQU07QUFBQSxNQUNSO0FBQUEsSUFDRjtBQUFBLElBQ0EsTUFBTTtBQUFBLEVBQ1I7QUFDRjtBQUtPLE1BQU0sbUJBQW9DO0FBQUEsRUFDL0MsT0FBTyxTQUFTO0FBQ2QsVUFBTSxVQUFVLFFBQVEsUUFBUSxDQUFDO0FBQ2pDLFVBQU0sa0JBQWMsb0NBQWUsRUFBRSx1QkFBdUIsU0FBUyx1QkFBdUIsS0FBSyxRQUFRLElBQUksQ0FBQztBQUM5RyxVQUFNLGFBQWEsUUFBUTtBQUUzQixXQUFPO0FBQUEsTUFDTCxVQUFnQjtBQUNkLG1CQUFXLFdBQVcsV0FBVyxlQUFlLEdBQUc7QUFDakQsZ0JBQU0sQ0FBQyxVQUFVLElBQUksV0FBVyxTQUFTLE9BQU87QUFDaEQscUJBQVcsYUFBUywyQ0FBc0IsUUFBUSxPQUFPLGFBQWEseUJBQXlCLEdBQUc7QUFDaEcsa0JBQU0sUUFBUSxhQUFhLHlCQUF5QixNQUFNO0FBQzFELGtCQUFNLE1BQU0sUUFBUSxNQUFNLEtBQUs7QUFDL0Isb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTSxFQUFFLE1BQU0sTUFBTSxLQUFLO0FBQUEsY0FDekIsS0FBSyxDQUFDLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxLQUFLLE1BQU0sSUFBSSxJQUFJO0FBQUEsY0FDeEUsS0FBSztBQUFBLGdCQUNILEtBQUssV0FBVyxnQkFBZ0IsR0FBRztBQUFBLGdCQUNuQyxPQUFPLFdBQVcsZ0JBQWdCLEtBQUs7QUFBQSxjQUN6QztBQUFBLGNBQ0EsV0FBVztBQUFBLFlBQ2IsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1IsTUFBTTtBQUFBLEVBQ1I7QUFDRjsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.cts" />
1
+ /// <reference path="../../library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
30
+ ensureBrowserProcess();
50
31
  })();
51
32
  (function patchObsidianRequire() {
52
33
  const originalRequire = require;
@@ -275,4 +256,4 @@ function reportClass(params) {
275
256
  MESSAGE_ID_MISSING_SUFFIX,
276
257
  requireComponentSuffix
277
258
  });
278
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZXF1aXJlLWNvbXBvbmVudC1zdWZmaXhcbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYSBjbGFzcyB0aGF0IGV4dGVuZHMgYENvbXBvbmVudGAgKGZyb20gT2JzaWRpYW4sXG4gKiBkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkpIGRvZXMgbm90IGhhdmUgYSBuYW1lIGVuZGluZyB3aXRoIGBDb21wb25lbnRgXG4gKiAob3IgYENvbXBvbmVudEJhc2VgIGZvciBhYnN0cmFjdCBiYXNlIGNsYXNzZXMpLlxuICpcbiAqIENsYXNzZXMgd2hvc2UgaW5oZXJpdGFuY2UgY2hhaW4gaW5jbHVkZXMgYW55IG9mIHRoZSBPYnNpZGlhbiBmcmFtZXdvcmtcbiAqIGNsYXNzZXMgdGhhdCBleHRlbmQgYENvbXBvbmVudGAgKGUuZy4gYFBsdWdpbmAsIGBWaWV3YCxcbiAqIGBNYXJrZG93blJlbmRlckNoaWxkYCwgYE1lbnVgLCBgSG92ZXJQb3BvdmVyYCwgYFF1ZXJ5Q29udHJvbGxlcmApXG4gKiBhcmUgZXhjbHVkZWQgYmVjYXVzZSB0aGV5IGZvbGxvdyBPYnNpZGlhbidzIG93biBuYW1pbmcgY29udmVudGlvbnMuXG4gKlxuICogVGhlIHJ1bGUgdXNlcyB0aGUgVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIgdG8gd2FsayB0aGUgZnVsbCBpbmhlcml0YW5jZVxuICogY2hhaW4sIHNvIGl0IHdvcmtzIHJlZ2FyZGxlc3Mgb2YgaG93IG1hbnkgaW50ZXJtZWRpYXRlIGNsYXNzZXMgc2l0XG4gKiBiZXR3ZWVuIHRoZSB1c2VyJ3MgY2xhc3MgYW5kIGBDb21wb25lbnRgLlxuICovXG5pbXBvcnQgdHlwZSB7XG4gIFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbixcbiAgVFNFU1RyZWVcbn0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgdG9UU0VTVHJlZU5vZGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9saW50ZXJzL2VzbGludC1ydWxlcy90cy1lc3RyZWUtbm9kZSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgY2xhc3MgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudGAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYID0gJ3JlcXVpcmVDb21wb25lbnRTdWZmaXgnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhYnN0cmFjdCBjbGFzcyBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UgPSAnYWJzdHJhY3ROZWVkc0NvbXBvbmVudEJhc2UnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGNsYXNzIG5hbWUgZW5kcyB3aXRoIGBDb21wb25lbnRCYXNlYCBidXQgdGhlIGNsYXNzIGlzIG5vdCBhYnN0cmFjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QgPSAnY29tcG9uZW50QmFzZU5vdEFic3RyYWN0JztcblxuLyoqXG5BbmNlc3RvciBjbGFzcyBuYW1lcyB0aGF0IG9wdCBhIHN1YnRyZWUgb3V0IG9mIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IEVYQ0xVREVEX0FOQ0VTVE9SUyA9IG5ldyBTZXQoWydIb3ZlclBvcG92ZXInLCAnTWFya2Rvd25SZW5kZXJDaGlsZCcsICdNZW51JywgJ1BsdWdpbicsICdRdWVyeUNvbnRyb2xsZXInLCAnVmlldyddKTtcblxuLyoqXG5UaGUgYW5jZXN0b3IgY2xhc3MgbmFtZSB0aGF0IHRyaWdnZXJzIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IFJFUVVJUkVEX0FOQ0VTVE9SID0gJ0NvbXBvbmVudCc7XG5cbmludGVyZmFjZSBUeXBlV2l0aEJhc2VUeXBlcyB7XG4gIGdldEJhc2VUeXBlcz86ICgpID0+IFR5cGVbXSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgY2xhc3NlcyB0aGF0IGV4dGVuZCBgQ29tcG9uZW50YCB0byBiZSBuYW1lZCB3aXRoIGEgYENvbXBvbmVudGAgc3VmZml4LCBhbmQgYWJzdHJhY3Qgb25lcyB3aXRoIGEgYENvbXBvbmVudEJhc2VgIHN1ZmZpeC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlcXVpcmVDb21wb25lbnRTdWZmaXg6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IGNvbnRleHQuc291cmNlQ29kZS5wYXJzZXJTZXJ2aWNlcyBhcyBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb247XG4gICAgY29uc3QgY2hlY2tlciA9IHNlcnZpY2VzLnByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnQ2xhc3NEZWNsYXJhdGlvbltpZF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnRDbGFzcyh7XG4gICAgICAgICAgY2hlY2tlcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgc2VydmljZXNcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgJ0NsYXNzRXhwcmVzc2lvbltpZF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnRDbGFzcyh7XG4gICAgICAgICAgY2hlY2tlcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgc2VydmljZXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVxdWlyZSBjbGFzc2VzIGV4dGVuZGluZyBgQ29tcG9uZW50YCB0byBoYXZlIG5hbWVzIGVuZGluZyB3aXRoIGBDb21wb25lbnRgJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0VdOiAnQWJzdHJhY3QgY2xhc3MgYHt7IGNsYXNzTmFtZSB9fWAgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudEJhc2VgLicsXG4gICAgICBbTUVTU0FHRV9JRF9CQVNFX05PVF9BQlNUUkFDVF06ICdDbGFzcyBge3sgY2xhc3NOYW1lIH19YCBlbmRzIHdpdGggYENvbXBvbmVudEJhc2VgIGJ1dCBpcyBub3QgYWJzdHJhY3QuIE9ubHkgYWJzdHJhY3QgY2xhc3NlcyBtYXkgdXNlIHRoZSBgQ29tcG9uZW50QmFzZWAgc3VmZml4LicsXG4gICAgICBbTUVTU0FHRV9JRF9NSVNTSU5HX1NVRkZJWF06ICdDbGFzcyBge3sgY2xhc3NOYW1lIH19YCBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50YC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZXBvcnRDbGFzc30uXG4gKi9cbmludGVyZmFjZSBSZXBvcnRDbGFzc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gICAqL1xuICByZWFkb25seSBjaGVja2VyOiBSZXR1cm5UeXBlPFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvblsncHJvZ3JhbSddWydnZXRUeXBlQ2hlY2tlciddPjtcblxuICAvKipcbiAgICogVGhlIEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgY2xhc3MgQVNUIG5vZGUuXG4gICAqL1xuICByZWFkb25seSBub2RlOiBSdWxlLk5vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJzZXIgc2VydmljZXMgd2l0aCB0eXBlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZXM6IFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2Fsa0FuY2VzdG9yc30uXG4gKi9cbmludGVyZmFjZSBXYWxrQW5jZXN0b3JzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXQgdG8gYWRkIGRpc2NvdmVyZWQgYW5jZXN0b3IgbmFtZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBjb2xsZWN0ZWROYW1lczogU2V0PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHR5cGUgdG8gaW5zcGVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRUeXBlOiBUeXBlO1xuXG4gIC8qKlxuICAgKiBUeXBlcyBhbHJlYWR5IHZpc2l0ZWQsIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAqL1xuICByZWFkb25seSB2aXNpdGVkVHlwZXM6IFNldDxUeXBlPjtcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyB0aGUgbmFtZXMgb2YgYWxsIGFuY2VzdG9yIHR5cGVzIGluIHRoZSBpbmhlcml0YW5jZSBjaGFpbi5cbiAqXG4gKiBAcGFyYW0gdHlwZSAtIFRoZSBUeXBlU2NyaXB0IHR5cGUgdG8gc3RhcnQgZnJvbS5cbiAqIEByZXR1cm5zIEEgc2V0IG9mIGFuY2VzdG9yIGNsYXNzIG5hbWVzLlxuICovXG5mdW5jdGlvbiBjb2xsZWN0QW5jZXN0b3JOYW1lcyh0eXBlOiBUeXBlKTogU2V0PHN0cmluZz4ge1xuICBjb25zdCBuYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxUeXBlPigpO1xuXG4gIHdhbGtBbmNlc3RvcnMoe1xuICAgIGNvbGxlY3RlZE5hbWVzOiBuYW1lcyxcbiAgICBjdXJyZW50VHlwZTogdHlwZSxcbiAgICB2aXNpdGVkVHlwZXM6IHZpc2l0ZWRcbiAgfSk7XG5cbiAgcmV0dXJuIG5hbWVzO1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSB3YWxrcyB0aGUgYmFzZSB0eXBlcyBvZiBhIHR5cGUsIGNvbGxlY3RpbmcgdGhlaXIgbmFtZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHdhbGsuXG4gICAqL1xuICBmdW5jdGlvbiB3YWxrQW5jZXN0b3JzKHBhcmFtczogV2Fsa0FuY2VzdG9yc1BhcmFtcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29sbGVjdGVkTmFtZXMsIGN1cnJlbnRUeXBlLCB2aXNpdGVkVHlwZXMgfSA9IHBhcmFtcztcbiAgICBpZiAodmlzaXRlZFR5cGVzLmhhcyhjdXJyZW50VHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2aXNpdGVkVHlwZXMuYWRkKGN1cnJlbnRUeXBlKTtcblxuICAgIGNvbnN0IGJhc2VUeXBlcyA9IChjdXJyZW50VHlwZSBhcyBUeXBlV2l0aEJhc2VUeXBlcykuZ2V0QmFzZVR5cGVzPy4oKTtcblxuICAgIGlmICghYmFzZVR5cGVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBiYXNlVHlwZSBvZiBiYXNlVHlwZXMpIHtcbiAgICAgIGNvbnN0ICRzeW1ib2wgPSBiYXNlVHlwZS5nZXRTeW1ib2woKTtcblxuICAgICAgaWYgKCRzeW1ib2wpIHtcbiAgICAgICAgY29sbGVjdGVkTmFtZXMuYWRkKCRzeW1ib2wuZ2V0TmFtZSgpKTtcbiAgICAgIH1cblxuICAgICAgd2Fsa0FuY2VzdG9ycyh7XG4gICAgICAgIGNvbGxlY3RlZE5hbWVzLFxuICAgICAgICBjdXJyZW50VHlwZTogYmFzZVR5cGUsXG4gICAgICAgIHZpc2l0ZWRUeXBlc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGEgc2luZ2xlIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2hlY2suXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydENsYXNzKHBhcmFtczogUmVwb3J0Q2xhc3NQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjaGVja2VyLCBjb250ZXh0LCBub2RlLCBzZXJ2aWNlcyB9ID0gcGFyYW1zO1xuICBjb25zdCBjbGFzc05vZGUgPSB0b1RTRVNUcmVlTm9kZShub2RlKSBhcyBUU0VTVHJlZS5DbGFzc0RlY2xhcmF0aW9uIHwgVFNFU1RyZWUuQ2xhc3NFeHByZXNzaW9uO1xuICBjb25zdCBjbGFzc0lkID0gY2xhc3NOb2RlLmlkO1xuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFU0xpbnQgc2VsZWN0b3IgYFtpZF1gIGd1YXJhbnRlZXMgY2xhc3NJZCBpcyBwcmVzZW50LiAqL1xuICBpZiAoIWNsYXNzSWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc0lkLm5hbWU7XG4gIGNvbnN0IHsgYWJzdHJhY3Q6IGlzQWJzdHJhY3QgfSA9IGNsYXNzTm9kZTtcbiAgY29uc3QgaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCA9IGNsYXNzTmFtZS5lbmRzV2l0aCgnQ29tcG9uZW50QmFzZScpO1xuICBjb25zdCBoYXNDb21wb25lbnRTdWZmaXggPSAhaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCAmJiBjbGFzc05hbWUuZW5kc1dpdGgoJ0NvbXBvbmVudCcpO1xuXG4gIC8vIENvcnJlY3Q6IG5vbi1hYnN0cmFjdCBlbmRpbmcgd2l0aCBDb21wb25lbnQsIG9yIGFic3RyYWN0IGVuZGluZyB3aXRoIENvbXBvbmVudEJhc2VcbiAgaWYgKChoYXNDb21wb25lbnRTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHx8IChoYXNDb21wb25lbnRCYXNlU3VmZml4ICYmIGlzQWJzdHJhY3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdHNOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjbGFzc05vZGUpO1xuICBjb25zdCBjbGFzc1R5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzTm9kZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGNvbGxlY3RBbmNlc3Rvck5hbWVzKGNsYXNzVHlwZSk7XG5cbiAgaWYgKCFhbmNlc3RvcnMuaGFzKFJFUVVJUkVEX0FOQ0VTVE9SKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgZXhjbHVkZWQgb2YgRVhDTFVERURfQU5DRVNUT1JTKSB7XG4gICAgaWYgKGFuY2VzdG9ycy5oYXMoZXhjbHVkZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc0NvbXBvbmVudEJhc2VTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0JBU0VfTk9UX0FCU1RSQUNULFxuICAgICAgbm9kZVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKGlzQWJzdHJhY3QpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UsXG4gICAgICBub2RlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBjbGFzc05hbWUgfSxcbiAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9NSVNTSU5HX1NVRkZJWCxcbiAgICAgIG5vZGVcbiAgICB9KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBeUJBLDRCQUErQjtBQUt4QixNQUFNLDRCQUE0QjtBQUtsQyxNQUFNLGlDQUFpQztBQUt2QyxNQUFNLCtCQUErQjtBQUs1QyxNQUFNLHFCQUFxQixvQkFBSSxJQUFJLENBQUMsZ0JBQWdCLHVCQUF1QixRQUFRLFVBQVUsbUJBQW1CLE1BQU0sQ0FBQztBQUt2SCxNQUFNLG9CQUFvQjtBQVNuQixNQUFNLHlCQUEwQztBQUFBLEVBQ3JELE9BQU8sU0FBUztBQUNkLFVBQU0sV0FBVyxRQUFRLFdBQVc7QUFDcEMsVUFBTSxVQUFVLFNBQVMsUUFBUSxlQUFlO0FBRWhELFdBQU87QUFBQSxNQUNMLHVCQUF1QixNQUF1QjtBQUM1QyxvQkFBWTtBQUFBLFVBQ1Y7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsTUFDQSxzQkFBc0IsTUFBdUI7QUFDM0Msb0JBQVk7QUFBQSxVQUNWO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQUEs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
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZXF1aXJlLWNvbXBvbmVudC1zdWZmaXhcbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYSBjbGFzcyB0aGF0IGV4dGVuZHMgYENvbXBvbmVudGAgKGZyb20gT2JzaWRpYW4sXG4gKiBkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkpIGRvZXMgbm90IGhhdmUgYSBuYW1lIGVuZGluZyB3aXRoIGBDb21wb25lbnRgXG4gKiAob3IgYENvbXBvbmVudEJhc2VgIGZvciBhYnN0cmFjdCBiYXNlIGNsYXNzZXMpLlxuICpcbiAqIENsYXNzZXMgd2hvc2UgaW5oZXJpdGFuY2UgY2hhaW4gaW5jbHVkZXMgYW55IG9mIHRoZSBPYnNpZGlhbiBmcmFtZXdvcmtcbiAqIGNsYXNzZXMgdGhhdCBleHRlbmQgYENvbXBvbmVudGAgKGUuZy4gYFBsdWdpbmAsIGBWaWV3YCxcbiAqIGBNYXJrZG93blJlbmRlckNoaWxkYCwgYE1lbnVgLCBgSG92ZXJQb3BvdmVyYCwgYFF1ZXJ5Q29udHJvbGxlcmApXG4gKiBhcmUgZXhjbHVkZWQgYmVjYXVzZSB0aGV5IGZvbGxvdyBPYnNpZGlhbidzIG93biBuYW1pbmcgY29udmVudGlvbnMuXG4gKlxuICogVGhlIHJ1bGUgdXNlcyB0aGUgVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIgdG8gd2FsayB0aGUgZnVsbCBpbmhlcml0YW5jZVxuICogY2hhaW4sIHNvIGl0IHdvcmtzIHJlZ2FyZGxlc3Mgb2YgaG93IG1hbnkgaW50ZXJtZWRpYXRlIGNsYXNzZXMgc2l0XG4gKiBiZXR3ZWVuIHRoZSB1c2VyJ3MgY2xhc3MgYW5kIGBDb21wb25lbnRgLlxuICovXG5pbXBvcnQgdHlwZSB7XG4gIFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbixcbiAgVFNFU1RyZWVcbn0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgdG9UU0VTVHJlZU5vZGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9saW50ZXJzL2VzbGludC1ydWxlcy90cy1lc3RyZWUtbm9kZSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgY2xhc3MgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudGAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYID0gJ3JlcXVpcmVDb21wb25lbnRTdWZmaXgnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhYnN0cmFjdCBjbGFzcyBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UgPSAnYWJzdHJhY3ROZWVkc0NvbXBvbmVudEJhc2UnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGNsYXNzIG5hbWUgZW5kcyB3aXRoIGBDb21wb25lbnRCYXNlYCBidXQgdGhlIGNsYXNzIGlzIG5vdCBhYnN0cmFjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QgPSAnY29tcG9uZW50QmFzZU5vdEFic3RyYWN0JztcblxuLyoqXG5BbmNlc3RvciBjbGFzcyBuYW1lcyB0aGF0IG9wdCBhIHN1YnRyZWUgb3V0IG9mIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IEVYQ0xVREVEX0FOQ0VTVE9SUyA9IG5ldyBTZXQoWydIb3ZlclBvcG92ZXInLCAnTWFya2Rvd25SZW5kZXJDaGlsZCcsICdNZW51JywgJ1BsdWdpbicsICdRdWVyeUNvbnRyb2xsZXInLCAnVmlldyddKTtcblxuLyoqXG5UaGUgYW5jZXN0b3IgY2xhc3MgbmFtZSB0aGF0IHRyaWdnZXJzIHRoZSBzdWZmaXggcmVxdWlyZW1lbnQuXG4gKi9cbmNvbnN0IFJFUVVJUkVEX0FOQ0VTVE9SID0gJ0NvbXBvbmVudCc7XG5cbmludGVyZmFjZSBUeXBlV2l0aEJhc2VUeXBlcyB7XG4gIGdldEJhc2VUeXBlcz86ICgpID0+IFR5cGVbXSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBFU0xpbnQgcnVsZSByZXF1aXJpbmcgY2xhc3NlcyB0aGF0IGV4dGVuZCBgQ29tcG9uZW50YCB0byBiZSBuYW1lZCB3aXRoIGEgYENvbXBvbmVudGAgc3VmZml4LCBhbmQgYWJzdHJhY3Qgb25lcyB3aXRoIGEgYENvbXBvbmVudEJhc2VgIHN1ZmZpeC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlcXVpcmVDb21wb25lbnRTdWZmaXg6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IGNvbnRleHQuc291cmNlQ29kZS5wYXJzZXJTZXJ2aWNlcyBhcyBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb247XG4gICAgY29uc3QgY2hlY2tlciA9IHNlcnZpY2VzLnByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnQ2xhc3NEZWNsYXJhdGlvbltpZF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnRDbGFzcyh7XG4gICAgICAgICAgY2hlY2tlcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgc2VydmljZXNcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgJ0NsYXNzRXhwcmVzc2lvbltpZF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICByZXBvcnRDbGFzcyh7XG4gICAgICAgICAgY2hlY2tlcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgc2VydmljZXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVxdWlyZSBjbGFzc2VzIGV4dGVuZGluZyBgQ29tcG9uZW50YCB0byBoYXZlIG5hbWVzIGVuZGluZyB3aXRoIGBDb21wb25lbnRgJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0VdOiAnQWJzdHJhY3QgY2xhc3MgYHt7IGNsYXNzTmFtZSB9fWAgZXh0ZW5kcyBgQ29tcG9uZW50YCBidXQgaXRzIG5hbWUgZG9lcyBub3QgZW5kIHdpdGggYENvbXBvbmVudEJhc2VgLicsXG4gICAgICBbTUVTU0FHRV9JRF9CQVNFX05PVF9BQlNUUkFDVF06ICdDbGFzcyBge3sgY2xhc3NOYW1lIH19YCBlbmRzIHdpdGggYENvbXBvbmVudEJhc2VgIGJ1dCBpcyBub3QgYWJzdHJhY3QuIE9ubHkgYWJzdHJhY3QgY2xhc3NlcyBtYXkgdXNlIHRoZSBgQ29tcG9uZW50QmFzZWAgc3VmZml4LicsXG4gICAgICBbTUVTU0FHRV9JRF9NSVNTSU5HX1NVRkZJWF06ICdDbGFzcyBge3sgY2xhc3NOYW1lIH19YCBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50YC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayByZXBvcnRDbGFzc30uXG4gKi9cbmludGVyZmFjZSBSZXBvcnRDbGFzc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gICAqL1xuICByZWFkb25seSBjaGVja2VyOiBSZXR1cm5UeXBlPFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvblsncHJvZ3JhbSddWydnZXRUeXBlQ2hlY2tlciddPjtcblxuICAvKipcbiAgICogVGhlIEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgY2xhc3MgQVNUIG5vZGUuXG4gICAqL1xuICByZWFkb25seSBub2RlOiBSdWxlLk5vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJzZXIgc2VydmljZXMgd2l0aCB0eXBlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZXM6IFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgd2Fsa0FuY2VzdG9yc30uXG4gKi9cbmludGVyZmFjZSBXYWxrQW5jZXN0b3JzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXQgdG8gYWRkIGRpc2NvdmVyZWQgYW5jZXN0b3IgbmFtZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBjb2xsZWN0ZWROYW1lczogU2V0PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHR5cGUgdG8gaW5zcGVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRUeXBlOiBUeXBlO1xuXG4gIC8qKlxuICAgKiBUeXBlcyBhbHJlYWR5IHZpc2l0ZWQsIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAqL1xuICByZWFkb25seSB2aXNpdGVkVHlwZXM6IFNldDxUeXBlPjtcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyB0aGUgbmFtZXMgb2YgYWxsIGFuY2VzdG9yIHR5cGVzIGluIHRoZSBpbmhlcml0YW5jZSBjaGFpbi5cbiAqXG4gKiBAcGFyYW0gdHlwZSAtIFRoZSBUeXBlU2NyaXB0IHR5cGUgdG8gc3RhcnQgZnJvbS5cbiAqIEByZXR1cm5zIEEgc2V0IG9mIGFuY2VzdG9yIGNsYXNzIG5hbWVzLlxuICovXG5mdW5jdGlvbiBjb2xsZWN0QW5jZXN0b3JOYW1lcyh0eXBlOiBUeXBlKTogU2V0PHN0cmluZz4ge1xuICBjb25zdCBuYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxUeXBlPigpO1xuXG4gIHdhbGtBbmNlc3RvcnMoe1xuICAgIGNvbGxlY3RlZE5hbWVzOiBuYW1lcyxcbiAgICBjdXJyZW50VHlwZTogdHlwZSxcbiAgICB2aXNpdGVkVHlwZXM6IHZpc2l0ZWRcbiAgfSk7XG5cbiAgcmV0dXJuIG5hbWVzO1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSB3YWxrcyB0aGUgYmFzZSB0eXBlcyBvZiBhIHR5cGUsIGNvbGxlY3RpbmcgdGhlaXIgbmFtZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHdhbGsuXG4gICAqL1xuICBmdW5jdGlvbiB3YWxrQW5jZXN0b3JzKHBhcmFtczogV2Fsa0FuY2VzdG9yc1BhcmFtcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29sbGVjdGVkTmFtZXMsIGN1cnJlbnRUeXBlLCB2aXNpdGVkVHlwZXMgfSA9IHBhcmFtcztcbiAgICBpZiAodmlzaXRlZFR5cGVzLmhhcyhjdXJyZW50VHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2aXNpdGVkVHlwZXMuYWRkKGN1cnJlbnRUeXBlKTtcblxuICAgIGNvbnN0IGJhc2VUeXBlcyA9IChjdXJyZW50VHlwZSBhcyBUeXBlV2l0aEJhc2VUeXBlcykuZ2V0QmFzZVR5cGVzPy4oKTtcblxuICAgIGlmICghYmFzZVR5cGVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBiYXNlVHlwZSBvZiBiYXNlVHlwZXMpIHtcbiAgICAgIGNvbnN0ICRzeW1ib2wgPSBiYXNlVHlwZS5nZXRTeW1ib2woKTtcblxuICAgICAgaWYgKCRzeW1ib2wpIHtcbiAgICAgICAgY29sbGVjdGVkTmFtZXMuYWRkKCRzeW1ib2wuZ2V0TmFtZSgpKTtcbiAgICAgIH1cblxuICAgICAgd2Fsa0FuY2VzdG9ycyh7XG4gICAgICAgIGNvbGxlY3RlZE5hbWVzLFxuICAgICAgICBjdXJyZW50VHlwZTogYmFzZVR5cGUsXG4gICAgICAgIHZpc2l0ZWRUeXBlc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGEgc2luZ2xlIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2hlY2suXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydENsYXNzKHBhcmFtczogUmVwb3J0Q2xhc3NQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjaGVja2VyLCBjb250ZXh0LCBub2RlLCBzZXJ2aWNlcyB9ID0gcGFyYW1zO1xuICBjb25zdCBjbGFzc05vZGUgPSB0b1RTRVNUcmVlTm9kZShub2RlKSBhcyBUU0VTVHJlZS5DbGFzc0RlY2xhcmF0aW9uIHwgVFNFU1RyZWUuQ2xhc3NFeHByZXNzaW9uO1xuICBjb25zdCBjbGFzc0lkID0gY2xhc3NOb2RlLmlkO1xuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFU0xpbnQgc2VsZWN0b3IgYFtpZF1gIGd1YXJhbnRlZXMgY2xhc3NJZCBpcyBwcmVzZW50LiAqL1xuICBpZiAoIWNsYXNzSWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLyogdjggaWdub3JlIHN0b3AgKi9cblxuICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc0lkLm5hbWU7XG4gIGNvbnN0IHsgYWJzdHJhY3Q6IGlzQWJzdHJhY3QgfSA9IGNsYXNzTm9kZTtcbiAgY29uc3QgaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCA9IGNsYXNzTmFtZS5lbmRzV2l0aCgnQ29tcG9uZW50QmFzZScpO1xuICBjb25zdCBoYXNDb21wb25lbnRTdWZmaXggPSAhaGFzQ29tcG9uZW50QmFzZVN1ZmZpeCAmJiBjbGFzc05hbWUuZW5kc1dpdGgoJ0NvbXBvbmVudCcpO1xuXG4gIC8vIENvcnJlY3Q6IG5vbi1hYnN0cmFjdCBlbmRpbmcgd2l0aCBDb21wb25lbnQsIG9yIGFic3RyYWN0IGVuZGluZyB3aXRoIENvbXBvbmVudEJhc2VcbiAgaWYgKChoYXNDb21wb25lbnRTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHx8IChoYXNDb21wb25lbnRCYXNlU3VmZml4ICYmIGlzQWJzdHJhY3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdHNOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjbGFzc05vZGUpO1xuICBjb25zdCBjbGFzc1R5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzTm9kZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGNvbGxlY3RBbmNlc3Rvck5hbWVzKGNsYXNzVHlwZSk7XG5cbiAgaWYgKCFhbmNlc3RvcnMuaGFzKFJFUVVJUkVEX0FOQ0VTVE9SKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgZXhjbHVkZWQgb2YgRVhDTFVERURfQU5DRVNUT1JTKSB7XG4gICAgaWYgKGFuY2VzdG9ycy5oYXMoZXhjbHVkZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc0NvbXBvbmVudEJhc2VTdWZmaXggJiYgIWlzQWJzdHJhY3QpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0JBU0VfTk9UX0FCU1RSQUNULFxuICAgICAgbm9kZVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKGlzQWJzdHJhY3QpIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0FCU1RSQUNUX05FRURTX0JBU0UsXG4gICAgICBub2RlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBjbGFzc05hbWUgfSxcbiAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9NSVNTSU5HX1NVRkZJWCxcbiAgICAgIG5vZGVcbiAgICB9KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlCQSw0QkFBK0I7QUFLeEIsTUFBTSw0QkFBNEI7QUFLbEMsTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSwrQkFBK0I7QUFLNUMsTUFBTSxxQkFBcUIsb0JBQUksSUFBSSxDQUFDLGdCQUFnQix1QkFBdUIsUUFBUSxVQUFVLG1CQUFtQixNQUFNLENBQUM7QUFLdkgsTUFBTSxvQkFBb0I7QUFTbkIsTUFBTSx5QkFBMEM7QUFBQSxFQUNyRCxPQUFPLFNBQVM7QUFDZCxVQUFNLFdBQVcsUUFBUSxXQUFXO0FBQ3BDLFVBQU0sVUFBVSxTQUFTLFFBQVEsZUFBZTtBQUVoRCxXQUFPO0FBQUEsTUFDTCx1QkFBdUIsTUFBdUI7QUFDNUMsb0JBQVk7QUFBQSxVQUNWO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLE1BQ0Esc0JBQXNCLE1BQXVCO0FBQzNDLG9CQUFZO0FBQUEsVUFDVjtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFFBQ0YsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsOEJBQThCLEdBQUc7QUFBQSxNQUNsQyxDQUFDLDRCQUE0QixHQUFHO0FBQUEsTUFDaEMsQ0FBQyx5QkFBeUIsR0FBRztBQUFBLElBQy9CO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7QUFxREEsU0FBUyxxQkFBcUIsTUFBeUI7QUFDckQsUUFBTSxRQUFRLG9CQUFJLElBQVk7QUFDOUIsUUFBTSxVQUFVLG9CQUFJLElBQVU7QUFFOUIsZ0JBQWM7QUFBQSxJQUNaLGdCQUFnQjtBQUFBLElBQ2hCLGFBQWE7QUFBQSxJQUNiLGNBQWM7QUFBQSxFQUNoQixDQUFDO0FBRUQsU0FBTztBQU9QLFdBQVMsY0FBYyxRQUFtQztBQUN4RCxVQUFNLEVBQUUsZ0JBQWdCLGFBQWEsYUFBYSxJQUFJO0FBQ3RELFFBQUksYUFBYSxJQUFJLFdBQVcsR0FBRztBQUNqQztBQUFBLElBQ0Y7QUFFQSxpQkFBYSxJQUFJLFdBQVc7QUFFNUIsVUFBTSxZQUFhLFlBQWtDLGVBQWU7QUFFcEUsUUFBSSxDQUFDLFdBQVc7QUFDZDtBQUFBLElBQ0Y7QUFFQSxlQUFXLFlBQVksV0FBVztBQUNoQyxZQUFNLFVBQVUsU0FBUyxVQUFVO0FBRW5DLFVBQUksU0FBUztBQUNYLHVCQUFlLElBQUksUUFBUSxRQUFRLENBQUM7QUFBQSxNQUN0QztBQUVBLG9CQUFjO0FBQUEsUUFDWjtBQUFBLFFBQ0EsYUFBYTtBQUFBLFFBQ2I7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBT0EsU0FBUyxZQUFZLFFBQWlDO0FBQ3BELFFBQU0sRUFBRSxTQUFTLFNBQVMsTUFBTSxTQUFTLElBQUk7QUFDN0MsUUFBTSxnQkFBWSxzQ0FBZSxJQUFJO0FBQ3JDLFFBQU0sVUFBVSxVQUFVO0FBRzFCLE1BQUksQ0FBQyxTQUFTO0FBQ1o7QUFBQSxFQUNGO0FBR0EsUUFBTSxZQUFZLFFBQVE7QUFDMUIsUUFBTSxFQUFFLFVBQVUsV0FBVyxJQUFJO0FBQ2pDLFFBQU0seUJBQXlCLFVBQVUsU0FBUyxlQUFlO0FBQ2pFLFFBQU0scUJBQXFCLENBQUMsMEJBQTBCLFVBQVUsU0FBUyxXQUFXO0FBR3BGLE1BQUssc0JBQXNCLENBQUMsY0FBZ0IsMEJBQTBCLFlBQWE7QUFDakY7QUFBQSxFQUNGO0FBRUEsUUFBTSxTQUFTLFNBQVMsc0JBQXNCLElBQUksU0FBUztBQUMzRCxRQUFNLFlBQVksUUFBUSxrQkFBa0IsTUFBTTtBQUNsRCxRQUFNLFlBQVkscUJBQXFCLFNBQVM7QUFFaEQsTUFBSSxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsR0FBRztBQUNyQztBQUFBLEVBQ0Y7QUFFQSxhQUFXLFlBQVksb0JBQW9CO0FBQ3pDLFFBQUksVUFBVSxJQUFJLFFBQVEsR0FBRztBQUMzQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsTUFBSSwwQkFBMEIsQ0FBQyxZQUFZO0FBQ3pDLFlBQVEsT0FBTztBQUFBLE1BQ2IsTUFBTSxFQUFFLFVBQVU7QUFBQSxNQUNsQixXQUFXO0FBQUEsTUFDWDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsV0FBVyxZQUFZO0FBQ3JCLFlBQVEsT0FBTztBQUFBLE1BQ2IsTUFBTSxFQUFFLFVBQVU7QUFBQSxNQUNsQixXQUFXO0FBQUEsTUFDWDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsT0FBTztBQUNMLFlBQVEsT0FBTztBQUFBLE1BQ2IsTUFBTSxFQUFFLFVBQVU7QUFBQSxNQUNsQixXQUFXO0FBQUEsTUFDWDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.cts" />
1
+ /// <reference path="../../library-references.d.cts" />
2
2
  import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
3
3
  /**
4
4
  Message ID reported when a class extends `Component` but its name does not end with `Component`.