@mnaoumov/obsidian-lib 8.0.0 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Contains utility functions for handling references in Obsidian.
6
6
  */
7
- import type { FrontmatterLinkCache, Reference } from 'obsidian';
7
+ import type { CachedMetadata, FrontmatterLinkCache, Reference } from 'obsidian';
8
8
  import type { FileChange } from './file-change.mjs';
9
9
  /**
10
10
  * A reference within a file node in a canvas.
@@ -94,6 +94,26 @@ export declare function isCanvasReference(reference: Reference): reference is Ca
94
94
  * @returns Whether the reference is a canvas text node reference.
95
95
  */
96
96
  export declare function isCanvasTextNodeReference(reference: Reference): reference is CanvasTextNodeReference;
97
+ /**
98
+ * Checks if a reference sits inside a heading.
99
+ *
100
+ * The answer comes from the parsed heading positions of the file's metadata, never from a pattern over its
101
+ * text: a reference is inside a heading when it is fully contained in a `headings` entry or in a `heading`
102
+ * section. The section covers a Setext heading's underline as well, so both heading syntaxes count.
103
+ *
104
+ * Only a reference that carries a position within the file's content can be inside a heading. A
105
+ * {@link FrontmatterLinkCache} — a frontmatter link, a multi-link frontmatter value entry, or any canvas
106
+ * reference — never is.
107
+ *
108
+ * A link in a heading is part of that heading's text, and so of every `#heading` subpath pointing at it.
109
+ * Rewriting such a link changes the heading text and breaks those subpaths, which is why a link converter
110
+ * may want to leave it alone.
111
+ *
112
+ * @param reference - The reference to check.
113
+ * @param cache - The metadata of the file the reference belongs to.
114
+ * @returns Whether the reference is fully contained in a heading.
115
+ */
116
+ export declare function isReferenceInHeading(reference: Reference, cache: CachedMetadata | null): boolean;
97
117
  /**
98
118
  * Checks if a reference is fully contained within an offset range.
99
119
  *
@@ -47,6 +47,16 @@ function isCanvasReference(reference) {
47
47
  function isCanvasTextNodeReference(reference) {
48
48
  return isCanvasReference(reference) && reference.type === "text";
49
49
  }
50
+ function isReferenceInHeading(reference, cache) {
51
+ if (!cache || !isReferenceCache(reference)) {
52
+ return false;
53
+ }
54
+ const headingPositions = [
55
+ ...(cache.headings ?? []).map((heading) => heading.position),
56
+ ...(cache.sections ?? []).filter((section) => section.type === "heading").map((section) => section.position)
57
+ ];
58
+ return headingPositions.some((position) => position.start.offset <= reference.position.start.offset && reference.position.end.offset <= position.end.offset);
59
+ }
50
60
  function isReferenceInOffsetRange(reference, offsetRange) {
51
61
  return isReferenceCache(reference) && offsetRange.startOffset <= reference.position.start.offset && reference.position.end.offset <= offsetRange.endOffset;
52
62
  }
@@ -75,8 +85,9 @@ export {
75
85
  isCanvasFileNodeReference,
76
86
  isCanvasReference,
77
87
  isCanvasTextNodeReference,
88
+ isReferenceInHeading,
78
89
  isReferenceInOffsetRange,
79
90
  referenceToFileChange,
80
91
  sortReferences
81
92
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWZlcmVuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBoYW5kbGluZyByZWZlcmVuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gIGlzUmVmZXJlbmNlQ2FjaGVcbn0gZnJvbSAnQG9ic2lkaWFuLXR5cGluZ3Mvb2JzaWRpYW4tcHVibGljLWxhdGVzdC9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbGVDaGFuZ2UgfSBmcm9tICcuL2ZpbGUtY2hhbmdlLnRzJztcblxuaW1wb3J0IHsgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5cbi8qKlxuICogQSByZWZlcmVuY2Ugd2l0aGluIGEgZmlsZSBub2RlIGluIGEgY2FudmFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlIGV4dGVuZHMgQ2FudmFzUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIEEgdHlwZSBvZiByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiAnZmlsZSc7XG59XG5cbi8qKlxuICogQSByZWZlcmVuY2Ugd2l0aGluIGEgY2FudmFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbnZhc1JlZmVyZW5jZSBleHRlbmRzIEZyb250bWF0dGVyTGlua0NhY2hlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSBpc0NhbnZhczogdHJ1ZTtcblxuICAvKipcbiAgICogQW4gaW5kZXggb2YgdGhlIG5vZGUgaW4gdGhlIGNhbnZhcy5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGVJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgcmVmZXJlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ2ZpbGUnIHwgJ3RleHQnO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHdpdGhpbiBhIHRleHQgbm9kZSBpbiBhIGNhbnZhcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSBleHRlbmRzIENhbnZhc1JlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBBbiBvcmlnaW5hbCByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbFJlZmVyZW5jZTogUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgcmVmZXJlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ3RleHQnO1xufVxuXG4vKipcbiAqIEEgcmFuZ2Ugd2l0aGluIGEgZmlsZSdzIGNvbnRlbnQsIGV4cHJlc3NlZCBpbiBjaGFyYWN0ZXIgb2Zmc2V0cy5cbiAqXG4gKiBCb3RoIGJvdW5kcyBhcmUgaW5jbHVzaXZlOiBhIHJlZmVyZW5jZSB3aG9zZSBvd24gb2Zmc2V0cyBjb2luY2lkZSBleGFjdGx5IHdpdGhcbiAqIHtAbGluayBPZmZzZXRSYW5nZS5zdGFydE9mZnNldH0gLyB7QGxpbmsgT2Zmc2V0UmFuZ2UuZW5kT2Zmc2V0fSBpcyBpbnNpZGUgdGhlIHJhbmdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9mZnNldFJhbmdlIHtcbiAgLyoqXG4gICAqIEFuIGVuZCBvZmZzZXQgb2YgdGhlIHJhbmdlIHdpdGhpbiB0aGUgZmlsZSdzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIHJhbmdlIHdpdGhpbiB0aGUgZmlsZSdzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFydE9mZnNldDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRleHQgb2YgdGhlIG9uZSBsaW5rIGEgcmVmZXJlbmNlIHN0YW5kcyBmb3IuXG4gKlxuICogRm9yIG1vc3QgcmVmZXJlbmNlcyB0aGF0IGlzIHtAbGluayBSZWZlcmVuY2Uub3JpZ2luYWx9LiBBIGZyb250bWF0dGVyIGxpbmsgdGhhdCBjYXJyaWVzIG9mZnNldHMgaXMgdGhlXG4gKiBleGNlcHRpb246IGl0cyBgb3JpZ2luYWxgIGlzIHRoZSBXSE9MRSBwcm9wZXJ0eSB2YWx1ZSwgd2hpY2ggbWF5IGhvbGQgc2V2ZXJhbCBsaW5rcywgYW5kIGBzdGFydE9mZnNldGAgL1xuICogYGVuZE9mZnNldGAgZ2l2ZSB0aGlzIGxpbmsncyBzcGFuIGluIGl0LiBBbnl0aGluZyB0aGF0IHBhcnNlcywgY29tcGFyZXMgb3IgcmVwbGFjZXMgdGhlIGxpbmsgYXMgb25lIGxpbmtcbiAqIG11c3QgcmVhZCB0aGF0IHNwYW4sIG5ldmVyIHRoZSB3aG9sZSB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZS5cbiAqIEByZXR1cm5zIFRoZSB0ZXh0IG9mIHRoZSBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVmZXJlbmNlTGlua1RleHQocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiBzdHJpbmcge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKHJlZmVyZW5jZSkgPyByZWZlcmVuY2Uub3JpZ2luYWwuc2xpY2UocmVmZXJlbmNlLnN0YXJ0T2Zmc2V0LCByZWZlcmVuY2UuZW5kT2Zmc2V0KSA6IHJlZmVyZW5jZS5vcmlnaW5hbDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSByZWZlcmVuY2UgaXMgYSBjYW52YXMgZmlsZSBub2RlIHJlZmVyZW5jZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyBmaWxlIG5vZGUgcmVmZXJlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNGaWxlTm9kZVJlZmVyZW5jZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSB7XG4gIHJldHVybiBpc0NhbnZhc1JlZmVyZW5jZShyZWZlcmVuY2UpICYmIHJlZmVyZW5jZS50eXBlID09PSAnZmlsZSc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgcmVmZXJlbmNlIGlzIGEgY2FudmFzIHJlZmVyZW5jZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1JlZmVyZW5jZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBDYW52YXNSZWZlcmVuY2Uge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZShyZWZlcmVuY2UpICYmICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPENhbnZhc1JlZmVyZW5jZT4pLmlzQ2FudmFzO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyB0ZXh0IG5vZGUgcmVmZXJlbmNlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGEgY2FudmFzIHRleHQgbm9kZSByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIENhbnZhc1RleHROb2RlUmVmZXJlbmNlIHtcbiAgcmV0dXJuIGlzQ2FudmFzUmVmZXJlbmNlKHJlZmVyZW5jZSkgJiYgcmVmZXJlbmNlLnR5cGUgPT09ICd0ZXh0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSByZWZlcmVuY2UgaXMgZnVsbHkgY29udGFpbmVkIHdpdGhpbiBhbiBvZmZzZXQgcmFuZ2UuXG4gKlxuICogT25seSBhIHJlZmVyZW5jZSB0aGF0IGNhcnJpZXMgYSBwb3NpdGlvbiB3aXRoaW4gdGhlIGZpbGUncyBjb250ZW50IGNhbiBiZSBpbiBhIHJhbmdlLiBBXG4gKiB7QGxpbmsgRnJvbnRtYXR0ZXJMaW5rQ2FjaGV9IOKAlCBhIGZyb250bWF0dGVyIGxpbmssIGEgbXVsdGktbGluayBmcm9udG1hdHRlciB2YWx1ZSBlbnRyeSwgb3IgYW55IGNhbnZhc1xuICogcmVmZXJlbmNlIOKAlCBjYXJyaWVzIG5vIHN1Y2ggcG9zaXRpb24gYW5kIGlzIHRoZXJlZm9yZSBuZXZlciBpbiByYW5nZS4gSXRzIGBzdGFydE9mZnNldGAgLyBgZW5kT2Zmc2V0YCxcbiAqIHdoZXJlIHByZXNlbnQsIGxvY2F0ZSB0aGUgbGluayB3aXRoaW4gaXRzIG93biBwcm9wZXJ0eSB2YWx1ZSByYXRoZXIgdGhhbiB3aXRoaW4gdGhlIGZpbGUsIHNvIHRoZXkgYXJlXG4gKiBkZWxpYmVyYXRlbHkgbm90IGNvbXBhcmVkIGFnYWluc3QgdGhlIHJhbmdlLlxuICpcbiAqIENvbnRhaW5tZW50IGlzIGZ1bGwgYW5kIGJvdGggYm91bmRzIGFyZSBpbmNsdXNpdmU6IGEgcmVmZXJlbmNlIHRoYXQgb25seSBwYXJ0aWFsbHkgb3ZlcmxhcHMgdGhlIHJhbmdlIGlzXG4gKiBub3QgaW4gaXQsIGJlY2F1c2UgcmV3cml0aW5nIHBhcnQgb2YgYSBsaW5rIGNvcnJ1cHRzIGl0LlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHBhcmFtIG9mZnNldFJhbmdlIC0gVGhlIG9mZnNldCByYW5nZSB0byBjaGVjayBhZ2FpbnN0LlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGZ1bGx5IGNvbnRhaW5lZCB3aXRoaW4gdGhlIG9mZnNldCByYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVmZXJlbmNlSW5PZmZzZXRSYW5nZShyZWZlcmVuY2U6IFJlZmVyZW5jZSwgb2Zmc2V0UmFuZ2U6IE9mZnNldFJhbmdlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZSkgJiYgb2Zmc2V0UmFuZ2Uuc3RhcnRPZmZzZXQgPD0gcmVmZXJlbmNlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAmJiByZWZlcmVuY2UucG9zaXRpb24uZW5kLm9mZnNldCA8PSBvZmZzZXRSYW5nZS5lbmRPZmZzZXQ7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSByZWZlcmVuY2UgdG8gYSBmaWxlIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjb252ZXJ0LlxuICogQHBhcmFtIG5ld0NvbnRlbnQgLSBUaGUgbmV3IGNvbnRlbnQgZm9yIHRoZSByZWZlcmVuY2UuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBjaGFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UocmVmZXJlbmNlOiBSZWZlcmVuY2UsIG5ld0NvbnRlbnQ6IHN0cmluZyk6IEZpbGVDaGFuZ2Uge1xuICByZXR1cm4ge1xuICAgIG5ld0NvbnRlbnQsXG4gICAgb2xkQ29udGVudDogZ2V0UmVmZXJlbmNlTGlua1RleHQocmVmZXJlbmNlKSxcbiAgICByZWZlcmVuY2VcbiAgfTtcbn1cblxuLyoqXG4gKiBTb3J0cyByZWZlcmVuY2VzIGJ5IHRoZWlyIHR5cGUgYW5kIHBvc2l0aW9uLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2VzIC0gVGhlIHJlZmVyZW5jZXMgdG8gc29ydC5cbiAqIEByZXR1cm5zIFRoZSBzb3J0ZWQgcmVmZXJlbmNlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSZWZlcmVuY2VzKHJlZmVyZW5jZXM6IFJlZmVyZW5jZVtdKTogUmVmZXJlbmNlW10ge1xuICByZXR1cm4gcmVmZXJlbmNlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUoYSkgJiYgaXNGcm9udG1hdHRlckxpbmtDYWNoZShiKSkge1xuICAgICAgY29uc3QgYVN0YXJ0T2Zmc2V0ID0gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGEpID8gYS5zdGFydE9mZnNldCA6IDA7XG4gICAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gdjggaW5jb3JyZWN0bHkgcmVwb3J0cyB0aGlzIGJyYW5jaCBhcyB1bmNvdmVyZWQsIGJ1dCBpdCBpcyBjb3ZlcmVkIGJ5IGBzaG91bGQgc29ydCB0d28gZnJvbnRtYXR0ZXIgbGlua3Mgd2l0aG91dCBvZmZzZXRzYCB0ZXN0LiAqL1xuICAgICAgY29uc3QgYlN0YXJ0T2Zmc2V0ID0gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGIpID8gYi5zdGFydE9mZnNldCA6IDA7XG4gICAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgICAgcmV0dXJuIGEua2V5LmxvY2FsZUNvbXBhcmUoYi5rZXkpIHx8IE51bWJlcihpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMoYikpIC0gTnVtYmVyKGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhhKSlcbiAgICAgICAgfHwgYVN0YXJ0T2Zmc2V0IC0gYlN0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc1JlZmVyZW5jZUNhY2hlKGEpICYmIGlzUmVmZXJlbmNlQ2FjaGUoYikpIHtcbiAgICAgIHJldHVybiBhLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAtIGIucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIHJldHVybiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKGEpID8gMSA6IC0xO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUlQLFNBQVMseUNBQXlDO0FBNEUzQyxTQUFTLHFCQUFxQixXQUE4QjtBQUNqRSxTQUFPLGtDQUFrQyxTQUFTLElBQUksVUFBVSxTQUFTLE1BQU0sVUFBVSxhQUFhLFVBQVUsU0FBUyxJQUFJLFVBQVU7QUFDekk7QUFRTyxTQUFTLDBCQUEwQixXQUE0RDtBQUNwRyxTQUFPLGtCQUFrQixTQUFTLEtBQUssVUFBVSxTQUFTO0FBQzVEO0FBUU8sU0FBUyxrQkFBa0IsV0FBb0Q7QUFDcEYsU0FBTyx1QkFBdUIsU0FBUyxLQUFLLENBQUMsQ0FBRSxVQUF1QztBQUN4RjtBQVFPLFNBQVMsMEJBQTBCLFdBQTREO0FBQ3BHLFNBQU8sa0JBQWtCLFNBQVMsS0FBSyxVQUFVLFNBQVM7QUFDNUQ7QUFrQk8sU0FBUyx5QkFBeUIsV0FBc0IsYUFBbUM7QUFDaEcsU0FBTyxpQkFBaUIsU0FBUyxLQUFLLFlBQVksZUFBZSxVQUFVLFNBQVMsTUFBTSxVQUFVLFVBQVUsU0FBUyxJQUFJLFVBQVUsWUFBWTtBQUNuSjtBQVNPLFNBQVMsc0JBQXNCLFdBQXNCLFlBQWdDO0FBQzFGLFNBQU87QUFBQSxJQUNMO0FBQUEsSUFDQSxZQUFZLHFCQUFxQixTQUFTO0FBQUEsSUFDMUM7QUFBQSxFQUNGO0FBQ0Y7QUFRTyxTQUFTLGVBQWUsWUFBc0M7QUFDbkUsU0FBTyxXQUFXLEtBQUssQ0FBQyxHQUFHLE1BQU07QUFDL0IsUUFBSSx1QkFBdUIsQ0FBQyxLQUFLLHVCQUF1QixDQUFDLEdBQUc7QUFDMUQsWUFBTSxlQUFlLGtDQUFrQyxDQUFDLElBQUksRUFBRSxjQUFjO0FBRTVFLFlBQU0sZUFBZSxrQ0FBa0MsQ0FBQyxJQUFJLEVBQUUsY0FBYztBQUU1RSxhQUFPLEVBQUUsSUFBSSxjQUFjLEVBQUUsR0FBRyxLQUFLLE9BQU8sa0NBQWtDLENBQUMsQ0FBQyxJQUFJLE9BQU8sa0NBQWtDLENBQUMsQ0FBQyxLQUMxSCxlQUFlO0FBQUEsSUFDdEI7QUFFQSxRQUFJLGlCQUFpQixDQUFDLEtBQUssaUJBQWlCLENBQUMsR0FBRztBQUM5QyxhQUFPLEVBQUUsU0FBUyxNQUFNLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxJQUNwRDtBQUVBLFdBQU8sdUJBQXVCLENBQUMsSUFBSSxJQUFJO0FBQUEsRUFDekMsQ0FBQztBQUNIOyIsIm5hbWVzIjpbXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWZlcmVuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBoYW5kbGluZyByZWZlcmVuY2VzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQ2FjaGVkTWV0YWRhdGEsXG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBQb3MsXG4gIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gIGlzUmVmZXJlbmNlQ2FjaGVcbn0gZnJvbSAnQG9ic2lkaWFuLXR5cGluZ3Mvb2JzaWRpYW4tcHVibGljLWxhdGVzdC9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbGVDaGFuZ2UgfSBmcm9tICcuL2ZpbGUtY2hhbmdlLnRzJztcblxuaW1wb3J0IHsgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzIH0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5cbi8qKlxuICogQSByZWZlcmVuY2Ugd2l0aGluIGEgZmlsZSBub2RlIGluIGEgY2FudmFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbnZhc0ZpbGVOb2RlUmVmZXJlbmNlIGV4dGVuZHMgQ2FudmFzUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIEEgdHlwZSBvZiByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiAnZmlsZSc7XG59XG5cbi8qKlxuICogQSByZWZlcmVuY2Ugd2l0aGluIGEgY2FudmFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbnZhc1JlZmVyZW5jZSBleHRlbmRzIEZyb250bWF0dGVyTGlua0NhY2hlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSBpc0NhbnZhczogdHJ1ZTtcblxuICAvKipcbiAgICogQW4gaW5kZXggb2YgdGhlIG5vZGUgaW4gdGhlIGNhbnZhcy5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGVJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgcmVmZXJlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ2ZpbGUnIHwgJ3RleHQnO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHdpdGhpbiBhIHRleHQgbm9kZSBpbiBhIGNhbnZhcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSBleHRlbmRzIENhbnZhc1JlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBBbiBvcmlnaW5hbCByZWZlcmVuY2UuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbFJlZmVyZW5jZTogUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgcmVmZXJlbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogJ3RleHQnO1xufVxuXG4vKipcbiAqIEEgcmFuZ2Ugd2l0aGluIGEgZmlsZSdzIGNvbnRlbnQsIGV4cHJlc3NlZCBpbiBjaGFyYWN0ZXIgb2Zmc2V0cy5cbiAqXG4gKiBCb3RoIGJvdW5kcyBhcmUgaW5jbHVzaXZlOiBhIHJlZmVyZW5jZSB3aG9zZSBvd24gb2Zmc2V0cyBjb2luY2lkZSBleGFjdGx5IHdpdGhcbiAqIHtAbGluayBPZmZzZXRSYW5nZS5zdGFydE9mZnNldH0gLyB7QGxpbmsgT2Zmc2V0UmFuZ2UuZW5kT2Zmc2V0fSBpcyBpbnNpZGUgdGhlIHJhbmdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9mZnNldFJhbmdlIHtcbiAgLyoqXG4gICAqIEFuIGVuZCBvZmZzZXQgb2YgdGhlIHJhbmdlIHdpdGhpbiB0aGUgZmlsZSdzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIHJhbmdlIHdpdGhpbiB0aGUgZmlsZSdzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFydE9mZnNldDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHRleHQgb2YgdGhlIG9uZSBsaW5rIGEgcmVmZXJlbmNlIHN0YW5kcyBmb3IuXG4gKlxuICogRm9yIG1vc3QgcmVmZXJlbmNlcyB0aGF0IGlzIHtAbGluayBSZWZlcmVuY2Uub3JpZ2luYWx9LiBBIGZyb250bWF0dGVyIGxpbmsgdGhhdCBjYXJyaWVzIG9mZnNldHMgaXMgdGhlXG4gKiBleGNlcHRpb246IGl0cyBgb3JpZ2luYWxgIGlzIHRoZSBXSE9MRSBwcm9wZXJ0eSB2YWx1ZSwgd2hpY2ggbWF5IGhvbGQgc2V2ZXJhbCBsaW5rcywgYW5kIGBzdGFydE9mZnNldGAgL1xuICogYGVuZE9mZnNldGAgZ2l2ZSB0aGlzIGxpbmsncyBzcGFuIGluIGl0LiBBbnl0aGluZyB0aGF0IHBhcnNlcywgY29tcGFyZXMgb3IgcmVwbGFjZXMgdGhlIGxpbmsgYXMgb25lIGxpbmtcbiAqIG11c3QgcmVhZCB0aGF0IHNwYW4sIG5ldmVyIHRoZSB3aG9sZSB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZS5cbiAqIEByZXR1cm5zIFRoZSB0ZXh0IG9mIHRoZSBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVmZXJlbmNlTGlua1RleHQocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiBzdHJpbmcge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKHJlZmVyZW5jZSkgPyByZWZlcmVuY2Uub3JpZ2luYWwuc2xpY2UocmVmZXJlbmNlLnN0YXJ0T2Zmc2V0LCByZWZlcmVuY2UuZW5kT2Zmc2V0KSA6IHJlZmVyZW5jZS5vcmlnaW5hbDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSByZWZlcmVuY2UgaXMgYSBjYW52YXMgZmlsZSBub2RlIHJlZmVyZW5jZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyBmaWxlIG5vZGUgcmVmZXJlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNGaWxlTm9kZVJlZmVyZW5jZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSB7XG4gIHJldHVybiBpc0NhbnZhc1JlZmVyZW5jZShyZWZlcmVuY2UpICYmIHJlZmVyZW5jZS50eXBlID09PSAnZmlsZSc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgcmVmZXJlbmNlIGlzIGEgY2FudmFzIHJlZmVyZW5jZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1JlZmVyZW5jZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBDYW52YXNSZWZlcmVuY2Uge1xuICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZShyZWZlcmVuY2UpICYmICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPENhbnZhc1JlZmVyZW5jZT4pLmlzQ2FudmFzO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHJlZmVyZW5jZSBpcyBhIGNhbnZhcyB0ZXh0IG5vZGUgcmVmZXJlbmNlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcmVmZXJlbmNlIGlzIGEgY2FudmFzIHRleHQgbm9kZSByZWZlcmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIENhbnZhc1RleHROb2RlUmVmZXJlbmNlIHtcbiAgcmV0dXJuIGlzQ2FudmFzUmVmZXJlbmNlKHJlZmVyZW5jZSkgJiYgcmVmZXJlbmNlLnR5cGUgPT09ICd0ZXh0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSByZWZlcmVuY2Ugc2l0cyBpbnNpZGUgYSBoZWFkaW5nLlxuICpcbiAqIFRoZSBhbnN3ZXIgY29tZXMgZnJvbSB0aGUgcGFyc2VkIGhlYWRpbmcgcG9zaXRpb25zIG9mIHRoZSBmaWxlJ3MgbWV0YWRhdGEsIG5ldmVyIGZyb20gYSBwYXR0ZXJuIG92ZXIgaXRzXG4gKiB0ZXh0OiBhIHJlZmVyZW5jZSBpcyBpbnNpZGUgYSBoZWFkaW5nIHdoZW4gaXQgaXMgZnVsbHkgY29udGFpbmVkIGluIGEgYGhlYWRpbmdzYCBlbnRyeSBvciBpbiBhIGBoZWFkaW5nYFxuICogc2VjdGlvbi4gVGhlIHNlY3Rpb24gY292ZXJzIGEgU2V0ZXh0IGhlYWRpbmcncyB1bmRlcmxpbmUgYXMgd2VsbCwgc28gYm90aCBoZWFkaW5nIHN5bnRheGVzIGNvdW50LlxuICpcbiAqIE9ubHkgYSByZWZlcmVuY2UgdGhhdCBjYXJyaWVzIGEgcG9zaXRpb24gd2l0aGluIHRoZSBmaWxlJ3MgY29udGVudCBjYW4gYmUgaW5zaWRlIGEgaGVhZGluZy4gQVxuICoge0BsaW5rIEZyb250bWF0dGVyTGlua0NhY2hlfSDigJQgYSBmcm9udG1hdHRlciBsaW5rLCBhIG11bHRpLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgZW50cnksIG9yIGFueSBjYW52YXNcbiAqIHJlZmVyZW5jZSDigJQgbmV2ZXIgaXMuXG4gKlxuICogQSBsaW5rIGluIGEgaGVhZGluZyBpcyBwYXJ0IG9mIHRoYXQgaGVhZGluZydzIHRleHQsIGFuZCBzbyBvZiBldmVyeSBgI2hlYWRpbmdgIHN1YnBhdGggcG9pbnRpbmcgYXQgaXQuXG4gKiBSZXdyaXRpbmcgc3VjaCBhIGxpbmsgY2hhbmdlcyB0aGUgaGVhZGluZyB0ZXh0IGFuZCBicmVha3MgdGhvc2Ugc3VicGF0aHMsIHdoaWNoIGlzIHdoeSBhIGxpbmsgY29udmVydGVyXG4gKiBtYXkgd2FudCB0byBsZWF2ZSBpdCBhbG9uZS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBtZXRhZGF0YSBvZiB0aGUgZmlsZSB0aGUgcmVmZXJlbmNlIGJlbG9uZ3MgdG8uXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgZnVsbHkgY29udGFpbmVkIGluIGEgaGVhZGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVmZXJlbmNlSW5IZWFkaW5nKHJlZmVyZW5jZTogUmVmZXJlbmNlLCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghY2FjaGUgfHwgIWlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGhlYWRpbmdQb3NpdGlvbnM6IFBvc1tdID0gW1xuICAgIC4uLihjYWNoZS5oZWFkaW5ncyA/PyBbXSkubWFwKChoZWFkaW5nKSA9PiBoZWFkaW5nLnBvc2l0aW9uKSxcbiAgICAuLi4oY2FjaGUuc2VjdGlvbnMgPz8gW10pLmZpbHRlcigoc2VjdGlvbikgPT4gc2VjdGlvbi50eXBlID09PSAnaGVhZGluZycpLm1hcCgoc2VjdGlvbikgPT4gc2VjdGlvbi5wb3NpdGlvbilcbiAgXTtcblxuICByZXR1cm4gaGVhZGluZ1Bvc2l0aW9ucy5zb21lKChwb3NpdGlvbikgPT4gcG9zaXRpb24uc3RhcnQub2Zmc2V0IDw9IHJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXQgJiYgcmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQgPD0gcG9zaXRpb24uZW5kLm9mZnNldCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgcmVmZXJlbmNlIGlzIGZ1bGx5IGNvbnRhaW5lZCB3aXRoaW4gYW4gb2Zmc2V0IHJhbmdlLlxuICpcbiAqIE9ubHkgYSByZWZlcmVuY2UgdGhhdCBjYXJyaWVzIGEgcG9zaXRpb24gd2l0aGluIHRoZSBmaWxlJ3MgY29udGVudCBjYW4gYmUgaW4gYSByYW5nZS4gQVxuICoge0BsaW5rIEZyb250bWF0dGVyTGlua0NhY2hlfSDigJQgYSBmcm9udG1hdHRlciBsaW5rLCBhIG11bHRpLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgZW50cnksIG9yIGFueSBjYW52YXNcbiAqIHJlZmVyZW5jZSDigJQgY2FycmllcyBubyBzdWNoIHBvc2l0aW9uIGFuZCBpcyB0aGVyZWZvcmUgbmV2ZXIgaW4gcmFuZ2UuIEl0cyBgc3RhcnRPZmZzZXRgIC8gYGVuZE9mZnNldGAsXG4gKiB3aGVyZSBwcmVzZW50LCBsb2NhdGUgdGhlIGxpbmsgd2l0aGluIGl0cyBvd24gcHJvcGVydHkgdmFsdWUgcmF0aGVyIHRoYW4gd2l0aGluIHRoZSBmaWxlLCBzbyB0aGV5IGFyZVxuICogZGVsaWJlcmF0ZWx5IG5vdCBjb21wYXJlZCBhZ2FpbnN0IHRoZSByYW5nZS5cbiAqXG4gKiBDb250YWlubWVudCBpcyBmdWxsIGFuZCBib3RoIGJvdW5kcyBhcmUgaW5jbHVzaXZlOiBhIHJlZmVyZW5jZSB0aGF0IG9ubHkgcGFydGlhbGx5IG92ZXJsYXBzIHRoZSByYW5nZSBpc1xuICogbm90IGluIGl0LCBiZWNhdXNlIHJld3JpdGluZyBwYXJ0IG9mIGEgbGluayBjb3JydXB0cyBpdC5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEBwYXJhbSBvZmZzZXRSYW5nZSAtIFRoZSBvZmZzZXQgcmFuZ2UgdG8gY2hlY2sgYWdhaW5zdC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBmdWxseSBjb250YWluZWQgd2l0aGluIHRoZSBvZmZzZXQgcmFuZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZmVyZW5jZUluT2Zmc2V0UmFuZ2UocmVmZXJlbmNlOiBSZWZlcmVuY2UsIG9mZnNldFJhbmdlOiBPZmZzZXRSYW5nZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2UpICYmIG9mZnNldFJhbmdlLnN0YXJ0T2Zmc2V0IDw9IHJlZmVyZW5jZS5wb3NpdGlvbi5zdGFydC5vZmZzZXQgJiYgcmVmZXJlbmNlLnBvc2l0aW9uLmVuZC5vZmZzZXQgPD0gb2Zmc2V0UmFuZ2UuZW5kT2Zmc2V0O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgcmVmZXJlbmNlIHRvIGEgZmlsZSBjaGFuZ2UuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY29udmVydC5cbiAqIEBwYXJhbSBuZXdDb250ZW50IC0gVGhlIG5ldyBjb250ZW50IGZvciB0aGUgcmVmZXJlbmNlLlxuICogQHJldHVybnMgVGhlIGZpbGUgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVmZXJlbmNlVG9GaWxlQ2hhbmdlKHJlZmVyZW5jZTogUmVmZXJlbmNlLCBuZXdDb250ZW50OiBzdHJpbmcpOiBGaWxlQ2hhbmdlIHtcbiAgcmV0dXJuIHtcbiAgICBuZXdDb250ZW50LFxuICAgIG9sZENvbnRlbnQ6IGdldFJlZmVyZW5jZUxpbmtUZXh0KHJlZmVyZW5jZSksXG4gICAgcmVmZXJlbmNlXG4gIH07XG59XG5cbi8qKlxuICogU29ydHMgcmVmZXJlbmNlcyBieSB0aGVpciB0eXBlIGFuZCBwb3NpdGlvbi5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlcyAtIFRoZSByZWZlcmVuY2VzIHRvIHNvcnQuXG4gKiBAcmV0dXJucyBUaGUgc29ydGVkIHJlZmVyZW5jZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3J0UmVmZXJlbmNlcyhyZWZlcmVuY2VzOiBSZWZlcmVuY2VbXSk6IFJlZmVyZW5jZVtdIHtcbiAgcmV0dXJuIHJlZmVyZW5jZXMuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChpc0Zyb250bWF0dGVyTGlua0NhY2hlKGEpICYmIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUoYikpIHtcbiAgICAgIGNvbnN0IGFTdGFydE9mZnNldCA9IGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhhKSA/IGEuc3RhcnRPZmZzZXQgOiAwO1xuICAgICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIHY4IGluY29ycmVjdGx5IHJlcG9ydHMgdGhpcyBicmFuY2ggYXMgdW5jb3ZlcmVkLCBidXQgaXQgaXMgY292ZXJlZCBieSBgc2hvdWxkIHNvcnQgdHdvIGZyb250bWF0dGVyIGxpbmtzIHdpdGhvdXQgb2Zmc2V0c2AgdGVzdC4gKi9cbiAgICAgIGNvbnN0IGJTdGFydE9mZnNldCA9IGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhiKSA/IGIuc3RhcnRPZmZzZXQgOiAwO1xuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICAgIHJldHVybiBhLmtleS5sb2NhbGVDb21wYXJlKGIua2V5KSB8fCBOdW1iZXIoaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGIpKSAtIE51bWJlcihpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMoYSkpXG4gICAgICAgIHx8IGFTdGFydE9mZnNldCAtIGJTdGFydE9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShhKSAmJiBpc1JlZmVyZW5jZUNhY2hlKGIpKSB7XG4gICAgICByZXR1cm4gYS5wb3NpdGlvbi5zdGFydC5vZmZzZXQgLSBiLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNGcm9udG1hdHRlckxpbmtDYWNoZShhKSA/IDEgOiAtMTtcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFJUCxTQUFTLHlDQUF5QztBQTRFM0MsU0FBUyxxQkFBcUIsV0FBOEI7QUFDakUsU0FBTyxrQ0FBa0MsU0FBUyxJQUFJLFVBQVUsU0FBUyxNQUFNLFVBQVUsYUFBYSxVQUFVLFNBQVMsSUFBSSxVQUFVO0FBQ3pJO0FBUU8sU0FBUywwQkFBMEIsV0FBNEQ7QUFDcEcsU0FBTyxrQkFBa0IsU0FBUyxLQUFLLFVBQVUsU0FBUztBQUM1RDtBQVFPLFNBQVMsa0JBQWtCLFdBQW9EO0FBQ3BGLFNBQU8sdUJBQXVCLFNBQVMsS0FBSyxDQUFDLENBQUUsVUFBdUM7QUFDeEY7QUFRTyxTQUFTLDBCQUEwQixXQUE0RDtBQUNwRyxTQUFPLGtCQUFrQixTQUFTLEtBQUssVUFBVSxTQUFTO0FBQzVEO0FBcUJPLFNBQVMscUJBQXFCLFdBQXNCLE9BQXVDO0FBQ2hHLE1BQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLFNBQVMsR0FBRztBQUMxQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sbUJBQTBCO0FBQUEsSUFDOUIsSUFBSSxNQUFNLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLFFBQVEsUUFBUTtBQUFBLElBQzNELElBQUksTUFBTSxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxRQUFRLFNBQVMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLFFBQVEsUUFBUTtBQUFBLEVBQzdHO0FBRUEsU0FBTyxpQkFBaUIsS0FBSyxDQUFDLGFBQWEsU0FBUyxNQUFNLFVBQVUsVUFBVSxTQUFTLE1BQU0sVUFBVSxVQUFVLFNBQVMsSUFBSSxVQUFVLFNBQVMsSUFBSSxNQUFNO0FBQzdKO0FBa0JPLFNBQVMseUJBQXlCLFdBQXNCLGFBQW1DO0FBQ2hHLFNBQU8saUJBQWlCLFNBQVMsS0FBSyxZQUFZLGVBQWUsVUFBVSxTQUFTLE1BQU0sVUFBVSxVQUFVLFNBQVMsSUFBSSxVQUFVLFlBQVk7QUFDbko7QUFTTyxTQUFTLHNCQUFzQixXQUFzQixZQUFnQztBQUMxRixTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsWUFBWSxxQkFBcUIsU0FBUztBQUFBLElBQzFDO0FBQUEsRUFDRjtBQUNGO0FBUU8sU0FBUyxlQUFlLFlBQXNDO0FBQ25FLFNBQU8sV0FBVyxLQUFLLENBQUMsR0FBRyxNQUFNO0FBQy9CLFFBQUksdUJBQXVCLENBQUMsS0FBSyx1QkFBdUIsQ0FBQyxHQUFHO0FBQzFELFlBQU0sZUFBZSxrQ0FBa0MsQ0FBQyxJQUFJLEVBQUUsY0FBYztBQUU1RSxZQUFNLGVBQWUsa0NBQWtDLENBQUMsSUFBSSxFQUFFLGNBQWM7QUFFNUUsYUFBTyxFQUFFLElBQUksY0FBYyxFQUFFLEdBQUcsS0FBSyxPQUFPLGtDQUFrQyxDQUFDLENBQUMsSUFBSSxPQUFPLGtDQUFrQyxDQUFDLENBQUMsS0FDMUgsZUFBZTtBQUFBLElBQ3RCO0FBRUEsUUFBSSxpQkFBaUIsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLEdBQUc7QUFDOUMsYUFBTyxFQUFFLFNBQVMsTUFBTSxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsSUFDcEQ7QUFFQSxXQUFPLHVCQUF1QixDQUFDLElBQUksSUFBSTtBQUFBLEVBQ3pDLENBQUM7QUFDSDsiLCJuYW1lcyI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnaoumov/obsidian-lib",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "Runtime library for Obsidian plugin development: plugin base classes, components, settings, modals, vault and metadata helpers.",
5
5
  "keywords": [
6
6
  "obsidian",