obsidian-dev-utils 16.4.3 → 16.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/lib/@types.cjs +4 -2
  3. package/dist/lib/Async.cjs +4 -2
  4. package/dist/lib/Blob.cjs +4 -2
  5. package/dist/lib/CssClass.cjs +4 -2
  6. package/dist/lib/Debug.cjs +4 -2
  7. package/dist/lib/DebugController.cjs +4 -2
  8. package/dist/lib/Error.cjs +4 -2
  9. package/dist/lib/Function.cjs +4 -2
  10. package/dist/lib/HTMLElement.cjs +4 -2
  11. package/dist/lib/Library.cjs +5 -3
  12. package/dist/lib/Object.cjs +4 -8
  13. package/dist/lib/Path.cjs +4 -2
  14. package/dist/lib/RegExp.cjs +4 -2
  15. package/dist/lib/String.cjs +4 -2
  16. package/dist/lib/ValueProvider.cjs +4 -2
  17. package/dist/lib/index.cjs +4 -2
  18. package/dist/lib/obsidian/App.cjs +4 -2
  19. package/dist/lib/obsidian/AttachmentPath.cjs +4 -2
  20. package/dist/lib/obsidian/Backlink.cjs +4 -2
  21. package/dist/lib/obsidian/Callout.cjs +4 -2
  22. package/dist/lib/obsidian/Dataview.cjs +4 -2
  23. package/dist/lib/obsidian/DataviewLink.cjs +4 -2
  24. package/dist/lib/obsidian/FileChange.cjs +4 -8
  25. package/dist/lib/obsidian/FileManager.cjs +4 -8
  26. package/dist/lib/obsidian/FileSystem.cjs +4 -2
  27. package/dist/lib/obsidian/Frontmatter.cjs +4 -8
  28. package/dist/lib/obsidian/Link.cjs +4 -8
  29. package/dist/lib/obsidian/Logger.cjs +4 -2
  30. package/dist/lib/obsidian/Loop.cjs +4 -8
  31. package/dist/lib/obsidian/Markdown.cjs +4 -8
  32. package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +4 -8
  33. package/dist/lib/obsidian/MarkdownView.cjs +4 -2
  34. package/dist/lib/obsidian/MetadataCache.cjs +4 -8
  35. package/dist/lib/obsidian/Modal/Alert.cjs +4 -2
  36. package/dist/lib/obsidian/Modal/Confirm.cjs +4 -2
  37. package/dist/lib/obsidian/Modal/Prompt.cjs +4 -2
  38. package/dist/lib/obsidian/Modal/SelectItem.cjs +4 -2
  39. package/dist/lib/obsidian/Modal/index.cjs +4 -2
  40. package/dist/lib/obsidian/ObsidianSettings.cjs +4 -2
  41. package/dist/lib/obsidian/Pdf.cjs +4 -2
  42. package/dist/lib/obsidian/Plugin/EmptySettings.cjs +4 -2
  43. package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +4 -2
  44. package/dist/lib/obsidian/Plugin/Plugin.cjs +4 -2
  45. package/dist/lib/obsidian/Plugin/PluginBase.cjs +4 -8
  46. package/dist/lib/obsidian/Plugin/PluginContext.cjs +4 -2
  47. package/dist/lib/obsidian/Plugin/PluginId.cjs +4 -2
  48. package/dist/lib/obsidian/Plugin/PluginSettingsBase.cjs +4 -2
  49. package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +4 -2
  50. package/dist/lib/obsidian/Plugin/ValueComponent.cjs +4 -2
  51. package/dist/lib/obsidian/Plugin/index.cjs +4 -2
  52. package/dist/lib/obsidian/Queue.cjs +4 -8
  53. package/dist/lib/obsidian/Reference.cjs +4 -2
  54. package/dist/lib/obsidian/RenameDeleteHandler.cjs +4 -2
  55. package/dist/lib/obsidian/ResourceUrl.cjs +4 -2
  56. package/dist/lib/obsidian/Vault.cjs +4 -8
  57. package/dist/lib/obsidian/VaultEx.cjs +4 -2
  58. package/dist/lib/obsidian/index.cjs +4 -2
  59. package/dist/lib/scripts/CliUtils.cjs +4 -8
  60. package/dist/lib/scripts/CodeGenerator.cjs +4 -2
  61. package/dist/lib/scripts/ESLint/ESLint.cjs +4 -2
  62. package/dist/lib/scripts/ESLint/eslint.config.cjs +13 -2
  63. package/dist/lib/scripts/ESLint/index.cjs +4 -2
  64. package/dist/lib/scripts/Exec.cjs +4 -8
  65. package/dist/lib/scripts/Fs.cjs +4 -2
  66. package/dist/lib/scripts/JSON.cjs +4 -2
  67. package/dist/lib/scripts/NodeModules.cjs +4 -8
  68. package/dist/lib/scripts/Npm.cjs +4 -2
  69. package/dist/lib/scripts/NpmPublish.cjs +4 -8
  70. package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +4 -8
  71. package/dist/lib/scripts/Root.cjs +6 -10
  72. package/dist/lib/scripts/build.cjs +4 -8
  73. package/dist/lib/scripts/cli.cjs +4 -8
  74. package/dist/lib/scripts/esbuild/Dependency.cjs +4 -8
  75. package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +4 -8
  76. package/dist/lib/scripts/esbuild/copyToObsidianPluginsFolderPlugin.cjs +4 -2
  77. package/dist/lib/scripts/esbuild/fixEsmPlugin.cjs +4 -2
  78. package/dist/lib/scripts/esbuild/fixSourceMapsPlugin.cjs +4 -2
  79. package/dist/lib/scripts/esbuild/index.cjs +4 -8
  80. package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +34 -18
  81. package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +4 -8
  82. package/dist/lib/scripts/esbuild/watchCssChangesPlugin.cjs +4 -2
  83. package/dist/lib/scripts/format.cjs +4 -2
  84. package/dist/lib/scripts/index.cjs +4 -2
  85. package/dist/lib/scripts/spellcheck.cjs +4 -2
  86. package/dist/lib/scripts/version.cjs +7 -11
  87. package/dist/lib/url.cjs +4 -2
  88. package/package.json +3 -3
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -33,20 +35,8 @@ module.exports = __toCommonJS(preprocessPlugin_exports);
33
35
  var import_Object = require('../../Object.cjs');
34
36
  var import_String = require('../../String.cjs');
35
37
  var import_NodeModules = require('../NodeModules.cjs');
36
- var __process = globalThis["process"] ?? {
37
- "browser": true,
38
- "cwd": () => "/",
39
- "env": {},
40
- "platform": "android"
41
- };
42
38
  function preprocessPlugin() {
43
39
  const replacements = {
44
- process: {
45
- browser: true,
46
- cwd: () => "/",
47
- env: {},
48
- platform: "android"
49
- },
50
40
  [(0, import_String.replaceAll)("import(dot)meta(dot)url", "(dot)", ".")]: () => {
51
41
  if (typeof __filename === "string") {
52
42
  const url = require('node:url');
@@ -72,6 +62,9 @@ ${__extractDefault.toString()}
72
62
  `;
73
63
  build.initialOptions.banner["js"] += `
74
64
  (${patchRequireEsmDefault.toString()})()
65
+ `;
66
+ build.initialOptions.banner["js"] += `
67
+ (${patchProcess.toString()})()
75
68
  `;
76
69
  build.onLoad({ filter: /\.(js|ts|cjs|mjs|cts|mts)$/ }, async (args) => {
77
70
  let contents = await (0, import_NodeModules.readFile)(args.path, "utf-8");
@@ -99,15 +92,38 @@ ${__extractDefault.toString()}
99
92
  return module2 && module2.__esModule && module2.default ? module2.default : module2;
100
93
  }
101
94
  function patchRequireEsmDefault() {
95
+ if (require.__patched) {
96
+ return;
97
+ }
102
98
  const __require = require;
103
- require = Object.assign((id) => {
104
- const module2 = __require(id) ?? {};
105
- return __extractDefault(module2);
106
- }, __require);
99
+ require = Object.assign(requirePatched, __require, { __patched: true });
100
+ function requirePatched(id) {
101
+ const module2 = __require(id);
102
+ if (module2) {
103
+ return __extractDefault(module2);
104
+ }
105
+ if (id === "process" || id === "node:process") {
106
+ console.error(`Module not found: ${id}. Fake process object is returned instead.`);
107
+ return globalThis.process;
108
+ }
109
+ console.error(`Module not found: ${id}. Empty object is returned instead.`);
110
+ return {};
111
+ }
107
112
  }
108
113
  }
114
+ function patchProcess() {
115
+ if (globalThis.process) {
116
+ return;
117
+ }
118
+ globalThis.process = {
119
+ browser: true,
120
+ cwd: () => "/",
121
+ env: {},
122
+ platform: "android"
123
+ };
124
+ }
109
125
  // Annotate the CommonJS export names for ESM import in node:
110
126
  0 && (module.exports = {
111
127
  preprocessPlugin
112
128
  });
113
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9wcmVwcm9jZXNzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBwcmVwcm9jZXNzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQge1xuICBwcm9jZXNzLFxuICByZWFkRmlsZVxufSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbmludGVyZmFjZSBFc21Nb2R1bGUge1xuICBfX2VzTW9kdWxlOiBib29sZWFuO1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG50eXBlIFByb2Nlc3NFeCA9IHtcbiAgYnJvd3NlcjogYm9vbGVhbjtcbn0gJiB0eXBlb2YgcHJvY2VzcztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCByZXBsYWNlbWVudHMgPSB7XG4gICAgcHJvY2Vzczoge1xuICAgICAgYnJvd3NlcjogdHJ1ZSxcbiAgICAgIGN3ZDogKCkgPT4gJy8nLFxuICAgICAgZW52OiB7fSxcbiAgICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgICB9IGFzIFByb2Nlc3NFeCxcbiAgICBbcmVwbGFjZUFsbCgnaW1wb3J0KGRvdCltZXRhKGRvdCl1cmwnLCAnKGRvdCknLCAnLicpXTogKCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgICBjb25zdCB1cmwgPSByZXF1aXJlKCdub2RlOnVybCcpIGFzIHR5cGVvZiBpbXBvcnQoJ25vZGU6dXJsJyk7XG4gICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgICAgfVxuXG4gICAgICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncHJlcHJvY2VzcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZSA/Pz0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lW2tleV0gPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICB9XG5cbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lciA/Pz0ge307XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gPz89ICcnO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9ICdcXG4nICsgYCR7X19leHRyYWN0RGVmYXVsdC50b1N0cmluZygpfVxcbmA7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gKz0gJ1xcbicgKyBgKCR7cGF0Y2hSZXF1aXJlRXNtRGVmYXVsdC50b1N0cmluZygpfSkoKVxcbmA7XG5cbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogL1xcLihqc3x0c3xjanN8bWpzfGN0c3xtdHMpJC8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCAndXRmLTgnKTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGUgPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICAgICAgaWYgKCFjb250ZW50cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5GdWxsIH0pO1xuICAgICAgICAgIGlmIChjb250ZW50cy5pbmNsdWRlcyhgdmFyICR7dmFyaWFibGV9YCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZW50cyA9IGB2YXIgJHt2YXJpYWJsZX0gPSBnbG9iYWxUaGlzWycke2tleX0nXSA/PyAke3ZhbHVlU3RyfTtcXG5gICsgY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIQUNLOiBUaGUgJHsnJ30gcGFydCBpcyB1c2VkIHRvIGVuc3VyZSBPYnNpZGlhbiBsb2FkcyB0aGUgcGx1Z2luIHByb3Blcmx5LFxuICAgICAgICAvLyBvdGhlcndpc2UsIGl0IHN0b3BzIGxvYWRpbmcgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNvdXJjZU1hcHBpbmdVUkwgY29tbWVudC5cbiAgICAgICAgY29udGVudHMgPSByZXBsYWNlQWxsKGNvbnRlbnRzLCAvYFxccj9cXG5cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkwvZywgJ2BcXG4vLyMke1xcJ1xcJ30gc291cmNlTWFwcGluZ1VSTCcpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudHMsXG4gICAgICAgICAgbG9hZGVyOiAndHMnXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gX19leHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhdGNoUmVxdWlyZUVzbURlZmF1bHQoKTogdm9pZCB7XG4gICAgY29uc3QgX19yZXF1aXJlID0gcmVxdWlyZTtcbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbigoaWQ6IHN0cmluZyk6IHVua25vd24gPT4ge1xuICAgICAgY29uc3QgbW9kdWxlID0gX19yZXF1aXJlKGlkKSBhcyAoUGFydGlhbDxFc21Nb2R1bGU+IHwgdW5kZWZpbmVkKSA/PyB7fTtcbiAgICAgIHJldHVybiBfX2V4dHJhY3REZWZhdWx0KG1vZHVsZSk7XG4gICAgfSwgX19yZXF1aXJlKSBhcyBOb2RlSlMuUmVxdWlyZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSxvQkFHTztBQUNQLG9CQUdPO0FBQ1AseUJBR087QUE5QlAsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQThDTyxTQUFTLG1CQUEyQjtBQUN6QyxRQUFNLGVBQWU7QUFBQSxJQUNuQixTQUFTO0FBQUEsTUFDUCxTQUFTO0FBQUEsTUFDVCxLQUFLLE1BQU07QUFBQSxNQUNYLEtBQUssQ0FBQztBQUFBLE1BQ04sVUFBVTtBQUFBLElBQ1o7QUFBQSxJQUNBLEtBQUMsMEJBQVcsMkJBQTJCLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBYztBQUNuRSxVQUFJLE9BQU8sZUFBZSxVQUFVO0FBRWxDLGNBQU0sTUFBTSxRQUFRLFVBQVU7QUFDOUIsZUFBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsTUFDdkM7QUFFQSxVQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLGVBQU8sT0FBTyxTQUFTO0FBQUEsTUFDekI7QUFHQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUVqQyxpQkFBVyxPQUFPLE9BQU8sS0FBSyxZQUFZLEdBQUc7QUFDM0MsY0FBTSxlQUFlLE9BQU8sR0FBRyxJQUFJLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUFBLE1BQ3BFO0FBRUEsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUNqQyxZQUFNLGVBQWUsT0FBTyxJQUFJLE1BQU07QUFDdEMsWUFBTSxlQUFlLE9BQU8sSUFBSSxLQUFLO0FBQUEsRUFBVSxpQkFBaUIsU0FBUyxDQUFDO0FBQUE7QUFDMUUsWUFBTSxlQUFlLE9BQU8sSUFBSSxLQUFLO0FBQUEsR0FBVyx1QkFBdUIsU0FBUyxDQUFDO0FBQUE7QUFFakYsWUFBTSxPQUFPLEVBQUUsUUFBUSw2QkFBNkIsR0FBRyxPQUFPLFNBQVM7QUFDckUsWUFBSSxXQUFXLFVBQU0sNkJBQVMsS0FBSyxNQUFNLE9BQU87QUFFaEQsbUJBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxPQUFPLFFBQVEsWUFBWSxHQUFHO0FBQ3ZELGdCQUFNLFdBQVcsU0FBSyxxQ0FBc0IsR0FBRyxDQUFDO0FBQ2hELGNBQUksQ0FBQyxTQUFTLFNBQVMsR0FBRyxHQUFHO0FBQzNCO0FBQUEsVUFDRjtBQUNBLGdCQUFNLFdBQVcsT0FBTyxVQUFVLGFBQWEsSUFBSSxNQUFNLFNBQVMsQ0FBQyxZQUFRLHNCQUFPLE9BQU8sRUFBRSxzQkFBc0IsbUNBQXFCLEtBQUssQ0FBQztBQUM1SSxjQUFJLFNBQVMsU0FBUyxPQUFPLFFBQVEsRUFBRSxHQUFHO0FBQ3hDO0FBQUEsVUFDRjtBQUNBLHFCQUFXLE9BQU8sUUFBUSxrQkFBa0IsR0FBRyxTQUFTLFFBQVE7QUFBQSxJQUFRO0FBQUEsUUFDMUU7QUFJQSx1QkFBVywwQkFBVyxVQUFVLGlDQUFpQyw4QkFBZ0M7QUFFakcsZUFBTztBQUFBLFVBQ0w7QUFBQSxVQUNBLFFBQVE7QUFBQSxRQUNWO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFFQSxXQUFTLGlCQUFpQkEsU0FBaUQ7QUFDekUsV0FBT0EsV0FBVUEsUUFBTyxjQUFjQSxRQUFPLFVBQVVBLFFBQU8sVUFBVUE7QUFBQSxFQUMxRTtBQUVBLFdBQVMseUJBQStCO0FBQ3RDLFVBQU0sWUFBWTtBQUNsQixjQUFVLE9BQU8sT0FBTyxDQUFDLE9BQXdCO0FBQy9DLFlBQU1BLFVBQVMsVUFBVSxFQUFFLEtBQXlDLENBQUM7QUFDckUsYUFBTyxpQkFBaUJBLE9BQU07QUFBQSxJQUNoQyxHQUFHLFNBQVM7QUFBQSxFQUNkO0FBQ0Y7IiwKICAibmFtZXMiOiBbIm1vZHVsZSJdCn0K
129
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9wcmVwcm9jZXNzUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBwcmVwcm9jZXNzUGx1Z2luXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbnR5cGUgUHJvY2Vzc0V4ID0ge1xuICBicm93c2VyOiBib29sZWFuO1xufSAmIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+O1xuXG5pbnRlcmZhY2UgUmVxdWlyZVBhdGNoZWQgZXh0ZW5kcyBOb2RlSlMuUmVxdWlyZSB7XG4gIF9fcGF0Y2hlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCByZXBsYWNlbWVudHMgPSB7XG4gICAgW3JlcGxhY2VBbGwoJ2ltcG9ydChkb3QpbWV0YShkb3QpdXJsJywgJyhkb3QpJywgJy4nKV06ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICAgICAgY29uc3QgdXJsID0gcmVxdWlyZSgnbm9kZTp1cmwnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOnVybCcpO1xuICAgICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ByZXByb2Nlc3MnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5kZWZpbmUgPz89IHt9O1xuXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZVtrZXldID0gYF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gO1xuICAgICAgfVxuXG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXIgPz89IHt9O1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddID8/PSAnJztcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lclsnanMnXSArPSAnXFxuJyArIGAke19fZXh0cmFjdERlZmF1bHQudG9TdHJpbmcoKX1cXG5gO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9ICdcXG4nICsgYCgke3BhdGNoUmVxdWlyZUVzbURlZmF1bHQudG9TdHJpbmcoKX0pKClcXG5gO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9ICdcXG4nICsgYCgke3BhdGNoUHJvY2Vzcy50b1N0cmluZygpfSkoKVxcbmA7XG5cbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogL1xcLihqc3x0c3xjanN8bWpzfGN0c3xtdHMpJC8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCAndXRmLTgnKTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGUgPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICAgICAgaWYgKCFjb250ZW50cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5GdWxsIH0pO1xuICAgICAgICAgIGlmIChjb250ZW50cy5pbmNsdWRlcyhgdmFyICR7dmFyaWFibGV9YCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZW50cyA9IGB2YXIgJHt2YXJpYWJsZX0gPSBnbG9iYWxUaGlzWycke2tleX0nXSA/PyAke3ZhbHVlU3RyfTtcXG5gICsgY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIQUNLOiBUaGUgJHsnJ30gcGFydCBpcyB1c2VkIHRvIGVuc3VyZSBPYnNpZGlhbiBsb2FkcyB0aGUgcGx1Z2luIHByb3Blcmx5LFxuICAgICAgICAvLyBvdGhlcndpc2UsIGl0IHN0b3BzIGxvYWRpbmcgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNvdXJjZU1hcHBpbmdVUkwgY29tbWVudC5cbiAgICAgICAgY29udGVudHMgPSByZXBsYWNlQWxsKGNvbnRlbnRzLCAvYFxccj9cXG5cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkwvZywgJ2BcXG4vLyMke1xcJ1xcJ30gc291cmNlTWFwcGluZ1VSTCcpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudHMsXG4gICAgICAgICAgbG9hZGVyOiAndHMnXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gX19leHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhdGNoUmVxdWlyZUVzbURlZmF1bHQoKTogdm9pZCB7XG4gICAgaWYgKChyZXF1aXJlIGFzIFBhcnRpYWw8UmVxdWlyZVBhdGNoZWQ+KS5fX3BhdGNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgX19yZXF1aXJlID0gcmVxdWlyZTtcbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbihyZXF1aXJlUGF0Y2hlZCwgX19yZXF1aXJlLCB7IF9fcGF0Y2hlZDogdHJ1ZSB9KSBhcyBSZXF1aXJlUGF0Y2hlZDtcblxuICAgIGZ1bmN0aW9uIHJlcXVpcmVQYXRjaGVkKGlkOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IF9fcmVxdWlyZShpZCkgYXMgKFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk7XG4gICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBfX2V4dHJhY3REZWZhdWx0KG1vZHVsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgICAgICByZXR1cm4gZ2xvYmFsVGhpcy5wcm9jZXNzO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRW1wdHkgb2JqZWN0IGlzIHJldHVybmVkIGluc3RlYWQuYCk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUHJvY2VzcygpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgaWYgKGdsb2JhbFRoaXMucHJvY2Vzcykge1xuICAgIHJldHVybjtcbiAgfVxuICBnbG9iYWxUaGlzLnByb2Nlc3MgPSB7XG4gICAgYnJvd3NlcjogdHJ1ZSxcbiAgICBjd2Q6ICgpID0+ICcvJyxcbiAgICBlbnY6IHt9LFxuICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgfSBhcyBQcm9jZXNzRXggYXMgTm9kZUpTLlByb2Nlc3M7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxvQkFHTztBQUNQLG9CQUdPO0FBQ1AseUJBQXlCO0FBeUJsQixTQUFTLG1C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
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -32,12 +34,6 @@ __export(renameToCjsPlugin_exports, {
32
34
  module.exports = __toCommonJS(renameToCjsPlugin_exports);
33
35
  var import_String = require('../../String.cjs');
34
36
  var import_NodeModules = require('../NodeModules.cjs');
35
- var __process = globalThis["process"] ?? {
36
- "browser": true,
37
- "cwd": () => "/",
38
- "env": {},
39
- "platform": "android"
40
- };
41
37
  function renameToCjsPlugin() {
42
38
  return {
43
39
  name: "rename-to-cjs",
@@ -66,4 +62,4 @@ function renameToCjsPlugin() {
66
62
  0 && (module.exports = {
67
63
  renameToCjsPlugin
68
64
  });
69
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9yZW5hbWVUb0Nqc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiYnJvd3NlclwiOiB0cnVlLFxuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gcmVuYW1lVG9DanNQbHVnaW5cbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCByZW5hbWVzIEphdmFTY3JpcHQgZmlsZXMgdG8gQ29tbW9uSlMgKGAuY2pzYCkgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKiBJdCBhbHNvIGFkanVzdHMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIENvbW1vbkpTIGZvcm1hdCwgcGFydGljdWxhcmx5IHdoZW4gZGVhbGluZ1xuICogd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbm90IHRvIGJlIHNraXBwZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlbmFtZXMgSmF2YVNjcmlwdCBmaWxlcyB0byBDb21tb25KUyAoYC5janNgKSBmaWxlc1xuICogYW5kIG1vZGlmaWVzIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBwcm9wZXIgbW9kdWxlIHJlc29sdXRpb24uXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSByZW5hbWluZyBhbmQgbW9kaWZpY2F0aW9uIG9mIG91dHB1dCBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZVRvQ2pzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS10by1janMnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiByZXN1bHQub3V0cHV0RmlsZXMgPz8gW10pIHtcbiAgICAgICAgICBpZiAoIWZpbGUucGF0aC5lbmRzV2l0aCgnLmpzJykgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKCcuZC5qcycpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuZXdQYXRoID0gcmVwbGFjZUFsbChmaWxlLnBhdGgsIC9cXC5qcyQvZywgJy5janMnKTtcblxuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSguKz8pW1wiJ11cXCkvZywgKF8sIF9pbXBvcnRQYXRoOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBfaW1wb3J0UGF0aCBhcyBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNqc0ltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgJy5janMnKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtjanNJbXBvcnRQYXRofScpYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLG9CQUEyQjtBQUMzQix5QkFBMEI7QUFoQjFCLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFtQk8sU0FBUyxvQkFBNEI7QUFDMUMsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxPQUFPLFdBQVc7QUFDNUIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGNBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxLQUFLLEtBQUssS0FBSyxLQUFLLFNBQVMsT0FBTyxHQUFHO0FBQzdEO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGNBQVUsMEJBQVcsS0FBSyxNQUFNLFVBQVUsTUFBTTtBQUV0RCxnQkFBTSxjQUFVLDBCQUFXLEtBQUssTUFBTSw2QkFBNkIsQ0FBQyxHQUFHLGdCQUFpQztBQUN0RyxrQkFBTSxhQUFhO0FBQ25CLGdCQUFJLFdBQVcsU0FBUyxPQUFPLEdBQUc7QUFDaEMscUJBQU87QUFBQSxZQUNUO0FBRUEsa0JBQU0sb0JBQWdCLDBCQUFXLFlBQVksVUFBVSxNQUFNO0FBQzdELG1CQUFPLFlBQVksYUFBYTtBQUFBLFVBQ2xDLENBQUM7QUFFRCxvQkFBTSw4QkFBVSxTQUFTLE9BQU87QUFBQSxRQUNsQztBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
65
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC9yZW5hbWVUb0Nqc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gcmVuYW1lVG9DanNQbHVnaW5cbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCByZW5hbWVzIEphdmFTY3JpcHQgZmlsZXMgdG8gQ29tbW9uSlMgKGAuY2pzYCkgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKiBJdCBhbHNvIGFkanVzdHMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIENvbW1vbkpTIGZvcm1hdCwgcGFydGljdWxhcmx5IHdoZW4gZGVhbGluZ1xuICogd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbm90IHRvIGJlIHNraXBwZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlbmFtZXMgSmF2YVNjcmlwdCBmaWxlcyB0byBDb21tb25KUyAoYC5janNgKSBmaWxlc1xuICogYW5kIG1vZGlmaWVzIGByZXF1aXJlYCBzdGF0ZW1lbnRzIHRvIGVuc3VyZSBwcm9wZXIgbW9kdWxlIHJlc29sdXRpb24uXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSByZW5hbWluZyBhbmQgbW9kaWZpY2F0aW9uIG9mIG91dHB1dCBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZVRvQ2pzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS10by1janMnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiByZXN1bHQub3V0cHV0RmlsZXMgPz8gW10pIHtcbiAgICAgICAgICBpZiAoIWZpbGUucGF0aC5lbmRzV2l0aCgnLmpzJykgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKCcuZC5qcycpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuZXdQYXRoID0gcmVwbGFjZUFsbChmaWxlLnBhdGgsIC9cXC5qcyQvZywgJy5janMnKTtcblxuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSByZXBsYWNlQWxsKGZpbGUudGV4dCwgL3JlcXVpcmVcXChbXCInXSguKz8pW1wiJ11cXCkvZywgKF8sIF9pbXBvcnRQYXRoOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBfaW1wb3J0UGF0aCBhcyBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aCgnLmQudHMnKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNqc0ltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgJy5janMnKTtcbiAgICAgICAgICAgIHJldHVybiBgcmVxdWlyZSgnJHtjanNJbXBvcnRQYXRofScpYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0Esb0JBQTJCO0FBQzNCLHlCQUEwQjtBQVFuQixTQUFTLG9CQUE0QjtBQUMxQyxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLE9BQU8sV0FBVztBQUM1QixtQkFBVyxRQUFRLE9BQU8sZUFBZSxDQUFDLEdBQUc7QUFDM0MsY0FBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEtBQUssS0FBSyxLQUFLLEtBQUssU0FBUyxPQUFPLEdBQUc7QUFDN0Q7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sY0FBVSwwQkFBVyxLQUFLLE1BQU0sVUFBVSxNQUFNO0FBRXRELGdCQUFNLGNBQVUsMEJBQVcsS0FBSyxNQUFNLDZCQUE2QixDQUFDLEdBQUcsZ0JBQWlDO0FBQ3RHLGtCQUFNLGFBQWE7QUFDbkIsZ0JBQUksV0FBVyxTQUFTLE9BQU8sR0FBRztBQUNoQyxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxvQkFBZ0IsMEJBQVcsWUFBWSxVQUFVLE1BQU07QUFDN0QsbUJBQU8sWUFBWSxhQUFhO0FBQUEsVUFDbEMsQ0FBQztBQUVELG9CQUFNLDhCQUFVLFNBQVMsT0FBTztBQUFBLFFBQ2xDO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -55,4 +57,4 @@ function watchCssChangesPlugin() {
55
57
  0 && (module.exports = {
56
58
  watchCssChangesPlugin
57
59
  });
58
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC93YXRjaENzc0NoYW5nZXNQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHtcbiAgT25SZXNvbHZlUmVzdWx0LFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4uL1Jvb3QudHMnO1xuXG4vKipcbiAqIEByZXR1cm5zIEEgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3IgY2hhbmdlcyB0byBDU1MgZmlsZXMgYW5kIHJlYnVpbGRzIHRoZSBwbHVnaW4gd2hlbiB0aGV5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ3NzQ2hhbmdlc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCBzdHlsZXNDc3NQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgY29uc3Qgd2F0Y2hGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGV4aXN0c1N5bmMoc3R5bGVzQ3NzUGF0aCkpIHtcbiAgICB3YXRjaEZpbGVzLnB1c2goc3R5bGVzQ3NzUGF0aCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICd3YXRjaC1jc3MtY2hhbmdlcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL21haW5cXC50cy8gfSwgKGFyZ3MpOiBPblJlc29sdmVSZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGg6IGFyZ3MucGF0aCxcbiAgICAgICAgICB3YXRjaEZpbGVzXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0EscUNBQXdDO0FBQ3hDLHlCQUEyQjtBQUMzQixrQkFBd0M7QUFLakMsU0FBUyx3QkFBZ0M7QUFDOUMsUUFBTSxvQkFBZ0IscUNBQXdCLHVEQUF3QixTQUFTO0FBQy9FLFFBQU0sYUFBdUIsQ0FBQztBQUM5QixVQUFJLCtCQUFXLGFBQWEsR0FBRztBQUM3QixlQUFXLEtBQUssYUFBYTtBQUFBLEVBQy9CO0FBRUEsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sVUFBVSxFQUFFLFFBQVEsV0FBVyxHQUFHLENBQUMsU0FBMEI7QUFDakUsZUFBTztBQUFBLFVBQ0wsTUFBTSxLQUFLO0FBQUEsVUFDWDtBQUFBLFFBQ0Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
60
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdHMvZXNidWlsZC93YXRjaENzc0NoYW5nZXNQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHtcbiAgT25SZXNvbHZlUmVzdWx0LFxuICBQbHVnaW5cbn0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4uL1Jvb3QudHMnO1xuXG4vKipcbiAqIEByZXR1cm5zIEEgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3IgY2hhbmdlcyB0byBDU1MgZmlsZXMgYW5kIHJlYnVpbGRzIHRoZSBwbHVnaW4gd2hlbiB0aGV5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ3NzQ2hhbmdlc1BsdWdpbigpOiBQbHVnaW4ge1xuICBjb25zdCBzdHlsZXNDc3NQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgY29uc3Qgd2F0Y2hGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGV4aXN0c1N5bmMoc3R5bGVzQ3NzUGF0aCkpIHtcbiAgICB3YXRjaEZpbGVzLnB1c2goc3R5bGVzQ3NzUGF0aCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICd3YXRjaC1jc3MtY2hhbmdlcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL21haW5cXC50cy8gfSwgKGFyZ3MpOiBPblJlc29sdmVSZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhdGg6IGFyZ3MucGF0aCxcbiAgICAgICAgICB3YXRjaEZpbGVzXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxxQ0FBd0M7QUFDeEMseUJBQTJCO0FBQzNCLGtCQUF3QztBQUtqQyxTQUFTLHdCQUFnQztBQUM5QyxRQUFNLG9CQUFnQixxQ0FBd0IsdURBQXdCLFNBQVM7QUFDL0UsUUFBTSxhQUF1QixDQUFDO0FBQzlCLFVBQUksK0JBQVcsYUFBYSxHQUFHO0FBQzdCLGVBQVcsS0FBSyxhQUFhO0FBQUEsRUFDL0I7QUFFQSxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxVQUFVLEVBQUUsUUFBUSxXQUFXLEdBQUcsQ0FBQyxTQUEwQjtBQUNqRSxlQUFPO0FBQUEsVUFDTCxNQUFNLEtBQUs7QUFBQSxVQUNYO0FBQUEsUUFDRjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -67,4 +69,4 @@ async function format(rewrite = true) {
67
69
  0 && (module.exports = {
68
70
  format
69
71
  });
70
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZm9ybWF0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbi8qKiBAcGFja2FnZURvY3VtZW50YXRpb24gZm9ybWF0XG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5cbmltcG9ydCB7XG4gIGdldERpcm5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgZ2V0Um9vdERpcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSByZXdyaXRlIC0gV2hldGhlciB0byByZXdyaXRlIHRoZSBzb3VyY2UgY29kZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNvdXJjZSBjb2RlIGhhcyBiZWVuIGZvcm1hdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZvcm1hdChyZXdyaXRlID0gdHJ1ZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290RGlyID0gZ2V0Um9vdERpcigpO1xuICBpZiAoIXJvb3REaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jvb3QgZGlyZWN0b3J5IG5vdCBmb3VuZCcpO1xuICB9XG4gIGxldCBkcHJpbnRKc29uUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHByaW50SnNvbik7XG4gIGlmICghZXhpc3RzU3luYyhkcHJpbnRKc29uUGF0aCkpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gZ2V0Um9vdERpcihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGlmICghcGFja2FnZURpcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBwYWNrYWdlIGRpcmVjdG9yeS4nKTtcbiAgICB9XG4gICAgZHByaW50SnNvblBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdCwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EcHJpbnRKc29uKSwgcGFja2FnZURpcik7XG4gIH1cblxuICBpZiAoIWV4aXN0c1N5bmMoZHByaW50SnNvblBhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkcHJpbnQuanNvbiBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbW1hbmQgPSByZXdyaXRlID8gJ2ZtdCcgOiAnY2hlY2snO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWyducHgnLCAnZHByaW50JywgY29tbWFuZCwgJy0tY29uZmlnJywgZHByaW50SnNvblBhdGgsICcqKi8qJ10pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLGtCQUdPO0FBQ1AseUJBQTJCO0FBQzNCLHVDQUEwQztBQUMxQyxrQkFJTztBQWZQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxVQUFNLE1BQUksUUFBUSxVQUFVO0FBQUUsV0FBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsRUFBSTtBQUFDLE1BQUcsT0FBTyxXQUFTLGFBQVk7QUFBQyxXQUFPLE9BQU8sU0FBUztBQUFBLEVBQUk7QUFBQyxTQUFNO0FBQUUsR0FBRztBQXVCL08sZUFBc0IsT0FBTyxVQUFVLE1BQXFCO0FBQzFELFFBQU0sY0FBVSx3QkFBVztBQUMzQixNQUFJLENBQUMsU0FBUztBQUNaLFVBQU0sSUFBSSxNQUFNLDBCQUEwQjtBQUFBLEVBQzVDO0FBQ0EsTUFBSSxxQkFBaUIscUNBQXdCLDJEQUEwQixVQUFVO0FBQ2pGLE1BQUksS0FBQywrQkFBVyxjQUFjLEdBQUc7QUFDL0IsVUFBTSxpQkFBYSw0QkFBVyx3QkFBVyxpQkFBZSxDQUFDO0FBQ3pELFFBQUksQ0FBQyxZQUFZO0FBQ2YsWUFBTSxJQUFJLE1BQU0sbUNBQW1DO0FBQUEsSUFDckQ7QUFDQSx5QkFBaUIseUNBQXdCLGtCQUFLLDJEQUEwQixNQUFNLDJEQUEwQixVQUFVLEdBQUcsVUFBVTtBQUFBLEVBQ2pJO0FBRUEsTUFBSSxLQUFDLCtCQUFXLGNBQWMsR0FBRztBQUMvQixVQUFNLElBQUksTUFBTSx1QkFBdUI7QUFBQSxFQUN6QztBQUVBLFFBQU0sVUFBVSxVQUFVLFFBQVE7QUFDbEMsWUFBTSwwQkFBYSxDQUFDLE9BQU8sVUFBVSxTQUFTLFlBQVksZ0JBQWdCLE1BQU0sQ0FBQztBQUNuRjsiLAogICJuYW1lcyI6IFtdCn0K
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZm9ybWF0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZT09PVwic3RyaW5nXCIpe2NvbnN0IHVybD1yZXF1aXJlKFwibm9kZTp1cmxcIik7cmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWZ9aWYodHlwZW9mIHdpbmRvdyE9PVwidW5kZWZpbmVkXCIpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1yZXR1cm5cIlwifSkoKTtcbi8qKiBAcGFja2FnZURvY3VtZW50YXRpb24gZm9ybWF0XG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5cbmltcG9ydCB7XG4gIGdldERpcm5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgZ2V0Um9vdERpcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBGb3JtYXQgdGhlIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSByZXdyaXRlIC0gV2hldGhlciB0byByZXdyaXRlIHRoZSBzb3VyY2UgY29kZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNvdXJjZSBjb2RlIGhhcyBiZWVuIGZvcm1hdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZvcm1hdChyZXdyaXRlID0gdHJ1ZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290RGlyID0gZ2V0Um9vdERpcigpO1xuICBpZiAoIXJvb3REaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jvb3QgZGlyZWN0b3J5IG5vdCBmb3VuZCcpO1xuICB9XG4gIGxldCBkcHJpbnRKc29uUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHByaW50SnNvbik7XG4gIGlmICghZXhpc3RzU3luYyhkcHJpbnRKc29uUGF0aCkpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gZ2V0Um9vdERpcihnZXREaXJuYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGlmICghcGFja2FnZURpcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBwYWNrYWdlIGRpcmVjdG9yeS4nKTtcbiAgICB9XG4gICAgZHByaW50SnNvblBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdCwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EcHJpbnRKc29uKSwgcGFja2FnZURpcik7XG4gIH1cblxuICBpZiAoIWV4aXN0c1N5bmMoZHByaW50SnNvblBhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkcHJpbnQuanNvbiBub3QgZm91bmQnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbW1hbmQgPSByZXdyaXRlID8gJ2ZtdCcgOiAnY2hlY2snO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWyducHgnLCAnZHByaW50JywgY29tbWFuZCwgJy0tY29uZmlnJywgZHByaW50SnNvblBhdGgsICcqKi8qJ10pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0Esa0JBR087QUFDUCx5QkFBMkI7QUFDM0IsdUNBQTBDO0FBQzFDLGtCQUlPO0FBZlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFVBQU0sTUFBSSxRQUFRLFVBQVU7QUFBRSxXQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxFQUFJO0FBQUMsTUFBRyxPQUFPLFdBQVMsYUFBWTtBQUFDLFdBQU8sT0FBTyxTQUFTO0FBQUEsRUFBSTtBQUFDLFNBQU07QUFBRSxHQUFHO0FBdUIvTyxlQUFzQixPQUFPLFVBQVUsTUFBcUI7QUFDMUQsUUFBTSxjQUFVLHdCQUFXO0FBQzNCLE1BQUksQ0FBQyxTQUFTO0FBQ1osVUFBTSxJQUFJLE1BQU0sMEJBQTBCO0FBQUEsRUFDNUM7QUFDQSxNQUFJLHFCQUFpQixxQ0FBd0IsMkRBQTBCLFVBQVU7QUFDakYsTUFBSSxLQUFDLCtCQUFXLGNBQWMsR0FBRztBQUMvQixVQUFNLGlCQUFhLDRCQUFXLHdCQUFXLGlCQUFlLENBQUM7QUFDekQsUUFBSSxDQUFDLFlBQVk7QUFDZixZQUFNLElBQUksTUFBTSxtQ0FBbUM7QUFBQSxJQUNyRDtBQUNBLHlCQUFpQix5Q0FBd0Isa0JBQUssMkRBQTBCLE1BQU0sMkRBQTBCLFVBQVUsR0FBRyxVQUFVO0FBQUEsRUFDakk7QUFFQSxNQUFJLEtBQUMsK0JBQVcsY0FBYyxHQUFHO0FBQy9CLFVBQU0sSUFBSSxNQUFNLHVCQUF1QjtBQUFBLEVBQ3pDO0FBRUEsUUFBTSxVQUFVLFVBQVUsUUFBUTtBQUNsQyxZQUFNLDBCQUFhLENBQUMsT0FBTyxVQUFVLFNBQVMsWUFBWSxnQkFBZ0IsTUFBTSxDQUFDO0FBQ25GOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __create = Object.create;
@@ -93,4 +95,4 @@ var version = __toESM(__extractDefault(require('./version.cjs')), 1);
93
95
  spellcheck,
94
96
  version
95
97
  });
96
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBidWlsZCBmcm9tICcuL2J1aWxkLnRzJztcbmV4cG9ydCAqIGFzIGNsaSBmcm9tICcuL2NsaS50cyc7XG5leHBvcnQgKiBhcyBDbGlVdGlscyBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmV4cG9ydCAqIGFzIENvZGVHZW5lcmF0b3IgZnJvbSAnLi9Db2RlR2VuZXJhdG9yLnRzJztcbmV4cG9ydCAqIGFzIGVzYnVpbGQgZnJvbSAnLi9lc2J1aWxkL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIEVTTGludCBmcm9tICcuL0VTTGludC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBFeGVjIGZyb20gJy4vRXhlYy50cyc7XG5leHBvcnQgKiBhcyBmb3JtYXQgZnJvbSAnLi9mb3JtYXQudHMnO1xuZXhwb3J0ICogYXMgRnMgZnJvbSAnLi9Gcy50cyc7XG5leHBvcnQgKiBhcyBKU09OIGZyb20gJy4vSlNPTi50cyc7XG5leHBvcnQgKiBhcyBOb2RlTW9kdWxlcyBmcm9tICcuL05vZGVNb2R1bGVzLnRzJztcbmV4cG9ydCAqIGFzIE5wbSBmcm9tICcuL05wbS50cyc7XG5leHBvcnQgKiBhcyBOcG1QdWJsaXNoIGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIGZyb20gJy4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5leHBvcnQgKiBhcyBSb290IGZyb20gJy4vUm9vdC50cyc7XG5leHBvcnQgKiBhcyBzcGVsbGNoZWNrIGZyb20gJy4vc3BlbGxjaGVjay50cyc7XG5leHBvcnQgKiBhcyB2ZXJzaW9uIGZyb20gJy4vdmVyc2lvbi50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUEsWUFBdUI7QUFDdkIsVUFBcUI7QUFDckIsZUFBMEI7QUFDMUIsb0JBQStCO0FBQy9CLGNBQXlCO0FBQ3pCLGFBQXdCO0FBQ3hCLFdBQXNCO0FBQ3RCLGFBQXdCO0FBQ3hCLFNBQW9CO0FBQ3BCLFdBQXNCO0FBQ3RCLGtCQUE2QjtBQUM3QixVQUFxQjtBQUNyQixpQkFBNEI7QUFDNUIsZ0NBQTJDO0FBQzNDLFdBQXNCO0FBQ3RCLGlCQUE0QjtBQUM1QixjQUF5QjsiLAogICJuYW1lcyI6IFtdCn0K
98
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBidWlsZCBmcm9tICcuL2J1aWxkLnRzJztcbmV4cG9ydCAqIGFzIGNsaSBmcm9tICcuL2NsaS50cyc7XG5leHBvcnQgKiBhcyBDbGlVdGlscyBmcm9tICcuL0NsaVV0aWxzLnRzJztcbmV4cG9ydCAqIGFzIENvZGVHZW5lcmF0b3IgZnJvbSAnLi9Db2RlR2VuZXJhdG9yLnRzJztcbmV4cG9ydCAqIGFzIGVzYnVpbGQgZnJvbSAnLi9lc2J1aWxkL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIEVTTGludCBmcm9tICcuL0VTTGludC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBFeGVjIGZyb20gJy4vRXhlYy50cyc7XG5leHBvcnQgKiBhcyBmb3JtYXQgZnJvbSAnLi9mb3JtYXQudHMnO1xuZXhwb3J0ICogYXMgRnMgZnJvbSAnLi9Gcy50cyc7XG5leHBvcnQgKiBhcyBKU09OIGZyb20gJy4vSlNPTi50cyc7XG5leHBvcnQgKiBhcyBOb2RlTW9kdWxlcyBmcm9tICcuL05vZGVNb2R1bGVzLnRzJztcbmV4cG9ydCAqIGFzIE5wbSBmcm9tICcuL05wbS50cyc7XG5leHBvcnQgKiBhcyBOcG1QdWJsaXNoIGZyb20gJy4vTnBtUHVibGlzaC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIGZyb20gJy4vT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy50cyc7XG5leHBvcnQgKiBhcyBSb290IGZyb20gJy4vUm9vdC50cyc7XG5leHBvcnQgKiBhcyBzcGVsbGNoZWNrIGZyb20gJy4vc3BlbGxjaGVjay50cyc7XG5leHBvcnQgKiBhcyB2ZXJzaW9uIGZyb20gJy4vdmVyc2lvbi50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQSxZQUF1QjtBQUN2QixVQUFxQjtBQUNyQixlQUEwQjtBQUMxQixvQkFBK0I7QUFDL0IsY0FBeUI7QUFDekIsYUFBd0I7QUFDeEIsV0FBc0I7QUFDdEIsYUFBd0I7QUFDeEIsU0FBb0I7QUFDcEIsV0FBc0I7QUFDdEIsa0JBQTZCO0FBQzdCLFVBQXFCO0FBQ3JCLGlCQUE0QjtBQUM1QixnQ0FBMkM7QUFDM0MsV0FBc0I7QUFDdEIsaUJBQTRCO0FBQzVCLGNBQXlCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -38,4 +40,4 @@ async function spellcheck() {
38
40
  0 && (module.exports = {
39
41
  spellcheck
40
42
  });
41
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvc3BlbGxjaGVjay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gc3BlbGxjaGVja1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBmdW5jdGlvbiBmb3IgcnVubmluZyBhIHNwZWxsY2hlY2sgb24gdGhlIGNvZGViYXNlIHVzaW5nIHRoZSBgY3NwZWxsYCBsaWJyYXJ5LlxuICogSXQgcmVwb3J0cyBhbnkgc3BlbGxpbmcgaXNzdWVzIGZvdW5kIGluIHRoZSBjb2RlIGFuZCByZXR1cm5zIGEgYFRhc2tSZXN1bHRgIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlbGxjaGVjayB3YXMgc3VjY2Vzc2Z1bC5cbiAqL1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBzcGVsbGNoZWNrIG9uIHRoZSBlbnRpcmUgY29kZWJhc2UgdXNpbmcgYGNzcGVsbGAuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNoZWNrcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMgZm9yIHNwZWxsaW5nIGlzc3Vlcy5cbiAqIElmIGlzc3VlcyBhcmUgZm91bmQsIHRoZXkgYXJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRoIHRoZWlyIGZpbGUgcGF0aCwgbGluZSwgYW5kIGNvbHVtbiBudW1iZXIuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhIGBUYXNrUmVzdWx0YCwgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBzcGVsbGNoZWNrLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3BlbGxjaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCducHggY3NwZWxsIC4gLS1uby1wcm9ncmVzcycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLGtCQUE2QjtBQVU3QixlQUFzQixhQUE0QjtBQUNoRCxZQUFNLDBCQUFhLDRCQUE0QjtBQUNqRDsiLAogICJuYW1lcyI6IFtdCn0K
43
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvc3BlbGxjaGVjay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gc3BlbGxjaGVja1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBmdW5jdGlvbiBmb3IgcnVubmluZyBhIHNwZWxsY2hlY2sgb24gdGhlIGNvZGViYXNlIHVzaW5nIHRoZSBgY3NwZWxsYCBsaWJyYXJ5LlxuICogSXQgcmVwb3J0cyBhbnkgc3BlbGxpbmcgaXNzdWVzIGZvdW5kIGluIHRoZSBjb2RlIGFuZCByZXR1cm5zIGEgYFRhc2tSZXN1bHRgIGluZGljYXRpbmcgd2hldGhlciB0aGUgc3BlbGxjaGVjayB3YXMgc3VjY2Vzc2Z1bC5cbiAqL1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL1Jvb3QudHMnO1xuXG4vKipcbiAqIFJ1bnMgYSBzcGVsbGNoZWNrIG9uIHRoZSBlbnRpcmUgY29kZWJhc2UgdXNpbmcgYGNzcGVsbGAuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNoZWNrcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMgZm9yIHNwZWxsaW5nIGlzc3Vlcy5cbiAqIElmIGlzc3VlcyBhcmUgZm91bmQsIHRoZXkgYXJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRoIHRoZWlyIGZpbGUgcGF0aCwgbGluZSwgYW5kIGNvbHVtbiBudW1iZXIuXG4gKlxuICogQHJldHVybnMgQSBgUHJvbWlzZWAgdGhhdCByZXNvbHZlcyB0byBhIGBUYXNrUmVzdWx0YCwgaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBzcGVsbGNoZWNrLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3BlbGxjaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCducHggY3NwZWxsIC4gLS1uby1wcm9ncmVzcycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsa0JBQTZCO0FBVTdCLGVBQXNCLGFBQTRCO0FBQ2hELFlBQU0sMEJBQWEsNEJBQTRCO0FBQ2pEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -56,12 +58,6 @@ var import_NodeModules = require('./NodeModules.cjs');
56
58
  var import_Npm = require('./Npm.cjs');
57
59
  var import_ObsidianDevUtilsRepoPaths = require('./ObsidianDevUtilsRepoPaths.cjs');
58
60
  var import_Root = require('./Root.cjs');
59
- var __process = globalThis["process"] ?? {
60
- "browser": true,
61
- "cwd": () => "/",
62
- "env": {},
63
- "platform": "android"
64
- };
65
61
  var VersionUpdateType = /* @__PURE__ */ ((VersionUpdateType2) => {
66
62
  VersionUpdateType2["Beta"] = "beta";
67
63
  VersionUpdateType2["Invalid"] = "invalid";
@@ -255,7 +251,7 @@ async function updateChangelog(newVersion) {
255
251
  const _debugger = (0, import_Debug.getLibDebugger)("Version");
256
252
  if (!codeVersion) {
257
253
  _debugger("Could not find Visual Studio Code in your PATH. Using console mode instead.");
258
- await (0, import_NodeModules.createInterface)(__process.stdin, __process.stdout).question(
254
+ await (0, import_NodeModules.createInterface)(process.stdin, process.stdout).question(
259
255
  `Please update the ${import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.ChangelogMd} file. Press Enter when you are done...`
260
256
  );
261
257
  } else {
@@ -268,8 +264,8 @@ async function updateChangelog(newVersion) {
268
264
  }
269
265
  async function updateVersion(versionUpdateType, prepareGitHubRelease) {
270
266
  if (!versionUpdateType) {
271
- const npmOldVersion = __process.env["npm_old_version"];
272
- const npmNewVersion = __process.env["npm_new_version"];
267
+ const npmOldVersion = process.env["npm_old_version"];
268
+ const npmNewVersion = process.env["npm_new_version"];
273
269
  if (npmOldVersion && npmNewVersion) {
274
270
  await updateVersionInFiles(npmOldVersion);
275
271
  await updateVersion(npmNewVersion, prepareGitHubRelease);
@@ -363,4 +359,4 @@ async function updateVersionInFilesForPlugin(newVersion) {
363
359
  updateVersionInFiles,
364
360
  validate
365
361
  });
366
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiYnJvd3NlclwiOiB0cnVlLFxuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdmVyc2lvblxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB2ZXJzaW9uIHVwZGF0ZXMgaW4gYSBwcm9qZWN0LlxuICogSXQgaW5jbHVkZXMgdGFza3Mgc3VjaCBhcyB2YWxpZGF0aW5nIHZlcnNpb24gdXBkYXRlIHR5cGVzLCBjaGVja2luZyB0aGUgc3RhdGVcbiAqIG9mIEdpdCBhbmQgR2l0SHViIENMSSwgdXBkYXRpbmcgdmVyc2lvbiBudW1iZXJzIGluIGZpbGVzLCBhbmQgcGVyZm9ybWluZ1xuICogR2l0IG9wZXJhdGlvbnMgc3VjaCBhcyB0YWdnaW5nIGFuZCBwdXNoaW5nLlxuICpcbiAqIFRoZSBtYWluIGZ1bmN0aW9uLCBgdXBkYXRlVmVyc2lvbmAsIGNvb3JkaW5hdGVzIHRoZXNlIHRhc2tzIHRvIGVuc3VyZSB0aGF0XG4gKiB2ZXJzaW9uIHVwZGF0ZXMgYXJlIGhhbmRsZWQgY29uc2lzdGVudGx5IGFuZCBjb3JyZWN0bHkuIEl0IGFsc28gaW50ZWdyYXRlc1xuICogd2l0aCBPYnNpZGlhbiBwbHVnaW5zLCBpZiBhcHBsaWNhYmxlLCBieSB1cGRhdGluZyByZWxldmFudCBmaWxlcyBhbmQgcmVsZWFzaW5nXG4gKiBuZXcgdmVyc2lvbnMgb24gR2l0SHViLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9Gcy50cyc7XG5pbXBvcnQgeyBlZGl0SnNvbiB9IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQge1xuICBjcCxcbiAgY3JlYXRlSW50ZXJmYWNlLFxuICBleGlzdHNTeW5jLFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdE5wbVNocmlua1dyYXBKc29uLFxuICBlZGl0UGFja2FnZUpzb24sXG4gIGVkaXRQYWNrYWdlTG9ja0pzb24sXG4gIHJlYWRQYWNrYWdlSnNvblxufSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgdmVyc2lvbiB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIEJldGEgPSAnYmV0YScsXG4gIEludmFsaWQgPSAnaW52YWxpZCcsXG4gIE1ham9yID0gJ21ham9yJyxcbiAgTWFudWFsID0gJ21hbnVhbCcsXG4gIE1pbm9yID0gJ21pbm9yJyxcbiAgUGF0Y2ggPSAncGF0Y2gnXG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9ybWF0IGZvciBPYnNpZGlhbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIE9ic2lkaWFuIHZlcnNpb24gcmVxdWlyZWQgZm9yIHRoZSBwbHVnaW4uXG4gICAqL1xuICBtaW5BcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIHN0cnVjdHVyZSBvZiBPYnNpZGlhbiByZWxlYXNlcyBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUmVsZWFzZXNKc29uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiByZWxlYXNlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBHaXQgdGFnIGZvciB0aGUgbmV3IHZlcnNpb24uXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIHRvIHVzZSBmb3IgdGhlIHRhZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhZyBoYXMgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkR2l0VGFnKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCB0YWcgLWEgJHtuZXdWZXJzaW9ufSAtbSAke25ld1ZlcnNpb259IC0tZm9yY2VgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQWRkcyB1cGRhdGVkIGZpbGVzIHRvIHRoZSBHaXQgc3RhZ2luZyBhcmVhIGFuZCBjb21taXRzIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gbmV3VmVyc2lvbiAtIFRoZSBuZXcgdmVyc2lvbiBudW1iZXIgdXNlZCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlcyBoYXZlIGJlZW4gYWRkZWQgYW5kIGNvbW1pdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFVwZGF0ZWRGaWxlc1RvR2l0KG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTnBtU2hyaW5rd3JhcEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZlcnNpb25zSnNvbixcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZFxuICBdLmZpbHRlcigoZmlsZSkgPT4gZXhpc3RzU3luYyhyZXNvbHZlUGF0aEZyb21Sb290U2FmZShmaWxlKSkpO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaXQnLCAnYWRkJywgLi4uZmlsZXNdLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChgZ2l0IGNvbW1pdCAtbSAke25ld1ZlcnNpb259IC0tYWxsb3ctZW1wdHlgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXRIdWIgQ0xJIGlzIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgR2l0SHViIENMSSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEdpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SHViQ2xpSW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggLS12ZXJzaW9uJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2NsaS5naXRodWIuY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIEdpdCBpcyBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgR2l0IGlzIG5vdCBpbnN0YWxsZWQuXG4gKlxuICogQHRocm93cyBFcnJvciBpZiBHaXQgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2l0IC0tdmVyc2lvbicsIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdC1zY20uY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbiwgbWVhbmluZyB0aGVyZSBhcmUgbm8gdW5jb21taXR0ZWQgY2hhbmdlcy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIEdpdCByZXBvc2l0b3J5IGlzIG5vdCBjbGVhbi5cbiAqXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0dpdFJlcG9DbGVhbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGRvdXQgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS11bnRyYWNrZWQtZmlsZXM9YWxsJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICAgIGlmIChzdGRvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uIFBsZWFzZSBjb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzIGJlZm9yZSByZWxlYXNpbmcgYSBuZXcgdmVyc2lvbi4nKTtcbiAgfVxufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdXBkYXRlZCBtYW5pZmVzdCBmaWxlIHRvIHRoZSBkaXN0cmlidXRpb24gYnVpbGQgZGlyZWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvcHkgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29weVVwZGF0ZWRNYW5pZmVzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgY3AoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSxcbiAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSksXG4gICAgeyBmb3JjZTogdHJ1ZSB9XG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHZlcnNpb24gc3RyaW5nIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZlcnNpb24gYW5kIHRoZSBzcGVjaWZpZWQgdXBkYXRlIHR5cGUuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHR5cGUgb2YgdmVyc2lvbiB1cGRhdGUgKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIG1hbnVhbCkuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHRvIHRoZSBuZXcgdmVyc2lvbiBzdHJpbmcuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBjdXJyZW50IHZlcnNpb24gZm9ybWF0IGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB2ZXJzaW9uVHlwZSA9IGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgaWYgKHZlcnNpb25UeXBlID09PSBWZXJzaW9uVXBkYXRlVHlwZS5NYW51YWwpIHtcbiAgICByZXR1cm4gdmVyc2lvblVwZGF0ZVR5cGU7XG4gIH1cblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyc7XG5cbiAgY29uc3QgbWF0Y2ggPSAvXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtYmV0YS4oXFxkKykpPy8uZXhlYyhjdXJyZW50VmVyc2lvbik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VycmVudCB2ZXJzaW9uIGZvcm1hdDogJHtjdXJyZW50VmVyc2lvbn1gKTtcbiAgfVxuXG4gIGxldCBtYWpvciA9IE51bWJlcihtYXRjaFsxXSk7XG4gIGxldCBtaW5vciA9IE51bWJlcihtYXRjaFsyXSk7XG4gIGxldCBwYXRjaCA9IE51bWJlcihtYXRjaFszXSk7XG4gIGxldCBiZXRhID0gbWF0Y2hbNV0gPyBOdW1iZXIobWF0Y2hbNV0pIDogMDtcblxuICBzd2l0Y2ggKHZlcnNpb25UeXBlKSB7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhOlxuICAgICAgaWYgKGJldGEgPT09IDApIHtcbiAgICAgICAgcGF0Y2grKztcbiAgICAgIH1cbiAgICAgIGJldGErKztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWFqb3I6XG4gICAgICBtYWpvcisrO1xuICAgICAgbWlub3IgPSAwO1xuICAgICAgcGF0Y2ggPSAwO1xuICAgICAgYmV0YSA9IDA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1pbm9yOlxuICAgICAgbWlub3IrKztcbiAgICAgIHBhdGNoID0gMDtcbiAgICAgIGJldGEgPSAwO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHBhdGNoKys7XG4gICAgICBiZXRhID0gMDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGAke21ham9yLnRvU3RyaW5nKCl9LiR7bWlub3IudG9TdHJpbmcoKX0uJHtwYXRjaC50b1N0cmluZygpfSR7YmV0YSA+IDAgPyBgLWJldGEuJHtiZXRhLnRvU3RyaW5nKCl9YCA6ICcnfWA7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSByZWxlYXNlIG5vdGVzIGZvciBhIHNwZWNpZmljIHZlcnNpb24gZnJvbSB0aGUgY2hhbmdlbG9nLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciBmb3Igd2hpY2ggdG8gZ2V0IHRoZSByZWxlYXNlIG5vdGVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlbGVhc2Ugbm90ZXMgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJlbGVhc2VOb3RlcyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2Vsb2dQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ2hhbmdlbG9nTWQpO1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoY2hhbmdlbG9nUGF0aCwgJ3V0Zi04Jyk7XG4gIGNvbnN0IG5ld1ZlcnNpb25Fc2NhcGVkID0gcmVwbGFjZUFsbChuZXdWZXJzaW9uLCAnLicsICdcXFxcLicpO1xuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAoYFxcbiMjICR7bmV3VmVyc2lvbkVzY2FwZWR9XFxuXFxuKCgufFxcbikrPylcXG5cXG4jI2ApLmV4ZWMoY29udGVudCk7XG4gIGxldCByZWxlYXNlTm90ZXMgPSBtYXRjaD8uWzFdID8gbWF0Y2hbMV0gKyAnXFxuXFxuJyA6ICcnO1xuXG4gIGNvbnN0IHRhZ3MgPSAoYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgdGFnIC0tc29ydD0tY3JlYXRvcmRhdGUnLCB7IGlzUXVpZXQ6IHRydWUgfSkpLnNwbGl0KC9cXHI/XFxuLyk7XG4gIGNvbnN0IHByZXZpb3VzVmVyc2lvbiA9IHRhZ3NbMV07XG4gIGxldCBjaGFuZ2VzVXJsID0gJyc7XG5cbiAgY29uc3QgcmVwb1VybCA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggcmVwbyB2aWV3IC0tanNvbiB1cmwgLXEgLnVybCcsIHsgaXNRdWlldDogdHJ1ZSB9KTtcblxuICBpZiAocHJldmlvdXNWZXJzaW9uKSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbXBhcmUvJHtwcmV2aW91c1ZlcnNpb259Li4uJHtuZXdWZXJzaW9ufWA7XG4gIH0gZWxzZSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbW1pdHMvJHtuZXdWZXJzaW9ufWA7XG4gIH1cblxuICByZWxlYXNlTm90ZXMgKz0gYCoqRnVsbCBDaGFuZ2Vsb2cqKjogJHtjaGFuZ2VzVXJsfWA7XG4gIHJldHVybiByZWxlYXNlTm90ZXM7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB2ZXJzaW9uIHVwZGF0ZSBiYXNlZCBvbiB0aGUgaW5wdXQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSBpbnB1dCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlLlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgYFZlcnNpb25VcGRhdGVUeXBlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIGNvbnN0IHZlcnNpb25VcGRhdGVUeXBlRW51bSA9IHZlcnNpb25VcGRhdGVUeXBlIGFzIFZlcnNpb25VcGRhdGVUeXBlO1xuICBzd2l0Y2ggKHZlcnNpb25VcGRhdGVUeXBlRW51bSkge1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuQmV0YTpcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1ham9yOlxuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWlub3I6XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHJldHVybiB2ZXJzaW9uVXBkYXRlVHlwZUVudW07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bXFx3XFxkLi1dKyk/JC8udGVzdCh2ZXJzaW9uVXBkYXRlVHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLk1hbnVhbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoZXMgY29tbWl0cyBhbmQgdGFncyB0byB0aGUgcmVtb3RlIEdpdCByZXBvc2l0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHB1c2ggb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0UHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgcHVzaCAtLWZvbGxvdy10YWdzIC0tZm9yY2UnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogUHVibGlzaGVzIGEgR2l0SHViIHJlbGVhc2UgZm9yIHRoZSBuZXcgdmVyc2lvbi5cbiAqXG4gKiBIYW5kbGVzIHRoZSBjcmVhdGlvbiBvZiBhIHJlbGVhc2UgYW5kIHVwbG9hZGluZyBmaWxlcyBmb3IgZWl0aGVyIGFuIE9ic2lkaWFuIHBsdWdpbiBvciBhbm90aGVyIHByb2plY3QuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIGZvciB0aGUgcmVsZWFzZS5cbiAqIEBwYXJhbSBpc09ic2lkaWFuUGx1Z2luIC0gQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHByb2plY3QgaXMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVsZWFzZSBoYXMgYmVlbiBwdWJsaXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uOiBzdHJpbmcsIGlzT2JzaWRpYW5QbHVnaW46IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGZpbGVQYXRoczogc3RyaW5nW107XG5cbiAgaWYgKGlzT2JzaWRpYW5QbHVnaW4pIHtcbiAgICBjb25zdCBidWlsZERpciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCk7XG4gICAgY29uc3QgZmlsZU5hbWVzID0gYXdhaXQgcmVhZGRpclBvc2l4KGJ1aWxkRGlyKTtcbiAgICBmaWxlUGF0aHMgPSBmaWxlTmFtZXMubWFwKChmaWxlTmFtZSkgPT4gam9pbihidWlsZERpciwgZmlsZU5hbWUpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXN1bHRKc29uID0gYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3BhY2snLCAnLS1wYWNrLWRlc3RpbmF0aW9uJywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCAnLS1qc29uJ10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdEpzb24pIGFzIFt7IGZpbGVuYW1lOiBzdHJpbmcgfV07XG4gICAgZmlsZVBhdGhzID0gW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCByZXN1bHRbMF0uZmlsZW5hbWUpXTtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ3JlbGVhc2UnLCAnY3JlYXRlJywgbmV3VmVyc2lvbiwgLi4uZmlsZVBhdGhzLCAnLS10aXRsZScsIGB2JHtuZXdWZXJzaW9ufWAsICctLW5vdGVzLWZpbGUnLCAnLSddLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzdGRpbjogYXdhaXQgZ2V0UmVsZWFzZU5vdGVzKG5ld1ZlcnNpb24pXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGNoYW5nZWxvZyBmaWxlIHdpdGggbmV3IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGNvbW1pdCBtZXNzYWdlcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBjdXJyZW50IGNoYW5nZWxvZywgYXBwZW5kcyBuZXcgZW50cmllcyBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uLFxuICogYW5kIHByb21wdHMgdGhlIHVzZXIgdG8gcmV2aWV3IHRoZSBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciB0byBiZSBhZGRlZCB0byB0aGUgY2hhbmdlbG9nLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hhbmdlbG9nIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUNoYW5nZWxvZyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2hhbmdlbG9nUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kKTtcbiAgbGV0IHByZXZpb3VzQ2hhbmdlbG9nTGluZXM6IHN0cmluZ1tdO1xuICBpZiAoIWV4aXN0c1N5bmMoY2hhbmdlbG9nUGF0aCkpIHtcbiAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzID0gW107XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGNoYW5nZWxvZ1BhdGgsICd1dGYtOCcpO1xuICAgIHByZXZpb3VzQ2hhbmdlbG9nTGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKS5zbGljZSgyKTtcbiAgICBpZiAocHJldmlvdXNDaGFuZ2Vsb2dMaW5lcy5hdCgtMSkgPT09ICcnKSB7XG4gICAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxhc3RUYWcgPSByZXBsYWNlQWxsKHByZXZpb3VzQ2hhbmdlbG9nTGluZXNbMF0gPz8gJycsICcjIyAnLCAnJyk7XG4gIGNvbnN0IGNvbW1pdFJhbmdlID0gbGFzdFRhZyA/IGAke2xhc3RUYWd9Li5IRUFEYCA6ICdIRUFEJztcbiAgY29uc3QgY29tbWl0TWVzc2FnZXNTdHIgPSBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCBsb2cgJHtjb21taXRSYW5nZX0gLS1mb3JtYXQ9JUIgLS1maXJzdC1wYXJlbnQgLXpgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IGNvbW1pdE1lc3NhZ2VzID0gY29tbWl0TWVzc2FnZXNTdHIuc3BsaXQoJ1xcMCcpLmZpbHRlcihCb29sZWFuKS5tYXAodG9TaW5nbGVMaW5lKTtcblxuICBsZXQgbmV3Q2hhbmdlTG9nID0gYCMgQ0hBTkdFTE9HXFxuXFxuIyMgJHtuZXdWZXJzaW9ufVxcblxcbmA7XG5cbiAgZm9yIChjb25zdCBtZXNzYWdlIG9mIGNvbW1pdE1lc3NhZ2VzKSB7XG4gICAgbmV3Q2hhbmdlTG9nICs9IGAtICR7bWVzc2FnZX1cXG5gO1xuICB9XG5cbiAgaWYgKHByZXZpb3VzQ2hhbmdlbG9nTGluZXMubGVuZ3RoID4gMCkge1xuICAgIG5ld0NoYW5nZUxvZyArPSAnXFxuJztcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgcHJldmlvdXNDaGFuZ2Vsb2dMaW5lcykge1xuICAgICAgbmV3Q2hhbmdlTG9nICs9IGAke2xpbmV9XFxuYDtcbiAgICB9XG4gIH1cblxuICBhd2FpdCB3cml0ZUZpbGUoY2hhbmdlbG9nUGF0aCwgbmV3Q2hhbmdlTG9nLCAndXRmLTgnKTtcblxuICBjb25zdCBjb2RlVmVyc2lvbiA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnY29kZSAtLXZlcnNpb24nLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0TGliRGVidWdnZXIoJ1ZlcnNpb24nKTtcbiAgaWYgKCFjb2RlVmVyc2lvbikge1xuICAgIF9kZWJ1Z2dlcignQ291bGQgbm90IGZpbmQgVmlzdWFsIFN0dWRpbyBDb2RlIGluIHlvdXIgUEFUSC4gVXNpbmcgY29uc29sZSBtb2RlIGluc3RlYWQuJyk7XG4gICAgYXdhaXQgY3JlYXRlSW50ZXJmYWNlKHByb2Nlc3Muc3RkaW4sIHByb2Nlc3Muc3Rkb3V0KS5xdWVzdGlvbihcbiAgICAgIGBQbGVhc2UgdXBkYXRlIHRoZSAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kfSBmaWxlLiBQcmVzcyBFbnRlciB3aGVuIHlvdSBhcmUgZG9uZS4uLmBcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIF9kZWJ1Z2dlcihgUGxlYXNlIHVwZGF0ZSB0aGUgJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZH0gZmlsZS4gQ2xvc2UgVmlzdWFsIFN0dWRpbyBDb2RlIHdoZW4geW91IGFyZSBkb25lLi4uYCk7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnY29kZScsICctdycsIGNoYW5nZWxvZ1BhdGhdLCB7XG4gICAgICBpc1F1aWV0OiB0cnVlLFxuICAgICAgc2hvdWxkSWdub3JlRXhpdENvZGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB1cGRhdGUgdHlwZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHRhc2tzIHRvIGhhbmRsZSB2ZXJzaW9uIHVwZGF0ZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUuXG4gKiAyLiBDaGVja3MgaWYgR2l0IGFuZCBHaXRIdWIgQ0xJIGFyZSBpbnN0YWxsZWQuXG4gKiAzLiBWZXJpZmllcyB0aGF0IHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbi5cbiAqIDQuIFJ1bnMgc3BlbGxjaGVjayBhbmQgbGludGluZy5cbiAqIDUuIEJ1aWxkcyB0aGUgcHJvamVjdC5cbiAqIDYuIFVwZGF0ZXMgdmVyc2lvbiBpbiBmaWxlcyBhbmQgY2hhbmdlbG9nLlxuICogNy4gQWRkcyB1cGRhdGVkIGZpbGVzIHRvIEdpdCwgdGFncyB0aGUgY29tbWl0LCBhbmQgcHVzaGVzIHRvIHRoZSByZXBvc2l0b3J5LlxuICogOC4gSWYgYW4gT2JzaWRpYW4gcGx1Z2luLCBjb3BpZXMgdGhlIHVwZGF0ZWQgbWFuaWZlc3QgYW5kIHB1Ymxpc2hlcyBhIEdpdEh1YiByZWxlYXNlLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSB0eXBlIG9mIHZlcnNpb24gdXBkYXRlIHRvIHBlcmZvcm0gKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1iZXRhOnVdKS5cbiAqIEBwYXJhbSBwcmVwYXJlR2l0SHViUmVsZWFzZSAtIEEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgR2l0SHViIHJlbGVhc2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB2ZXJzaW9uIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGU/OiBzdHJpbmcsIHByZXBhcmVHaXRIdWJSZWxlYXNlPzogKG5ld1ZlcnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXZlcnNpb25VcGRhdGVUeXBlKSB7XG4gICAgY29uc3QgbnBtT2xkVmVyc2lvbiA9IHByb2Nlc3MuZW52WyducG1fb2xkX3ZlcnNpb24nXTtcbiAgICBjb25zdCBucG1OZXdWZXJzaW9uID0gcHJvY2Vzcy5lbnZbJ25wbV9uZXdfdmVyc2lvbiddO1xuXG4gICAgaWYgKG5wbU9sZFZlcnNpb24gJiYgbnBtTmV3VmVyc2lvbikge1xuICAgICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobnBtT2xkVmVyc2lvbik7XG4gICAgICBhd2FpdCB1cGRhdGVWZXJzaW9uKG5wbU5ld1ZlcnNpb24sIHByZXBhcmVHaXRIdWJSZWxlYXNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZlcnNpb24gdXBkYXRlIHR5cGUgcHJvdmlkZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGlzT2JzaWRpYW5QbHVnaW4gPSBleGlzdHNTeW5jKHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbikpO1xuXG4gIHZhbGlkYXRlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgY2hlY2tHaXRJbnN0YWxsZWQoKTtcbiAgYXdhaXQgY2hlY2tHaXRSZXBvQ2xlYW4oKTtcbiAgYXdhaXQgY2hlY2tHaXRIdWJDbGlJbnN0YWxsZWQoKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnZm9ybWF0OmNoZWNrJyk7XG4gIGF3YWl0IHJ1bkNvbW1hbmQoJ3NwZWxsY2hlY2snKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnYnVpbGQnKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnbGludCcpO1xuXG4gIGNvbnN0IG5ld1ZlcnNpb24gPSBhd2FpdCBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobmV3VmVyc2lvbik7XG4gIGlmIChpc09ic2lkaWFuUGx1Z2luKSB7XG4gICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW4obmV3VmVyc2lvbik7XG4gIH1cblxuICBpZiAoZ2V0VmVyc2lvblVwZGF0ZVR5cGUodmVyc2lvblVwZGF0ZVR5cGUpICE9PSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhKSB7XG4gICAgYXdhaXQgdXBkYXRlQ2hhbmdlbG9nKG5ld1ZlcnNpb24pO1xuICB9XG5cbiAgYXdhaXQgYWRkVXBkYXRlZEZpbGVzVG9HaXQobmV3VmVyc2lvbik7XG4gIGF3YWl0IGFkZEdpdFRhZyhuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZ2l0UHVzaCgpO1xuICBhd2FpdCBwcmVwYXJlR2l0SHViUmVsZWFzZT8uKG5ld1ZlcnNpb24pO1xuICBhd2FpdCBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uLCBpc09ic2lkaWFuUGx1Z2luKTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2ZXJzaW9uIGluIHZhcmlvdXMgZmlsZXMsIGluY2x1ZGluZyBgcGFja2FnZS5qc29uYCwgYHBhY2thZ2UtbG9jay5qc29uYCxcbiAqIGFuZCBPYnNpZGlhbiBwbHVnaW4gbWFuaWZlc3RzIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gc3RyaW5nIHRvIHVwZGF0ZSBpbiB0aGUgZmlsZXMuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlZGl0UGFja2FnZUpzb24oKHBhY2thZ2VKc29uKSA9PiB7XG4gICAgcGFja2FnZUpzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gIH0pO1xuXG4gIGF3YWl0IGVkaXRQYWNrYWdlTG9ja0pzb24odXBkYXRlLCB7IHNob3VsZFNraXBJZk1pc3Npbmc6IHRydWUgfSk7XG4gIGF3YWl0IGVkaXROcG1TaHJpbmtXcmFwSnNvbih1cGRhdGUsIHsgc2hvdWxkU2tpcElmTWlzc2luZzogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiB1cGRhdGUocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiB2b2lkIHtcbiAgICBwYWNrYWdlTG9ja0pzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gICAgY29uc3QgZGVmYXVsdFBhY2thZ2UgPSBwYWNrYWdlTG9ja0pzb24ucGFja2FnZXM/LlsnJ107XG4gICAgaWYgKGRlZmF1bHRQYWNrYWdlKSB7XG4gICAgICBkZWZhdWx0UGFja2FnZS52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gZW5zdXJlIGl0IGlzIGVpdGhlciBhIHJlY29nbml6ZWQgdHlwZVxuICogb3IgYSB2YWxpZCBtYW51YWwgdmVyc2lvbiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gdmFsaWRhdGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZSh2ZXJzaW9uVXBkYXRlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChnZXRWZXJzaW9uVXBkYXRlVHlwZSh2ZXJzaW9uVXBkYXRlVHlwZSkgPT09IFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiB1cGRhdGUgdHlwZS4gUGxlYXNlIHVzZSBcXCdtYWpvclxcJywgXFwnbWlub3JcXCcsIFxcJ3BhdGNoXFwnLCBvciBcXCd4Lnkuelstc3VmZml4XVxcJyBmb3JtYXQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZXMgQVBJLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0T2JzaWRpYW5WZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvb2JzaWRpYW5tZC9vYnNpZGlhbi1yZWxlYXNlcy9yZWxlYXNlcy9sYXRlc3QnKTtcbiAgY29uc3Qgb2JzaWRpYW5SZWxlYXNlc0pzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgUGFydGlhbDxPYnNpZGlhblJlbGVhc2VzSnNvbj47XG4gIHJldHVybiBvYnNpZGlhblJlbGVhc2VzSnNvbi5uYW1lID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBuYW1lIG9mIHRoZSBsYXRlc3QgT2JzaWRpYW4gcmVsZWFzZScpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3J1bicsIC4uLihpc0tub3duQ29tbWFuZCA/IFtdIDogWydvYnNpZGlhbi1kZXYtdXRpbHMnXSksIGNvbW1hbmRdKTtcbn1cblxuZnVuY3Rpb24gdG9TaW5nbGVMaW5lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoL1xccj9cXG4vKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiBsaW5lcy5qb2luKCcgJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzRm9yUGx1Z2luKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBsYXRlc3RPYnNpZGlhblZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RPYnNpZGlhblZlcnNpb24oKTtcblxuICBhd2FpdCBlZGl0SnNvbjxNYW5pZmVzdD4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLCAobWFuaWZlc3QpID0+IHtcbiAgICBtYW5pZmVzdC5taW5BcHBWZXJzaW9uID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICAgIG1hbmlmZXN0LnZlcnNpb24gPSBuZXdWZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBlZGl0SnNvbjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5WZXJzaW9uc0pzb24sICh2ZXJzaW9ucykgPT4ge1xuICAgIHZlcnNpb25zW25ld1ZlcnNpb25dID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBjb3B5VXBkYXRlZE1hbmlmZXN0KCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJBLG1CQUErQjtBQUMvQixtQkFBZ0M7QUFDaEMscUNBQXdDO0FBQ3hDLGtCQUFxQjtBQUNyQixvQkFBMkI7QUFDM0IsZ0JBQTZCO0FBQzdCLGtCQUF5QjtBQUN6Qix5QkFNTztBQUNQLGlCQUtPO0FBQ1AsdUNBQTBDO0FBQzFDLGtCQUdPO0FBN0NQLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUE2Q08sSUFBSyxvQkFBTCxrQkFBS0EsdUJBQUw7QUFDTCxFQUFBQSxtQkFBQSxVQUFPO0FBQ1AsRUFBQUEsbUJBQUEsYUFBVTtBQUNWLEVBQUFBLG1CQUFBLFdBQVE7QUFDUixFQUFBQSxtQkFBQSxZQUFTO0FBQ1QsRUFBQUEsbUJBQUEsV0FBUTtBQUNSLEVBQUFBLG1CQUFBLFdBQVE7QUFORSxTQUFBQTtBQUFBLEdBQUE7QUF3Q1osZUFBc0IsVUFBVSxZQUFtQztBQUNqRSxZQUFNLDBCQUFhLGNBQWMsVUFBVSxPQUFPLFVBQVUsWUFBWSxFQUFFLFNBQVMsS0FBSyxDQUFDO0FBQzNGO0FBUUEsZUFBc0IscUJBQXFCLFlBQW1DO0FBQzVFLFFBQU0sUUFBUTtBQUFBLElBQ1osdURBQXdCO0FBQUEsSUFDeEIsdURBQXdCO0FBQUEsSUFDeEIsdURBQXdCO0FB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
362
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdmVyc2lvblxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB2ZXJzaW9uIHVwZGF0ZXMgaW4gYSBwcm9qZWN0LlxuICogSXQgaW5jbHVkZXMgdGFza3Mgc3VjaCBhcyB2YWxpZGF0aW5nIHZlcnNpb24gdXBkYXRlIHR5cGVzLCBjaGVja2luZyB0aGUgc3RhdGVcbiAqIG9mIEdpdCBhbmQgR2l0SHViIENMSSwgdXBkYXRpbmcgdmVyc2lvbiBudW1iZXJzIGluIGZpbGVzLCBhbmQgcGVyZm9ybWluZ1xuICogR2l0IG9wZXJhdGlvbnMgc3VjaCBhcyB0YWdnaW5nIGFuZCBwdXNoaW5nLlxuICpcbiAqIFRoZSBtYWluIGZ1bmN0aW9uLCBgdXBkYXRlVmVyc2lvbmAsIGNvb3JkaW5hdGVzIHRoZXNlIHRhc2tzIHRvIGVuc3VyZSB0aGF0XG4gKiB2ZXJzaW9uIHVwZGF0ZXMgYXJlIGhhbmRsZWQgY29uc2lzdGVudGx5IGFuZCBjb3JyZWN0bHkuIEl0IGFsc28gaW50ZWdyYXRlc1xuICogd2l0aCBPYnNpZGlhbiBwbHVnaW5zLCBpZiBhcHBsaWNhYmxlLCBieSB1cGRhdGluZyByZWxldmFudCBmaWxlcyBhbmQgcmVsZWFzaW5nXG4gKiBuZXcgdmVyc2lvbnMgb24gR2l0SHViLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGFja2FnZUxvY2tKc29uIH0gZnJvbSAnLi9OcG0udHMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi9QYXRoLnRzJztcbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9Gcy50cyc7XG5pbXBvcnQgeyBlZGl0SnNvbiB9IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQge1xuICBjcCxcbiAgY3JlYXRlSW50ZXJmYWNlLFxuICBleGlzdHNTeW5jLFxuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJy4vTm9kZU1vZHVsZXMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdE5wbVNocmlua1dyYXBKc29uLFxuICBlZGl0UGFja2FnZUpzb24sXG4gIGVkaXRQYWNrYWdlTG9ja0pzb24sXG4gIHJlYWRQYWNrYWdlSnNvblxufSBmcm9tICcuL05wbS50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBFbnVtIHJlcHJlc2VudGluZyBkaWZmZXJlbnQgdHlwZXMgb2YgdmVyc2lvbiB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIEJldGEgPSAnYmV0YScsXG4gIEludmFsaWQgPSAnaW52YWxpZCcsXG4gIE1ham9yID0gJ21ham9yJyxcbiAgTWFudWFsID0gJ21hbnVhbCcsXG4gIE1pbm9yID0gJ21pbm9yJyxcbiAgUGF0Y2ggPSAncGF0Y2gnXG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9ybWF0IGZvciBPYnNpZGlhbiBwbHVnaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIE9ic2lkaWFuIHZlcnNpb24gcmVxdWlyZWQgZm9yIHRoZSBwbHVnaW4uXG4gICAqL1xuICBtaW5BcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4uXG4gICAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIHN0cnVjdHVyZSBvZiBPYnNpZGlhbiByZWxlYXNlcyBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUmVsZWFzZXNKc29uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiByZWxlYXNlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBHaXQgdGFnIGZvciB0aGUgbmV3IHZlcnNpb24uXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIHRvIHVzZSBmb3IgdGhlIHRhZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhZyBoYXMgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkR2l0VGFnKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCB0YWcgLWEgJHtuZXdWZXJzaW9ufSAtbSAke25ld1ZlcnNpb259IC0tZm9yY2VgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQWRkcyB1cGRhdGVkIGZpbGVzIHRvIHRoZSBHaXQgc3RhZ2luZyBhcmVhIGFuZCBjb21taXRzIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gbmV3VmVyc2lvbiAtIFRoZSBuZXcgdmVyc2lvbiBudW1iZXIgdXNlZCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlcyBoYXZlIGJlZW4gYWRkZWQgYW5kIGNvbW1pdHRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZFVwZGF0ZWRGaWxlc1RvR2l0KG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTnBtU2hyaW5rd3JhcEpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZlcnNpb25zSnNvbixcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZFxuICBdLmZpbHRlcigoZmlsZSkgPT4gZXhpc3RzU3luYyhyZXNvbHZlUGF0aEZyb21Sb290U2FmZShmaWxlKSkpO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaXQnLCAnYWRkJywgLi4uZmlsZXNdLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChgZ2l0IGNvbW1pdCAtbSAke25ld1ZlcnNpb259IC0tYWxsb3ctZW1wdHlgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXRIdWIgQ0xJIGlzIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgR2l0SHViIENMSSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEdpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SHViQ2xpSW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggLS12ZXJzaW9uJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dpdEh1YiBDTEkgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2NsaS5naXRodWIuY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIEdpdCBpcyBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgR2l0IGlzIG5vdCBpbnN0YWxsZWQuXG4gKlxuICogQHRocm93cyBFcnJvciBpZiBHaXQgaXMgbm90IGluc3RhbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNoZWNrR2l0SW5zdGFsbGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2l0IC0tdmVyc2lvbicsIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgaXMgbm90IGluc3RhbGxlZC4gUGxlYXNlIGluc3RhbGwgaXQgZnJvbSBodHRwczovL2dpdC1zY20uY29tLycpO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbiwgbWVhbmluZyB0aGVyZSBhcmUgbm8gdW5jb21taXR0ZWQgY2hhbmdlcy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIEdpdCByZXBvc2l0b3J5IGlzIG5vdCBjbGVhbi5cbiAqXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjaGVja0dpdFJlcG9DbGVhbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGRvdXQgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS11bnRyYWNrZWQtZmlsZXM9YWxsJywgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICAgIGlmIChzdGRvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHaXQgcmVwb3NpdG9yeSBpcyBub3QgY2xlYW4uIFBsZWFzZSBjb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzIGJlZm9yZSByZWxlYXNpbmcgYSBuZXcgdmVyc2lvbi4nKTtcbiAgfVxufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdXBkYXRlZCBtYW5pZmVzdCBmaWxlIHRvIHRoZSBkaXN0cmlidXRpb24gYnVpbGQgZGlyZWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvcHkgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29weVVwZGF0ZWRNYW5pZmVzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgY3AoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSxcbiAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZShqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uKSksXG4gICAgeyBmb3JjZTogdHJ1ZSB9XG4gICk7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHZlcnNpb24gc3RyaW5nIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZlcnNpb24gYW5kIHRoZSBzcGVjaWZpZWQgdXBkYXRlIHR5cGUuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHR5cGUgb2YgdmVyc2lvbiB1cGRhdGUgKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIG1hbnVhbCkuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHRvIHRoZSBuZXcgdmVyc2lvbiBzdHJpbmcuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBjdXJyZW50IHZlcnNpb24gZm9ybWF0IGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB2ZXJzaW9uVHlwZSA9IGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgaWYgKHZlcnNpb25UeXBlID09PSBWZXJzaW9uVXBkYXRlVHlwZS5NYW51YWwpIHtcbiAgICByZXR1cm4gdmVyc2lvblVwZGF0ZVR5cGU7XG4gIH1cblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBhY2thZ2VKc29uLnZlcnNpb24gPz8gJyc7XG5cbiAgY29uc3QgbWF0Y2ggPSAvXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtYmV0YS4oXFxkKykpPy8uZXhlYyhjdXJyZW50VmVyc2lvbik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VycmVudCB2ZXJzaW9uIGZvcm1hdDogJHtjdXJyZW50VmVyc2lvbn1gKTtcbiAgfVxuXG4gIGxldCBtYWpvciA9IE51bWJlcihtYXRjaFsxXSk7XG4gIGxldCBtaW5vciA9IE51bWJlcihtYXRjaFsyXSk7XG4gIGxldCBwYXRjaCA9IE51bWJlcihtYXRjaFszXSk7XG4gIGxldCBiZXRhID0gbWF0Y2hbNV0gPyBOdW1iZXIobWF0Y2hbNV0pIDogMDtcblxuICBzd2l0Y2ggKHZlcnNpb25UeXBlKSB7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhOlxuICAgICAgaWYgKGJldGEgPT09IDApIHtcbiAgICAgICAgcGF0Y2grKztcbiAgICAgIH1cbiAgICAgIGJldGErKztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWFqb3I6XG4gICAgICBtYWpvcisrO1xuICAgICAgbWlub3IgPSAwO1xuICAgICAgcGF0Y2ggPSAwO1xuICAgICAgYmV0YSA9IDA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1pbm9yOlxuICAgICAgbWlub3IrKztcbiAgICAgIHBhdGNoID0gMDtcbiAgICAgIGJldGEgPSAwO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHBhdGNoKys7XG4gICAgICBiZXRhID0gMDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGAke21ham9yLnRvU3RyaW5nKCl9LiR7bWlub3IudG9TdHJpbmcoKX0uJHtwYXRjaC50b1N0cmluZygpfSR7YmV0YSA+IDAgPyBgLWJldGEuJHtiZXRhLnRvU3RyaW5nKCl9YCA6ICcnfWA7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSByZWxlYXNlIG5vdGVzIGZvciBhIHNwZWNpZmljIHZlcnNpb24gZnJvbSB0aGUgY2hhbmdlbG9nLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciBmb3Igd2hpY2ggdG8gZ2V0IHRoZSByZWxlYXNlIG5vdGVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlbGVhc2Ugbm90ZXMgZm9yIHRoZSBzcGVjaWZpZWQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJlbGVhc2VOb3RlcyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjaGFuZ2Vsb2dQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ2hhbmdlbG9nTWQpO1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoY2hhbmdlbG9nUGF0aCwgJ3V0Zi04Jyk7XG4gIGNvbnN0IG5ld1ZlcnNpb25Fc2NhcGVkID0gcmVwbGFjZUFsbChuZXdWZXJzaW9uLCAnLicsICdcXFxcLicpO1xuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAoYFxcbiMjICR7bmV3VmVyc2lvbkVzY2FwZWR9XFxuXFxuKCgufFxcbikrPylcXG5cXG4jI2ApLmV4ZWMoY29udGVudCk7XG4gIGxldCByZWxlYXNlTm90ZXMgPSBtYXRjaD8uWzFdID8gbWF0Y2hbMV0gKyAnXFxuXFxuJyA6ICcnO1xuXG4gIGNvbnN0IHRhZ3MgPSAoYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgdGFnIC0tc29ydD0tY3JlYXRvcmRhdGUnLCB7IGlzUXVpZXQ6IHRydWUgfSkpLnNwbGl0KC9cXHI/XFxuLyk7XG4gIGNvbnN0IHByZXZpb3VzVmVyc2lvbiA9IHRhZ3NbMV07XG4gIGxldCBjaGFuZ2VzVXJsID0gJyc7XG5cbiAgY29uc3QgcmVwb1VybCA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnZ2ggcmVwbyB2aWV3IC0tanNvbiB1cmwgLXEgLnVybCcsIHsgaXNRdWlldDogdHJ1ZSB9KTtcblxuICBpZiAocHJldmlvdXNWZXJzaW9uKSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbXBhcmUvJHtwcmV2aW91c1ZlcnNpb259Li4uJHtuZXdWZXJzaW9ufWA7XG4gIH0gZWxzZSB7XG4gICAgY2hhbmdlc1VybCA9IGAke3JlcG9Vcmx9L2NvbW1pdHMvJHtuZXdWZXJzaW9ufWA7XG4gIH1cblxuICByZWxlYXNlTm90ZXMgKz0gYCoqRnVsbCBDaGFuZ2Vsb2cqKjogJHtjaGFuZ2VzVXJsfWA7XG4gIHJldHVybiByZWxlYXNlTm90ZXM7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB2ZXJzaW9uIHVwZGF0ZSBiYXNlZCBvbiB0aGUgaW5wdXQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSBpbnB1dCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlLlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgYFZlcnNpb25VcGRhdGVUeXBlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb25VcGRhdGVUeXBlKHZlcnNpb25VcGRhdGVUeXBlOiBzdHJpbmcpOiBWZXJzaW9uVXBkYXRlVHlwZSB7XG4gIGNvbnN0IHZlcnNpb25VcGRhdGVUeXBlRW51bSA9IHZlcnNpb25VcGRhdGVUeXBlIGFzIFZlcnNpb25VcGRhdGVUeXBlO1xuICBzd2l0Y2ggKHZlcnNpb25VcGRhdGVUeXBlRW51bSkge1xuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuQmV0YTpcbiAgICBjYXNlIFZlcnNpb25VcGRhdGVUeXBlLk1ham9yOlxuICAgIGNhc2UgVmVyc2lvblVwZGF0ZVR5cGUuTWlub3I6XG4gICAgY2FzZSBWZXJzaW9uVXBkYXRlVHlwZS5QYXRjaDpcbiAgICAgIHJldHVybiB2ZXJzaW9uVXBkYXRlVHlwZUVudW07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKC9eXFxkK1xcLlxcZCtcXC5cXGQrKC1bXFx3XFxkLi1dKyk/JC8udGVzdCh2ZXJzaW9uVXBkYXRlVHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLk1hbnVhbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoZXMgY29tbWl0cyBhbmQgdGFncyB0byB0aGUgcmVtb3RlIEdpdCByZXBvc2l0b3J5LlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHB1c2ggb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0UHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KCdnaXQgcHVzaCAtLWZvbGxvdy10YWdzIC0tZm9yY2UnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG59XG5cbi8qKlxuICogUHVibGlzaGVzIGEgR2l0SHViIHJlbGVhc2UgZm9yIHRoZSBuZXcgdmVyc2lvbi5cbiAqXG4gKiBIYW5kbGVzIHRoZSBjcmVhdGlvbiBvZiBhIHJlbGVhc2UgYW5kIHVwbG9hZGluZyBmaWxlcyBmb3IgZWl0aGVyIGFuIE9ic2lkaWFuIHBsdWdpbiBvciBhbm90aGVyIHByb2plY3QuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gbnVtYmVyIGZvciB0aGUgcmVsZWFzZS5cbiAqIEBwYXJhbSBpc09ic2lkaWFuUGx1Z2luIC0gQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHByb2plY3QgaXMgYW4gT2JzaWRpYW4gcGx1Z2luLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVsZWFzZSBoYXMgYmVlbiBwdWJsaXNoZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uOiBzdHJpbmcsIGlzT2JzaWRpYW5QbHVnaW46IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGZpbGVQYXRoczogc3RyaW5nW107XG5cbiAgaWYgKGlzT2JzaWRpYW5QbHVnaW4pIHtcbiAgICBjb25zdCBidWlsZERpciA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCk7XG4gICAgY29uc3QgZmlsZU5hbWVzID0gYXdhaXQgcmVhZGRpclBvc2l4KGJ1aWxkRGlyKTtcbiAgICBmaWxlUGF0aHMgPSBmaWxlTmFtZXMubWFwKChmaWxlTmFtZSkgPT4gam9pbihidWlsZERpciwgZmlsZU5hbWUpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXN1bHRKc29uID0gYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3BhY2snLCAnLS1wYWNrLWRlc3RpbmF0aW9uJywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCAnLS1qc29uJ10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdEpzb24pIGFzIFt7IGZpbGVuYW1lOiBzdHJpbmcgfV07XG4gICAgZmlsZVBhdGhzID0gW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCByZXN1bHRbMF0uZmlsZW5hbWUpXTtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ3JlbGVhc2UnLCAnY3JlYXRlJywgbmV3VmVyc2lvbiwgLi4uZmlsZVBhdGhzLCAnLS10aXRsZScsIGB2JHtuZXdWZXJzaW9ufWAsICctLW5vdGVzLWZpbGUnLCAnLSddLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzdGRpbjogYXdhaXQgZ2V0UmVsZWFzZU5vdGVzKG5ld1ZlcnNpb24pXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGNoYW5nZWxvZyBmaWxlIHdpdGggbmV3IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGNvbW1pdCBtZXNzYWdlcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBjdXJyZW50IGNoYW5nZWxvZywgYXBwZW5kcyBuZXcgZW50cmllcyBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uLFxuICogYW5kIHByb21wdHMgdGhlIHVzZXIgdG8gcmV2aWV3IHRoZSBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBuZXdWZXJzaW9uIC0gVGhlIG5ldyB2ZXJzaW9uIG51bWJlciB0byBiZSBhZGRlZCB0byB0aGUgY2hhbmdlbG9nLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hhbmdlbG9nIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUNoYW5nZWxvZyhuZXdWZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2hhbmdlbG9nUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kKTtcbiAgbGV0IHByZXZpb3VzQ2hhbmdlbG9nTGluZXM6IHN0cmluZ1tdO1xuICBpZiAoIWV4aXN0c1N5bmMoY2hhbmdlbG9nUGF0aCkpIHtcbiAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzID0gW107XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGNoYW5nZWxvZ1BhdGgsICd1dGYtOCcpO1xuICAgIHByZXZpb3VzQ2hhbmdlbG9nTGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKS5zbGljZSgyKTtcbiAgICBpZiAocHJldmlvdXNDaGFuZ2Vsb2dMaW5lcy5hdCgtMSkgPT09ICcnKSB7XG4gICAgICBwcmV2aW91c0NoYW5nZWxvZ0xpbmVzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxhc3RUYWcgPSByZXBsYWNlQWxsKHByZXZpb3VzQ2hhbmdlbG9nTGluZXNbMF0gPz8gJycsICcjIyAnLCAnJyk7XG4gIGNvbnN0IGNvbW1pdFJhbmdlID0gbGFzdFRhZyA/IGAke2xhc3RUYWd9Li5IRUFEYCA6ICdIRUFEJztcbiAgY29uc3QgY29tbWl0TWVzc2FnZXNTdHIgPSBhd2FpdCBleGVjRnJvbVJvb3QoYGdpdCBsb2cgJHtjb21taXRSYW5nZX0gLS1mb3JtYXQ9JUIgLS1maXJzdC1wYXJlbnQgLXpgLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IGNvbW1pdE1lc3NhZ2VzID0gY29tbWl0TWVzc2FnZXNTdHIuc3BsaXQoJ1xcMCcpLmZpbHRlcihCb29sZWFuKS5tYXAodG9TaW5nbGVMaW5lKTtcblxuICBsZXQgbmV3Q2hhbmdlTG9nID0gYCMgQ0hBTkdFTE9HXFxuXFxuIyMgJHtuZXdWZXJzaW9ufVxcblxcbmA7XG5cbiAgZm9yIChjb25zdCBtZXNzYWdlIG9mIGNvbW1pdE1lc3NhZ2VzKSB7XG4gICAgbmV3Q2hhbmdlTG9nICs9IGAtICR7bWVzc2FnZX1cXG5gO1xuICB9XG5cbiAgaWYgKHByZXZpb3VzQ2hhbmdlbG9nTGluZXMubGVuZ3RoID4gMCkge1xuICAgIG5ld0NoYW5nZUxvZyArPSAnXFxuJztcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgcHJldmlvdXNDaGFuZ2Vsb2dMaW5lcykge1xuICAgICAgbmV3Q2hhbmdlTG9nICs9IGAke2xpbmV9XFxuYDtcbiAgICB9XG4gIH1cblxuICBhd2FpdCB3cml0ZUZpbGUoY2hhbmdlbG9nUGF0aCwgbmV3Q2hhbmdlTG9nLCAndXRmLTgnKTtcblxuICBjb25zdCBjb2RlVmVyc2lvbiA9IGF3YWl0IGV4ZWNGcm9tUm9vdCgnY29kZSAtLXZlcnNpb24nLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0TGliRGVidWdnZXIoJ1ZlcnNpb24nKTtcbiAgaWYgKCFjb2RlVmVyc2lvbikge1xuICAgIF9kZWJ1Z2dlcignQ291bGQgbm90IGZpbmQgVmlzdWFsIFN0dWRpbyBDb2RlIGluIHlvdXIgUEFUSC4gVXNpbmcgY29uc29sZSBtb2RlIGluc3RlYWQuJyk7XG4gICAgYXdhaXQgY3JlYXRlSW50ZXJmYWNlKHByb2Nlc3Muc3RkaW4sIHByb2Nlc3Muc3Rkb3V0KS5xdWVzdGlvbihcbiAgICAgIGBQbGVhc2UgdXBkYXRlIHRoZSAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkNoYW5nZWxvZ01kfSBmaWxlLiBQcmVzcyBFbnRlciB3aGVuIHlvdSBhcmUgZG9uZS4uLmBcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIF9kZWJ1Z2dlcihgUGxlYXNlIHVwZGF0ZSB0aGUgJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DaGFuZ2Vsb2dNZH0gZmlsZS4gQ2xvc2UgVmlzdWFsIFN0dWRpbyBDb2RlIHdoZW4geW91IGFyZSBkb25lLi4uYCk7XG4gICAgYXdhaXQgZXhlY0Zyb21Sb290KFsnY29kZScsICctdycsIGNoYW5nZWxvZ1BhdGhdLCB7XG4gICAgICBpc1F1aWV0OiB0cnVlLFxuICAgICAgc2hvdWxkSWdub3JlRXhpdENvZGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB1cGRhdGUgdHlwZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHRhc2tzIHRvIGhhbmRsZSB2ZXJzaW9uIHVwZGF0ZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUuXG4gKiAyLiBDaGVja3MgaWYgR2l0IGFuZCBHaXRIdWIgQ0xJIGFyZSBpbnN0YWxsZWQuXG4gKiAzLiBWZXJpZmllcyB0aGF0IHRoZSBHaXQgcmVwb3NpdG9yeSBpcyBjbGVhbi5cbiAqIDQuIFJ1bnMgc3BlbGxjaGVjayBhbmQgbGludGluZy5cbiAqIDUuIEJ1aWxkcyB0aGUgcHJvamVjdC5cbiAqIDYuIFVwZGF0ZXMgdmVyc2lvbiBpbiBmaWxlcyBhbmQgY2hhbmdlbG9nLlxuICogNy4gQWRkcyB1cGRhdGVkIGZpbGVzIHRvIEdpdCwgdGFncyB0aGUgY29tbWl0LCBhbmQgcHVzaGVzIHRvIHRoZSByZXBvc2l0b3J5LlxuICogOC4gSWYgYW4gT2JzaWRpYW4gcGx1Z2luLCBjb3BpZXMgdGhlIHVwZGF0ZWQgbWFuaWZlc3QgYW5kIHB1Ymxpc2hlcyBhIEdpdEh1YiByZWxlYXNlLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uVXBkYXRlVHlwZSAtIFRoZSB0eXBlIG9mIHZlcnNpb24gdXBkYXRlIHRvIHBlcmZvcm0gKG1ham9yLCBtaW5vciwgcGF0Y2gsIGJldGEsIG9yIHgueS56Wy1iZXRhOnVdKS5cbiAqIEBwYXJhbSBwcmVwYXJlR2l0SHViUmVsZWFzZSAtIEEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgR2l0SHViIHJlbGVhc2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB2ZXJzaW9uIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb24odmVyc2lvblVwZGF0ZVR5cGU/OiBzdHJpbmcsIHByZXBhcmVHaXRIdWJSZWxlYXNlPzogKG5ld1ZlcnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXZlcnNpb25VcGRhdGVUeXBlKSB7XG4gICAgY29uc3QgbnBtT2xkVmVyc2lvbiA9IHByb2Nlc3MuZW52WyducG1fb2xkX3ZlcnNpb24nXTtcbiAgICBjb25zdCBucG1OZXdWZXJzaW9uID0gcHJvY2Vzcy5lbnZbJ25wbV9uZXdfdmVyc2lvbiddO1xuXG4gICAgaWYgKG5wbU9sZFZlcnNpb24gJiYgbnBtTmV3VmVyc2lvbikge1xuICAgICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobnBtT2xkVmVyc2lvbik7XG4gICAgICBhd2FpdCB1cGRhdGVWZXJzaW9uKG5wbU5ld1ZlcnNpb24sIHByZXBhcmVHaXRIdWJSZWxlYXNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZlcnNpb24gdXBkYXRlIHR5cGUgcHJvdmlkZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGlzT2JzaWRpYW5QbHVnaW4gPSBleGlzdHNTeW5jKHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbikpO1xuXG4gIHZhbGlkYXRlKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgY2hlY2tHaXRJbnN0YWxsZWQoKTtcbiAgYXdhaXQgY2hlY2tHaXRSZXBvQ2xlYW4oKTtcbiAgYXdhaXQgY2hlY2tHaXRIdWJDbGlJbnN0YWxsZWQoKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnZm9ybWF0OmNoZWNrJyk7XG4gIGF3YWl0IHJ1bkNvbW1hbmQoJ3NwZWxsY2hlY2snKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnYnVpbGQnKTtcbiAgYXdhaXQgcnVuQ29tbWFuZCgnbGludCcpO1xuXG4gIGNvbnN0IG5ld1ZlcnNpb24gPSBhd2FpdCBnZXROZXdWZXJzaW9uKHZlcnNpb25VcGRhdGVUeXBlKTtcbiAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXMobmV3VmVyc2lvbik7XG4gIGlmIChpc09ic2lkaWFuUGx1Z2luKSB7XG4gICAgYXdhaXQgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW4obmV3VmVyc2lvbik7XG4gIH1cblxuICBpZiAoZ2V0VmVyc2lvblVwZGF0ZVR5cGUodmVyc2lvblVwZGF0ZVR5cGUpICE9PSBWZXJzaW9uVXBkYXRlVHlwZS5CZXRhKSB7XG4gICAgYXdhaXQgdXBkYXRlQ2hhbmdlbG9nKG5ld1ZlcnNpb24pO1xuICB9XG5cbiAgYXdhaXQgYWRkVXBkYXRlZEZpbGVzVG9HaXQobmV3VmVyc2lvbik7XG4gIGF3YWl0IGFkZEdpdFRhZyhuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZ2l0UHVzaCgpO1xuICBhd2FpdCBwcmVwYXJlR2l0SHViUmVsZWFzZT8uKG5ld1ZlcnNpb24pO1xuICBhd2FpdCBwdWJsaXNoR2l0SHViUmVsZWFzZShuZXdWZXJzaW9uLCBpc09ic2lkaWFuUGx1Z2luKTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSB2ZXJzaW9uIGluIHZhcmlvdXMgZmlsZXMsIGluY2x1ZGluZyBgcGFja2FnZS5qc29uYCwgYHBhY2thZ2UtbG9jay5qc29uYCxcbiAqIGFuZCBPYnNpZGlhbiBwbHVnaW4gbWFuaWZlc3RzIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG5ld1ZlcnNpb24gLSBUaGUgbmV3IHZlcnNpb24gc3RyaW5nIHRvIHVwZGF0ZSBpbiB0aGUgZmlsZXMuXG4gKiBAcmV0dXJucyBBIGBQcm9taXNlYCB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBlZGl0UGFja2FnZUpzb24oKHBhY2thZ2VKc29uKSA9PiB7XG4gICAgcGFja2FnZUpzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gIH0pO1xuXG4gIGF3YWl0IGVkaXRQYWNrYWdlTG9ja0pzb24odXBkYXRlLCB7IHNob3VsZFNraXBJZk1pc3Npbmc6IHRydWUgfSk7XG4gIGF3YWl0IGVkaXROcG1TaHJpbmtXcmFwSnNvbih1cGRhdGUsIHsgc2hvdWxkU2tpcElmTWlzc2luZzogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiB1cGRhdGUocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pOiB2b2lkIHtcbiAgICBwYWNrYWdlTG9ja0pzb24udmVyc2lvbiA9IG5ld1ZlcnNpb247XG4gICAgY29uc3QgZGVmYXVsdFBhY2thZ2UgPSBwYWNrYWdlTG9ja0pzb24ucGFja2FnZXM/LlsnJ107XG4gICAgaWYgKGRlZmF1bHRQYWNrYWdlKSB7XG4gICAgICBkZWZhdWx0UGFja2FnZS52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gZW5zdXJlIGl0IGlzIGVpdGhlciBhIHJlY29nbml6ZWQgdHlwZVxuICogb3IgYSB2YWxpZCBtYW51YWwgdmVyc2lvbiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZlcnNpb25VcGRhdGVUeXBlIC0gVGhlIHZlcnNpb24gdXBkYXRlIHR5cGUgdG8gdmFsaWRhdGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSB2ZXJzaW9uIHVwZGF0ZSB0eXBlIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZSh2ZXJzaW9uVXBkYXRlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChnZXRWZXJzaW9uVXBkYXRlVHlwZSh2ZXJzaW9uVXBkYXRlVHlwZSkgPT09IFZlcnNpb25VcGRhdGVUeXBlLkludmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiB1cGRhdGUgdHlwZS4gUGxlYXNlIHVzZSBcXCdtYWpvclxcJywgXFwnbWlub3JcXCcsIFxcJ3BhdGNoXFwnLCBvciBcXCd4Lnkuelstc3VmZml4XVxcJyBmb3JtYXQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZXMgQVBJLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBPYnNpZGlhbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0T2JzaWRpYW5WZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mvb2JzaWRpYW5tZC9vYnNpZGlhbi1yZWxlYXNlcy9yZWxlYXNlcy9sYXRlc3QnKTtcbiAgY29uc3Qgb2JzaWRpYW5SZWxlYXNlc0pzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgUGFydGlhbDxPYnNpZGlhblJlbGVhc2VzSnNvbj47XG4gIHJldHVybiBvYnNpZGlhblJlbGVhc2VzSnNvbi5uYW1lID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBuYW1lIG9mIHRoZSBsYXRlc3QgT2JzaWRpYW4gcmVsZWFzZScpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgaXNLbm93bkNvbW1hbmQgPSBPYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5zY3JpcHRzID8/IHt9KS5pbmNsdWRlcyhjb21tYW5kKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnBtJywgJ3J1bicsIC4uLihpc0tub3duQ29tbWFuZCA/IFtdIDogWydvYnNpZGlhbi1kZXYtdXRpbHMnXSksIGNvbW1hbmRdKTtcbn1cblxuZnVuY3Rpb24gdG9TaW5nbGVMaW5lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBzdHIuc3BsaXQoL1xccj9cXG4vKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiBsaW5lcy5qb2luKCcgJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVZlcnNpb25JbkZpbGVzRm9yUGx1Z2luKG5ld1ZlcnNpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBsYXRlc3RPYnNpZGlhblZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RPYnNpZGlhblZlcnNpb24oKTtcblxuICBhd2FpdCBlZGl0SnNvbjxNYW5pZmVzdD4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFuaWZlc3RKc29uLCAobWFuaWZlc3QpID0+IHtcbiAgICBtYW5pZmVzdC5taW5BcHBWZXJzaW9uID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICAgIG1hbmlmZXN0LnZlcnNpb24gPSBuZXdWZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBlZGl0SnNvbjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5WZXJzaW9uc0pzb24sICh2ZXJzaW9ucykgPT4ge1xuICAgIHZlcnNpb25zW25ld1ZlcnNpb25dID0gbGF0ZXN0T2JzaWRpYW5WZXJzaW9uO1xuICB9KTtcblxuICBhd2FpdCBjb3B5VXBkYXRlZE1hbmlmZXN0KCk7XG59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
package/dist/lib/url.cjs CHANGED
@@ -5,7 +5,9 @@ if you want to view the source, please visit the github repository of this plugi
5
5
 
6
6
  function __extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}
7
7
 
8
- (function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id)??{};return __extractDefault(module)},__require)})()
8
+ (function patchRequireEsmDefault(){if(require.__patched){return}const __require=require;require=Object.assign(requirePatched,__require,{__patched:true});function requirePatched(id){const module=__require(id);if(module){return __extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})()
9
+
10
+ (function patchProcess(){if(globalThis.process){return}globalThis.process={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"}})()
9
11
 
10
12
  "use strict";
11
13
  var __defProp = Object.defineProperty;
@@ -48,4 +50,4 @@ function isUrl(str) {
48
50
  0 && (module.exports = {
49
51
  isUrl
50
52
  });
51
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdXJsXG4gKiBDb250YWlucyBhIHV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgVVJMcy5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhIHZhbGlkIFVSTFxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHZhbGlkYXRlIGFzIGEgVVJMLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBVUkwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBpZiAoIXN0ci5pbmNsdWRlcygnOi8vJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHN0ci50cmltKCkgIT09IHN0cikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuZXcgVVJMKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdPLFNBQVMsTUFBTSxLQUFzQjtBQUMxQyxNQUFJO0FBQ0YsUUFBSSxDQUFDLElBQUksU0FBUyxLQUFLLEdBQUc7QUFDeEIsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLElBQUksS0FBSyxNQUFNLEtBQUs7QUFDdEIsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLElBQUksR0FBRztBQUNYLFdBQU87QUFBQSxFQUNULFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3VybC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gdXJsXG4gKiBDb250YWlucyBhIHV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgVVJMcy5cbiAqL1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhIHZhbGlkIFVSTFxuICpcbiAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIHZhbGlkYXRlIGFzIGEgVVJMLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBVUkwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBpZiAoIXN0ci5pbmNsdWRlcygnOi8vJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHN0ci50cmltKCkgIT09IHN0cikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuZXcgVVJMKHN0cik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV08sU0FBUyxNQUFNLEtBQXNCO0FBQzFDLE1BQUk7QUFDRixRQUFJLENBQUMsSUFBSSxTQUFTLEtBQUssR0FBRztBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxLQUFLLE1BQU0sS0FBSztBQUN0QixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksSUFBSSxHQUFHO0FBQ1gsV0FBTztBQUFBLEVBQ1QsUUFBUTtBQUNOLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "16.4.3",
3
+ "version": "16.5.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "keywords": [
6
6
  "obsidian"
@@ -433,7 +433,7 @@
433
433
  "version": "tsx scripts/version.ts"
434
434
  },
435
435
  "dependencies": {
436
- "@eslint/js": "^9.18.0",
436
+ "@eslint/js": "^9.19.0",
437
437
  "@guardian/eslint-plugin-tsdoc-required": "^0.1.3",
438
438
  "@lezer/common": "^1.2.3",
439
439
  "@stylistic/eslint-plugin": "^2.13.0",
@@ -458,7 +458,7 @@
458
458
  "dprint": "^0.48.0",
459
459
  "enhanced-resolve": "^5.18.0",
460
460
  "esbuild": "^0.24.2",
461
- "eslint": "^9.18.0",
461
+ "eslint": "^9.19.0",
462
462
  "eslint-import-resolver-typescript": "^3.7.0",
463
463
  "eslint-plugin-import-x": "^4.6.1",
464
464
  "eslint-plugin-modules-newlines": "^0.0.7",