obsidian-dev-utils 29.0.2 → 30.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/lib/cjs/Library.cjs +1 -1
  3. package/dist/lib/cjs/ObjectUtils.cjs +430 -0
  4. package/dist/lib/cjs/ScriptUtils/JSON.cjs +4 -4
  5. package/dist/lib/cjs/ScriptUtils/Npm.cjs +7 -7
  6. package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +3 -3
  7. package/dist/lib/cjs/Transformers/Transformer.cjs +3 -3
  8. package/dist/lib/cjs/Transformers/Transformer.d.cts +1 -1
  9. package/dist/lib/cjs/index.cjs +4 -4
  10. package/dist/lib/cjs/index.d.cts +1 -1
  11. package/dist/lib/cjs/obsidian/App.cjs +1 -1
  12. package/dist/lib/cjs/obsidian/FileChange.cjs +8 -8
  13. package/dist/lib/cjs/obsidian/FileManager.cjs +3 -3
  14. package/dist/lib/cjs/obsidian/Frontmatter.cjs +1 -1
  15. package/dist/lib/cjs/obsidian/Frontmatter.d.cts +1 -1
  16. package/dist/lib/cjs/obsidian/Link.cjs +11 -11
  17. package/dist/lib/cjs/obsidian/MetadataCache.cjs +4 -4
  18. package/dist/lib/cjs/obsidian/MonkeyAround.cjs +1 -1
  19. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +5 -5
  20. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +1 -1
  21. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +4 -4
  22. package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +6 -6
  23. package/dist/lib/esm/Library.mjs +1 -1
  24. package/dist/lib/esm/ObjectUtils.mjs +396 -0
  25. package/dist/lib/esm/ScriptUtils/JSON.mjs +2 -2
  26. package/dist/lib/esm/ScriptUtils/Npm.mjs +2 -2
  27. package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +2 -2
  28. package/dist/lib/esm/Transformers/Transformer.d.mts +1 -1
  29. package/dist/lib/esm/Transformers/Transformer.mjs +2 -2
  30. package/dist/lib/esm/index.d.mts +1 -1
  31. package/dist/lib/esm/index.mjs +3 -3
  32. package/dist/lib/esm/obsidian/App.mjs +1 -1
  33. package/dist/lib/esm/obsidian/FileChange.mjs +2 -2
  34. package/dist/lib/esm/obsidian/FileManager.mjs +2 -2
  35. package/dist/lib/esm/obsidian/Frontmatter.d.mts +1 -1
  36. package/dist/lib/esm/obsidian/Frontmatter.mjs +1 -1
  37. package/dist/lib/esm/obsidian/Link.mjs +2 -2
  38. package/dist/lib/esm/obsidian/MetadataCache.mjs +2 -2
  39. package/dist/lib/esm/obsidian/MonkeyAround.mjs +1 -1
  40. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +1 -1
  41. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +2 -2
  42. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +2 -2
  43. package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +2 -2
  44. package/package.json +1 -1
  45. package/dist/lib/cjs/Object.cjs +0 -430
  46. package/dist/lib/esm/Object.mjs +0 -396
  47. /package/dist/lib/cjs/{Object.d.cts → ObjectUtils.d.cts} +0 -0
  48. /package/dist/lib/esm/{Object.d.mts → ObjectUtils.d.mts} +0 -0
@@ -44,7 +44,7 @@ __export(Npm_exports, {
44
44
  });
45
45
  module.exports = __toCommonJS(Npm_exports);
46
46
  var import_Error = require('../Error.cjs');
47
- var import_Object = require('../Object.cjs');
47
+ var import_ObjectUtils = require('../ObjectUtils.cjs');
48
48
  var import_ObsidianPluginRepoPaths = require('../obsidian/Plugin/ObsidianPluginRepoPaths.cjs');
49
49
  var import_JSON = require('./JSON.cjs');
50
50
  var import_Root = require('./Root.cjs');
@@ -53,35 +53,35 @@ async function editNpmShrinkWrapJson(editFn, options = {}) {
53
53
  cwd,
54
54
  shouldSkipIfMissing
55
55
  } = options;
56
- await (0, import_JSON.editJson)(getNpmShrinkWrapJsonPath(cwd), editFn, (0, import_Object.normalizeOptionalProperties)({ shouldSkipIfMissing }));
56
+ await (0, import_JSON.editJson)(getNpmShrinkWrapJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
57
57
  }
58
58
  async function editPackageJson(editFn, options = {}) {
59
59
  const {
60
60
  cwd,
61
61
  shouldSkipIfMissing
62
62
  } = options;
63
- await (0, import_JSON.editJson)(getPackageJsonPath(cwd), editFn, (0, import_Object.normalizeOptionalProperties)({ shouldSkipIfMissing }));
63
+ await (0, import_JSON.editJson)(getPackageJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
64
64
  }
65
65
  function editPackageJsonSync(editFn, options = {}) {
66
66
  const {
67
67
  cwd,
68
68
  shouldSkipIfMissing
69
69
  } = options;
70
- (0, import_JSON.editJsonSync)(getPackageJsonPath(cwd), editFn, (0, import_Object.normalizeOptionalProperties)({ shouldSkipIfMissing }));
70
+ (0, import_JSON.editJsonSync)(getPackageJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
71
71
  }
72
72
  async function editPackageLockJson(editFn, options = {}) {
73
73
  const {
74
74
  cwd,
75
75
  shouldSkipIfMissing
76
76
  } = options;
77
- await (0, import_JSON.editJson)(getPackageLockJsonPath(cwd), editFn, (0, import_Object.normalizeOptionalProperties)({ shouldSkipIfMissing }));
77
+ await (0, import_JSON.editJson)(getPackageLockJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
78
78
  }
79
79
  function editPackageLockJsonSync(editFn, options = {}) {
80
80
  const {
81
81
  cwd,
82
82
  shouldSkipIfMissing
83
83
  } = options;
84
- (0, import_JSON.editJsonSync)(getPackageLockJsonPath(cwd), editFn, (0, import_Object.normalizeOptionalProperties)({ shouldSkipIfMissing }));
84
+ (0, import_JSON.editJsonSync)(getPackageLockJsonPath(cwd), editFn, (0, import_ObjectUtils.normalizeOptionalProperties)({ shouldSkipIfMissing }));
85
85
  }
86
86
  function getNpmShrinkWrapJsonPath(cwd) {
87
87
  return (0, import_Root.resolvePathFromRoot)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.NpmShrinkwrapJson, cwd) ?? (0, import_Error.throwExpression)(new Error("Could not determine the npm-shrinkwrap.json path"));
@@ -135,4 +135,4 @@ function writePackageLockJsonSync(packageLockJson, cwd) {
135
135
  writePackageLockJson,
136
136
  writePackageLockJsonSync
137
137
  });
138
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgTlBNIHBhY2thZ2UuanNvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBhY2thZ2VKc29uLFxuICBQcm9taXNhYmxlXG59IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgRWRpdEpzb25PcHRpb25zIH0gZnJvbSAnLi9KU09OLnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4vUGx1Z2luL09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGVkaXRKc29uLFxuICBlZGl0SnNvblN5bmMsXG4gIHJlYWRKc29uLFxuICByZWFkSnNvblN5bmMsXG4gIHdyaXRlSnNvbixcbiAgd3JpdGVKc29uU3luY1xufSBmcm9tICcuL0pTT04udHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4vUm9vdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZWRpdGluZyBhIHBhY2thZ2UuanNvbiBmaWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAgICovXG4gIGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2tpcHMgZWRpdGluZyBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdC5cbiAgICovXG4gIHNob3VsZFNraXBJZk1pc3Npbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgdHlwZSB7IFBhY2thZ2VKc29uIH07XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlTG9ja0pzb24gZXh0ZW5kcyBQYXJ0aWFsPFBhY2thZ2VKc29uPiB7XG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZXMgaW4gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAgICovXG4gIHBhY2thZ2VzPzogUmVjb3JkPHN0cmluZywgUGFja2FnZUpzb24+O1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0TnBtU2hyaW5rV3JhcEpzb24oXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPFBhY2thZ2VKc29uPihnZXROcG1TaHJpbmtXcmFwSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdFBhY2thZ2VKc29uKFxuICBlZGl0Rm46IChwYWNrYWdlSnNvbjogUGFja2FnZUpzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVkaXRQYWNrYWdlSnNvblN5bmMoXG4gIGVkaXRGbjogKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbikgPT4gdm9pZCxcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBlZGl0SnNvblN5bmM8UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRQYWNrYWdlTG9ja0pzb24oXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGF3YWl0IGVkaXRKc29uPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFBhY2thZ2VMb2NrSnNvblN5bmMoXG4gIGVkaXRGbjogKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGVkaXRKc29uU3luYzxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgbnBtLXNocmlua3dyYXAuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgbnBtLXNocmlua3dyYXAuanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5wbVNocmlua1dyYXBKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZVBhdGhGcm9tUm9vdChPYnNpZGlhblBsdWdpblJlcG9QYXRocy5OcG1TaHJpbmt3cmFwSnNvbiwgY3dkKSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBucG0tc2hyaW5rd3JhcC5qc29uIHBhdGgnKSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUpzb25QYXRoKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXNvbHZlUGF0aEZyb21Sb290KE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBhY2thZ2VKc29uLCBjd2QpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UuanNvbiBwYXRoJykpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBwYXRoIHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUxvY2tKc29uLCBjd2QpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhY2thZ2UtbG9jay5qc29uIHBhdGgnKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvbihjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPFBhY2thZ2VKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQYWNrYWdlSnNvblN5bmMoY3dkPzogc3RyaW5nKTogUGFja2FnZUpzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uKGN3ZD86IHN0cmluZyk6IFByb21pc2U8UGFja2FnZUxvY2tKc29uPiB7XG4gIHJldHVybiBhd2FpdCByZWFkSnNvbjxQYWNrYWdlTG9ja0pzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkUGFja2FnZUxvY2tKc29uU3luYyhjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlTG9ja0pzb24ge1xuICByZXR1cm4gcmVhZEpzb25TeW5jPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlSnNvbiAtIFRoZSBgUGFja2FnZUpzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbiwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSwgcGFja2FnZUpzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VKc29uIC0gVGhlIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBhY2thZ2VKc29uU3luYyhwYWNrYWdlSnNvbjogUGFja2FnZUpzb24sIGN3ZD86IHN0cmluZyk6IHZvaWQge1xuICB3cml0ZUpzb25TeW5jKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBwYWNrYWdlSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290LlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTG9ja0pzb24gLSBUaGUgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLWxvY2suanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb24ocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCB3cml0ZUpzb24oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBwYWNrYWdlTG9ja0pzb24pO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VMb2NrSnNvbiAtIFRoZSBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQYWNrYWdlTG9ja0pzb25TeW5jKHBhY2thZ2VMb2NrSnNvbjogUGFja2FnZUxvY2tKc29uLCBjd2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgd3JpdGVKc29uU3luYyhnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHBhY2thZ2VMb2NrSnNvbik7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBLG1CQUFnQztBQUNoQyxvQkFBNEM7QUFDNUMscUNBQXdDO0FBQ3hDLGtCQU9PO0FBQ1Asa0JBQW9DO0FBdUNwQyxlQUFzQixzQkFDcEIsUUFDQSxVQUFrQyxDQUFDLEdBQ3BCO0FBQ2YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNB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
138
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL05wbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgTlBNIHBhY2thZ2UuanNvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBhY2thZ2VKc29uLFxuICBQcm9taXNhYmxlXG59IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgRWRpdEpzb25PcHRpb25zIH0gZnJvbSAnLi9KU09OLnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi9QbHVnaW4vT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZWRpdEpzb24sXG4gIGVkaXRKc29uU3luYyxcbiAgcmVhZEpzb24sXG4gIHJlYWRKc29uU3luYyxcbiAgd3JpdGVKc29uLFxuICB3cml0ZUpzb25TeW5jXG59IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBlZGl0aW5nIGEgcGFja2FnZS5qc29uIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdFBhY2thZ2VKc29uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICAgKi9cbiAgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBza2lwcyBlZGl0aW5nIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICAgKi9cbiAgc2hvdWxkU2tpcElmTWlzc2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCB0eXBlIHsgUGFja2FnZUpzb24gfTtcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VMb2NrSnNvbiBleHRlbmRzIFBhcnRpYWw8UGFja2FnZUpzb24+IHtcbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlcyBpbiB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICAgKi9cbiAgcGFja2FnZXM/OiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSnNvbj47XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGVkaXRlZCBhbmQgd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXROcG1TaHJpbmtXcmFwSnNvbihcbiAgZWRpdEZuOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KGdldE5wbVNocmlua1dyYXBKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVhZHMsIGVkaXRzLCBhbmQgd3JpdGVzIGJhY2sgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VKc29uYCBvYmplY3QuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgZWRpdGluZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBlZGl0ZWQgYW5kIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UGFja2FnZUpzb24oXG4gIGVkaXRGbjogKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbikgPT4gUHJvbWlzYWJsZTx2b2lkPixcbiAgb3B0aW9uczogRWRpdFBhY2thZ2VKc29uT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGN3ZCxcbiAgICBzaG91bGRTa2lwSWZNaXNzaW5nXG4gIH0gPSBvcHRpb25zO1xuICBhd2FpdCBlZGl0SnNvbjxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSB1c2luZyB0aGUgcHJvdmlkZWQgZWRpdCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZWRpdEZuIC0gVGhlIGZ1bmN0aW9uIHRvIGVkaXQgdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBlZGl0aW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFBhY2thZ2VKc29uU3luYyhcbiAgZWRpdEZuOiAocGFja2FnZUpzb246IFBhY2thZ2VKc29uKSA9PiB2b2lkLFxuICBvcHRpb25zOiBFZGl0UGFja2FnZUpzb25PcHRpb25zID0ge31cbik6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY3dkLFxuICAgIHNob3VsZFNraXBJZk1pc3NpbmdcbiAgfSA9IG9wdGlvbnM7XG4gIGVkaXRKc29uU3luYzxQYWNrYWdlSnNvbj4oZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIGVkaXRGbiwgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEVkaXRKc29uT3B0aW9ucz4oeyBzaG91bGRTa2lwSWZNaXNzaW5nIH0pKTtcbn1cblxuLyoqXG4gKiBSZWFkcywgZWRpdHMsIGFuZCB3cml0ZXMgYmFjayB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIHVzaW5nIHRoZSBwcm92aWRlZCBlZGl0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBlZGl0Rm4gLSBUaGUgZnVuY3Rpb24gdG8gZWRpdCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCB3cml0dGVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdFBhY2thZ2VMb2NrSnNvbihcbiAgZWRpdEZuOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IFByb21pc2FibGU8dm9pZD4sXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgYXdhaXQgZWRpdEpzb248UGFja2FnZUpzb24+KGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSwgZWRpdEZuLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RWRpdEpzb25PcHRpb25zPih7IHNob3VsZFNraXBJZk1pc3NpbmcgfSkpO1xufVxuXG4vKipcbiAqIFJlYWRzLCBlZGl0cywgYW5kIHdyaXRlcyBiYWNrIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGVkaXQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGVkaXRGbiAtIFRoZSBmdW5jdGlvbiB0byBlZGl0IHRoZSBwYXJzZWQgYFBhY2thZ2VMb2NrSnNvbmAgb2JqZWN0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGVkaXRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlZGl0UGFja2FnZUxvY2tKc29uU3luYyhcbiAgZWRpdEZuOiAocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24pID0+IHZvaWQsXG4gIG9wdGlvbnM6IEVkaXRQYWNrYWdlSnNvbk9wdGlvbnMgPSB7fVxuKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBjd2QsXG4gICAgc2hvdWxkU2tpcElmTWlzc2luZ1xuICB9ID0gb3B0aW9ucztcbiAgZWRpdEpzb25TeW5jPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpLCBlZGl0Rm4sIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxFZGl0SnNvbk9wdGlvbnM+KHsgc2hvdWxkU2tpcElmTWlzc2luZyB9KSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBucG0tc2hyaW5rd3JhcC5qc29uYCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGluIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBucG0tc2hyaW5rd3JhcC5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBucG0tc2hyaW5rd3JhcC5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnBtU2hyaW5rV3JhcEpzb25QYXRoKGN3ZD86IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXNvbHZlUGF0aEZyb21Sb290KE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk5wbVNocmlua3dyYXBKc29uLCBjd2QpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIG5wbS1zaHJpbmt3cmFwLmpzb24gcGF0aCcpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWNrYWdlSnNvblBhdGgoY3dkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVQYXRoRnJvbVJvb3QoT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGFja2FnZUpzb24sIGN3ZCkgPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ291bGQgbm90IGRldGVybWluZSB0aGUgcGFja2FnZS5qc29uIHBhdGgnKSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhdGggdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgcGF0aCB0byB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2Q/OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZVBhdGhGcm9tUm9vdChPYnNpZGlhblBsdWdpblJlcG9QYXRocy5QYWNrYWdlTG9ja0pzb24sIGN3ZCkgPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ291bGQgbm90IGRldGVybWluZSB0aGUgcGFja2FnZS1sb2NrLmpzb24gcGF0aCcpKTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBmcm9tIHRoZSBzcGVjaWZpZWQgZm9sZGVyIG9yIGZyb20gdGhlIHJvb3QgaWYgbm8gZm9sZGVyIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFBhY2thZ2VKc29uKGN3ZD86IHN0cmluZyk6IFByb21pc2U8UGFja2FnZUpzb24+IHtcbiAgcmV0dXJuIGF3YWl0IHJlYWRKc29uPFBhY2thZ2VKc29uPihnZXRQYWNrYWdlSnNvblBhdGgoY3dkKSk7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBmcm9tIHRoZSByb290IGlmIG5vIGZvbGRlciBpcyBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGBQYWNrYWdlSnNvbmAgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZFBhY2thZ2VKc29uU3luYyhjd2Q/OiBzdHJpbmcpOiBQYWNrYWdlSnNvbiB7XG4gIHJldHVybiByZWFkSnNvblN5bmM8UGFja2FnZUpzb24+KGdldFBhY2thZ2VKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHBhcnNlZCBgUGFja2FnZUpzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRQYWNrYWdlTG9ja0pzb24oY3dkPzogc3RyaW5nKTogUHJvbWlzZTxQYWNrYWdlTG9ja0pzb24+IHtcbiAgcmV0dXJuIGF3YWl0IHJlYWRKc29uPFBhY2thZ2VMb2NrSnNvbj4oZ2V0UGFja2FnZUxvY2tKc29uUGF0aChjd2QpKTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgYHBhY2thZ2UtbG9jay5qc29uYCBmaWxlIGZyb20gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgZnJvbSB0aGUgcm9vdCBpZiBubyBmb2xkZXIgaXMgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQYWNrYWdlTG9ja0pzb25TeW5jKGN3ZD86IHN0cmluZyk6IFBhY2thZ2VMb2NrSnNvbiB7XG4gIHJldHVybiByZWFkSnNvblN5bmM8UGFja2FnZUxvY2tKc29uPihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCkpO1xufVxuXG4vKipcbiAqIFdyaXRlcyB0aGUgcHJvdmlkZWQgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VKc29uIC0gVGhlIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHdyaXRlLlxuICogQHBhcmFtIGN3ZCAtIFRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyIHdoZXJlIGBwYWNrYWdlLmpzb25gIGlzIGxvY2F0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gd3JpdHRlbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlUGFja2FnZUpzb24ocGFja2FnZUpzb246IFBhY2thZ2VKc29uLCBjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgd3JpdGVKc29uKGdldFBhY2thZ2VKc29uUGF0aChjd2QpLCBwYWNrYWdlSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUpzb25gIG9iamVjdCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZUpzb24gLSBUaGUgYFBhY2thZ2VKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UuanNvbmAgaXMgbG9jYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlUGFja2FnZUpzb25TeW5jKHBhY2thZ2VKc29uOiBQYWNrYWdlSnNvbiwgY3dkPzogc3RyaW5nKTogdm9pZCB7XG4gIHdyaXRlSnNvblN5bmMoZ2V0UGFja2FnZUpzb25QYXRoKGN3ZCksIHBhY2thZ2VKc29uKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgdGhlIHByb3ZpZGVkIGBQYWNrYWdlSnNvbmAgb2JqZWN0IHRvIHRoZSBgcGFja2FnZS1sb2NrLmpzb25gIGZpbGUgaW4gdGhlIHNwZWNpZmllZCBmb2xkZXIgb3IgaW4gdGhlIHJvb3QuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VMb2NrSnNvbiAtIFRoZSBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gd3JpdGUuXG4gKiBAcGFyYW0gY3dkIC0gVGhlIGN1cnJlbnQgd29ya2luZyBmb2xkZXIgd2hlcmUgYHBhY2thZ2UtbG9jay5qc29uYCBpcyBsb2NhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIHdyaXR0ZW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVBhY2thZ2VMb2NrSnNvbihwYWNrYWdlTG9ja0pzb246IFBhY2thZ2VMb2NrSnNvbiwgY3dkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHdyaXRlSnNvbihnZXRQYWNrYWdlTG9ja0pzb25QYXRoKGN3ZCksIHBhY2thZ2VMb2NrSnNvbik7XG59XG5cbi8qKlxuICogV3JpdGVzIHRoZSBwcm92aWRlZCBgUGFja2FnZUxvY2tKc29uYCBvYmplY3QgdG8gdGhlIGBwYWNrYWdlLWxvY2suanNvbmAgZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlciBvciBpbiB0aGUgcm9vdC5cbiAqXG4gKiBAcGFyYW0gcGFja2FnZUxvY2tKc29uIC0gVGhlIGBQYWNrYWdlTG9ja0pzb25gIG9iamVjdCB0byB3cml0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgY3VycmVudCB3b3JraW5nIGZvbGRlciB3aGVyZSBgcGFja2FnZS1sb2NrLmpzb25gIGlzIGxvY2F0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBhY2thZ2VMb2NrSnNvblN5bmMocGFja2FnZUxvY2tKc29uOiBQYWNrYWdlTG9ja0pzb24sIGN3ZD86IHN0cmluZyk6IHZvaWQge1xuICB3cml0ZUpzb25TeW5jKGdldFBhY2thZ2VMb2NrSnNvblBhdGgoY3dkKSwgcGFja2FnZUxvY2tKc29uKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsbUJBQWdDO0FBQ2hDLHlCQUE0QztBQUM1QyxxQ0FBd0M7QUFDeEMsa0JBT087QUFDUCxrQkFBb0M7QUF1Q3BDLGVBQXNCLHNCQUNwQixRQUNBLFVBQWtDLENBQUMsR0FDcEI7QUFDZixRQUFNO0FBQUEsSUFDSjtBQUFB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
@@ -28,7 +28,7 @@ __export(preprocessPlugin_exports, {
28
28
  preprocessPlugin: () => preprocessPlugin
29
29
  });
30
30
  module.exports = __toCommonJS(preprocessPlugin_exports);
31
- var import_Object = require('../../Object.cjs');
31
+ var import_ObjectUtils = require('../../ObjectUtils.cjs');
32
32
  var import_String = require('../../String.cjs');
33
33
  var import_NodeModules = require('../NodeModules.cjs');
34
34
  function preprocessPlugin(isEsm) {
@@ -64,7 +64,7 @@ function preprocessPlugin(isEsm) {
64
64
  if (!contents.includes(key)) {
65
65
  continue;
66
66
  }
67
- const valueStr = typeof value === "function" ? `(${value.toString()})()` : (0, import_Object.toJson)(value, { functionHandlingMode: import_Object.FunctionHandlingMode.Full });
67
+ const valueStr = typeof value === "function" ? `(${value.toString()})()` : (0, import_ObjectUtils.toJson)(value, { functionHandlingMode: import_ObjectUtils.FunctionHandlingMode.Full });
68
68
  if (contents.includes(`var ${variable}`)) {
69
69
  continue;
70
70
  }
@@ -143,4 +143,4 @@ function initEsm() {
143
143
  0 && (module.exports = {
144
144
  preprocessPlugin
145
145
  });
146
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvcHJlcHJvY2Vzc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljT2JqZWN0IH0gZnJvbSAnLi4vLi4vT2JqZWN0LnRzJztcblxuaW1wb3J0IHtcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIHRvSnNvblxufSBmcm9tICcuLi8uLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICByZXBsYWNlQWxsXG59IGZyb20gJy4uLy4uL1N0cmluZy50cyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcblxuaW50ZXJmYWNlIEJyb3dzZXJQcm9jZXNzIGV4dGVuZHMgUGFydGlhbDxOb2RlSlMuUHJvY2Vzcz4ge1xuICBicm93c2VyOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgRXNtTW9kdWxlIHtcbiAgX19lc01vZHVsZTogYm9vbGVhbjtcbiAgZGVmYXVsdDogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFJlcXVpcmVQYXRjaGVkIGV4dGVuZHMgTm9kZUpTLlJlcXVpcmUge1xuICBfX2lzUGF0Y2hlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gUmVwbGFjZXMgaW5zdGFuY2VzIG9mIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBgX19maWxlbmFtZWAgYWx0ZXJuYXRpdmUuXG4gKiAtIE1vZGlmaWVzIHRoZSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbS5cbiAqIC0gQWRkcyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgdG8gdGhlIGdsb2JhbCBzY29wZSBpZiBgcHJvY2Vzc2AgaXMgcmVmZXJlbmNlZCBidXQgbm90IGRlZmluZWQuXG4gKlxuICogQHBhcmFtIGlzRXNtIC0gV2hldGhlciB0aGUgYnVpbGQgaXMgZm9yIGFuIEVTTSBmb3JtYXQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKGlzRXNtPzogYm9vbGVhbik6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IGlzRXNtXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgW3JlcGxhY2VBbGwoJ2ltcG9ydChkb3QpbWV0YShkb3QpdXJsJywgJyhkb3QpJywgJy4nKV06ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJykgYXMgdHlwZW9mIGltcG9ydCgnbm9kZTp1cmwnKTtcbiAgICAgICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdwcmVwcm9jZXNzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lID8/PSB7fTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5kZWZpbmVba2V5XSA9IGBfXyR7bWFrZVZhbGlkVmFyaWFibGVOYW1lKGtleSl9YDtcbiAgICAgIH1cblxuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyID8/PSB7fTtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lclsnanMnXSA/Pz0gJyc7XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gKz0gYFxcbigkeyhpc0VzbSA/IGluaXRFc20gOiBpbml0Q2pzKS50b1N0cmluZygpfSkoKTtcXG5gO1xuXG4gICAgICBidWlsZC5vbkxvYWQoeyBmaWx0ZXI6IC9cXC4oPzpqc3x0c3xjanN8bWpzfGN0c3xtdHMpJC8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCAndXRmLTgnKTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudHMpKSB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGUgPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICAgICAgaWYgKCFjb250ZW50cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdmFsdWVTdHIgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5GdWxsIH0pO1xuICAgICAgICAgIGlmIChjb250ZW50cy5pbmNsdWRlcyhgdmFyICR7dmFyaWFibGV9YCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb250ZW50cyA9IGB2YXIgJHt2YXJpYWJsZX0gPSBnbG9iYWxUaGlzWycke2tleX0nXSA/PyAke3ZhbHVlU3RyfTtcXG4ke2NvbnRlbnRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIQUNLOiBUaGUgJHsnJ30gcGFydCBpcyB1c2VkIHRvIGVuc3VyZSBPYnNpZGlhbiBsb2FkcyB0aGUgcGx1Z2luIHByb3Blcmx5LFxuICAgICAgICAvLyBPdGhlcndpc2UsIGl0IHN0b3BzIGxvYWRpbmcgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNvdXJjZU1hcHBpbmdVUkwgY29tbWVudC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRlbXBsYXRlLWN1cmx5LWluLXN0cmluZ1xuICAgICAgICBjb250ZW50cyA9IHJlcGxhY2VBbGwoY29udGVudHMsIC9gXFxyP1xcblxcL1xcLyMgc291cmNlTWFwcGluZ1VSTC9nLCAnYFxcbi8vIyR7XFwnXFwnfSBzb3VyY2VNYXBwaW5nVVJMJyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50cyxcbiAgICAgICAgICBsb2FkZXI6ICd0cydcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdENqcygpOiB2b2lkIHtcbiAgY29uc3QgZ2xvYmFsVGhpc1JlY29yZCA9IGdsb2JhbFRoaXMgYXMgdW5rbm93biBhcyBHZW5lcmljT2JqZWN0O1xuICBnbG9iYWxUaGlzUmVjb3JkWydfX25hbWUnXSA/Pz0gbmFtZTtcbiAgY29uc3Qgb3JpZ2luYWxSZXF1aXJlID0gcmVxdWlyZSBhcyAoTm9kZUpTLlJlcXVpcmUgJiBQYXJ0aWFsPFJlcXVpcmVQYXRjaGVkPiB8IHVuZGVmaW5lZCk7XG4gIGlmIChvcmlnaW5hbFJlcXVpcmUgJiYgIW9yaWdpbmFsUmVxdWlyZS5fX2lzUGF0Y2hlZCkge1xuICAgIHJlcXVpcmUgPSBPYmplY3QuYXNzaWduKFxuICAgICAgKGlkOiBzdHJpbmcpID0+IHJlcXVpcmVQYXRjaGVkKGlkKSxcbiAgICAgIG9yaWdpbmFsUmVxdWlyZSxcbiAgICAgIHtcbiAgICAgICAgX19pc1BhdGNoZWQ6IHRydWVcbiAgICAgIH1cbiAgICApIGFzIFJlcXVpcmVQYXRjaGVkO1xuICB9XG5cbiAgY29uc3QgbmV3RnVuY3M6IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+ID0ge1xuICAgIF9fZXh0cmFjdERlZmF1bHQ6ICgpID0+IGV4dHJhY3REZWZhdWx0LFxuICAgIHByb2Nlc3M6ICgpID0+IHtcbiAgICAgIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICAgICAgYnJvd3NlcjogdHJ1ZSxcbiAgICAgICAgY3dkOiAoKSA9PiAnLycsXG4gICAgICAgIGVudjoge30sXG4gICAgICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgICAgIH07XG4gICAgICByZXR1cm4gYnJvd3NlclByb2Nlc3M7XG4gICAgfVxuICB9O1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG5ld0Z1bmNzKSkge1xuICAgIGdsb2JhbFRoaXNSZWNvcmRba2V5XSA/Pz0gbmV3RnVuY3Nba2V5XT8uKCk7XG4gIH1cblxuICBmdW5jdGlvbiBuYW1lKG9iajogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBmdW5jdGlvbiBleHRyYWN0RGVmYXVsdChtb2R1bGU6IFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk6IHVua25vd24ge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlcXVpcmVQYXRjaGVkKGlkOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCBtb2R1bGUgPSBvcmlnaW5hbFJlcXVpcmU/LihpZCkgYXMgKFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk7XG4gICAgaWYgKG1vZHVsZSkge1xuICAgICAgcmV0dXJuIGV4dHJhY3REZWZhdWx0KG1vZHVsZSk7XG4gICAgfVxuXG4gICAgaWYgKGlkID09PSAncHJvY2VzcycgfHwgaWQgPT09ICdub2RlOnByb2Nlc3MnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgICAgcmV0dXJuIGdsb2JhbFRoaXMucHJvY2VzcztcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKGBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRW1wdHkgb2JqZWN0IGlzIHJldHVybmVkIGluc3RlYWQuYCk7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRFc20oKTogdm9pZCB7XG4gIGlmICgoZ2xvYmFsVGhpcy5wcm9jZXNzIGFzIE5vZGVKUy5Qcm9jZXNzIHwgdW5kZWZpbmVkKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGJyb3dzZXJQcm9jZXNzOiBCcm93c2VyUHJvY2VzcyA9IHtcbiAgICBicm93c2VyOiB0cnVlLFxuICAgIGN3ZDogKCkgPT4gJy8nLFxuICAgIGVudjoge30sXG4gICAgcGxhdGZvcm06ICdhbmRyb2lkJ1xuICB9O1xuICBnbG9iYWxUaGlzLnByb2Nlc3MgPSBicm93c2VyUHJvY2VzcyBhcyBOb2RlSlMuUHJvY2Vzcztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLG9CQUdPO0FBQ1Asb0JBR087QUFDUCx5QkFBeUI7QUEwQmxCLFNBQVMsaUJBQWlCLE9BQXlCO0FBQ3hELFFBQU0sZUFBZSxRQUNqQixDQUFDLElBQ0Q7QUFBQSxJQUNBLEtBQUMsMEJBQVcsMkJBQTJCLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBYztBQUNuRSxVQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLGNBQU0sZUFBZTtBQUNyQixjQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLGVBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLE1BQ3ZDO0FBRUEsVUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxlQUFPLE9BQU8sU0FBUztBQUFBLE1BQ3pCO0FBR0EsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUYsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sZUFBZSxXQUFXLENBQUM7QUFFakMsaUJBQVcsT0FBTyxPQUFPLEtBQUssWUFBWSxHQUFHO0FBQzNDLGNBQU0sZUFBZSxPQUFPLEdBQUcsSUFBSSxTQUFLLHFDQUFzQixHQUFHLENBQUM7QUFBQSxNQUNwRTtBQUVBLFlBQU0sZUFBZSxXQUFXLENBQUM7QUFDakMsWUFBTSxlQUFlLE9BQU8sSUFBSSxNQUFNO0FBQ3RDLFlBQU0sZUFBZSxPQUFPLElBQUksS0FBSztBQUFBLElBQU8sUUFBUSxVQUFVLFNBQVMsU0FBUyxDQUFDO0FBQUE7QUFFakYsWUFBTSxPQUFPLEVBQUUsUUFBUSwrQkFBK0IsR0FBRyxPQUFPLFNBQVM7QUFDdkUsWUFBSSxXQUFXLFVBQU0sNkJBQVMsS0FBSyxNQUFNLE9BQU87QUFFaEQsbUJBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxPQUFPLFFBQVEsWUFBWSxHQUFHO0FBQ3ZELGdCQUFNLFdBQVcsU0FBSyxxQ0FBc0IsR0FBRyxDQUFDO0FBQ2hELGNBQUksQ0FBQyxTQUFTLFNBQVMsR0FBRyxHQUFHO0FBQzNCO0FBQUEsVUFDRjtBQUNBLGdCQUFNLFdBQVcsT0FBTyxVQUFVLGFBQWEsSUFBSSxNQUFNLFNBQVMsQ0FBQyxZQUFRLHNCQUFPLE9BQU8sRUFBRSxzQkFBc0IsbUNBQXFCLEtBQUssQ0FBQztBQUM1SSxjQUFJLFNBQVMsU0FBUyxPQUFPLFFBQVEsRUFBRSxHQUFHO0FBQ3hDO0FBQUEsVUFDRjtBQUNBLHFCQUFXLE9BQU8sUUFBUSxrQkFBa0IsR0FBRyxTQUFTLFFBQVE7QUFBQSxFQUFNLFFBQVE7QUFBQSxRQUNoRjtBQUtBLHVCQUFXLDBCQUFXLFVBQVUsaUNBQWlDLDhCQUFnQztBQUVqRyxlQUFPO0FBQUEsVUFDTDtBQUFBLFVBQ0EsUUFBUTtBQUFBLFFBQ1Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyxVQUFnQjtBQUN2QixRQUFNLG1CQUFtQjtBQUN6QixtQkFBaUIsUUFBUSxNQUFNO0FBQy9CLFFBQU0sa0JBQWtCO0FBQ3hCLE1BQUksbUJBQW1CLENBQUMsZ0JBQWdCLGFBQWE7QUFDbkQsY0FBVSxPQUFPO0FBQUEsTUFDZixDQUFDLE9BQWUsZUFBZSxFQUFFO0FBQUEsTUFDakM7QUFBQSxNQUNBO0FBQUEsUUFDRSxhQUFhO0FBQUEsTUFDZjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUEwQztBQUFBLElBQzlDLGtCQUFrQixNQUFNO0FBQUEsSUFDeEIsU0FBUyxNQUFNO0FBQ2IsWUFBTSxpQkFBaUM7QUFBQSxRQUNyQyxTQUFTO0FBQUEsUUFDVCxLQUFLLE1BQU07QUFBQSxRQUNYLEtBQUssQ0FBQztBQUFBLFFBQ04sVUFBVTtBQUFBLE1BQ1o7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxhQUFXLE9BQU8sT0FBTyxLQUFLLFFBQVEsR0FBRztBQUN2QyxxQkFBaUIsR0FBRyxNQUFNLFNBQVMsR0FBRyxJQUFJO0FBQUEsRUFDNUM7QUFFQSxXQUFTLEtBQUssS0FBdUI7QUFDbkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxXQUFTLGVBQWVBLFNBQWlEO0FBQ3ZFLFdBQU9BLFdBQVVBLFFBQU8sY0FBY0EsUUFBTyxVQUFVQSxRQUFPLFVBQVVBO0FBQUEsRUFDMUU7QUFFQSxXQUFTLGVBQWUsSUFBcUI7QUFDM0MsVUFBTUEsVUFBUyxrQkFBa0IsRUFBRTtBQUNuQyxRQUFJQSxTQUFRO0FBQ1YsYUFBTyxlQUFlQSxPQUFNO0FBQUEsSUFDOUI7QUFFQSxRQUFJLE9BQU8sYUFBYSxPQUFPLGdCQUFnQjtBQUM3QyxjQUFRLE1BQU0scUJBQXFCLEVBQUUsNENBQTRDO0FBQ2pGLGFBQU8sV0FBVztBQUFBLElBQ3BCO0FBRUEsWUFBUSxNQUFNLHFCQUFxQixFQUFFLHFDQUFxQztBQUMxRSxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7QUFFQSxTQUFTLFVBQWdCO0FBQ3ZCLE1BQUssV0FBVyxTQUF3QztBQUN0RDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLGlCQUFpQztBQUFBLElBQ3JDLFNBQVM7QUFBQSxJQUNULEtBQUssTUFBTTtBQUFBLElBQ1gsS0FBSyxDQUFDO0FBQUEsSUFDTixVQUFVO0FBQUEsRUFDWjtBQUNBLGFBQVcsVUFBVTtBQUN2QjsiLAogICJuYW1lcyI6IFsibW9kdWxlIl0KfQo=
146
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvcHJlcHJvY2Vzc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBUaGUgcHJlcHJvY2Vzc2luZyBpbmNsdWRlcyByZXBsYWNpbmcgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGFsdGVybmF0aXZlLFxuICogZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIE9ic2lkaWFuJ3MgcGx1Z2luIHN5c3RlbSwgYW5kIGFkZGluZyBhIGJhc2ljIGBwcm9jZXNzYCBvYmplY3QgZm9yIGVudmlyb25tZW50c1xuICogd2hlcmUgYHByb2Nlc3NgIGlzIG5vdCBhdmFpbGFibGUgKGxpa2UgbW9iaWxlIG9yIHdlYiBlbnZpcm9ubWVudHMpLlxuICpcbiAqIEByZW1hcmtzXG4gKiBXZSBjYW5ub3QgdXNlIGAuYCBpbnN0ZWFkIG9mIGAoZG90KWAgaW4gdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGJlY2F1c2UgdGhlIGZpbGUgaXRzZWxmIGlzIHByZXByb2Nlc3NlZCB3aXRoIHRoZSBzYW1lIHJ1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljT2JqZWN0IH0gZnJvbSAnLi4vLi4vT2JqZWN0VXRpbHMudHMnO1xuXG5pbXBvcnQge1xuICBGdW5jdGlvbkhhbmRsaW5nTW9kZSxcbiAgdG9Kc29uXG59IGZyb20gJy4uLy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB7XG4gIG1ha2VWYWxpZFZhcmlhYmxlTmFtZSxcbiAgcmVwbGFjZUFsbFxufSBmcm9tICcuLi8uLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICcuLi9Ob2RlTW9kdWxlcy50cyc7XG5cbmludGVyZmFjZSBCcm93c2VyUHJvY2VzcyBleHRlbmRzIFBhcnRpYWw8Tm9kZUpTLlByb2Nlc3M+IHtcbiAgYnJvd3NlcjogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbmludGVyZmFjZSBSZXF1aXJlUGF0Y2hlZCBleHRlbmRzIE5vZGVKUy5SZXF1aXJlIHtcbiAgX19pc1BhdGNoZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICpcbiAqIFRoaXMgcGx1Z2luIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgdGFza3M6XG4gKiAtIFJlcGxhY2VzIGluc3RhbmNlcyBvZiBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgIHdpdGggYSBOb2RlLmpzLWNvbXBhdGlibGUgYF9fZmlsZW5hbWVgIGFsdGVybmF0aXZlLlxuICogLSBNb2RpZmllcyB0aGUgYHNvdXJjZU1hcHBpbmdVUkxgIGNvbW1lbnQgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCBPYnNpZGlhbidzIHBsdWdpbiBzeXN0ZW0uXG4gKiAtIEFkZHMgYSBiYXNpYyBgcHJvY2Vzc2Agb2JqZWN0IHRvIHRoZSBnbG9iYWwgc2NvcGUgaWYgYHByb2Nlc3NgIGlzIHJlZmVyZW5jZWQgYnV0IG5vdCBkZWZpbmVkLlxuICpcbiAqIEBwYXJhbSBpc0VzbSAtIFdoZXRoZXIgdGhlIGJ1aWxkIGlzIGZvciBhbiBFU00gZm9ybWF0LlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbihpc0VzbT86IGJvb2xlYW4pOiBQbHVnaW4ge1xuICBjb25zdCByZXBsYWNlbWVudHMgPSBpc0VzbVxuICAgID8ge31cbiAgICA6IHtcbiAgICAgIFtyZXBsYWNlQWxsKCdpbXBvcnQoZG90KW1ldGEoZG90KXVybCcsICcoZG90KScsICcuJyldOiAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpIGFzIHR5cGVvZiBpbXBvcnQoJ25vZGU6dXJsJyk7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAncHJlcHJvY2VzcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZSA/Pz0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lW2tleV0gPSBgX18ke21ha2VWYWxpZFZhcmlhYmxlTmFtZShrZXkpfWA7XG4gICAgICB9XG5cbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmJhbm5lciA/Pz0ge307XG4gICAgICBidWlsZC5pbml0aWFsT3B0aW9ucy5iYW5uZXJbJ2pzJ10gPz89ICcnO1xuICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYmFubmVyWydqcyddICs9IGBcXG4oJHsoaXNFc20gPyBpbml0RXNtIDogaW5pdENqcykudG9TdHJpbmcoKX0pKCk7XFxuYDtcblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKD86anN8dHN8Y2pzfG1qc3xjdHN8bXRzKSQvIH0sIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICAgIGxldCBjb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKGFyZ3MucGF0aCwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlID0gYF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gO1xuICAgICAgICAgIGlmICghY29udGVudHMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gYCgke3ZhbHVlLnRvU3RyaW5nKCl9KSgpYCA6IHRvSnNvbih2YWx1ZSwgeyBmdW5jdGlvbkhhbmRsaW5nTW9kZTogRnVuY3Rpb25IYW5kbGluZ01vZGUuRnVsbCB9KTtcbiAgICAgICAgICBpZiAoY29udGVudHMuaW5jbHVkZXMoYHZhciAke3ZhcmlhYmxlfWApKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGVudHMgPSBgdmFyICR7dmFyaWFibGV9ID0gZ2xvYmFsVGhpc1snJHtrZXl9J10gPz8gJHt2YWx1ZVN0cn07XFxuJHtjb250ZW50c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSEFDSzogVGhlICR7Jyd9IHBhcnQgaXMgdXNlZCB0byBlbnN1cmUgT2JzaWRpYW4gbG9hZHMgdGhlIHBsdWdpbiBwcm9wZXJseSxcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBzdG9wcyBsb2FkaW5nIGFmdGVyIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzb3VyY2VNYXBwaW5nVVJMIGNvbW1lbnQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmdcbiAgICAgICAgY29udGVudHMgPSByZXBsYWNlQWxsKGNvbnRlbnRzLCAvYFxccj9cXG5cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkwvZywgJ2BcXG4vLyMke1xcJ1xcJ30gc291cmNlTWFwcGluZ1VSTCcpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudHMsXG4gICAgICAgICAgbG9hZGVyOiAndHMnXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRDanMoKTogdm9pZCB7XG4gIGNvbnN0IGdsb2JhbFRoaXNSZWNvcmQgPSBnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgR2VuZXJpY09iamVjdDtcbiAgZ2xvYmFsVGhpc1JlY29yZFsnX19uYW1lJ10gPz89IG5hbWU7XG4gIGNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IHJlcXVpcmUgYXMgKE5vZGVKUy5SZXF1aXJlICYgUGFydGlhbDxSZXF1aXJlUGF0Y2hlZD4gfCB1bmRlZmluZWQpO1xuICBpZiAob3JpZ2luYWxSZXF1aXJlICYmICFvcmlnaW5hbFJlcXVpcmUuX19pc1BhdGNoZWQpIHtcbiAgICByZXF1aXJlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIChpZDogc3RyaW5nKSA9PiByZXF1aXJlUGF0Y2hlZChpZCksXG4gICAgICBvcmlnaW5hbFJlcXVpcmUsXG4gICAgICB7XG4gICAgICAgIF9faXNQYXRjaGVkOiB0cnVlXG4gICAgICB9XG4gICAgKSBhcyBSZXF1aXJlUGF0Y2hlZDtcbiAgfVxuXG4gIGNvbnN0IG5ld0Z1bmNzOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPiA9IHtcbiAgICBfX2V4dHJhY3REZWZhdWx0OiAoKSA9PiBleHRyYWN0RGVmYXVsdCxcbiAgICBwcm9jZXNzOiAoKSA9PiB7XG4gICAgICBjb25zdCBicm93c2VyUHJvY2VzczogQnJvd3NlclByb2Nlc3MgPSB7XG4gICAgICAgIGJyb3dzZXI6IHRydWUsXG4gICAgICAgIGN3ZDogKCkgPT4gJy8nLFxuICAgICAgICBlbnY6IHt9LFxuICAgICAgICBwbGF0Zm9ybTogJ2FuZHJvaWQnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGJyb3dzZXJQcm9jZXNzO1xuICAgIH1cbiAgfTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhuZXdGdW5jcykpIHtcbiAgICBnbG9iYWxUaGlzUmVjb3JkW2tleV0gPz89IG5ld0Z1bmNzW2tleV0/LigpO1xuICB9XG5cbiAgZnVuY3Rpb24gbmFtZShvYmo6IHVua25vd24pOiB1bmtub3duIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgZnVuY3Rpb24gZXh0cmFjdERlZmF1bHQobW9kdWxlOiBQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpOiB1bmtub3duIHtcbiAgICByZXR1cm4gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlICYmIG1vZHVsZS5kZWZhdWx0ID8gbW9kdWxlLmRlZmF1bHQgOiBtb2R1bGU7XG4gIH1cblxuICBmdW5jdGlvbiByZXF1aXJlUGF0Y2hlZChpZDogc3RyaW5nKTogdW5rbm93biB7XG4gICAgY29uc3QgbW9kdWxlID0gb3JpZ2luYWxSZXF1aXJlPy4oaWQpIGFzIChQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpO1xuICAgIGlmIChtb2R1bGUpIHtcbiAgICAgIHJldHVybiBleHRyYWN0RGVmYXVsdChtb2R1bGUpO1xuICAgIH1cblxuICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEZha2UgcHJvY2VzcyBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcbiAgICAgIHJldHVybiBnbG9iYWxUaGlzLnByb2Nlc3M7XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihgTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0RXNtKCk6IHZvaWQge1xuICBpZiAoKGdsb2JhbFRoaXMucHJvY2VzcyBhcyBOb2RlSlMuUHJvY2VzcyB8IHVuZGVmaW5lZCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBicm93c2VyUHJvY2VzczogQnJvd3NlclByb2Nlc3MgPSB7XG4gICAgYnJvd3NlcjogdHJ1ZSxcbiAgICBjd2Q6ICgpID0+ICcvJyxcbiAgICBlbnY6IHt9LFxuICAgIHBsYXRmb3JtOiAnYW5kcm9pZCdcbiAgfTtcbiAgZ2xvYmFsVGhpcy5wcm9jZXNzID0gYnJvd3NlclByb2Nlc3MgYXMgTm9kZUpTLlByb2Nlc3M7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSx5QkFHTztBQUNQLG9CQUdPO0FBQ1AseUJBQXlCO0FBMEJsQixTQUFTLGlCQUFpQixPQUF5QjtBQUN4RCxRQUFNLGVBQWUsUUFDakIsQ0FBQyxJQUNEO0FBQUEsSUFDQSxLQUFDLDBCQUFXLDJCQUEyQixTQUFTLEdBQUcsQ0FBQyxHQUFHLE1BQWM7QUFDbkUsVUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxjQUFNLGVBQWU7QUFDckIsY0FBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxlQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxNQUN2QztBQUVBLFVBQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsZUFBTyxPQUFPLFNBQVM7QUFBQSxNQUN6QjtBQUdBLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVGLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLGVBQWUsV0FBVyxDQUFDO0FBRWpDLGlCQUFXLE9BQU8sT0FBTyxLQUFLLFlBQVksR0FBRztBQUMzQyxjQUFNLGVBQWUsT0FBTyxHQUFHLElBQUksU0FBSyxxQ0FBc0IsR0FBRyxDQUFDO0FBQUEsTUFDcEU7QUFFQSxZQUFNLGVBQWUsV0FBVyxDQUFDO0FBQ2pDLFlBQU0sZUFBZSxPQUFPLElBQUksTUFBTTtBQUN0QyxZQUFNLGVBQWUsT0FBTyxJQUFJLEtBQUs7QUFBQSxJQUFPLFFBQVEsVUFBVSxTQUFTLFNBQVMsQ0FBQztBQUFBO0FBRWpGLFlBQU0sT0FBTyxFQUFFLFFBQVEsK0JBQStCLEdBQUcsT0FBTyxTQUFTO0FBQ3ZFLFlBQUksV0FBVyxVQUFNLDZCQUFTLEtBQUssTUFBTSxPQUFPO0FBRWhELG1CQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssT0FBTyxRQUFRLFlBQVksR0FBRztBQUN2RCxnQkFBTSxXQUFXLFNBQUsscUNBQXNCLEdBQUcsQ0FBQztBQUNoRCxjQUFJLENBQUMsU0FBUyxTQUFTLEdBQUcsR0FBRztBQUMzQjtBQUFBLFVBQ0Y7QUFDQSxnQkFBTSxXQUFXLE9BQU8sVUFBVSxhQUFhLElBQUksTUFBTSxTQUFTLENBQUMsWUFBUSwyQkFBTyxPQUFPLEVBQUUsc0JBQXNCLHdDQUFxQixLQUFLLENBQUM7QUFDNUksY0FBSSxTQUFTLFNBQVMsT0FBTyxRQUFRLEVBQUUsR0FBRztBQUN4QztBQUFBLFVBQ0Y7QUFDQSxxQkFBVyxPQUFPLFFBQVEsa0JBQWtCLEdBQUcsU0FBUyxRQUFRO0FBQUEsRUFBTSxRQUFRO0FBQUEsUUFDaEY7QUFLQSx1QkFBVywwQkFBVyxVQUFVLGlDQUFpQyw4QkFBZ0M7QUFFakcsZUFBTztBQUFBLFVBQ0w7QUFBQSxVQUNBLFFBQVE7QUFBQSxRQUNWO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQUVBLFNBQVMsVUFBZ0I7QUFDdkIsUUFBTSxtQkFBbUI7QUFDekIsbUJBQWlCLFFBQVEsTUFBTTtBQUMvQixRQUFNLGtCQUFrQjtBQUN4QixNQUFJLG1CQUFtQixDQUFDLGdCQUFnQixhQUFhO0FBQ25ELGNBQVUsT0FBTztBQUFBLE1BQ2YsQ0FBQyxPQUFlLGVBQWUsRUFBRTtBQUFBLE1BQ2pDO0FBQUEsTUFDQTtBQUFBLFFBQ0UsYUFBYTtBQUFBLE1BQ2Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLFFBQU0sV0FBMEM7QUFBQSxJQUM5QyxrQkFBa0IsTUFBTTtBQUFBLElBQ3hCLFNBQVMsTUFBTTtBQUNiLFlBQU0saUJBQWlDO0FBQUEsUUFDckMsU0FBUztBQUFBLFFBQ1QsS0FBSyxNQUFNO0FBQUEsUUFDWCxLQUFLLENBQUM7QUFBQSxRQUNOLFVBQVU7QUFBQSxNQUNaO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBRUEsYUFBVyxPQUFPLE9BQU8sS0FBSyxRQUFRLEdBQUc7QUFDdkMscUJBQWlCLEdBQUcsTUFBTSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQzVDO0FBRUEsV0FBUyxLQUFLLEtBQXVCO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsV0FBUyxlQUFlQSxTQUFpRDtBQUN2RSxXQUFPQSxXQUFVQSxRQUFPLGNBQWNBLFFBQU8sVUFBVUEsUUFBTyxVQUFVQTtBQUFBLEVBQzFFO0FBRUEsV0FBUyxlQUFlLElBQXFCO0FBQzNDLFVBQU1BLFVBQVMsa0JBQWtCLEVBQUU7QUFDbkMsUUFBSUEsU0FBUTtBQUNWLGFBQU8sZUFBZUEsT0FBTTtBQUFBLElBQzlCO0FBRUEsUUFBSSxPQUFPLGFBQWEsT0FBTyxnQkFBZ0I7QUFDN0MsY0FBUSxNQUFNLHFCQUFxQixFQUFFLDRDQUE0QztBQUNqRixhQUFPLFdBQVc7QUFBQSxJQUNwQjtBQUVBLFlBQVEsTUFBTSxxQkFBcUIsRUFBRSxxQ0FBcUM7QUFDMUUsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNGO0FBRUEsU0FBUyxVQUFnQjtBQUN2QixNQUFLLFdBQVcsU0FBd0M7QUFDdEQ7QUFBQSxFQUNGO0FBRUEsUUFBTSxpQkFBaUM7QUFBQSxJQUNyQyxTQUFTO0FBQUEsSUFDVCxLQUFLLE1BQU07QUFBQSxJQUNYLEtBQUssQ0FBQztBQUFBLElBQ04sVUFBVTtBQUFBLEVBQ1o7QUFDQSxhQUFXLFVBQVU7QUFDdkI7IiwKICAibmFtZXMiOiBbIm1vZHVsZSJdCn0K
@@ -28,7 +28,7 @@ __export(Transformer_exports, {
28
28
  Transformer: () => Transformer
29
29
  });
30
30
  module.exports = __toCommonJS(Transformer_exports);
31
- var import_Object = require('../Object.cjs');
31
+ var import_ObjectUtils = require('../ObjectUtils.cjs');
32
32
  class Transformer {
33
33
  /**
34
34
  * Gets the transformer with the given id.
@@ -99,7 +99,7 @@ class Transformer {
99
99
  return this.getTransformer(transformedValueWrapper.__transformerId).restoreValue(transformedValueWrapper.transformedValue, key);
100
100
  }
101
101
  const record = {};
102
- for (const childKey of (0, import_Object.getAllKeys)(value)) {
102
+ for (const childKey of (0, import_ObjectUtils.getAllKeys)(value)) {
103
103
  const childValue = value[childKey];
104
104
  const transformedChildValue = this.transformValueRecursively(childValue, childKey);
105
105
  record[childKey] = transformedChildValue;
@@ -111,4 +111,4 @@ class Transformer {
111
111
  0 && (module.exports = {
112
112
  Transformer
113
113
  });
114
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1RyYW5zZm9ybWVycy9UcmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuXG5pbXBvcnQgeyBnZXRBbGxLZXlzIH0gZnJvbSAnLi4vT2JqZWN0LnRzJztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGEgdHJhbnNmb3JtZWQgdmFsdWUuXG4gKi9cbmludGVyZmFjZSBUcmFuc2Zvcm1lZFZhbHVlV3JhcHBlciB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgdHJhbnNmb3JtZWQgdGhlIHZhbHVlLlxuICAgKi9cbiAgX190cmFuc2Zvcm1lcklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm1lZFZhbHVlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEEgYmFzZSBjbGFzcyBmb3IgdHJhbnNmb3JtZXJzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNmb3JtZXIge1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgaWQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdHJhbnNmb3JtZXIgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lcklkIC0gVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0byBnZXQuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGVcbiAgcHVibGljIGdldFRyYW5zZm9ybWVyKHRyYW5zZm9ybWVySWQ6IHN0cmluZyk6IFRyYW5zZm9ybWVyIHtcbiAgICBpZiAodHJhbnNmb3JtZXJJZCA9PT0gdGhpcy5pZCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBUcmFuc2Zvcm1lciB3aXRoIGlkICR7dHJhbnNmb3JtZXJJZH0gbm90IGZvdW5kYCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgZ2l2ZW4gb2JqZWN0IHJlY3Vyc2l2ZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtT2JqZWN0UmVjdXJzaXZlbHkodmFsdWU6IG9iamVjdCk6IEdlbmVyaWNPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVZhbHVlUmVjdXJzaXZlbHkodmFsdWUsICcnKSBhcyBHZW5lcmljT2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgdHJhbnNmb3JtVmFsdWUodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93bjtcblxuICAvKipcbiAgICogR2V0cyB0aGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBnZXQgdGhlIHRyYW5zZm9ybWVyIGlkIGZvci5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldCB0aGUgdHJhbnNmb3JtZXIgaWQgZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VHJhbnNmb3JtZXJJZCh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jYW5UcmFuc2Zvcm0odmFsdWUsIGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlkO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmVzIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVkVmFsdWUgLSBUaGUgdmFsdWUgdG8gcmVzdG9yZS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlc3RvcmUuXG4gICAqIEByZXR1cm5zIFRoZSByZXN0b3JlZCB2YWx1ZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXN0b3JlVmFsdWUodHJhbnNmb3JtZWRWYWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiB2YWx1ZSByZWN1cnNpdmVseS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1WYWx1ZVJlY3Vyc2l2ZWx5KHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHVua25vd24ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVySWQgPSB0aGlzLmdldFRyYW5zZm9ybWVySWQodmFsdWUsIGtleSk7XG4gICAgaWYgKHRyYW5zZm9ybWVySWQpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKHZhbHVlLCBrZXkpO1xuICAgICAgaWYgKHRyYW5zZm9ybWVkVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB3cmFwcGVyOiBUcmFuc2Zvcm1lZFZhbHVlV3JhcHBlciA9IHtcbiAgICAgICAgX190cmFuc2Zvcm1lcklkOiB0cmFuc2Zvcm1lcklkLFxuICAgICAgICB0cmFuc2Zvcm1lZFZhbHVlXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChjaGlsZFZhbHVlLCBpbmRleCkgPT4gdGhpcy50cmFuc2Zvcm1WYWx1ZVJlY3Vyc2l2ZWx5KGNoaWxkVmFsdWUsIGluZGV4LnRvU3RyaW5nKCkpKTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlciA9IHZhbHVlIGFzIFBhcnRpYWw8VHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXI+O1xuICAgIGlmICh0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlci5fX3RyYW5zZm9ybWVySWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZm9ybWVyKHRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyLl9fdHJhbnNmb3JtZXJJZCkucmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyLnRyYW5zZm9ybWVkVmFsdWUsIGtleSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVjb3JkOiBHZW5lcmljT2JqZWN0ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkS2V5IG9mIGdldEFsbEtleXModmFsdWUpKSB7XG4gICAgICBjb25zdCBjaGlsZFZhbHVlID0gdmFsdWVbY2hpbGRLZXldO1xuICAgICAgY29uc3QgdHJhbnNmb3JtZWRDaGlsZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZVJlY3Vyc2l2ZWx5KGNoaWxkVmFsdWUsIGNoaWxkS2V5KTtcbiAgICAgIHJlY29yZFtjaGlsZEtleV0gPSB0cmFuc2Zvcm1lZENoaWxkVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY29yZDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxvQkFBMkI7QUFtQnBCLE1BQWUsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFzQnpCLGVBQWUsZUFBb0M7QUFDeEQsUUFBSSxrQkFBa0IsS0FBSyxJQUFJO0FBQzdCLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxJQUFJLE1BQU0sdUJBQXVCLGFBQWEsWUFBWTtBQUFBLEVBQ2xFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTywyQkFBMkIsT0FBOEI7QUFDOUQsV0FBTyxLQUFLLDBCQUEwQixPQUFPLEVBQUU7QUFBQSxFQUNqRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFrQlUsaUJBQWlCLE9BQWdCLEtBQTRCO0FBQ3JFLFFBQUksS0FBSyxhQUFhLE9BQU8sR0FBRyxHQUFHO0FBQ2pDLGFBQU8sS0FBSztBQUFBLElBQ2Q7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFrQlEsMEJBQTBCLE9BQWdCLEtBQXNCO0FBQ3RFLFVBQU0sZ0JBQWdCLEtBQUssaUJBQWlCLE9BQU8sR0FBRztBQUN0RCxRQUFJLGVBQWU7QUFDakIsWUFBTSxtQkFBbUIsS0FBSyxlQUFlLE9BQU8sR0FBRztBQUN2RCxVQUFJLHFCQUFxQixRQUFXO0FBQ2xDLGVBQU87QUFBQSxNQUNUO0FBRUEsWUFBTSxVQUFtQztBQUFBLFFBQ3ZDLGlCQUFpQjtBQUFBLFFBQ2pCO0FBQUEsTUFDRjtBQUVBLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSSxVQUFVLE1BQU07QUFDbEIsYUFBTztBQUFBLElBQ1Q7QUFFQSxRQUFJLE9BQU8sVUFBVSxVQUFVO0FBQzdCLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSSxNQUFNLFFBQVEsS0FBSyxHQUFHO0FBQ3hCLGFBQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxVQUFVLEtBQUssMEJBQTBCLFlBQVksTUFBTSxTQUFTLENBQUMsQ0FBQztBQUFBLElBQ3RHO0FBRUEsVUFBTSwwQkFBMEI7QUFDaEMsUUFBSSx3QkFBd0IsaUJBQWlCO0FBQzNDLGFBQU8sS0FBSyxlQUFlLHdCQUF3QixlQUFlLEVBQUUsYUFBYSx3QkFBd0Isa0JBQWtCLEdBQUc7QUFBQSxJQUNoSTtBQUVBLFVBQU0sU0FBd0IsQ0FBQztBQUUvQixlQUFXLGdCQUFZLDBCQUFXLEtBQUssR0FBRztBQUN4QyxZQUFNLGFBQWEsTUFBTSxRQUFRO0FBQ2pDLFlBQU0sd0JBQXdCLEtBQUssMEJBQTBCLFlBQVksUUFBUTtBQUNqRixhQUFPLFFBQVEsSUFBSTtBQUFBLElBQ3JCO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
114
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1RyYW5zZm9ybWVycy9UcmFuc2Zvcm1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi9PYmplY3RVdGlscy50cyc7XG5cbmltcG9ydCB7IGdldEFsbEtleXMgfSBmcm9tICcuLi9PYmplY3RVdGlscy50cyc7XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBhIHRyYW5zZm9ybWVkIHZhbHVlLlxuICovXG5pbnRlcmZhY2UgVHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIge1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IHRyYW5zZm9ybWVkIHRoZSB2YWx1ZS5cbiAgICovXG4gIF9fdHJhbnNmb3JtZXJJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgdHJhbnNmb3JtZWRWYWx1ZTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIHRyYW5zZm9ybWVycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zZm9ybWVyIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IGlkKCk6IHN0cmluZztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRyYW5zZm9ybWVyIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZXJJZCAtIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdG8gZ2V0LlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZXIgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZXR1cm4tdGhpcy10eXBlXG4gIHB1YmxpYyBnZXRUcmFuc2Zvcm1lcih0cmFuc2Zvcm1lcklkOiBzdHJpbmcpOiBUcmFuc2Zvcm1lciB7XG4gICAgaWYgKHRyYW5zZm9ybWVySWQgPT09IHRoaXMuaWQpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVHJhbnNmb3JtZXIgd2l0aCBpZCAke3RyYW5zZm9ybWVySWR9IG5vdCBmb3VuZGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGdpdmVuIG9iamVjdCByZWN1cnNpdmVseS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybU9iamVjdFJlY3Vyc2l2ZWx5KHZhbHVlOiBvYmplY3QpOiBHZW5lcmljT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1WYWx1ZVJlY3Vyc2l2ZWx5KHZhbHVlLCAnJykgYXMgR2VuZXJpY09iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRyYW5zZm9ybVZhbHVlKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHVua25vd247XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQgdGhlIHRyYW5zZm9ybWVyIGlkIGZvci5cbiAgICogQHJldHVybnMgVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRyYW5zZm9ybWVySWQodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogbnVsbCB8IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lZFZhbHVlIC0gVGhlIHZhbHVlIHRvIHJlc3RvcmUuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZXN0b3JlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVzdG9yZWQgdmFsdWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzdG9yZVZhbHVlKHRyYW5zZm9ybWVkVmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93bjtcblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgZ2l2ZW4gdmFsdWUgcmVjdXJzaXZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgdHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lcklkID0gdGhpcy5nZXRUcmFuc2Zvcm1lcklkKHZhbHVlLCBrZXkpO1xuICAgIGlmICh0cmFuc2Zvcm1lcklkKSB7XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZSh2YWx1ZSwga2V5KTtcbiAgICAgIGlmICh0cmFuc2Zvcm1lZFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd3JhcHBlcjogVHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIgPSB7XG4gICAgICAgIF9fdHJhbnNmb3JtZXJJZDogdHJhbnNmb3JtZXJJZCxcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoY2hpbGRWYWx1ZSwgaW5kZXgpID0+IHRoaXMudHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseShjaGlsZFZhbHVlLCBpbmRleC50b1N0cmluZygpKSk7XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIgPSB2YWx1ZSBhcyBQYXJ0aWFsPFRyYW5zZm9ybWVkVmFsdWVXcmFwcGVyPjtcbiAgICBpZiAodHJhbnNmb3JtZWRWYWx1ZVdyYXBwZXIuX190cmFuc2Zvcm1lcklkKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2Zvcm1lcih0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlci5fX3RyYW5zZm9ybWVySWQpLnJlc3RvcmVWYWx1ZSh0cmFuc2Zvcm1lZFZhbHVlV3JhcHBlci50cmFuc2Zvcm1lZFZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY29yZDogR2VuZXJpY09iamVjdCA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBjaGlsZEtleSBvZiBnZXRBbGxLZXlzKHZhbHVlKSkge1xuICAgICAgY29uc3QgY2hpbGRWYWx1ZSA9IHZhbHVlW2NoaWxkS2V5XTtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkQ2hpbGRWYWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWVSZWN1cnNpdmVseShjaGlsZFZhbHVlLCBjaGlsZEtleSk7XG4gICAgICByZWNvcmRbY2hpbGRLZXldID0gdHJhbnNmb3JtZWRDaGlsZFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiByZWNvcmQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEseUJBQTJCO0FBbUJwQixNQUFlLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0J6QixlQUFlLGVBQW9DO0FBQ3hELFFBQUksa0JBQWtCLEtBQUssSUFBSTtBQUM3QixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sSUFBSSxNQUFNLHVCQUF1QixhQUFhLFlBQVk7QUFBQSxFQUNsRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sMkJBQTJCLE9BQThCO0FBQzlELFdBQU8sS0FBSywwQkFBMEIsT0FBTyxFQUFFO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JVLGlCQUFpQixPQUFnQixLQUE0QjtBQUNyRSxRQUFJLEtBQUssYUFBYSxPQUFPLEdBQUcsR0FBRztBQUNqQyxhQUFPLEtBQUs7QUFBQSxJQUNkO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JRLDBCQUEwQixPQUFnQixLQUFzQjtBQUN0RSxVQUFNLGdCQUFnQixLQUFLLGlCQUFpQixPQUFPLEdBQUc7QUFDdEQsUUFBSSxlQUFlO0FBQ2pCLFlBQU0sbUJBQW1CLEtBQUssZUFBZSxPQUFPLEdBQUc7QUFDdkQsVUFBSSxxQkFBcUIsUUFBVztBQUNsQyxlQUFPO0FBQUEsTUFDVDtBQUVBLFlBQU0sVUFBbUM7QUFBQSxRQUN2QyxpQkFBaUI7QUFBQSxRQUNqQjtBQUFBLE1BQ0Y7QUFFQSxhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUksVUFBVSxNQUFNO0FBQ2xCLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSSxPQUFPLFVBQVUsVUFBVTtBQUM3QixhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUksTUFBTSxRQUFRLEtBQUssR0FBRztBQUN4QixhQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksVUFBVSxLQUFLLDBCQUEwQixZQUFZLE1BQU0sU0FBUyxDQUFDLENBQUM7QUFBQSxJQUN0RztBQUVBLFVBQU0sMEJBQTBCO0FBQ2hDLFFBQUksd0JBQXdCLGlCQUFpQjtBQUMzQyxhQUFPLEtBQUssZUFBZSx3QkFBd0IsZUFBZSxFQUFFLGFBQWEsd0JBQXdCLGtCQUFrQixHQUFHO0FBQUEsSUFDaEk7QUFFQSxVQUFNLFNBQXdCLENBQUM7QUFFL0IsZUFBVyxnQkFBWSwrQkFBVyxLQUFLLEdBQUc7QUFDeEMsWUFBTSxhQUFhLE1BQU0sUUFBUTtBQUNqQyxZQUFNLHdCQUF3QixLQUFLLDBCQUEwQixZQUFZLFFBQVE7QUFDakYsYUFBTyxRQUFRLElBQUk7QUFBQSxJQUNyQjtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * A base class for transformers.
5
5
  */
6
- import type { GenericObject } from '../Object.cjs';
6
+ import type { GenericObject } from '../ObjectUtils.cjs';
7
7
  /**
8
8
  * A base class for transformers.
9
9
  */
@@ -47,7 +47,7 @@ __export(index_exports, {
47
47
  Function: () => Function,
48
48
  HTMLElement: () => HTMLElement,
49
49
  Library: () => Library,
50
- Object: () => Object2,
50
+ ObjectUtils: () => ObjectUtils,
51
51
  Path: () => Path,
52
52
  RegExp: () => RegExp,
53
53
  ScriptUtils: () => ScriptUtils,
@@ -74,7 +74,7 @@ var Error2 = __toESM(__extractDefault(require('./Error.cjs')), 1);
74
74
  var Function = __toESM(__extractDefault(require('./Function.cjs')), 1);
75
75
  var HTMLElement = __toESM(__extractDefault(require('./HTMLElement.cjs')), 1);
76
76
  var Library = __toESM(__extractDefault(require('./Library.cjs')), 1);
77
- var Object2 = __toESM(__extractDefault(require('./Object.cjs')), 1);
77
+ var ObjectUtils = __toESM(__extractDefault(require('./ObjectUtils.cjs')), 1);
78
78
  var obsidian = __toESM(__extractDefault(require('./obsidian/index.cjs')), 1);
79
79
  var Path = __toESM(__extractDefault(require('./Path.cjs')), 1);
80
80
  var RegExp = __toESM(__extractDefault(require('./RegExp.cjs')), 1);
@@ -99,7 +99,7 @@ var ValueProvider = __toESM(__extractDefault(require('./ValueProvider.cjs')), 1)
99
99
  Function,
100
100
  HTMLElement,
101
101
  Library,
102
- Object,
102
+ ObjectUtils,
103
103
  Path,
104
104
  RegExp,
105
105
  ScriptUtils,
@@ -112,4 +112,4 @@ var ValueProvider = __toESM(__extractDefault(require('./ValueProvider.cjs')), 1)
112
112
  obsidian,
113
113
  url
114
114
  });
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgQXJyYXkgZnJvbSAnLi9BcnJheS50cyc7XG5leHBvcnQgKiBhcyBBc3luYyBmcm9tICcuL0FzeW5jLnRzJztcbmV4cG9ydCAqIGFzIEFzeW5jRXZlbnRzIGZyb20gJy4vQXN5bmNFdmVudHMudHMnO1xuZXhwb3J0ICogYXMgQmxvYiBmcm9tICcuL0Jsb2IudHMnO1xuZXhwb3J0ICogYXMgY29kZW1pcnJvciBmcm9tICcuL2NvZGVtaXJyb3IvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgQ3NzQ2xhc3MgZnJvbSAnLi9Dc3NDbGFzcy50cyc7XG5leHBvcnQgKiBhcyBEZWJ1ZyBmcm9tICcuL0RlYnVnLnRzJztcbmV4cG9ydCAqIGFzIERlYnVnQ29udHJvbGxlciBmcm9tICcuL0RlYnVnQ29udHJvbGxlci50cyc7XG5leHBvcnQgKiBhcyBFbnVtIGZyb20gJy4vRW51bS50cyc7XG5leHBvcnQgKiBhcyBFcnJvciBmcm9tICcuL0Vycm9yLnRzJztcbmV4cG9ydCAqIGFzIEZ1bmN0aW9uIGZyb20gJy4vRnVuY3Rpb24udHMnO1xuZXhwb3J0ICogYXMgSFRNTEVsZW1lbnQgZnJvbSAnLi9IVE1MRWxlbWVudC50cyc7XG5leHBvcnQgKiBhcyBMaWJyYXJ5IGZyb20gJy4vTGlicmFyeS50cyc7XG5leHBvcnQgKiBhcyBPYmplY3QgZnJvbSAnLi9PYmplY3QudHMnO1xuZXhwb3J0ICogYXMgb2JzaWRpYW4gZnJvbSAnLi9vYnNpZGlhbi9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBQYXRoIGZyb20gJy4vUGF0aC50cyc7XG5leHBvcnQgKiBhcyBSZWdFeHAgZnJvbSAnLi9SZWdFeHAudHMnO1xuZXhwb3J0ICogYXMgU2NyaXB0VXRpbHMgZnJvbSAnLi9TY3JpcHRVdGlscy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBTdHJpbmcgZnJvbSAnLi9TdHJpbmcudHMnO1xuZXhwb3J0ICogYXMgVHJhbnNmb3JtZXJzIGZyb20gJy4vVHJhbnNmb3JtZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIFR3b1dheU1hcCBmcm9tICcuL1R3b1dheU1hcC50cyc7XG5leHBvcnQgKiBhcyBUeXBlIGZyb20gJy4vVHlwZS50cyc7XG5leHBvcnQgKiBhcyB1cmwgZnJvbSAnLi91cmwudHMnO1xuZXhwb3J0ICogYXMgVmFsdWVQcm92aWRlciBmcm9tICcuL1ZhbHVlUHJvdmlkZXIudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGVBQUFBO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUEsWUFBdUI7QUFDdkIsWUFBdUI7QUFDdkIsa0JBQTZCO0FBQzdCLFdBQXNCO0FBQ3RCLGlCQUE0QjtBQUM1QixlQUEwQjtBQUMxQixZQUF1QjtBQUN2QixzQkFBaUM7QUFDakMsV0FBc0I7QUFDdEIsSUFBQUQsU0FBdUI7QUFDdkIsZUFBMEI7QUFDMUIsa0JBQTZCO0FBQzdCLGNBQXlCO0FBQ3pCLElBQUFDLFVBQXdCO0FBQ3hCLGVBQTBCO0FBQzFCLFdBQXNCO0FBQ3RCLGFBQXdCO0FBQ3hCLGtCQUE2QjtBQUM3QixhQUF3QjtBQUN4QixtQkFBOEI7QUFDOUIsZ0JBQTJCO0FBQzNCLFdBQXNCO0FBQ3RCLFVBQXFCO0FBQ3JCLG9CQUErQjsiLAogICJuYW1lcyI6IFsiRXJyb3IiLCAiT2JqZWN0Il0KfQo=
115
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgQXJyYXkgZnJvbSAnLi9BcnJheS50cyc7XG5leHBvcnQgKiBhcyBBc3luYyBmcm9tICcuL0FzeW5jLnRzJztcbmV4cG9ydCAqIGFzIEFzeW5jRXZlbnRzIGZyb20gJy4vQXN5bmNFdmVudHMudHMnO1xuZXhwb3J0ICogYXMgQmxvYiBmcm9tICcuL0Jsb2IudHMnO1xuZXhwb3J0ICogYXMgY29kZW1pcnJvciBmcm9tICcuL2NvZGVtaXJyb3IvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgQ3NzQ2xhc3MgZnJvbSAnLi9Dc3NDbGFzcy50cyc7XG5leHBvcnQgKiBhcyBEZWJ1ZyBmcm9tICcuL0RlYnVnLnRzJztcbmV4cG9ydCAqIGFzIERlYnVnQ29udHJvbGxlciBmcm9tICcuL0RlYnVnQ29udHJvbGxlci50cyc7XG5leHBvcnQgKiBhcyBFbnVtIGZyb20gJy4vRW51bS50cyc7XG5leHBvcnQgKiBhcyBFcnJvciBmcm9tICcuL0Vycm9yLnRzJztcbmV4cG9ydCAqIGFzIEZ1bmN0aW9uIGZyb20gJy4vRnVuY3Rpb24udHMnO1xuZXhwb3J0ICogYXMgSFRNTEVsZW1lbnQgZnJvbSAnLi9IVE1MRWxlbWVudC50cyc7XG5leHBvcnQgKiBhcyBMaWJyYXJ5IGZyb20gJy4vTGlicmFyeS50cyc7XG5leHBvcnQgKiBhcyBPYmplY3RVdGlscyBmcm9tICcuL09iamVjdFV0aWxzLnRzJztcbmV4cG9ydCAqIGFzIG9ic2lkaWFuIGZyb20gJy4vb2JzaWRpYW4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgUGF0aCBmcm9tICcuL1BhdGgudHMnO1xuZXhwb3J0ICogYXMgUmVnRXhwIGZyb20gJy4vUmVnRXhwLnRzJztcbmV4cG9ydCAqIGFzIFNjcmlwdFV0aWxzIGZyb20gJy4vU2NyaXB0VXRpbHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgU3RyaW5nIGZyb20gJy4vU3RyaW5nLnRzJztcbmV4cG9ydCAqIGFzIFRyYW5zZm9ybWVycyBmcm9tICcuL1RyYW5zZm9ybWVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBUd29XYXlNYXAgZnJvbSAnLi9Ud29XYXlNYXAudHMnO1xuZXhwb3J0ICogYXMgVHlwZSBmcm9tICcuL1R5cGUudHMnO1xuZXhwb3J0ICogYXMgdXJsIGZyb20gJy4vdXJsLnRzJztcbmV4cG9ydCAqIGFzIFZhbHVlUHJvdmlkZXIgZnJvbSAnLi9WYWx1ZVByb3ZpZGVyLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxlQUFBQTtBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLFlBQXVCO0FBQ3ZCLFlBQXVCO0FBQ3ZCLGtCQUE2QjtBQUM3QixXQUFzQjtBQUN0QixpQkFBNEI7QUFDNUIsZUFBMEI7QUFDMUIsWUFBdUI7QUFDdkIsc0JBQWlDO0FBQ2pDLFdBQXNCO0FBQ3RCLElBQUFBLFNBQXVCO0FBQ3ZCLGVBQTBCO0FBQzFCLGtCQUE2QjtBQUM3QixjQUF5QjtBQUN6QixrQkFBNkI7QUFDN0IsZUFBMEI7QUFDMUIsV0FBc0I7QUFDdEIsYUFBd0I7QUFDeEIsa0JBQTZCO0FBQzdCLGFBQXdCO0FBQ3hCLG1CQUE4QjtBQUM5QixnQkFBMkI7QUFDM0IsV0FBc0I7QUFDdEIsVUFBcUI7QUFDckIsb0JBQStCOyIsCiAgIm5hbWVzIjogWyJFcnJvciJdCn0K
@@ -11,7 +11,7 @@ export * as Error from './Error.cjs';
11
11
  export * as Function from './Function.cjs';
12
12
  export * as HTMLElement from './HTMLElement.cjs';
13
13
  export * as Library from './Library.cjs';
14
- export * as Object from './Object.cjs';
14
+ export * as ObjectUtils from './ObjectUtils.cjs';
15
15
  export * as obsidian from './obsidian/index.cjs';
16
16
  export * as Path from './Path.cjs';
17
17
  export * as RegExp from './RegExp.cjs';
@@ -68,4 +68,4 @@ function getAppOrNull() {
68
68
  getApp,
69
69
  getObsidianDevUtilsState
70
70
  });
71
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0FwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBQcm92aWRlcyBhIHV0aWxpdHkgdG8gcmV0cmlldmUgdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuXG4vKipcbiAqIFdyYXBwZXIgdHlwZSBmb3IgYWNjZXNzaW5nIHRoZSBgQXBwYCBpbnN0YW5jZSBnbG9iYWxseS5cbiAqL1xuaW50ZXJmYWNlIEFwcFdyYXBwZXIge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcmVmZXJlbmNlIHRvIHRoZSBPYnNpZGlhbiBgQXBwYCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc1N0YXRlV3JhcHBlciB7XG4gIG9ic2lkaWFuRGV2VXRpbHNTdGF0ZTogR2VuZXJpY09iamVjdDtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIHR5cGUgZm9yIHN0b3Jpbmcgc2hhcmVkIHN0YXRlIGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWx1ZVdyYXBwZXI8VD4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB2YWx1ZSB3cmFwcGVyLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gd3JhcC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQpIHtcbiAgICBub29wKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgQXBwYCBpbnN0YW5jZS5cbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgYEFwcGAgaW5zdGFuY2UgY2Fubm90IGJlIGZvdW5kLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1jb2Rlc2NyaXB0LXRvb2xraXQ/dGFiPXJlYWRtZS1vdi1maWxlI29ic2lkaWFuYXBwLW1vZHVsZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcCgpOiBBcHAge1xuICB0cnkge1xuICAgIHJldHVybiBnbG9iYWxUaGlzLnJlcXVpcmUoJ29ic2lkaWFuL2FwcCcpIGFzIEFwcDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIFBhcnRpYWw8QXBwV3JhcHBlcj4pLmFwcCA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdPYnNpZGlhbiBhcHAgbm90IGZvdW5kJykpO1xuICB9XG59XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQgc3RhdGUgd3JhcHBlciBvYmplY3QgZm9yIGEgZ2l2ZW4ga2V5IGluIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzdG9yZSBvciByZXRyaWV2ZSB0aGUgc2hhcmVkIHN0YXRlLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHVzZSBpZiB0aGUgc2hhcmVkIHN0YXRlIGRvZXMgbm90IGV4aXN0LlxuICogQHJldHVybnMgVGhlIFZhbHVlV3JhcHBlciBvYmplY3QgdGhhdCBzdG9yZXMgdGhlIHNoYXJlZCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZTxUPihhcHA6IEFwcCB8IG51bGwsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICBjb25zdCBob2xkZXIgPSBhcHAgPz8gZ2V0QXBwT3JOdWxsKCkgPz8gZ2xvYmFsVGhpcztcbiAgY29uc3Qgc2hhcmVkU3RhdGVXcmFwcGVyID0gaG9sZGVyIGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc1N0YXRlV3JhcHBlcj47XG4gIHNoYXJlZFN0YXRlV3JhcHBlci5vYnNpZGlhbkRldlV0aWxzU3RhdGUgPz89IHt9O1xuICByZXR1cm4gKHNoYXJlZFN0YXRlV3JhcHBlci5vYnNpZGlhbkRldlV0aWxzU3RhdGVba2V5XSA/Pz0gbmV3IFZhbHVlV3JhcHBlcjxUPihkZWZhdWx0VmFsdWUpKSBhcyBWYWx1ZVdyYXBwZXI8VD47XG59XG5cbmZ1bmN0aW9uIGdldEFwcE9yTnVsbCgpOiBBcHAgfCBudWxsIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0QXBwKCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSxtQkFBZ0M7QUFDaEMsc0JBQXFCO0FBbUJkLE1BQU0sYUFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNcEIsWUFBbUIsT0FBVTtBQUFWO0FBQ3hCLDhCQUFLO0FBQUEsRUFDUDtBQUNGO0FBVU8sU0FBUyxTQUFjO0FBQzVCLE1BQUk7QUFDRixXQUFPLFdBQVcsUUFBUSxjQUFjO0FBQUEsRUFDMUMsUUFBUTtBQUNOLFdBQVEsV0FBbUMsV0FBTyw4QkFBZ0IsSUFBSSxNQUFNLHdCQUF3QixDQUFDO0FBQUEsRUFDdkc7QUFDRjtBQVVPLFNBQVMseUJBQTRCLEtBQWlCLEtBQWEsY0FBa0M7QUFDMUcsUUFBTSxTQUFTLE9BQU8sYUFBYSxLQUFLO0FBQ3hDLFFBQU0scUJBQXFCO0FBQzNCLHFCQUFtQiwwQkFBMEIsQ0FBQztBQUM5QyxTQUFRLG1CQUFtQixzQkFBc0IsR0FBRyxNQUFNLElBQUksYUFBZ0IsWUFBWTtBQUM1RjtBQUVBLFNBQVMsZUFBMkI7QUFDbEMsTUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sT0FBTztBQUNoQjsiLAogICJuYW1lcyI6IFtdCn0K
71
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0FwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBQcm92aWRlcyBhIHV0aWxpdHkgdG8gcmV0cmlldmUgdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi9PYmplY3RVdGlscy50cyc7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9GdW5jdGlvbi50cyc7XG5cbi8qKlxuICogV3JhcHBlciB0eXBlIGZvciBhY2Nlc3NpbmcgdGhlIGBBcHBgIGluc3RhbmNlIGdsb2JhbGx5LlxuICovXG5pbnRlcmZhY2UgQXBwV3JhcHBlciB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCByZWZlcmVuY2UgdG8gdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhbkRldlV0aWxzU3RhdGVXcmFwcGVyIHtcbiAgb2JzaWRpYW5EZXZVdGlsc1N0YXRlOiBHZW5lcmljT2JqZWN0O1xufVxuXG4vKipcbiAqIFdyYXBwZXIgdHlwZSBmb3Igc3RvcmluZyBzaGFyZWQgc3RhdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbHVlV3JhcHBlcjxUPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHZhbHVlIHdyYXBwZXIuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogVCkge1xuICAgIG5vb3AoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgT2JzaWRpYW4gYEFwcGAgaW5zdGFuY2UuXG4gKlxuICogQHJldHVybnMgVGhlIGBBcHBgIGluc3RhbmNlLlxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBgQXBwYCBpbnN0YW5jZSBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWNvZGVzY3JpcHQtdG9vbGtpdD90YWI9cmVhZG1lLW92LWZpbGUjb2JzaWRpYW5hcHAtbW9kdWxlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwKCk6IEFwcCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXMucmVxdWlyZSgnb2JzaWRpYW4vYXBwJykgYXMgQXBwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gKGdsb2JhbFRoaXMgYXMgUGFydGlhbDxBcHBXcmFwcGVyPikuYXBwID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ09ic2lkaWFuIGFwcCBub3QgZm91bmQnKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZCBzdGF0ZSB3cmFwcGVyIG9iamVjdCBmb3IgYSBnaXZlbiBrZXkgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QuXG4gKiBAcmV0dXJucyBUaGUgVmFsdWVXcmFwcGVyIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlPFQ+KGFwcDogQXBwIHwgbnVsbCwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIGNvbnN0IGhvbGRlciA9IGFwcCA/PyBnZXRBcHBPck51bGwoKSA/PyBnbG9iYWxUaGlzO1xuICBjb25zdCBzaGFyZWRTdGF0ZVdyYXBwZXIgPSBob2xkZXIgYXMgUGFydGlhbDxPYnNpZGlhbkRldlV0aWxzU3RhdGVXcmFwcGVyPjtcbiAgc2hhcmVkU3RhdGVXcmFwcGVyLm9ic2lkaWFuRGV2VXRpbHNTdGF0ZSA/Pz0ge307XG4gIHJldHVybiAoc2hhcmVkU3RhdGVXcmFwcGVyLm9ic2lkaWFuRGV2VXRpbHNTdGF0ZVtrZXldID8/PSBuZXcgVmFsdWVXcmFwcGVyPFQ+KGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuZnVuY3Rpb24gZ2V0QXBwT3JOdWxsKCk6IEFwcCB8IG51bGwge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBnZXRBcHAoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLG1CQUFnQztBQUNoQyxzQkFBcUI7QUFtQmQsTUFBTSxhQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1wQixZQUFtQixPQUFVO0FBQVY7QUFDeEIsOEJBQUs7QUFBQSxFQUNQO0FBQ0Y7QUFVTyxTQUFTLFNBQWM7QUFDNUIsTUFBSTtBQUNGLFdBQU8sV0FBVyxRQUFRLGNBQWM7QUFBQSxFQUMxQyxRQUFRO0FBQ04sV0FBUSxXQUFtQyxXQUFPLDhCQUFnQixJQUFJLE1BQU0sd0JBQXdCLENBQUM7QUFBQSxFQUN2RztBQUNGO0FBVU8sU0FBUyx5QkFBNEIsS0FBaUIsS0FBYSxjQUFrQztBQUMxRyxRQUFNLFNBQVMsT0FBTyxhQUFhLEtBQUs7QUFDeEMsUUFBTSxxQkFBcUI7QUFDM0IscUJBQW1CLDBCQUEwQixDQUFDO0FBQzlDLFNBQVEsbUJBQW1CLHNCQUFzQixHQUFHLE1BQU0sSUFBSSxhQUFnQixZQUFZO0FBQzVGO0FBRUEsU0FBUyxlQUEyQjtBQUNsQyxNQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxPQUFPO0FBQ2hCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -37,7 +37,7 @@ __export(FileChange_exports, {
37
37
  module.exports = __toCommonJS(FileChange_exports);
38
38
  var import_implementations = require('obsidian-typings/implementations');
39
39
  var import_Debug = require('../Debug.cjs');
40
- var import_Object = require('../Object.cjs');
40
+ var import_ObjectUtils = require('../ObjectUtils.cjs');
41
41
  var import_ValueProvider = require('../ValueProvider.cjs');
42
42
  var import_FileSystem = require('./FileSystem.cjs');
43
43
  var import_Frontmatter = require('./Frontmatter.cjs');
@@ -76,7 +76,7 @@ async function applyContentChanges(content, path, changesProvider, shouldRetryOn
76
76
  if (index === 0) {
77
77
  return true;
78
78
  }
79
- return !(0, import_Object.deepEqual)(change, changes[index - 1]);
79
+ return !(0, import_ObjectUtils.deepEqual)(change, changes[index - 1]);
80
80
  });
81
81
  for (let i = 1; i < changes.length; i++) {
82
82
  const change = changes[i];
@@ -124,7 +124,7 @@ async function applyContentChanges(content, path, changesProvider, shouldRetryOn
124
124
  change
125
125
  });
126
126
  } else {
127
- (0, import_Object.setNestedPropertyValue)(frontmatter, change.reference.key, change.newContent);
127
+ (0, import_ObjectUtils.setNestedPropertyValue)(frontmatter, change.reference.key, change.newContent);
128
128
  frontmatterChanged = true;
129
129
  }
130
130
  }
@@ -226,7 +226,7 @@ async function applyCanvasChanges(content, path, changesProvider, shouldRetryOnI
226
226
  }
227
227
  async function applyFrontmatterChangesWithOffsets(frontmatter, frontmatterChangesWithOffsetMap, path) {
228
228
  for (const [key, frontmatterChangesWithOffsets] of frontmatterChangesWithOffsetMap.entries()) {
229
- const propertyValue = (0, import_Object.getNestedPropertyValue)(frontmatter, key);
229
+ const propertyValue = (0, import_ObjectUtils.getNestedPropertyValue)(frontmatter, key);
230
230
  if (typeof propertyValue !== "string") {
231
231
  return;
232
232
  }
@@ -254,7 +254,7 @@ async function applyFrontmatterChangesWithOffsets(frontmatter, frontmatterChange
254
254
  if (newPropertyValue === null) {
255
255
  return;
256
256
  }
257
- (0, import_Object.setNestedPropertyValue)(frontmatter, key, newPropertyValue);
257
+ (0, import_ObjectUtils.setNestedPropertyValue)(frontmatter, key, newPropertyValue);
258
258
  }
259
259
  }
260
260
  function parseJsonSafe(content) {
@@ -288,7 +288,7 @@ function validateChanges(changes, content, frontmatter, path, shouldShowWarning)
288
288
  return false;
289
289
  }
290
290
  } else if (isFrontmatterChangeWithOffsets(change)) {
291
- const propertyValue = (0, import_Object.getNestedPropertyValue)(frontmatter, change.reference.key);
291
+ const propertyValue = (0, import_ObjectUtils.getNestedPropertyValue)(frontmatter, change.reference.key);
292
292
  if (typeof propertyValue !== "string") {
293
293
  logger("Property value is not a string", {
294
294
  frontmatterKey: change.reference.key,
@@ -309,7 +309,7 @@ function validateChanges(changes, content, frontmatter, path, shouldShowWarning)
309
309
  return false;
310
310
  }
311
311
  } else if (isFrontmatterChange(change)) {
312
- const actualContent = (0, import_Object.getNestedPropertyValue)(frontmatter, change.reference.key);
312
+ const actualContent = (0, import_ObjectUtils.getNestedPropertyValue)(frontmatter, change.reference.key);
313
313
  if (actualContent !== change.oldContent) {
314
314
  logger("Content mismatch", {
315
315
  actualContent,
@@ -334,4 +334,4 @@ function validateChanges(changes, content, frontmatter, path, shouldShowWarning)
334
334
  isFrontmatterChange,
335
335
  isFrontmatterChangeWithOffsets
336
336
  });
337
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBSZWZlcmVuY2UsXG4gIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL0NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB0eXBlIHsgRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyB9IGZyb20gJy4vRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cy50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlLFxuICBDYW52YXNSZWZlcmVuY2UsXG4gIENhbnZhc1RleHROb2RlUmVmZXJlbmNlXG59IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHsgZ2V0RGVidWdnZXIgfSBmcm9tICcuLi9EZWJ1Zy50cyc7XG5pbXBvcnQge1xuICBkZWVwRXF1YWwsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIHNldE5lc3RlZFByb3BlcnR5VmFsdWVcbn0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHtcbiAgZ2V0UGF0aCxcbiAgaXNDYW52YXNGaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBwYXJzZUZyb250bWF0dGVyLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB7IGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyB9IGZyb20gJy4vRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cy50cyc7XG5pbXBvcnQge1xuICBpc0NhbnZhc1JlZmVyZW5jZSxcbiAgcmVmZXJlbmNlVG9GaWxlQ2hhbmdlXG59IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcbmltcG9ydCB7IHByb2Nlc3MgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZmlsZSBjaGFuZ2UgaW4gdGhlIFZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDaGFuZ2Uge1xuICAvKipcbiAgICogVGhlIG5ldyBjb250ZW50IHRvIHJlcGxhY2UgdGhlIG9sZCBjb250ZW50LlxuICAgKi9cbiAgbmV3Q29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgKi9cbiAgb2xkQ29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJlbmNlIHRoYXQgY2F1c2VkIHRoZSBjaGFuZ2UuXG4gICAqL1xuICByZWZlcmVuY2U6IFJlZmVyZW5jZTtcbn1cbnR5cGUgQ2FudmFzQ2hhbmdlID0geyByZWZlcmVuY2U6IENhbnZhc1JlZmVyZW5jZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgQ2FudmFzRmlsZU5vZGVDaGFuZ2UgPSB7IHJlZmVyZW5jZTogQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIENhbnZhc1RleHROb2RlQ2hhbmdlID0geyByZWZlcmVuY2U6IENhbnZhc1RleHROb2RlUmVmZXJlbmNlIH0gJiBGaWxlQ2hhbmdlO1xudHlwZSBDb250ZW50Q2hhbmdlID0geyByZWZlcmVuY2U6IFJlZmVyZW5jZUNhY2hlIH0gJiBGaWxlQ2hhbmdlO1xudHlwZSBGcm9udG1hdHRlckNoYW5nZSA9IHsgcmVmZXJlbmNlOiBGcm9udG1hdHRlckxpbmtDYWNoZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyA9IHsgcmVmZXJlbmNlOiBGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gJiBGaWxlQ2hhbmdlO1xuXG4vKipcbiAqIEFwcGxpZXMgYSBzZXJpZXMgb2YgY29udGVudCBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgY29udGVudC5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHRvIHdoaWNoIHRoZSBjaGFuZ2VzIHNob3VsZCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBjaGFuZ2VzUHJvdmlkZXIgLSBBIHByb3ZpZGVyIHRoYXQgcmV0dXJucyBhbiBhcnJheSBvZiBjb250ZW50IGNoYW5nZXMgdG8gYXBwbHkuXG4gKiBAcGFyYW0gc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzIC0gV2hldGhlciB0byByZXRyeSB0aGUgb3BlcmF0aW9uIGlmIHRoZSBjaGFuZ2VzIGFyZSBpbnZhbGlkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgdXBkYXRlZCBjb250ZW50IG9yIHRvIGBudWxsYCBpZiB1cGRhdGUgZGlkbid0IHN1Y2NlZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseUNvbnRlbnRDaGFuZ2VzKFxuICBjb250ZW50OiBzdHJpbmcsXG4gIHBhdGg6IHN0cmluZyxcbiAgY2hhbmdlc1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPEZpbGVDaGFuZ2VbXT4sXG4gIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyA9IHRydWVcbik6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICBsZXQgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuICBsZXQgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4gPSB7fTtcbiAgbGV0IGhhc0Zyb250bWF0dGVyRXJyb3IgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICBmcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXIoY29udGVudCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihuZXcgRXJyb3IoYEZyb250bWF0dGVyIHBhcnNpbmcgZmFpbGVkIGluICR7cGF0aH1gLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgaGFzRnJvbnRtYXR0ZXJFcnJvciA9IHRydWU7XG4gIH1cblxuICBpZiAoIXZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzLCBjb250ZW50LCBmcm9udG1hdHRlciwgcGF0aCwgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzKSkge1xuICAgIHJldHVybiBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgPyBudWxsIDogY29udGVudDtcbiAgfVxuXG4gIGNoYW5nZXMuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoYSkgJiYgaXNDb250ZW50Q2hhbmdlKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0IC0gYi5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoYSkgJiYgaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2Uua2V5LmxvY2FsZUNvbXBhcmUoYi5yZWZlcmVuY2Uua2V5KSB8fCBhLnJlZmVyZW5jZS5zdGFydE9mZnNldCAtIGIucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGEpICYmIGlzRnJvbnRtYXR0ZXJDaGFuZ2UoYikpIHtcbiAgICAgIHJldHVybiBhLnJlZmVyZW5jZS5rZXkubG9jYWxlQ29tcGFyZShiLnJlZmVyZW5jZS5rZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBpc0NvbnRlbnRDaGFuZ2UoYSkgPyAtMSA6IDE7XG4gIH0pO1xuXG4gIC8vIEJVRzogaHR0cHM6Ly9mb3J1bS5vYnNpZGlhbi5tZC90L2J1Zy1kdXBsaWNhdGVkLWxpbmtzLWluLW1ldGFkYXRhY2FjaGUtaW5zaWRlLWZvb3Rub3Rlcy84NTU1MVxuICBjaGFuZ2VzID0gY2hhbmdlcy5maWx0ZXIoKGNoYW5nZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoY2hhbmdlLm9sZENvbnRlbnQgPT09IGNoYW5nZS5uZXdDb250ZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiAhZGVlcEVxdWFsKGNoYW5nZSwgY2hhbmdlc1tpbmRleCAtIDFdKTtcbiAgfSk7XG5cbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICBpZiAoIWNoYW5nZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHByZXZpb3VzQ2hhbmdlID0gY2hhbmdlc1tpIC0gMV07XG4gICAgaWYgKCFwcmV2aW91c0NoYW5nZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNDb250ZW50Q2hhbmdlKHByZXZpb3VzQ2hhbmdlKSAmJiBpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKSAmJiBwcmV2aW91c0NoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uZW5kLm9mZnNldFxuICAgICAgJiYgcHJldmlvdXNDaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQgPiBjaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKCdPdmVybGFwcGluZyBjaGFuZ2VzJywge1xuICAgICAgICBjaGFuZ2UsXG4gICAgICAgIHByZXZpb3VzQ2hhbmdlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGxldCBuZXdDb250ZW50ID0gJyc7XG4gIGxldCBsYXN0SW5kZXggPSAwO1xuICBsZXQgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gZmFsc2U7XG5cbiAgY29uc3QgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzW10+KCk7XG5cbiAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCwgY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXQpO1xuICAgICAgbmV3Q29udGVudCArPSBjaGFuZ2UubmV3Q29udGVudDtcbiAgICAgIGxhc3RJbmRleCA9IGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uZW5kLm9mZnNldDtcbiAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhjaGFuZ2UpKSB7XG4gICAgICBpZiAoaGFzRnJvbnRtYXR0ZXJFcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBDYW5ub3QgYXBwbHkgZnJvbnRtYXR0ZXIgY2hhbmdlIGluICR7cGF0aH0sIGJlY2F1c2UgZnJvbnRtYXR0ZXIgcGFyc2luZyBmYWlsZWRgLCB7XG4gICAgICAgICAgY2hhbmdlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcC5nZXQoY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgICBpZiAoIWZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKSB7XG4gICAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMgPSBbXTtcbiAgICAgICAgICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLnNldChjaGFuZ2UucmVmZXJlbmNlLmtleSwgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMpO1xuICAgICAgICB9XG4gICAgICAgIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzLnB1c2goY2hhbmdlKTtcbiAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgaWYgKGhhc0Zyb250bWF0dGVyRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGFwcGx5IGZyb250bWF0dGVyIGNoYW5nZSBpbiAke3BhdGh9LCBiZWNhdXNlIGZyb250bWF0dGVyIHBhcnNpbmcgZmFpbGVkYCwge1xuICAgICAgICAgIGNoYW5nZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGNoYW5nZS5yZWZlcmVuY2Uua2V5LCBjaGFuZ2UubmV3Q29udGVudCk7XG4gICAgICAgIGZyb250bWF0dGVyQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXdhaXQgYXBwbHlGcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0cyhmcm9udG1hdHRlciwgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcCwgcGF0aCk7XG5cbiAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCk7XG4gIGlmIChmcm9udG1hdHRlckNoYW5nZWQpIHtcbiAgICBuZXdDb250ZW50ID0gc2V0RnJvbnRtYXR0ZXIobmV3Q29udGVudCwgZnJvbnRtYXR0ZXIpO1xuICB9XG5cbiAgcmV0dXJuIG5ld0NvbnRlbnQ7XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHNlcmllcyBvZiBmaWxlIGNoYW5nZXMgdG8gdGhlIHNwZWNpZmllZCBmaWxlIG9yIHBhdGggd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlIHdoZXJlIHRoZSBmaWxlIGNoYW5nZXMgd2lsbCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHdoaWNoIHRoZSBjaGFuZ2VzIHNob3VsZCBiZSBhcHBsaWVkLlxuICogQHBhcmFtIGNoYW5nZXNQcm92aWRlciAtIEEgcHJvdmlkZXIgdGhhdCByZXR1cm5zIGFuIGFycmF5IG9mIGZpbGUgY2hhbmdlcyB0byBhcHBseS5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcvcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEBwYXJhbSBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgLSBXaGV0aGVyIHRvIHJldHJ5IHRoZSBvcGVyYXRpb24gaWYgdGhlIGNoYW5nZXMgYXJlIGludmFsaWQuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGNoYW5nZXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBhcHBsaWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlGaWxlQ2hhbmdlcyhcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10+LFxuICBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSxcbiAgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID0gdHJ1ZVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHByb2Nlc3MoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoY29udGVudCkgPT4ge1xuICAgIGlmIChpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKSkge1xuICAgICAgcmV0dXJuIGFwcGx5Q2FudmFzQ2hhbmdlcyhjb250ZW50LCBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSksIGNoYW5nZXNQcm92aWRlciwgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgYXBwbHlDb250ZW50Q2hhbmdlcyhjb250ZW50LCBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSksIGNoYW5nZXNQcm92aWRlciwgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzKTtcbiAgfSwgcHJvY2Vzc09wdGlvbnMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gY2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNDaGFuZ2UoY2hhbmdlOiBGaWxlQ2hhbmdlKTogY2hhbmdlIGlzIENhbnZhc0NoYW5nZSB7XG4gIHJldHVybiBpc0NhbnZhc1JlZmVyZW5jZShjaGFuZ2UucmVmZXJlbmNlKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyBmaWxlIG5vZGUgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBjaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyBmaWxlIG5vZGUgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNGaWxlTm9kZUNoYW5nZShjaGFuZ2U6IEZpbGVDaGFuZ2UpOiBjaGFuZ2UgaXMgQ2FudmFzRmlsZU5vZGVDaGFuZ2Uge1xuICByZXR1cm4gaXNDYW52YXNDaGFuZ2UoY2hhbmdlKSAmJiBjaGFuZ2UucmVmZXJlbmNlLnR5cGUgPT09ICdmaWxlJztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyB0ZXh0IG5vZGUgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBjaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyB0ZXh0IG5vZGUgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNUZXh0Tm9kZUNoYW5nZShjaGFuZ2U6IEZpbGVDaGFuZ2UpOiBjaGFuZ2UgaXMgQ2FudmFzVGV4dE5vZGVDaGFuZ2Uge1xuICByZXR1cm4gaXNDYW52YXNDaGFuZ2UoY2hhbmdlKSAmJiBjaGFuZ2UucmVmZXJlbmNlLnR5cGUgPT09ICd0ZXh0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNvbnRlbnQgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjb250ZW50IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGVudENoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBDb250ZW50Q2hhbmdlIHtcbiAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUoZmlsZUNoYW5nZS5yZWZlcmVuY2UpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBmcm9udG1hdHRlciBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zyb250bWF0dGVyQ2hhbmdlKGZpbGVDaGFuZ2U6IEZpbGVDaGFuZ2UpOiBmaWxlQ2hhbmdlIGlzIEZyb250bWF0dGVyQ2hhbmdlIHtcbiAgcmV0dXJuIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUoZmlsZUNoYW5nZS5yZWZlcmVuY2UpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlIHdpdGggb2Zmc2V0cy5cbiAqXG4gKiBAcGFyYW0gZmlsZUNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlIHdpdGggb2Zmc2V0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzIHtcbiAgcmV0dXJuIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhmaWxlQ2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFwcGx5Q2FudmFzQ2hhbmdlcyhcbiAgY29udGVudDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10+LFxuICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgPSB0cnVlXG4pOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgY29uc3QgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuICBjb25zdCBjYW52YXNEYXRhID0gcGFyc2VKc29uU2FmZShjb250ZW50KSBhcyBDYW52YXNEYXRhO1xuXG4gIGNvbnN0IGNhbnZhc1RleHRDaGFuZ2VzID0gbmV3IE1hcDxudW1iZXIsIENhbnZhc1RleHROb2RlQ2hhbmdlW10+KCk7XG5cbiAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgIGlmICghaXNDYW52YXNDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgY29uc29sZS53YXJuKCdPbmx5IGNhbnZhcyBjaGFuZ2VzIGFyZSBzdXBwb3J0ZWQgZm9yIGNhbnZhcyBmaWxlcycsIHtcbiAgICAgICAgY2hhbmdlLFxuICAgICAgICBwYXRoXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBjYW52YXNEYXRhLm5vZGVzW2NoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4XTtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm9kZSBub3QgZm91bmQnLCB7XG4gICAgICAgIG5vZGVJbmRleDogY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXgsXG4gICAgICAgIHBhdGhcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgaWYgKG5vZGUuZmlsZSAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQ6IG5vZGUuZmlsZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBub2RlSW5kZXg6IGNoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4LFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgdHlwZTogJ2ZpbGUnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgbm9kZS5maWxlID0gY2hhbmdlLm5ld0NvbnRlbnQ7XG4gICAgfSBlbHNlIGlmIChpc0NhbnZhc1RleHROb2RlQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGxldCBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUgPSBjYW52YXNUZXh0Q2hhbmdlcy5nZXQoY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXgpO1xuICAgICAgaWYgKCFjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUpIHtcbiAgICAgICAgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlID0gW107XG4gICAgICAgIGNhbnZhc1RleHRDaGFuZ2VzLnNldChjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCwgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlKTtcbiAgICAgIH1cblxuICAgICAgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlLnB1c2goY2hhbmdlKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IFtub2RlSW5kZXgsIGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZV0gb2YgY2FudmFzVGV4dENoYW5nZXMuZW50cmllcygpKSB7XG4gICAgY29uc3Qgbm9kZSA9IGNhbnZhc0RhdGEubm9kZXNbbm9kZUluZGV4XTtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm9kZSBub3QgZm91bmQnLCB7XG4gICAgICAgIG5vZGVJbmRleCxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygbm9kZS50ZXh0ICE9PSAnc3RyaW5nJykge1xuICAgICAgY29uc29sZS53YXJuKCdOb2RlIHRleHQgaXMgbm90IGEgc3RyaW5nJywge1xuICAgICAgICBub2RlSW5kZXgsXG4gICAgICAgIHBhdGhcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50Q2hhbmdlcyA9IGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZS5tYXAoKGNoYW5nZSkgPT4gcmVmZXJlbmNlVG9GaWxlQ2hhbmdlKGNoYW5nZS5yZWZlcmVuY2Uub3JpZ2luYWxSZWZlcmVuY2UsIGNoYW5nZS5uZXdDb250ZW50KSk7XG4gICAgbm9kZS50ZXh0ID0gYXdhaXQgYXBwbHlDb250ZW50Q2hhbmdlcyhub2RlLnRleHQsIGAke3BhdGh9Lm5vZGUke25vZGVJbmRleC50b1N0cmluZygpfS5WSVJUVUFMX0ZJTEUubWRgLCBjb250ZW50Q2hhbmdlcywgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShjYW52YXNEYXRhLCBudWxsLCAnXFx0Jyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFwcGx5RnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMoXG4gIGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+LFxuICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwOiBNYXA8c3RyaW5nLCBGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzW10+LFxuICBwYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IFtrZXksIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzXSBvZiBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0TWFwLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBrZXkpO1xuICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50Q2hhbmdlczogQ29udGVudENoYW5nZVtdID0gZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMubWFwKChjaGFuZ2UpID0+ICh7XG4gICAgICBuZXdDb250ZW50OiBjaGFuZ2UubmV3Q29udGVudCxcbiAgICAgIG9sZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgIGxpbms6ICcnLFxuICAgICAgICBvcmlnaW5hbDogJycsXG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgZW5kOiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2UuZW5kT2Zmc2V0LFxuICAgICAgICAgICAgbGluZTogMCxcbiAgICAgICAgICAgIG9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXRcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgICBjb2w6IGNoYW5nZS5yZWZlcmVuY2Uuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgICBsaW5lOiAwLFxuICAgICAgICAgICAgb2Zmc2V0OiBjaGFuZ2UucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBhcyBDb250ZW50Q2hhbmdlKSk7XG5cbiAgICBjb25zdCBuZXdQcm9wZXJ0eVZhbHVlID0gYXdhaXQgYXBwbHlDb250ZW50Q2hhbmdlcyhwcm9wZXJ0eVZhbHVlLCBgJHtwYXRofS5mcm9udG1hdHRlci4ke2tleX0uVklSVFVBTF9GSUxFLm1kYCwgY29udGVudENoYW5nZXMpO1xuICAgIGlmIChuZXdQcm9wZXJ0eVZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwga2V5LCBuZXdQcm9wZXJ0eVZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUpzb25TYWZlKGNvbnRlbnQ6IHN0cmluZyk6IEdlbmVyaWNPYmplY3Qge1xuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gIH0gY2F0Y2gge1xuICAgIHBhcnNlZCA9IG51bGw7XG4gIH1cblxuICBpZiAocGFyc2VkID09PSBudWxsIHx8IHR5cGVvZiBwYXJzZWQgIT09ICdvYmplY3QnKSB7XG4gICAgcGFyc2VkID0ge307XG4gIH1cblxuICByZXR1cm4gcGFyc2VkIGFzIEdlbmVyaWNPYmplY3Q7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hhbmdlcyhjaGFuZ2VzOiBGaWxlQ2hhbmdlW10sIGNvbnRlbnQ6IHN0cmluZywgZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8dW5rbm93bj4sIHBhdGg6IHN0cmluZywgc2hvdWxkU2hvd1dhcm5pbmc6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0RGVidWdnZXIoJ3ZhbGlkYXRlQ2hhbmdlcycpO1xuICBjb25zdCBsb2dnZXIgPSBzaG91bGRTaG93V2FybmluZyA/IGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpIDogX2RlYnVnZ2VyO1xuICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgaWYgKGlzQ29udGVudENoYW5nZShjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBzdGFydE9mZnNldCA9IGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgICAgY29uc3QgZW5kT2Zmc2V0ID0gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0O1xuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IGNvbnRlbnQuc2xpY2Uoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgbG9nZ2VyKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQsXG4gICAgICAgICAgZW5kT2Zmc2V0LFxuICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGFydE9mZnNldFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoY2hhbmdlKSkge1xuICAgICAgY29uc3QgcHJvcGVydHlWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGNoYW5nZS5yZWZlcmVuY2Uua2V5KTtcbiAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgbG9nZ2VyKCdQcm9wZXJ0eSB2YWx1ZSBpcyBub3QgYSBzdHJpbmcnLCB7XG4gICAgICAgICAgZnJvbnRtYXR0ZXJLZXk6IGNoYW5nZS5yZWZlcmVuY2Uua2V5LFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcHJvcGVydHlWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gcHJvcGVydHlWYWx1ZS5zbGljZShjaGFuZ2UucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0LCBjaGFuZ2UucmVmZXJlbmNlLmVuZE9mZnNldCk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgbG9nZ2VyKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLnJlZmVyZW5jZS5rZXksXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzdGFydE9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IGFjdHVhbENvbnRlbnQgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UucmVmZXJlbmNlLmtleSk7XG4gICAgICBpZiAoYWN0dWFsQ29udGVudCAhPT0gY2hhbmdlLm9sZENvbnRlbnQpIHtcbiAgICAgICAgbG9nZ2VyKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgIGFjdHVhbENvbnRlbnQsXG4gICAgICAgICAgZXhwZWN0ZWRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLnJlZmVyZW5jZS5rZXksXG4gICAgICAgICAgcGF0aFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1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QUFpQixhQUEyQyxNQUFjLG1CQUFxQztBQUM3SixRQUFNLGdCQUFZLDBCQUFZLGlCQUFpQjtBQUMvQyxRQUFNLFNBQVMsb0JBQW9CLFFBQVEsS0FBSyxLQUFLLE9BQU8sSUFBSTtBQUNoRSxhQUFXLFVBQVUsU0FBUztBQUM1QixRQUFJLGdCQUFnQixNQUFNLEdBQUc7QUFDM0IsWUFBTSxjQUFjLE9BQU8sVUFBVSxTQUFTLE1BQU07QUFDcEQsWUFBTSxZQUFZLE9BQU8sVUFBVSxTQUFTLElBQUk7QUFDaEQsWUFBTSxnQkFBZ0IsUUFBUSxNQUFNLGFBQWEsU0FBUztBQUMxRCxVQUFJLGtCQUFrQixPQUFPLFlBQVk7QUFDdkMsZUFBTyxvQkFBb0I7QUFBQSxVQUN6QjtBQUFBLFVBQ0E7QUFBQSxVQUNBLGlCQUFpQixPQUFPO0FBQUEsVUFDeEI7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBRUQsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGLFdBQVcsK0JBQStCLE1BQU0sR0FBRztBQUNqRCxZQUFNLG9CQUFnQixzQ0FBdUIsYUFBYSxPQUFPLFVBQVUsR0FBRztBQUM5RSxVQUFJLE9BQU8sa0JBQWtCLFVBQVU7QUFDckMsZUFBTyxrQ0FBa0M7QUFBQSxVQUN2QyxnQkFBZ0IsT0FBTyxVQUFVO0FBQUEsVUFDakM7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQ0QsZUFBTztBQUFBLE1BQ1Q7QUFFQSxZQUFNLGdCQUFnQixjQUFjLE1BQU0sT0FBTyxVQUFVLGFBQWEsT0FBTyxVQUFVLFNBQVM7QUFDbEcsVUFBSSxrQkFBa0IsT0FBTyxZQUFZO0FBQ3ZDLGVBQU8sb0JBQW9CO0FBQUEsVUFDekI7QUFBQSxVQUNBLGlCQUFpQixPQUFPO0FBQUEsVUFDeEIsZ0JBQWdCLE9BQU8sVUFBVTtBQUFBLFVBQ2pDO0FBQUEsVUFDQSxhQUFhLE9BQU8sVUFBVTtBQUFBLFFBQ2hDLENBQUM7QUFFRCxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0YsV0FBVyxvQkFBb0IsTUFBTSxHQUFHO0FBQ3RDLFlBQU0sb0JBQWdCLHNDQUF1QixhQUFhLE9BQU8sVUFBVSxHQUFHO0FBQzlFLFVBQUksa0JBQWtCLE9BQU8sWUFBWTtBQUN2QyxlQUFPLG9CQUFvQjtBQUFBLFVBQ3pCO0FBQUEsVUFDQSxpQkFBaUIsT0FBTztBQUFBLFVBQ3hCLGdCQUFnQixPQUFPLFVBQVU7QUFBQSxVQUNqQztBQUFBLFFBQ0YsQ0FBQztBQUVELGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
337
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBSZWZlcmVuY2UsXG4gIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL0NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uL09iamVjdFV0aWxzLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gZnJvbSAnLi9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIENhbnZhc1JlZmVyZW5jZSxcbiAgQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2Vcbn0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzT3B0aW9ucyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlciB9IGZyb20gJy4uL0RlYnVnLnRzJztcbmltcG9ydCB7XG4gIGRlZXBFcXVhbCxcbiAgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZVxufSBmcm9tICcuLi9PYmplY3RVdGlscy50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB7XG4gIGdldFBhdGgsXG4gIGlzQ2FudmFzRmlsZVxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgcGFyc2VGcm9udG1hdHRlcixcbiAgc2V0RnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMgfSBmcm9tICcuL0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMudHMnO1xuaW1wb3J0IHtcbiAgaXNDYW52YXNSZWZlcmVuY2UsXG4gIHJlZmVyZW5jZVRvRmlsZUNoYW5nZVxufSBmcm9tICcuL1JlZmVyZW5jZS50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZpbGUgY2hhbmdlIGluIHRoZSBWYXVsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWxlQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBuZXcgY29udGVudCB0byByZXBsYWNlIHRoZSBvbGQgY29udGVudC5cbiAgICovXG4gIG5ld0NvbnRlbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9sZCBjb250ZW50IHRoYXQgd2lsbCBiZSByZXBsYWNlZC5cbiAgICovXG4gIG9sZENvbnRlbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSB0aGF0IGNhdXNlZCB0aGUgY2hhbmdlLlxuICAgKi9cbiAgcmVmZXJlbmNlOiBSZWZlcmVuY2U7XG59XG50eXBlIENhbnZhc0NoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNSZWZlcmVuY2UgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIENhbnZhc0ZpbGVOb2RlQ2hhbmdlID0geyByZWZlcmVuY2U6IENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlIH0gJiBGaWxlQ2hhbmdlO1xudHlwZSBDYW52YXNUZXh0Tm9kZUNoYW5nZSA9IHsgcmVmZXJlbmNlOiBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgQ29udGVudENoYW5nZSA9IHsgcmVmZXJlbmNlOiBSZWZlcmVuY2VDYWNoZSB9ICYgRmlsZUNoYW5nZTtcbnR5cGUgRnJvbnRtYXR0ZXJDaGFuZ2UgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGUgfSAmIEZpbGVDaGFuZ2U7XG50eXBlIEZyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMgPSB7IHJlZmVyZW5jZTogRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyB9ICYgRmlsZUNoYW5nZTtcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2VyaWVzIG9mIGNvbnRlbnQgY2hhbmdlcyB0byB0aGUgc3BlY2lmaWVkIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gd2hpY2ggdGhlIGNoYW5nZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gY2hhbmdlc1Byb3ZpZGVyIC0gQSBwcm92aWRlciB0aGF0IHJldHVybnMgYW4gYXJyYXkgb2YgY29udGVudCBjaGFuZ2VzIHRvIGFwcGx5LlxuICogQHBhcmFtIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyAtIFdoZXRoZXIgdG8gcmV0cnkgdGhlIG9wZXJhdGlvbiBpZiB0aGUgY2hhbmdlcyBhcmUgaW52YWxpZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHVwZGF0ZWQgY29udGVudCBvciB0byBgbnVsbGAgaWYgdXBkYXRlIGRpZG4ndCBzdWNjZWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlDb250ZW50Q2hhbmdlcyhcbiAgY29udGVudDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10+LFxuICBzaG91bGRSZXRyeU9uSW52YWxpZENoYW5nZXMgPSB0cnVlXG4pOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgbGV0IGNoYW5nZXMgPSBhd2FpdCByZXNvbHZlVmFsdWUoY2hhbmdlc1Byb3ZpZGVyKTtcbiAgbGV0IGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+ID0ge307XG4gIGxldCBoYXNGcm9udG1hdHRlckVycm9yID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgZnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyKGNvbnRlbnQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKGBGcm9udG1hdHRlciBwYXJzaW5nIGZhaWxlZCBpbiAke3BhdGh9YCwgeyBjYXVzZTogZXJyb3IgfSkpO1xuICAgIGhhc0Zyb250bWF0dGVyRXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKCF2YWxpZGF0ZUNoYW5nZXMoY2hhbmdlcywgY29udGVudCwgZnJvbnRtYXR0ZXIsIHBhdGgsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcykpIHtcbiAgICByZXR1cm4gc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID8gbnVsbCA6IGNvbnRlbnQ7XG4gIH1cblxuICBjaGFuZ2VzLnNvcnQoKGEsIGIpID0+IHtcbiAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGEpICYmIGlzQ29udGVudENoYW5nZShiKSkge1xuICAgICAgcmV0dXJuIGEucmVmZXJlbmNlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAtIGIucmVmZXJlbmNlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGEpICYmIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyhiKSkge1xuICAgICAgcmV0dXJuIGEucmVmZXJlbmNlLmtleS5sb2NhbGVDb21wYXJlKGIucmVmZXJlbmNlLmtleSkgfHwgYS5yZWZlcmVuY2Uuc3RhcnRPZmZzZXQgLSBiLnJlZmVyZW5jZS5zdGFydE9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckNoYW5nZShhKSAmJiBpc0Zyb250bWF0dGVyQ2hhbmdlKGIpKSB7XG4gICAgICByZXR1cm4gYS5yZWZlcmVuY2Uua2V5LmxvY2FsZUNvbXBhcmUoYi5yZWZlcmVuY2Uua2V5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNDb250ZW50Q2hhbmdlKGEpID8gLTEgOiAxO1xuICB9KTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgY2hhbmdlcyA9IGNoYW5nZXMuZmlsdGVyKChjaGFuZ2UsIGluZGV4KSA9PiB7XG4gICAgaWYgKGNoYW5nZS5vbGRDb250ZW50ID09PSBjaGFuZ2UubmV3Q29udGVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gIWRlZXBFcXVhbChjaGFuZ2UsIGNoYW5nZXNbaW5kZXggLSAxXSk7XG4gIH0pO1xuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYW5nZSA9IGNoYW5nZXNbaV07XG4gICAgaWYgKCFjaGFuZ2UpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBwcmV2aW91c0NoYW5nZSA9IGNoYW5nZXNbaSAtIDFdO1xuICAgIGlmICghcHJldmlvdXNDaGFuZ2UpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlzQ29udGVudENoYW5nZShwcmV2aW91c0NoYW5nZSkgJiYgaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkgJiYgcHJldmlvdXNDaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICYmIHByZXZpb3VzQ2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5lbmQub2Zmc2V0ID4gY2hhbmdlLnJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXRcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybignT3ZlcmxhcHBpbmcgY2hhbmdlcycsIHtcbiAgICAgICAgY2hhbmdlLFxuICAgICAgICBwcmV2aW91c0NoYW5nZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBsZXQgbmV3Q29udGVudCA9ICcnO1xuICBsZXQgbGFzdEluZGV4ID0gMDtcbiAgbGV0IGZyb250bWF0dGVyQ2hhbmdlZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRNYXAgPSBuZXcgTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgsIGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcbiAgICAgIG5ld0NvbnRlbnQgKz0gY2hhbmdlLm5ld0NvbnRlbnQ7XG4gICAgICBsYXN0SW5kZXggPSBjaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQ7XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoY2hhbmdlKSkge1xuICAgICAgaWYgKGhhc0Zyb250bWF0dGVyRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGFwcGx5IGZyb250bWF0dGVyIGNoYW5nZSBpbiAke3BhdGh9LCBiZWNhdXNlIGZyb250bWF0dGVyIHBhcnNpbmcgZmFpbGVkYCwge1xuICAgICAgICAgIGNoYW5nZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0cyA9IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRNYXAuZ2V0KGNoYW5nZS5yZWZlcmVuY2Uua2V5KTtcbiAgICAgICAgaWYgKCFmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0cykge1xuICAgICAgICAgIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzID0gW107XG4gICAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcC5zZXQoY2hhbmdlLnJlZmVyZW5jZS5rZXksIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKTtcbiAgICAgICAgfVxuICAgICAgICBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0cy5wdXNoKGNoYW5nZSk7XG4gICAgICAgIGZyb250bWF0dGVyQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGlmIChoYXNGcm9udG1hdHRlckVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYENhbm5vdCBhcHBseSBmcm9udG1hdHRlciBjaGFuZ2UgaW4gJHtwYXRofSwgYmVjYXVzZSBmcm9udG1hdHRlciBwYXJzaW5nIGZhaWxlZGAsIHtcbiAgICAgICAgICBjaGFuZ2VcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UucmVmZXJlbmNlLmtleSwgY2hhbmdlLm5ld0NvbnRlbnQpO1xuICAgICAgICBmcm9udG1hdHRlckNoYW5nZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGF3YWl0IGFwcGx5RnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldHMoZnJvbnRtYXR0ZXIsIGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRNYXAsIHBhdGgpO1xuXG4gIG5ld0NvbnRlbnQgKz0gY29udGVudC5zbGljZShsYXN0SW5kZXgpO1xuICBpZiAoZnJvbnRtYXR0ZXJDaGFuZ2VkKSB7XG4gICAgbmV3Q29udGVudCA9IHNldEZyb250bWF0dGVyKG5ld0NvbnRlbnQsIGZyb250bWF0dGVyKTtcbiAgfVxuXG4gIHJldHVybiBuZXdDb250ZW50O1xufVxuXG4vKipcbiAqIEFwcGxpZXMgYSBzZXJpZXMgb2YgZmlsZSBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZSB3aGVyZSB0aGUgZmlsZSBjaGFuZ2VzIHdpbGwgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBjaGFuZ2VzUHJvdmlkZXIgLSBBIHByb3ZpZGVyIHRoYXQgcmV0dXJucyBhbiBhcnJheSBvZiBmaWxlIGNoYW5nZXMgdG8gYXBwbHkuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcGFyYW0gc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzIC0gV2hldGhlciB0byByZXRyeSB0aGUgb3BlcmF0aW9uIGlmIHRoZSBjaGFuZ2VzIGFyZSBpbnZhbGlkLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGx5RmlsZUNoYW5nZXMoXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBjaGFuZ2VzUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8RmlsZUNoYW5nZVtdPixcbiAgcHJvY2Vzc09wdGlvbnM6IFByb2Nlc3NPcHRpb25zID0ge30sXG4gIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyA9IHRydWVcbik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwcm9jZXNzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgcGF0aE9yRmlsZSkpIHtcbiAgICAgIHJldHVybiBhcHBseUNhbnZhc0NoYW5nZXMoY29udGVudCwgZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLCBjaGFuZ2VzUHJvdmlkZXIsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMoY29udGVudCwgZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLCBjaGFuZ2VzUHJvdmlkZXIsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyk7XG4gIH0sIHByb2Nlc3NPcHRpb25zKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNhbnZhcyBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIGNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY2FudmFzIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FudmFzQ2hhbmdlKGNoYW5nZTogRmlsZUNoYW5nZSk6IGNoYW5nZSBpcyBDYW52YXNDaGFuZ2Uge1xuICByZXR1cm4gaXNDYW52YXNSZWZlcmVuY2UoY2hhbmdlLnJlZmVyZW5jZSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgZmlsZSBub2RlIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gY2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgZmlsZSBub2RlIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UoY2hhbmdlOiBGaWxlQ2hhbmdlKTogY2hhbmdlIGlzIENhbnZhc0ZpbGVOb2RlQ2hhbmdlIHtcbiAgcmV0dXJuIGlzQ2FudmFzQ2hhbmdlKGNoYW5nZSkgJiYgY2hhbmdlLnJlZmVyZW5jZS50eXBlID09PSAnZmlsZSc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgdGV4dCBub2RlIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gY2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjYW52YXMgdGV4dCBub2RlIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FudmFzVGV4dE5vZGVDaGFuZ2UoY2hhbmdlOiBGaWxlQ2hhbmdlKTogY2hhbmdlIGlzIENhbnZhc1RleHROb2RlQ2hhbmdlIHtcbiAgcmV0dXJuIGlzQ2FudmFzQ2hhbmdlKGNoYW5nZSkgJiYgY2hhbmdlLnJlZmVyZW5jZS50eXBlID09PSAndGV4dCc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgZmlsZSBjaGFuZ2UgaXMgYSBjb250ZW50IGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gZmlsZUNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgY29udGVudCBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRlbnRDaGFuZ2UoZmlsZUNoYW5nZTogRmlsZUNoYW5nZSk6IGZpbGVDaGFuZ2UgaXMgQ29udGVudENoYW5nZSB7XG4gIHJldHVybiBpc1JlZmVyZW5jZUNhY2hlKGZpbGVDaGFuZ2UucmVmZXJlbmNlKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gZmlsZUNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckNoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBGcm9udG1hdHRlckNoYW5nZSB7XG4gIHJldHVybiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKGZpbGVDaGFuZ2UucmVmZXJlbmNlKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZSB3aXRoIG9mZnNldHMuXG4gKlxuICogQHBhcmFtIGZpbGVDaGFuZ2UgLSBUaGUgZmlsZSBjaGFuZ2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZSB3aXRoIG9mZnNldHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMoZmlsZUNoYW5nZTogRmlsZUNoYW5nZSk6IGZpbGVDaGFuZ2UgaXMgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyB7XG4gIHJldHVybiBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMoZmlsZUNoYW5nZS5yZWZlcmVuY2UpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUNhbnZhc0NoYW5nZXMoXG4gIGNvbnRlbnQ6IHN0cmluZyxcbiAgcGF0aDogc3RyaW5nLFxuICBjaGFuZ2VzUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8RmlsZUNoYW5nZVtdPixcbiAgc2hvdWxkUmV0cnlPbkludmFsaWRDaGFuZ2VzID0gdHJ1ZVxuKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGNvbnN0IGNoYW5nZXMgPSBhd2FpdCByZXNvbHZlVmFsdWUoY2hhbmdlc1Byb3ZpZGVyKTtcbiAgY29uc3QgY2FudmFzRGF0YSA9IHBhcnNlSnNvblNhZmUoY29udGVudCkgYXMgQ2FudmFzRGF0YTtcblxuICBjb25zdCBjYW52YXNUZXh0Q2hhbmdlcyA9IG5ldyBNYXA8bnVtYmVyLCBDYW52YXNUZXh0Tm9kZUNoYW5nZVtdPigpO1xuXG4gIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICBpZiAoIWlzQ2FudmFzQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybignT25seSBjYW52YXMgY2hhbmdlcyBhcmUgc3VwcG9ydGVkIGZvciBjYW52YXMgZmlsZXMnLCB7XG4gICAgICAgIGNoYW5nZSxcbiAgICAgICAgcGF0aFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gY2FudmFzRGF0YS5ub2Rlc1tjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleF07XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vZGUgbm90IGZvdW5kJywge1xuICAgICAgICBub2RlSW5kZXg6IGNoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4LFxuICAgICAgICBwYXRoXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgIGlmIChub2RlLmZpbGUgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignQ29udGVudCBtaXNtYXRjaCcsIHtcbiAgICAgICAgICBhY3R1YWxDb250ZW50OiBub2RlLmZpbGUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgbm9kZUluZGV4OiBjaGFuZ2UucmVmZXJlbmNlLm5vZGVJbmRleCxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHR5cGU6ICdmaWxlJ1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIG5vZGUuZmlsZSA9IGNoYW5nZS5uZXdDb250ZW50O1xuICAgIH0gZWxzZSBpZiAoaXNDYW52YXNUZXh0Tm9kZUNoYW5nZShjaGFuZ2UpKSB7XG4gICAgICBsZXQgY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlID0gY2FudmFzVGV4dENoYW5nZXMuZ2V0KGNoYW5nZS5yZWZlcmVuY2Uubm9kZUluZGV4KTtcbiAgICAgIGlmICghY2FudmFzVGV4dENoYW5nZXNGb3JOb2RlKSB7XG4gICAgICAgIGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSA9IFtdO1xuICAgICAgICBjYW52YXNUZXh0Q2hhbmdlcy5zZXQoY2hhbmdlLnJlZmVyZW5jZS5ub2RlSW5kZXgsIGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGNhbnZhc1RleHRDaGFuZ2VzRm9yTm9kZS5wdXNoKGNoYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBbbm9kZUluZGV4LCBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGVdIG9mIGNhbnZhc1RleHRDaGFuZ2VzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IG5vZGUgPSBjYW52YXNEYXRhLm5vZGVzW25vZGVJbmRleF07XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vZGUgbm90IGZvdW5kJywge1xuICAgICAgICBub2RlSW5kZXgsXG4gICAgICAgIHBhdGhcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5vZGUudGV4dCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm9kZSB0ZXh0IGlzIG5vdCBhIHN0cmluZycsIHtcbiAgICAgICAgbm9kZUluZGV4LFxuICAgICAgICBwYXRoXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudENoYW5nZXMgPSBjYW52YXNUZXh0Q2hhbmdlc0Zvck5vZGUubWFwKChjaGFuZ2UpID0+IHJlZmVyZW5jZVRvRmlsZUNoYW5nZShjaGFuZ2UucmVmZXJlbmNlLm9yaWdpbmFsUmVmZXJlbmNlLCBjaGFuZ2UubmV3Q29udGVudCkpO1xuICAgIG5vZGUudGV4dCA9IGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMobm9kZS50ZXh0LCBgJHtwYXRofS5ub2RlJHtub2RlSW5kZXgudG9TdHJpbmcoKX0uVklSVFVBTF9GSUxFLm1kYCwgY29udGVudENoYW5nZXMsIHNob3VsZFJldHJ5T25JbnZhbGlkQ2hhbmdlcyk7XG4gIH1cblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoY2FudmFzRGF0YSwgbnVsbCwgJ1xcdCcpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhcHBseUZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzKFxuICBmcm9udG1hdHRlcjogQ29tYmluZWRGcm9udG1hdHRlcjx1bmtub3duPixcbiAgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcDogTWFwPHN0cmluZywgRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1tdPixcbiAgcGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBba2V5LCBmcm9udG1hdHRlckNoYW5nZXNXaXRoT2Zmc2V0c10gb2YgZnJvbnRtYXR0ZXJDaGFuZ2VzV2l0aE9mZnNldE1hcC5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBwcm9wZXJ0eVZhbHVlID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwga2V5KTtcbiAgICBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29udGVudENoYW5nZXM6IENvbnRlbnRDaGFuZ2VbXSA9IGZyb250bWF0dGVyQ2hhbmdlc1dpdGhPZmZzZXRzLm1hcCgoY2hhbmdlKSA9PiAoe1xuICAgICAgbmV3Q29udGVudDogY2hhbmdlLm5ld0NvbnRlbnQsXG4gICAgICBvbGRDb250ZW50OiBjaGFuZ2Uub2xkQ29udGVudCxcbiAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICBsaW5rOiAnJyxcbiAgICAgICAgb3JpZ2luYWw6ICcnLFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgIGVuZDoge1xuICAgICAgICAgICAgY29sOiBjaGFuZ2UucmVmZXJlbmNlLmVuZE9mZnNldCxcbiAgICAgICAgICAgIGxpbmU6IDAsXG4gICAgICAgICAgICBvZmZzZXQ6IGNoYW5nZS5yZWZlcmVuY2UuZW5kT2Zmc2V0XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGFydDoge1xuICAgICAgICAgICAgY29sOiBjaGFuZ2UucmVmZXJlbmNlLnN0YXJ0T2Zmc2V0LFxuICAgICAgICAgICAgbGluZTogMCxcbiAgICAgICAgICAgIG9mZnNldDogY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gYXMgQ29udGVudENoYW5nZSkpO1xuXG4gICAgY29uc3QgbmV3UHJvcGVydHlWYWx1ZSA9IGF3YWl0IGFwcGx5Q29udGVudENoYW5nZXMocHJvcGVydHlWYWx1ZSwgYCR7cGF0aH0uZnJvbnRtYXR0ZXIuJHtrZXl9LlZJUlRVQUxfRklMRS5tZGAsIGNvbnRlbnRDaGFuZ2VzKTtcbiAgICBpZiAobmV3UHJvcGVydHlWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGtleSwgbmV3UHJvcGVydHlWYWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VKc29uU2FmZShjb250ZW50OiBzdHJpbmcpOiBHZW5lcmljT2JqZWN0IHtcbiAgbGV0IHBhcnNlZDogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKGNvbnRlbnQpO1xuICB9IGNhdGNoIHtcbiAgICBwYXJzZWQgPSBudWxsO1xuICB9XG5cbiAgaWYgKHBhcnNlZCA9PT0gbnVsbCB8fCB0eXBlb2YgcGFyc2VkICE9PSAnb2JqZWN0Jykge1xuICAgIHBhcnNlZCA9IHt9O1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlZCBhcyBHZW5lcmljT2JqZWN0O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoYW5nZXMoY2hhbmdlczogRmlsZUNoYW5nZVtdLCBjb250ZW50OiBzdHJpbmcsIGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPHVua25vd24+LCBwYXRoOiBzdHJpbmcsIHNob3VsZFNob3dXYXJuaW5nOiBib29sZWFuKTogYm9vbGVhbiB7XG4gIGNvbnN0IF9kZWJ1Z2dlciA9IGdldERlYnVnZ2VyKCd2YWxpZGF0ZUNoYW5nZXMnKTtcbiAgY29uc3QgbG9nZ2VyID0gc2hvdWxkU2hvd1dhcm5pbmcgPyBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKSA6IF9kZWJ1Z2dlcjtcbiAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgY2hhbmdlcykge1xuICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgY29uc3Qgc3RhcnRPZmZzZXQgPSBjaGFuZ2UucmVmZXJlbmNlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICAgIGNvbnN0IGVuZE9mZnNldCA9IGNoYW5nZS5yZWZlcmVuY2UucG9zaXRpb24uZW5kLm9mZnNldDtcbiAgICAgIGNvbnN0IGFjdHVhbENvbnRlbnQgPSBjb250ZW50LnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpO1xuICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIGxvZ2dlcignQ29udGVudCBtaXNtYXRjaCcsIHtcbiAgICAgICAgICBhY3R1YWxDb250ZW50LFxuICAgICAgICAgIGVuZE9mZnNldCxcbiAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RhcnRPZmZzZXRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzKGNoYW5nZSkpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UucmVmZXJlbmNlLmtleSk7XG4gICAgICBpZiAodHlwZW9mIHByb3BlcnR5VmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGxvZ2dlcignUHJvcGVydHkgdmFsdWUgaXMgbm90IGEgc3RyaW5nJywge1xuICAgICAgICAgIGZyb250bWF0dGVyS2V5OiBjaGFuZ2UucmVmZXJlbmNlLmtleSxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHByb3BlcnR5VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0dWFsQ29udGVudCA9IHByb3BlcnR5VmFsdWUuc2xpY2UoY2hhbmdlLnJlZmVyZW5jZS5zdGFydE9mZnNldCwgY2hhbmdlLnJlZmVyZW5jZS5lbmRPZmZzZXQpO1xuICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIGxvZ2dlcignQ29udGVudCBtaXNtYXRjaCcsIHtcbiAgICAgICAgICBhY3R1YWxDb250ZW50LFxuICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgZnJvbnRtYXR0ZXJLZXk6IGNoYW5nZS5yZWZlcmVuY2Uua2V5LFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IGNoYW5nZS5yZWZlcmVuY2Uuc3RhcnRPZmZzZXRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckNoYW5nZShjaGFuZ2UpKSB7XG4gICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgY2hhbmdlLnJlZmVyZW5jZS5rZXkpO1xuICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgIGxvZ2dlcignQ29udGVudCBtaXNtYXRjaCcsIHtcbiAgICAgICAgICBhY3R1YWxDb250ZW50LFxuICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgZnJvbnRtYXR0ZXJLZXk6IGNoYW5nZS5yZWZlcmVuY2Uua2V5LFxuICAgICAgICAgIHBhdGhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLDZCQUdPO0FBY1AsbUJBQTRCO0FBQzVCLHlCQUlPO0FBQ1AsMkJBQTZCO0FBQzdCLHdCQUdPO0FBQ1AseUJBR087QUFDUCw2Q0FBa0Q7QUFDbEQsdUJBR087QUFDUCxtQkFBd0I7QUFxQ3hCLGVBQXNCLG9CQUNwQixTQUNBLE1BQ0EsaUJBQ0EsOEJBQThCLE1BQ047QUFDeEIsTUFBSSxVQUFVLFVBQU0sbUNBQWEsZUFBZTtBQUNoRCxNQUFJLGNBQTRDLENBQUM7QUFDakQsTUFBSSxzQkFBc0I7QUFDMUIsTUFBSTtBQUNGLHNCQUFjLHFDQUFpQixPQUFPO0FBQUEsRUFDeEMsU0FBUyxPQUFPO0FBQ2QsWUFBUSxNQUFNLElBQUksTUFBTSxpQ0FBaUMsSUFBSSxJQUFJLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQztBQUNsRiwwQkFBc0I7QUFBQSxFQUN4QjtBQUVBLE1BQUksQ0FBQyxnQkFBZ0IsU0FBUyxTQUFTLGFBQWEsTUFBTSwyQkFBMkIsR0FBRztBQUN0RixXQUFPLDhCQUE4QixPQUFPO0FBQUEsRUFDOUM7QUFFQSxVQUFRLEtBQUssQ0FBQyxHQUFHLE1BQU07QUFDckIsUUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLEdBQUc7QUFDNUMsYUFBTyxFQUFFLFVBQVUsU0FBUyxNQUFNLFNBQVMsRUFBRSxVQUFVLFNBQVMsTUFBTTtBQUFBLElBQ3hFO0FBRUEsUUFBSSwrQkFBK0IsQ0FBQyxLQUFLLCtCQUErQixDQUFDLEdBQUc7QUFDMUUsYUFBTyxFQUFFLFVBQVUsSUFBSSxjQUFjLEVBQUUsVUFBVSxHQUFHLEtBQUssRUFBRSxVQUFVLGNBQWMsRUFBRSxVQUFVO0FBQUEsSUFDakc7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
@@ -30,7 +30,7 @@ __export(FileManager_exports, {
30
30
  processFrontmatter: () => processFrontmatter
31
31
  });
32
32
  module.exports = __toCommonJS(FileManager_exports);
33
- var import_Object = require('../Object.cjs');
33
+ var import_ObjectUtils = require('../ObjectUtils.cjs');
34
34
  var import_FileSystem = require('./FileSystem.cjs');
35
35
  var import_Frontmatter = require('./Frontmatter.cjs');
36
36
  var import_Vault = require('./Vault.cjs');
@@ -72,7 +72,7 @@ async function processFrontmatter(app, pathOrFile, frontmatterFn, processOptions
72
72
  if (result === null) {
73
73
  return null;
74
74
  }
75
- if ((0, import_Object.deepEqual)(oldFrontmatter, newFrontmatter)) {
75
+ if ((0, import_ObjectUtils.deepEqual)(oldFrontmatter, newFrontmatter)) {
76
76
  return content;
77
77
  }
78
78
  return (0, import_Frontmatter.setFrontmatter)(content, newFrontmatter);
@@ -84,4 +84,4 @@ async function processFrontmatter(app, pathOrFile, frontmatterFn, processOptions
84
84
  deleteAlias,
85
85
  processFrontmatter
86
86
  });
87
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBmaWxlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi9UeXBlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHsgZGVlcEVxdWFsIH0gZnJvbSAnLi4vT2JqZWN0LnRzJztcbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgcGFyc2VGcm9udG1hdHRlcixcbiAgc2V0RnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogQWRkcyBhbiBhbGlhcyB0byB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIGFsaWFzIC0gVGhlIGFsaWFzIHRvIGFkZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYWxpYXMgaGFzIGJlZW4gYWRkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChhbGlhcyA9PT0gZmlsZS5iYXNlbmFtZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGZyb250bWF0dGVyLmFsaWFzZXMgPz89IFtdO1xuXG4gICAgaWYgKCFmcm9udG1hdHRlci5hbGlhc2VzLmluY2x1ZGVzKGFsaWFzKSkge1xuICAgICAgZnJvbnRtYXR0ZXIuYWxpYXNlcy5wdXNoKGFsaWFzKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIERlbGV0ZXMgYW4gYWxpYXMgZnJvbSB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gYWxpYXMgLSBUaGUgYWxpYXMgdG8gZGVsZXRlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhbGlhcyBoYXMgYmVlbiBkZWxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlQWxpYXMoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGFsaWFzPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYWxpYXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhd2FpdCBwcm9jZXNzRnJvbnRtYXR0ZXIoYXBwLCBwYXRoT3JGaWxlLCAoZnJvbnRtYXR0ZXIpID0+IHtcbiAgICBpZiAoIWZyb250bWF0dGVyLmFsaWFzZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmcm9udG1hdHRlci5hbGlhc2VzID0gZnJvbnRtYXR0ZXIuYWxpYXNlcy5maWx0ZXIoKGEpID0+IGEgIT09IGFsaWFzKTtcblxuICAgIGlmIChmcm9udG1hdHRlci5hbGlhc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGZyb250bWF0dGVyLmFsaWFzZXM7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUsIGFsbG93aW5nIG1vZGlmaWNhdGlvbnMgdmlhIGEgcHJvdmlkZWQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udG1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBmcm9udG1hdHRlckZuIC0gQSBmdW5jdGlvbiB0aGF0IG1vZGlmaWVzIHRoZSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbC4gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciByZXRyeWluZyB0aGUgcHJvY2Vzcy4gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0IG9wdGlvbnMgd2lsbCBiZSB1c2VkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmcm9udCBtYXR0ZXIgaGFzIGJlZW4gcHJvY2Vzc2VkIGFuZCBzYXZlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlciA9IHVua25vd24+KFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgZnJvbnRtYXR0ZXJGbjogKGZyb250bWF0dGVyOiBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPikgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxudWxsPj4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcblxuICBhd2FpdCBwcm9jZXNzKGFwcCwgZmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBjb25zdCBvbGRGcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+KGNvbnRlbnQpO1xuICAgIGNvbnN0IG5ld0Zyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4oY29udGVudCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZnJvbnRtYXR0ZXJGbihuZXdGcm9udG1hdHRlcik7XG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGRlZXBFcXVhbChvbGRGcm9udG1hdHRlciwgbmV3RnJvbnRtYXR0ZXIpKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2V0RnJvbnRtYXR0ZXIoY29udGVudCwgbmV3RnJvbnRtYXR0ZXIpO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxvQkFBMEI7QUFDMUIsd0JBQXdCO0FBQ3hCLHlCQUdPO0FBQ1AsbUJBQXdCO0FBVXhCLGVBQXNCLFNBQVMsS0FBVSxZQUF3QixPQUErQjtBQUM5RixNQUFJLENBQUMsT0FBTztBQUNWO0FBQUEsRUFDRjtBQUVBLFFBQU0sV0FBTywyQkFBUSxLQUFLLFVBQVU7QUFDcEMsTUFBSSxVQUFVLEtBQUssVUFBVTtBQUMzQjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLG1CQUFtQixLQUFLLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsZ0JBQVksWUFBWSxDQUFDO0FBRXpCLFFBQUksQ0FBQyxZQUFZLFFBQVEsU0FBUyxLQUFLLEdBQUc7QUFDeEMsa0JBQVksUUFBUSxLQUFLLEtBQUs7QUFBQSxJQUNoQztBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBVUEsZUFBc0IsWUFBWSxLQUFVLFlBQXdCLE9BQStCO0FBQ2pHLE1BQUksQ0FBQyxPQUFPO0FBQ1Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxtQkFBbUIsS0FBSyxZQUFZLENBQUMsZ0JBQWdCO0FBQ3pELFFBQUksQ0FBQyxZQUFZLFNBQVM7QUFDeEI7QUFBQSxJQUNGO0FBRUEsZ0JBQVksVUFBVSxZQUFZLFFBQVEsT0FBTyxDQUFDLE1BQU0sTUFBTSxLQUFLO0FBRW5FLFFBQUksWUFBWSxRQUFRLFdBQVcsR0FBRztBQUNwQyxhQUFPLFlBQVk7QUFBQSxJQUNyQjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBWUEsZUFBc0IsbUJBQ3BCLEtBQ0EsWUFDQSxlQUNBLGlCQUFpQyxDQUFDLEdBQ25CO0FBQ2YsUUFBTSxXQUFPLDJCQUFRLEtBQUssVUFBVTtBQUVwQyxZQUFNLHNCQUFRLEtBQUssTUFBTSxPQUFPLFlBQVk7QUFDMUMsVUFBTSxxQkFBaUIscUNBQW9DLE9BQU87QUFDbEUsVUFBTSxxQkFBaUIscUNBQW9DLE9BQU87QUFDbEUsVUFBTSxTQUFTLE1BQU0sY0FBYyxjQUFjO0FBQ2pELFFBQUksV0FBVyxNQUFNO0FBQ25CLGFBQU87QUFBQSxJQUNUO0FBRUEsWUFBSSx5QkFBVSxnQkFBZ0IsY0FBYyxHQUFHO0FBQzdDLGFBQU87QUFBQSxJQUNUO0FBRUEsZUFBTyxtQ0FBZSxTQUFTLGNBQWM7QUFBQSxFQUMvQyxHQUFHLGNBQWM7QUFDbkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
87
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBmaWxlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi9UeXBlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHsgZGVlcEVxdWFsIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBwYXJzZUZyb250bWF0dGVyLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB7IHByb2Nlc3MgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBBZGRzIGFuIGFsaWFzIHRvIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gYWxpYXMgLSBUaGUgYWxpYXMgdG8gYWRkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBhbGlhcyBoYXMgYmVlbiBhZGRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZEFsaWFzKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBhbGlhcz86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWFsaWFzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgaWYgKGFsaWFzID09PSBmaWxlLmJhc2VuYW1lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgcHJvY2Vzc0Zyb250bWF0dGVyKGFwcCwgcGF0aE9yRmlsZSwgKGZyb250bWF0dGVyKSA9PiB7XG4gICAgZnJvbnRtYXR0ZXIuYWxpYXNlcyA/Pz0gW107XG5cbiAgICBpZiAoIWZyb250bWF0dGVyLmFsaWFzZXMuaW5jbHVkZXMoYWxpYXMpKSB7XG4gICAgICBmcm9udG1hdHRlci5hbGlhc2VzLnB1c2goYWxpYXMpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRGVsZXRlcyBhbiBhbGlhcyBmcm9tIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbm90ZS5cbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGRlbGV0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZyb250bWF0dGVyLmFsaWFzZXMgPSBmcm9udG1hdHRlci5hbGlhc2VzLmZpbHRlcigoYSkgPT4gYSAhPT0gYWxpYXMpO1xuXG4gICAgaWYgKGZyb250bWF0dGVyLmFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZnJvbnRtYXR0ZXIuYWxpYXNlcztcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gZmlsZSwgYWxsb3dpbmcgbW9kaWZpY2F0aW9ucyB2aWEgYSBwcm92aWRlZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIGZyb250bWF0dGVyRm4gLSBBIGZ1bmN0aW9uIHRoYXQgbW9kaWZpZXMgdGhlIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBwcm9jZXNzT3B0aW9ucyAtIE9wdGlvbmFsLiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHJldHJ5aW5nIHRoZSBwcm9jZXNzLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgb3B0aW9ucyB3aWxsIGJlIHVzZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZyb250IG1hdHRlciBoYXMgYmVlbiBwcm9jZXNzZWQgYW5kIHNhdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0Zyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oXG4gIGFwcDogQXBwLFxuICBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLFxuICBmcm9udG1hdHRlckZuOiAoZnJvbnRtYXR0ZXI6IENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+KSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPG51bGw+PixcbiAgcHJvY2Vzc09wdGlvbnM6IFByb2Nlc3NPcHRpb25zID0ge31cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGF3YWl0IHByb2Nlc3MoYXBwLCBmaWxlLCBhc3luYyAoY29udGVudCkgPT4ge1xuICAgIGNvbnN0IG9sZEZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4oY29udGVudCk7XG4gICAgY29uc3QgbmV3RnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPihjb250ZW50KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmcm9udG1hdHRlckZuKG5ld0Zyb250bWF0dGVyKTtcbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZGVlcEVxdWFsKG9sZEZyb250bWF0dGVyLCBuZXdGcm9udG1hdHRlcikpIHtcbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cblxuICAgIHJldHVybiBzZXRGcm9udG1hdHRlcihjb250ZW50LCBuZXdGcm9udG1hdHRlcik7XG4gIH0sIHByb2Nlc3NPcHRpb25zKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLHlCQUEwQjtBQUMxQix3QkFBd0I7QUFDeEIseUJBR087QUFDUCxtQkFBd0I7QUFVeEIsZUFBc0IsU0FBUyxLQUFVLFlBQXdCLE9BQStCO0FBQzlGLE1BQUksQ0FBQyxPQUFPO0FBQ1Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFPLDJCQUFRLEtBQUssVUFBVTtBQUNwQyxNQUFJLFVBQVUsS0FBSyxVQUFVO0FBQzNCO0FBQUEsRUFDRjtBQUVBLFFBQU0sbUJBQW1CLEtBQUssWUFBWSxDQUFDLGdCQUFnQjtBQUN6RCxnQkFBWSxZQUFZLENBQUM7QUFFekIsUUFBSSxDQUFDLFlBQVksUUFBUSxTQUFTLEtBQUssR0FBRztBQUN4QyxrQkFBWSxRQUFRLEtBQUssS0FBSztBQUFBLElBQ2hDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFVQSxlQUFzQixZQUFZLEtBQVUsWUFBd0IsT0FBK0I7QUFDakcsTUFBSSxDQUFDLE9BQU87QUFDVjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLG1CQUFtQixLQUFLLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsUUFBSSxDQUFDLFlBQVksU0FBUztBQUN4QjtBQUFBLElBQ0Y7QUFFQSxnQkFBWSxVQUFVLFlBQVksUUFBUSxPQUFPLENBQUMsTUFBTSxNQUFNLEtBQUs7QUFFbkUsUUFBSSxZQUFZLFFBQVEsV0FBVyxHQUFHO0FBQ3BDLGFBQU8sWUFBWTtBQUFBLElBQ3JCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFZQSxlQUFzQixtQkFDcEIsS0FDQSxZQUNBLGVBQ0EsaUJBQWlDLENBQUMsR0FDbkI7QUFDZixRQUFNLFdBQU8sMkJBQVEsS0FBSyxVQUFVO0FBRXBDLFlBQU0sc0JBQVEsS0FBSyxNQUFNLE9BQU8sWUFBWTtBQUMxQyxVQUFNLHFCQUFpQixxQ0FBb0MsT0FBTztBQUNsRSxVQUFNLHFCQUFpQixxQ0FBb0MsT0FBTztBQUNsRSxVQUFNLFNBQVMsTUFBTSxjQUFjLGNBQWM7QUFDakQsUUFBSSxXQUFXLE1BQU07QUFDbkIsYUFBTztBQUFBLElBQ1Q7QUFFQSxZQUFJLDhCQUFVLGdCQUFnQixjQUFjLEdBQUc7QUFDN0MsYUFBTztBQUFBLElBQ1Q7QUFFQSxlQUFPLG1DQUFlLFNBQVMsY0FBYztBQUFBLEVBQy9DLEdBQUcsY0FBYztBQUNuQjsiLAogICJuYW1lcyI6IFtdCn0K