obsidian-dev-utils 2.16.0 → 2.17.1

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 (120) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/lib/@types/compare-versions.d.ts +1 -1
  3. package/dist/lib/@types.cjs +1 -1
  4. package/dist/lib/@types.d.ts +5 -5
  5. package/dist/lib/Async.cjs +1 -1
  6. package/dist/lib/Async.d.ts +12 -12
  7. package/dist/lib/Blob.cjs +1 -1
  8. package/dist/lib/Blob.d.ts +1 -1
  9. package/dist/lib/CodeGenerator.cjs +1 -1
  10. package/dist/lib/CodeGenerator.d.ts +1 -1
  11. package/dist/lib/DocumentFragment.cjs +1 -1
  12. package/dist/lib/DocumentFragment.d.ts +1 -1
  13. package/dist/lib/Error.cjs +1 -1
  14. package/dist/lib/Error.d.ts +1 -1
  15. package/dist/lib/Fs.cjs +1 -1
  16. package/dist/lib/Fs.d.ts +1 -1
  17. package/dist/lib/JSON.cjs +10 -8
  18. package/dist/lib/JSON.d.ts +28 -14
  19. package/dist/lib/Npm.cjs +11 -9
  20. package/dist/lib/Npm.d.ts +19 -13
  21. package/dist/lib/Object.cjs +1 -1
  22. package/dist/lib/Object.d.ts +3 -3
  23. package/dist/lib/Path.cjs +10 -10
  24. package/dist/lib/Path.d.ts +75 -10
  25. package/dist/lib/RegExp.cjs +1 -1
  26. package/dist/lib/RegExp.d.ts +1 -1
  27. package/dist/lib/Root.cjs +9 -8
  28. package/dist/lib/Root.d.ts +57 -24
  29. package/dist/lib/String.cjs +1 -1
  30. package/dist/lib/String.d.ts +2 -2
  31. package/dist/lib/ValueProvider.cjs +1 -1
  32. package/dist/lib/ValueProvider.d.ts +5 -5
  33. package/dist/lib/bin/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.ts +10 -0
  34. package/dist/lib/bin/ESLint/@types/@stylistic__eslint-plugin.d.ts +1 -1
  35. package/dist/lib/bin/ESLint/@types/@typescript-eslint__eslint-plugin.d.ts +1 -1
  36. package/dist/lib/bin/ESLint/@types/@typescript-eslint__parser.d.ts +1 -1
  37. package/dist/lib/bin/ESLint/@types/eslint-plugin-deprecation.d.ts +1 -1
  38. package/dist/lib/bin/ESLint/@types/eslint-plugin-import.d.ts +1 -1
  39. package/dist/lib/bin/ESLint/@types/eslint-plugin-modules-newlines.d.ts +1 -1
  40. package/dist/lib/bin/ESLint/@types/eslint-plugin-verify-tsdoc.d.ts +10 -0
  41. package/dist/lib/bin/ESLint/@types/globals.d.ts +1 -1
  42. package/dist/lib/bin/ESLint/ESLint.cjs +11 -11
  43. package/dist/lib/bin/ESLint/ESLint.d.ts +7 -5
  44. package/dist/lib/bin/ESLint/eslint.config.cjs +1 -1
  45. package/dist/lib/bin/ESLint/eslint.config.d.ts +2 -4
  46. package/dist/lib/bin/ObsidianDevUtilsRepoPaths.cjs +1 -1
  47. package/dist/lib/bin/ObsidianDevUtilsRepoPaths.d.ts +1 -1
  48. package/dist/lib/bin/build.cjs +1 -1
  49. package/dist/lib/bin/build.d.ts +1 -1
  50. package/dist/lib/bin/cli.cjs +1 -1
  51. package/dist/lib/bin/cli.d.ts +1 -1
  52. package/dist/lib/bin/esbuild/Dependency.cjs +1 -1
  53. package/dist/lib/bin/esbuild/Dependency.d.ts +1 -1
  54. package/dist/lib/bin/esbuild/ObsidianPluginBuilder.cjs +7 -6
  55. package/dist/lib/bin/esbuild/ObsidianPluginBuilder.d.ts +21 -9
  56. package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.cjs +1 -1
  57. package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.d.ts +1 -1
  58. package/dist/lib/bin/esbuild/fixSourceMapsPlugin.cjs +1 -1
  59. package/dist/lib/bin/esbuild/fixSourceMapsPlugin.d.ts +1 -1
  60. package/dist/lib/bin/esbuild/lintPlugin.cjs +1 -1
  61. package/dist/lib/bin/esbuild/lintPlugin.d.ts +1 -1
  62. package/dist/lib/bin/esbuild/preprocessPlugin.cjs +1 -1
  63. package/dist/lib/bin/esbuild/preprocessPlugin.d.ts +2 -2
  64. package/dist/lib/bin/esbuild/renameToCjsPlugin.cjs +1 -1
  65. package/dist/lib/bin/esbuild/renameToCjsPlugin.d.ts +1 -1
  66. package/dist/lib/bin/spellcheck.cjs +1 -1
  67. package/dist/lib/bin/spellcheck.d.ts +1 -1
  68. package/dist/lib/bin/version.cjs +1 -1
  69. package/dist/lib/bin/version.d.ts +1 -1
  70. package/dist/lib/cli.cjs +2 -8
  71. package/dist/lib/cli.d.ts +2 -8
  72. package/dist/lib/obsidian/App.cjs +1 -1
  73. package/dist/lib/obsidian/App.d.ts +1 -1
  74. package/dist/lib/obsidian/AttachmentPath.cjs +1 -1
  75. package/dist/lib/obsidian/AttachmentPath.d.ts +1 -1
  76. package/dist/lib/obsidian/Backlink.cjs +15 -13
  77. package/dist/lib/obsidian/Backlink.d.ts +36 -16
  78. package/dist/lib/obsidian/Callout.cjs +9 -8
  79. package/dist/lib/obsidian/Callout.d.ts +26 -11
  80. package/dist/lib/obsidian/Dataview.cjs +28 -24
  81. package/dist/lib/obsidian/Dataview.d.ts +132 -79
  82. package/dist/lib/obsidian/DataviewLink.cjs +1 -1
  83. package/dist/lib/obsidian/DataviewLink.d.ts +7 -9
  84. package/dist/lib/obsidian/FrontMatter.cjs +1 -1
  85. package/dist/lib/obsidian/FrontMatter.d.ts +15 -18
  86. package/dist/lib/obsidian/Link.cjs +33 -30
  87. package/dist/lib/obsidian/Link.d.ts +93 -41
  88. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
  89. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
  90. package/dist/lib/obsidian/MetadataCache.cjs +1 -1
  91. package/dist/lib/obsidian/MetadataCache.d.ts +11 -10
  92. package/dist/lib/obsidian/Modal/Alert.cjs +1 -1
  93. package/dist/lib/obsidian/Modal/Alert.d.ts +4 -4
  94. package/dist/lib/obsidian/Modal/Prompt.cjs +8 -7
  95. package/dist/lib/obsidian/Modal/Prompt.d.ts +26 -11
  96. package/dist/lib/obsidian/Modal/SelectItem.cjs +1 -1
  97. package/dist/lib/obsidian/Modal/SelectItem.d.ts +26 -11
  98. package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +1 -1
  99. package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.d.ts +1 -1
  100. package/dist/lib/obsidian/Plugin/Plugin.cjs +1 -1
  101. package/dist/lib/obsidian/Plugin/Plugin.d.ts +6 -6
  102. package/dist/lib/obsidian/Plugin/PluginBase.cjs +10 -11
  103. package/dist/lib/obsidian/Plugin/PluginBase.d.ts +14 -15
  104. package/dist/lib/obsidian/Plugin/PluginSettings.cjs +1 -1
  105. package/dist/lib/obsidian/Plugin/PluginSettings.d.ts +9 -9
  106. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +12 -19
  107. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.d.ts +27 -22
  108. package/dist/lib/obsidian/ResourceUrl.cjs +1 -1
  109. package/dist/lib/obsidian/ResourceUrl.d.ts +1 -1
  110. package/dist/lib/obsidian/TAbstractFile.cjs +1 -1
  111. package/dist/lib/obsidian/TAbstractFile.d.ts +4 -4
  112. package/dist/lib/obsidian/TFile.cjs +1 -1
  113. package/dist/lib/obsidian/TFile.d.ts +1 -1
  114. package/dist/lib/obsidian/TFolder.cjs +1 -1
  115. package/dist/lib/obsidian/TFolder.d.ts +11 -8
  116. package/dist/lib/obsidian/Vault.cjs +1 -1
  117. package/dist/lib/obsidian/Vault.d.ts +1 -1
  118. package/dist/lib/url.cjs +1 -1
  119. package/dist/lib/url.d.ts +1 -1
  120. package/package.json +7 -4
@@ -50,4 +50,4 @@ function makeLinkWithPath(link) {
50
50
  fixTitle,
51
51
  makeLinkWithPath
52
52
  });
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0RhdGF2aWV3TGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQG1vZHVsZSBEYXRhdmlld0xpbmtcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggRGF0YXZpZXcgbGlua3MgaW4gT2JzaWRpYW5cbiAqL1xuXG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBleHRuYW1lXG59IGZyb20gXCIuLi9QYXRoLnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIERhdGF2aWV3SW5saW5lQXBpLFxuICBMaW5rXG59IGZyb20gXCIuL0RhdGF2aWV3LnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tIFwiLi9URmlsZS50c1wiO1xuaW1wb3J0IHsgZ2V0UGF0aCB9IGZyb20gXCIuL1RBYnN0cmFjdEZpbGUudHNcIjtcblxuLyoqXG4gKiBGaXhlcyB0aGUgdGl0bGUgb2YgYSBmaWxlIG9yIGZvbGRlciBub3RlIGJ5IGdlbmVyYXRpbmcgYSBgTGlua2Agb2JqZWN0IHdpdGggYSBwcm9wZXIgdGl0bGUuXG4gKlxuICogQGZ1bmN0aW9uIGZpeFRpdGxlXG4gKiBAcGFyYW0ge0RhdGF2aWV3SW5saW5lQXBpfSBkdiAtIFRoZSBEYXRhdmlld0lubGluZUFwaSBpbnN0YW5jZSB1c2VkIHRvIGNyZWF0ZSB0aGUgZmlsZSBsaW5rLlxuICogQHBhcmFtIHtQYXRoT3JGaWxlfSBwYXRoT3JGaWxlIC0gVGhlIGZpbGUgcGF0aCBmb3Igd2hpY2ggdGhlIHRpdGxlIGlzIHRvIGJlIGZpeGVkLlxuICogQHBhcmFtIHtib29sZWFufSBbaXNGb2xkZXJOb3RlPWZhbHNlXSAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBmb2xkZXIgbm90ZS5cbiAqIElmIHRydWUsIHRoZSB0aXRsZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGRlciBuYW1lLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICogQHJldHVybnMge0xpbmt9IEEgTGluayBvYmplY3Qgd2l0aCB0aGUgY29ycmVjdGVkIHRpdGxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4VGl0bGUoZHY6IERhdGF2aWV3SW5saW5lQXBpLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBpc0ZvbGRlck5vdGU/OiBib29sZWFuKTogTGluayB7XG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKHBhdGhPckZpbGUpO1xuICBjb25zdCBleHQgPSBleHRuYW1lKHBhdGgpO1xuICBjb25zdCB0aXRsZSA9IGlzRm9sZGVyTm90ZSA/IGJhc2VuYW1lKGRpcm5hbWUocGF0aCkpIDogYmFzZW5hbWUocGF0aCwgZXh0KTtcbiAgcmV0dXJuIGR2LmZpbGVMaW5rKHBhdGgsIGZhbHNlLCB0aXRsZSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgYExpbmtgIG9iamVjdCB0aGF0IGluY2x1ZGVzIGJvdGggdGhlIGxpbmsgdGV4dCBhbmQgdGhlIGZpbGUgcGF0aC5cbiAqXG4gKiBAZnVuY3Rpb24gbWFrZUxpbmtXaXRoUGF0aFxuICogQHBhcmFtIHtMaW5rfSBsaW5rIC0gVGhlIExpbmsgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyB3aXRoIGl0cyBwYXRoLlxuICogQHJldHVybnMge3N0cmluZ30gQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBsaW5rIGluIHRoZSBmb3JtYXQ6IFwibGlua1RleHQgKGxpbmtQYXRoKVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUxpbmtXaXRoUGF0aChsaW5rOiBMaW5rKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2xpbmsudG9TdHJpbmcoKX0gKCR7bGluay5wYXRofSlgO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxrQkFBd0I7QUFDeEIsa0JBR087QUFNUCwyQkFBd0I7QUFyQnhCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNEJPLFNBQVMsU0FBUyxJQUF1QixZQUF3QixjQUE4QjtBQUNwRyxRQUFNLFdBQU8sOEJBQVEsVUFBVTtBQUMvQixRQUFNLFVBQU0scUJBQVEsSUFBSTtBQUN4QixRQUFNLFFBQVEsbUJBQWUsMEJBQVMscUJBQVEsSUFBSSxDQUFDLFFBQUksc0JBQVMsTUFBTSxHQUFHO0FBQ3pFLFNBQU8sR0FBRyxTQUFTLE1BQU0sT0FBTyxLQUFLO0FBQ3ZDO0FBU08sU0FBUyxpQkFBaUIsTUFBb0I7QUFDbkQsU0FBTyxHQUFHLEtBQUssU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJO0FBQ3pDOyIsCiAgIm5hbWVzIjogW10KfQo=
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0RhdGF2aWV3TGluay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIERhdGF2aWV3TGlua1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBEYXRhdmlldyBsaW5rcyBpbiBPYnNpZGlhblxuICovXG5cbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGV4dG5hbWVcbn0gZnJvbSBcIi4uL1BhdGgudHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgRGF0YXZpZXdJbmxpbmVBcGksXG4gIExpbmtcbn0gZnJvbSBcIi4vRGF0YXZpZXcudHNcIjtcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQgeyBnZXRQYXRoIH0gZnJvbSBcIi4vVEFic3RyYWN0RmlsZS50c1wiO1xuXG4vKipcbiAqIEZpeGVzIHRoZSB0aXRsZSBvZiBhIGZpbGUgb3IgZm9sZGVyIG5vdGUgYnkgZ2VuZXJhdGluZyBhIGBMaW5rYCBvYmplY3Qgd2l0aCBhIHByb3BlciB0aXRsZS5cbiAqXG4gKiBAcGFyYW0gZHYgLSBUaGUgRGF0YXZpZXdJbmxpbmVBcGkgaW5zdGFuY2UgdXNlZCB0byBjcmVhdGUgdGhlIGZpbGUgbGluay5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIGZpbGUgcGF0aCBmb3Igd2hpY2ggdGhlIHRpdGxlIGlzIHRvIGJlIGZpeGVkLlxuICogQHBhcmFtIGlzRm9sZGVyTm90ZSAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBmb2xkZXIgbm90ZS4gRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAqIElmIHRydWUsIHRoZSB0aXRsZSBpcyBkZXJpdmVkIGZyb20gdGhlIGZvbGRlciBuYW1lLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICogQHJldHVybnMgQSBMaW5rIG9iamVjdCB3aXRoIHRoZSBjb3JyZWN0ZWQgdGl0bGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhUaXRsZShkdjogRGF0YXZpZXdJbmxpbmVBcGksIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGlzRm9sZGVyTm90ZT86IGJvb2xlYW4pOiBMaW5rIHtcbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG4gIGNvbnN0IGV4dCA9IGV4dG5hbWUocGF0aCk7XG4gIGNvbnN0IHRpdGxlID0gaXNGb2xkZXJOb3RlID8gYmFzZW5hbWUoZGlybmFtZShwYXRoKSkgOiBiYXNlbmFtZShwYXRoLCBleHQpO1xuICByZXR1cm4gZHYuZmlsZUxpbmsocGF0aCwgZmFsc2UsIHRpdGxlKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBgTGlua2Agb2JqZWN0IHRoYXQgaW5jbHVkZXMgYm90aCB0aGUgbGluayB0ZXh0IGFuZCB0aGUgZmlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIExpbmsgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyB3aXRoIGl0cyBwYXRoLlxuICogQHJldHVybnMgQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBsaW5rIGluIHRoZSBmb3JtYXQ6IFwibGlua1RleHQgKGxpbmtQYXRoKVwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUxpbmtXaXRoUGF0aChsaW5rOiBMaW5rKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2xpbmsudG9TdHJpbmcoKX0gKCR7bGluay5wYXRofSlgO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxrQkFBd0I7QUFDeEIsa0JBR087QUFNUCwyQkFBd0I7QUFyQnhCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMkJPLFNBQVMsU0FBUyxJQUF1QixZQUF3QixjQUE4QjtBQUNwRyxRQUFNLFdBQU8sOEJBQVEsVUFBVTtBQUMvQixRQUFNLFVBQU0scUJBQVEsSUFBSTtBQUN4QixRQUFNLFFBQVEsbUJBQWUsMEJBQVMscUJBQVEsSUFBSSxDQUFDLFFBQUksc0JBQVMsTUFBTSxHQUFHO0FBQ3pFLFNBQU8sR0FBRyxTQUFTLE1BQU0sT0FBTyxLQUFLO0FBQ3ZDO0FBUU8sU0FBUyxpQkFBaUIsTUFBb0I7QUFDbkQsU0FBTyxHQUFHLEtBQUssU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJO0FBQ3pDOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module DataviewLink
2
+ * @packageDocumentation DataviewLink
3
3
  * This module provides utility functions for working with Dataview links in Obsidian
4
4
  */
5
5
  import type { DataviewInlineApi, Link } from "./Dataview.ts";
@@ -7,19 +7,17 @@ import type { PathOrFile } from "./TFile.ts";
7
7
  /**
8
8
  * Fixes the title of a file or folder note by generating a `Link` object with a proper title.
9
9
  *
10
- * @function fixTitle
11
- * @param {DataviewInlineApi} dv - The DataviewInlineApi instance used to create the file link.
12
- * @param {PathOrFile} pathOrFile - The file path for which the title is to be fixed.
13
- * @param {boolean} [isFolderNote=false] - A boolean indicating whether the file is a folder note.
10
+ * @param dv - The DataviewInlineApi instance used to create the file link.
11
+ * @param pathOrFile - The file path for which the title is to be fixed.
12
+ * @param isFolderNote - A boolean indicating whether the file is a folder note. Defaults to `false`.
14
13
  * If true, the title is derived from the folder name. Defaults to `false`.
15
- * @returns {Link} A Link object with the corrected title.
14
+ * @returns A Link object with the corrected title.
16
15
  */
17
16
  export declare function fixTitle(dv: DataviewInlineApi, pathOrFile: PathOrFile, isFolderNote?: boolean): Link;
18
17
  /**
19
18
  * Generates a string representation of a `Link` object that includes both the link text and the file path.
20
19
  *
21
- * @function makeLinkWithPath
22
- * @param {Link} link - The Link object to be converted to a string with its path.
23
- * @returns {string} A string representing the link in the format: "linkText (linkPath)".
20
+ * @param link - The Link object to be converted to a string with its path.
21
+ * @returns A string representing the link in the format: "linkText (linkPath)".
24
22
  */
25
23
  export declare function makeLinkWithPath(link: Link): string;
@@ -119,4 +119,4 @@ async function removeAlias(app, pathOrFile, alias) {
119
119
  processFrontMatter,
120
120
  removeAlias
121
121
  });
122
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250TWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAbW9kdWxlIEZyb250TWF0dGVyXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBhbmQgbWFuYWdpbmcgWUFNTCBmcm9udCBtYXR0ZXIgaW4gT2JzaWRpYW4gbm90ZXMuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBwLFxufSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IHByb2Nlc3NXaXRoUmV0cnkgfSBmcm9tIFwiLi9WYXVsdC50c1wiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9TQ0hFTUEsXG4gIFR5cGUsXG4gIGxvYWQsXG4gIGR1bXBcbn0gZnJvbSBcImpzLXlhbWxcIjtcbmltcG9ydCB7XG4gIGdldEZpbGUsXG4gIHR5cGUgUGF0aE9yRmlsZVxufSBmcm9tIFwiLi9URmlsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi4vQXN5bmMudHNcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYW4gT2JzaWRpYW4gZmlsZS5cbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaGVscC5vYnNpZGlhbi5tZC9FZGl0aW5nK2FuZCtmb3JtYXR0aW5nL1Byb3BlcnRpZXMjRGVmYXVsdCtwcm9wZXJ0aWVzfVxuICovXG5leHBvcnQgdHlwZSBPYnNpZGlhbkZyb250TWF0dGVyID0ge1xuICBhbGlhc2VzPzogc3RyaW5nW107XG4gIGNzc2NsYXNzZXM/OiBzdHJpbmdbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBmcm9udCBtYXR0ZXIgZm9yIHB1Ymxpc2hpbmcgaW4gT2JzaWRpYW4uXG4gKiBAc2VlIHtAbGluayBodHRwczovL2hlbHAub2JzaWRpYW4ubWQvRWRpdGluZythbmQrZm9ybWF0dGluZy9Qcm9wZXJ0aWVzI1Byb3BlcnRpZXMrZm9yK09ic2lkaWFuK1B1Ymxpc2h9XG4gKi9cbmV4cG9ydCB0eXBlIE9ic2lkaWFuUHVibGlzaEZyb250TWF0dGVyID0ge1xuICBjb3Zlcj86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGltYWdlPzogc3RyaW5nO1xuICBwZXJtYWxpbms/OiBzdHJpbmc7XG4gIHB1Ymxpc2g/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb21iaW5lZCBmcm9udCBtYXR0ZXIgb2YgYSBkb2N1bWVudC5cbiAqIEl0IGlzIGEgdW5pb24gb2YgY3VzdG9tIGZyb250IG1hdHRlciwgT2JzaWRpYW4gZnJvbnQgbWF0dGVyLCBhbmQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzLlxuICogQHRlbXBsYXRlIEN1c3RvbUZyb250TWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRGcm9udE1hdHRlcjxDdXN0b21Gcm9udE1hdHRlcj4gPSBDdXN0b21Gcm9udE1hdHRlciAmIE9ic2lkaWFuRnJvbnRNYXR0ZXIgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuY29uc3QgVElNRVNUQU1QX1RZUEUgPSBuZXcgVHlwZShcInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcFwiLCB7XG4gIGtpbmQ6IFwic2NhbGFyXCIsXG4gIHJlc29sdmU6IChkYXRhOiB1bmtub3duKTogYm9vbGVhbiA9PiBkYXRhICE9IG51bGwsXG4gIGNvbnN0cnVjdDogKGRhdGE6IHVua25vd24pOiBzdHJpbmcgPT4gU3RyaW5nKGRhdGEpLFxuICByZXByZXNlbnQ6IChkYXRhOiBvYmplY3QpOiB1bmtub3duID0+IGRhdGFcbn0pO1xuXG5jb25zdCBOT19USU1FU1RBTVBTX1lBTUxfU0NIRU1BID0gREVGQVVMVF9TQ0hFTUEuZXh0ZW5kKHtcbiAgZXhwbGljaXQ6IFtUSU1FU1RBTVBfVFlQRV1cbn0pO1xuXG5jb25zdCBGUk9OVF9NQVRURVJfUkVHX0VYUCA9IC9eLS0tXFxyP1xcbigoPzoufFxccj9cXG4pKj8pXFxyP1xcbj8tLS0oPzpcXHI/XFxufCQpKCg/Oi58XFxyP1xcbikqKS87XG5cbi8qKlxuICogUHJvY2Vzc2VzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlLCBhbGxvd2luZyBtb2RpZmljYXRpb25zIHZpYSBhIHByb3ZpZGVkIGZ1bmN0aW9uLlxuICpcbiAqIEBmdW5jdGlvbiBwcm9jZXNzRnJvbnRNYXR0ZXJcbiAqIEB0ZW1wbGF0ZSBDdXN0b21Gcm9udE1hdHRlclxuICogQHBhcmFtIHtBcHB9IGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0ge1BhdGhPckZpbGV9IHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIHtWYWx1ZVByb3ZpZGVyPHZvaWQsIFtDdXN0b21Gcm9udE1hdHRlcl0+fSBmcm9udE1hdHRlckZuIC0gQSBmdW5jdGlvbiB0aGF0IG1vZGlmaWVzIHRoZSBmcm9udCBtYXR0ZXIuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZnJvbnQgbWF0dGVyIGhhcyBiZWVuIHByb2Nlc3NlZCBhbmQgc2F2ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgZnJvbnRNYXR0ZXJGbjogKGZyb250TWF0dGVyOiBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPikgPT4gTWF5YmVQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgYXdhaXQgcHJvY2Vzc1dpdGhSZXRyeShhcHAsIGZpbGUsIGFzeW5jIChjb250ZW50KSA9PiB7XG4gICAgY29uc3QgbWF0Y2ggPSBjb250ZW50Lm1hdGNoKEZST05UX01BVFRFUl9SRUdfRVhQKTtcbiAgICBsZXQgZnJvbnRNYXR0ZXJTdHI6IHN0cmluZztcbiAgICBsZXQgbWFpbkNvbnRlbnQ6IHN0cmluZztcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGZyb250TWF0dGVyU3RyID0gbWF0Y2hbMV0hO1xuICAgICAgbWFpbkNvbnRlbnQgPSBtYXRjaFsyXSE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZyb250TWF0dGVyU3RyID0gXCJcIjtcbiAgICAgIG1haW5Db250ZW50ID0gY29udGVudDtcbiAgICB9XG5cbiAgICBpZiAoIW1haW5Db250ZW50KSB7XG4gICAgICBtYWluQ29udGVudCA9IFwiXFxuXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1haW5Db250ZW50ID0gXCJcXG5cIiArIG1haW5Db250ZW50LnRyaW0oKSArIFwiXFxuXCI7XG4gICAgfVxuXG4gICAgY29uc3QgZnJvbnRNYXR0ZXIgPSAobG9hZChmcm9udE1hdHRlclN0ciwgeyBzY2hlbWE6IE5PX1RJTUVTVEFNUFNfWUFNTF9TQ0hFTUEgfSkgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+O1xuICAgIGF3YWl0IGZyb250TWF0dGVyRm4oZnJvbnRNYXR0ZXIpO1xuICAgIGxldCBuZXdGcm9udE1hdHRlclN0ciA9IGR1bXAoZnJvbnRNYXR0ZXIsIHtcbiAgICAgIGxpbmVXaWR0aDogLTEsXG4gICAgICBxdW90aW5nVHlwZTogXCJcXFwiXCIsXG4gICAgICBzY2hlbWE6IE5PX1RJTUVTVEFNUFNfWUFNTF9TQ0hFTUFcbiAgICB9KTtcbiAgICBpZiAobmV3RnJvbnRNYXR0ZXJTdHIgPT09IFwie31cXG5cIikge1xuICAgICAgbmV3RnJvbnRNYXR0ZXJTdHIgPSBcIlwiO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBgLS0tXG4ke25ld0Zyb250TWF0dGVyU3RyfS0tLVxuJHttYWluQ29udGVudH1gO1xuXG4gICAgcmV0dXJuIG5ld0NvbnRlbnQ7XG4gIH0pO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYWxpYXMgdG8gdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cbiAqXG4gKiBAZnVuY3Rpb24gYWRkQWxpYXNcbiAqIEBwYXJhbSB7QXBwfSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHtQYXRoT3JGaWxlfSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIC0gVGhlIGFsaWFzIHRvIGFkZC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhbGlhcyBoYXMgYmVlbiBhZGRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZEFsaWFzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBhbGlhcz86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWFsaWFzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgaWYgKGFsaWFzID09PSBmaWxlLmJhc2VuYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250TWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250TWF0dGVyKSA9PiB7XG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzKSB7XG4gICAgICBmcm9udE1hdHRlci5hbGlhc2VzID0gW107XG4gICAgfVxuXG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzLmluY2x1ZGVzKGFsaWFzKSkge1xuICAgICAgZnJvbnRNYXR0ZXIuYWxpYXNlcy5wdXNoKGFsaWFzKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYW4gYWxpYXMgZnJvbSB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSBpZiBpdCBleGlzdHMuXG4gKlxuICogQGZ1bmN0aW9uIHJlbW92ZUFsaWFzXG4gKiBAcGFyYW0ge0FwcH0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7UGF0aE9yRmlsZX0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FsaWFzXSAtIFRoZSBhbGlhcyB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYWxpYXMgaGFzIGJlZW4gcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZUFsaWFzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBhbGlhcz86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWFsaWFzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250TWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250TWF0dGVyKSA9PiB7XG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZnJvbnRNYXR0ZXIuYWxpYXNlcyA9IGZyb250TWF0dGVyLmFsaWFzZXMuZmlsdGVyKChhKSA9PiBhICE9IGFsaWFzKTtcblxuICAgIGlmIChmcm9udE1hdHRlci5hbGlhc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGZyb250TWF0dGVyLmFsaWFzZXM7XG4gICAgfVxuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFFTztBQUNQLG1CQUFpQztBQUNqQyxxQkFLTztBQUNQLG1CQUdPO0FBeEJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBbURBLE1BQU0saUJBQWlCLElBQUksb0JBQUssK0JBQStCO0FBQUEsRUFDN0QsTUFBTTtBQUFBLEVBQ04sU0FBUyxDQUFDLFNBQTJCLFFBQVE7QUFBQSxFQUM3QyxXQUFXLENBQUMsU0FBMEIsT0FBTyxJQUFJO0FBQUEsRUFDakQsV0FBVyxDQUFDLFNBQTBCO0FBQ3hDLENBQUM7QUFFRCxNQUFNLDRCQUE0Qiw4QkFBZSxPQUFPO0FBQUEsRUFDdEQsVUFBVSxDQUFDLGNBQWM7QUFDM0IsQ0FBQztBQUVELE1BQU0sdUJBQXVCO0FBWTdCLGVBQXNCLG1CQUFnRCxLQUFVLFlBQXdCLGVBQTJHO0FBQ2pOLFFBQU0sV0FBTyxzQkFBUSxLQUFLLFVBQVU7QUFFcEMsWUFBTSwrQkFBaUIsS0FBSyxNQUFNLE9BQU8sWUFBWTtBQUNuRCxVQUFNLFFBQVEsUUFBUSxNQUFNLG9CQUFvQjtBQUNoRCxRQUFJO0FBQ0osUUFBSTtBQUNKLFFBQUksT0FBTztBQUNULHVCQUFpQixNQUFNLENBQUM7QUFDeEIsb0JBQWMsTUFBTSxDQUFDO0FBQUEsSUFDdkIsT0FBTztBQUNMLHVCQUFpQjtBQUNqQixvQkFBYztBQUFBLElBQ2hCO0FBRUEsUUFBSSxDQUFDLGFBQWE7QUFDaEIsb0JBQWM7QUFBQSxJQUNoQixPQUFPO0FBQ0wsb0JBQWMsT0FBTyxZQUFZLEtBQUssSUFBSTtBQUFBLElBQzVDO0FBRUEsVUFBTSxrQkFBZSxxQkFBSyxnQkFBZ0IsRUFBRSxRQUFRLDBCQUEwQixDQUFDLEtBQUssQ0FBQztBQUNyRixVQUFNLGNBQWMsV0FBVztBQUMvQixRQUFJLHdCQUFvQixxQkFBSyxhQUFhO0FBQUEsTUFDeEMsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsUUFBUTtBQUFBLElBQ1YsQ0FBQztBQUNELFFBQUksc0JBQXNCLFFBQVE7QUFDaEMsMEJBQW9CO0FBQUEsSUFDdEI7QUFFQSxVQUFNLGFBQWE7QUFBQSxFQUNyQixpQkFBaUI7QUFBQSxFQUNqQixXQUFXO0FBRVQsV0FBTztBQUFBLEVBQ1QsQ0FBQztBQUNIO0FBV0EsZUFBc0IsU0FBUyxLQUFVLFlBQXdCLE9BQStCO0FBQzlGLE1BQUksQ0FBQyxPQUFPO0FBQ1Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFPLHNCQUFRLEtBQUssVUFBVTtBQUNwQyxNQUFJLFVBQVUsS0FBSyxVQUFVO0FBQzNCO0FBQUEsRUFDRjtBQUVBLFFBQU0sbUJBQW1CLEtBQUssWUFBWSxDQUFDLGdCQUFnQjtBQUN6RCxRQUFJLENBQUMsWUFBWSxTQUFTO0FBQ3hCLGtCQUFZLFVBQVUsQ0FBQztBQUFBLElBQ3pCO0FBRUEsUUFBSSxDQUFDLFlBQVksUUFBUSxTQUFTLEtBQUssR0FBRztBQUN4QyxrQkFBWSxRQUFRLEtBQUssS0FBSztBQUFBLElBQ2hDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFXQSxlQUFzQixZQUFZLEtBQVUsWUFBd0IsT0FBK0I7QUFDakcsTUFBSSxDQUFDLE9BQU87QUFDVjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLG1CQUFtQixLQUFLLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsUUFBSSxDQUFDLFlBQVksU0FBUztBQUN4QjtBQUFBLElBQ0Y7QUFFQSxnQkFBWSxVQUFVLFlBQVksUUFBUSxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUs7QUFFbEUsUUFBSSxZQUFZLFFBQVEsV0FBVyxHQUFHO0FBQ3BDLGFBQU8sWUFBWTtBQUFBLElBQ3JCO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
122
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250TWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRnJvbnRNYXR0ZXJcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGFuZCBtYW5hZ2luZyBZQU1MIGZyb250IG1hdHRlciBpbiBPYnNpZGlhbiBub3Rlcy5cbiAqL1xuXG5pbXBvcnQge1xuICBBcHAsXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgcHJvY2Vzc1dpdGhSZXRyeSB9IGZyb20gXCIuL1ZhdWx0LnRzXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX1NDSEVNQSxcbiAgVHlwZSxcbiAgbG9hZCxcbiAgZHVtcFxufSBmcm9tIFwianMteWFtbFwiO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgdHlwZSBQYXRoT3JGaWxlXG59IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gXCIuLi9Bc3luYy50c1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZyb250IG1hdHRlciBvZiBhbiBPYnNpZGlhbiBmaWxlLlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL0VkaXRpbmcrYW5kK2Zvcm1hdHRpbmcvUHJvcGVydGllcyNEZWZhdWx0K3Byb3BlcnRpZXN9XG4gKi9cbmV4cG9ydCB0eXBlIE9ic2lkaWFuRnJvbnRNYXR0ZXIgPSB7XG4gIGFsaWFzZXM/OiBzdHJpbmdbXTtcbiAgY3NzY2xhc3Nlcz86IHN0cmluZ1tdO1xuICB0YWdzPzogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZyb250IG1hdHRlciBmb3IgcHVibGlzaGluZyBpbiBPYnNpZGlhbi5cbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaGVscC5vYnNpZGlhbi5tZC9FZGl0aW5nK2FuZCtmb3JtYXR0aW5nL1Byb3BlcnRpZXMjUHJvcGVydGllcytmb3IrT2JzaWRpYW4rUHVibGlzaH1cbiAqL1xuZXhwb3J0IHR5cGUgT2JzaWRpYW5QdWJsaXNoRnJvbnRNYXR0ZXIgPSB7XG4gIGNvdmVyPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHBlcm1hbGluaz86IHN0cmluZztcbiAgcHVibGlzaD86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbWJpbmVkIGZyb250IG1hdHRlciBvZiBhIGRvY3VtZW50LlxuICogSXQgaXMgYSB1bmlvbiBvZiBjdXN0b20gZnJvbnQgbWF0dGVyLCBPYnNpZGlhbiBmcm9udCBtYXR0ZXIsIGFuZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMuXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250TWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqL1xuZXhwb3J0IHR5cGUgQ29tYmluZWRGcm9udE1hdHRlcjxDdXN0b21Gcm9udE1hdHRlcj4gPSBDdXN0b21Gcm9udE1hdHRlciAmIE9ic2lkaWFuRnJvbnRNYXR0ZXIgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuY29uc3QgVElNRVNUQU1QX1RZUEUgPSBuZXcgVHlwZShcInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcFwiLCB7XG4gIGtpbmQ6IFwic2NhbGFyXCIsXG4gIHJlc29sdmU6IChkYXRhOiB1bmtub3duKTogYm9vbGVhbiA9PiBkYXRhICE9IG51bGwsXG4gIGNvbnN0cnVjdDogKGRhdGE6IHVua25vd24pOiBzdHJpbmcgPT4gU3RyaW5nKGRhdGEpLFxuICByZXByZXNlbnQ6IChkYXRhOiBvYmplY3QpOiB1bmtub3duID0+IGRhdGFcbn0pO1xuXG5jb25zdCBOT19USU1FU1RBTVBTX1lBTUxfU0NIRU1BID0gREVGQVVMVF9TQ0hFTUEuZXh0ZW5kKHtcbiAgZXhwbGljaXQ6IFtUSU1FU1RBTVBfVFlQRV1cbn0pO1xuXG5jb25zdCBGUk9OVF9NQVRURVJfUkVHX0VYUCA9IC9eLS0tXFxyP1xcbigoPzoufFxccj9cXG4pKj8pXFxyP1xcbj8tLS0oPzpcXHI/XFxufCQpKCg/Oi58XFxyP1xcbikqKS87XG5cbi8qKlxuICogUHJvY2Vzc2VzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlLCBhbGxvd2luZyBtb2RpZmljYXRpb25zIHZpYSBhIHByb3ZpZGVkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQ3VzdG9tRnJvbnRNYXR0ZXIgLSBUaGUgdHlwZSBvZiBjdXN0b20gZnJvbnQgbWF0dGVyLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gZnJvbnRNYXR0ZXJGbiAtIEEgZnVuY3Rpb24gdGhhdCBtb2RpZmllcyB0aGUgZnJvbnQgbWF0dGVyLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZnJvbnQgbWF0dGVyIGhhcyBiZWVuIHByb2Nlc3NlZCBhbmQgc2F2ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgZnJvbnRNYXR0ZXJGbjogKGZyb250TWF0dGVyOiBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPikgPT4gTWF5YmVQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgYXdhaXQgcHJvY2Vzc1dpdGhSZXRyeShhcHAsIGZpbGUsIGFzeW5jIChjb250ZW50KSA9PiB7XG4gICAgY29uc3QgbWF0Y2ggPSBjb250ZW50Lm1hdGNoKEZST05UX01BVFRFUl9SRUdfRVhQKTtcbiAgICBsZXQgZnJvbnRNYXR0ZXJTdHI6IHN0cmluZztcbiAgICBsZXQgbWFpbkNvbnRlbnQ6IHN0cmluZztcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGZyb250TWF0dGVyU3RyID0gbWF0Y2hbMV0hO1xuICAgICAgbWFpbkNvbnRlbnQgPSBtYXRjaFsyXSE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZyb250TWF0dGVyU3RyID0gXCJcIjtcbiAgICAgIG1haW5Db250ZW50ID0gY29udGVudDtcbiAgICB9XG5cbiAgICBpZiAoIW1haW5Db250ZW50KSB7XG4gICAgICBtYWluQ29udGVudCA9IFwiXFxuXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1haW5Db250ZW50ID0gXCJcXG5cIiArIG1haW5Db250ZW50LnRyaW0oKSArIFwiXFxuXCI7XG4gICAgfVxuXG4gICAgY29uc3QgZnJvbnRNYXR0ZXIgPSAobG9hZChmcm9udE1hdHRlclN0ciwgeyBzY2hlbWE6IE5PX1RJTUVTVEFNUFNfWUFNTF9TQ0hFTUEgfSkgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+O1xuICAgIGF3YWl0IGZyb250TWF0dGVyRm4oZnJvbnRNYXR0ZXIpO1xuICAgIGxldCBuZXdGcm9udE1hdHRlclN0ciA9IGR1bXAoZnJvbnRNYXR0ZXIsIHtcbiAgICAgIGxpbmVXaWR0aDogLTEsXG4gICAgICBxdW90aW5nVHlwZTogXCJcXFwiXCIsXG4gICAgICBzY2hlbWE6IE5PX1RJTUVTVEFNUFNfWUFNTF9TQ0hFTUFcbiAgICB9KTtcbiAgICBpZiAobmV3RnJvbnRNYXR0ZXJTdHIgPT09IFwie31cXG5cIikge1xuICAgICAgbmV3RnJvbnRNYXR0ZXJTdHIgPSBcIlwiO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBgLS0tXG4ke25ld0Zyb250TWF0dGVyU3RyfS0tLVxuJHttYWluQ29udGVudH1gO1xuXG4gICAgcmV0dXJuIG5ld0NvbnRlbnQ7XG4gIH0pO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gYWxpYXMgdG8gdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBhZGQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhbGlhcyBoYXMgYmVlbiBhZGRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZEFsaWFzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBhbGlhcz86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWFsaWFzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgaWYgKGFsaWFzID09PSBmaWxlLmJhc2VuYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250TWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250TWF0dGVyKSA9PiB7XG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzKSB7XG4gICAgICBmcm9udE1hdHRlci5hbGlhc2VzID0gW107XG4gICAgfVxuXG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzLmluY2x1ZGVzKGFsaWFzKSkge1xuICAgICAgZnJvbnRNYXR0ZXIuYWxpYXNlcy5wdXNoKGFsaWFzKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYW4gYWxpYXMgZnJvbSB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gYWxpYXMgLSBUaGUgYWxpYXMgdG8gcmVtb3ZlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYWxpYXMgaGFzIGJlZW4gcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZUFsaWFzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBhbGlhcz86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWFsaWFzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250TWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250TWF0dGVyKSA9PiB7XG4gICAgaWYgKCFmcm9udE1hdHRlci5hbGlhc2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZnJvbnRNYXR0ZXIuYWxpYXNlcyA9IGZyb250TWF0dGVyLmFsaWFzZXMuZmlsdGVyKChhKSA9PiBhICE9IGFsaWFzKTtcblxuICAgIGlmIChmcm9udE1hdHRlci5hbGlhc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRl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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module FrontMatter
2
+ * @packageDocumentation FrontMatter
3
3
  * This module provides utility functions for processing and managing YAML front matter in Obsidian notes.
4
4
  */
5
5
  import { App } from "obsidian";
@@ -28,37 +28,34 @@ export type ObsidianPublishFrontMatter = {
28
28
  /**
29
29
  * Represents the combined front matter of a document.
30
30
  * It is a union of custom front matter, Obsidian front matter, and additional properties.
31
- * @template CustomFrontMatter - The type of custom front matter.
31
+ * @typeParam CustomFrontMatter - The type of custom front matter.
32
32
  */
33
33
  export type CombinedFrontMatter<CustomFrontMatter> = CustomFrontMatter & ObsidianFrontMatter & Record<string, unknown>;
34
34
  /**
35
35
  * Processes the front matter of a given file, allowing modifications via a provided function.
36
36
  *
37
- * @function processFrontMatter
38
- * @template CustomFrontMatter
39
- * @param {App} app - The Obsidian app instance.
40
- * @param {PathOrFile} pathOrFile - The path or TFile object representing the note.
41
- * @param {ValueProvider<void, [CustomFrontMatter]>} frontMatterFn - A function that modifies the front matter.
42
- * @returns {Promise<void>} A promise that resolves when the front matter has been processed and saved.
37
+ * @typeParam CustomFrontMatter - The type of custom front matter.
38
+ * @param app - The Obsidian app instance.
39
+ * @param pathOrFile - The path or TFile object representing the note.
40
+ * @param frontMatterFn - A function that modifies the front matter.
41
+ * @returns A promise that resolves when the front matter has been processed and saved.
43
42
  */
44
43
  export declare function processFrontMatter<CustomFrontMatter = unknown>(app: App, pathOrFile: PathOrFile, frontMatterFn: (frontMatter: CombinedFrontMatter<CustomFrontMatter>) => MaybePromise<void>): Promise<void>;
45
44
  /**
46
45
  * Adds an alias to the front matter of a given file if it does not already exist.
47
46
  *
48
- * @function addAlias
49
- * @param {App} app - The Obsidian app instance.
50
- * @param {PathOrFile} pathOrFile - The path or TFile object representing the note.
51
- * @param {string} [alias] - The alias to add.
52
- * @returns {Promise<void>} A promise that resolves when the alias has been added.
47
+ * @param app - The Obsidian app instance.
48
+ * @param pathOrFile - The path or TFile object representing the note.
49
+ * @param alias - The alias to add.
50
+ * @returns A promise that resolves when the alias has been added.
53
51
  */
54
52
  export declare function addAlias(app: App, pathOrFile: PathOrFile, alias?: string): Promise<void>;
55
53
  /**
56
54
  * Removes an alias from the front matter of a given file if it exists.
57
55
  *
58
- * @function removeAlias
59
- * @param {App} app - The Obsidian app instance.
60
- * @param {PathOrFile} pathOrFile - The path or TFile object representing the note.
61
- * @param {string} [alias] - The alias to remove.
62
- * @returns {Promise<void>} A promise that resolves when the alias has been removed.
56
+ * @param app - The Obsidian app instance.
57
+ * @param pathOrFile - The path or TFile object representing the note.
58
+ * @param alias - The alias to remove.
59
+ * @returns A promise that resolves when the alias has been removed.
63
60
  */
64
61
  export declare function removeAlias(app: App, pathOrFile: PathOrFile, alias?: string): Promise<void>;
@@ -54,14 +54,15 @@ function splitSubpath(link) {
54
54
  subpath: subpath ? SUBPATH_SEPARATOR + subpath : void 0
55
55
  };
56
56
  }
57
- async function updateLinksInFile({
58
- app,
59
- pathOrFile,
60
- oldPathOrFile,
61
- renameMap,
62
- forceMarkdownLinks,
63
- embedOnlyLinks
64
- }) {
57
+ async function updateLinksInFile(options) {
58
+ const {
59
+ app,
60
+ pathOrFile,
61
+ oldPathOrFile,
62
+ renameMap,
63
+ forceMarkdownLinks,
64
+ embedOnlyLinks
65
+ } = options;
65
66
  await editLinks(app, pathOrFile, (link) => {
66
67
  const isEmbedLink = link.original.startsWith("!");
67
68
  if (embedOnlyLinks !== void 0 && embedOnlyLinks !== isEmbedLink) {
@@ -86,19 +87,20 @@ function extractLinkFile(app, link, oldPathOrFile) {
86
87
  const { linkPath } = splitSubpath(link.link);
87
88
  return app.metadataCache.getFirstLinkpathDest(linkPath, (0, import_TAbstractFile.getPath)(oldPathOrFile));
88
89
  }
89
- function updateLink({
90
- app,
91
- link,
92
- pathOrFile,
93
- oldPathOrFile,
94
- sourcePathOrFile: source,
95
- renameMap,
96
- forceMarkdownLinks
97
- }) {
90
+ function updateLink(options) {
91
+ const {
92
+ app,
93
+ link,
94
+ pathOrFile,
95
+ oldPathOrFile,
96
+ sourcePathOrFile: source,
97
+ renameMap,
98
+ forceMarkdownLinks
99
+ } = options;
98
100
  if (!pathOrFile) {
99
101
  return link.original;
100
102
  }
101
- const file = (0, import_TFile.getFile)(app, pathOrFile);
103
+ let file = (0, import_TFile.getFile)(app, pathOrFile);
102
104
  const sourcePath = (0, import_TAbstractFile.getPath)(source);
103
105
  const oldPath = (0, import_TAbstractFile.getPath)(oldPathOrFile);
104
106
  const isEmbed = link.original.startsWith("!");
@@ -113,7 +115,7 @@ function updateLink({
113
115
  sourcePath
114
116
  });
115
117
  if (newPath) {
116
- pathOrFile = (0, import_implementations.createTFileInstance)(app.vault, newPath);
118
+ file = (0, import_implementations.createTFileInstance)(app.vault, newPath);
117
119
  }
118
120
  const newLink = generateMarkdownLink({
119
121
  app,
@@ -157,16 +159,17 @@ function getAlias({
157
159
  }
158
160
  return displayText;
159
161
  }
160
- function generateMarkdownLink({
161
- app,
162
- pathOrFile,
163
- sourcePathOrFile,
164
- subpath,
165
- alias,
166
- isEmbed,
167
- isWikilink,
168
- isRelative
169
- }) {
162
+ function generateMarkdownLink(options) {
163
+ const {
164
+ app,
165
+ pathOrFile,
166
+ sourcePathOrFile,
167
+ subpath,
168
+ alias,
169
+ isEmbed,
170
+ isWikilink,
171
+ isRelative
172
+ } = options;
170
173
  const file = (0, import_TFile.getFile)(app, pathOrFile);
171
174
  const useMarkdownLinks = app.vault.getConfig("useMarkdownLinks");
172
175
  const newLinkFormat = app.vault.getConfig("newLinkFormat");
@@ -221,4 +224,4 @@ async function editLinks(app, pathOrFile, linkConverter, retryOptions = {}) {
221
224
  updateLink,
222
225
  updateLinksInFile
223
226
  });
224
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgTGlua1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBoYW5kbGluZyBhbmQgdXBkYXRpbmcgbGlua3Mgd2l0aGluIE9ic2lkaWFuIHZhdWx0cy4gSXQgaW5jbHVkZXNcbiAqIGZ1bmN0aW9ucyB0byBzcGxpdCBwYXRocywgdXBkYXRlIGxpbmtzIGluIGZpbGVzLCBhbmQgZ2VuZXJhdGUgbWFya2Rvd24gbGlua3Mgd2l0aCB2YXJpb3VzIG9wdGlvbnMuXG4gKiBUaGUgZnVuY3Rpb25zIGludGVncmF0ZSB3aXRoIE9ic2lkaWFuJ3MgQVBJIHRvIGVuc3VyZSB0aGF0IGxpbmtzIGFyZSBtYW5hZ2VkIGNvcnJlY3RseSB3aXRoaW4gdGhlIHZhdWx0LlxuICoqL1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICB0eXBlIEFwcCxcbiAgdHlwZSBSZWZlcmVuY2VDYWNoZSxcbiAgdHlwZSBURmlsZVxufSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7XG4gIGdldEFsbExpbmtzLFxuICBnZXRDYWNoZVNhZmVcbn0gZnJvbSBcIi4vTWV0YWRhdGFDYWNoZS50c1wiO1xuaW1wb3J0IHtcbiAgYXBwbHlGaWxlQ2hhbmdlcyxcbiAgdHlwZSBGaWxlQ2hhbmdlXG59IGZyb20gXCIuL1ZhdWx0LnRzXCI7XG5pbXBvcnQgeyBjcmVhdGVURmlsZUluc3RhbmNlIH0gZnJvbSBcIm9ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zXCI7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tIFwiLi4vUGF0aC50c1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSBcIi4uL1N0cmluZy50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgdHlwZSBQYXRoT3JGaWxlXG59IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQgeyBnZXRQYXRoIH0gZnJvbSBcIi4vVEFic3RyYWN0RmlsZS50c1wiO1xuaW1wb3J0IHtcbiAgdHlwZSBNYXliZVByb21pc2UsXG4gIHR5cGUgUmV0cnlPcHRpb25zXG59IGZyb20gXCIuLi9Bc3luYy50c1wiO1xuXG50eXBlIFNwbGl0U3VicGF0aFJlc3VsdCA9IHtcbiAgbGlua1BhdGg6IHN0cmluZztcbiAgc3VicGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIFRoZSBsaW5rIHRvIHNwbGl0LlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U3VicGF0aChsaW5rOiBzdHJpbmcpOiBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICBjb25zdCBTVUJQQVRIX1NFUEFSQVRPUiA9IFwiI1wiO1xuICBjb25zdCBbbGlua1BhdGggPSBcIlwiLCBzdWJwYXRoXSA9IG5vcm1hbGl6ZShsaW5rKS5zcGxpdChTVUJQQVRIX1NFUEFSQVRPUik7XG4gIHJldHVybiB7XG4gICAgbGlua1BhdGgsXG4gICAgc3VicGF0aDogc3VicGF0aCA/IFNVQlBBVEhfU0VQQVJBVE9SICsgc3VicGF0aCA6IHVuZGVmaW5lZFxuICB9O1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGxpbmtzIGluIGEgZmlsZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB1cGRhdGluZyB0aGUgbGlua3MuXG4gKiBAcGFyYW0ge0FwcH0gb3B0aW9ucy5hcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHtURmlsZX0gb3B0aW9ucy5maWxlIC0gVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm9sZFBhdGggLSBUaGUgb2xkIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcGFyYW0ge01hcDxzdHJpbmcsIHN0cmluZz59IG9wdGlvbnMucmVuYW1lTWFwIC0gQSBtYXAgb2Ygb2xkIGFuZCBuZXcgcGF0aHMgZm9yIHJlbmFtaW5nIGxpbmtzLlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5mb3JjZU1hcmtkb3duTGlua3NdIC0gV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5lbWJlZE9ubHlMaW5rc10gLSBXaGV0aGVyIHRvIHVwZGF0ZSBvbmx5IGVtYmVkZGVkIGxpbmtzLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZSh7XG4gIGFwcCxcbiAgcGF0aE9yRmlsZSxcbiAgb2xkUGF0aE9yRmlsZSxcbiAgcmVuYW1lTWFwLFxuICBmb3JjZU1hcmtkb3duTGlua3MsXG4gIGVtYmVkT25seUxpbmtzXG59OiB7XG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgZW1iZWRPbmx5TGlua3M/OiBib29sZWFuIHwgdW5kZWZpbmVkXG59KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGVkaXRMaW5rcyhhcHAsIHBhdGhPckZpbGUsIChsaW5rKSA9PiB7XG4gICAgY29uc3QgaXNFbWJlZExpbmsgPSBsaW5rLm9yaWdpbmFsLnN0YXJ0c1dpdGgoXCIhXCIpO1xuICAgIGlmIChlbWJlZE9ubHlMaW5rcyAhPT0gdW5kZWZpbmVkICYmIGVtYmVkT25seUxpbmtzICE9PSBpc0VtYmVkTGluaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gY29udmVydExpbmsoYXBwLCBsaW5rLCBwYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlLCByZW5hbWVNYXAsIGZvcmNlTWFya2Rvd25MaW5rcyk7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGluayB0byBhIG5ldyBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gbGluayAtIFRoZSByZWZlcmVuY2UgY2FjaGUgZm9yIHRoZSBsaW5rLlxuICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2UgZmlsZS5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICogQHBhcmFtIHJlbmFtZU1hcCAtIEEgbWFwIG9mIG9sZCBwYXRocyB0byBuZXcgcGF0aHMgZm9yIHJlbmFtaW5nLlxuICogQHBhcmFtIGZvcmNlTWFya2Rvd25MaW5rcyAtIE9wdGlvbmFsIGZsYWcgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIGxpbmsuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRMaW5rKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2VDYWNoZSwgc291cmNlOiBQYXRoT3JGaWxlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZW5hbWVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICBvbGRQYXRoT3JGaWxlID8/PSBnZXRQYXRoKHNvdXJjZSk7XG4gIHJldHVybiB1cGRhdGVMaW5rKHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlOiBleHRyYWN0TGlua0ZpbGUoYXBwLCBsaW5rLCBvbGRQYXRoT3JGaWxlKSxcbiAgICBvbGRQYXRoT3JGaWxlLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IHNvdXJjZSxcbiAgICByZW5hbWVNYXAsXG4gICAgZm9yY2VNYXJrZG93bkxpbmtzXG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCBhIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gb2xkUGF0aE9yRmlsZSAtIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluaywgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0TGlua0ZpbGUoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBvbGRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogVEZpbGUgfCBudWxsIHtcbiAgY29uc3QgeyBsaW5rUGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG4gIHJldHVybiBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rUGF0aCwgZ2V0UGF0aChvbGRQYXRoT3JGaWxlKSk7XG59XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcGFyYW0ge0FwcH0gb3B0aW9ucy5hcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHtSZWZlcmVuY2VDYWNoZX0gb3B0aW9ucy5saW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0ge1RGaWxlIHwgbnVsbH0gb3B0aW9ucy5maWxlIC0gVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMub2xkUGF0aCAtIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEBwYXJhbSB7VEZpbGV9IG9wdGlvbnMuc291cmNlIC0gVGhlIHNvdXJjZSBmaWxlIGNvbnRhaW5pbmcgdGhlIGxpbmsuXG4gKiBAcGFyYW0ge01hcDxzdHJpbmcsIHN0cmluZz59IG9wdGlvbnMucmVuYW1lTWFwIC0gVGhlIG1hcCBvZiBvbGQgYW5kIG5ldyBmaWxlIHBhdGhzLlxuICogQHBhcmFtIHtib29sZWFuIHwgdW5kZWZpbmVkfSBbb3B0aW9ucy5mb3JjZU1hcmtkb3duTGlua3NdIC0gV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB1cGRhdGVkIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVMaW5rKHtcbiAgYXBwLFxuICBsaW5rLFxuICBwYXRoT3JGaWxlLFxuICBvbGRQYXRoT3JGaWxlLFxuICBzb3VyY2VQYXRoT3JGaWxlOiBzb3VyY2UsXG4gIHJlbmFtZU1hcCxcbiAgZm9yY2VNYXJrZG93bkxpbmtzXG59OiB7XG4gIGFwcDogQXBwLFxuICBsaW5rOiBSZWZlcmVuY2VDYWNoZSxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGwsXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIHNvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPixcbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxufSk6IHN0cmluZyB7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGNvbnN0IHNvdXJjZVBhdGggPSBnZXRQYXRoKHNvdXJjZSk7XG4gIGNvbnN0IG9sZFBhdGggPSBnZXRQYXRoKG9sZFBhdGhPckZpbGUpO1xuICBjb25zdCBpc0VtYmVkID0gbGluay5vcmlnaW5hbC5zdGFydHNXaXRoKFwiIVwiKTtcbiAgY29uc3QgaXNXaWtpbGluayA9XG4gICAgbGluay5vcmlnaW5hbC5pbmNsdWRlcyhcIltbXCIpICYmIGZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBjb25zdCBuZXdQYXRoID0gcmVuYW1lTWFwLmdldChmaWxlLnBhdGgpO1xuICBjb25zdCBhbGlhcyA9IGdldEFsaWFzKHtcbiAgICBhcHAsXG4gICAgZGlzcGxheVRleHQ6IGxpbmsuZGlzcGxheVRleHQsXG4gICAgZmlsZTogcGF0aE9yRmlsZSxcbiAgICBvdGhlclBhdGhzOiBbb2xkUGF0aCwgbmV3UGF0aF0sXG4gICAgc291cmNlUGF0aFxuICB9KTtcblxuICBpZiAobmV3UGF0aCkge1xuICAgIHBhdGhPckZpbGUgPSBjcmVhdGVURmlsZUluc3RhbmNlKGFwcC52YXVsdCwgbmV3UGF0aCk7XG4gIH1cblxuICBjb25zdCBuZXdMaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsoe1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlOiBmaWxlLFxuICAgIHNvdXJjZVBhdGhPckZpbGU6IHNvdXJjZVBhdGgsXG4gICAgc3VicGF0aCxcbiAgICBhbGlhcyxcbiAgICBpc0VtYmVkLFxuICAgIGlzV2lraWxpbmtcbiAgfSk7XG4gIHJldHVybiBuZXdMaW5rO1xufVxuXG5mdW5jdGlvbiBnZXRBbGlhcyh7XG4gIGFwcCxcbiAgZGlzcGxheVRleHQsXG4gIGZpbGU6IHBhdGhPckZpbGUsXG4gIG90aGVyUGF0aHMsXG4gIHNvdXJjZVBhdGhcbn06IHtcbiAgYXBwOiBBcHAsXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGZpbGU6IFBhdGhPckZpbGUsXG4gIG90aGVyUGF0aHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW11cbiAgc291cmNlUGF0aDogc3RyaW5nXG59KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGlmICghZGlzcGxheVRleHQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgY2xlYW5EaXNwbGF5VGV4dCA9IG5vcm1hbGl6ZVBhdGgoZGlzcGxheVRleHQuc3BsaXQoXCIgPiBcIilbMF0hKS5yZXBsYWNlKC9cXC5cXC8vZywgXCJcIik7XG5cbiAgZm9yIChjb25zdCBwYXRoIG9mIFtmaWxlLnBhdGgsIC4uLm90aGVyUGF0aHNdKSB7XG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZXh0bmFtZShwYXRoKTtcbiAgICBjb25zdCBmaWxlTmFtZVdpdGhFeHRlbnNpb24gPSBiYXNlbmFtZShwYXRoKTtcbiAgICBjb25zdCBmaWxlTmFtZVdpdGhvdXRFeHRlbnNpb24gPSBiYXNlbmFtZShwYXRoLCBleHRlbnNpb24pO1xuICAgIGlmIChjbGVhbkRpc3BsYXlUZXh0ID09PSBwYXRoIHx8IGNsZWFuRGlzcGxheVRleHQgPT09IGZpbGVOYW1lV2l0aEV4dGVuc2lvbiB8fCBjbGVhbkRpc3BsYXlUZXh0ID09PSBmaWxlTmFtZVdpdGhvdXRFeHRlbnNpb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBvbWl0TWRFeHRlbnNpb24gb2YgW3RydWUsIGZhbHNlXSkge1xuICAgIGNvbnN0IGxpbmtUZXh0ID0gYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQoZmlsZSwgc291cmNlUGF0aCwgb21pdE1kRXh0ZW5zaW9uKTtcbiAgICBpZiAoY2xlYW5EaXNwbGF5VGV4dCA9PT0gbGlua1RleHQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BsYXlUZXh0O1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEBwYXJhbSB7QXBwfSBvcHRpb25zLmFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0ge1RGaWxlfSBvcHRpb25zLmZpbGUgLSBUaGUgZmlsZSB0byBsaW5rIHRvLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc291cmNlUGF0aCAtIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zdWJwYXRoXSAtIFRoZSBzdWJwYXRoIG9mIHRoZSBsaW5rLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmFsaWFzXSAtIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmlzRW1iZWRdIC0gSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBlbWJlZGRlZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuaXNXaWtpbGlua10gLSBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGEgd2lraWxpbmsuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmlzUmVsYXRpdmVdIC0gSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSByZWxhdGl2ZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKHtcbiAgYXBwLFxuICBwYXRoT3JGaWxlLFxuICBzb3VyY2VQYXRoT3JGaWxlLFxuICBzdWJwYXRoLFxuICBhbGlhcyxcbiAgaXNFbWJlZCxcbiAgaXNXaWtpbGluayxcbiAgaXNSZWxhdGl2ZVxufToge1xuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgc3VicGF0aD86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgYWxpYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGlzRW1iZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBpc1dpa2lsaW5rPzogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgaXNSZWxhdGl2ZT86IGJvb2xlYW4gfCB1bmRlZmluZWRcbn0pOiBzdHJpbmcge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCB1c2VNYXJrZG93bkxpbmtzID0gYXBwLnZhdWx0LmdldENvbmZpZyhcInVzZU1hcmtkb3duTGlua3NcIik7XG4gIGNvbnN0IG5ld0xpbmtGb3JtYXQgPSBhcHAudmF1bHQuZ2V0Q29uZmlnKFwibmV3TGlua0Zvcm1hdFwiKTtcbiAgaWYgKGlzV2lraWxpbmsgIT09IHVuZGVmaW5lZCkge1xuICAgIGFwcC52YXVsdC5zZXRDb25maWcoXCJ1c2VNYXJrZG93bkxpbmtzXCIsICFpc1dpa2lsaW5rKTtcbiAgfVxuXG4gIGlmIChpc1JlbGF0aXZlID09PSB0cnVlKSB7XG4gICAgYXBwLnZhdWx0LnNldENvbmZpZyhcIm5ld0xpbmtGb3JtYXRcIiwgXCJyZWxhdGl2ZVwiKTtcbiAgfVxuXG4gIGxldCBsaW5rID0gYXBwLmZpbGVNYW5hZ2VyLmdlbmVyYXRlTWFya2Rvd25MaW5rKGZpbGUsIGdldFBhdGgoc291cmNlUGF0aE9yRmlsZSksIHN1YnBhdGgsIGFsaWFzKTtcblxuICBhcHAudmF1bHQuc2V0Q29uZmlnKFwidXNlTWFya2Rvd25MaW5rc1wiLCB1c2VNYXJrZG93bkxpbmtzKTtcbiAgYXBwLnZhdWx0LnNldENvbmZpZyhcIm5ld0xpbmtGb3JtYXRcIiwgbmV3TGlua0Zvcm1hdCk7XG5cbiAgY29uc3QgaXNMaW5rRW1iZWQgPSBsaW5rLnN0YXJ0c1dpdGgoXCIhXCIpO1xuXG4gIGlmIChpc0VtYmVkICE9PSB1bmRlZmluZWQgJiYgaXNFbWJlZCAhPT0gaXNMaW5rRW1iZWQpIHtcbiAgICBpZiAoaXNFbWJlZCkge1xuICAgICAgbGluayA9IFwiIVwiICsgbGluaztcbiAgICB9IGVsc2Uge1xuICAgICAgbGluayA9IGxpbmsuc2xpY2UoMSk7XG4gICAgICBsaW5rID0gbGluay5yZXBsYWNlKFwiW11cIiwgYFske2FsaWFzIHx8IGZpbGUuYmFzZW5hbWV9XWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsaW5rO1xufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBsaW5rcyBpbiB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgcGF0aCB1c2luZyB0aGUgcHJvdmlkZWQgbGluayBjb252ZXJ0ZXIgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBlZGl0IHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgaGF2ZSBiZWVuIGVkaXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRMaW5rcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIGxpbmtDb252ZXJ0ZXI6IChsaW5rOiBSZWZlcmVuY2VDYWNoZSkgPT4gTWF5YmVQcm9taXNlPHN0cmluZyB8IHZvaWQ+LFxuICByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBhd2FpdCBhcHBseUZpbGVDaGFuZ2VzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZXM6IEZpbGVDaGFuZ2VbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBsaW5rIG9mIGdldEFsbExpbmtzKGNhY2hlKSkge1xuICAgICAgY29uc3QgbmV3Q29udGVudCA9IGF3YWl0IGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgICBpZiAobmV3Q29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjaGFuZ2VzLnB1c2goe1xuICAgICAgICBzdGFydEluZGV4OiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgZW5kSW5kZXg6IGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCxcbiAgICAgICAgb2xkQ29udGVudDogbGluay5vcmlnaW5hbCxcbiAgICAgICAgbmV3Q29udGVudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH0sIHJldHJ5T3B0aW9ucyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBS087QUFDUCwyQkFHTztBQUNQLG1CQUdPO0FBQ1AsNkJBQW9DO0FBQ3BDLGtCQUdPO0FBQ1Asb0JBQTBCO0FBQzFCLG1CQUdPO0FBQ1AsMkJBQXdCO0FBQ3hCLG1CQUdPO0FBekNQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBaURPLFNBQVMsYUFBYSxNQUFrQztBQUM3RCxRQUFNLG9CQUFvQjtBQUMxQixRQUFNLENBQUMsV0FBVyxJQUFJLE9BQU8sUUFBSSx5QkFBVSxJQUFJLEVBQUUsTUFBTSxpQkFBaUI7QUFDeEUsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBLFNBQVMsVUFBVSxvQkFBb0IsVUFBVTtBQUFBLEVBQ25EO0FBQ0Y7QUFjQSxlQUFzQixrQkFBa0I7QUFBQSxFQUN0QztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQ0YsR0FPa0I7QUFDaEIsUUFBTSxVQUFVLEtBQUssWUFBWSxDQUFDLFNBQVM7QUFDekMsVUFBTSxjQUFjLEtBQUssU0FBUyxXQUFXLEdBQUc7QUFDaEQsUUFBSSxtQkFBbUIsVUFBYSxtQkFBbUIsYUFBYTtBQUNsRTtBQUFBLElBQ0Y7QUFDQSxXQUFPLFlBQVksS0FBSyxNQUFNLFlBQVksZUFBZSxXQUFXLGtCQUFrQjtBQUFBLEVBQ3hGLENBQUM7QUFDSDtBQWFBLFNBQVMsWUFBWSxLQUFVLE1BQXNCLFFBQW9CLGVBQTJCLFdBQWdDLG9CQUFzQztBQUN4Syx3QkFBa0IsOEJBQVEsTUFBTTtBQUNoQyxTQUFPLFdBQVc7QUFBQSxJQUNoQjtBQUFBLElBQ0E7QUFBQSxJQUNBLFlBQVksZ0JBQWdCLEtBQUssTUFBTSxhQUFhO0FBQUEsSUFDcEQ7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLElBQ2xCO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBVU8sU0FBUyxnQkFBZ0IsS0FBVSxNQUFzQixlQUF5QztBQUN2RyxRQUFNLEVBQUUsU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJO0FBQzNDLFNBQU8sSUFBSSxjQUFjLHFCQUFxQixjQUFVLDhCQUFRLGFBQWEsQ0FBQztBQUNoRjtBQWVPLFNBQVMsV0FBVztBQUFBLEVBQ3pCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQSxrQkFBa0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFDRixHQVFXO0FBQ1QsTUFBSSxDQUFDLFlBQVk7QUFDZixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQ0EsUUFBTSxXQUFPLHNCQUFRLEtBQUssVUFBVTtBQUNwQyxRQUFNLGlCQUFhLDhCQUFRLE1BQU07QUFDakMsUUFBTSxjQUFVLDhCQUFRLGFBQWE7QUFDckMsUUFBTSxVQUFVLEtBQUssU0FBUyxXQUFXLEdBQUc7QUFDNUMsUUFBTSxhQUNKLEtBQUssU0FBUyxTQUFTLElBQUksS0FBSyx1QkFBdUI7QUFDekQsUUFBTSxFQUFFLFFBQVEsSUFBSSxhQUFhLEtBQUssSUFBSTtBQUUxQyxRQUFNLFVBQVUsVUFBVSxJQUFJLEtBQUssSUFBSTtBQUN2QyxRQUFNLFFBQVEsU0FBUztBQUFBLElBQ3JCO0FBQUEsSUFDQSxhQUFhLEtBQUs7QUFBQSxJQUNsQixNQUFNO0FBQUEsSUFDTixZQUFZLENBQUMsU0FBUyxPQUFPO0FBQUEsSUFDN0I7QUFBQSxFQUNGLENBQUM7QUFFRCxNQUFJLFNBQVM7QUFDWCxxQkFBYSw0Q0FBb0IsSUFBSSxPQUFPLE9BQU87QUFBQSxFQUNyRDtBQUVBLFFBQU0sVUFBVSxxQkFBcUI7QUFBQSxJQUNuQztBQUFBLElBQ0EsWUFBWTtBQUFBLElBQ1osa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLENBQUM7QUFDRCxTQUFPO0FBQ1Q7QUFFQSxTQUFTLFNBQVM7QUFBQSxFQUNoQjtBQUFBLEVBQ0E7QUFBQSxFQUNBLE1BQU07QUFBQSxFQUNOO0FBQUEsRUFDQTtBQUNGLEdBTXVCO0FBRXJCLFFBQU0sV0FBTyxzQkFBUSxLQUFLLFVBQVU7QUFFcEMsTUFBSSxDQUFDLGFBQWE7QUFDaEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLHVCQUFtQiwrQkFBYyxZQUFZLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBRSxFQUFFLFFBQVEsU0FBUyxFQUFFO0FBRXhGLGFBQVcsUUFBUSxDQUFDLEtBQUssTUFBTSxHQUFHLFVBQVUsR0FBRztBQUM3QyxRQUFJLENBQUMsTUFBTTtBQUNUO0FBQUEsSUFDRjtBQUNBLFVBQU0sZ0JBQVkscUJBQVEsSUFBSTtBQUM5QixVQUFNLDRCQUF3QixzQkFBUyxJQUFJO0FBQzNDLFVBQU0sK0JBQTJCLHNCQUFTLE1BQU0sU0FBUztBQUN6RCxRQUFJLHFCQUFxQixRQUFRLHFCQUFxQix5QkFBeUIscUJBQXFCLDBCQUEwQjtBQUM1SCxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxhQUFXLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxHQUFHO0FBQzNDLFVBQU0sV0FBVyxJQUFJLGNBQWMsZUFBZSxNQUFNLFlBQVksZUFBZTtBQUNuRixRQUFJLHFCQUFxQixVQUFVO0FBQ2pDLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQWdCTyxTQUFTLHFCQUFxQjtBQUFBLEVBQ25DO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGLEdBU1c7QUFDVCxRQUFNLFdBQU8sc0JBQVEsS0FBSyxVQUFVO0FBQ3BDLFFBQU0sbUJBQW1CLElBQUksTUFBTSxVQUFVLGtCQUFrQjtBQUMvRCxRQUFNLGdCQUFnQixJQUFJLE1BQU0sVUFBVSxlQUFlO0FBQ3pELE1BQUksZUFBZSxRQUFXO0FBQzVCLFFBQUksTUFBTSxVQUFVLG9CQUFvQixDQUFDLFVBQVU7QUFBQSxFQUNyRDtBQUVBLE1BQUksZUFBZSxNQUFNO0FBQ3ZCLFFBQUksTUFBTSxVQUFVLGlCQUFpQixVQUFVO0FBQUEsRUFDakQ7QUFFQSxNQUFJLE9BQU8sSUFBSSxZQUFZLHFCQUFxQixVQUFNLDhCQUFRLGdCQUFnQixHQUFHLFNBQVMsS0FBSztBQUUvRixNQUFJLE1BQU0sVUFBVSxvQkFBb0IsZ0JBQWdCO0FBQ3hELE1BQUksTUFBTSxVQUFVLGlCQUFpQixhQUFhO0FBRWxELFFBQU0sY0FBYyxLQUFLLFdBQVcsR0FBRztBQUV2QyxNQUFJLFlBQVksVUFBYSxZQUFZLGFBQWE7QUFDcEQsUUFBSSxTQUFTO0FBQ1gsYUFBTyxNQUFNO0FBQUEsSUFDZixPQUFPO0FBQ0wsYUFBTyxLQUFLLE1BQU0sQ0FBQztBQUNuQixhQUFPLEtBQUssUUFBUSxNQUFNLElBQUksU0FBUyxLQUFLLFFBQVEsR0FBRztBQUFBLElBQ3pEO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVVBLGVBQXNCLFVBQ3BCLEtBQ0EsWUFDQSxlQUNBLGVBQXNDLENBQUMsR0FBa0I7QUFDekQsU0FBTyxVQUFNLCtCQUFpQixLQUFLLFlBQVksWUFBWTtBQUN6RCxVQUFNLFFBQVEsVUFBTSxtQ0FBYSxLQUFLLFVBQVU7QUFDaEQsUUFBSSxDQUFDLE9BQU87QUFDVixhQUFPLENBQUM7QUFBQSxJQUNWO0FBRUEsVUFBTSxVQUF3QixDQUFDO0FBRS9CLGVBQVcsWUFBUSxrQ0FBWSxLQUFLLEdBQUc7QUFDckMsWUFBTSxhQUFhLE1BQU0sY0FBYyxJQUFJO0FBQzNDLFVBQUksZUFBZSxRQUFXO0FBQzVCO0FBQUEsTUFDRjtBQUVBLGNBQVEsS0FBSztBQUFBLFFBQ1gsWUFBWSxLQUFLLFNBQVMsTUFBTTtBQUFBLFFBQ2hDLFVBQVUsS0FBSyxTQUFTLElBQUk7QUFBQSxRQUM1QixZQUFZLEtBQUs7QUFBQSxRQUNqQjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFFQSxXQUFPO0FBQUEsRUFDVCxHQUFHLFlBQVk7QUFDakI7IiwKICAibmFtZXMiOiBbXQp9Cg==
227
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBMaW5rXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGhhbmRsaW5nIGFuZCB1cGRhdGluZyBsaW5rcyB3aXRoaW4gT2JzaWRpYW4gdmF1bHRzLiBJdCBpbmNsdWRlc1xuICogZnVuY3Rpb25zIHRvIHNwbGl0IHBhdGhzLCB1cGRhdGUgbGlua3MgaW4gZmlsZXMsIGFuZCBnZW5lcmF0ZSBtYXJrZG93biBsaW5rcyB3aXRoIHZhcmlvdXMgb3B0aW9ucy5cbiAqIFRoZSBmdW5jdGlvbnMgaW50ZWdyYXRlIHdpdGggT2JzaWRpYW4ncyBBUEkgdG8gZW5zdXJlIHRoYXQgbGlua3MgYXJlIG1hbmFnZWQgY29ycmVjdGx5IHdpdGhpbiB0aGUgdmF1bHQuXG4gKiovXG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZVBhdGgsXG4gIHR5cGUgQXBwLFxuICB0eXBlIFJlZmVyZW5jZUNhY2hlLFxuICB0eXBlIFRGaWxlXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgZ2V0QWxsTGlua3MsXG4gIGdldENhY2hlU2FmZVxufSBmcm9tIFwiLi9NZXRhZGF0YUNhY2hlLnRzXCI7XG5pbXBvcnQge1xuICBhcHBseUZpbGVDaGFuZ2VzLFxuICB0eXBlIEZpbGVDaGFuZ2Vcbn0gZnJvbSBcIi4vVmF1bHQudHNcIjtcbmltcG9ydCB7IGNyZWF0ZVRGaWxlSW5zdGFuY2UgfSBmcm9tIFwib2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnNcIjtcbmltcG9ydCB7XG4gIGJhc2VuYW1lLFxuICBleHRuYW1lXG59IGZyb20gXCIuLi9QYXRoLnRzXCI7XG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tIFwiLi4vU3RyaW5nLnRzXCI7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICB0eXBlIFBhdGhPckZpbGVcbn0gZnJvbSBcIi4vVEZpbGUudHNcIjtcbmltcG9ydCB7IGdldFBhdGggfSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICB0eXBlIE1heWJlUHJvbWlzZSxcbiAgdHlwZSBSZXRyeU9wdGlvbnNcbn0gZnJvbSBcIi4uL0FzeW5jLnRzXCI7XG5cbnR5cGUgU3BsaXRTdWJwYXRoUmVzdWx0ID0ge1xuICBsaW5rUGF0aDogc3RyaW5nO1xuICBzdWJwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gVGhlIGxpbmsgdG8gc3BsaXQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTdWJwYXRoKGxpbms6IHN0cmluZyk6IFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIGNvbnN0IFNVQlBBVEhfU0VQQVJBVE9SID0gXCIjXCI7XG4gIGNvbnN0IFtsaW5rUGF0aCA9IFwiXCIsIHN1YnBhdGhdID0gbm9ybWFsaXplKGxpbmspLnNwbGl0KFNVQlBBVEhfU0VQQVJBVE9SKTtcbiAgcmV0dXJuIHtcbiAgICBsaW5rUGF0aCxcbiAgICBzdWJwYXRoOiBzdWJwYXRoID8gU1VCUEFUSF9TRVBBUkFUT1IgKyBzdWJwYXRoIDogdW5kZWZpbmVkXG4gIH07XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgbGlua3MgaW4gYSBmaWxlLlxuICovXG50eXBlIFVwZGF0ZUxpbmtzSW5GaWxlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBvYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdG8gdXBkYXRlIHRoZSBsaW5rcyBpbi5cbiAgICovXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIG9sZCBhbmQgbmV3IHBhdGhzIGZvciByZW5hbWluZyBsaW5rcy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIGVtYmVkT25seUxpbmtzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbGlua3MgaW4gYSBmaWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rcy5cbiAqIEByZXR1cm5zIC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgcmVuYW1lTWFwLFxuICAgIGZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBlbWJlZE9ubHlMaW5rc1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdExpbmtzKGFwcCwgcGF0aE9yRmlsZSwgKGxpbmspID0+IHtcbiAgICBjb25zdCBpc0VtYmVkTGluayA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gICAgaWYgKGVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgZW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhhcHAsIGxpbmssIHBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGUsIHJlbmFtZU1hcCwgZm9yY2VNYXJrZG93bkxpbmtzKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBsaW5rIC0gVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBmaWxlLlxuICogQHBhcmFtIG9sZFBhdGhPckZpbGUgLSBUaGUgb2xkIHBhdGggb2YgdGhlIGxpbmsuXG4gKiBAcGFyYW0gcmVuYW1lTWFwIC0gQSBtYXAgb2Ygb2xkIHBhdGhzIHRvIG5ldyBwYXRocyBmb3IgcmVuYW1pbmcuXG4gKiBAcGFyYW0gZm9yY2VNYXJrZG93bkxpbmtzIC0gT3B0aW9uYWwgZmxhZyB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZnVuY3Rpb24gY29udmVydExpbmsoYXBwOiBBcHAsIGxpbms6IFJlZmVyZW5jZUNhY2hlLCBzb3VyY2U6IFBhdGhPckZpbGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiwgZm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIG9sZFBhdGhPckZpbGUgPz89IGdldFBhdGgoc291cmNlKTtcbiAgcmV0dXJuIHVwZGF0ZUxpbmsoe1xuICAgIGFwcCxcbiAgICBsaW5rLFxuICAgIHBhdGhPckZpbGU6IGV4dHJhY3RMaW5rRmlsZShhcHAsIGxpbmssIG9sZFBhdGhPckZpbGUpLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIG9sZCBwYXRoIG9mIHRoZSBmaWxlLlxuICogQHJldHVybnMgVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLCBvciBudWxsIGlmIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RMaW5rRmlsZShhcHA6IEFwcCwgbGluazogUmVmZXJlbmNlQ2FjaGUsIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBURmlsZSB8IG51bGwge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKG9sZFBhdGhPckZpbGUpKTtcbn1cblxudHlwZSBVcGRhdGVMaW5rT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcCxcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBjYWNoZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2VDYWNoZSxcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSB8IG51bGwsXG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcblxuICAvKipcbiAgICogQSBtYXAgb2Ygb2xkIGFuZCBuZXcgZmlsZSBwYXRocy5cbiAgICovXG4gIHJlbmFtZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPixcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBtYXJrZG93biBsaW5rcy5cbiAgICovXG4gIGZvcmNlTWFya2Rvd25MaW5rcz86IGJvb2xlYW4gfCB1bmRlZmluZWRcbn07XG5cbi8qKlxuICogVXBkYXRlcyBhIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTGluayhvcHRpb25zOiBVcGRhdGVMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbGluayxcbiAgICBwYXRoT3JGaWxlLFxuICAgIG9sZFBhdGhPckZpbGUsXG4gICAgc291cmNlUGF0aE9yRmlsZTogc291cmNlLFxuICAgIHJlbmFtZU1hcCxcbiAgICBmb3JjZU1hcmtkb3duTGlua3NcbiAgfSA9IG9wdGlvbnM7XG4gIGlmICghcGF0aE9yRmlsZSkge1xuICAgIHJldHVybiBsaW5rLm9yaWdpbmFsO1xuICB9XG4gIGxldCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChzb3VyY2UpO1xuICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aChvbGRQYXRoT3JGaWxlKTtcbiAgY29uc3QgaXNFbWJlZCA9IGxpbmsub3JpZ2luYWwuc3RhcnRzV2l0aChcIiFcIik7XG4gIGNvbnN0IGlzV2lraWxpbmsgPVxuICAgIGxpbmsub3JpZ2luYWwuaW5jbHVkZXMoXCJbW1wiKSAmJiBmb3JjZU1hcmtkb3duTGlua3MgIT09IHRydWU7XG4gIGNvbnN0IHsgc3VicGF0aCB9ID0gc3BsaXRTdWJwYXRoKGxpbmsubGluayk7XG5cbiAgY29uc3QgbmV3UGF0aCA9IHJlbmFtZU1hcC5nZXQoZmlsZS5wYXRoKTtcbiAgY29uc3QgYWxpYXMgPSBnZXRBbGlhcyh7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGZpbGU6IHBhdGhPckZpbGUsXG4gICAgb3RoZXJQYXRoczogW29sZFBhdGgsIG5ld1BhdGhdLFxuICAgIHNvdXJjZVBhdGhcbiAgfSk7XG5cbiAgaWYgKG5ld1BhdGgpIHtcbiAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAudmF1bHQsIG5ld1BhdGgpO1xuICB9XG5cbiAgY29uc3QgbmV3TGluayA9IGdlbmVyYXRlTWFya2Rvd25MaW5rKHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZTogZmlsZSxcbiAgICBzb3VyY2VQYXRoT3JGaWxlOiBzb3VyY2VQYXRoLFxuICAgIHN1YnBhdGgsXG4gICAgYWxpYXMsXG4gICAgaXNFbWJlZCxcbiAgICBpc1dpa2lsaW5rXG4gIH0pO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuZnVuY3Rpb24gZ2V0QWxpYXMoe1xuICBhcHAsXG4gIGRpc3BsYXlUZXh0LFxuICBmaWxlOiBwYXRoT3JGaWxlLFxuICBvdGhlclBhdGhzLFxuICBzb3VyY2VQYXRoXG59OiB7XG4gIGFwcDogQXBwLFxuICBkaXNwbGF5VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmaWxlOiBQYXRoT3JGaWxlLFxuICBvdGhlclBhdGhzOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdXG4gIHNvdXJjZVBhdGg6IHN0cmluZ1xufSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBpZiAoIWRpc3BsYXlUZXh0KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGNsZWFuRGlzcGxheVRleHQgPSBub3JtYWxpemVQYXRoKGRpc3BsYXlUZXh0LnNwbGl0KFwiID4gXCIpWzBdISkucmVwbGFjZSgvXFwuXFwvL2csIFwiXCIpO1xuXG4gIGZvciAoY29uc3QgcGF0aCBvZiBbZmlsZS5wYXRoLCAuLi5vdGhlclBhdGhzXSkge1xuICAgIGlmICghcGF0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGV4dG5hbWUocGF0aCk7XG4gICAgY29uc3QgZmlsZU5hbWVXaXRoRXh0ZW5zaW9uID0gYmFzZW5hbWUocGF0aCk7XG4gICAgY29uc3QgZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uID0gYmFzZW5hbWUocGF0aCwgZXh0ZW5zaW9uKTtcbiAgICBpZiAoY2xlYW5EaXNwbGF5VGV4dCA9PT0gcGF0aCB8fCBjbGVhbkRpc3BsYXlUZXh0ID09PSBmaWxlTmFtZVdpdGhFeHRlbnNpb24gfHwgY2xlYW5EaXNwbGF5VGV4dCA9PT0gZmlsZU5hbWVXaXRob3V0RXh0ZW5zaW9uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3Qgb21pdE1kRXh0ZW5zaW9uIG9mIFt0cnVlLCBmYWxzZV0pIHtcbiAgICBjb25zdCBsaW5rVGV4dCA9IGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVUb0xpbmt0ZXh0KGZpbGUsIHNvdXJjZVBhdGgsIG9taXRNZEV4dGVuc2lvbik7XG4gICAgaWYgKGNsZWFuRGlzcGxheVRleHQgPT09IGxpbmtUZXh0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaXNwbGF5VGV4dDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBnZW5lcmF0aW5nIGEgbWFya2Rvd24gbGluay5cbiAqL1xudHlwZSBHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHAsXG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIGxpbmsgdG8uXG4gICAqL1xuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuXG4gIC8qKlxuICAgKiBUaGUgc3VicGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIHN1YnBhdGg/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBhbGlhcz86IHN0cmluZyB8IHVuZGVmaW5lZCxcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSBlbWJlZGRlZC5cbiAgICovXG4gIGlzRW1iZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGEgd2lraWxpbmsuXG4gICAqL1xuICBpc1dpa2lsaW5rPzogYm9vbGVhbiB8IHVuZGVmaW5lZCxcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIHNob3VsZCBiZSByZWxhdGl2ZS5cbiAgICovXG4gIGlzUmVsYXRpdmU/OiBib29sZWFuIHwgdW5kZWZpbmVkXG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKG9wdGlvbnM6IEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGF0aE9yRmlsZSxcbiAgICBzb3VyY2VQYXRoT3JGaWxlLFxuICAgIHN1YnBhdGgsXG4gICAgYWxpYXMsXG4gICAgaXNFbWJlZCxcbiAgICBpc1dpa2lsaW5rLFxuICAgIGlzUmVsYXRpdmVcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGNvbnN0IHVzZU1hcmtkb3duTGlua3MgPSBhcHAudmF1bHQuZ2V0Q29uZmlnKFwidXNlTWFya2Rvd25MaW5rc1wiKTtcbiAgY29uc3QgbmV3TGlua0Zvcm1hdCA9IGFwcC52YXVsdC5nZXRDb25maWcoXCJuZXdMaW5rRm9ybWF0XCIpO1xuICBpZiAoaXNXaWtpbGluayAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXBwLnZhdWx0LnNldENvbmZpZyhcInVzZU1hcmtkb3duTGlua3NcIiwgIWlzV2lraWxpbmspO1xuICB9XG5cbiAgaWYgKGlzUmVsYXRpdmUgPT09IHRydWUpIHtcbiAgICBhcHAudmF1bHQuc2V0Q29uZmlnKFwibmV3TGlua0Zvcm1hdFwiLCBcInJlbGF0aXZlXCIpO1xuICB9XG5cbiAgbGV0IGxpbmsgPSBhcHAuZmlsZU1hbmFnZXIuZ2VuZXJhdGVNYXJrZG93bkxpbmsoZmlsZSwgZ2V0UGF0aChzb3VyY2VQYXRoT3JGaWxlKSwgc3VicGF0aCwgYWxpYXMpO1xuXG4gIGFwcC52YXVsdC5zZXRDb25maWcoXCJ1c2VNYXJrZG93bkxpbmtzXCIsIHVzZU1hcmtkb3duTGlua3MpO1xuICBhcHAudmF1bHQuc2V0Q29uZmlnKFwibmV3TGlua0Zvcm1hdFwiLCBuZXdMaW5rRm9ybWF0KTtcblxuICBjb25zdCBpc0xpbmtFbWJlZCA9IGxpbmsuc3RhcnRzV2l0aChcIiFcIik7XG5cbiAgaWYgKGlzRW1iZWQgIT09IHVuZGVmaW5lZCAmJiBpc0VtYmVkICE9PSBpc0xpbmtFbWJlZCkge1xuICAgIGlmIChpc0VtYmVkKSB7XG4gICAgICBsaW5rID0gXCIhXCIgKyBsaW5rO1xuICAgIH0gZWxzZSB7XG4gICAgICBsaW5rID0gbGluay5zbGljZSgxKTtcbiAgICAgIGxpbmsgPSBsaW5rLnJlcGxhY2UoXCJbXVwiLCBgWyR7YWxpYXMgfHwgZmlsZS5iYXNlbmFtZX1dYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxpbms7XG59XG5cbi8qKlxuICogRWRpdHMgdGhlIGxpbmtzIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHVzaW5nIHRoZSBwcm92aWRlZCBsaW5rIGNvbnZlcnRlciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGxpbmtzIGluLlxuICogQHBhcmFtIGxpbmtDb252ZXJ0ZXIgLSBUaGUgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBlYWNoIGxpbmsuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGxpbmtzIGhhdmUgYmVlbiBlZGl0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TGlua3MoXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlQ2FjaGUpID0+IE1heWJlUHJvbWlzZTxzdHJpbmcgfCB2b2lkPixcbiAgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gYXdhaXQgYXBwbHlGaWxlQ2hhbmdlcyhhcHAsIHBhdGhPckZpbGUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjYWNoZSA9IGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGlmICghY2FjaGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VzOiBGaWxlQ2hhbmdlW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgbGluayBvZiBnZXRBbGxMaW5rcyhjYWNoZSkpIHtcbiAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSBhd2FpdCBsaW5rQ29udmVydGVyKGxpbmspO1xuICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY2hhbmdlcy5wdXNoKHtcbiAgICAgICAgc3RhcnRJbmRleDogbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgIGVuZEluZGV4OiBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgICAgIG9sZENvbnRlbnQ6IGxpbmsub3JpZ2luYWwsXG4gICAgICAgIG5ld0NvbnRlbnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCByZXRyeU9wdGlvbnMpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLHNCQUtPO0FBQ1AsMkJBR087QUFDUCxtQkFHTztBQUNQLDZCQUFvQztBQUNwQyxrQkFHTztBQUNQLG9CQUEwQjtBQUMxQixtQkFHTztBQUNQLDJCQUF3QjtBQUN4QixtQkFHTztBQXpDUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWlETyxTQUFTLGFBQWEsTUFBa0M7QUFDN0QsUUFBTSxvQkFBb0I7QUFDMUIsUUFBTSxDQUFDLFdBQVcsSUFBSSxPQUFPLFFBQUkseUJBQVUsSUFBSSxFQUFFLE1BQU0saUJBQWlCO0FBQ3hFLFNBQU87QUFBQSxJQUNMO0FBQUEsSUFDQSxTQUFTLFVBQVUsb0JBQW9CLFVBQVU7QUFBQSxFQUNuRDtBQUNGO0FBMkNBLGVBQXNCLGtCQUFrQixTQUFrRDtBQUN4RixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxVQUFVLEtBQUssWUFBWSxDQUFDLFNBQVM7QUFDekMsVUFBTSxjQUFjLEtBQUssU0FBUyxXQUFXLEdBQUc7QUFDaEQsUUFBSSxtQkFBbUIsVUFBYSxtQkFBbUIsYUFBYTtBQUNsRTtBQUFBLElBQ0Y7QUFDQSxXQUFPLFlBQVksS0FBSyxNQUFNLFlB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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module Link
2
+ * @packageDocumentation Link
3
3
  * This module provides utilities for handling and updating links within Obsidian vaults. It includes
4
4
  * functions to split paths, update links in files, and generate markdown links with various options.
5
5
  * The functions integrate with Obsidian's API to ensure that links are managed correctly within the vault.
@@ -19,25 +19,41 @@ type SplitSubpathResult = {
19
19
  */
20
20
  export declare function splitSubpath(link: string): SplitSubpathResult;
21
21
  /**
22
- * Updates the links in a file based on the provided parameters.
23
- *
24
- * @param {Object} options - The options for updating the links.
25
- * @param {App} options.app - The Obsidian app instance.
26
- * @param {TFile} options.file - The file to update the links in.
27
- * @param {string} options.oldPath - The old path of the file.
28
- * @param {Map<string, string>} options.renameMap - A map of old and new paths for renaming links.
29
- * @param {boolean} [options.forceMarkdownLinks] - Whether to force the links to be in Markdown format.
30
- * @param {boolean} [options.embedOnlyLinks] - Whether to update only embedded links.
31
- * @returns {Promise<void>} - A promise that resolves when the links are updated.
22
+ * Options for updating links in a file.
32
23
  */
33
- export declare function updateLinksInFile({ app, pathOrFile, oldPathOrFile, renameMap, forceMarkdownLinks, embedOnlyLinks }: {
24
+ type UpdateLinksInFileOptions = {
25
+ /**
26
+ * The obsidian app instance.
27
+ */
34
28
  app: App;
29
+ /**
30
+ * The file to update the links in.
31
+ */
35
32
  pathOrFile: PathOrFile;
33
+ /**
34
+ * The old path of the file.
35
+ */
36
36
  oldPathOrFile: PathOrFile;
37
+ /**
38
+ * A map of old and new paths for renaming links.
39
+ */
37
40
  renameMap: Map<string, string>;
41
+ /**
42
+ * Whether to force the links to be in Markdown format.
43
+ */
38
44
  forceMarkdownLinks?: boolean | undefined;
45
+ /**
46
+ * Whether to update only embedded links.
47
+ */
39
48
  embedOnlyLinks?: boolean | undefined;
40
- }): Promise<void>;
49
+ };
50
+ /**
51
+ * Updates the links in a file based on the provided parameters.
52
+ *
53
+ * @param options - The options for updating the links.
54
+ * @returns - A promise that resolves when the links are updated.
55
+ */
56
+ export declare function updateLinksInFile(options: UpdateLinksInFileOptions): Promise<void>;
41
57
  /**
42
58
  * Extracts the file associated with a link.
43
59
  *
@@ -47,58 +63,94 @@ export declare function updateLinksInFile({ app, pathOrFile, oldPathOrFile, rena
47
63
  * @returns The file associated with the link, or null if not found.
48
64
  */
49
65
  export declare function extractLinkFile(app: App, link: ReferenceCache, oldPathOrFile: PathOrFile): TFile | null;
50
- /**
51
- * Updates a link based on the provided parameters.
52
- *
53
- * @param {Object} options - The options for updating the link.
54
- * @param {App} options.app - The Obsidian app instance.
55
- * @param {ReferenceCache} options.link - The reference cache for the link.
56
- * @param {TFile | null} options.file - The file associated with the link.
57
- * @param {string} options.oldPath - The old path of the file.
58
- * @param {TFile} options.source - The source file containing the link.
59
- * @param {Map<string, string>} options.renameMap - The map of old and new file paths.
60
- * @param {boolean | undefined} [options.forceMarkdownLinks] - Whether to force markdown links.
61
- * @returns {string} The updated link.
62
- */
63
- export declare function updateLink({ app, link, pathOrFile, oldPathOrFile, sourcePathOrFile: source, renameMap, forceMarkdownLinks }: {
66
+ type UpdateLinkOptions = {
67
+ /**
68
+ * The Obsidian app instance.
69
+ */
64
70
  app: App;
71
+ /**
72
+ * The reference cache for the link.
73
+ */
65
74
  link: ReferenceCache;
75
+ /**
76
+ * The file associated with the link.
77
+ */
66
78
  pathOrFile: PathOrFile | null;
79
+ /**
80
+ * The old path of the file.
81
+ */
67
82
  oldPathOrFile: PathOrFile;
83
+ /**
84
+ * The source file containing the link.
85
+ */
68
86
  sourcePathOrFile: PathOrFile;
87
+ /**
88
+ * A map of old and new file paths.
89
+ */
69
90
  renameMap: Map<string, string>;
91
+ /**
92
+ * Whether to force markdown links.
93
+ */
70
94
  forceMarkdownLinks?: boolean | undefined;
71
- }): string;
95
+ };
72
96
  /**
73
- * Generates a markdown link based on the provided parameters.
97
+ * Updates a link based on the provided parameters.
74
98
  *
75
- * @param {Object} options - The options for generating the markdown link.
76
- * @param {App} options.app - The Obsidian app instance.
77
- * @param {TFile} options.file - The file to link to.
78
- * @param {string} options.sourcePath - The source path of the link.
79
- * @param {string} [options.subpath] - The subpath of the link.
80
- * @param {string} [options.alias] - The alias for the link.
81
- * @param {boolean} [options.isEmbed] - Indicates if the link should be embedded.
82
- * @param {boolean} [options.isWikilink] - Indicates if the link should be a wikilink.
83
- * @param {boolean} [options.isRelative] - Indicates if the link should be relative.
84
- * @returns {string} The generated markdown link.
99
+ * @param options - The options for updating the link.
100
+ * @returns The updated link.
101
+ */
102
+ export declare function updateLink(options: UpdateLinkOptions): string;
103
+ /**
104
+ * Options for generating a markdown link.
85
105
  */
86
- export declare function generateMarkdownLink({ app, pathOrFile, sourcePathOrFile, subpath, alias, isEmbed, isWikilink, isRelative }: {
106
+ type GenerateMarkdownLinkOptions = {
107
+ /**
108
+ * The Obsidian app instance.
109
+ */
87
110
  app: App;
111
+ /**
112
+ * The file to link to.
113
+ */
88
114
  pathOrFile: PathOrFile;
115
+ /**
116
+ * The source path of the link.
117
+ */
89
118
  sourcePathOrFile: PathOrFile;
119
+ /**
120
+ * The subpath of the link.
121
+ */
90
122
  subpath?: string | undefined;
123
+ /**
124
+ * The alias for the link.
125
+ */
91
126
  alias?: string | undefined;
127
+ /**
128
+ * Indicates if the link should be embedded.
129
+ */
92
130
  isEmbed?: boolean | undefined;
131
+ /**
132
+ * Indicates if the link should be a wikilink.
133
+ */
93
134
  isWikilink?: boolean | undefined;
135
+ /**
136
+ * Indicates if the link should be relative.
137
+ */
94
138
  isRelative?: boolean | undefined;
95
- }): string;
139
+ };
140
+ /**
141
+ * Generates a markdown link based on the provided parameters.
142
+ *
143
+ * @param options - The options for generating the markdown link.
144
+ * @returns The generated markdown link.
145
+ */
146
+ export declare function generateMarkdownLink(options: GenerateMarkdownLinkOptions): string;
96
147
  /**
97
148
  * Edits the links in the specified file or path using the provided link converter function.
98
149
  *
99
150
  * @param app - The Obsidian application instance.
100
151
  * @param pathOrFile - The path or file to edit the links in.
101
152
  * @param linkConverter - The function that converts each link.
153
+ * @param retryOptions - Optional options for retrying the operation.
102
154
  * @returns A promise that resolves when the links have been edited.
103
155
  */
104
156
  export declare function editLinks(app: App, pathOrFile: PathOrFile, linkConverter: (link: ReferenceCache) => MaybePromise<string | void>, retryOptions?: Partial<RetryOptions>): Promise<void>;
@@ -49,4 +49,4 @@ function getCodeBlockArgument(ctx, el) {
49
49
  0 && (module.exports = {
50
50
  getCodeBlockArgument
51
51
  });
52
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAbW9kdWxlIE1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjb2RlIGJsb2NrcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFyZ3VtZW50IG9mIGEgY29kZSBibG9jayBmcm9tIHRoZSBnaXZlbiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IGFuZCBIVE1MRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gY3R4IC0gVGhlIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgb2JqZWN0LlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHJlcHJlc2VudGluZyB0aGUgY29kZSBibG9jay5cbiAqIEByZXR1cm5zIFRoZSBhcmd1bWVudCBvZiB0aGUgY29kZSBibG9jayBhcyBhIHN0cmluZywgb3IgbnVsbCBpZiBubyBhcmd1bWVudCBpcyBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvZGVCbG9ja0FyZ3VtZW50KGN0eDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgZWw6IEhUTUxFbGVtZW50KTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHNlY3Rpb25JbmZvID0gY3R4LmdldFNlY3Rpb25JbmZvKGVsKTtcbiAgaWYgKCFzZWN0aW9uSW5mbykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGxpbmVzID0gc2VjdGlvbkluZm8udGV4dC5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgY29kZUJsb2NrSGVhZGVyID0gbGluZXNbc2VjdGlvbkluZm8ubGluZVN0YXJ0XSE7XG4gIGNvbnN0IG1hdGNoID0gY29kZUJsb2NrSGVhZGVyLm1hdGNoKC9eXFxgezMsfVxcUytcXHMrKC4qKSQvKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBtYXRjaFsxXT8udHJpbSgpID8/IG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWVPLFNBQVMscUJBQXFCLEtBQW1DLElBQWdDO0FBQ3RHLFFBQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtBQUN6QyxNQUFJLENBQUMsYUFBYTtBQUNoQixXQUFPO0FBQUEsRUFDVDtBQUNBLFFBQU0sUUFBUSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBQ3pDLFFBQU0sa0JBQWtCLE1BQU0sWUFBWSxTQUFTO0FBQ25ELFFBQU0sUUFBUSxnQkFBZ0IsTUFBTSxvQkFBb0I7QUFDeEQsTUFBSSxDQUFDLE9BQU87QUFDVixXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8sTUFBTSxDQUFDLEdBQUcsS0FBSyxLQUFLO0FBQzdCOyIsCiAgIm5hbWVzIjogW10KfQo=
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGNvZGUgYmxvY2tzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXJndW1lbnQgb2YgYSBjb2RlIGJsb2NrIGZyb20gdGhlIGdpdmVuIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgYW5kIEhUTUxFbGVtZW50LlxuICpcbiAqIEBwYXJhbSBjdHggLSBUaGUgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCBvYmplY3QuXG4gKiBAcGFyYW0gZWwgLSBUaGUgSFRNTEVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSBjb2RlIGJsb2NrLlxuICogQHJldHVybnMgVGhlIGFyZ3VtZW50IG9mIHRoZSBjb2RlIGJsb2NrIGFzIGEgc3RyaW5nLCBvciBudWxsIGlmIG5vIGFyZ3VtZW50IGlzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZUJsb2NrQXJndW1lbnQoY3R4OiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LCBlbDogSFRNTEVsZW1lbnQpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgc2VjdGlvbkluZm8gPSBjdHguZ2V0U2VjdGlvbkluZm8oZWwpO1xuICBpZiAoIXNlY3Rpb25JbmZvKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KFwiXFxuXCIpO1xuICBjb25zdCBjb2RlQmxvY2tIZWFkZXIgPSBsaW5lc1tzZWN0aW9uSW5mby5saW5lU3RhcnRdITtcbiAgY29uc3QgbWF0Y2ggPSBjb2RlQmxvY2tIZWFkZXIubWF0Y2goL15cXGB7Myx9XFxTK1xccysoLiopJC8pO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIG1hdGNoWzFdPy50cmltKCkgPz8gbnVsbDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBZU8sU0FBUyxxQkFBcUIsS0FBbUMsSUFBZ0M7QUFDdEcsUUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxhQUFhO0FBQ2hCLFdBQU87QUFBQSxFQUNUO0FBQ0EsUUFBTSxRQUFRLFlBQVksS0FBSyxNQUFNLElBQUk7QUFDekMsUUFBTSxrQkFBa0IsTUFBTSxZQUFZLFNBQVM7QUFDbkQsUUFBTSxRQUFRLGdCQUFnQixNQUFNLG9CQUFvQjtBQUN4RCxNQUFJLENBQUMsT0FBTztBQUNWLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTyxNQUFNLENBQUMsR0FBRyxLQUFLLEtBQUs7QUFDN0I7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module MarkdownCodeBlockProcessor
2
+ * @packageDocumentation MarkdownCodeBlockProcessor
3
3
  * This module provides utility functions for processing code blocks in Obsidian.
4
4
  */
5
5
  import type { MarkdownPostProcessorContext } from "obsidian";
@@ -138,4 +138,4 @@ async function getFrontMatterSafe(app, pathOrFile) {
138
138
  getCacheSafe,
139
139
  getFrontMatterSafe
140
140
  });
141
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBMaW5rQ2FjaGUsXG4gIE1hcmtkb3duVmlldyxcbiAgUmVmZXJlbmNlQ2FjaGUsXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgdHlwZSBSZXRyeU9wdGlvbnNcbn0gZnJvbSBcIi4uL0FzeW5jLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdCB9IGZyb20gXCJvYnNpZGlhbi10eXBpbmdzXCI7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZVxufSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICB0eXBlIFBhdGhPckZpbGVcbn0gZnJvbSBcIi4vVEZpbGUudHNcIjtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgYSBnaXZlbiBmaWxlIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIHtBcHB9IGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0ge1BhdGhPckZpbGV9IGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0ge1BhcnRpYWw8UmV0cnlPcHRpb25zPn0gW3JldHJ5T3B0aW9uc10gLSBPcHRpb25hbCByZXRyeSBvcHRpb25zIGZvciB0aGUgcmV0cmlldmFsIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxDYWNoZWRNZXRhZGF0YSB8IG51bGw+fSBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FjaGVTYWZlKGFwcDogQXBwLCBmaWxlT3JQYXRoOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDYWNoZWRNZXRhZGF0YSB8IG51bGw+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGNhY2hlOiBDYWNoZWRNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgZmlsZU9yUGF0aCk7XG5cbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICBjYWNoZSA9IG51bGw7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlTm90ZShhcHAsIGZpbGUpO1xuXG4gICAgY29uc3QgZmlsZUluZm8gPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlSW5mbyhmaWxlLnBhdGgpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KGZpbGUucGF0aCk7XG5cbiAgICBpZiAoIWZpbGVJbmZvKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghc3RhdCkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBzdGF0IGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZmlsZUluZm8ubXRpbWUgPCBzdGF0Lm10aW1lKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZUluZm8ubXRpbWUpLnRvU3RyaW5nKCl9IHdoaWNoIGlzIG9sZGVyIHRoYW4gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgICAgaWYgKCFjYWNoZSkge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gY2FjaGU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFsbCBsaW5rcyBmcm9tIHRoZSBwcm92aWRlZCBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gY2FjaGUgLSBUaGUgY2FjaGVkIG1ldGFkYXRhLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVmZXJlbmNlIGNhY2hlcyByZXByZXNlbnRpbmcgdGhlIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTGlua3MoY2FjaGU6IENhY2hlZE1ldGFkYXRhKTogUmVmZXJlbmNlQ2FjaGVbXSB7XG4gIGxldCBsaW5rczogUmVmZXJlbmNlQ2FjaGVbXSA9IFtdO1xuXG4gIGlmIChjYWNoZS5saW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUubGlua3MpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmVtYmVkcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZW1iZWRzKTtcbiAgfVxuXG4gIGxpbmtzLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24uc3RhcnQub2Zmc2V0IC0gYi5wb3NpdGlvbi5zdGFydC5vZmZzZXQpO1xuXG4gIC8vIEJVRzogaHR0cHM6Ly9mb3J1bS5vYnNpZGlhbi5tZC90L2J1Zy1kdXBsaWNhdGVkLWxpbmtzLWluLW1ldGFkYXRhY2FjaGUtaW5zaWRlLWZvb3Rub3Rlcy84NTU1MVxuICBsaW5rcyA9IGxpbmtzLmZpbHRlcigobGluaywgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQgIT09IGxpbmtzW2luZGV4IC0gMV0hLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDdXN0b21BcnJheURpY3Q8TGlua0NhY2hlPj4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBsZXQgYmFja2xpbmtzOiBDdXN0b21BcnJheURpY3Q8TGlua0NhY2hlPiB8IG51bGwgPSBudWxsO1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGJhY2tsaW5rcyA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUoZmlsZSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKG5vdGUpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKSE7XG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gYmFja2xpbmtzITtcbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgc3BlY2lmaWVkIG5vdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIG5vdGUgdG8gYmUgc2F2ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYXZlTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFwibWFya2Rvd25cIikpIHtcbiAgICBjb25zdCB2aWV3ID0gbGVhZi52aWV3IGFzIE1hcmtkb3duVmlldztcbiAgICBpZiAodmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCB2aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHRlbXBsYXRlIEZyb250TWF0dGVyIC0gVGhlIHR5cGUgb2YgdGhlIGZyb250IG1hdHRlciBvYmplY3QuXG4gKiBAcGFyYW0ge0FwcH0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7UGF0aE9yRmlsZX0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmV0cmlldmUgdGhlIGZyb250IG1hdHRlciBmcm9tLlxuICogQHJldHVybnMge1Byb21pc2U8RnJvbnRNYXR0ZXI+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmcm9udCBtYXR0ZXIgb2JqZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRNYXR0ZXJTYWZlPEZyb250TWF0dGVyID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTxGcm9udE1hdHRlcj4ge1xuICBjb25zdCBjYWNoZSA9IGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGhPckZpbGUpO1xuICByZXR1cm4gKGNhY2hlPy5mcm9udG1hdHRlciA/PyB7fSkgYXMgRnJvbnRNYXR0ZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsbUJBR087QUFFUCwy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
141
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBNZXRhZGF0YUNhY2hlXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIHRoZSBtZXRhZGF0YSBjYWNoZSBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgQ2FjaGVkTWV0YWRhdGEsXG4gIExpbmtDYWNoZSxcbiAgTWFya2Rvd25WaWV3LFxuICBSZWZlcmVuY2VDYWNoZSxcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQge1xuICByZXRyeVdpdGhUaW1lb3V0LFxuICB0eXBlIFJldHJ5T3B0aW9uc1xufSBmcm9tIFwiLi4vQXN5bmMudHNcIjtcbmltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0IH0gZnJvbSBcIm9ic2lkaWFuLXR5cGluZ3NcIjtcbmltcG9ydCB7XG4gIGdldFBhdGgsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gXCIuL1RBYnN0cmFjdEZpbGUudHNcIjtcbmltcG9ydCB7XG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIHR5cGUgUGF0aE9yRmlsZVxufSBmcm9tIFwiLi9URmlsZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDb21iaW5lZEZyb250TWF0dGVyIH0gZnJvbSBcIi4vRnJvbnRNYXR0ZXIudHNcIjtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgYSBnaXZlbiBmaWxlIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZU9yUGF0aCAtIFRoZSBmaWxlIG9yIHBhdGggdG8gcmV0cmlldmUgdGhlIG1ldGFkYXRhIGZvci5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zIGZvciB0aGUgcmV0cmlldmFsIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FjaGVTYWZlKGFwcDogQXBwLCBmaWxlT3JQYXRoOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDYWNoZWRNZXRhZGF0YSB8IG51bGw+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGNhY2hlOiBDYWNoZWRNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgZmlsZU9yUGF0aCk7XG5cbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICBjYWNoZSA9IG51bGw7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlTm90ZShhcHAsIGZpbGUpO1xuXG4gICAgY29uc3QgZmlsZUluZm8gPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlSW5mbyhmaWxlLnBhdGgpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KGZpbGUucGF0aCk7XG5cbiAgICBpZiAoIWZpbGVJbmZvKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghc3RhdCkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBzdGF0IGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZmlsZUluZm8ubXRpbWUgPCBzdGF0Lm10aW1lKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZUluZm8ubXRpbWUpLnRvU3RyaW5nKCl9IHdoaWNoIGlzIG9sZGVyIHRoYW4gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgICAgaWYgKCFjYWNoZSkge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gY2FjaGU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFsbCBsaW5rcyBmcm9tIHRoZSBwcm92aWRlZCBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gY2FjaGUgLSBUaGUgY2FjaGVkIG1ldGFkYXRhLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVmZXJlbmNlIGNhY2hlcyByZXByZXNlbnRpbmcgdGhlIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTGlua3MoY2FjaGU6IENhY2hlZE1ldGFkYXRhKTogUmVmZXJlbmNlQ2FjaGVbXSB7XG4gIGxldCBsaW5rczogUmVmZXJlbmNlQ2FjaGVbXSA9IFtdO1xuXG4gIGlmIChjYWNoZS5saW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUubGlua3MpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmVtYmVkcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZW1iZWRzKTtcbiAgfVxuXG4gIGxpbmtzLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24uc3RhcnQub2Zmc2V0IC0gYi5wb3NpdGlvbi5zdGFydC5vZmZzZXQpO1xuXG4gIC8vIEJVRzogaHR0cHM6Ly9mb3J1bS5vYnNpZGlhbi5tZC90L2J1Zy1kdXBsaWNhdGVkLWxpbmtzLWluLW1ldGFkYXRhY2FjaGUtaW5zaWRlLWZvb3Rub3Rlcy84NTU1MVxuICBsaW5rcyA9IGxpbmtzLmZpbHRlcigobGluaywgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gbGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQgIT09IGxpbmtzW2luZGV4IC0gMV0hLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDdXN0b21BcnJheURpY3Q8TGlua0NhY2hlPj4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBsZXQgYmFja2xpbmtzOiBDdXN0b21BcnJheURpY3Q8TGlua0NhY2hlPiB8IG51bGwgPSBudWxsO1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGJhY2tsaW5rcyA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUoZmlsZSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKG5vdGUpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKSE7XG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gYmFja2xpbmtzITtcbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgc3BlY2lmaWVkIG5vdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIG5vdGUgdG8gYmUgc2F2ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYXZlTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFwibWFya2Rvd25cIikpIHtcbiAgICBjb25zdCB2aWV3ID0gbGVhZi52aWV3IGFzIE1hcmtkb3duVmlldztcbiAgICBpZiAodmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCB2aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udE1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRNYXR0ZXJTYWZlPEN1c3RvbUZyb250TWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtCQSxtQkFHTztBQUVQLDJCQUdPO0FBQ1AsbUJBSU87QUEvQlAs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