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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.17.1
4
+
5
+ - Make dependency for build purpose
6
+
7
+ ## 2.17.0
8
+
9
+ - Update tsdocs
10
+ - Allow custom configs to Linter
11
+
3
12
  ## 2.16.0
4
13
 
5
14
  - Add FrontMatter types
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module compare-versions
2
+ * @packageDocumentation compare-versions
3
3
  * Fixed typings for the `compare-versions` package.
4
4
  */
5
5
 
@@ -25,4 +25,4 @@ var __process = globalThis["process"] ?? {
25
25
  "env": {},
26
26
  "platform": "android"
27
27
  };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0B0eXBlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQG1vZHVsZSBAdHlwZXNcbiAqIENvbnRhaW5zIHV0aWxpdHkgdHlwZXMgZm9yIHdvcmtpbmcgd2l0aCBUeXBlU2NyaXB0IGNsYXNzZXMgYW5kIHR5cGUgcHJvcGVydGllcy5cbiAqL1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25zdHJ1Y3RvciB0eXBlIGZvciBhIGdpdmVuIGNsYXNzIGBUYCB3aXRoIGFyZ3VtZW50cyBgQXJnc2AuXG4gKlxuICogQHRlbXBsYXRlIFR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgaW5zdGFuY2UgYmVpbmcgY29uc3RydWN0ZWQuXG4gKiBAdGVtcGxhdGUgQXJncyAtIFRoZSB0eXBlcyBvZiBhcmd1bWVudHMgdGhlIGNvbnN0cnVjdG9yIGFjY2VwdHMuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFR5cGUsIEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBbXT4gPSBuZXcgKC4uLmFyZ3M6IEFyZ3MpID0+IFR5cGU7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGtleXMgb2YgYSBnaXZlbiB0eXBlIGBUeXBlYCB0aGF0IG1hdGNoIGEgc3BlY2lmaWMgdmFsdWUgdHlwZSBgVmFsdWVgLlxuICpcbiAqIEB0ZW1wbGF0ZSBUeXBlIC0gVGhlIHR5cGUgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBrZXlzLlxuICogQHRlbXBsYXRlIFZhbHVlIC0gVGhlIHZhbHVlIHR5cGUgdG8gbWF0Y2ggYWdhaW5zdC5cbiAqL1xuZXhwb3J0IHR5cGUgS2V5c01hdGNoaW5nPFR5cGUsIFZhbHVlPiA9IHsgW0tleSBpbiBrZXlvZiBUeXBlXS0/OiBUeXBlW0tleV0gZXh0ZW5kcyBWYWx1ZSA/IEtleSA6IG5ldmVyIH1ba2V5b2YgVHlwZV07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkOyIsCiAgIm5hbWVzIjogW10KfQo=
28
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0B0eXBlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFxcQHR5cGVzXG4gKiBDb250YWlucyB1dGlsaXR5IHR5cGVzIGZvciB3b3JraW5nIHdpdGggVHlwZVNjcmlwdCBjbGFzc2VzIGFuZCB0eXBlIHByb3BlcnRpZXMuXG4gKi9cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uc3RydWN0b3IgdHlwZSBmb3IgYSBnaXZlbiBjbGFzcyBgVGAgd2l0aCBhcmd1bWVudHMgYEFyZ3NgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBpbnN0YW5jZSBiZWluZyBjb25zdHJ1Y3RlZC5cbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSB0eXBlcyBvZiBhcmd1bWVudHMgdGhlIGNvbnN0cnVjdG9yIGFjY2VwdHMuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFR5cGUsIEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBbXT4gPSBuZXcgKC4uLmFyZ3M6IEFyZ3MpID0+IFR5cGU7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGtleXMgb2YgYSBnaXZlbiB0eXBlIGBUeXBlYCB0aGF0IG1hdGNoIGEgc3BlY2lmaWMgdmFsdWUgdHlwZSBgVmFsdWVgLlxuICpcbiAqIEB0eXBlUGFyYW0gVHlwZSAtIFRoZSB0eXBlIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUga2V5cy5cbiAqIEB0eXBlUGFyYW0gVmFsdWUgLSBUaGUgdmFsdWUgdHlwZSB0byBtYXRjaCBhZ2FpbnN0LlxuICovXG5leHBvcnQgdHlwZSBLZXlzTWF0Y2hpbmc8VHlwZSwgVmFsdWU+ID0geyBbS2V5IGluIGtleW9mIFR5cGVdLT86IFR5cGVbS2V5XSBleHRlbmRzIFZhbHVlID8gS2V5IDogbmV2ZXIgfVtrZXlvZiBUeXBlXTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,19 +1,19 @@
1
1
  /**
2
- * @module @types
2
+ * @packageDocumentation \@types
3
3
  * Contains utility types for working with TypeScript classes and type properties.
4
4
  */
5
5
  /**
6
6
  * Represents a constructor type for a given class `T` with arguments `Args`.
7
7
  *
8
- * @template Type - The type of the instance being constructed.
9
- * @template Args - The types of arguments the constructor accepts.
8
+ * @typeParam Type - The type of the instance being constructed.
9
+ * @typeParam Args - The types of arguments the constructor accepts.
10
10
  */
11
11
  export type Constructor<Type, Args extends unknown[] = []> = new (...args: Args) => Type;
12
12
  /**
13
13
  * Extracts the keys of a given type `Type` that match a specific value type `Value`.
14
14
  *
15
- * @template Type - The type from which to extract the keys.
16
- * @template Value - The value type to match against.
15
+ * @typeParam Type - The type from which to extract the keys.
16
+ * @typeParam Value - The value type to match against.
17
17
  */
18
18
  export type KeysMatching<Type, Value> = {
19
19
  [Key in keyof Type]-?: Type[Key] extends Value ? Key : never;
@@ -121,4 +121,4 @@ async function toArray(iter) {
121
121
  timeout,
122
122
  toArray
123
123
  });
124
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAbW9kdWxlIEFzeW5jXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMuXG4gKi9cblxuaW1wb3J0IHsgZW1pdEFzeW5jRXJyb3JFdmVudCB9IGZyb20gXCIuL0Vycm9yLnRzXCI7XG5cbi8qKlxuICogQSB0eXBlIHJlcHJlc2VudGluZyBhIHZhbHVlIHRoYXQgY2FuIGVpdGhlciBiZSBhIGRpcmVjdCB2YWx1ZSBvciBhIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoYXQgdmFsdWUuXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiB0aGUgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIE1heWJlUHJvbWlzZTxUPiA9IFQgfCBQcm9taXNlPFQ+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSByZXRyeSBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IHR5cGUgUmV0cnlPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZ2l2aW5nIHVwIG9uIHJldHJ5aW5nLlxuICAgKi9cbiAgdGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWxheSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiByZXRyeSBhdHRlbXB0cy5cbiAgICovXG4gIHJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBSZXRyaWVzIHRoZSBwcm92aWRlZCBhc3luY2hyb25vdXMgZnVuY3Rpb24gdW50aWwgaXQgc3VjY2VlZHMgb3IgdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqXG4gKiBAcGFyYW0gYXN5bmNGbiAtIFRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gcmV0cnkuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcGFyYW1ldGVycyB0byBjb25maWd1cmUgdGhlIHJldHJ5IGJlaGF2aW9yLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZnVuY3Rpb24gc3VjY2VlZHMgb3IgcmVqZWN0cyB3aGVuIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXRyeVdpdGhUaW1lb3V0KGFzeW5jRm46ICgpID0+IFByb21pc2U8Ym9vbGVhbj4sIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBSZXRyeU9wdGlvbnMgPSB7XG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzOiA1MDAwLFxuICAgIHJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kczogMTAwXG4gIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBSZXRyeU9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGF3YWl0IHJ1bldpdGhUaW1lb3V0KG92ZXJyaWRkZW5PcHRpb25zLnRpbWVvdXRJbk1pbGxpc2Vjb25kcywgYXN5bmMgKCkgPT4ge1xuICAgIGxldCBhdHRlbXB0ID0gMDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgYXR0ZW1wdCsrO1xuICAgICAgaWYgKGF3YWl0IGFzeW5jRm4oKSkge1xuICAgICAgICBpZiAoYXR0ZW1wdCA+IDEpIHtcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKGBSZXRyeSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IGFmdGVyICR7YXR0ZW1wdH0gYXR0ZW1wdHNgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUuZGVidWcoYFJldHJ5IGF0dGVtcHQgJHthdHRlbXB0fSBjb21wbGV0ZWQgdW5zdWNjZXNzZnVsbHkuIFRyeWluZyBhZ2FpbiBpbiAke292ZXJyaWRkZW5PcHRpb25zLnJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kc30gbWlsbGlzZWNvbmRzYCk7XG4gICAgICBjb25zb2xlLmRlYnVnKGFzeW5jRm4pO1xuICAgICAgYXdhaXQgc2xlZXAob3ZlcnJpZGRlbk9wdGlvbnMucmV0cnlEZWxheUluTWlsbGlzZWNvbmRzKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIERlbGF5cyBleGVjdXRpb24gZm9yIGEgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHBhcmFtIG1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBkZWxheS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1pbGxpc2Vjb25kczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1pbGxpc2Vjb25kcykpO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB3aXRoIGEgdGltZW91dC4gSWYgdGhlIGZ1bmN0aW9uIGRvZXMgbm90IGNvbXBsZXRlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUsIGl0IGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSB0aW1lZCBvdXQuXG4gKlxuICogQHRlbXBsYXRlIFIgVGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBmcm9tIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24uXG4gKiBAcGFyYW0gdGltZW91dEluTWlsbGlzZWNvbmRzIC0gVGhlIG1heGltdW0gdGltZSB0byB3YWl0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBhc3luY0ZuIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBleGVjdXRlLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gb3IgcmVqZWN0cyBpZiBpdCB0aW1lcyBvdXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5XaXRoVGltZW91dDxSPih0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlciwgYXN5bmNGbjogKCkgPT4gUHJvbWlzZTxSPik6IFByb21pc2U8Uj4ge1xuICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yYWNlKFthc3luY0ZuKCksIHRpbWVvdXQodGltZW91dEluTWlsbGlzZWNvbmRzKV0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVqZWN0cyBhZnRlciB0aGUgc3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLlxuICpcbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgdGltZW91dCBwZXJpb2QgaW4gbWlsbGlzZWNvbmRzLlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgYWx3YXlzIHJlamVjdHMgd2l0aCBhIHRpbWVvdXQgZXJyb3IuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0aW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogUHJvbWlzZTxuZXZlcj4ge1xuICBhd2FpdCBzbGVlcCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICB0aHJvdyBuZXcgRXJyb3IoYFRpbWVkIG91dCBpbiAke3RpbWVvdXRJbk1pbGxpc2Vjb25kc30gbWlsbGlzZWNvbmRzYCk7XG59XG5cbi8qKlxuICogSW52b2tlcyBhIFByb21pc2UgYW5kIHNhZmVseSBoYW5kbGVzIGFueSBlcnJvcnMgYnkgY2F0Y2hpbmcgdGhlbSBhbmQgZW1pdHRpbmcgYW4gYXN5bmMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIHByb21pc2UgLSBUaGUgUHJvbWlzZSB0byBpbnZva2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZva2VBc3luY1NhZmVseShwcm9taXNlOiBQcm9taXNlPHVua25vd24+KTogdm9pZCB7XG4gIHByb21pc2UuY2F0Y2goZW1pdEFzeW5jRXJyb3JFdmVudCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGEgc3luY2hyb25vdXMgb25lIGJ5IGF1dG9tYXRpY2FsbHkgaGFuZGxpbmcgdGhlIFByb21pc2UgcmVqZWN0aW9uLlxuICpcbiAqIEB0ZW1wbGF0ZSBBcmdzIFRoZSB0eXBlcyBvZiB0aGUgYXJndW1lbnRzIHRoZSBmdW5jdGlvbiBhY2NlcHRzLlxuICogQHBhcmFtIGFzeW5jRnVuYyAtIFRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGluIGEgc3luY2hyb25vdXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEFzeW5jVG9TeW5jPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KGFzeW5jRnVuYzogKC4uLmFyZ3M6IEFyZ3MpID0+IFByb21pc2U8dW5rbm93bj4pOiAoLi4uYXJnczogQXJncykgPT4gdm9pZCB7XG4gIHJldHVybiAoLi4uYXJnczogQXJncyk6IHZvaWQgPT4gaW52b2tlQXN5bmNTYWZlbHkoYXN5bmNGdW5jKC4uLmFyZ3MpKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGFuIGFzeW5jaHJvbm91cyBvbmUgYnkgd3JhcHBpbmcgaXQgaW4gYSBQcm9taXNlLlxuICpcbiAqIEB0ZW1wbGF0ZSBBcmdzIFRoZSB0eXBlcyBvZiB0aGUgYXJndW1lbnRzIHRoZSBmdW5jdGlvbiBhY2NlcHRzLlxuICogQHRlbXBsYXRlIFJlc3VsdCBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24ncyByZXR1cm4gdmFsdWUuXG4gKiBAcGFyYW0gc3luY0ZuIC0gVGhlIHN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgd3JhcHMgdGhlIHN5bmNocm9ub3VzIGZ1bmN0aW9uIGluIGFuIGFzeW5jaHJvbm91cyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0U3luY1RvQXN5bmM8QXJncyBleHRlbmRzIHVua25vd25bXSwgUmVzdWx0PihzeW5jRm46ICguLi5hcmdzOiBBcmdzKSA9PiBSZXN1bHQpOiAoLi4uYXJnczogQXJncykgPT4gUHJvbWlzZTxSZXN1bHQ+IHtcbiAgcmV0dXJuIGFzeW5jICguLi5hcmdzOiBBcmdzKTogUHJvbWlzZTxSZXN1bHQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHN5bmNGbiguLi5hcmdzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGF3YWl0IFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogTWFwcyBvdmVyIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBhcHBseWluZyB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50LlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEB0ZW1wbGF0ZSBVIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBvdXRwdXQgYXJyYXkuXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIG1hcCBvdmVyLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYXJyYXkgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNNYXA8VCwgVT4oYXJyOiBUW10sIGNhbGxiYWNrOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IE1heWJlUHJvbWlzZTxVPik6IFByb21pc2U8VVtdPiB7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChhcnIubWFwKGNhbGxiYWNrKSk7XG59XG5cbi8qKlxuICogRmlsdGVycyBhbiBhcnJheSBhc3luY2hyb25vdXNseSwga2VlcGluZyBvbmx5IHRoZSBlbGVtZW50cyB0aGF0IHNhdGlzZnkgdGhlIHByb3ZpZGVkIHByZWRpY2F0ZSBmdW5jdGlvbi5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgaW5wdXQgYXJyYXkuXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIGZpbHRlci5cbiAqIEBwYXJhbSBwcmVkaWNhdGUgLSBUaGUgcHJlZGljYXRlIGZ1bmN0aW9uIHRvIHRlc3QgZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBlbGVtZW50cyB0aGF0IHNhdGlzZnkgdGhlIHByZWRpY2F0ZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRmlsdGVyPFQ+KGFycjogVFtdLCBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gTWF5YmVQcm9taXNlPGJvb2xlYW4+KTogUHJvbWlzZTxUW10+IHtcbiAgY29uc3QgcHJlZGljYXRlUmVzdWx0cyA9IGF3YWl0IGFzeW5jTWFwKGFyciwgcHJlZGljYXRlKTtcbiAgcmV0dXJuIGFyci5maWx0ZXIoKF8sIGluZGV4KSA9PiBwcmVkaWNhdGVSZXN1bHRzW2luZGV4XSk7XG59XG5cbi8qKlxuICogTWFwcyBvdmVyIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBhcHBseWluZyB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50LCBhbmQgdGhlbiBmbGF0dGVucyB0aGUgcmVzdWx0cyBpbnRvIGEgc2luZ2xlIGFycmF5LlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEB0ZW1wbGF0ZSBVIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBvdXRwdXQgYXJyYXkuXG4gKiBAcGFyYW0gYXJyIC0gVGhlIGFycmF5IHRvIG1hcCBvdmVyIGFuZCBmbGF0dGVuLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZWxlbWVudC5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBmbGF0dGVuZWQgYXJyYXkgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbGF0TWFwPFQsIFU+KGFycjogVFtdLCBjYWxsYmFjazogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBNYXliZVByb21pc2U8VVtdPik6IFByb21pc2U8VVtdPiB7XG4gIHJldHVybiAoYXdhaXQgYXN5bmNNYXAoYXJyLCBjYWxsYmFjaykpLmZsYXQoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBBc3luY0l0ZXJhYmxlSXRlcmF0b3IgdG8gYW4gYXJyYXkgYnkgY29uc3VtaW5nIGFsbCBpdHMgZWxlbWVudHMuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgZWxlbWVudHMgcHJvZHVjZWQgYnkgdGhlIEFzeW5jSXRlcmFibGVJdGVyYXRvci5cbiAqIEBwYXJhbSBpdGVyIC0gVGhlIEFzeW5jSXRlcmFibGVJdGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBBc3luY0l0ZXJhYmxlSXRlcmF0b3IuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0b0FycmF5PFQ+KGl0ZXI6IEFzeW5jSXRlcmFibGVJdGVyYXRvcjxUPik6IFByb21pc2U8VFtdPiB7XG4gIGNvbnN0IGFycjogVFtdID0gW107XG4gIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBpdGVyKSB7XG4gICAgYXJyLnB1c2goaXRlbSk7XG4gIH1cbiAgcmV0dXJuIGFycjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsbUJBQW9DO0FBWHBDLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBb0NBLGVBQXNCLGlCQUFpQixTQUFpQyxlQUFzQyxDQUFDLEdBQWtCO0FBQy9ILFFBQU0sd0JBQXNDO0FBQUEsSUFDMUMsdUJBQXVCO0FBQUEsSUFDdkIsMEJBQTBCO0FBQUEsRUFDNUI7QUFDQSxRQUFNLG9CQUFrQyxFQUFFLEdBQUcsdUJBQXVCLEdBQUcsYUFBYTtBQUNwRixRQUFNLGVBQWUsa0JBQWtCLHVCQUF1QixZQUFZO0FBQ3hFLFFBQUksVUFBVTtBQUNkLFdBQU8sTUFBTTtBQUNYO0FBQ0EsVUFBSSxNQUFNLFFBQVEsR0FBRztBQUNuQixZQUFJLFVBQVUsR0FBRztBQUNmLGtCQUFRLE1BQU0sc0NBQXNDLE9BQU8sV0FBVztBQUFBLFFBQ3hFO0FBQ0E7QUFBQSxNQUNGO0FBRUEsY0FBUSxNQUFNLGlCQUFpQixPQUFPLDhDQUE4QyxrQkFBa0Isd0JBQXdCLGVBQWU7QUFDN0ksY0FBUSxNQUFNLE9BQU87QUFDckIsWUFBTSxNQUFNLGtCQUFrQix3QkFBd0I7QUFBQSxJQUN4RDtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBUUEsZUFBc0IsTUFBTSxjQUFxQztBQUMvRCxRQUFNLElBQUksUUFBUSxDQUFDLFlBQVksV0FBVyxTQUFTLFlBQVksQ0FBQztBQUNsRTtBQVVBLGVBQXNCLGVBQWtCLHVCQUErQixTQUF1QztBQUM1RyxTQUFPLE1BQU0sUUFBUSxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEscUJBQXFCLENBQUMsQ0FBQztBQUN2RTtBQVFBLGVBQXNCLFFBQVEsdUJBQStDO0FBQzNFLFFBQU0sTUFBTSxxQkFBcUI7QUFDakMsUUFBTSxJQUFJLE1BQU0sZ0JBQWdCLHFCQUFxQixlQUFlO0FBQ3RFO0FBT08sU0FBUyxrQkFBa0IsU0FBaUM7QUFDakUsVUFBUSxNQUFNLGdDQUFtQjtBQUNuQztBQVNPLFNBQVMsbUJBQTJDLFdBQXlFO0FBQ2xJLFNBQU8sSUFBSSxTQUFxQixrQkFBa0IsVUFBVSxHQUFHLElBQUksQ0FBQztBQUN0RTtBQVVPLFNBQVMsbUJBQW1ELFFBQXVFO0FBQ3hJLFNBQU8sVUFBVSxTQUFnQztBQUMvQyxRQUFJO0FBQ0YsYUFBTyxPQUFPLEdBQUcsSUFBSTtBQUFBLElBQ3ZCLFNBQVMsT0FBTztBQUNkLGFBQU8sTUFBTSxRQUFRLE9BQU8sS0FBSztBQUFBLElBQ25DO0FBQUEsRUFDRjtBQUNGO0FBV0EsZUFBc0IsU0FBZSxLQUFVLFVBQWtGO0FBQy9ILFNBQU8sTUFBTSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQztBQUM1QztBQVVBLGVBQXNCLFlBQWUsS0FBVSxXQUF5RjtBQUN0SSxRQUFNLG1CQUFtQixNQUFNLFNBQVMsS0FBSyxTQUFTO0FBQ3RELFNBQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxVQUFVLGlCQUFpQixLQUFLLENBQUM7QUFDekQ7QUFXQSxlQUFzQixhQUFtQixLQUFVLFVBQW9GO0FBQ3JJLFVBQVEsTUFBTSxTQUFTLEtBQUssUUFBUSxHQUFHLEtBQUs7QUFDOUM7QUFTQSxlQUFzQixRQUFXLE1BQThDO0FBQzdFLFFBQU0sTUFBVyxDQUFDO0FBQ2xCLG1CQUFpQixRQUFRLE1BQU07QUFDN0IsUUFBSSxLQUFLLElBQUk7QUFBQSxFQUNmO0FBQ0EsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
124
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0FzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQXN5bmNcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgeyBlbWl0QXN5bmNFcnJvckV2ZW50IH0gZnJvbSBcIi4vRXJyb3IudHNcIjtcblxuLyoqXG4gKiBBIHR5cGUgcmVwcmVzZW50aW5nIGEgdmFsdWUgdGhhdCBjYW4gZWl0aGVyIGJlIGEgZGlyZWN0IHZhbHVlIG9yIGEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhhdCB2YWx1ZS5cbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgTWF5YmVQcm9taXNlPFQ+ID0gVCB8IFByb21pc2U8VD47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIHJldHJ5IGJlaGF2aW9yLlxuICovXG5leHBvcnQgdHlwZSBSZXRyeU9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBnaXZpbmcgdXAgb24gcmV0cnlpbmcuXG4gICAqL1xuICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGRlbGF5IGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHJldHJ5IGF0dGVtcHRzLlxuICAgKi9cbiAgcmV0cnlEZWxheUluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG59O1xuXG4vKipcbiAqIFJldHJpZXMgdGhlIHByb3ZpZGVkIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB1bnRpbCBpdCBzdWNjZWVkcyBvciB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICpcbiAqIEBwYXJhbSBhc3luY0ZuIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byByZXRyeS5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGNvbmZpZ3VyZSB0aGUgcmV0cnkgYmVoYXZpb3IuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBzdWNjZWVkcyBvciByZWplY3RzIHdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5V2l0aFRpbWVvdXQoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTxib29sZWFuPiwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFJldHJ5T3B0aW9ucyA9IHtcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMDAsXG4gICAgcmV0cnlEZWxheUluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFJldHJ5T3B0aW9ucyA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgYXdhaXQgcnVuV2l0aFRpbWVvdXQob3ZlcnJpZGRlbk9wdGlvbnMudGltZW91dEluTWlsbGlzZWNvbmRzLCBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGF0dGVtcHQgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBhdHRlbXB0Kys7XG4gICAgICBpZiAoYXdhaXQgYXN5bmNGbigpKSB7XG4gICAgICAgIGlmIChhdHRlbXB0ID4gMSkge1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoYFJldHJ5IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgYWZ0ZXIgJHthdHRlbXB0fSBhdHRlbXB0c2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc29sZS5kZWJ1ZyhgUmV0cnkgYXR0ZW1wdCAke2F0dGVtcHR9IGNvbXBsZXRlZCB1bnN1Y2Nlc3NmdWxseS4gVHJ5aW5nIGFnYWluIGluICR7b3ZlcnJpZGRlbk9wdGlvbnMucmV0cnlEZWxheUluTWlsbGlzZWNvbmRzfSBtaWxsaXNlY29uZHNgKTtcbiAgICAgIGNvbnNvbGUuZGVidWcoYXN5bmNGbik7XG4gICAgICBhd2FpdCBzbGVlcChvdmVycmlkZGVuT3B0aW9ucy5yZXRyeURlbGF5SW5NaWxsaXNlY29uZHMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsYXlzIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gVGhlIHRpbWUgdG8gd2FpdCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbWlsbGlzZWNvbmRzKSk7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHdpdGggYSB0aW1lb3V0LiBJZiB0aGUgZnVuY3Rpb24gZG9lcyBub3QgY29tcGxldGUgd2l0aGluIHRoZSBzcGVjaWZpZWQgdGltZSwgaXQgaXMgY29uc2lkZXJlZCB0byBoYXZlIHRpbWVkIG91dC5cbiAqXG4gKiBAdHlwZVBhcmFtIFIgLSBUaGUgdHlwZSBvZiB0aGUgcmVzdWx0IGZyb20gdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbi5cbiAqIEBwYXJhbSB0aW1lb3V0SW5NaWxsaXNlY29uZHMgLSBUaGUgbWF4aW11bSB0aW1lIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIGFzeW5jRm4gLSBUaGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiBvciByZWplY3RzIGlmIGl0IHRpbWVzIG91dC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldpdGhUaW1lb3V0PFI+KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyLCBhc3luY0ZuOiAoKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiB7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLnJhY2UoW2FzeW5jRm4oKSwgdGltZW91dCh0aW1lb3V0SW5NaWxsaXNlY29uZHMpXSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZWplY3RzIGFmdGVyIHRoZSBzcGVjaWZpZWQgdGltZW91dCBwZXJpb2QuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IHBlcmlvZCBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCBhbHdheXMgcmVqZWN0cyB3aXRoIGEgdGltZW91dCBlcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRpbWVvdXQodGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXIpOiBQcm9taXNlPG5ldmVyPiB7XG4gIGF3YWl0IHNsZWVwKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHRocm93IG5ldyBFcnJvcihgVGltZWQgb3V0IGluICR7dGltZW91dEluTWlsbGlzZWNvbmRzfSBtaWxsaXNlY29uZHNgKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGEgUHJvbWlzZSBhbmQgc2FmZWx5IGhhbmRsZXMgYW55IGVycm9ycyBieSBjYXRjaGluZyB0aGVtIGFuZCBlbWl0dGluZyBhbiBhc3luYyBlcnJvciBldmVudC5cbiAqXG4gKiBAcGFyYW0gcHJvbWlzZSAtIFRoZSBQcm9taXNlIHRvIGludm9rZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzeW5jU2FmZWx5KHByb21pc2U6IFByb21pc2U8dW5rbm93bj4pOiB2b2lkIHtcbiAgcHJvbWlzZS5jYXRjaChlbWl0QXN5bmNFcnJvckV2ZW50KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYSBzeW5jaHJvbm91cyBvbmUgYnkgYXV0b21hdGljYWxseSBoYW5kbGluZyB0aGUgUHJvbWlzZSByZWplY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAcGFyYW0gYXN5bmNGdW5jIC0gVGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IHdyYXBzIHRoZSBhc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYSBzeW5jaHJvbm91cyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QXN5bmNUb1N5bmM8QXJncyBleHRlbmRzIHVua25vd25bXT4oYXN5bmNGdW5jOiAoLi4uYXJnczogQXJncykgPT4gUHJvbWlzZTx1bmtub3duPik6ICguLi5hcmdzOiBBcmdzKSA9PiB2b2lkIHtcbiAgcmV0dXJuICguLi5hcmdzOiBBcmdzKTogdm9pZCA9PiBpbnZva2VBc3luY1NhZmVseShhc3luY0Z1bmMoLi4uYXJncykpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gYW4gYXN5bmNocm9ub3VzIG9uZSBieSB3cmFwcGluZyBpdCBpbiBhIFByb21pc2UuXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdCAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbidzIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSBzeW5jRm4gLSBUaGUgc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB3cmFwcyB0aGUgc3luY2hyb25vdXMgZnVuY3Rpb24gaW4gYW4gYXN5bmNocm9ub3VzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRTeW5jVG9Bc3luYzxBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBSZXN1bHQ+KHN5bmNGbjogKC4uLmFyZ3M6IEFyZ3MpID0+IFJlc3VsdCk6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNlPFJlc3VsdD4ge1xuICByZXR1cm4gYXN5bmMgKC4uLmFyZ3M6IEFyZ3MpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gc3luY0ZuKC4uLmFyZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIuXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY01hcDxULCBVPihhcnI6IFRbXSwgY2FsbGJhY2s6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gTWF5YmVQcm9taXNlPFU+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKGFyci5tYXAoY2FsbGJhY2spKTtcbn1cblxuLyoqXG4gKiBGaWx0ZXJzIGFuIGFycmF5IGFzeW5jaHJvbm91c2x5LCBrZWVwaW5nIG9ubHkgdGhlIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJvdmlkZWQgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBpbnB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gZmlsdGVyLlxuICogQHBhcmFtIHByZWRpY2F0ZSAtIFRoZSBwcmVkaWNhdGUgZnVuY3Rpb24gdG8gdGVzdCBlYWNoIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGVsZW1lbnRzIHRoYXQgc2F0aXNmeSB0aGUgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNGaWx0ZXI8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBNYXliZVByb21pc2U8Ym9vbGVhbj4pOiBQcm9taXNlPFRbXT4ge1xuICBjb25zdCBwcmVkaWNhdGVSZXN1bHRzID0gYXdhaXQgYXN5bmNNYXAoYXJyLCBwcmVkaWNhdGUpO1xuICByZXR1cm4gYXJyLmZpbHRlcigoXywgaW5kZXgpID0+IHByZWRpY2F0ZVJlc3VsdHNbaW5kZXhdKTtcbn1cblxuLyoqXG4gKiBNYXBzIG92ZXIgYW4gYXJyYXkgYXN5bmNocm9ub3VzbHksIGFwcGx5aW5nIHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQsIGFuZCB0aGVuIGZsYXR0ZW5zIHRoZSByZXN1bHRzIGludG8gYSBzaW5nbGUgYXJyYXkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGlucHV0IGFycmF5LlxuICogQHR5cGVQYXJhbSBVIC0gVGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIG91dHB1dCBhcnJheS5cbiAqIEBwYXJhbSBhcnIgLSBUaGUgYXJyYXkgdG8gbWFwIG92ZXIgYW5kIGZsYXR0ZW4uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50LlxuICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGZsYXR0ZW5lZCBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZsYXRNYXA8VCwgVT4oYXJyOiBUW10sIGNhbGxiYWNrOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IE1heWJlUHJvbWlzZTxVW10+KTogUHJvbWlzZTxVW10+IHtcbiAgcmV0dXJuIChhd2FpdCBhc3luY01hcChhcnIsIGNhbGxiYWNrKSkuZmxhdCgpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIEFzeW5jSXRlcmFibGVJdGVyYXRvciB0byBhbiBhcnJheSBieSBjb25zdW1pbmcgYWxsIGl0cyBlbGVtZW50cy5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiBlbGVtZW50cyBwcm9kdWNlZCBieSB0aGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yLlxuICogQHBhcmFtIGl0ZXIgLSBUaGUgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIGFsbCB0aGUgZWxlbWVudHMgaW4gdGhlIEFzeW5jSXRlcmFibGVJdGVyYXRvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQXJyYXk8VD4oaXRlcjogQXN5bmNJdGVyYWJsZUl0ZXJhdG9yPFQ+KTogUHJvbWlzZTxUW10+IHtcbiAgY29uc3QgYXJyOiBUW10gPSBbXTtcbiAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIGl0ZXIpIHtcbiAgICBhcnIucHVzaChpdGVtKTtcbiAgfVxuICByZXR1cm4gYXJyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxtQkFBb0M7QUFYcEMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFvQ0EsZUFBc0IsaUJBQWlCLFNBQWlDLGVBQXNDLENBQUMsR0FBa0I7QUFDL0gsUUFBTSx3QkFBc0M7QUFBQSxJQUMxQyx1QkFBdUI7QUFBQSxJQUN2QiwwQkFBMEI7QUFBQSxFQUM1QjtBQUNBLFFBQU0sb0JBQWtDLEVBQUUsR0FBRyx1QkFBdUIsR0FBRyxhQUFhO0FBQ3BGLFFBQU0sZUFBZSxrQkFBa0IsdUJBQXVCLFlBQVk7QUFDeEUsUUFBSSxVQUFVO0FBQ2QsV0FBTyxNQUFNO0FBQ1g7QUFDQSxVQUFJLE1BQU0sUUFBUSxHQUFHO0FBQ25CLFlBQUksVUFBVSxHQUFHO0FBQ2Ysa0JBQVEsTUFBTSxzQ0FBc0MsT0FBTyxXQUFXO0FBQUEsUUFDeEU7QUFDQTtBQUFBLE1BQ0Y7QUFFQSxjQUFRLE1BQU0saUJBQWlCLE9BQU8sOENBQThDLGtCQUFrQix3QkFBd0IsZUFBZTtBQUM3SSxjQUFRLE1BQU0sT0FBTztBQUNyQixZQUFNLE1BQU0sa0JBQWtCLHdCQUF3QjtBQUFBLElBQ3hEO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRQSxlQUFzQixNQUFNLGNBQXFDO0FBQy9ELFFBQU0sSUFBSSxRQUFRLENBQUMsWUFBWSxXQUFXLFNBQVMsWUFBWSxDQUFDO0FBQ2xFO0FBVUEsZUFBc0IsZUFBa0IsdUJBQStCLFNBQXVDO0FBQzVHLFNBQU8sTUFBTSxRQUFRLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3ZFO0FBUUEsZUFBc0IsUUFBUSx1QkFBK0M7QUFDM0UsUUFBTSxNQUFNLHFCQUFxQjtBQUNqQyxRQUFNLElBQUksTUFBTSxnQkFBZ0IscUJBQXFCLGVBQWU7QUFDdEU7QUFPTyxTQUFTLGtCQUFrQixTQUFpQztBQUNqRSxVQUFRLE1BQU0sZ0NBQW1CO0FBQ25DO0FBU08sU0FBUyxtQkFBMkMsV0FBeUU7QUFDbEksU0FBTyxJQUFJLFNBQXFCLGtCQUFrQixVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3RFO0FBVU8sU0FBUyxtQkFBbUQsUUFBdUU7QUFDeEksU0FBTyxVQUFVLFNBQWdDO0FBQy9DLFFBQUk7QUFDRixhQUFPLE9BQU8sR0FBRyxJQUFJO0FBQUEsSUFDdkIsU0FBUyxPQUFPO0FBQ2QsYUFBTyxNQUFNLFFBQVEsT0FBTyxLQUFLO0FBQUEsSUFDbkM7QUFBQSxFQUNGO0FBQ0Y7QUFXQSxlQUFzQixTQUFlLEtBQVUsVUFBa0Y7QUFDL0gsU0FBTyxNQUFNLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDO0FBQzVDO0FBVUEsZUFBc0IsWUFBZSxLQUFVLFdBQXlGO0FBQ3RJLFFBQU0sbUJBQW1CLE1BQU0sU0FBUyxLQUFLLFNBQVM7QUFDdEQsU0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLFVBQVUsaUJBQWlCLEtBQUssQ0FBQztBQUN6RDtBQVdBLGVBQXNCLGFBQW1CLEtBQVUsVUFBb0Y7QUFDckksVUFBUSxNQUFNLFNBQVMsS0FBSyxRQUFRLEdBQUcsS0FBSztBQUM5QztBQVNBLGVBQXNCLFFBQVcsTUFBOEM7QUFDN0UsUUFBTSxNQUFXLENBQUM7QUFDbEIsbUJBQWlCLFFBQVEsTUFBTTtBQUM3QixRQUFJLEtBQUssSUFBSTtBQUFBLEVBQ2Y7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @module Async
2
+ * @packageDocumentation Async
3
3
  * Contains utility functions for asynchronous operations.
4
4
  */
5
5
  /**
6
6
  * A type representing a value that can either be a direct value or a Promise resolving to that value.
7
- * @template T The type of the value.
7
+ * @typeParam T - The type of the value.
8
8
  */
9
9
  export type MaybePromise<T> = T | Promise<T>;
10
10
  /**
@@ -38,7 +38,7 @@ export declare function sleep(milliseconds: number): Promise<void>;
38
38
  /**
39
39
  * Executes an asynchronous function with a timeout. If the function does not complete within the specified time, it is considered to have timed out.
40
40
  *
41
- * @template R The type of the result from the asynchronous function.
41
+ * @typeParam R - The type of the result from the asynchronous function.
42
42
  * @param timeoutInMilliseconds - The maximum time to wait in milliseconds.
43
43
  * @param asyncFn - The asynchronous function to execute.
44
44
  * @returns A Promise that resolves with the result of the asynchronous function or rejects if it times out.
@@ -60,7 +60,7 @@ export declare function invokeAsyncSafely(promise: Promise<unknown>): void;
60
60
  /**
61
61
  * Converts an asynchronous function to a synchronous one by automatically handling the Promise rejection.
62
62
  *
63
- * @template Args The types of the arguments the function accepts.
63
+ * @typeParam Args - The types of the arguments the function accepts.
64
64
  * @param asyncFunc - The asynchronous function to convert.
65
65
  * @returns A function that wraps the asynchronous function in a synchronous interface.
66
66
  */
@@ -68,8 +68,8 @@ export declare function convertAsyncToSync<Args extends unknown[]>(asyncFunc: (.
68
68
  /**
69
69
  * Converts a synchronous function to an asynchronous one by wrapping it in a Promise.
70
70
  *
71
- * @template Args The types of the arguments the function accepts.
72
- * @template Result The type of the function's return value.
71
+ * @typeParam Args - The types of the arguments the function accepts.
72
+ * @typeParam Result - The type of the function's return value.
73
73
  * @param syncFn - The synchronous function to convert.
74
74
  * @returns A function that wraps the synchronous function in an asynchronous interface.
75
75
  */
@@ -77,8 +77,8 @@ export declare function convertSyncToAsync<Args extends unknown[], Result>(syncF
77
77
  /**
78
78
  * Maps over an array asynchronously, applying the provided callback function to each element.
79
79
  *
80
- * @template T The type of elements in the input array.
81
- * @template U The type of elements in the output array.
80
+ * @typeParam T - The type of elements in the input array.
81
+ * @typeParam U - The type of elements in the output array.
82
82
  * @param arr - The array to map over.
83
83
  * @param callback - The callback function to apply to each element.
84
84
  * @returns A Promise that resolves with an array of the results of the callback function.
@@ -87,7 +87,7 @@ export declare function asyncMap<T, U>(arr: T[], callback: (value: T, index: num
87
87
  /**
88
88
  * Filters an array asynchronously, keeping only the elements that satisfy the provided predicate function.
89
89
  *
90
- * @template T The type of elements in the input array.
90
+ * @typeParam T - The type of elements in the input array.
91
91
  * @param arr - The array to filter.
92
92
  * @param predicate - The predicate function to test each element.
93
93
  * @returns A Promise that resolves with an array of elements that satisfy the predicate function.
@@ -96,8 +96,8 @@ export declare function asyncFilter<T>(arr: T[], predicate: (value: T, index: nu
96
96
  /**
97
97
  * Maps over an array asynchronously, applying the provided callback function to each element, and then flattens the results into a single array.
98
98
  *
99
- * @template T The type of elements in the input array.
100
- * @template U The type of elements in the output array.
99
+ * @typeParam T - The type of elements in the input array.
100
+ * @typeParam U - The type of elements in the output array.
101
101
  * @param arr - The array to map over and flatten.
102
102
  * @param callback - The callback function to apply to each element.
103
103
  * @returns A Promise that resolves with a flattened array of the results of the callback function.
@@ -106,7 +106,7 @@ export declare function asyncFlatMap<T, U>(arr: T[], callback: (value: T, index:
106
106
  /**
107
107
  * Converts an AsyncIterableIterator to an array by consuming all its elements.
108
108
  *
109
- * @template T The type of elements produced by the AsyncIterableIterator.
109
+ * @typeParam T - The type of elements produced by the AsyncIterableIterator.
110
110
  * @param iter - The AsyncIterableIterator to convert.
111
111
  * @returns A Promise that resolves with an array of all the elements in the AsyncIterableIterator.
112
112
  */
package/dist/lib/Blob.cjs CHANGED
@@ -90,4 +90,4 @@ function isImageFile(file) {
90
90
  blobToJpegArrayBuffer,
91
91
  isImageFile
92
92
  });
93
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgQXN5bmNcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBCbG9iIG9iamVjdHMuXG4gKi9cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEJsb2Igb2JqZWN0IHRvIGFuIEFycmF5QnVmZmVyLlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0FycmF5QnVmZmVyKGJsb2I6IEJsb2IpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpOiB2b2lkID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEJsb2Igb2JqZWN0IHRvIGEgSlBFRyBBcnJheUJ1ZmZlciB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGl0eS5cbiAqXG4gKiBAcGFyYW0gYmxvYiAtIFRoZSBCbG9iIG9iamVjdCB0byBjb252ZXJ0LlxuICogQHBhcmFtIGpwZWdRdWFsaXR5IC0gVGhlIHF1YWxpdHkgb2YgdGhlIEpQRUcgaW1hZ2UgKDAgdG8gMSkuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcihibG9iOiBCbG9iLCBqcGVnUXVhbGl0eTogbnVtYmVyKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoZSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XG4gICAgICAgIGxldCBkYXRhID0gXCJcIjtcblxuICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZVdpZHRoO1xuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaW1hZ2VIZWlnaHQ7XG5cbiAgICAgICAgY29udGV4dCEuZmlsbFN0eWxlID0gXCIjZmZmXCI7XG4gICAgICAgIGNvbnRleHQhLmZpbGxSZWN0KDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgICAgY29udGV4dCEuc2F2ZSgpO1xuXG4gICAgICAgIGNvbnRleHQhLnRyYW5zbGF0ZShpbWFnZVdpZHRoIC8gMiwgaW1hZ2VIZWlnaHQgLyAyKTtcbiAgICAgICAgY29udGV4dCEuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgLWltYWdlV2lkdGggLyAyLCAtaW1hZ2VIZWlnaHQgLyAyLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCk7XG4gICAgICAgIGNvbnRleHQhLnJlc3RvcmUoKTtcblxuICAgICAgICBkYXRhID0gY2FudmFzLnRvRGF0YVVSTChcImltYWdlL2pwZWdcIiwganBlZ1F1YWxpdHkpO1xuXG4gICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYmFzZTY0VG9BcnJheUJ1ZmZlcihkYXRhKTtcbiAgICAgICAgcmVzb2x2ZShhcnJheUJ1ZmZlcik7XG4gICAgICB9O1xuXG4gICAgICBpbWFnZS5zcmMgPSBlLnRhcmdldCEucmVzdWx0IGFzIHN0cmluZztcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyB0byBhbiBBcnJheUJ1ZmZlci5cbiAqXG4gKiBAcGFyYW0gY29kZSAtIFRoZSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBBcnJheUJ1ZmZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhc2U2NFRvQXJyYXlCdWZmZXIoY29kZTogc3RyaW5nKTogQXJyYXlCdWZmZXIge1xuICBjb25zdCBwYXJ0cyA9IGNvZGUuc3BsaXQoXCI7YmFzZTY0LFwiKTtcbiAgY29uc3QgcmF3ID0gd2luZG93LmF0b2IocGFydHNbMV0hKTtcbiAgY29uc3QgcmF3TGVuZ3RoID0gcmF3Lmxlbmd0aDtcblxuICBjb25zdCB1SW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkocmF3TGVuZ3RoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhd0xlbmd0aDsgKytpKSB7XG4gICAgdUludDhBcnJheVtpXSA9IHJhdy5jaGFyQ29kZUF0KGkpO1xuICB9XG4gIHJldHVybiB1SW50OEFycmF5LmJ1ZmZlcjtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBnaXZlbiBmaWxlIGlzIGFuIGltYWdlLlxuICpcbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBmaWxlIGlzIGFuIGltYWdlLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChcImltYWdlL1wiKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBWUEsZUFBc0Isa0JBQWtCLE1BQWtDO0FBQ3hFLFNBQU8sTUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sU0FBUyxJQUFJLFdBQVc7QUFDOUIsV0FBTyxZQUFZLE1BQVksUUFBUSxPQUFPLE1BQXFCO0FBQ25FLFdBQU8sa0JBQWtCLElBQUk7QUFBQSxFQUMvQixDQUFDO0FBQ0g7QUFTQSxlQUFzQixzQkFBc0IsTUFBWSxhQUEyQztBQUNqRyxTQUFPLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDOUIsVUFBTSxTQUFTLElBQUksV0FBVztBQUM5QixXQUFPLFlBQVksQ0FBQyxNQUFZO0FBQzlCLFlBQU0sUUFBUSxJQUFJLE1BQU07QUFDeEIsWUFBTSxTQUFTLE1BQVk7QUFDekIsY0FBTSxTQUFTLFNBQVMsY0FBYyxRQUFRO0FBQzlDLGNBQU0sVUFBVSxPQUFPLFdBQVcsSUFBSTtBQUN0QyxjQUFNLGFBQWEsTUFBTTtBQUN6QixjQUFNLGNBQWMsTUFBTTtBQUMxQixZQUFJLE9BQU87QUFFWCxlQUFPLFFBQVE7QUFDZixlQUFPLFNBQVM7QUFFaEIsZ0JBQVMsWUFBWTtBQUNyQixnQkFBUyxTQUFTLEdBQUcsR0FBRyxZQUFZLFdBQVc7QUFDL0MsZ0JBQVMsS0FBSztBQUVkLGdCQUFTLFVBQVUsYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUNsRCxnQkFBUyxVQUFVLE9BQU8sR0FBRyxHQUFHLFlBQVksYUFBYSxDQUFDLGFBQWEsR0FBRyxDQUFDLGNBQWMsR0FBRyxZQUFZLFdBQVc7QUFDbkgsZ0JBQVMsUUFBUTtBQUVqQixlQUFPLE9BQU8sVUFBVSxjQUFjLFdBQVc7QUFFakQsY0FBTSxjQUFjLG9CQUFvQixJQUFJO0FBQzVDLGdCQUFRLFdBQVc7QUFBQSxNQUNyQjtBQUVBLFlBQU0sTUFBTSxFQUFFLE9BQVE7QUFBQSxJQUN4QjtBQUNBLFdBQU8sY0FBYyxJQUFJO0FBQUEsRUFDM0IsQ0FBQztBQUNIO0FBUU8sU0FBUyxvQkFBb0IsTUFBMkI7QUFDN0QsUUFBTSxRQUFRLEtBQUssTUFBTSxVQUFVO0FBQ25DLFFBQU0sTUFBTSxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUU7QUFDakMsUUFBTSxZQUFZLElBQUk7QUFFdEIsUUFBTSxhQUFhLElBQUksV0FBVyxTQUFTO0FBRTNDLFdBQVMsSUFBSSxHQUFHLElBQUksV0FBVyxFQUFFLEdBQUc7QUFDbEMsZUFBVyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUM7QUFBQSxFQUNsQztBQUNBLFNBQU8sV0FBVztBQUNwQjtBQVFPLFNBQVMsWUFBWSxNQUFxQjtBQUMvQyxTQUFPLEtBQUssS0FBSyxXQUFXLFFBQVE7QUFDdEM7IiwKICAibmFtZXMiOiBbXQp9Cg==
93
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jsb2IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBc3luY1xuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEJsb2Igb2JqZWN0cy5cbiAqL1xuXG4vKipcbiAqIENvbnZlcnRzIGEgQmxvYiBvYmplY3QgdG8gYW4gQXJyYXlCdWZmZXIuXG4gKlxuICogQHBhcmFtIGJsb2IgLSBUaGUgQmxvYiBvYmplY3QgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvQXJyYXlCdWZmZXIoYmxvYjogQmxvYik6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkZW5kID0gKCk6IHZvaWQgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIEFycmF5QnVmZmVyKTtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgQmxvYiBvYmplY3QgdG8gYSBKUEVHIEFycmF5QnVmZmVyIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaXR5LlxuICpcbiAqIEBwYXJhbSBibG9iIC0gVGhlIEJsb2Igb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ganBlZ1F1YWxpdHkgLSBUaGUgcXVhbGl0eSBvZiB0aGUgSlBFRyBpbWFnZSAoMCB0byAxKS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmxvYlRvSnBlZ0FycmF5QnVmZmVyKGJsb2I6IEJsb2IsIGpwZWdRdWFsaXR5OiBudW1iZXIpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9IChlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgaW1hZ2Uub25sb2FkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGltYWdlLndpZHRoO1xuICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgbGV0IGRhdGEgPSBcIlwiO1xuXG4gICAgICAgIGNhbnZhcy53aWR0aCA9IGltYWdlV2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZUhlaWdodDtcblxuICAgICAgICBjb250ZXh0IS5maWxsU3R5bGUgPSBcIiNmZmZcIjtcbiAgICAgICAgY29udGV4dCEuZmlsbFJlY3QoMCwgMCwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQpO1xuICAgICAgICBjb250ZXh0IS5zYXZlKCk7XG5cbiAgICAgICAgY29udGV4dCEudHJhbnNsYXRlKGltYWdlV2lkdGggLyAyLCBpbWFnZUhlaWdodCAvIDIpO1xuICAgICAgICBjb250ZXh0IS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCAtaW1hZ2VXaWR0aCAvIDIsIC1pbWFnZUhlaWdodCAvIDIsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KTtcbiAgICAgICAgY29udGV4dCEucmVzdG9yZSgpO1xuXG4gICAgICAgIGRhdGEgPSBjYW52YXMudG9EYXRhVVJMKFwiaW1hZ2UvanBlZ1wiLCBqcGVnUXVhbGl0eSk7XG5cbiAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBiYXNlNjRUb0FycmF5QnVmZmVyKGRhdGEpO1xuICAgICAgICByZXNvbHZlKGFycmF5QnVmZmVyKTtcbiAgICAgIH07XG5cbiAgICAgIGltYWdlLnNyYyA9IGUudGFyZ2V0IS5yZXN1bHQgYXMgc3RyaW5nO1xuICAgIH07XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIHRvIGFuIEFycmF5QnVmZmVyLlxuICpcbiAqIEBwYXJhbSBjb2RlIC0gVGhlIGJhc2U2NCBlbmNvZGVkIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIEFycmF5QnVmZmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFzZTY0VG9BcnJheUJ1ZmZlcihjb2RlOiBzdHJpbmcpOiBBcnJheUJ1ZmZlciB7XG4gIGNvbnN0IHBhcnRzID0gY29kZS5zcGxpdChcIjtiYXNlNjQsXCIpO1xuICBjb25zdCByYXcgPSB3aW5kb3cuYXRvYihwYXJ0c1sxXSEpO1xuICBjb25zdCByYXdMZW5ndGggPSByYXcubGVuZ3RoO1xuXG4gIGNvbnN0IHVJbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShyYXdMZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3TGVuZ3RoOyArK2kpIHtcbiAgICB1SW50OEFycmF5W2ldID0gcmF3LmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIHVJbnQ4QXJyYXkuYnVmZmVyO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGZpbGUgaXMgYW4gaW1hZ2UuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGZpbGUgaXMgYW4gaW1hZ2UsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2VGaWxlKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGZpbGUudHlwZS5zdGFydHNXaXRoKFwiaW1hZ2UvXCIpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFZQSxlQUFzQixrQkFBa0IsTUFBa0M7QUFDeEUsU0FBTyxNQUFNLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDcEMsVUFBTSxTQUFTLElBQUksV0FBVztBQUM5QixXQUFPLFlBQVksTUFBWSxRQUFRLE9BQU8sTUFBcUI7QUFDbkUsV0FBTyxrQkFBa0IsSUFBSTtBQUFBLEVBQy9CLENBQUM7QUFDSDtBQVNBLGVBQXNCLHNCQUFzQixNQUFZLGFBQTJDO0FBQ2pHLFNBQU8sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM5QixVQUFNLFNBQVMsSUFBSSxXQUFXO0FBQzlCLFdBQU8sWUFBWSxDQUFDLE1BQVk7QUFDOUIsWUFBTSxRQUFRLElBQUksTUFBTTtBQUN4QixZQUFNLFNBQVMsTUFBWTtBQUN6QixjQUFNLFNBQVMsU0FBUyxjQUFjLFFBQVE7QUFDOUMsY0FBTSxVQUFVLE9BQU8sV0FBVyxJQUFJO0FBQ3RDLGNBQU0sYUFBYSxNQUFNO0FBQ3pCLGNBQU0sY0FBYyxNQUFNO0FBQzFCLFlBQUksT0FBTztBQUVYLGVBQU8sUUFBUTtBQUNmLGVBQU8sU0FBUztBQUVoQixnQkFBUyxZQUFZO0FBQ3JCLGdCQUFTLFNBQVMsR0FBRyxHQUFHLFlBQVksV0FBVztBQUMvQyxnQkFBUyxLQUFLO0FBRWQsZ0JBQVMsVUFBVSxhQUFhLEdBQUcsY0FBYyxDQUFDO0FBQ2xELGdCQUFTLFVBQVUsT0FBTyxHQUFHLEdBQUcsWUFBWSxhQUFhLENBQUMsYUFBYSxHQUFHLENBQUMsY0FBYyxHQUFHLFlBQVksV0FBVztBQUNuSCxnQkFBUyxRQUFRO0FBRWpCLGVBQU8sT0FBTyxVQUFVLGNBQWMsV0FBVztBQUVqRCxjQUFNLGNBQWMsb0JBQW9CLElBQUk7QUFDNUMsZ0JBQVEsV0FBVztBQUFBLE1BQ3JCO0FBRUEsWUFBTSxNQUFNLEVBQUUsT0FBUTtBQUFBLElBQ3hCO0FBQ0EsV0FBTyxjQUFjLElBQUk7QUFBQSxFQUMzQixDQUFDO0FBQ0g7QUFRTyxTQUFTLG9CQUFvQixNQUEyQjtBQUM3RCxRQUFNLFFBQVEsS0FBSyxNQUFNLFVBQVU7QUFDbkMsUUFBTSxNQUFNLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBRTtBQUNqQyxRQUFNLFlBQVksSUFBSTtBQUV0QixRQUFNLGFBQWEsSUFBSSxXQUFXLFNBQVM7QUFFM0MsV0FBUyxJQUFJLEdBQUcsSUFBSSxXQUFXLEVBQUUsR0FBRztBQUNsQyxlQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztBQUFBLEVBQ2xDO0FBQ0EsU0FBTyxXQUFXO0FBQ3BCO0FBUU8sU0FBUyxZQUFZLE1BQXFCO0FBQy9DLFNBQU8sS0FBSyxLQUFLLFdBQVcsUUFBUTtBQUN0QzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module Async
2
+ * @packageDocumentation Async
3
3
  * Contains utility functions for Blob objects.
4
4
  */
5
5
  /**
@@ -44,4 +44,4 @@ async function generate(path, lines) {
44
44
  0 && (module.exports = {
45
45
  generate
46
46
  });
47
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0NvZGVHZW5lcmF0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgQ29kZUdlbmVyYXRvclxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvZGUgZ2VuZXJhdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoIHdpdGggdGhlIHByb3ZpZGVkIGxpbmVzIG9mIGNvZGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB3aGVyZSB0aGUgZmlsZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAqIEBwYXJhbSBsaW5lcyAtIEFuIGFycmF5IG9mIHN0cmluZ3MgcmVwcmVzZW50aW5nIHRoZSBsaW5lcyBvZiBjb2RlIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGdlbmVyYXRpb24gaXMgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZShwYXRoOiBzdHJpbmcsIGxpbmVzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAobGluZXMuYXQoLTEpKSB7XG4gICAgbGluZXMucHVzaChcIlwiKTtcbiAgfVxuICBsaW5lcy51bnNoaWZ0KFwiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXCIsIFwiXCIpO1xuICBhd2FpdCB3cml0ZUZpbGUocGF0aCwgbGluZXMuam9pbihcIlxcblwiKSwgXCJ1dGYtOFwiKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUEwQjtBQVgxQixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWVBLGVBQXNCLFNBQVMsTUFBYyxPQUFnQztBQUMzRSxNQUFJLE1BQU0sR0FBRyxFQUFFLEdBQUc7QUFDaEIsVUFBTSxLQUFLLEVBQUU7QUFBQSxFQUNmO0FBQ0EsUUFBTSxRQUFRLDBEQUEwRCxFQUFFO0FBQzFFLFlBQU0sMkJBQVUsTUFBTSxNQUFNLEtBQUssSUFBSSxHQUFHLE9BQU87QUFDakQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
47
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0NvZGVHZW5lcmF0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBDb2RlR2VuZXJhdG9yXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgY29kZSBnZW5lcmF0aW9uLlxuICovXG5cbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgZmlsZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGggd2l0aCB0aGUgcHJvdmlkZWQgbGluZXMgb2YgY29kZS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHdoZXJlIHRoZSBmaWxlIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICogQHBhcmFtIGxpbmVzIC0gQW4gYXJyYXkgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIGxpbmVzIG9mIGNvZGUgdG8gYmUgd3JpdHRlbiBpbiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgZ2VuZXJhdGlvbiBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlKHBhdGg6IHN0cmluZywgbGluZXM6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChsaW5lcy5hdCgtMSkpIHtcbiAgICBsaW5lcy5wdXNoKFwiXCIpO1xuICB9XG4gIGxpbmVzLnVuc2hpZnQoXCIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cIiwgXCJcIik7XG4gIGF3YWl0IHdyaXRlRmlsZShwYXRoLCBsaW5lcy5qb2luKFwiXFxuXCIpLCBcInV0Zi04XCIpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBQTBCO0FBWDFCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBZUEsZUFBc0IsU0FBUyxNQUFjLE9BQWdDO0FBQzNFLE1BQUksTUFBTSxHQUFHLEVBQUUsR0FBRztBQUNoQixVQUFNLEtBQUssRUFBRTtBQUFBLEVBQ2Y7QUFDQSxRQUFNLFFBQVEsMERBQTBELEVBQUU7QUFDMUUsWUFBTSwyQkFBVSxNQUFNLE1BQU0sS0FBSyxJQUFJLEdBQUcsT0FBTztBQUNqRDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module CodeGenerator
2
+ * @packageDocumentation CodeGenerator
3
3
  * Contains utility functions for code generation.
4
4
  */
5
5
  /**
@@ -42,4 +42,4 @@ function appendCodeBlock(fragment, code) {
42
42
  0 && (module.exports = {
43
43
  appendCodeBlock
44
44
  });
45
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0RvY3VtZW50RnJhZ21lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgRG9jdW1lbnRGcmFnbWVudFxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBEb2N1bWVudEZyYWdtZW50cy5cbiAqL1xuXG4vKipcbiAqIEFwcGVuZHMgYSBjb2RlIGJsb2NrIHRvIHRoZSBnaXZlbiBEb2N1bWVudEZyYWdtZW50LlxuICpcbiAqIEBwYXJhbSBmcmFnbWVudCAtIFRoZSBEb2N1bWVudEZyYWdtZW50IHRvIGFwcGVuZCB0aGUgY29kZSBibG9jayB0by5cbiAqIEBwYXJhbSBjb2RlIC0gVGhlIGNvZGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBjb2RlIGJsb2NrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ29kZUJsb2NrKGZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50LCBjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbih7IGNsczogXCJtYXJrZG93bi1yZW5kZXJlZCBjb2RlXCIgfSwgKHNwYW4pID0+IHtcbiAgICBzcGFuLnN0eWxlLmZvbnRXZWlnaHQgPSBcImJvbGRcIjtcbiAgICBzcGFuLmFwcGVuZENoaWxkKGNyZWF0ZUVsKFwiY29kZVwiLCB7IHRleHQ6IGNvZGUgfSkpO1xuICB9KSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQVlPLFNBQVMsZ0JBQWdCLFVBQTRCLE1BQW9CO0FBQzlFLFdBQVMsWUFBWSxXQUFXLEVBQUUsS0FBSyx5QkFBeUIsR0FBRyxDQUFDLFNBQVM7QUFDM0UsU0FBSyxNQUFNLGFBQWE7QUFDeEIsU0FBSyxZQUFZLFNBQVMsUUFBUSxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFBQSxFQUNuRCxDQUFDLENBQUM7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
45
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0RvY3VtZW50RnJhZ21lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBEb2N1bWVudEZyYWdtZW50XG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIERvY3VtZW50RnJhZ21lbnRzLlxuICovXG5cbi8qKlxuICogQXBwZW5kcyBhIGNvZGUgYmxvY2sgdG8gdGhlIGdpdmVuIERvY3VtZW50RnJhZ21lbnQuXG4gKlxuICogQHBhcmFtIGZyYWdtZW50IC0gVGhlIERvY3VtZW50RnJhZ21lbnQgdG8gYXBwZW5kIHRoZSBjb2RlIGJsb2NrIHRvLlxuICogQHBhcmFtIGNvZGUgLSBUaGUgY29kZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNvZGUgYmxvY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb2RlQmxvY2soZnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQsIGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICBmcmFnbWVudC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuKHsgY2xzOiBcIm1hcmtkb3duLXJlbmRlcmVkIGNvZGVcIiB9LCAoc3BhbikgPT4ge1xuICAgIHNwYW4uc3R5bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xuICAgIHNwYW4uYXBwZW5kQ2hpbGQoY3JlYXRlRWwoXCJjb2RlXCIsIHsgdGV4dDogY29kZSB9KSk7XG4gIH0pKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBWU8sU0FBUyxnQkFBZ0IsVUFBNEIsTUFBb0I7QUFDOUUsV0FBUyxZQUFZLFdBQVcsRUFBRSxLQUFLLHlCQUF5QixHQUFHLENBQUMsU0FBUztBQUMzRSxTQUFLLE1BQU0sYUFBYTtBQUN4QixTQUFLLFlBQVksU0FBUyxRQUFRLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQ25ELENBQUMsQ0FBQztBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module DocumentFragment
2
+ * @packageDocumentation DocumentFragment
3
3
  * This module provides utility functions for working with DocumentFragments.
4
4
  */
5
5
  /**
@@ -98,4 +98,4 @@ ${restStack}` });
98
98
  printError,
99
99
  registerAsyncErrorEventHandler
100
100
  });
101
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Vycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAbW9kdWxlIEVycm9yXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgZXJyb3IgaGFuZGxpbmcuXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIm5vZGU6ZXZlbnRzXCI7XG5cbmNvbnN0IEFTWU5DX0VSUk9SX0VWRU5UID0gXCJhc3luY0Vycm9yXCI7XG5cbmNvbnN0IGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5hc3luY0Vycm9yRXZlbnRFbWl0dGVyLm9uKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVBc3luY0Vycm9yKTtcblxuLyoqXG4gKiBIYW5kbGVzIGFzeW5jaHJvbm91cyBlcnJvcnMgYnkgcHJpbnRpbmcgdGhlbS5cbiAqXG4gKiBAcGFyYW0gYXN5bmNFcnJvciAtIFRoZSBhc3luY2hyb25vdXMgZXJyb3IgdG8gaGFuZGxlLlxuICovXG5mdW5jdGlvbiBoYW5kbGVBc3luY0Vycm9yKGFzeW5jRXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgcHJpbnRFcnJvcihuZXcgRXJyb3IoXCJBbiB1bmhhbmRsZWQgZXJyb3Igb2NjdXJyZWQgZXhlY3V0aW5nIGFzeW5jIG9wZXJhdGlvblwiLCB7IGNhdXNlOiBhc3luY0Vycm9yIH0pKTtcbn1cblxuLyoqXG4gKiBFbWl0cyBhbiBhc3luY2hyb25vdXMgZXJyb3IgZXZlbnQuXG4gKlxuICogQHBhcmFtIGFzeW5jRXJyb3IgLSBUaGUgZXJyb3IgdG8gZW1pdCBhcyBhbiBhc3luY2hyb25vdXMgZXJyb3IgZXZlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbWl0QXN5bmNFcnJvckV2ZW50KGFzeW5jRXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgYXN5bmNFcnJvckV2ZW50RW1pdHRlci5lbWl0KEFTWU5DX0VSUk9SX0VWRU5ULCBhc3luY0Vycm9yKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4gZXZlbnQgaGFuZGxlciBmb3IgYXN5bmNocm9ub3VzIGVycm9ycy5cbiAqXG4gKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIGFuIGFzeW5jaHJvbm91cyBlcnJvciBldmVudCBvY2N1cnMuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRvIHVucmVnaXN0ZXIgdGhlIGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIoaGFuZGxlcjogKGFzeW5jRXJyb3I6IHVua25vd24pID0+IHZvaWQpOiAoKSA9PiB2b2lkIHtcbiAgYXN5bmNFcnJvckV2ZW50RW1pdHRlci5vbihBU1lOQ19FUlJPUl9FVkVOVCwgaGFuZGxlcik7XG4gIHJldHVybiAoKSA9PiBhc3luY0Vycm9yRXZlbnRFbWl0dGVyLm9mZihBU1lOQ19FUlJPUl9FVkVOVCwgaGFuZGxlcik7XG59XG5cbnR5cGUgRXJyb3JFbnRyeSA9IHtcbiAgbGV2ZWw6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBzaG91bGRDbGVhckFuc2lTZXF1ZW5jZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJpbnRzIGFuIGVycm9yIHRvIHRoZSBjb25zb2xlLCBpbmNsdWRpbmcgbmVzdGVkIGNhdXNlcyBhbmQgb3B0aW9uYWwgQU5TSSBzZXF1ZW5jZSBjbGVhcmluZy5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gcHJpbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludEVycm9yKGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gIGNvbnN0IGVudHJpZXMgPSBwYXJzZUVycm9yRW50cmllcyhlcnJvcik7XG5cbiAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgaWYgKGVudHJ5LnNob3VsZENsZWFyQW5zaVNlcXVlbmNlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBcXHgxYlswbSR7ZW50cnkubWVzc2FnZX1cXHgxYlswbWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVudHJ5Lm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIGVycm9yIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBpbmNsdWRpbmcgbmVzdGVkIGNhdXNlcyB3aXRoIGluZGVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBjb252ZXJ0IHRvIGEgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlcnJvclRvU3RyaW5nKGVycm9yOiB1bmtub3duKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhcnNlRXJyb3JFbnRyaWVzKGVycm9yKS5tYXAoKGVudHJ5KSA9PiBcIiAgXCIucmVwZWF0KGVudHJ5LmxldmVsKSArIGVudHJ5Lm1lc3NhZ2UpLmpvaW4oXCJcXG5cIik7XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGVycm9yIGludG8gYW4gYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzLCBpbmNsdWRpbmcgbmVzdGVkIGNhdXNlcy5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdG8gcGFyc2UuXG4gKiBAcGFyYW0gbGV2ZWwgLSBUaGUgY3VycmVudCBpbmRlbnRhdGlvbiBsZXZlbCBmb3IgbmVzdGVkIGNhdXNlcy5cbiAqIEBwYXJhbSBlbnRyaWVzIC0gVGhlIGFycmF5IG9mIEVycm9yRW50cnkgb2JqZWN0cyB0byBwb3B1bGF0ZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIEVycm9yRW50cnkgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGVycm9yIGFuZCBpdHMgY2F1c2VzLlxuICovXG5mdW5jdGlvbiBwYXJzZUVycm9yRW50cmllcyhlcnJvcjogdW5rbm93biwgbGV2ZWw6IG51bWJlciA9IDAsIGVudHJpZXM6IEVycm9yRW50cnlbXSA9IFtdKTogRXJyb3JFbnRyeVtdIHtcbiAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZW50cmllcztcbiAgfVxuXG4gIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgbGV0IHN0ciA9IFwiXCI7XG5cbiAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcbiAgICAgIHN0ciA9IFwiKG51bGwpXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHN0ciA9IGVycm9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHIgPSBKU09OLnN0cmluZ2lmeShlcnJvcik7XG4gICAgfVxuXG4gICAgZW50cmllcy5wdXNoKHsgbGV2ZWwsIG1lc3NhZ2U6IHN0ciB9KTtcbiAgICByZXR1cm4gZW50cmllcztcbiAgfVxuXG4gIGNvbnN0IHRpdGxlID0gYCR7ZXJyb3IubmFtZX06ICR7ZXJyb3IubWVzc2FnZX1gO1xuICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogdGl0bGUsIHNob3VsZENsZWFyQW5zaVNlcXVlbmNlOiB0cnVlIH0pO1xuXG4gIGlmIChlcnJvci5zdGFjaykge1xuICAgIGNvbnN0IHJlc3RTdGFjayA9IGVycm9yLnN0YWNrLnN0YXJ0c1dpdGgodGl0bGUpID8gZXJyb3Iuc3RhY2suc3Vic3RyaW5nKHRpdGxlLmxlbmd0aCArIDEpIDogZXJyb3Iuc3RhY2s7XG4gICAgZW50cmllcy5wdXNoKHsgbGV2ZWwsIG1lc3NhZ2U6IGBFcnJvciBzdGFjazpcXG4ke3Jlc3RTdGFja31gIH0pO1xuICB9XG5cbiAgaWYgKGVycm9yLmNhdXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogXCJDYXVzZWQgYnk6XCIgfSk7XG4gICAgcGFyc2VFcnJvckVudHJpZXMoZXJyb3IuY2F1c2UsIGxldmVsICsgMSwgZW50cmllcyk7XG4gIH1cblxuICByZXR1cm4gZW50cmllcztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHlCQUE2QjtBQVg3QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQVFBLE1BQU0sb0JBQW9CO0FBRTFCLE1BQU0seUJBQXlCLElBQUksZ0NBQWE7QUFDaEQsdUJBQXVCLEdBQUcsbUJBQW1CLGdCQUFnQjtBQU83RCxTQUFTLGlCQUFpQixZQUEyQjtBQUNuRCxhQUFXLElBQUksTUFBTSx5REFBeUQsRUFBRSxPQUFPLFdBQVcsQ0FBQyxDQUFDO0FBQ3RHO0FBT08sU0FBUyxvQkFBb0IsWUFBMkI7QUFDN0QseUJBQXVCLEtBQUssbUJBQW1CLFVBQVU7QUFDM0Q7QUFRTyxTQUFTLCtCQUErQixTQUFvRDtBQUNqRyx5QkFBdUIsR0FBRyxtQkFBbUIsT0FBTztBQUNwRCxTQUFPLE1BQU0sdUJBQXVCLElBQUksbUJBQW1CLE9BQU87QUFDcEU7QUFhTyxTQUFTLFdBQVcsT0FBc0I7QUFDL0MsUUFBTSxVQUFVLGtCQUFrQixLQUFLO0FBRXZDLGFBQVcsU0FBUyxTQUFTO0FBQzNCLFFBQUksTUFBTSx5QkFBeUI7QUFDakMsY0FBUSxNQUFNLFVBQVUsTUFBTSxPQUFPLFNBQVM7QUFBQSxJQUNoRCxPQUFPO0FBQ0wsY0FBUSxNQUFNLE1BQU0sT0FBTztBQUFBLElBQzdCO0FBQUEsRUFDRjtBQUNGO0FBUU8sU0FBUyxjQUFjLE9BQXdCO0FBQ3BELFNBQU8sa0JBQWtCLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxLQUFLLE9BQU8sTUFBTSxLQUFLLElBQUksTUFBTSxPQUFPLEVBQUUsS0FBSyxJQUFJO0FBQ3BHO0FBVUEsU0FBUyxrQkFBa0IsT0FBZ0IsUUFBZ0IsR0FBRyxVQUF3QixDQUFDLEdBQWlCO0FBQ3RHLE1BQUksVUFBVSxRQUFXO0FBQ3ZCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxFQUFFLGlCQUFpQixRQUFRO0FBQzdCLFFBQUksTUFBTTtBQUVWLFFBQUksVUFBVSxNQUFNO0FBQ2xCLFlBQU07QUFBQSxJQUNSLFdBQVcsT0FBTyxVQUFVLFVBQVU7QUFDcEMsWUFBTTtBQUFBLElBQ1IsT0FBTztBQUNMLFlBQU0sS0FBSyxVQUFVLEtBQUs7QUFBQSxJQUM1QjtBQUVBLFlBQVEsS0FBSyxFQUFFLE9BQU8sU0FBUyxJQUFJLENBQUM7QUFDcEMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksS0FBSyxNQUFNLE9BQU87QUFDN0MsVUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTLE9BQU8seUJBQXlCLEtBQUssQ0FBQztBQUVyRSxNQUFJLE1BQU0sT0FBTztBQUNmLFVBQU0sWUFBWSxNQUFNLE1BQU0sV0FBVyxLQUFLLElBQUksTUFBTSxNQUFNLFVBQVUsTUFBTSxTQUFTLENBQUMsSUFBSSxNQUFNO0FBQ2xHLFlBQVEsS0FBSyxFQUFFLE9BQU8sU0FBUztBQUFBLEVBQWlCLFNBQVMsR0FBRyxDQUFDO0FBQUEsRUFDL0Q7QUFFQSxNQUFJLE1BQU0sVUFBVSxRQUFXO0FBQzdCLFlBQVEsS0FBSyxFQUFFLE9BQU8sU0FBUyxhQUFhLENBQUM7QUFDN0Msc0JBQWtCLE1BQU0sT0FBTyxRQUFRLEdBQUcsT0FBTztBQUFBLEVBQ25EO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
101
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Vycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRXJyb3JcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBlcnJvciBoYW5kbGluZy5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwibm9kZTpldmVudHNcIjtcblxuY29uc3QgQVNZTkNfRVJST1JfRVZFTlQgPSBcImFzeW5jRXJyb3JcIjtcblxuY29uc3QgYXN5bmNFcnJvckV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbmFzeW5jRXJyb3JFdmVudEVtaXR0ZXIub24oQVNZTkNfRVJST1JfRVZFTlQsIGhhbmRsZUFzeW5jRXJyb3IpO1xuXG4vKipcbiAqIEhhbmRsZXMgYXN5bmNocm9ub3VzIGVycm9ycyBieSBwcmludGluZyB0aGVtLlxuICpcbiAqIEBwYXJhbSBhc3luY0Vycm9yIC0gVGhlIGFzeW5jaHJvbm91cyBlcnJvciB0byBoYW5kbGUuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUFzeW5jRXJyb3IoYXN5bmNFcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBwcmludEVycm9yKG5ldyBFcnJvcihcIkFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZCBleGVjdXRpbmcgYXN5bmMgb3BlcmF0aW9uXCIsIHsgY2F1c2U6IGFzeW5jRXJyb3IgfSkpO1xufVxuXG4vKipcbiAqIEVtaXRzIGFuIGFzeW5jaHJvbm91cyBlcnJvciBldmVudC5cbiAqXG4gKiBAcGFyYW0gYXN5bmNFcnJvciAtIFRoZSBlcnJvciB0byBlbWl0IGFzIGFuIGFzeW5jaHJvbm91cyBlcnJvciBldmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtaXRBc3luY0Vycm9yRXZlbnQoYXN5bmNFcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBhc3luY0Vycm9yRXZlbnRFbWl0dGVyLmVtaXQoQVNZTkNfRVJST1JfRVZFTlQsIGFzeW5jRXJyb3IpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBhbiBldmVudCBoYW5kbGVyIGZvciBhc3luY2hyb25vdXMgZXJyb3JzLlxuICpcbiAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gYW4gYXN5bmNocm9ub3VzIGVycm9yIGV2ZW50IG9jY3Vycy5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdG8gdW5yZWdpc3RlciB0aGUgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcihoYW5kbGVyOiAoYXN5bmNFcnJvcjogdW5rbm93bikgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICBhc3luY0Vycm9yRXZlbnRFbWl0dGVyLm9uKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVyKTtcbiAgcmV0dXJuICgpID0+IGFzeW5jRXJyb3JFdmVudEVtaXR0ZXIub2ZmKEFTWU5DX0VSUk9SX0VWRU5ULCBoYW5kbGVyKTtcbn1cblxudHlwZSBFcnJvckVudHJ5ID0ge1xuICBsZXZlbDogbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNob3VsZENsZWFyQW5zaVNlcXVlbmNlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcmludHMgYW4gZXJyb3IgdG8gdGhlIGNvbnNvbGUsIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzIGFuZCBvcHRpb25hbCBBTlNJIHNlcXVlbmNlIGNsZWFyaW5nLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBwcmludC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgY29uc3QgZW50cmllcyA9IHBhcnNlRXJyb3JFbnRyaWVzKGVycm9yKTtcblxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBpZiAoZW50cnkuc2hvdWxkQ2xlYXJBbnNpU2VxdWVuY2UpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFxceDFiWzBtJHtlbnRyeS5tZXNzYWdlfVxceDFiWzBtYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZW50cnkubWVzc2FnZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gZXJyb3IgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24sIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzIHdpdGggaW5kZW50YXRpb24uXG4gKlxuICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIHRvIGNvbnZlcnQgdG8gYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVycm9yVG9TdHJpbmcoZXJyb3I6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gcGFyc2VFcnJvckVudHJpZXMoZXJyb3IpLm1hcCgoZW50cnkpID0+IFwiICBcIi5yZXBlYXQoZW50cnkubGV2ZWwpICsgZW50cnkubWVzc2FnZSkuam9pbihcIlxcblwiKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gZXJyb3IgaW50byBhbiBhcnJheSBvZiBFcnJvckVudHJ5IG9iamVjdHMsIGluY2x1ZGluZyBuZXN0ZWQgY2F1c2VzLlxuICpcbiAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBwYXJzZS5cbiAqIEBwYXJhbSBsZXZlbCAtIFRoZSBjdXJyZW50IGluZGVudGF0aW9uIGxldmVsIGZvciBuZXN0ZWQgY2F1c2VzLlxuICogQHBhcmFtIGVudHJpZXMgLSBUaGUgYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzIHRvIHBvcHVsYXRlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgRXJyb3JFbnRyeSBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgZXJyb3IgYW5kIGl0cyBjYXVzZXMuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRXJyb3JFbnRyaWVzKGVycm9yOiB1bmtub3duLCBsZXZlbDogbnVtYmVyID0gMCwgZW50cmllczogRXJyb3JFbnRyeVtdID0gW10pOiBFcnJvckVudHJ5W10ge1xuICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG5cbiAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICBsZXQgc3RyID0gXCJcIjtcblxuICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgc3RyID0gXCIobnVsbClcIjtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgc3RyID0gZXJyb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0ciA9IEpTT04uc3RyaW5naWZ5KGVycm9yKTtcbiAgICB9XG5cbiAgICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogc3RyIH0pO1xuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG5cbiAgY29uc3QgdGl0bGUgPSBgJHtlcnJvci5uYW1lfTogJHtlcnJvci5tZXNzYWdlfWA7XG4gIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiB0aXRsZSwgc2hvdWxkQ2xlYXJBbnNpU2VxdWVuY2U6IHRydWUgfSk7XG5cbiAgaWYgKGVycm9yLnN0YWNrKSB7XG4gICAgY29uc3QgcmVzdFN0YWNrID0gZXJyb3Iuc3RhY2suc3RhcnRzV2l0aCh0aXRsZSkgPyBlcnJvci5zdGFjay5zdWJzdHJpbmcodGl0bGUubGVuZ3RoICsgMSkgOiBlcnJvci5zdGFjaztcbiAgICBlbnRyaWVzLnB1c2goeyBsZXZlbCwgbWVzc2FnZTogYEVycm9yIHN0YWNrOlxcbiR7cmVzdFN0YWNrfWAgfSk7XG4gIH1cblxuICBpZiAoZXJyb3IuY2F1c2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGVudHJpZXMucHVzaCh7IGxldmVsLCBtZXNzYWdlOiBcIkNhdXNlZCBieTpcIiB9KTtcbiAgICBwYXJzZUVycm9yRW50cmllcyhlcnJvci5jYXVzZSwgbGV2ZWwgKyAxLCBlbnRyaWVzKTtcbiAgfVxuXG4gIHJldHVybiBlbnRyaWVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EseUJBQTZCO0FBWDdCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBUUEsTUFBTSxvQkFBb0I7QUFFMUIsTUFBTSx5QkFBeUIsSUFBSSxnQ0FBYTtBQUNoRCx1QkFBdUIsR0FBRyxtQkFBbUIsZ0JBQWdCO0FBTzdELFNBQVMsaUJBQWlCLFlBQTJCO0FBQ25ELGFBQVcsSUFBSSxNQUFNLHlEQUF5RCxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUM7QUFDdEc7QUFPTyxTQUFTLG9CQUFvQixZQUEyQjtBQUM3RCx5QkFBdUIsS0FBSyxtQkFBbUIsVUFBVTtBQUMzRDtBQVFPLFNBQVMsK0JBQStCLFNBQW9EO0FBQ2pHLHlCQUF1QixHQUFHLG1CQUFtQixPQUFPO0FBQ3BELFNBQU8sTUFBTSx1QkFBdUIsSUFBSSxtQkFBbUIsT0FBTztBQUNwRTtBQWFPLFNBQVMsV0FBVyxPQUFzQjtBQUMvQyxRQUFNLFVBQVUsa0JBQWtCLEtBQUs7QUFFdkMsYUFBVyxTQUFTLFNBQVM7QUFDM0IsUUFBSSxNQUFNLHlCQUF5QjtBQUNqQyxjQUFRLE1BQU0sVUFBVSxNQUFNLE9BQU8sU0FBUztBQUFBLElBQ2hELE9BQU87QUFDTCxjQUFRLE1BQU0sTUFBTSxPQUFPO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBQ0Y7QUFRTyxTQUFTLGNBQWMsT0FBd0I7QUFDcEQsU0FBTyxrQkFBa0IsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEtBQUssT0FBTyxNQUFNLEtBQUssSUFBSSxNQUFNLE9BQU8sRUFBRSxLQUFLLElBQUk7QUFDcEc7QUFVQSxTQUFTLGtCQUFrQixPQUFnQixRQUFnQixHQUFHLFVBQXdCLENBQUMsR0FBaUI7QUFDdEcsTUFBSSxVQUFVLFFBQVc7QUFDdkIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLEVBQUUsaUJBQWlCLFFBQVE7QUFDN0IsUUFBSSxNQUFNO0FBRVYsUUFBSSxVQUFVLE1BQU07QUFDbEIsWUFBTTtBQUFBLElBQ1IsV0FBVyxPQUFPLFVBQVUsVUFBVTtBQUNwQyxZQUFNO0FBQUEsSUFDUixPQUFPO0FBQ0wsWUFBTSxLQUFLLFVBQVUsS0FBSztBQUFBLElBQzVCO0FBRUEsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTLElBQUksQ0FBQztBQUNwQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxLQUFLLE1BQU0sT0FBTztBQUM3QyxVQUFRLEtBQUssRUFBRSxPQUFPLFNBQVMsT0FBTyx5QkFBeUIsS0FBSyxDQUFDO0FBRXJFLE1BQUksTUFBTSxPQUFPO0FBQ2YsVUFBTSxZQUFZLE1BQU0sTUFBTSxXQUFXLEtBQUssSUFBSSxNQUFNLE1BQU0sVUFBVSxNQUFNLFNBQVMsQ0FBQyxJQUFJLE1BQU07QUFDbEcsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTO0FBQUEsRUFBaUIsU0FBUyxHQUFHLENBQUM7QUFBQSxFQUMvRDtBQUVBLE1BQUksTUFBTSxVQUFVLFFBQVc7QUFDN0IsWUFBUSxLQUFLLEVBQUUsT0FBTyxTQUFTLGFBQWEsQ0FBQztBQUM3QyxzQkFBa0IsTUFBTSxPQUFPLFFBQVEsR0FBRyxPQUFPO0FBQUEsRUFDbkQ7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module Error
2
+ * @packageDocumentation Error
3
3
  * Contains utility functions for error handling.
4
4
  */
5
5
  /**
package/dist/lib/Fs.cjs CHANGED
@@ -86,4 +86,4 @@ function isBufferResultOptions(options) {
86
86
  0 && (module.exports = {
87
87
  readdirPosix
88
88
  });
89
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0ZzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAbW9kdWxlIEZzXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgZmlsZSBzeXN0ZW0gb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIERpcmVudCxcbiAgT2JqZWN0RW5jb2RpbmdPcHRpb25zLFxuICBQYXRoTGlrZVxufSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHsgcmVhZGRpciB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQge1xuICB0b1Bvc2l4QnVmZmVyLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tIFwiLi9QYXRoLnRzXCI7XG5cbnR5cGUgU3RyaW5nUmVzdWx0T3B0aW9ucyA9IHVuZGVmaW5lZCB8IE9iamVjdEVuY29kaW5nT3B0aW9ucyAmIHtcbiAgd2l0aEZpbGVUeXBlcz86IGZhbHNlO1xuICByZWN1cnNpdmU/OiBib29sZWFuO1xufTtcblxudHlwZSBCdWZmZXJSZXN1bHRPcHRpb25zID0gXCJidWZmZXJcIiB8IHtcbiAgZW5jb2Rpbmc6IFwiYnVmZmVyXCI7XG4gIHdpdGhGaWxlVHlwZXM/OiBmYWxzZTtcbiAgcmVjdXJzaXZlPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgRGlyZW50UmVzdWx0T3B0aW9ucyA9IE9iamVjdEVuY29kaW5nT3B0aW9ucyAmIHtcbiAgd2l0aEZpbGVUeXBlczogdHJ1ZTtcbiAgcmVjdXJzaXZlPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgQ29tbW9uT3B0aW9ucyA9IHtcbiAgZW5jb2Rpbmc/OiBCdWZmZXJFbmNvZGluZyB8IFwiYnVmZmVyXCI7XG4gIHdpdGhGaWxlVHlwZXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBjb250ZW50cyBvZiBhIGRpcmVjdG9yeSBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiBzdHJpbmdzIHdpdGggUE9TSVggcGF0aHMuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5LlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIHRvIGNvbnRyb2wgdGhlIGZvcm1hdCBvZiB0aGUgcmVzdWx0LiBJZiBub3QgcHJvdmlkZWQsIHJldHVybnMgc3RyaW5ncy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYXJyYXkgb2YgUE9TSVgtZm9ybWF0dGVkIGZpbGUgcGF0aHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkZGlyUG9zaXgocGF0aDogUGF0aExpa2UsIG9wdGlvbnM/OiBTdHJpbmdSZXN1bHRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT47XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnRlbnRzIG9mIGEgZGlyZWN0b3J5IGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIGJ1ZmZlcnMgd2l0aCBQT1NJWCBwYXRocy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCB0aGUgZm9ybWF0IG9mIHRoZSByZXN1bHQuIFNwZWNpZnkgXCJidWZmZXJcIiB0byByZXR1cm4gYnVmZmVycy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYXJyYXkgb2YgUE9TSVgtZm9ybWF0dGVkIGJ1ZmZlcnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkZGlyUG9zaXgocGF0aDogUGF0aExpa2UsIG9wdGlvbnM6IEJ1ZmZlclJlc3VsdE9wdGlvbnMpOiBQcm9taXNlPEJ1ZmZlcltdPjtcblxuLyoqXG4gKiBSZWFkcyB0aGUgY29udGVudHMgb2YgYSBkaXJlY3RvcnkgYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgRGlyZW50IG9iamVjdHMgd2l0aCBQT1NJWCBwYXRocy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCB0aGUgZm9ybWF0IG9mIHRoZSByZXN1bHQuIFNwZWNpZnkgYHdpdGhGaWxlVHlwZXM6IHRydWVgIHRvIHJldHVybiBEaXJlbnQgb2JqZWN0cy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYXJyYXkgb2YgUE9TSVgtZm9ybWF0dGVkIERpcmVudCBvYmplY3RzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZGRpclBvc2l4KHBhdGg6IFBhdGhMaWtlLCBvcHRpb25zOiBEaXJlbnRSZXN1bHRPcHRpb25zKTogUHJvbWlzZTxEaXJlbnRbXT47XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnRlbnRzIG9mIGEgZGlyZWN0b3J5IGFuZCBjb252ZXJ0cyBmaWxlIHBhdGhzIG9yIGJ1ZmZlciByZXN1bHRzIHRvIFBPU0lYIGZvcm1hdC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCB0aGUgZm9ybWF0IG9mIHRoZSByZXN1bHQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIGFycmF5IG9mIFBPU0lYLWZvcm1hdHRlZCBmaWxlIHBhdGhzLCBidWZmZXJzLCBvciBEaXJlbnQgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRkaXJQb3NpeChcbiAgcGF0aDogUGF0aExpa2UsXG4gIG9wdGlvbnM6IFN0cmluZ1Jlc3VsdE9wdGlvbnMgfCBCdWZmZXJSZXN1bHRPcHRpb25zIHwgRGlyZW50UmVzdWx0T3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHN0cmluZ1tdIHwgQnVmZmVyW10gfCBEaXJlbnRbXT4ge1xuICBpZiAoaXNTdHJpbmdSZXN1bHRPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgY29uc3QgcGF0aHMgPSBhd2FpdCByZWFkZGlyKHBhdGgsIG9wdGlvbnMpO1xuICAgIHJldHVybiBwYXRocy5tYXAodG9Qb3NpeFBhdGgpO1xuICB9XG5cbiAgaWYgKGlzQnVmZmVyUmVzdWx0T3B0aW9ucyhvcHRpb25zKSkge1xuICAgIGNvbnN0IGJ1ZmZlcnMgPSBhd2FpdCByZWFkZGlyKHBhdGgsIG9wdGlvbnMpO1xuICAgIHJldHVybiBidWZmZXJzLm1hcCh0b1Bvc2l4QnVmZmVyKTtcbiAgfVxuXG4gIGNvbnN0IGRpcmVudHMgPSBhd2FpdCByZWFkZGlyKHBhdGgsIG9wdGlvbnMpO1xuICBmb3IgKGNvbnN0IGRpcmVudCBvZiBkaXJlbnRzKSB7XG4gICAgZGlyZW50Lm5hbWUgPSB0b1Bvc2l4UGF0aChkaXJlbnQubmFtZSk7XG4gICAgZGlyZW50LnBhcmVudFBhdGggPSB0b1Bvc2l4UGF0aChkaXJlbnQucGFyZW50UGF0aCk7XG4gIH1cblxuICByZXR1cm4gZGlyZW50cztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIHRoZSBvcHRpb25zIGFyZSBmb3IgcmV0dXJuaW5nIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgb3B0aW9ucyBhcmUgZm9yIHJldHVybmluZyBzdHJpbmdzLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNTdHJpbmdSZXN1bHRPcHRpb25zKG9wdGlvbnM6IFN0cmluZ1Jlc3VsdE9wdGlvbnMgfCBCdWZmZXJSZXN1bHRPcHRpb25zIHwgRGlyZW50UmVzdWx0T3B0aW9ucyk6IG9wdGlvbnMgaXMgU3RyaW5nUmVzdWx0T3B0aW9ucyB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChvcHRpb25zID09PSBcImJ1ZmZlclwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgY29tbW9uT3B0aW9ucyA9IG9wdGlvbnMgYXMgQ29tbW9uT3B0aW9ucztcblxuICBpZiAoY29tbW9uT3B0aW9ucy5lbmNvZGluZyA9PT0gXCJidWZmZXJcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChjb21tb25PcHRpb25zLndpdGhGaWxlVHlwZXMgPT09IHRydWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIHRoZSBvcHRpb25zIGFyZSBmb3IgcmV0dXJuaW5nIGJ1ZmZlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgb3B0aW9ucyBhcmUgZm9yIHJldHVybmluZyBidWZmZXJzLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNCdWZmZXJSZXN1bHRPcHRpb25zKG9wdGlvbnM6IFN0cmluZ1Jlc3VsdE9wdGlvbnMgfCBCdWZmZXJSZXN1bHRPcHRpb25zIHwgRGlyZW50UmVzdWx0T3B0aW9ucyk6IG9wdGlvbnMgaXMgQnVmZmVyUmVzdWx0T3B0aW9ucyB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAob3B0aW9ucyA9PT0gXCJidWZmZXJcIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgY29tbW9uT3B0aW9ucyA9IG9wdGlvbnMgYXMgQ29tbW9uT3B0aW9ucztcblxuICBpZiAoY29tbW9uT3B0aW9ucy53aXRoRmlsZVR5cGVzID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvbW1vbk9wdGlvbnMuZW5jb2RpbmcgIT09IFwiYnVmZmVyXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSxzQkFBd0I7QUFDeEIsa0JBR087QUFwQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF3RUEsZUFBc0IsYUFDcEIsTUFDQSxVQUEyRSxDQUFDLEdBQ25DO0FBQ3pDLE1BQUksc0JBQXNCLE9BQU8sR0FBRztBQUNsQyxVQUFNLFFBQVEsVUFBTSx5QkFBUSxNQUFNLE9BQU87QUFDekMsV0FBTyxNQUFNLElBQUksdUJBQVc7QUFBQSxFQUM5QjtBQUVBLE1BQUksc0JBQXNCLE9BQU8sR0FBRztBQUNsQyxVQUFNLFVBQVUsVUFBTSx5QkFBUSxNQUFNLE9BQU87QUFDM0MsV0FBTyxRQUFRLElBQUkseUJBQWE7QUFBQSxFQUNsQztBQUVBLFFBQU0sVUFBVSxVQUFNLHlCQUFRLE1BQU0sT0FBTztBQUMzQyxhQUFXLFVBQVUsU0FBUztBQUM1QixXQUFPLFdBQU8seUJBQVksT0FBTyxJQUFJO0FBQ3JDLFdBQU8saUJBQWEseUJBQVksT0FBTyxVQUFVO0FBQUEsRUFDbkQ7QUFFQSxTQUFPO0FBQ1Q7QUFRQSxTQUFTLHNCQUFzQixTQUEwRztBQUN2SSxNQUFJLFlBQVksUUFBVztBQUN6QixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksWUFBWSxVQUFVO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxnQkFBZ0I7QUFFdEIsTUFBSSxjQUFjLGFBQWEsVUFBVTtBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksY0FBYyxrQkFBa0IsTUFBTTtBQUN4QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU87QUFDVDtBQVFBLFNBQVMsc0JBQXNCLFNBQTBHO0FBQ3ZJLE1BQUksWUFBWSxRQUFXO0FBQ3pCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxZQUFZLFVBQVU7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGdCQUFnQjtBQUV0QixNQUFJLGNBQWMsa0JBQWtCLE1BQU07QUFDeEMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGNBQWMsYUFBYSxVQUFVO0FBQ3ZDLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
89
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0ZzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRnNcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBmaWxlIHN5c3RlbSBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRGlyZW50LFxuICBPYmplY3RFbmNvZGluZ09wdGlvbnMsXG4gIFBhdGhMaWtlXG59IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyByZWFkZGlyIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7XG4gIHRvUG9zaXhCdWZmZXIsXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gXCIuL1BhdGgudHNcIjtcblxudHlwZSBTdHJpbmdSZXN1bHRPcHRpb25zID0gdW5kZWZpbmVkIHwgT2JqZWN0RW5jb2RpbmdPcHRpb25zICYge1xuICB3aXRoRmlsZVR5cGVzPzogZmFsc2U7XG4gIHJlY3Vyc2l2ZT86IGJvb2xlYW47XG59O1xuXG50eXBlIEJ1ZmZlclJlc3VsdE9wdGlvbnMgPSBcImJ1ZmZlclwiIHwge1xuICBlbmNvZGluZzogXCJidWZmZXJcIjtcbiAgd2l0aEZpbGVUeXBlcz86IGZhbHNlO1xuICByZWN1cnNpdmU/OiBib29sZWFuO1xufTtcblxudHlwZSBEaXJlbnRSZXN1bHRPcHRpb25zID0gT2JqZWN0RW5jb2RpbmdPcHRpb25zICYge1xuICB3aXRoRmlsZVR5cGVzOiB0cnVlO1xuICByZWN1cnNpdmU/OiBib29sZWFuO1xufTtcblxudHlwZSBDb21tb25PcHRpb25zID0ge1xuICBlbmNvZGluZz86IEJ1ZmZlckVuY29kaW5nIHwgXCJidWZmZXJcIjtcbiAgd2l0aEZpbGVUeXBlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnRlbnRzIG9mIGEgZGlyZWN0b3J5IGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aCBQT1NJWCBwYXRocy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCB0aGUgZm9ybWF0IG9mIHRoZSByZXN1bHQuIElmIG5vdCBwcm92aWRlZCwgcmV0dXJucyBzdHJpbmdzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBQT1NJWC1mb3JtYXR0ZWQgZmlsZSBwYXRocy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRkaXJQb3NpeChwYXRoOiBQYXRoTGlrZSwgb3B0aW9ucz86IFN0cmluZ1Jlc3VsdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcblxuLyoqXG4gKiBSZWFkcyB0aGUgY29udGVudHMgb2YgYSBkaXJlY3RvcnkgYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgYnVmZmVycyB3aXRoIFBPU0lYIHBhdGhzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyB0byBjb250cm9sIHRoZSBmb3JtYXQgb2YgdGhlIHJlc3VsdC4gU3BlY2lmeSBcImJ1ZmZlclwiIHRvIHJldHVybiBidWZmZXJzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBQT1NJWC1mb3JtYXR0ZWQgYnVmZmVycy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRkaXJQb3NpeChwYXRoOiBQYXRoTGlrZSwgb3B0aW9uczogQnVmZmVyUmVzdWx0T3B0aW9ucyk6IFByb21pc2U8QnVmZmVyW10+O1xuXG4vKipcbiAqIFJlYWRzIHRoZSBjb250ZW50cyBvZiBhIGRpcmVjdG9yeSBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiBEaXJlbnQgb2JqZWN0cyB3aXRoIFBPU0lYIHBhdGhzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyB0byBjb250cm9sIHRoZSBmb3JtYXQgb2YgdGhlIHJlc3VsdC4gU3BlY2lmeSBgd2l0aEZpbGVUeXBlczogdHJ1ZWAgdG8gcmV0dXJuIERpcmVudCBvYmplY3RzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhcnJheSBvZiBQT1NJWC1mb3JtYXR0ZWQgRGlyZW50IG9iamVjdHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkZGlyUG9zaXgocGF0aDogUGF0aExpa2UsIG9wdGlvbnM6IERpcmVudFJlc3VsdE9wdGlvbnMpOiBQcm9taXNlPERpcmVudFtdPjtcblxuLyoqXG4gKiBSZWFkcyB0aGUgY29udGVudHMgb2YgYSBkaXJlY3RvcnkgYW5kIGNvbnZlcnRzIGZpbGUgcGF0aHMgb3IgYnVmZmVyIHJlc3VsdHMgdG8gUE9TSVggZm9ybWF0LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyB0byBjb250cm9sIHRoZSBmb3JtYXQgb2YgdGhlIHJlc3VsdC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gYXJyYXkgb2YgUE9TSVgtZm9ybWF0dGVkIGZpbGUgcGF0aHMsIGJ1ZmZlcnMsIG9yIERpcmVudCBvYmplY3RzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZGRpclBvc2l4KFxuICBwYXRoOiBQYXRoTGlrZSxcbiAgb3B0aW9uczogU3RyaW5nUmVzdWx0T3B0aW9ucyB8IEJ1ZmZlclJlc3VsdE9wdGlvbnMgfCBEaXJlbnRSZXN1bHRPcHRpb25zID0ge31cbik6IFByb21pc2U8c3RyaW5nW10gfCBCdWZmZXJbXSB8IERpcmVudFtdPiB7XG4gIGlmIChpc1N0cmluZ1Jlc3VsdE9wdGlvbnMob3B0aW9ucykpIHtcbiAgICBjb25zdCBwYXRocyA9IGF3YWl0IHJlYWRkaXIocGF0aCwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHBhdGhzLm1hcCh0b1Bvc2l4UGF0aCk7XG4gIH1cblxuICBpZiAoaXNCdWZmZXJSZXN1bHRPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgY29uc3QgYnVmZmVycyA9IGF3YWl0IHJlYWRkaXIocGF0aCwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIGJ1ZmZlcnMubWFwKHRvUG9zaXhCdWZmZXIpO1xuICB9XG5cbiAgY29uc3QgZGlyZW50cyA9IGF3YWl0IHJlYWRkaXIocGF0aCwgb3B0aW9ucyk7XG4gIGZvciAoY29uc3QgZGlyZW50IG9mIGRpcmVudHMpIHtcbiAgICBkaXJlbnQubmFtZSA9IHRvUG9zaXhQYXRoKGRpcmVudC5uYW1lKTtcbiAgICBkaXJlbnQucGFyZW50UGF0aCA9IHRvUG9zaXhQYXRoKGRpcmVudC5wYXJlbnRQYXRoKTtcbiAgfVxuXG4gIHJldHVybiBkaXJlbnRzO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgdGhlIG9wdGlvbnMgYXJlIGZvciByZXR1cm5pbmcgc3RyaW5ncy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBvcHRpb25zIGFyZSBmb3IgcmV0dXJuaW5nIHN0cmluZ3MsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc1N0cmluZ1Jlc3VsdE9wdGlvbnMob3B0aW9uczogU3RyaW5nUmVzdWx0T3B0aW9ucyB8IEJ1ZmZlclJlc3VsdE9wdGlvbnMgfCBEaXJlbnRSZXN1bHRPcHRpb25zKTogb3B0aW9ucyBpcyBTdHJpbmdSZXN1bHRPcHRpb25zIHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMgPT09IFwiYnVmZmVyXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjb21tb25PcHRpb25zID0gb3B0aW9ucyBhcyBDb21tb25PcHRpb25zO1xuXG4gIGlmIChjb21tb25PcHRpb25zLmVuY29kaW5nID09PSBcImJ1ZmZlclwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvbW1vbk9wdGlvbnMud2l0aEZpbGVUeXBlcyA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgdGhlIG9wdGlvbnMgYXJlIGZvciByZXR1cm5pbmcgYnVmZmVycy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBvcHRpb25zIGFyZSBmb3IgcmV0dXJuaW5nIGJ1ZmZlcnMsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0J1ZmZlclJlc3VsdE9wdGlvbnMob3B0aW9uczogU3RyaW5nUmVzdWx0T3B0aW9ucyB8IEJ1ZmZlclJlc3VsdE9wdGlvbnMgfCBEaXJlbnRSZXN1bHRPcHRpb25zKTogb3B0aW9ucyBpcyBCdWZmZXJSZXN1bHRPcHRpb25zIHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChvcHRpb25zID09PSBcImJ1ZmZlclwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBjb21tb25PcHRpb25zID0gb3B0aW9ucyBhcyBDb21tb25PcHRpb25zO1xuXG4gIGlmIChjb21tb25PcHRpb25zLndpdGhGaWxlVHlwZXMgPT09IHRydWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoY29tbW9uT3B0aW9ucy5lbmNvZGluZyAhPT0gXCJidWZmZXJcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLHNCQUF3QjtBQUN4QixrQkFHTztBQXBCUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQXdFQSxlQUFzQixhQUNwQixNQUNBLFVBQTJFLENBQUMsR0FDbkM7QUFDekMsTUFBSSxzQkFBc0IsT0FBTyxHQUFHO0FBQ2xDLFVBQU0sUUFBUSxVQUFNLHlCQUFRLE1BQU0sT0FBTztBQUN6QyxXQUFPLE1BQU0sSUFBSSx1QkFBVztBQUFBLEVBQzlCO0FBRUEsTUFBSSxzQkFBc0IsT0FBTyxHQUFHO0FBQ2xDLFVBQU0sVUFBVSxVQUFNLHlCQUFRLE1BQU0sT0FBTztBQUMzQyxXQUFPLFFBQVEsSUFBSSx5QkFBYTtBQUFBLEVBQ2xDO0FBRUEsUUFBTSxVQUFVLFVBQU0seUJBQVEsTUFBTSxPQUFPO0FBQzNDLGFBQVcsVUFBVSxTQUFTO0FBQzVCLFdBQU8sV0FBTyx5QkFBWSxPQUFPLElBQUk7QUFDckMsV0FBTyxpQkFBYSx5QkFBWSxPQUFPLFVBQVU7QUFBQSxFQUNuRDtBQUVBLFNBQU87QUFDVDtBQVFBLFNBQVMsc0JBQXNCLFNBQTBHO0FBQ3ZJLE1BQUksWUFBWSxRQUFXO0FBQ3pCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxZQUFZLFVBQVU7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGdCQUFnQjtBQUV0QixNQUFJLGNBQWMsYUFBYSxVQUFVO0FBQ3ZDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxjQUFjLGtCQUFrQixNQUFNO0FBQ3hDLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUNUO0FBUUEsU0FBUyxzQkFBc0IsU0FBMEc7QUFDdkksTUFBSSxZQUFZLFFBQVc7QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLFlBQVksVUFBVTtBQUN4QixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sZ0JBQWdCO0FBRXRCLE1BQUksY0FBYyxrQkFBa0IsTUFBTTtBQUN4QyxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksY0FBYyxhQUFhLFVBQVU7QUFDdkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
package/dist/lib/Fs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module Fs
2
+ * @packageDocumentation Fs
3
3
  * Contains utility functions for file system operations.
4
4
  */
5
5
  import type { Dirent, ObjectEncodingOptions, PathLike } from "node:fs";
package/dist/lib/JSON.cjs CHANGED
@@ -43,9 +43,10 @@ async function readJson(path) {
43
43
  async function writeJson(path, data) {
44
44
  await (0, import_promises.writeFile)(path, toJson(data) + "\n");
45
45
  }
46
- async function editJson(path, editFn, {
47
- skipIfMissing
48
- } = {}) {
46
+ async function editJson(path, editFn, options = {}) {
47
+ const {
48
+ skipIfMissing
49
+ } = options;
49
50
  if (skipIfMissing && !(0, import_node_fs.existsSync)(path)) {
50
51
  return;
51
52
  }
@@ -53,10 +54,11 @@ async function editJson(path, editFn, {
53
54
  await editFn(data);
54
55
  await writeJson(path, data);
55
56
  }
56
- function toJson(value, {
57
- shouldHandleFunctions = false,
58
- space = 2
59
- } = {}) {
57
+ function toJson(value, options = {}) {
58
+ const {
59
+ shouldHandleFunctions = false,
60
+ space = 2
61
+ } = options;
60
62
  if (!shouldHandleFunctions) {
61
63
  return JSON.stringify(value, null, space);
62
64
  }
@@ -80,4 +82,4 @@ function toJson(value, {
80
82
  toJson,
81
83
  writeJson
82
84
  });
83
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0pTT04udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBtb2R1bGUgSlNPTlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIEpTT04uXG4gKi9cblxuaW1wb3J0IHtcbiAgcmVhZEZpbGUsXG4gIHdyaXRlRmlsZVxufSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi9Bc3luYy50c1wiO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5cbi8qKlxuICogUmVhZHMgYSBKU09OIGZpbGUgYW5kIHBhcnNlcyBpdHMgY29udGVudHMgaW50byBhIEphdmFTY3JpcHQgb2JqZWN0IG9mIHR5cGUgYFRgLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgdG8gd2hpY2ggdGhlIEpTT04gY29udGVudCB3aWxsIGJlIHBhcnNlZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBKU09OIG9iamVjdCBvZiB0eXBlIGBUYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uPFQ+KHBhdGg6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShwYXRoLCBcInV0Zi04XCIpKSBhcyBUO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIEphdmFTY3JpcHQgb2JqZWN0IHRvIGEgSlNPTiBmaWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gd3JpdGUgdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlSnNvbihwYXRoOiBzdHJpbmcsIGRhdGE6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd3JpdGVGaWxlKHBhdGgsIHRvSnNvbihkYXRhKSArIFwiXFxuXCIpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIGEgSlNPTiBmaWxlIHVzaW5nIGEgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBkYXRhIHRvIGJlIGVkaXRlZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIEpTT04gZGF0YS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHBhcmFtIG9wdGlvbnMuc2tpcElmTWlzc2luZyAtIElmIHRydWUsIHNraXBzIGVkaXRpbmcgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRKc29uPFQ+KFxuICBwYXRoOiBzdHJpbmcsXG4gIGVkaXRGbjogKGRhdGE6IFQpID0+IE1heWJlUHJvbWlzZTx2b2lkPixcbiAge1xuICAgIHNraXBJZk1pc3NpbmdcbiAgfToge1xuICAgIHNraXBJZk1pc3Npbmc/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4gIH0gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoc2tpcElmTWlzc2luZyAmJiAhZXhpc3RzU3luYyhwYXRoKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVhZEpzb248VD4ocGF0aCk7XG4gIGF3YWl0IGVkaXRGbihkYXRhKTtcbiAgYXdhaXQgd3JpdGVKc29uKHBhdGgsIGRhdGEpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gdmFsdWUgdG8gYSBKU09OIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYmUgY29udmVydGVkIHRvIEpTT04uIFRoaXMgY2FuIGJlIG9mIGFueSB0eXBlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgSlNPTiBjb252ZXJzaW9uIHByb2Nlc3MuXG4gKiBAcGFyYW0gb3B0aW9ucy5zaG91bGRIYW5kbGVGdW5jdGlvbnMgLSBJZiBgdHJ1ZWAsIGZ1bmN0aW9ucyB3aXRoaW4gdGhlIHZhbHVlIHdpbGwgYmUgaGFuZGxlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIEpTT04gc3RyaW5nLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICogQHBhcmFtIG9wdGlvbnMuc3BhY2UgLSBTcGVjaWZpZXMgdGhlIGluZGVudGF0aW9uIG9mIHRoZSBKU09OIG91dHB1dC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2Ygc3BhY2VzIG9yIGEgc3RyaW5nLiBEZWZhdWx0cyB0byBgMmAuXG4gKlxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbihcbiAgdmFsdWU6IHVua25vd24sXG4gIHtcbiAgICBzaG91bGRIYW5kbGVGdW5jdGlvbnMgPSBmYWxzZSxcbiAgICBzcGFjZSA9IDJcbiAgfToge1xuICAgIHNob3VsZEhhbmRsZUZ1bmN0aW9ucz86IGJvb2xlYW5cbiAgICBzcGFjZT86IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZFxuICB9ID0ge30pOiBzdHJpbmcge1xuXG4gIGlmICghc2hvdWxkSGFuZGxlRnVuY3Rpb25zKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCBzcGFjZSk7XG4gIH1cblxuICBjb25zdCBmdW5jdGlvblRleHRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0IHJlcGxhY2VyID0gKF86IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gZnVuY3Rpb25UZXh0cy5sZW5ndGg7XG4gICAgICBmdW5jdGlvblRleHRzLnB1c2godmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICByZXR1cm4gYF9fRlVOQ1RJT05fJHtpbmRleH1gO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcblxuICBsZXQganNvbiA9IEpTT04uc3RyaW5naWZ5KHZhbHVlLCByZXBsYWNlciwgc3BhY2UpO1xuICBqc29uID0ganNvbi5yZXBsYWNlQWxsKC9cIl9fRlVOQ1RJT05fKFxcZCspXCIvZywgKF8sIGluZGV4U3RyOiBzdHJpbmcpID0+IGZ1bmN0aW9uVGV4dHNbcGFyc2VJbnQoaW5kZXhTdHIpXSBhcyBzdHJpbmcpO1xuICByZXR1cm4ganNvbjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUdPO0FBRVAscUJBQTJCO0FBaEIzQixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW9CQSxlQUFzQixTQUFZLE1BQTBCO0FBQzFELFNBQU8sS0FBSyxNQUFNLFVBQU0sMEJBQVMsTUFBTSxPQUFPLENBQUM7QUFDakQ7QUFTQSxlQUFzQixVQUFVLE1BQWMsTUFBOEI7QUFDMUUsWUFBTSwyQkFBVSxNQUFNLE9BQU8sSUFBSSxJQUFJLElBQUk7QUFDM0M7QUFZQSxlQUFzQixTQUNwQixNQUNBLFFBQ0E7QUFBQSxFQUNFO0FBQ0YsSUFFSSxDQUFDLEdBQWtCO0FBQ3ZCLE1BQUksaUJBQWlCLEtBQUMsMkJBQVcsSUFBSSxHQUFHO0FBQ3RDO0FBQUEsRUFDRjtBQUNBLFFBQU0sT0FBTyxNQUFNLFNBQVksSUFBSTtBQUNuQyxRQUFNLE9BQU8sSUFBSTtBQUNqQixRQUFNLFVBQVUsTUFBTSxJQUFJO0FBQzVCO0FBWU8sU0FBUyxPQUNkLE9BQ0E7QUFBQSxFQUNFLHdCQUF3QjtBQUFBLEVBQ3hCLFFBQVE7QUFDVixJQUdJLENBQUMsR0FBVztBQUVoQixNQUFJLENBQUMsdUJBQXVCO0FBQzFCLFdBQU8sS0FBSyxVQUFVLE9BQU8sTUFBTSxLQUFLO0FBQUEsRUFDMUM7QUFFQSxRQUFNLGdCQUEwQixDQUFDO0FBRWpDLFFBQU0sV0FBVyxDQUFDLEdBQVdBLFdBQTRCO0FBQ3ZELFFBQUksT0FBT0EsV0FBVSxZQUFZO0FBQy9CLFlBQU0sUUFBUSxjQUFjO0FBQzVCLG9CQUFjLEtBQUtBLE9BQU0sU0FBUyxDQUFDO0FBQ25DLGFBQU8sY0FBYyxLQUFLO0FBQUEsSUFDNUI7QUFFQSxXQUFPQTtBQUFBLEVBQ1Q7QUFFQSxNQUFJLE9BQU8sS0FBSyxVQUFVLE9BQU8sVUFBVSxLQUFLO0FBQ2hELFNBQU8sS0FBSyxXQUFXLHVCQUF1QixDQUFDLEdBQUcsYUFBcUIsY0FBYyxTQUFTLFFBQVEsQ0FBQyxDQUFXO0FBQ2xILFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFsidmFsdWUiXQp9Cg==
85
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0pTT04udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBKU09OXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgSlNPTi5cbiAqL1xuXG5pbXBvcnQge1xuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gXCIuL0FzeW5jLnRzXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuLyoqXG4gKiBSZWFkcyBhIEpTT04gZmlsZSBhbmQgcGFyc2VzIGl0cyBjb250ZW50cyBpbnRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgb2YgdHlwZSBgVGAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgdG8gd2hpY2ggdGhlIEpTT04gY29udGVudCB3aWxsIGJlIHBhcnNlZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBKU09OIG9iamVjdCBvZiB0eXBlIGBUYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uPFQ+KHBhdGg6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShwYXRoLCBcInV0Zi04XCIpKSBhcyBUO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIEphdmFTY3JpcHQgb2JqZWN0IHRvIGEgSlNPTiBmaWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gd3JpdGUgdG8gdGhlIEpTT04gZmlsZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlSnNvbihwYXRoOiBzdHJpbmcsIGRhdGE6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd3JpdGVGaWxlKHBhdGgsIHRvSnNvbihkYXRhKSArIFwiXFxuXCIpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGVkaXRpbmcgSlNPTi5cbiAqL1xudHlwZSBFZGl0SnNvbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBza2lwcyBlZGl0aW5nIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICAgKi9cbiAgc2tpcElmTWlzc2luZz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIGEgSlNPTiBmaWxlIHVzaW5nIGEgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgZGF0YSB0byBiZSBlZGl0ZWQuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUuXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBKU09OIGRhdGEuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdEpzb248VD4oXG4gIHBhdGg6IHN0cmluZyxcbiAgZWRpdEZuOiAoZGF0YTogVCkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0SnNvbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgc2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgaWYgKHNraXBJZk1pc3NpbmcgJiYgIWV4aXN0c1N5bmMocGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlYWRKc29uPFQ+KHBhdGgpO1xuICBhd2FpdCBlZGl0Rm4oZGF0YSk7XG4gIGF3YWl0IHdyaXRlSnNvbihwYXRoLCBkYXRhKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb252ZXJ0aW5nIGFuIG9iamVjdCB0byBKU09OLlxuICovXG50eXBlIFRvSnNvbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGZ1bmN0aW9ucyB3aXRoaW4gdGhlIHZhbHVlIHdpbGwgYmUgaGFuZGxlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIEpTT04gc3RyaW5nLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkSGFuZGxlRnVuY3Rpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaW5kZW50YXRpb24gb2YgdGhlIEpTT04gb3V0cHV0LiBUaGlzIGNhbiBiZSBhIG51bWJlciBvZiBzcGFjZXMgb3IgYSBzdHJpbmcuIERlZmF1bHRzIHRvIGAyYC5cbiAgICovXG4gIHNwYWNlPzogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHZhbHVlIHRvIGEgSlNPTiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCB0byBKU09OLiBUaGlzIGNhbiBiZSBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIEpTT04gY29udmVyc2lvbiBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbih2YWx1ZTogdW5rbm93biwgb3B0aW9uczogVG9Kc29uT3B0aW9ucyA9IHt9KTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIHNob3VsZEhhbmRsZUZ1bmN0aW9ucyA9IGZhbHNlLFxuICAgIHNwYWNlID0gMlxuICB9ID0gb3B0aW9ucztcbiAgaWYgKCFzaG91bGRIYW5kbGVGdW5jdGlvbnMpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIHNwYWNlKTtcbiAgfVxuXG4gIGNvbnN0IGZ1bmN0aW9uVGV4dHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgcmVwbGFjZXIgPSAoXzogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY29uc3QgaW5kZXggPSBmdW5jdGlvblRleHRzLmxlbmd0aDtcbiAgICAgIGZ1bmN0aW9uVGV4dHMucHVzaCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIHJldHVybiBgX19GVU5DVElPTl8ke2luZGV4fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xuXG4gIGxldCBqc29uID0gSlNPTi5zdHJpbmdpZnkodmFsdWUsIHJlcGxhY2VyLCBzcGFjZSk7XG4gIGpzb24gPSBqc29uLnJlcGxhY2VBbGwoL1wiX19GVU5DVElPTl8oXFxkKylcIi9nLCAoXywgaW5kZXhTdHI6IHN0cmluZykgPT4gZnVuY3Rpb25UZXh0c1twYXJzZUludChpbmRleFN0cildIGFzIHN0cmluZyk7XG4gIHJldHVybiBqc29uO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBR087QUFFUCxxQkFBMkI7QUFoQjNCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBb0JBLGVBQXNCLFNBQVksTUFBMEI7QUFDMUQsU0FBTyxLQUFLLE1BQU0sVUFBTSwwQkFBUyxNQUFNLE9BQU8sQ0FBQztBQUNqRDtBQVNBLGVBQXNCLFVBQVUsTUFBYyxNQUE4QjtBQUMxRSxZQUFNLDJCQUFVLE1BQU0sT0FBTyxJQUFJLElBQUksSUFBSTtBQUMzQztBQXFCQSxlQUFzQixTQUNwQixNQUNBLFFBQ0EsVUFBMkIsQ0FBQyxHQUFrQjtBQUM5QyxRQUFNO0FBQUEsSUFDSjtBQUFBLEVBQ0YsSUFBSTtBQUNKLE1BQUksaUJBQWlCLEtBQUMsMkJBQVcsSUFBSSxHQUFHO0FBQ3RDO0FBQUEsRUFDRjtBQUNBLFFBQU0sT0FBTyxNQUFNLFNBQVksSUFBSTtBQUNuQyxRQUFNLE9BQU8sSUFBSTtBQUNqQixRQUFNLFVBQVUsTUFBTSxJQUFJO0FBQzVCO0FBdUJPLFNBQVMsT0FBTyxPQUFnQixVQUF5QixDQUFDLEdBQVc7QUFDMUUsUUFBTTtBQUFBLElBQ0osd0JBQXdCO0FBQUEsSUFDeEIsUUFBUTtBQUFBLEVBQ1YsSUFBSTtBQUNKLE1BQUksQ0FBQyx1QkFBdUI7QUFDMUIsV0FBTyxLQUFLLFVBQVUsT0FBTyxNQUFNLEtBQUs7QUFBQSxFQUMxQztBQUVBLFFBQU0sZ0JBQTBCLENBQUM7QUFFakMsUUFBTSxXQUFXLENBQUMsR0FBV0EsV0FBNEI7QUFDdkQsUUFBSSxPQUFPQSxXQUFVLFlBQVk7QUFDL0IsWUFBTSxRQUFRLGNBQWM7QUFDNUIsb0JBQWMsS0FBS0EsT0FBTSxTQUFTLENBQUM7QUFDbkMsYUFBTyxjQUFjLEtBQUs7QUFBQSxJQUM1QjtBQUVBLFdBQU9BO0FBQUEsRUFDVDtBQUVBLE1BQUksT0FBTyxLQUFLLFVBQVUsT0FBTyxVQUFVLEtBQUs7QUFDaEQsU0FBTyxLQUFLLFdBQVcsdUJBQXVCLENBQUMsR0FBRyxhQUFxQixjQUFjLFNBQVMsUUFBUSxDQUFDLENBQVc7QUFDbEgsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJ2YWx1ZSJdCn0K
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @module JSON
2
+ * @packageDocumentation JSON
3
3
  * Contains utility functions for JSON.
4
4
  */
5
5
  import type { MaybePromise } from "./Async.ts";
6
6
  /**
7
7
  * Reads a JSON file and parses its contents into a JavaScript object of type `T`.
8
8
  *
9
- * @template T - The type to which the JSON content will be parsed.
9
+ * @typeParam T - The type to which the JSON content will be parsed.
10
10
  * @param path - The path to the JSON file.
11
11
  * @returns A promise that resolves with the parsed JSON object of type `T`.
12
12
  */
@@ -19,30 +19,44 @@ export declare function readJson<T>(path: string): Promise<T>;
19
19
  * @returns A promise that resolves when the file has been written.
20
20
  */
21
21
  export declare function writeJson(path: string, data: unknown): Promise<void>;
22
+ /**
23
+ * Options for editing JSON.
24
+ */
25
+ type EditJsonOptions = {
26
+ /**
27
+ * If true, skips editing if the file does not exist.
28
+ */
29
+ skipIfMissing?: boolean | undefined;
30
+ };
22
31
  /**
23
32
  * Reads, edits, and writes back a JSON file using a provided edit function.
24
33
  *
25
- * @template T - The type of the data to be edited.
34
+ * @typeParam T - The type of the data to be edited.
26
35
  * @param path - The path to the JSON file.
27
36
  * @param editFn - The function to edit the parsed JSON data.
28
37
  * @param options - Additional options for editing.
29
- * @param options.skipIfMissing - If true, skips editing if the file does not exist.
30
38
  * @returns A promise that resolves when the file has been edited and written.
31
39
  */
32
- export declare function editJson<T>(path: string, editFn: (data: T) => MaybePromise<void>, { skipIfMissing }?: {
33
- skipIfMissing?: boolean | undefined;
34
- }): Promise<void>;
40
+ export declare function editJson<T>(path: string, editFn: (data: T) => MaybePromise<void>, options?: EditJsonOptions): Promise<void>;
41
+ /**
42
+ * Options for converting an object to JSON.
43
+ */
44
+ type ToJsonOptions = {
45
+ /**
46
+ * If `true`, functions within the value will be handled and included in the JSON string. Defaults to `false`.
47
+ */
48
+ shouldHandleFunctions?: boolean;
49
+ /**
50
+ * Specifies the indentation of the JSON output. This can be a number of spaces or a string. Defaults to `2`.
51
+ */
52
+ space?: string | number | undefined;
53
+ };
35
54
  /**
36
55
  * Converts a given value to a JSON string.
37
56
  *
38
57
  * @param value - The value to be converted to JSON. This can be of any type.
39
58
  * @param options - Options for customizing the JSON conversion process.
40
- * @param options.shouldHandleFunctions - If `true`, functions within the value will be handled and included in the JSON string. Defaults to `false`.
41
- * @param options.space - Specifies the indentation of the JSON output. This can be a number of spaces or a string. Defaults to `2`.
42
- *
43
59
  * @returns The JSON string representation of the input value.
44
60
  */
45
- export declare function toJson(value: unknown, { shouldHandleFunctions, space }?: {
46
- shouldHandleFunctions?: boolean;
47
- space?: string | number | undefined;
48
- }): string;
61
+ export declare function toJson(value: unknown, options?: ToJsonOptions): string;
62
+ export {};
package/dist/lib/Npm.cjs CHANGED
@@ -48,10 +48,11 @@ async function readNpmPackage(cwd) {
48
48
  async function writeNpmPackage(npmPackage, cwd) {
49
49
  await (0, import_JSON.writeJson)(getPackageJsonPath(cwd), npmPackage);
50
50
  }
51
- async function editNpmPackage(editFn, {
52
- cwd,
53
- skipIfMissing
54
- } = {}) {
51
+ async function editNpmPackage(editFn, options = {}) {
52
+ const {
53
+ cwd,
54
+ skipIfMissing
55
+ } = options;
55
56
  await (0, import_JSON.editJson)(getPackageJsonPath(cwd), editFn, { skipIfMissing });
56
57
  }
57
58
  async function readNpmPackageLock(cwd) {
@@ -60,10 +61,11 @@ async function readNpmPackageLock(cwd) {
60
61
  async function writeNpmPackageLock(npmPackage, cwd) {
61
62
  await (0, import_JSON.writeJson)(getPackageLockJsonPath(cwd), npmPackage);
62
63
  }
63
- async function editNpmPackageLock(editFn, {
64
- cwd,
65
- skipIfMissing
66
- } = {}) {
64
+ async function editNpmPackageLock(editFn, options = {}) {
65
+ const {
66
+ cwd,
67
+ skipIfMissing
68
+ } = options;
67
69
  await (0, import_JSON.editJson)(getPackageLockJsonPath(cwd), editFn, { skipIfMissing });
68
70
  }
69
71
  function getPackageJsonPath(cwd) {
@@ -83,4 +85,4 @@ function getPackageLockJsonPath(cwd) {
83
85
  writeNpmPackage,
84
86
  writeNpmPackageLock
85
87
  });
86
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQG1vZHVsZSBOcG1cbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBOUE0gcGFja2FnZS5qc29uLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSBcIi4vQXN5bmMudHNcIjtcbmltcG9ydCB7XG4gIGVkaXRKc29uLFxuICByZWFkSnNvbixcbiAgd3JpdGVKc29uXG59IGZyb20gXCIuL0pTT04udHNcIjtcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSBcIi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzXCI7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSBcIi4vUm9vdC50c1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHN0cnVjdHVyZSBvZiBhbiBgTnBtUGFja2FnZWAgYXMgZGVmaW5lZCBpbiBhIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTnBtUGFja2FnZSB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZSdzIGRlcGVuZGVuY2llcywgd2hlcmUgdGhlIGtleSBpcyB0aGUgcGFja2FnZSBuYW1lXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIHZlcnNpb24gcmVxdWlyZWQuXG4gICAqL1xuICBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZSdzIGRldmVsb3BtZW50IGRlcGVuZGVuY2llcywgd2hlcmUgdGhlIGtleSBpcyB0aGUgcGFja2FnZSBuYW1lXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIHZlcnNpb24gcmVxdWlyZWQuXG4gICAqL1xuICBkZXZEZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBwYWNrYWdlJ3MgZXhwb3J0IG1hcHBpbmdzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBleHBvcnQgbmFtZVxuICAgKiBhbmQgdGhlIHZhbHVlIGlzIHRoZSBleHBvcnQgZGV0YWlscy5cbiAgICovXG4gIGV4cG9ydHM/OiBSZWNvcmQ8c3RyaW5nLCBFeHBvcnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICBwYWNrYWdlcz86IFJlY29yZDxzdHJpbmcsIE5wbVBhY2thZ2U+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBleHBvcnQgZGV0YWlscyBpbiB0aGUgYGV4cG9ydHNgIGZpZWxkIG9mIGEgYHBhY2thZ2UuanNvbmAgZmlsZS5cbiAqL1xuaW50ZXJmYWNlIEV4cG9ydCB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBleHBvcnQgcGF0aCBmb3IgdGhlIHBhY2thZ2UuXG4gICAqL1xuICBkZWZhdWx0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSB0eXBlcyBmaWxlIGZvciB0aGUgcGFja2FnZS5cbiAgICovXG4gIHR5cGVzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBmcm9tIHRoZSByb290IGlmIG5vIGRpcmVjdG9yeSBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYE5wbVBhY2thZ2VgIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWROcG1QYWNrYWdlKGN3ZD86IHN0cmluZyk6IFByb21pc2U8TnBtUGFja2FnZT4ge1xuICByZXR1cm4gYXdhaXQgcmVhZEpzb248TnBtUGFja2FnZT4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYE5wbVBhY2thZ2VgIG9iamVjdCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gbnBtUGFja2FnZSAtIFRoZSBgTnBtUGFja2FnZWAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZU5wbVBhY2thZ2UobnBtUGFja2FnZTogTnBtUGFja2FnZSwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgbnBtUGFja2FnZSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYE5wbVBhY2thZ2VgIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHBhcmFtIG9wdGlvbnMuY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEBwYXJhbSBvcHRpb25zLnNraXBJZk1pc3NpbmcgLSBJZiB0cnVlLCBza2lwcyBlZGl0aW5nIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TnBtUGFja2FnZShcbiAgZWRpdEZuOiAobnBtUGFja2FnZTogTnBtUGFja2FnZSkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+LFxuICB7XG4gICAgY3dkLFxuICAgIHNraXBJZk1pc3NpbmdcbiAgfToge1xuICAgIGN3ZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBza2lwSWZNaXNzaW5nPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuICB9ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWRpdEpzb248TnBtUGFja2FnZT4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIGVkaXRGbiwgeyBza2lwSWZNaXNzaW5nIH0pO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBmcm9tIHRoZSByb290IGlmIG5vIGRpcmVjdG9yeSBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgTnBtUGFja2FnZWAgb2JqZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE5wbVBhY2thZ2VMb2NrKGN3ZD86IHN0cmluZyk6IFByb21pc2U8TnBtUGFja2FnZT4ge1xuICByZXR1cm4gYXdhaXQgcmVhZEpzb248TnBtUGFja2FnZT4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBOcG1QYWNrYWdlYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gbnBtUGFja2FnZSAtIFRoZSBgTnBtUGFja2FnZWAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlTnBtUGFja2FnZUxvY2sobnBtUGFja2FnZTogTnBtUGFja2FnZSwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIG5wbVBhY2thZ2UpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYE5wbVBhY2thZ2VgIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHBhcmFtIG9wdGlvbnMuY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHBhcmFtIG9wdGlvbnMuc2tpcElmTWlzc2luZyAtIElmIHRydWUsIHNraXBzIGVkaXRpbmcgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXROcG1QYWNrYWdlTG9jayhcbiAgZWRpdEZuOiAobnBtUGFja2FnZTogTnBtUGFja2FnZSkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+LFxuICB7XG4gICAgY3dkLFxuICAgIHNraXBJZk1pc3NpbmdcbiAgfToge1xuICAgIGN3ZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBza2lwSWZNaXNzaW5nPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuICB9ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZWRpdEpzb248TnBtUGFja2FnZT4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBlZGl0Rm4sIHsgc2tpcElmTWlzc2luZyB9KTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdCBpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sIGN3ZCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdCBpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgcGF0aCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZVBhdGhGcm9tUm9vdChPYnNpZGlhblBsdWdpblJlcG9QYXRocy5QYWNrYWdlTG9ja0pzb24sIGN3ZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLGtCQUlPO0FBQ1AscUNBQXdDO0FBQ3hDLGtCQUFvQztBQWxCcEMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF1RUEsZUFBc0IsZUFBZSxLQUFtQztBQUN0RSxTQUFPLFVBQU0sc0JBQXFCLG1CQUFtQixHQUFHLENBQUM7QUFDM0Q7QUFTQSxlQUFzQixnQkFBZ0IsWUFBd0IsS0FBNkI7QUFDekYsWUFBTSx1QkFBVSxtQkFBbUIsR0FBRyxHQUFHLFVBQVU7QUFDckQ7QUFXQSxlQUFzQixlQUNwQixRQUNBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFDRixJQUdJLENBQUMsR0FBa0I7QUFDdkIsWUFBTSxzQkFBcUIsbUJBQW1CLEdBQUcsR0FBRyxRQUFRLEVBQUUsY0FBYyxDQUFDO0FBQy9FO0FBUUEsZUFBc0IsbUJBQW1CLEtBQW1DO0FBQzFFLFNBQU8sVUFBTSxzQkFBcUIsdUJBQXVCLEdBQUcsQ0FBQztBQUMvRDtBQVNBLGVBQXNCLG9CQUFvQixZQUF3QixLQUE2QjtBQUM3RixZQUFNLHVCQUFVLHVCQUF1QixHQUFHLEdBQUcsVUFBVTtBQUN6RDtBQVdBLGVBQXNCLG1CQUNwQixRQUNBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFDRixJQUdJLENBQUMsR0FBa0I7QUFDdkIsWUFBTSxzQkFBcUIsdUJBQXVCLEdBQUcsR0FBRyxRQUFRLEVBQUUsY0FBYyxDQUFDO0FBQ25GO0FBUU8sU0FBUyxtQkFBbUIsS0FBc0I7QUFDdkQsYUFBTyxpQ0FBb0IsdURBQXdCLGFBQWEsR0FBRztBQUNyRTtBQVFPLFNBQVMsdUJBQXVCLEtBQXNCO0FBQzNELGFBQU8saUNBQW9CLHVEQUF3QixpQkFBaUIsR0FBRztBQUN6RTsiLAogICJuYW1lcyI6IFtdCn0K
88
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE5wbVxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIE5QTSBwYWNrYWdlLmpzb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi9Bc3luYy50c1wiO1xuaW1wb3J0IHtcbiAgZWRpdEpzb24sXG4gIHJlYWRKc29uLFxuICB3cml0ZUpzb25cbn0gZnJvbSBcIi4vSlNPTi50c1wiO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tIFwiLi9vYnNpZGlhbi9QbHVnaW4vT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMudHNcIjtcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tIFwiLi9Sb290LnRzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgc3RydWN0dXJlIG9mIGFuIGBOcG1QYWNrYWdlYCBhcyBkZWZpbmVkIGluIGEgYHBhY2thZ2UuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOcG1QYWNrYWdlIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBwYWNrYWdlJ3MgZGVwZW5kZW5jaWVzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBwYWNrYWdlIG5hbWVcbiAgICogYW5kIHRoZSB2YWx1ZSBpcyB0aGUgdmVyc2lvbiByZXF1aXJlZC5cbiAgICovXG4gIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBwYWNrYWdlJ3MgZGV2ZWxvcG1lbnQgZGVwZW5kZW5jaWVzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBwYWNrYWdlIG5hbWVcbiAgICogYW5kIHRoZSB2YWx1ZSBpcyB0aGUgdmVyc2lvbiByZXF1aXJlZC5cbiAgICovXG4gIGRldkRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIG9iamVjdCB0aGF0IGRlZmluZXMgdGhlIHBhY2thZ2UncyBleHBvcnQgbWFwcGluZ3MsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGV4cG9ydCBuYW1lXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIGV4cG9ydCBkZXRhaWxzLlxuICAgKi9cbiAgZXhwb3J0cz86IFJlY29yZDxzdHJpbmcsIEV4cG9ydD47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZSdzIHBlZXIgZGVwZW5kZW5jaWVzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBwYWNrYWdlIG5hbWVcbiAgICovXG4gIHBhY2thZ2VzPzogUmVjb3JkPHN0cmluZywgTnBtUGFja2FnZT47XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGV4cG9ydCBkZXRhaWxzIGluIHRoZSBgZXhwb3J0c2AgZmllbGQgb2YgYSBgcGFja2FnZS5qc29uYCBmaWxlLlxuICovXG5pbnRlcmZhY2UgRXhwb3J0IHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGV4cG9ydCBwYXRoIGZvciB0aGUgcGFja2FnZS5cbiAgICovXG4gIGRlZmF1bHQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggdG8gdGhlIHR5cGVzIGZpbGUgZm9yIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgdHlwZXM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZGlyZWN0b3J5IGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgTnBtUGFja2FnZWAgb2JqZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE5wbVBhY2thZ2UoY3dkPzogc3RyaW5nKTogUHJvbWlzZTxOcG1QYWNrYWdlPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxOcG1QYWNrYWdlPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgTnBtUGFja2FnZWAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBucG1QYWNrYWdlIC0gVGhlIGBOcG1QYWNrYWdlYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlTnBtUGFja2FnZShucG1QYWNrYWdlOiBOcG1QYWNrYWdlLCBjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd3JpdGVKc29uKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBucG1QYWNrYWdlKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBlZGl0aW5nIGFuIE5QTSBwYWNrYWdlLlxuICovXG50eXBlIEVkaXROcG1QYWNrYWdlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gICAqL1xuICBjd2Q/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNraXBzIGVkaXRpbmcgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gICAqL1xuICBza2lwSWZNaXNzaW5nPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYE5wbVBhY2thZ2VgIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TnBtUGFja2FnZShcbiAgZWRpdEZuOiAobnBtUGFja2FnZTogTnBtUGFja2FnZSkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+LCBvcHRpb25zOiBFZGl0TnBtUGFja2FnZU9wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPE5wbVBhY2thZ2U+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBlZGl0Rm4sIHsgc2tpcElmTWlzc2luZyB9KTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBkaXJlY3Rvcnkgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYE5wbVBhY2thZ2VgIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWROcG1QYWNrYWdlTG9jayhjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPE5wbVBhY2thZ2U+IHtcbiAgcmV0dXJuIGF3YWl0IHJlYWRKc29uPE5wbVBhY2thZ2U+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgTnBtUGFja2FnZWAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBkaXJlY3Rvcnkgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIG5wbVBhY2thZ2UgLSBUaGUgYE5wbVBhY2thZ2VgIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZU5wbVBhY2thZ2VMb2NrKG5wbVBhY2thZ2U6IE5wbVBhY2thZ2UsIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBucG1QYWNrYWdlKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBOcG1QYWNrYWdlYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdE5wbVBhY2thZ2VMb2NrKFxuICBlZGl0Rm46IChucG1QYWNrYWdlOiBOcG1QYWNrYWdlKSA9PiBNYXliZVByb21pc2U8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXROcG1QYWNrYWdlT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248TnBtUGFja2FnZT4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBlZGl0Rm4sIHsgc2tpcElmTWlzc2luZyB9KTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdCBpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sIGN3ZCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBvciBpbiB0aGUgcm9vdCBpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgcGF0aCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZVBhdGhGcm9tUm9vdChPYnNpZGlhblBsdWdpblJlcG9QYXRocy5QYWNrYWdlTG9ja0pzb24sIGN3ZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLGtCQUlPO0FBQ1AscUNBQXdDO0FBQ3hDLGtCQUFvQztBQWxCcEMsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUEwRUEsZUFBc0IsZUFBZSxLQUFtQztBQUN0RSxTQUFPLFVBQU0sc0JBQXFCLG1CQUFtQixHQUFHLENBQUM7QUFDM0Q7QUFTQSxlQUFzQixnQkFBZ0IsWUFBd0IsS0FBNkI7QUFDekYsWUFBTSx1QkFBVSxtQkFBbUIsR0FBRyxHQUFHLFVBQVU7QUFDckQ7QUF3QkEsZUFBc0IsZUFDcEIsUUFBd0QsVUFBaUMsQ0FBQyxHQUFrQjtBQUM1RyxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixZQUFNLHNCQUFxQixtQkFBbUIsR0FBRyxHQUFHLFFBQVEsRUFBRSxjQUFjLENBQUM7QUFDL0U7QUFRQSxlQUFzQixtQkFBbUIsS0FBbUM7QUFDMUUsU0FBTyxVQUFNLHNCQUFxQix1QkFBdUIsR0FBRyxDQUFDO0FBQy9EO0FBU0EsZUFBc0Isb0JBQW9CLFlBQXdCLEtBQTZCO0FBQzdGLFlBQU0sdUJBQVUsdUJBQXVCLEdBQUcsR0FBRyxVQUFVO0FBQ3pEO0FBU0EsZUFBc0IsbUJBQ3BCLFFBQ0EsVUFBaUMsQ0FBQyxHQUFrQjtBQUNwRCxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixZQUFNLHNCQUFxQix1QkFBdUIsR0FBRyxHQUFHLFFBQVEsRUFBRSxjQUFjLENBQUM7QUFDbkY7QUFRTyxTQUFTLG1CQUFtQixLQUFzQjtBQUN2RCxhQUFPLGlDQUFvQix1REFBd0IsYUFBYSxHQUFHO0FBQ3JFO0FBUU8sU0FBUyx1QkFBdUIsS0FBc0I7QUFDM0QsYUFBTyxpQ0FBb0IsdURBQXdCLGlCQUFpQixHQUFHO0FBQ3pFOyIsCiAgIm5hbWVzIjogW10KfQo=