obsidian-dev-utils 94.0.0 → 94.2.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.
- package/CHANGELOG.md +9 -0
- package/dist/integration-test-plugin/main.js +258 -100
- package/dist/lib/cjs/__merged.cjs +12 -1
- package/dist/lib/cjs/__merged.d.cts +2 -1
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/folder-note.cjs +253 -0
- package/dist/lib/cjs/obsidian/folder-note.d.cts +166 -0
- package/dist/lib/cjs/obsidian/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/markdown.cjs +27 -3
- package/dist/lib/cjs/obsidian/markdown.d.cts +70 -1
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -1
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +6 -1
- package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +7 -0
- package/dist/lib/esm/__merged.d.mts +2 -1
- package/dist/lib/esm/__merged.mjs +13 -1
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/folder-note.d.mts +166 -0
- package/dist/lib/esm/obsidian/folder-note.mjs +146 -0
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/markdown.d.mts +70 -1
- package/dist/lib/esm/obsidian/markdown.mjs +35 -4
- package/dist/lib/esm/obsidian/modals/prompt.mjs +3 -1
- package/dist/lib/esm/obsidian/obsidian-settings.d.mts +7 -0
- package/dist/lib/esm/obsidian/obsidian-settings.mjs +5 -1
- package/obsidian/folder-note/package.json +6 -0
- package/package.json +6 -6
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import { normalizePath } from "obsidian";
|
|
25
|
+
import { join } from "../path.mjs";
|
|
26
|
+
import { replaceAll } from "../string.mjs";
|
|
27
|
+
import { MARKDOWN_FILE_EXTENSION } from "./file-system.mjs";
|
|
28
|
+
var FolderNoteLocation = /* @__PURE__ */ ((FolderNoteLocation2) => {
|
|
29
|
+
FolderNoteLocation2["Auto"] = "Auto";
|
|
30
|
+
FolderNoteLocation2["InsideFolder"] = "InsideFolder";
|
|
31
|
+
FolderNoteLocation2["None"] = "None";
|
|
32
|
+
FolderNoteLocation2["ParentFolder"] = "ParentFolder";
|
|
33
|
+
return FolderNoteLocation2;
|
|
34
|
+
})(FolderNoteLocation || {});
|
|
35
|
+
const FOLDER_NOTES_PLUGIN_ID = "folder-notes";
|
|
36
|
+
const FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP = /\{\{folder_name\}\}/gi;
|
|
37
|
+
const EXCALIDRAW_FILE_EXTENSION = "excalidraw";
|
|
38
|
+
const FALLBACK_FOLDER_NOTE_CONFIG = {
|
|
39
|
+
extensions: [MARKDOWN_FILE_EXTENSION],
|
|
40
|
+
isHidden: false,
|
|
41
|
+
location: "InsideFolder" /* InsideFolder */,
|
|
42
|
+
resolveName: (folder) => folder.name
|
|
43
|
+
};
|
|
44
|
+
function resolveFolderNote(params) {
|
|
45
|
+
const { app, folder } = params;
|
|
46
|
+
const config = params.config ?? resolveFolderNoteConfig({ app });
|
|
47
|
+
if (config.location === "None" /* None */) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const parentFolderPath = config.location === "ParentFolder" /* ParentFolder */ ? folder.parent?.path : folder.path;
|
|
51
|
+
if (parentFolderPath === void 0) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const noteName = config.resolveName(folder).trim();
|
|
55
|
+
if (!noteName) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
for (const extension of config.extensions) {
|
|
59
|
+
const file = app.vault.getFileByPath(normalizePath(join(parentFolderPath, `${noteName}.${extension}`)));
|
|
60
|
+
if (file) {
|
|
61
|
+
return file;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
function resolveFolderNoteConfig(params) {
|
|
67
|
+
const {
|
|
68
|
+
app,
|
|
69
|
+
extensions,
|
|
70
|
+
isHidden,
|
|
71
|
+
location,
|
|
72
|
+
resolveName
|
|
73
|
+
} = params;
|
|
74
|
+
if (location !== void 0 && location !== "Auto" /* Auto */) {
|
|
75
|
+
return {
|
|
76
|
+
extensions: normalizeExtensions(extensions ?? [MARKDOWN_FILE_EXTENSION]),
|
|
77
|
+
isHidden: isHidden ?? false,
|
|
78
|
+
location,
|
|
79
|
+
resolveName: resolveName ?? FALLBACK_FOLDER_NOTE_CONFIG.resolveName
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return readFolderNotesPluginConfig(app) ?? FALLBACK_FOLDER_NOTE_CONFIG;
|
|
83
|
+
}
|
|
84
|
+
function normalizeExtensions(extensions) {
|
|
85
|
+
const normalizedExtensions = extensions.map((extension) => extension.trim().toLowerCase().replace(/^\./, "")).map((extension) => extension === EXCALIDRAW_FILE_EXTENSION ? MARKDOWN_FILE_EXTENSION : extension).filter(Boolean);
|
|
86
|
+
return [...new Set(normalizedExtensions)];
|
|
87
|
+
}
|
|
88
|
+
function readFolderNotesPluginConfig(app) {
|
|
89
|
+
const folderNotesPlugin = app.plugins.getPlugin(FOLDER_NOTES_PLUGIN_ID);
|
|
90
|
+
if (!folderNotesPlugin || !("settings" in folderNotesPlugin)) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
const folderNotesSettings = folderNotesPlugin.settings;
|
|
94
|
+
if (typeof folderNotesSettings !== "object" || folderNotesSettings === null) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const location = toFolderNoteLocation("storageLocation" in folderNotesSettings ? folderNotesSettings.storageLocation : null);
|
|
98
|
+
if (!location) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const folderNoteName = "folderNoteName" in folderNotesSettings ? folderNotesSettings.folderNoteName : null;
|
|
102
|
+
if (typeof folderNoteName !== "string" || !folderNoteName) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
const folderNoteType = "folderNoteType" in folderNotesSettings ? folderNotesSettings.folderNoteType : null;
|
|
106
|
+
const supportedFileTypes = "supportedFileTypes" in folderNotesSettings ? folderNotesSettings.supportedFileTypes : null;
|
|
107
|
+
const isHidden = "hideFolderNote" in folderNotesSettings ? folderNotesSettings.hideFolderNote : null;
|
|
108
|
+
return {
|
|
109
|
+
// Its own resolver tries the primary type first and every other supported type after it, which is the
|
|
110
|
+
// Order reproduced here. An unusable pair leaves Markdown, the extension it cannot be configured
|
|
111
|
+
// Without.
|
|
112
|
+
extensions: normalizeExtensions([
|
|
113
|
+
typeof folderNoteType === "string" ? folderNoteType : MARKDOWN_FILE_EXTENSION,
|
|
114
|
+
...Array.isArray(supportedFileTypes) ? supportedFileTypes.filter((type) => typeof type === "string") : [],
|
|
115
|
+
MARKDOWN_FILE_EXTENSION
|
|
116
|
+
]),
|
|
117
|
+
isHidden: isHidden === true,
|
|
118
|
+
location,
|
|
119
|
+
resolveName: (folder) => replaceAll({
|
|
120
|
+
$string: folderNoteName,
|
|
121
|
+
// A function replacer, so a folder name containing `$&` is inserted literally.
|
|
122
|
+
replacer: () => folder.name,
|
|
123
|
+
searchValue: FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP
|
|
124
|
+
})
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function toFolderNoteLocation(storageLocation) {
|
|
128
|
+
switch (storageLocation) {
|
|
129
|
+
case "insideFolder": {
|
|
130
|
+
return "InsideFolder" /* InsideFolder */;
|
|
131
|
+
}
|
|
132
|
+
case "parentFolder": {
|
|
133
|
+
return "ParentFolder" /* ParentFolder */;
|
|
134
|
+
}
|
|
135
|
+
default: {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
FOLDER_NOTES_PLUGIN_ID,
|
|
142
|
+
FolderNoteLocation,
|
|
143
|
+
resolveFolderNote,
|
|
144
|
+
resolveFolderNoteConfig
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2ZvbGRlci1ub3RlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGZvbGRlci1ub3RlIGNvbmNlcHQ6IHdoaWNoIG5vdGUsIGlmIGFueSwgaXMgdGhlIG9uZSB3aG9zZSBwcm9wZXJ0aWVzIGRlc2NyaWJlIGEgRk9MREVSIGl0c2VsZi5cbiAqXG4gKiBPYnNpZGlhbiBoYXMgbm8gc3VjaCBjb25jZXB0IFx1MjAxNCBpdCBpcyBhIGNvbnZlbnRpb24gdGhlIGNvbW11bml0eSBzZXR0bGVkIG9uLCBhbmQgdGhlIHBsdWdpbiB0aGF0IG93bnMgaXRcbiAqIGZvciBtb3N0IHZhdWx0cyBpcyBbYGZvbGRlci1ub3Rlc2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9Mb3N0UGF1bC9vYnNpZGlhbi1mb2xkZXItbm90ZXMpLiBTbyB0aGUgYW5zd2VyIHRvXG4gKiBcIndoaWNoIG5vdGUgYmVsb25ncyB0byB0aGlzIGZvbGRlclwiIGlzIHRoYXQgcGx1Z2luJ3MgdG8gZ2l2ZSB3aGVuZXZlciBpdCBpcyBpbnN0YWxsZWQsIGFuZCB0aGlzIG1vZHVsZVxuICogYXNrcyBpdCByYXRoZXIgdGhhbiBpbnZlbnRpbmcgYSBzZWNvbmQgYW5zd2VyOiB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IFx1MjAxNCB0aGUgZGVmYXVsdCBcdTIwMTQgcmVhZHMgaXRzXG4gKiBsaXZlIGNvbmZpZ3VyYXRpb24gYXQgZXZlcnkgdXNlLlxuICpcbiAqIFJlYWRpbmcgaXQgbGl2ZSByYXRoZXIgdGhhbiBjb3B5aW5nIGl0cyB2YWx1ZXMgaW50byBhIGNvbnN1bWVyJ3Mgb3duIHNldHRpbmdzIGlzIGRlbGliZXJhdGU6IGEgY29weSBnb2VzXG4gKiBzdGFsZSB0aGUgbW9tZW50IHRoYXQgcGx1Z2luIGlzIHJlY29uZmlndXJlZCwgYW5kIGl0IHdvdWxkIG5lZWQgYSBzZXR0aW5ncyBtaWdyYXRpb24gdG8gc2VlZC4gRXZlcnl0aGluZ1xuICogZWxzZSBpcyB0aGUgY2FsbGVyJ3MgZXhwbGljaXQgY2hvaWNlLCBhbmQgdGhlbiB0aGUgb3RoZXIgcGx1Z2luIGlzIG5vdCBjb25zdWx0ZWQgYXQgYWxsLlxuICpcbiAqIE5vdGhpbmcgaGVyZSBldmVyIENSRUFURVMgYSBub3RlLiBBIGZvbGRlciB3aXRoIG5vIGZvbGRlciBub3RlIGFuc3dlcnMgYG51bGxgLCB3aGljaCBpcyB3aGF0IGxldHMgYVxuICogY2FsbGVyIGxheWVyIGZvbGRlci1ub3RlIGJlaGF2aW9yIG9udG8gYSBjbGljayB3aXRob3V0IHJpc2tpbmcgYSBmaWxlIGFwcGVhcmluZyBvbiB0aGUgdXNlcidzIGRpc2suXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFRGaWxlLFxuICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgbm9ybWFsaXplUGF0aCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG4vKipcbiAqIFdoZXJlIGEgZm9sZGVyJ3MgZm9sZGVyIG5vdGUgbGl2ZXMuXG4gKlxuICogVGhlIHRocmVlIGNvbmNyZXRlIG1lbWJlcnMgYXJlIHRoZSBzaGFwZXMgdGhlIGZvbGRlci1ub3RlIGVjb3N5c3RlbSBhY3R1YWxseSB1c2VzOlxuICogYGNoYXJsaWUvY2hhcmxpZS5tZGAgYW5kIGBjaGFybGllL2luZGV4Lm1kYCBhcmUgYm90aCB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcn0gKHRoZXlcbiAqIGRpZmZlciBvbmx5IGluIHRoZSBOQU1FLCB3aGljaCBpcyB3aHkgbmFtaW5nIGlzIGEgY2FsbGJhY2sgYW5kIG5vdCBhIGZvdXJ0aCBtZW1iZXIpLCB3aGlsZVxuICogYGNoYXJsaWUubWRgIGJlc2lkZSB0aGUgZm9sZGVyIGlzIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyfSBcdTIwMTQgd2hvc2Ugd2hvbGUgcG9pbnQgaXMgdGhhdFxuICogYFtbYWxwaGEvYnJhdm8vY2hhcmxpZV1dYCBsaW5rcyB0byBhIGZvbGRlciB3aXRoIG5vIHNwZWNpYWwgc3ludGF4LlxuICovXG5leHBvcnQgZW51bSBGb2xkZXJOb3RlTG9jYXRpb24ge1xuICAvKipcbiAgICogVGFrZSB0aGUgYW5zd2VyIGZyb20gdGhlIGluc3RhbGxlZCBgZm9sZGVyLW5vdGVzYCBwbHVnaW4sIGZhbGxpbmcgYmFjayB0byBhIG5vdGUgbmFtZWQgYWZ0ZXIgaXRzXG4gICAqIGZvbGRlciwgaW5zaWRlIGl0LiBUaGUgZGVmYXVsdCwgYW5kIHJlc29sdmVkIExJVkUgcmF0aGVyIHRoYW4gY29waWVkLlxuICAgKi9cbiAgQXV0byA9ICdBdXRvJyxcblxuICAvKipcbiAgICogYGFscGhhL2JyYXZvL2NoYXJsaWUvPG5hbWU+Lm1kYC5cbiAgICovXG4gIEluc2lkZUZvbGRlciA9ICdJbnNpZGVGb2xkZXInLFxuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgaGFzIG5vIGZvbGRlciBub3RlcyBhdCBhbGwsIHNvIGV2ZXJ5IGZvbGRlciBhbnN3ZXJzIGBudWxsYC4gVGhpcyBpcyBhbHNvIGhvdyBhIGNhbGxlciBvcHRzXG4gICAqIG91dCBvZiBmb2xkZXItbm90ZSBiZWhhdmlvciBlbnRpcmVseS5cbiAgICovXG4gIE5vbmUgPSAnTm9uZScsXG5cbiAgLyoqXG4gICAqIGBhbHBoYS9icmF2by88bmFtZT4ubWRgLCBiZXNpZGUgdGhlIGZvbGRlci5cbiAgICovXG4gIFBhcmVudEZvbGRlciA9ICdQYXJlbnRGb2xkZXInXG59XG5cbi8qKlxuICogQSBmb2xkZXItbm90ZSBzZXR1cCB3aXRoIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30gYWxyZWFkeSByZXNvbHZlZCB0byBhIGNvbmNyZXRlIGFuc3dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJOb3RlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb25zIGEgZm9sZGVyIG5vdGUgbWF5IGNhcnJ5LCBXSVRIT1VUIHRoZSBsZWFkaW5nIGRvdCwgaW4gcmVzb2x1dGlvbiBvcmRlciBcdTIwMTQgdGhlIGZpcnN0IG9uZVxuICAgKiB0aGF0IG5hbWVzIGFuIGV4aXN0aW5nIGZpbGUgd2lucy5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVuc2lvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2xkZXIgbm90ZSBpcyBoaWRkZW4gaW4gdGhlIGZpbGUgZXhwbG9yZXIuXG4gICAqXG4gICAqIFJlYWQgcmF0aGVyIHRoYW4gYWN0ZWQgdXBvbiBoZXJlOiBpdCBjaGFuZ2VzIG5vdGhpbmcgYWJvdXQgV0hJQ0ggZmlsZSBpcyB0aGUgZm9sZGVyIG5vdGUsIGJ1dCBhIGNhbGxlclxuICAgKiB0aGF0IHJldmVhbHMgdGhlIG5vdGUgaGFzIHRvIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZXZlYWwgYW5kIGZhbGwgYmFjayB0byByZXZlYWxpbmcgdGhlIGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGlzSGlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgbm90ZSBzaXRzIHJlbGF0aXZlIHRvIGl0cyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlciB8IEZvbGRlck5vdGVMb2NhdGlvbi5Ob25lIHwgRm9sZGVyTm90ZUxvY2F0aW9uLlBhcmVudEZvbGRlcjtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIGZvbGRlciBub3RlIG9mIGEgZm9sZGVyLCBXSVRIT1VUIGl0cyBleHRlbnNpb24uXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZTsgYW4gZW1wdHkgKG9yIGJsYW5rKSBuYW1lIG1lYW5zIHRoZSBmb2xkZXIgaGFzIG5vIGZvbGRlciBub3RlLlxuICAgKi9cbiAgLy8gYHRoaXM6IHZvaWRgIGJlY2F1c2UgaXQgaXMgYSBzdGFuZGFsb25lIGNhbGxiYWNrLCBuZXZlciBhIG1ldGhvZCBvZiB0aGUgY29uZmlnIFx1MjAxNCB3aGljaCBpcyBhbHNvIHdoYXRcbiAgLy8gTGV0cyBpdCBiZSBkZXN0cnVjdHVyZWQgYW5kIGhhbmRlZCBvbiB3aXRob3V0IHRyaXBwaW5nIGB1bmJvdW5kLW1ldGhvZGAuXG4gIHJlc29sdmVOYW1lKHRoaXM6IHZvaWQsIGZvbGRlcjogVEZvbGRlcik6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVzb2x2ZUZvbGRlck5vdGVDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVGb2xkZXJOb3RlQ29uZmlnUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbnMgYSBmb2xkZXIgbm90ZSBtYXkgY2FycnksIHdpdGggb3Igd2l0aG91dCB0aGUgbGVhZGluZyBkb3QsIGluIHJlc29sdXRpb24gb3JkZXIuIElnbm9yZWRcbiAgICogdW5kZXIge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSwgd2hpY2ggdGFrZXMgdGhlIGluc3RhbGxlZCBwbHVnaW4ncyBhbnN3ZXIgd2hvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbJ21kJ11gXG4gICAqL1xuICByZWFkb25seSBleHRlbnNpb25zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZvbGRlciBub3RlIGlzIGhpZGRlbiBpbiB0aGUgZmlsZSBleHBsb3Jlci4gSWdub3JlZCB1bmRlciB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBpc0hpZGRlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBub3RlIHNpdHMgcmVsYXRpdmUgdG8gaXRzIGZvbGRlci5cbiAgICpcbiAgICogQGRlZmF1bHQge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb24/OiBGb2xkZXJOb3RlTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWVzIHRoZSBmb2xkZXIgbm90ZSBvZiBhIGZvbGRlciwgV0lUSE9VVCBpdHMgZXh0ZW5zaW9uLiBJZ25vcmVkIHVuZGVyXG4gICAqIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30sIHdoaWNoIG5hbWVzIHRoZSBub3RlIHRoZSB3YXkgdGhlIGluc3RhbGxlZCBwbHVnaW4gZG9lcy5cbiAgICpcbiAgICogQSBjYWxsYmFjayByYXRoZXIgdGhhbiBhIG5hbWUgdGVtcGxhdGUsIGJlY2F1c2UgYSB0ZW1wbGF0ZSBuZWVkcyBhIHRva2VuIHZvY2FidWxhcnkgYW5kIHRoaXMgbGlicmFyeVxuICAgKiBoYXMgbm9uZSB0byBpbXBvc2UgXHUyMDE0IGEgY2FsbGVyIHRoYXQgaGFzIG9uZSAoYHt7Zm9sZGVyTmFtZX19YCwgYHt7Zm9sZGVyUGF0aH19YCwgXHUyMDI2KSByZW5kZXJzIGl0IGhlcmUuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZS5cbiAgICogQGRlZmF1bHQgYChmb2xkZXIpID0+IGZvbGRlci5uYW1lYFxuICAgKi9cbiAgLy8gU2VlIHtAbGluayBGb2xkZXJOb3RlQ29uZmlnLnJlc29sdmVOYW1lfSBmb3Igd2h5IGB0aGlzOiB2b2lkYC5cbiAgcmVzb2x2ZU5hbWU/KHRoaXM6IHZvaWQsIGZvbGRlcjogVEZvbGRlcik6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVzb2x2ZUZvbGRlck5vdGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVGb2xkZXJOb3RlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGFscmVhZHktcmVzb2x2ZWQgc2V0dXAgdG8gdXNlLlxuICAgKlxuICAgKiBPbWl0dGVkIG1lYW5zIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30gXHUyMDE0IHRoZSBzZXR1cCBpcyByZXNvbHZlZCBvbiB0aGUgc3BvdCwgd2hpY2ggaXMgd2hhdCBtYWtlc1xuICAgKiBgcmVzb2x2ZUZvbGRlck5vdGUoeyBhcHAsIGZvbGRlciB9KWAgdGhlIG9uZS1saW5lciBldmVyeSBjYWxsZXIgd2FudHMuIFBhc3Mgb25lIHdoZW4gdGhlIHNhbWUgc2V0dXAgaXNcbiAgICogdXNlZCBtb3JlIHRoYW4gb25jZSwgb3Igd2hlbiBpdHMge0BsaW5rIEZvbGRlck5vdGVDb25maWcuaXNIaWRkZW59IGlzIG5lZWRlZCBhbG9uZ3NpZGUgdGhlIG5vdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGByZXNvbHZlRm9sZGVyTm90ZUNvbmZpZyh7IGFwcCB9KWBcbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZz86IEZvbGRlck5vdGVDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgd2hvc2UgZm9sZGVyIG5vdGUgaXMgd2FudGVkLiBSZWFkIEFGVEVSIGFueSByZW5hbWU6IHRoZSBub3RlIGlzIG5hbWVkIGZyb20gdGhlIGZvbGRlcidzXG4gICAqIENVUlJFTlQgbmFtZSwgYW5kIGEgYGZvbGRlci1ub3Rlc2AgaW5zdGFsbCB3aXRoIGBzeW5jRm9sZGVyTmFtZWAgb24gd2lsbCBoYXZlIHJlbmFtZWQgaXQgYWxyZWFkeS5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlcjogVEZvbGRlcjtcbn1cblxuLyoqXG4gKiBUaGUgYGZvbGRlci1ub3Rlc2AgcGx1Z2luJ3MgaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcblxuLyoqXG4gKiBUaGUgb25lIHRva2VuIGBmb2xkZXItbm90ZXNgJyBvd24gbmFtZSB0ZW1wbGF0ZSB1bmRlcnN0YW5kcy4gRXZlcnkgb3RoZXIgY2hhcmFjdGVyIGluIHRoYXQgdGVtcGxhdGUgaXNcbiAqIGEgbGl0ZXJhbCwgc28gdHJhbnNsYXRpbmcgdGhpcyB0b2tlbiBpcyB0aGUgd2hvbGUgb2YgdGhlIHRyYW5zbGF0aW9uLlxuICovXG5jb25zdCBGT0xERVJfTk9URVNfRk9MREVSX05BTUVfVE9LRU5fUkVHX0VYUCA9IC9cXHtcXHtmb2xkZXJfbmFtZVxcfVxcfS9naTtcblxuLyoqXG4gKiBgZm9sZGVyLW5vdGVzYCBvZmZlcnMgRXhjYWxpZHJhdyBmb2xkZXIgbm90ZXMsIHdoaWNoIGFyZSBNYXJrZG93biBmaWxlcyB3aXRoIGFuIEV4Y2FsaWRyYXcgcGF5bG9hZCBcdTIwMTQgaXRzXG4gKiBvd24gcmVzb2x2ZXIgbm9ybWFsaXplcyB0aGUgdHlwZSB0aGUgc2FtZSB3YXkgYmVmb3JlIGxvb2tpbmcgdGhlIGZpbGUgdXAuXG4gKi9cbmNvbnN0IEVYQ0FMSURSQVdfRklMRV9FWFRFTlNJT04gPSAnZXhjYWxpZHJhdyc7XG5cbi8qKlxuICogV2hhdCB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IGZhbGxzIGJhY2sgdG86IHRoZSBsYXlvdXQgZXZlcnkgZm9sZGVyLW5vdGUgcGx1Z2luIHN1cHBvcnRzLCBhbmRcbiAqIHRoZSBvbmUgYGZvbGRlci1ub3Rlc2AgaXRzZWxmIHNoaXBzIGFzIGl0cyBkZWZhdWx0LiBOb3RoaW5nIGhpZGVzIGEgbm90ZSB3aGVuIG5vIHBsdWdpbiBpcyB0aGVyZSB0byBoaWRlXG4gKiBpdCwgc28ge0BsaW5rIEZvbGRlck5vdGVDb25maWcuaXNIaWRkZW59IGlzIGBmYWxzZWAuXG4gKi9cbmNvbnN0IEZBTExCQUNLX0ZPTERFUl9OT1RFX0NPTkZJRzogRm9sZGVyTm90ZUNvbmZpZyA9IHtcbiAgZXh0ZW5zaW9uczogW01BUktET1dOX0ZJTEVfRVhURU5TSU9OXSxcbiAgaXNIaWRkZW46IGZhbHNlLFxuICBsb2NhdGlvbjogRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcixcbiAgcmVzb2x2ZU5hbWU6IChmb2xkZXI6IFRGb2xkZXIpOiBzdHJpbmcgPT4gZm9sZGVyLm5hbWVcbn07XG5cbi8qKlxuICogRmluZHMgYSBmb2xkZXIncyBmb2xkZXIgbm90ZSBcdTIwMTQgdGhlIG9uZSBub3RlIHdob3NlIHByb3BlcnRpZXMgZGVzY3JpYmUgdGhlIGZvbGRlciBpdHNlbGYuXG4gKlxuICogKipOZXZlciBjcmVhdGVzLioqIEEgZm9sZGVyIHRoYXQgaGFzIG5vIGZvbGRlciBub3RlIGFuc3dlcnMgYG51bGxgLCBhbmQgc28gZG9lcyB0aGUgdmF1bHQgcm9vdCB1bmRlclxuICoge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5QYXJlbnRGb2xkZXJ9IChub3RoaW5nIGNhbiBzaXQgYmVzaWRlIGl0KS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGZvbGRlciwgYW5kIG9wdGlvbmFsbHkgdGhlIHNldHVwIHRvIHJlc29sdmUgaXQgd2l0aC5cbiAqIEByZXR1cm5zIFRoZSBmb2xkZXIgbm90ZSwgb3IgYG51bGxgIHdoZW4gdGhlcmUgaXMgbm9uZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVGb2xkZXJOb3RlKHBhcmFtczogUmVzb2x2ZUZvbGRlck5vdGVQYXJhbXMpOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCB7IGFwcCwgZm9sZGVyIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGNvbmZpZyA9IHBhcmFtcy5jb25maWcgPz8gcmVzb2x2ZUZvbGRlck5vdGVDb25maWcoeyBhcHAgfSk7XG4gIGlmIChjb25maWcubG9jYXRpb24gPT09IEZvbGRlck5vdGVMb2NhdGlvbi5Ob25lKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwYXJlbnRGb2xkZXJQYXRoID0gY29uZmlnLmxvY2F0aW9uID09PSBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyID8gZm9sZGVyLnBhcmVudD8ucGF0aCA6IGZvbGRlci5wYXRoO1xuICBpZiAocGFyZW50Rm9sZGVyUGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub3RlTmFtZSA9IGNvbmZpZy5yZXNvbHZlTmFtZShmb2xkZXIpLnRyaW0oKTtcbiAgaWYgKCFub3RlTmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZm9yIChjb25zdCBleHRlbnNpb24gb2YgY29uZmlnLmV4dGVuc2lvbnMpIHtcbiAgICBjb25zdCBmaWxlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm9ybWFsaXplUGF0aChqb2luKHBhcmVudEZvbGRlclBhdGgsIGAke25vdGVOYW1lfS4ke2V4dGVuc2lvbn1gKSkpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IGludG8gYSBjb25jcmV0ZSBmb2xkZXItbm90ZSBzZXR1cC5cbiAqXG4gKiBgZm9sZGVyLW5vdGVzYCcgYHZhdWx0Rm9sZGVyYCBzdG9yYWdlIChldmVyeSBmb2xkZXIgbm90ZSBwb29sZWQgaW4gb25lIGNlbnRyYWwgZm9sZGVyKSBoYXMgbm9cbiAqIGNvdW50ZXJwYXJ0IGhlcmUgYW5kIGZhbGxzIGJhY2sgcmF0aGVyIHRoYW4gZ3Vlc3Npbmc6IHdpdGggdGhlIG5vdGVzIHBvb2xlZCwgdGhlIG5vdGUgYmVsb25naW5nIHRvIGFcbiAqIGZvbGRlciBpcyBubyBsb25nZXIgZGVyaXZhYmxlIGZyb20gdGhhdCBmb2xkZXIncyBwYXRoIGFsb25lLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgc2V0dXAsIGFuZCB0aGUgYXBwIHRvIHJlYWQgdGhlIGluc3RhbGxlZCBwbHVnaW4gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBzZXR1cC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnKHBhcmFtczogUmVzb2x2ZUZvbGRlck5vdGVDb25maWdQYXJhbXMpOiBGb2xkZXJOb3RlQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBleHRlbnNpb25zLFxuICAgIGlzSGlkZGVuLFxuICAgIGxvY2F0aW9uLFxuICAgIHJlc29sdmVOYW1lXG4gIH0gPSBwYXJhbXM7XG5cbiAgaWYgKGxvY2F0aW9uICE9PSB1bmRlZmluZWQgJiYgbG9jYXRpb24gIT09IEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV4dGVuc2lvbnM6IG5vcm1hbGl6ZUV4dGVuc2lvbnMoZXh0ZW5zaW9ucyA/PyBbTUFSS0RPV05fRklMRV9FWFRFTlNJT05dKSxcbiAgICAgIGlzSGlkZGVuOiBpc0hpZGRlbiA/PyBmYWxzZSxcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgcmVzb2x2ZU5hbWU6IHJlc29sdmVOYW1lID8/IEZBTExCQUNLX0ZPTERFUl9OT1RFX0NPTkZJRy5yZXNvbHZlTmFtZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gcmVhZEZvbGRlck5vdGVzUGx1Z2luQ29uZmlnKGFwcCkgPz8gRkFMTEJBQ0tfRk9MREVSX05PVEVfQ09ORklHO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgZXh0ZW5zaW9ucyB0aGUgd2F5IGBmb2xkZXItbm90ZXNgIGRvZXMgYmVmb3JlIGl0IGxvb2tzIGEgZmlsZSB1cDogbm8gbGVhZGluZyBkb3QsIGxvd2VyLWNhc2UsXG4gKiBFeGNhbGlkcmF3IHRyZWF0ZWQgYXMgTWFya2Rvd24sIGJsYW5rcyBkcm9wcGVkLCBkdXBsaWNhdGVzIGNvbGxhcHNlZCB3aGlsZSBrZWVwaW5nIHRoZSBmaXJzdCBvY2N1cnJlbmNlJ3NcbiAqIHBvc2l0aW9uLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25zIC0gVGhlIGV4dGVuc2lvbnMgYXMgY29uZmlndXJlZC5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4dGVuc2lvbnMsIGluIHJlc29sdXRpb24gb3JkZXIuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV4dGVuc2lvbnMoZXh0ZW5zaW9uczogcmVhZG9ubHkgc3RyaW5nW10pOiByZWFkb25seSBzdHJpbmdbXSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRFeHRlbnNpb25zID0gZXh0ZW5zaW9uc1xuICAgIC5tYXAoKGV4dGVuc2lvbikgPT4gZXh0ZW5zaW9uLnRyaW0oKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL15cXC4vLCAnJykpXG4gICAgLm1hcCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24gPT09IEVYQ0FMSURSQVdfRklMRV9FWFRFTlNJT04gPyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiA6IGV4dGVuc2lvbilcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gWy4uLm5ldyBTZXQobm9ybWFsaXplZEV4dGVuc2lvbnMpXTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgaW5zdGFsbGVkIGBmb2xkZXItbm90ZXNgIHBsdWdpbidzIG93biBjb25maWd1cmF0aW9uLCBpZiBpdCBpcyBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQgdGhlIHdheVxuICogaXQgZG9jdW1lbnRzLlxuICpcbiAqIEV2ZXJ5IHZhbHVlIGlzIHJlYWQgYXMgYHVua25vd25gIGFuZCBjaGVja2VkLCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoaXMgaXMgYW5vdGhlclxuICogcGx1Z2luJ3MgcHJpdmF0ZSBzZXR0aW5ncyBvYmplY3QsIHNvIGEgdmVyc2lvbiB0aGF0IHJlbmFtZXMgb3IgZHJvcHMgYSBrZXkgbXVzdCBkZWdyYWRlIHRvIHRoZSBmYWxsYmFja1xuICogaW5zdGVhZCBvZiB0aHJvd2luZyBpbnNpZGUgYSBjbGljayBoYW5kbGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiwgb3IgYG51bGxgIHdoZW4gdGhlIHBsdWdpbiBpcyBhYnNlbnQsIG5vdCBjb25maWd1cmVkLCBvciBzZXQgdG8gYSBzdG9yYWdlXG4gKiBsb2NhdGlvbiB3aXRoIG5vIGNvdW50ZXJwYXJ0IGhlcmUuXG4gKi9cbmZ1bmN0aW9uIHJlYWRGb2xkZXJOb3Rlc1BsdWdpbkNvbmZpZyhhcHA6IEFwcCk6IEZvbGRlck5vdGVDb25maWcgfCBudWxsIHtcbiAgY29uc3QgZm9sZGVyTm90ZXNQbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oRk9MREVSX05PVEVTX1BMVUdJTl9JRCk7XG4gIC8vIE5hcnJvd2VkIHdpdGggYGluYCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoYXQga2VlcHMgZXZlcnkgdmFsdWUgYmVsb3cgdHlwZWQgYHVua25vd25gLFxuICAvLyBXaGljaCBpcyBleGFjdGx5IHdoYXQgYSBmb3JlaWduIHBsdWdpbidzIHByaXZhdGUgc2V0dGluZ3MgYXJlLlxuICBpZiAoIWZvbGRlck5vdGVzUGx1Z2luIHx8ICEoJ3NldHRpbmdzJyBpbiBmb2xkZXJOb3Rlc1BsdWdpbikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVzU2V0dGluZ3M6IHVua25vd24gPSBmb2xkZXJOb3Rlc1BsdWdpbi5zZXR0aW5ncztcbiAgaWYgKHR5cGVvZiBmb2xkZXJOb3Rlc1NldHRpbmdzICE9PSAnb2JqZWN0JyB8fCBmb2xkZXJOb3Rlc1NldHRpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsb2NhdGlvbiA9IHRvRm9sZGVyTm90ZUxvY2F0aW9uKCdzdG9yYWdlTG9jYXRpb24nIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN0b3JhZ2VMb2NhdGlvbiA6IG51bGwpO1xuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBmb2xkZXJOb3RlTmFtZSA9ICdmb2xkZXJOb3RlTmFtZScgaW4gZm9sZGVyTm90ZXNTZXR0aW5ncyA/IGZvbGRlck5vdGVzU2V0dGluZ3MuZm9sZGVyTm90ZU5hbWUgOiBudWxsO1xuICBpZiAodHlwZW9mIGZvbGRlck5vdGVOYW1lICE9PSAnc3RyaW5nJyB8fCAhZm9sZGVyTm90ZU5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVUeXBlID0gJ2ZvbGRlck5vdGVUeXBlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5mb2xkZXJOb3RlVHlwZSA6IG51bGw7XG4gIGNvbnN0IHN1cHBvcnRlZEZpbGVUeXBlcyA9ICdzdXBwb3J0ZWRGaWxlVHlwZXMnIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN1cHBvcnRlZEZpbGVUeXBlcyA6IG51bGw7XG4gIGNvbnN0IGlzSGlkZGVuID0gJ2hpZGVGb2xkZXJOb3RlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5oaWRlRm9sZGVyTm90ZSA6IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBJdHMgb3duIHJlc29sdmVyIHRyaWVzIHRoZSBwcmltYXJ5IHR5cGUgZmlyc3QgYW5kIGV2ZXJ5IG90aGVyIHN1cHBvcnRlZCB0eXBlIGFmdGVyIGl0LCB3aGljaCBpcyB0aGVcbiAgICAvLyBPcmRlciByZXByb2R1Y2VkIGhlcmUuIEFuIHVudXNhYmxlIHBhaXIgbGVhdmVzIE1hcmtkb3duLCB0aGUgZXh0ZW5zaW9uIGl0IGNhbm5vdCBiZSBjb25maWd1cmVkXG4gICAgLy8gV2l0aG91dC5cbiAgICBleHRlbnNpb25zOiBub3JtYWxpemVFeHRlbnNpb25zKFtcbiAgICAgIHR5cGVvZiBmb2xkZXJOb3RlVHlwZSA9PT0gJ3N0cmluZycgPyBmb2xkZXJOb3RlVHlwZSA6IE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICAgICAgLi4uKEFycmF5LmlzQXJyYXkoc3VwcG9ydGVkRmlsZVR5cGVzKSA/IHN1cHBvcnRlZEZpbGVUeXBlcy5maWx0ZXIoKHR5cGU6IHVua25vd24pID0+IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykgOiBbXSksXG4gICAgICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTlxuICAgIF0pLFxuICAgIGlzSGlkZGVuOiBpc0hpZGRlbiA9PT0gdHJ1ZSxcbiAgICBsb2NhdGlvbixcbiAgICByZXNvbHZlTmFtZTogKGZvbGRlcjogVEZvbGRlcik6IHN0cmluZyA9PlxuICAgICAgcmVwbGFjZUFsbCh7XG4gICAgICAgICRzdHJpbmc6IGZvbGRlck5vdGVOYW1lLFxuICAgICAgICAvLyBBIGZ1bmN0aW9uIHJlcGxhY2VyLCBzbyBhIGZvbGRlciBuYW1lIGNvbnRhaW5pbmcgYCQmYCBpcyBpbnNlcnRlZCBsaXRlcmFsbHkuXG4gICAgICAgIHJlcGxhY2VyOiAoKSA9PiBmb2xkZXIubmFtZSxcbiAgICAgICAgc2VhcmNoVmFsdWU6IEZPTERFUl9OT1RFU19GT0xERVJfTkFNRV9UT0tFTl9SRUdfRVhQXG4gICAgICB9KVxuICB9O1xufVxuXG4vKipcbiAqIE1hcHMgYGZvbGRlci1ub3Rlc2AnIGBzdG9yYWdlTG9jYXRpb25gIG9udG8gdGhpcyBsaWJyYXJ5J3Mgb3duIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBzdG9yYWdlTG9jYXRpb24gLSBUaGUgdmFsdWUgcmVhZCBvdXQgb2YgdGhhdCBwbHVnaW4ncyBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbiwgb3IgYG51bGxgIGZvciBgdmF1bHRGb2xkZXJgIGFuZCBmb3IgYW55dGhpbmcgdGhhdCBpcyBub3Qgb25lIG9mIGl0cyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIHRvRm9sZGVyTm90ZUxvY2F0aW9uKHN0b3JhZ2VMb2NhdGlvbjogdW5rbm93bik6IEZvbGRlck5vdGVDb25maWdbJ2xvY2F0aW9uJ10gfCBudWxsIHtcbiAgc3dpdGNoIChzdG9yYWdlTG9jYXRpb24pIHtcbiAgICBjYXNlICdpbnNpZGVGb2xkZXInOiB7XG4gICAgICByZXR1cm4gRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcjtcbiAgICB9XG4gICAgY2FzZSAncGFyZW50Rm9sZGVyJzoge1xuICAgICAgcmV0dXJuIEZvbGRlck5vdGVMb2NhdGlvbi5QYXJlbnRGb2xkZXI7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsU0FBUyxxQkFBcUI7QUFFOUIsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsK0JBQStCO0FBV2pDLElBQUsscUJBQUwsa0JBQUtBLHdCQUFMO0FBS0wsRUFBQUEsb0JBQUEsVUFBTztBQUtQLEVBQUFBLG9CQUFBLGtCQUFlO0FBTWYsRUFBQUEsb0JBQUEsVUFBTztBQUtQLEVBQUFBLG9CQUFBLGtCQUFlO0FBckJMLFNBQUFBO0FBQUEsR0FBQTtBQXNJTCxNQUFNLHlCQUF5QjtBQU10QyxNQUFNLHlDQUF5QztBQU0vQyxNQUFNLDRCQUE0QjtBQU9sQyxNQUFNLDhCQUFnRDtBQUFBLEVBQ3BELFlBQVksQ0FBQyx1QkFBdUI7QUFBQSxFQUNwQyxVQUFVO0FBQUEsRUFDVixVQUFVO0FBQUEsRUFDVixhQUFhLENBQUMsV0FBNEIsT0FBTztBQUNuRDtBQVdPLFNBQVMsa0JBQWtCLFFBQStDO0FBQy9FLFFBQU0sRUFBRSxLQUFLLE9BQU8sSUFBSTtBQUN4QixRQUFNLFNBQVMsT0FBTyxVQUFVLHdCQUF3QixFQUFFLElBQUksQ0FBQztBQUMvRCxNQUFJLE9BQU8sYUFBYSxtQkFBeUI7QUFDL0MsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLG1CQUFtQixPQUFPLGFBQWEsb0NBQWtDLE9BQU8sUUFBUSxPQUFPLE9BQU87QUFDNUcsTUFBSSxxQkFBcUIsUUFBVztBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sV0FBVyxPQUFPLFlBQVksTUFBTSxFQUFFLEtBQUs7QUFDakQsTUFBSSxDQUFDLFVBQVU7QUFDYixXQUFPO0FBQUEsRUFDVDtBQUVBLGFBQVcsYUFBYSxPQUFPLFlBQVk7QUFDekMsVUFBTSxPQUFPLElBQUksTUFBTSxjQUFjLGNBQWMsS0FBSyxrQkFBa0IsR0FBRyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztBQUN0RyxRQUFJLE1BQU07QUFDUixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFZTyxTQUFTLHdCQUF3QixRQUF5RDtBQUMvRixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixNQUFJLGFBQWEsVUFBYSxhQUFhLG1CQUF5QjtBQUNsRSxXQUFPO0FBQUEsTUFDTCxZQUFZLG9CQUFvQixjQUFjLENBQUMsdUJBQXVCLENBQUM7QUFBQSxNQUN2RSxVQUFVLFlBQVk7QUFBQSxNQUN0QjtBQUFBLE1BQ0EsYUFBYSxlQUFlLDRCQUE0QjtBQUFBLElBQzFEO0FBQUEsRUFDRjtBQUVBLFNBQU8sNEJBQTRCLEdBQUcsS0FBSztBQUM3QztBQVVBLFNBQVMsb0JBQW9CLFlBQWtEO0FBQzdFLFFBQU0sdUJBQXVCLFdBQzFCLElBQUksQ0FBQyxjQUFjLFVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLE9BQU8sRUFBRSxDQUFDLEVBQ3BFLElBQUksQ0FBQyxjQUFjLGNBQWMsNEJBQTRCLDBCQUEwQixTQUFTLEVBQ2hHLE9BQU8sT0FBTztBQUNqQixTQUFPLENBQUMsR0FBRyxJQUFJLElBQUksb0JBQW9CLENBQUM7QUFDMUM7QUFjQSxTQUFTLDRCQUE0QixLQUFtQztBQUN0RSxRQUFNLG9CQUFvQixJQUFJLFFBQVEsVUFBVSxzQkFBc0I7QUFHdEUsTUFBSSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsb0JBQW9CO0FBQzVELFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxzQkFBK0Isa0JBQWtCO0FBQ3ZELE1BQUksT0FBTyx3QkFBd0IsWUFBWSx3QkFBd0IsTUFBTTtBQUMzRSxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sV0FBVyxxQkFBcUIscUJBQXFCLHNCQUFzQixvQkFBb0Isa0JBQWtCLElBQUk7QUFDM0gsTUFBSSxDQUFDLFVBQVU7QUFDYixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0saUJBQWlCLG9CQUFvQixzQkFBc0Isb0JBQW9CLGlCQUFpQjtBQUN0RyxNQUFJLE9BQU8sbUJBQW1CLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGlCQUFpQixvQkFBb0Isc0JBQXNCLG9CQUFvQixpQkFBaUI7QUFDdEcsUUFBTSxxQkFBcUIsd0JBQXdCLHNCQUFzQixvQkFBb0IscUJBQXFCO0FBQ2xILFFBQU0sV0FBVyxvQkFBb0Isc0JBQXNCLG9CQUFvQixpQkFBaUI7QUFFaEcsU0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLElBSUwsWUFBWSxvQkFBb0I7QUFBQSxNQUM5QixPQUFPLG1CQUFtQixXQUFXLGlCQUFpQjtBQUFBLE1BQ3RELEdBQUksTUFBTSxRQUFRLGtCQUFrQixJQUFJLG1CQUFtQixPQUFPLENBQUMsU0FBa0IsT0FBTyxTQUFTLFFBQVEsSUFBSSxDQUFDO0FBQUEsTUFDbEg7QUFBQSxJQUNGLENBQUM7QUFBQSxJQUNELFVBQVUsYUFBYTtBQUFBLElBQ3ZCO0FBQUEsSUFDQSxhQUFhLENBQUMsV0FDWixXQUFXO0FBQUEsTUFDVCxTQUFTO0FBQUE7QUFBQSxNQUVULFVBQVUsTUFBTSxPQUFPO0FBQUEsTUFDdkIsYUFBYTtBQUFBLElBQ2YsQ0FBQztBQUFBLEVBQ0w7QUFDRjtBQVFBLFNBQVMscUJBQXFCLGlCQUErRDtBQUMzRixVQUFRLGlCQUFpQjtBQUFBLElBQ3ZCLEtBQUssZ0JBQWdCO0FBQ25CLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxLQUFLLGdCQUFnQjtBQUNuQixhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsU0FBUztBQUNQLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJGb2xkZXJOb3RlTG9jYXRpb24iXQp9Cg==
|
|
@@ -31,6 +31,7 @@ export * as 'extensions-registrar' from './extensions-registrar.mjs';
|
|
|
31
31
|
export * as 'file-change' from './file-change.mjs';
|
|
32
32
|
export * as 'file-manager' from './file-manager.mjs';
|
|
33
33
|
export * as 'file-system' from './file-system.mjs';
|
|
34
|
+
export * as 'folder-note' from './folder-note.mjs';
|
|
34
35
|
export * as 'frontmatter-link-cache-with-offsets' from './frontmatter-link-cache-with-offsets.mjs';
|
|
35
36
|
export * as 'frontmatter' from './frontmatter.mjs';
|
|
36
37
|
export * as 'hover-link-source-registrar' from './hover-link-source-registrar.mjs';
|
|
@@ -53,6 +53,7 @@ import * as extensions_registrar from "./extensions-registrar.mjs";
|
|
|
53
53
|
import * as file_change from "./file-change.mjs";
|
|
54
54
|
import * as file_manager from "./file-manager.mjs";
|
|
55
55
|
import * as file_system from "./file-system.mjs";
|
|
56
|
+
import * as folder_note from "./folder-note.mjs";
|
|
56
57
|
import * as frontmatter_link_cache_with_offsets from "./frontmatter-link-cache-with-offsets.mjs";
|
|
57
58
|
import * as frontmatter from "./frontmatter.mjs";
|
|
58
59
|
import * as hover_link_source_registrar from "./hover-link-source-registrar.mjs";
|
|
@@ -129,6 +130,7 @@ export {
|
|
|
129
130
|
file_change as "file-change",
|
|
130
131
|
file_manager as "file-manager",
|
|
131
132
|
file_system as "file-system",
|
|
133
|
+
folder_note as "folder-note",
|
|
132
134
|
frontmatter,
|
|
133
135
|
frontmatter_link_cache_with_offsets as "frontmatter-link-cache-with-offsets",
|
|
134
136
|
hover_link_source_registrar as "hover-link-source-registrar",
|
|
@@ -173,4 +175,4 @@ export {
|
|
|
173
175
|
view_registrar as "view-registrar",
|
|
174
176
|
workspace
|
|
175
177
|
};
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2FjdGl2ZS1maWxlLXByb3ZpZGVyJyBmcm9tICcuL2FjdGl2ZS1maWxlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCAqIGFzICdhcHAnIGZyb20gJy4vYXBwLnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy13aXRoLW5vdGljZScgZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQgKiBhcyAnYXR0YWNobWVudC1wYXRoJyBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQgKiBhcyAnYmFja2xpbmsnIGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0ICogYXMgJ2Jhc2VzLXZpZXctcmVnaXN0cmFyJyBmcm9tICcuL2Jhc2VzLXZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdjYWxsb3V0JyBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0ICogYXMgJ2NhbnZhcycgZnJvbSAnLi9jYW52YXMudHMnO1xuZXhwb3J0ICogYXMgJ2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleCcgZnJvbSAnLi9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NvZGUtYmxvY2stbWFya2Rvd24taW5mb3JtYXRpb24nIGZyb20gJy4vY29kZS1ibG9jay1tYXJrZG93bi1pbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyAnY29kZS1ibG9jay1yZWctZXhwJyBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5leHBvcnQgKiBhcyAnY29tbWFuZC1oYW5kbGVycycgZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdjb21tYW5kLXJlZ2lzdHJhcicgZnJvbSAnLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnY29tbXVuaXR5LXBsdWdpbnMnIGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuZXhwb3J0ICogYXMgJ2NvbXBvbmVudHMnIGZyb20gJy4vY29tcG9uZW50cy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY29uc3RydWN0b3JzJyBmcm9tICcuL2NvbnN0cnVjdG9ycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY3NzLWNsYXNzJyBmcm9tICcuL2Nzcy1jbGFzcy50cyc7XG5leHBvcnQgKiBhcyAnZGF0YS1oYW5kbGVyJyBmcm9tICcuL2RhdGEtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnZGF0YXZpZXctbGluaycgZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCAqIGFzICdkYXRhdmlldycgZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgKiBhcyAnZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MnIGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtaGVscGVyJyBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCAqIGFzICdkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyJyBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0ICogYXMgJ2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dCcgZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0ICogYXMgJ2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyJyBmcm9tICcuL2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXInIGZyb20gJy4vZWRpdG9yLXN1Z2dlc3QtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3InIGZyb20gJy4vZWRpdG9yLnRzJztcbmV4cG9ydCAqIGFzICdldmVudHMnIGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCAqIGFzICdleHRlbnNpb25zLXJlZ2lzdHJhcicgZnJvbSAnLi9leHRlbnNpb25zLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1jaGFuZ2UnIGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtbWFuYWdlcicgZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtc3lzdGVtJyBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCAqIGFzICdmb2xkZXItbm90ZScgZnJvbSAnLi9mb2xkZXItbm90ZS50cyc7XG5leHBvcnQgKiBhcyAnZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMnIGZyb20gJy4vZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMudHMnO1xuZXhwb3J0ICogYXMgJ2Zyb250bWF0dGVyJyBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCAqIGFzICdob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXInIGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdodG1sLWVsZW1lbnQnIGZyb20gJy4vaHRtbC1lbGVtZW50LnRzJztcbmV4cG9ydCAqIGFzICdpMThuJyBmcm9tICcuL2kxOG4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2lzLWluLW9ic2lkaWFuJyBmcm9tICcuL2lzLWluLW9ic2lkaWFuLnRzJztcbmV4cG9ydCAqIGFzICdsaW5rLXVwZGF0ZS1wcm9ncmVzcycgZnJvbSAnLi9saW5rLXVwZGF0ZS1wcm9ncmVzcy50cyc7XG5leHBvcnQgKiBhcyAnbGluaycgZnJvbSAnLi9saW5rLnRzJztcbmV4cG9ydCAqIGFzICdsb2dnZXInIGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCAqIGFzICdsb29wJyBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhcicgZnJvbSAnLi9tYXJrZG93bi1jb2RlLWJsb2NrLXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yJyBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCAqIGFzICdtYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXInIGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdtYXJrZG93bi12aWV3JyBmcm9tICcuL21hcmtkb3duLXZpZXcudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duJyBmcm9tICcuL21hcmtkb3duLnRzJztcbmV4cG9ydCAqIGFzICdtZW51LWV2ZW50LXJlZ2lzdHJhcicgZnJvbSAnLi9tZW51LWV2ZW50LXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnbWV0YWRhdGEtY2FjaGUnIGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuZXhwb3J0ICogYXMgJ21vZGFscycgZnJvbSAnLi9tb2RhbHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ25vdGVib29rLW5hdmlnYXRvcicgZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuZXhwb3J0ICogYXMgJ29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyJyBmcm9tICcuL29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdvYnNpZGlhbi1zZXR0aW5ncycgZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyAncGFyc2UtbGluaycgZnJvbSAnLi9wYXJzZS1saW5rLnRzJztcbmV4cG9ydCAqIGFzICdwYXRoLXNldHRpbmdzJyBmcm9tICcuL3BhdGgtc2V0dGluZ3MudHMnO1xuZXhwb3J0ICogYXMgJ3BkZicgZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbicgZnJvbSAnLi9wbHVnaW4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1jbGktaGFuZGxlci1yZWdpc3RyYXInIGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAncG9wb3ZlcnMnIGZyb20gJy4vcG9wb3ZlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3F1ZXVlJyBmcm9tICcuL3F1ZXVlLnRzJztcbmV4cG9ydCAqIGFzICdyZWFjdCcgZnJvbSAnLi9yZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAncmVmZXJlbmNlJyBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5leHBvcnQgKiBhcyAncmVzb3VyY2UtbG9jaycgZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmV4cG9ydCAqIGFzICdyZXNvdXJjZS11cmwnIGZyb20gJy4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCAqIGFzICdyaWJib24taWNvbi1yZWdpc3RyYXInIGZyb20gJy4vcmliYm9uLWljb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5nLWNvbXBvbmVudHMnIGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5nLWV4JyBmcm9tICcuL3NldHRpbmctZXgudHMnO1xuZXhwb3J0ICogYXMgJ3NldHRpbmctZ3JvdXAtZXgnIGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgKiBhcyAnc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhcicgZnJvbSAnLi9zdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0aW9uJyBmcm9tICcuL3ZhbGlkYXRpb24udHMnO1xuZXhwb3J0ICogYXMgJ3ZhdWx0LWRlbGV0ZScgZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0ICogYXMgJ3ZhdWx0LXRyYW5zYWN0aW9uJyBmcm9tICcuL3ZhdWx0LXRyYW5zYWN0aW9uLnRzJztcbmV4cG9ydCAqIGFzICd2YXVsdCcgZnJvbSAnLi92YXVsdC50cyc7XG5leHBvcnQgKiBhcyAndmlldy1yZWdpc3RyYXInIGZyb20gJy4vdmlldy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ3dvcmtzcGFjZScgZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxZQUFZQSwwQkFBNEI7QUFDeEMsWUFBWSxTQUFXO0FBQ3ZCLFlBQVlDLHVCQUF5QjtBQUNyQyxZQUFZQyxxQkFBdUI7QUFDbkMsWUFBWSxjQUFnQjtBQUM1QixZQUFZQywwQkFBNEI7QUFDeEMsWUFBWSxhQUFlO0FBQzNCLFlBQVksWUFBYztBQUMxQixZQUFZQyxpQ0FBbUM7QUFDL0MsWUFBWUMscUNBQXVDO0FBQ25ELFlBQVlDLHdCQUEwQjtBQUN0QyxZQUFZQyxzQkFBd0I7QUFDcEMsWUFBWUMsdUJBQXlCO0FBQ3JDLFlBQVlDLHVCQUF5QjtBQUNyQyxZQUFZLGdCQUFrQjtBQUM5QixZQUFZLGtCQUFvQjtBQUNoQyxZQUFZQyxlQUFpQjtBQUM3QixZQUFZQyxrQkFBb0I7QUFDaEMsWUFBWUMsbUJBQXFCO0FBQ2pDLFlBQVksY0FBZ0I7QUFDNUIsWUFBWUMsZ0NBQWtDO0FBQzlDLFlBQVlDLHVCQUF5QjtBQUNyQyxZQUFZQywrQkFBaUM7QUFDN0MsWUFBWUMsMkJBQTZCO0FBQ3pDLFlBQVlDLGdDQUFrQztBQUM5QyxZQUFZQyw4QkFBZ0M7QUFDNUMsWUFBWSxZQUFjO0FBQzFCLFlBQVksWUFBYztBQUMxQixZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsaUJBQW1CO0FBQy9CLFlBQVlDLGtCQUFvQjtBQUNoQyxZQUFZQyxpQkFBbUI7QUFDL0IsWUFBWUMsaUJBQW1CO0FBQy9CLFlBQVlDLHlDQUEyQztBQUN2RCxZQUFZLGlCQUFtQjtBQUMvQixZQUFZQyxpQ0FBbUM7QUFDL0MsWUFBWUMsa0JBQW9CO0FBQ2hDLFlBQVksVUFBWTtBQUN4QixZQUFZQyxvQkFBc0I7QUFDbEMsWUFBWUMsMEJBQTRCO0FBQ3hDLFlBQVksVUFBWTtBQUN4QixZQUFZLFlBQWM7QUFDMUIsWUFBWSxVQUFZO0FBQ3hCLFlBQVlDLDZDQUErQztBQUMzRCxZQUFZQyxtQ0FBcUM7QUFDakQsWUFBWUMsdUNBQXlDO0FBQ3JELFlBQVlDLG1CQUFxQjtBQUNqQyxZQUFZLGNBQWdCO0FBQzVCLFlBQVlDLDBCQUE0QjtBQUN4QyxZQUFZQyxvQkFBc0I7QUFDbEMsWUFBWSxZQUFjO0FBQzFCLFlBQVlDLHdCQUEwQjtBQUN0QyxZQUFZQyx5Q0FBMkM7QUFDdkQsWUFBWUMsdUJBQXlCO0FBQ3JDLFlBQVlDLGdCQUFrQjtBQUM5QixZQUFZQyxtQkFBcUI7QUFDakMsWUFBWSxTQUFXO0FBQ3ZCLFlBQVksWUFBYztBQUMxQixZQUFZQyxrQ0FBb0M7QUFDaEQsWUFBWSxjQUFnQjtBQUM1QixZQUFZLFdBQWE7QUFDekIsWUFBWSxXQUFhO0FBQ3pCLFlBQVksZUFBaUI7QUFDN0IsWUFBWUMsbUJBQXFCO0FBQ2pDLFlBQVlDLGtCQUFvQjtBQUNoQyxZQUFZQywyQkFBNkI7QUFDekMsWUFBWUMsd0JBQTBCO0FBQ3RDLFlBQVlDLGdCQUFrQjtBQUM5QixZQUFZQyxzQkFBd0I7QUFDcEMsWUFBWUMsK0JBQWlDO0FBQzdDLFlBQVksZ0JBQWtCO0FBQzlCLFlBQVlDLGtCQUFvQjtBQUNoQyxZQUFZQyx1QkFBeUI7QUFDckMsWUFBWSxXQUFhO0FBQ3pCLFlBQVlDLG9CQUFzQjtBQUNsQyxZQUFZLGVBQWlCOyIsCiAgIm5hbWVzIjogWyJhY3RpdmUtZmlsZS1wcm92aWRlciIsICJhc3luYy13aXRoLW5vdGljZSIsICJhdHRhY2htZW50LXBhdGgiLCAiYmFzZXMtdmlldy1yZWdpc3RyYXIiLCAiY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4IiwgImNvZGUtYmxvY2stbWFya2Rvd24taW5mb3JtYXRpb24iLCAiY29kZS1ibG9jay1yZWctZXhwIiwgImNvbW1hbmQtaGFuZGxlcnMiLCAiY29tbWFuZC1yZWdpc3RyYXIiLCAiY29tbXVuaXR5LXBsdWdpbnMiLCAiY3NzLWNsYXNzIiwgImRhdGEtaGFuZGxlciIsICJkYXRhdmlldy1saW5rIiwgImRlbW8tdmF1bHQtaGVscGVyLXNldHRpbmdzIiwgImRlbW8tdmF1bHQtaGVscGVyIiwgImRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIiLCAiZGVza3RvcC10cnVzdGVkLWlucHV0IiwgImVkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyIiwgImVkaXRvci1zdWdnZXN0LXJlZ2lzdHJhciIsICJleHRlbnNpb25zLXJlZ2lzdHJhciIsICJmaWxlLWNoYW5nZSIsICJmaWxlLW1hbmFnZXIiLCAiZmlsZS1zeXN0ZW0iLCAiZm9sZGVyLW5vdGUiLCAiZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMiLCAiaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyIiwgImh0bWwtZWxlbWVudCIsICJpcy1pbi1vYnNpZGlhbiIsICJsaW5rLXVwZGF0ZS1wcm9ncmVzcyIsICJtYXJrZG93bi1jb2RlLWJsb2NrLXByb2Nlc3Nvci1yZWdpc3RyYXIiLCAibWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IiLCAibWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyIiwgIm1hcmtkb3duLXZpZXciLCAibWVudS1ldmVudC1yZWdpc3RyYXIiLCAibWV0YWRhdGEtY2FjaGUiLCAibm90ZWJvb2stbmF2aWdhdG9yIiwgIm9ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyIiwgIm9ic2lkaWFuLXNldHRpbmdzIiwgInBhcnNlLWxpbmsiLCAicGF0aC1zZXR0aW5ncyIsICJwbHVnaW4tY2xpLWhhbmRsZXItcmVnaXN0cmFyIiwgInJlc291cmNlLWxvY2siLCAicmVzb3VyY2UtdXJsIiwgInJpYmJvbi1pY29uLXJlZ2lzdHJhciIsICJzZXR0aW5nLWNvbXBvbmVudHMiLCAic2V0dGluZy1leCIsICJzZXR0aW5nLWdyb3VwLWV4IiwgInN0YXR1cy1iYXItaXRlbS1yZWdpc3RyYXIiLCAidmF1bHQtZGVsZXRlIiwgInZhdWx0LXRyYW5zYWN0aW9uIiwgInZpZXctcmVnaXN0cmFyIl0KfQo=
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This module provides utility functions for processing Markdown content in Obsidian.
|
|
6
6
|
*/
|
|
7
|
-
import type { App } from 'obsidian';
|
|
7
|
+
import type { App, TFolder } from 'obsidian';
|
|
8
8
|
import { Component } from 'obsidian';
|
|
9
9
|
import type { PathOrAbstractFile } from './file-system.mjs';
|
|
10
|
+
import type { FolderNoteLocation } from './folder-note.mjs';
|
|
10
11
|
/**
|
|
11
12
|
* The params for the full render.
|
|
12
13
|
*/
|
|
@@ -95,6 +96,39 @@ export interface RenderExternalLinkParams {
|
|
|
95
96
|
*/
|
|
96
97
|
readonly url: string;
|
|
97
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* The folder-note setup {@link renderInternalLink} resolves a folder link's note with — everything
|
|
101
|
+
* {@link resolveFolderNoteConfig} takes except the app, which the link already carries.
|
|
102
|
+
*/
|
|
103
|
+
export interface RenderInternalLinkFolderNoteOptions {
|
|
104
|
+
/**
|
|
105
|
+
* The extensions a folder note may carry. See {@link ResolveFolderNoteConfigParams.extensions}.
|
|
106
|
+
*
|
|
107
|
+
* @default `['md']`
|
|
108
|
+
*/
|
|
109
|
+
readonly extensions?: readonly string[];
|
|
110
|
+
/**
|
|
111
|
+
* Whether the folder note is hidden in the file explorer. See
|
|
112
|
+
* {@link ResolveFolderNoteConfigParams.isHidden}.
|
|
113
|
+
*
|
|
114
|
+
* @default `false`
|
|
115
|
+
*/
|
|
116
|
+
readonly isHidden?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Where the note sits relative to its folder. See {@link ResolveFolderNoteConfigParams.location}.
|
|
119
|
+
*
|
|
120
|
+
* @default {@link FolderNoteLocation.Auto}
|
|
121
|
+
*/
|
|
122
|
+
readonly location?: FolderNoteLocation;
|
|
123
|
+
/**
|
|
124
|
+
* Names the folder note of a folder. See {@link ResolveFolderNoteConfigParams.resolveName}.
|
|
125
|
+
*
|
|
126
|
+
* @param folder - The folder whose note is being named.
|
|
127
|
+
* @returns The note's name.
|
|
128
|
+
* @default `(folder) => folder.name`
|
|
129
|
+
*/
|
|
130
|
+
resolveName?(this: void, folder: TFolder): string;
|
|
131
|
+
}
|
|
98
132
|
/**
|
|
99
133
|
* Parameters for {@link renderInternalLink}.
|
|
100
134
|
*/
|
|
@@ -107,10 +141,31 @@ export interface RenderInternalLinkParams {
|
|
|
107
141
|
* The text to display for the internal link.
|
|
108
142
|
*/
|
|
109
143
|
readonly displayText?: string;
|
|
144
|
+
/**
|
|
145
|
+
* How to answer which note is a folder's folder note, when the link names a FOLDER.
|
|
146
|
+
*
|
|
147
|
+
* Omitted means {@link FolderNoteLocation.Auto}: the installed `folder-notes` plugin's live
|
|
148
|
+
* configuration, or a note named after its folder, inside it, when that plugin is absent. Pass
|
|
149
|
+
* `{ location: FolderNoteLocation.None }` for a folder link that must only ever reveal.
|
|
150
|
+
*
|
|
151
|
+
* @default `{}`
|
|
152
|
+
*/
|
|
153
|
+
readonly folderNote?: RenderInternalLinkFolderNoteOptions;
|
|
110
154
|
/**
|
|
111
155
|
* The path or abstract file to render the internal link for.
|
|
112
156
|
*/
|
|
113
157
|
readonly pathOrAbstractFile: PathOrAbstractFile;
|
|
158
|
+
/**
|
|
159
|
+
* Whether clicking a FILE link also highlights that file in the file explorer, on top of the open
|
|
160
|
+
* Obsidian's own link handler performs.
|
|
161
|
+
*
|
|
162
|
+
* Opt-in, unlike the folder branch: a folder link has always revealed (revealing was all its click
|
|
163
|
+
* could mean), whereas a file link has always only opened — so turning this on by default would change
|
|
164
|
+
* what every existing caller's link does.
|
|
165
|
+
*
|
|
166
|
+
* @default `false`
|
|
167
|
+
*/
|
|
168
|
+
readonly shouldRevealFile?: boolean;
|
|
114
169
|
}
|
|
115
170
|
/**
|
|
116
171
|
* Render the markdown and embeds.
|
|
@@ -142,6 +197,20 @@ export declare function renderExternalLink(params: RenderExternalLinkParams): Pr
|
|
|
142
197
|
/**
|
|
143
198
|
* Renders an internal link.
|
|
144
199
|
*
|
|
200
|
+
* What clicking the rendered link does depends on what it names:
|
|
201
|
+
*
|
|
202
|
+
* - A FILE is opened by Obsidian's own link handler — and, with
|
|
203
|
+
* {@link RenderInternalLinkParams.shouldRevealFile}, additionally revealed in the file explorer.
|
|
204
|
+
* - A FOLDER cannot be opened, so its FOLDER NOTE is — the note whose properties describe the folder
|
|
205
|
+
* itself, resolved through {@link resolveFolderNote} (by default from the installed `folder-notes`
|
|
206
|
+
* plugin's live configuration). The reveal lands on that note, unless the note is hidden in the
|
|
207
|
+
* explorer, in which case it lands on the folder — revealing a hidden note would highlight nothing.
|
|
208
|
+
* A folder with NO folder note reveals the folder and opens nothing: nothing here ever creates a note.
|
|
209
|
+
*
|
|
210
|
+
* Everything is resolved at CLICK time rather than at render time, deliberately: a rendered link outlives
|
|
211
|
+
* the operation that produced it, so a destination renamed in between still reveals the right item, and a
|
|
212
|
+
* folder note written after the link appeared is still found.
|
|
213
|
+
*
|
|
145
214
|
* @param params - The parameters for rendering the internal link.
|
|
146
215
|
* @returns The HTMLAnchorElement containing the rendered internal link.
|
|
147
216
|
*/
|
|
@@ -73,7 +73,10 @@ import {
|
|
|
73
73
|
MarkdownPreviewRenderer,
|
|
74
74
|
MarkdownRenderer
|
|
75
75
|
} from "obsidian";
|
|
76
|
-
import {
|
|
76
|
+
import {
|
|
77
|
+
invokeAsyncSafely,
|
|
78
|
+
sleep
|
|
79
|
+
} from "../async.mjs";
|
|
77
80
|
import {
|
|
78
81
|
getZIndex,
|
|
79
82
|
waitUntilConnected
|
|
@@ -84,8 +87,14 @@ import { getDomEventsHandlersConstructor } from "./constructors/get-dom-events-h
|
|
|
84
87
|
import {
|
|
85
88
|
getAbstractFileOrNull,
|
|
86
89
|
getPath,
|
|
90
|
+
isFile,
|
|
87
91
|
isFolder
|
|
88
92
|
} from "./file-system.mjs";
|
|
93
|
+
import {
|
|
94
|
+
resolveFolderNote,
|
|
95
|
+
resolveFolderNoteConfig
|
|
96
|
+
} from "./folder-note.mjs";
|
|
97
|
+
const DELAY_BEFORE_OPEN_IN_MILLISECONDS = 200;
|
|
89
98
|
const moduleState = {
|
|
90
99
|
domEventsHandlersConstructor: null
|
|
91
100
|
};
|
|
@@ -224,7 +233,9 @@ async function renderExternalLink(params) {
|
|
|
224
233
|
async function renderInternalLink(params) {
|
|
225
234
|
const {
|
|
226
235
|
app,
|
|
227
|
-
|
|
236
|
+
folderNote,
|
|
237
|
+
pathOrAbstractFile,
|
|
238
|
+
shouldRevealFile
|
|
228
239
|
} = params;
|
|
229
240
|
const abstractFile = getAbstractFileOrNull({ app, pathOrFile: pathOrAbstractFile });
|
|
230
241
|
const path = getPath(app, pathOrAbstractFile);
|
|
@@ -233,7 +244,12 @@ async function renderInternalLink(params) {
|
|
|
233
244
|
return createEl("a", { text: displayText }, (aEl2) => {
|
|
234
245
|
aEl2.addEventListener("click", ($event) => {
|
|
235
246
|
$event.preventDefault();
|
|
236
|
-
app
|
|
247
|
+
const config = resolveFolderNoteConfig({ app, ...folderNote });
|
|
248
|
+
const folderNoteFile = resolveFolderNote({ app, config, folder: abstractFile });
|
|
249
|
+
revealInFileExplorer(app, folderNoteFile && !config.isHidden ? folderNoteFile : abstractFile);
|
|
250
|
+
if (folderNoteFile) {
|
|
251
|
+
invokeAsyncSafely(() => openAfterSettling(app, folderNoteFile));
|
|
252
|
+
}
|
|
237
253
|
});
|
|
238
254
|
});
|
|
239
255
|
}
|
|
@@ -248,8 +264,23 @@ async function renderInternalLink(params) {
|
|
|
248
264
|
app,
|
|
249
265
|
el: aEl
|
|
250
266
|
});
|
|
267
|
+
if (shouldRevealFile ?? false) {
|
|
268
|
+
aEl.addEventListener("click", () => {
|
|
269
|
+
const file = getAbstractFileOrNull({ app, pathOrFile: pathOrAbstractFile });
|
|
270
|
+
if (isFile(file)) {
|
|
271
|
+
revealInFileExplorer(app, file);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
251
275
|
return aEl;
|
|
252
276
|
}
|
|
277
|
+
async function openAfterSettling(app, file) {
|
|
278
|
+
await sleep({ milliseconds: DELAY_BEFORE_OPEN_IN_MILLISECONDS });
|
|
279
|
+
await app.workspace.getLeaf().openFile(file, { active: true });
|
|
280
|
+
}
|
|
281
|
+
function revealInFileExplorer(app, abstractFile) {
|
|
282
|
+
app.internalPlugins.getEnabledPluginById(InternalPluginName.FileExplorer)?.revealInFolder(abstractFile);
|
|
283
|
+
}
|
|
253
284
|
export {
|
|
254
285
|
fullRender,
|
|
255
286
|
markdownToHtml,
|
|
@@ -257,4 +288,4 @@ export {
|
|
|
257
288
|
renderExternalLink,
|
|
258
289
|
renderInternalLink
|
|
259
290
|
};
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVlcGx5IGNvdXBsZWQgdG8gT2JzaWRpYW4gcnVudGltZTsgcmVxdWlyZXMgcnVubmluZyB2YXVsdCBmb3IgbWVhbmluZ2Z1bCB0ZXN0aW5nLiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIERvbUV2ZW50c0hhbmRsZXJzLFxuICBEb21FdmVudHNIYW5kbGVyc0luZm8sXG4gIEVtYmVkUmVnaXN0cnlFbWJlZEJ5RXh0ZW5zaW9uUmVjb3JkXG59IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QnO1xuaW1wb3J0IHR5cGUgeyBFeHRyYWN0Q29uc3RydWN0b3IgfSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgSW50ZXJuYWxQbHVnaW5OYW1lIH0gZnJvbSAnQG9ic2lkaWFuLXR5cGluZ3Mvb2JzaWRpYW4tcHVibGljLWxhdGVzdC9pbXBsZW1lbnRhdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3ZlclBvcG92ZXIsXG4gIE1hcmtkb3duUHJldmlld1JlbmRlcmVyLFxuICBNYXJrZG93blJlbmRlcmVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQYXRoT3JBYnN0cmFjdEZpbGUgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcblxuaW1wb3J0IHsgaW52b2tlQXN5bmNTYWZlbHkgfSBmcm9tICcuLi9hc3luYy50cyc7XG5pbXBvcnQge1xuICBnZXRaSW5kZXgsXG4gIHdhaXRVbnRpbENvbm5lY3RlZFxufSBmcm9tICcuLi9odG1sLWVsZW1lbnQudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vb2JqZWN0LXV0aWxzLnRzJztcbmltcG9ydCB7IE1vbmtleUFyb3VuZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb25rZXktYXJvdW5kLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBnZXREb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3RvcnMvZ2V0LWRvbS1ldmVudHMtaGFuZGxlcnMtY29uc3RydWN0b3IudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRQYXRoLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcblxudHlwZSBEb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yID0gRXh0cmFjdENvbnN0cnVjdG9yPERvbUV2ZW50c0hhbmRsZXJzPjtcblxuLyoqXG5Nb2R1bGUtbGV2ZWwgbXV0YWJsZSBzdGF0ZSwgaGVsZCBpbiBvbmUgb2JqZWN0IHNvIGVhY2ggbXV0YXRpb24gbmFtZXMgaXQgZXhwbGljaXRseS5cbiAqL1xuaW50ZXJmYWNlIE1vZHVsZVN0YXRlIHtcbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB8IG51bGw7XG59XG5cbmNvbnN0IG1vZHVsZVN0YXRlOiBNb2R1bGVTdGF0ZSA9IHtcbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogbnVsbFxufTtcbi8qKlxuICogVGhlIHBhcmFtcyBmb3IgdGhlIGZ1bGwgcmVuZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxSZW5kZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29tcG9uZW50IGluc3RhbmNlIHRvIHVzZSBmb3IgdGhlIHJlbmRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudD86IENvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIEhUTUxFbGVtZW50IHRvIHJlbmRlciB0by5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIE1hcmtkb3duIHN0cmluZyB0byByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSBtYXJrZG93bjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSByZW5kZXJlZCBlbGVtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCB0byByZXNvbHZlIHJlbGF0aXZlIGxpbmtzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJy8nYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgbWFya2Rvd25Ub0h0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtkb3duVG9IdG1sUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIE1hcmtkb3duIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWFya2Rvd246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlZ2lzdGVyTGlua0hhbmRsZXJzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckxpbmtIYW5kbGVyc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MRWxlbWVudCB0byByZWdpc3RlciBsaW5rIGhhbmRsZXJzIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVuZGVyRXh0ZXJuYWxMaW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJFeHRlcm5hbExpbmtQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGZvciB0aGUgZXh0ZXJuYWwgbGluay5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlUZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIHRvIHJlbmRlciB0aGUgZXh0ZXJuYWwgbGluayBmb3IuXG4gICAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVuZGVySW50ZXJuYWxMaW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJJbnRlcm5hbExpbmtQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGZvciB0aGUgaW50ZXJuYWwgbGluay5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlUZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJlbmRlciB0aGUgaW50ZXJuYWwgbGluayBmb3IuXG4gICAqL1xuICByZWFkb25seSBwYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZTtcbn1cblxuaW50ZXJmYWNlIEZpeGVkWkluZGV4RG9tRXZlbnRzSGFuZGxlcnNJbmZvQ29uc3RydWN0b3JQYXJhbXMge1xuICByZWFkb25seSBhcHA6IEFwcDtcbiAgcmVhZG9ubHkgZWw6IEhUTUxFbGVtZW50O1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmNsYXNzIEVtYmVkQnlFeHRlbnNpb25NZFBhdGNoQ29tcG9uZW50IGV4dGVuZHMgTW9ua2V5QXJvdW5kQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZW1iZWRCeUV4dGVuc2lvbjogRW1iZWRSZWdpc3RyeUVtYmVkQnlFeHRlbnNpb25SZWNvcmQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9ubG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyTWV0aG9kUGF0Y2goe1xuICAgICAgJG9iamVjdDogdGhpcy5lbWJlZEJ5RXh0ZW5zaW9uLFxuICAgICAgbWV0aG9kTmFtZTogJ21kJyxcbiAgICAgIHBhdGNoSGFuZGxlcjogKHtcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICAgIG9yaWdpbmFsQXJndW1lbnRzOiBbY29udGV4dF1cbiAgICAgIH0pID0+IHtcbiAgICAgICAgY29udGV4dC5kaXNwbGF5TW9kZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gZmFsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyBpbXBsZW1lbnRzIERvbUV2ZW50c0hhbmRsZXJzSW5mbyB7XG4gIHB1YmxpYyByZWFkb25seSBhcHA6IEFwcDtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgcHVibGljIGdldCBob3ZlclBvcG92ZXIoKTogSG92ZXJQb3BvdmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdmVyUG9wb3ZlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaG92ZXJQb3BvdmVyKGhvdmVyUG9wb3ZlcjogSG92ZXJQb3BvdmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvdmVyUG9wb3ZlciA9IGhvdmVyUG9wb3ZlcjtcbiAgICBpZiAoaG92ZXJQb3BvdmVyICYmIHRoaXMuekluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhvdmVyUG9wb3Zlci5ob3ZlckVsLnNldENzc1N0eWxlcyh7XG4gICAgICAgIHpJbmRleDogU3RyaW5nKHRoaXMuekluZGV4KVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaG92ZXJQb3BvdmVyOiBIb3ZlclBvcG92ZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIHpJbmRleD86IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mb0NvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgdGhpcy5hcHAgPSBwYXJhbXMuYXBwO1xuICAgIHRoaXMucGF0aCA9IHBhcmFtcy5wYXRoO1xuICAgIHRoaXMuZWwgPSBwYXJhbXMuZWw7XG5cbiAgICBpbnZva2VBc3luY1NhZmVseShhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB3YWl0VW50aWxDb25uZWN0ZWQodGhpcy5lbCk7XG4gICAgICB0aGlzLnVwZGF0ZVpJbmRleCh0aGlzLmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlWkluZGV4KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy56SW5kZXggPSBnZXRaSW5kZXgoZWxlbWVudCkgKyAxO1xuICB9XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBtYXJrZG93biBhbmQgZW1iZWRzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bGwgcmVuZGVyLlxuICogQHJldHVybnMgVGhlIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bGwgcmVuZGVyIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZnVsbFJlbmRlcihwYXJhbXM6IEZ1bGxSZW5kZXJQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgc291cmNlUGF0aCA9IHBhcmFtcy5zb3VyY2VQYXRoID8/ICcvJztcbiAgbGV0IHNob3VsZFVubG9hZENvbXBvbmVudCA9IGZhbHNlO1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnQ7XG4gIGlmIChwYXJhbXMuY29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50ID0gcGFyYW1zLmNvbXBvbmVudDtcbiAgfSBlbHNlIHtcbiAgICBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50KCk7XG4gICAgY29tcG9uZW50LmxvYWQoKTtcbiAgICBzaG91bGRVbmxvYWRDb21wb25lbnQgPSB0cnVlO1xuICB9XG5cbiAgdXNpbmcgXyA9IGNvbXBvbmVudC5hZGRDaGlsZChuZXcgRW1iZWRCeUV4dGVuc2lvbk1kUGF0Y2hDb21wb25lbnQocGFyYW1zLmFwcC5lbWJlZFJlZ2lzdHJ5LmVtYmVkQnlFeHRlbnNpb24pKTtcblxuICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihwYXJhbXMuYXBwLCBwYXJhbXMubWFya2Rvd24sIHBhcmFtcy5lbCwgc291cmNlUGF0aCwgY29tcG9uZW50KTtcblxuICBpZiAoc2hvdWxkVW5sb2FkQ29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50LnVubG9hZCgpO1xuICB9XG5cbiAgaWYgKHBhcmFtcy5zaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycykge1xuICAgIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxSZWdpc3RlckxpbmtIYW5kbGVyc1BhcmFtcz4oe1xuICAgICAgYXBwOiBwYXJhbXMuYXBwLFxuICAgICAgZWw6IHBhcmFtcy5lbCxcbiAgICAgIHNvdXJjZVBhdGg6IHBhcmFtcy5zb3VyY2VQYXRoXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgTWFya2Rvd24gdG8gSFRNTC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjb252ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIEhUTUwgc3RyaW5nLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFya2Rvd25Ub0h0bWwocGFyYW1zOiBNYXJrZG93blRvSHRtbFBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbWFya2Rvd24sXG4gICAgc291cmNlUGF0aFxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50KCk7XG4gIGNvbXBvbmVudC5sb2FkKCk7XG4gIGNvbnN0IHJlbmRlckRpdiA9IGNyZWF0ZURpdigpO1xuICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihhcHAsIG1hcmtkb3duLCByZW5kZXJEaXYsIHNvdXJjZVBhdGggPz8gJycsIGNvbXBvbmVudCk7XG4gIGNvbnN0IGh0bWwgPSByZW5kZXJEaXYuaW5uZXJIVE1MO1xuICBjb21wb25lbnQudW5sb2FkKCk7XG4gIHJldHVybiBodG1sO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBsaW5rIGhhbmRsZXJzIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHJlZ2lzdGVyaW5nIGxpbmsgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWdpc3RlckxpbmtIYW5kbGVycyhwYXJhbXM6IFJlZ2lzdGVyTGlua0hhbmRsZXJzUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZWwsXG4gICAgc291cmNlUGF0aFxuICB9ID0gcGFyYW1zO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgbW9kdWxlU3RhdGUuZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA/Pz0gYXdhaXQgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihhcHApO1xuICBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cyhcbiAgICBlbCxcbiAgICBuZXcgbW9kdWxlU3RhdGUuZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihcbiAgICAgIG5ldyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyh7XG4gICAgICAgIGFwcCxcbiAgICAgICAgZWwsXG4gICAgICAgIHBhdGg6IHNvdXJjZVBhdGggPz8gJydcbiAgICAgIH0pXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYW4gZXh0ZXJuYWwgbGluay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHJlbmRlcmluZyB0aGUgZXh0ZXJuYWwgbGluay5cbiAqIEByZXR1cm5zIFRoZSBIVE1MQW5jaG9yRWxlbWVudCBjb250YWluaW5nIHRoZSByZW5kZXJlZCBleHRlcm5hbCBsaW5rLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyRXh0ZXJuYWxMaW5rKHBhcmFtczogUmVuZGVyRXh0ZXJuYWxMaW5rUGFyYW1zKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHVybFxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBkaXNwbGF5VGV4dCA9IHBhcmFtcy5kaXNwbGF5VGV4dCA/PyB1cmw7XG4gIGNvbnN0IHdyYXBwZXJFbCA9IGNyZWF0ZVNwYW4oKTtcbiAgYXdhaXQgZnVsbFJlbmRlcih7XG4gICAgYXBwLFxuICAgIGVsOiB3cmFwcGVyRWwsXG4gICAgbWFya2Rvd246IGBbJHtkaXNwbGF5VGV4dH1dKCR7dXJsfSlgXG4gIH0pO1xuICBjb25zdCBhRWwgPSB3cmFwcGVyRWwuZmluZCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xuICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyh7XG4gICAgYXBwLFxuICAgIGVsOiBhRWxcbiAgfSk7XG4gIHJldHVybiBhRWw7XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBpbnRlcm5hbCBsaW5rLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcmVuZGVyaW5nIHRoZSBpbnRlcm5hbCBsaW5rLlxuICogQHJldHVybnMgVGhlIEhUTUxBbmNob3JFbGVtZW50IGNvbnRhaW5pbmcgdGhlIHJlbmRlcmVkIGludGVybmFsIGxpbmsuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXJJbnRlcm5hbExpbmsocGFyYW1zOiBSZW5kZXJJbnRlcm5hbExpbmtQYXJhbXMpOiBQcm9taXNlPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGF0aE9yQWJzdHJhY3RGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbCh7IGFwcCwgcGF0aE9yRmlsZTogcGF0aE9yQWJzdHJhY3RGaWxlIH0pO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGNvbnN0IGRpc3BsYXlUZXh0ID0gcGFyYW1zLmRpc3BsYXlUZXh0ID8/IHBhdGg7XG4gIGlmIChpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsKCdhJywgeyB0ZXh0OiBkaXNwbGF5VGV4dCB9LCAoYUVsKSA9PiB7XG4gICAgICBhRWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBhcHAuaW50ZXJuYWxQbHVnaW5zLmdldEVuYWJsZWRQbHVnaW5CeUlkKEludGVybmFsUGx1Z2luTmFtZS5GaWxlRXhwbG9yZXIpPy5yZXZlYWxJbkZvbGRlcihhYnN0cmFjdEZpbGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCB3cmFwcGVyRWwgPSBjcmVhdGVTcGFuKCk7XG4gIGF3YWl0IGZ1bGxSZW5kZXIoe1xuICAgIGFwcCxcbiAgICBlbDogd3JhcHBlckVsLFxuICAgIG1hcmtkb3duOiBgW1ske3BhdGh9fCR7ZGlzcGxheVRleHR9XV1gXG4gIH0pO1xuICBjb25zdCBhRWwgPSB3cmFwcGVyRWwuZmluZCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xuICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyh7XG4gICAgYXBwLFxuICAgIGVsOiBhRWxcbiAgfSk7XG4gIHJldHVybiBhRWw7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxTQUFTLDBCQUEwQjtBQUNuQztBQUFBLEVB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
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVlcGx5IGNvdXBsZWQgdG8gT2JzaWRpYW4gcnVudGltZTsgcmVxdWlyZXMgcnVubmluZyB2YXVsdCBmb3IgbWVhbmluZ2Z1bCB0ZXN0aW5nLiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIERvbUV2ZW50c0hhbmRsZXJzLFxuICBEb21FdmVudHNIYW5kbGVyc0luZm8sXG4gIEVtYmVkUmVnaXN0cnlFbWJlZEJ5RXh0ZW5zaW9uUmVjb3JkXG59IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QnO1xuaW1wb3J0IHR5cGUgeyBFeHRyYWN0Q29uc3RydWN0b3IgfSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBJbnRlcm5hbFBsdWdpbk5hbWUgfSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvdmVyUG9wb3ZlcixcbiAgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIsXG4gIE1hcmtkb3duUmVuZGVyZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHR5cGUgeyBGb2xkZXJOb3RlTG9jYXRpb24gfSBmcm9tICcuL2ZvbGRlci1ub3RlLnRzJztcblxuaW1wb3J0IHtcbiAgaW52b2tlQXN5bmNTYWZlbHksXG4gIHNsZWVwXG59IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7XG4gIGdldFpJbmRleCxcbiAgd2FpdFVudGlsQ29ubmVjdGVkXG59IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICcuLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgTW9ua2V5QXJvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldFBhdGgsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQge1xuICByZXNvbHZlRm9sZGVyTm90ZSxcbiAgcmVzb2x2ZUZvbGRlck5vdGVDb25maWdcbn0gZnJvbSAnLi9mb2xkZXItbm90ZS50cyc7XG5cbnR5cGUgRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA9IEV4dHJhY3RDb25zdHJ1Y3RvcjxEb21FdmVudHNIYW5kbGVycz47XG5cbi8qKlxuTW9kdWxlLWxldmVsIG11dGFibGUgc3RhdGUsIGhlbGQgaW4gb25lIG9iamVjdCBzbyBlYWNoIG11dGF0aW9uIG5hbWVzIGl0IGV4cGxpY2l0bHkuXG4gKi9cbmludGVyZmFjZSBNb2R1bGVTdGF0ZSB7XG4gIGRvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3I6IERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfCBudWxsO1xufVxuXG4vKipcbiAqIEhvdyBsb25nIHRvIGxldCBPYnNpZGlhbiBzZXR0bGUgYmVmb3JlIG9wZW5pbmcgYSBmb2xkZXIgbm90ZS4gVGhlIGNsaWNrIGNhbiBsYW5kIHJpZ2h0IGFmdGVyIGFuXG4gKiBvcGVyYXRpb24gdGhhdCBjcmVhdGVkLCByZXdyb3RlIGFuZCB0cmFzaGVkIG5vdGVzLCBhbmQgb3BlbmluZyBpbnRvIHRoZSBtaWRkbGUgb2YgT2JzaWRpYW4ncyBvd25cbiAqIHJlYWN0aW9uIHRvIHRoYXQgc2hvd3MgdGhlIG5vdGUgYmVmb3JlIGl0cyBtZXRhZGF0YSBoYXMgY2F1Z2h0IHVwLlxuICovXG5jb25zdCBERUxBWV9CRUZPUkVfT1BFTl9JTl9NSUxMSVNFQ09ORFMgPSAyMDA7XG5cbmNvbnN0IG1vZHVsZVN0YXRlOiBNb2R1bGVTdGF0ZSA9IHtcbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogbnVsbFxufTtcbi8qKlxuICogVGhlIHBhcmFtcyBmb3IgdGhlIGZ1bGwgcmVuZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxSZW5kZXJQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29tcG9uZW50IGluc3RhbmNlIHRvIHVzZSBmb3IgdGhlIHJlbmRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudD86IENvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIEhUTUxFbGVtZW50IHRvIHJlbmRlciB0by5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIE1hcmtkb3duIHN0cmluZyB0byByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSBtYXJrZG93bjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSByZW5kZXJlZCBlbGVtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCB0byByZXNvbHZlIHJlbGF0aXZlIGxpbmtzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJy8nYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgbWFya2Rvd25Ub0h0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtkb3duVG9IdG1sUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIE1hcmtkb3duIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWFya2Rvd246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlZ2lzdGVyTGlua0hhbmRsZXJzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckxpbmtIYW5kbGVyc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MRWxlbWVudCB0byByZWdpc3RlciBsaW5rIGhhbmRsZXJzIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVuZGVyRXh0ZXJuYWxMaW5rfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJFeHRlcm5hbExpbmtQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGZvciB0aGUgZXh0ZXJuYWwgbGluay5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlUZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIHRvIHJlbmRlciB0aGUgZXh0ZXJuYWwgbGluayBmb3IuXG4gICAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZm9sZGVyLW5vdGUgc2V0dXAge0BsaW5rIHJlbmRlckludGVybmFsTGlua30gcmVzb2x2ZXMgYSBmb2xkZXIgbGluaydzIG5vdGUgd2l0aCBcdTIwMTQgZXZlcnl0aGluZ1xuICoge0BsaW5rIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnfSB0YWtlcyBleGNlcHQgdGhlIGFwcCwgd2hpY2ggdGhlIGxpbmsgYWxyZWFkeSBjYXJyaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlckludGVybmFsTGlua0ZvbGRlck5vdGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb25zIGEgZm9sZGVyIG5vdGUgbWF5IGNhcnJ5LiBTZWUge0BsaW5rIFJlc29sdmVGb2xkZXJOb3RlQ29uZmlnUGFyYW1zLmV4dGVuc2lvbnN9LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgWydtZCddYFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZW5zaW9ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2xkZXIgbm90ZSBpcyBoaWRkZW4gaW4gdGhlIGZpbGUgZXhwbG9yZXIuIFNlZVxuICAgKiB7QGxpbmsgUmVzb2x2ZUZvbGRlck5vdGVDb25maWdQYXJhbXMuaXNIaWRkZW59LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBpc0hpZGRlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBub3RlIHNpdHMgcmVsYXRpdmUgdG8gaXRzIGZvbGRlci4gU2VlIHtAbGluayBSZXNvbHZlRm9sZGVyTm90ZUNvbmZpZ1BhcmFtcy5sb2NhdGlvbn0uXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b31cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uPzogRm9sZGVyTm90ZUxvY2F0aW9uO1xuXG4gIC8qKlxuICAgKiBOYW1lcyB0aGUgZm9sZGVyIG5vdGUgb2YgYSBmb2xkZXIuIFNlZSB7QGxpbmsgUmVzb2x2ZUZvbGRlck5vdGVDb25maWdQYXJhbXMucmVzb2x2ZU5hbWV9LlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVyIC0gVGhlIGZvbGRlciB3aG9zZSBub3RlIGlzIGJlaW5nIG5hbWVkLlxuICAgKiBAcmV0dXJucyBUaGUgbm90ZSdzIG5hbWUuXG4gICAqIEBkZWZhdWx0IGAoZm9sZGVyKSA9PiBmb2xkZXIubmFtZWBcbiAgICovXG4gIHJlc29sdmVOYW1lPyh0aGlzOiB2b2lkLCBmb2xkZXI6IFRGb2xkZXIpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlbmRlckludGVybmFsTGlua30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVySW50ZXJuYWxMaW5rUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBmb3IgdGhlIGludGVybmFsIGxpbmsuXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5VGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogSG93IHRvIGFuc3dlciB3aGljaCBub3RlIGlzIGEgZm9sZGVyJ3MgZm9sZGVyIG5vdGUsIHdoZW4gdGhlIGxpbmsgbmFtZXMgYSBGT0xERVIuXG4gICAqXG4gICAqIE9taXR0ZWQgbWVhbnMge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfTogdGhlIGluc3RhbGxlZCBgZm9sZGVyLW5vdGVzYCBwbHVnaW4ncyBsaXZlXG4gICAqIGNvbmZpZ3VyYXRpb24sIG9yIGEgbm90ZSBuYW1lZCBhZnRlciBpdHMgZm9sZGVyLCBpbnNpZGUgaXQsIHdoZW4gdGhhdCBwbHVnaW4gaXMgYWJzZW50LiBQYXNzXG4gICAqIGB7IGxvY2F0aW9uOiBGb2xkZXJOb3RlTG9jYXRpb24uTm9uZSB9YCBmb3IgYSBmb2xkZXIgbGluayB0aGF0IG11c3Qgb25seSBldmVyIHJldmVhbC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHt9YFxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVyTm90ZT86IFJlbmRlckludGVybmFsTGlua0ZvbGRlck5vdGVPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJlbmRlciB0aGUgaW50ZXJuYWwgbGluayBmb3IuXG4gICAqL1xuICByZWFkb25seSBwYXRoT3JBYnN0cmFjdEZpbGU6IFBhdGhPckFic3RyYWN0RmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciBjbGlja2luZyBhIEZJTEUgbGluayBhbHNvIGhpZ2hsaWdodHMgdGhhdCBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyLCBvbiB0b3Agb2YgdGhlIG9wZW5cbiAgICogT2JzaWRpYW4ncyBvd24gbGluayBoYW5kbGVyIHBlcmZvcm1zLlxuICAgKlxuICAgKiBPcHQtaW4sIHVubGlrZSB0aGUgZm9sZGVyIGJyYW5jaDogYSBmb2xkZXIgbGluayBoYXMgYWx3YXlzIHJldmVhbGVkIChyZXZlYWxpbmcgd2FzIGFsbCBpdHMgY2xpY2tcbiAgICogY291bGQgbWVhbiksIHdoZXJlYXMgYSBmaWxlIGxpbmsgaGFzIGFsd2F5cyBvbmx5IG9wZW5lZCBcdTIwMTQgc28gdHVybmluZyB0aGlzIG9uIGJ5IGRlZmF1bHQgd291bGQgY2hhbmdlXG4gICAqIHdoYXQgZXZlcnkgZXhpc3RpbmcgY2FsbGVyJ3MgbGluayBkb2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRSZXZlYWxGaWxlPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEZpeGVkWkluZGV4RG9tRXZlbnRzSGFuZGxlcnNJbmZvQ29uc3RydWN0b3JQYXJhbXMge1xuICByZWFkb25seSBhcHA6IEFwcDtcbiAgcmVhZG9ubHkgZWw6IEhUTUxFbGVtZW50O1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmNsYXNzIEVtYmVkQnlFeHRlbnNpb25NZFBhdGNoQ29tcG9uZW50IGV4dGVuZHMgTW9ua2V5QXJvdW5kQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZW1iZWRCeUV4dGVuc2lvbjogRW1iZWRSZWdpc3RyeUVtYmVkQnlFeHRlbnNpb25SZWNvcmQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9ubG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyTWV0aG9kUGF0Y2goe1xuICAgICAgJG9iamVjdDogdGhpcy5lbWJlZEJ5RXh0ZW5zaW9uLFxuICAgICAgbWV0aG9kTmFtZTogJ21kJyxcbiAgICAgIHBhdGNoSGFuZGxlcjogKHtcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICAgIG9yaWdpbmFsQXJndW1lbnRzOiBbY29udGV4dF1cbiAgICAgIH0pID0+IHtcbiAgICAgICAgY29udGV4dC5kaXNwbGF5TW9kZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gZmFsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyBpbXBsZW1lbnRzIERvbUV2ZW50c0hhbmRsZXJzSW5mbyB7XG4gIHB1YmxpYyByZWFkb25seSBhcHA6IEFwcDtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgcHVibGljIGdldCBob3ZlclBvcG92ZXIoKTogSG92ZXJQb3BvdmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdmVyUG9wb3ZlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaG92ZXJQb3BvdmVyKGhvdmVyUG9wb3ZlcjogSG92ZXJQb3BvdmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX2hvdmVyUG9wb3ZlciA9IGhvdmVyUG9wb3ZlcjtcbiAgICBpZiAoaG92ZXJQb3BvdmVyICYmIHRoaXMuekluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhvdmVyUG9wb3Zlci5ob3ZlckVsLnNldENzc1N0eWxlcyh7XG4gICAgICAgIHpJbmRleDogU3RyaW5nKHRoaXMuekluZGV4KVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaG92ZXJQb3BvdmVyOiBIb3ZlclBvcG92ZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIHpJbmRleD86IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mb0NvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgdGhpcy5hcHAgPSBwYXJhbXMuYXBwO1xuICAgIHRoaXMucGF0aCA9IHBhcmFtcy5wYXRoO1xuICAgIHRoaXMuZWwgPSBwYXJhbXMuZWw7XG5cbiAgICBpbnZva2VBc3luY1NhZmVseShhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB3YWl0VW50aWxDb25uZWN0ZWQodGhpcy5lbCk7XG4gICAgICB0aGlzLnVwZGF0ZVpJbmRleCh0aGlzLmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlWkluZGV4KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy56SW5kZXggPSBnZXRaSW5kZXgoZWxlbWVudCkgKyAxO1xuICB9XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBtYXJrZG93biBhbmQgZW1iZWRzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bGwgcmVuZGVyLlxuICogQHJldHVybnMgVGhlIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bGwgcmVuZGVyIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZnVsbFJlbmRlcihwYXJhbXM6IEZ1bGxSZW5kZXJQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgc291cmNlUGF0aCA9IHBhcmFtcy5zb3VyY2VQYXRoID8/ICcvJztcbiAgbGV0IHNob3VsZFVubG9hZENvbXBvbmVudCA9IGZhbHNlO1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnQ7XG4gIGlmIChwYXJhbXMuY29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50ID0gcGFyYW1zLmNvbXBvbmVudDtcbiAgfSBlbHNlIHtcbiAgICBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50KCk7XG4gICAgY29tcG9uZW50LmxvYWQoKTtcbiAgICBzaG91bGRVbmxvYWRDb21wb25lbnQgPSB0cnVlO1xuICB9XG5cbiAgdXNpbmcgXyA9IGNvbXBvbmVudC5hZGRDaGlsZChuZXcgRW1iZWRCeUV4dGVuc2lvbk1kUGF0Y2hDb21wb25lbnQocGFyYW1zLmFwcC5lbWJlZFJlZ2lzdHJ5LmVtYmVkQnlFeHRlbnNpb24pKTtcblxuICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihwYXJhbXMuYXBwLCBwYXJhbXMubWFya2Rvd24sIHBhcmFtcy5lbCwgc291cmNlUGF0aCwgY29tcG9uZW50KTtcblxuICBpZiAoc2hvdWxkVW5sb2FkQ29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50LnVubG9hZCgpO1xuICB9XG5cbiAgaWYgKHBhcmFtcy5zaG91bGRSZWdpc3RlckxpbmtIYW5kbGVycykge1xuICAgIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxSZWdpc3RlckxpbmtIYW5kbGVyc1BhcmFtcz4oe1xuICAgICAgYXBwOiBwYXJhbXMuYXBwLFxuICAgICAgZWw6IHBhcmFtcy5lbCxcbiAgICAgIHNvdXJjZVBhdGg6IHBhcmFtcy5zb3VyY2VQYXRoXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgTWFya2Rvd24gdG8gSFRNTC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjb252ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIEhUTUwgc3RyaW5nLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFya2Rvd25Ub0h0bWwocGFyYW1zOiBNYXJrZG93blRvSHRtbFBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgbWFya2Rvd24sXG4gICAgc291cmNlUGF0aFxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50KCk7XG4gIGNvbXBvbmVudC5sb2FkKCk7XG4gIGNvbnN0IHJlbmRlckRpdiA9IGNyZWF0ZURpdigpO1xuICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihhcHAsIG1hcmtkb3duLCByZW5kZXJEaXYsIHNvdXJjZVBhdGggPz8gJycsIGNvbXBvbmVudCk7XG4gIGNvbnN0IGh0bWwgPSByZW5kZXJEaXYuaW5uZXJIVE1MO1xuICBjb21wb25lbnQudW5sb2FkKCk7XG4gIHJldHVybiBodG1sO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBsaW5rIGhhbmRsZXJzIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHJlZ2lzdGVyaW5nIGxpbmsgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWdpc3RlckxpbmtIYW5kbGVycyhwYXJhbXM6IFJlZ2lzdGVyTGlua0hhbmRsZXJzUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgZWwsXG4gICAgc291cmNlUGF0aFxuICB9ID0gcGFyYW1zO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgbW9kdWxlU3RhdGUuZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA/Pz0gYXdhaXQgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihhcHApO1xuICBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cyhcbiAgICBlbCxcbiAgICBuZXcgbW9kdWxlU3RhdGUuZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihcbiAgICAgIG5ldyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyh7XG4gICAgICAgIGFwcCxcbiAgICAgICAgZWwsXG4gICAgICAgIHBhdGg6IHNvdXJjZVBhdGggPz8gJydcbiAgICAgIH0pXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYW4gZXh0ZXJuYWwgbGluay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHJlbmRlcmluZyB0aGUgZXh0ZXJuYWwgbGluay5cbiAqIEByZXR1cm5zIFRoZSBIVE1MQW5jaG9yRWxlbWVudCBjb250YWluaW5nIHRoZSByZW5kZXJlZCBleHRlcm5hbCBsaW5rLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyRXh0ZXJuYWxMaW5rKHBhcmFtczogUmVuZGVyRXh0ZXJuYWxMaW5rUGFyYW1zKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIHVybFxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBkaXNwbGF5VGV4dCA9IHBhcmFtcy5kaXNwbGF5VGV4dCA/PyB1cmw7XG4gIGNvbnN0IHdyYXBwZXJFbCA9IGNyZWF0ZVNwYW4oKTtcbiAgYXdhaXQgZnVsbFJlbmRlcih7XG4gICAgYXBwLFxuICAgIGVsOiB3cmFwcGVyRWwsXG4gICAgbWFya2Rvd246IGBbJHtkaXNwbGF5VGV4dH1dKCR7dXJsfSlgXG4gIH0pO1xuICBjb25zdCBhRWwgPSB3cmFwcGVyRWwuZmluZCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xuICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyh7XG4gICAgYXBwLFxuICAgIGVsOiBhRWxcbiAgfSk7XG4gIHJldHVybiBhRWw7XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBpbnRlcm5hbCBsaW5rLlxuICpcbiAqIFdoYXQgY2xpY2tpbmcgdGhlIHJlbmRlcmVkIGxpbmsgZG9lcyBkZXBlbmRzIG9uIHdoYXQgaXQgbmFtZXM6XG4gKlxuICogLSBBIEZJTEUgaXMgb3BlbmVkIGJ5IE9ic2lkaWFuJ3Mgb3duIGxpbmsgaGFuZGxlciBcdTIwMTQgYW5kLCB3aXRoXG4gKiAgIHtAbGluayBSZW5kZXJJbnRlcm5hbExpbmtQYXJhbXMuc2hvdWxkUmV2ZWFsRmlsZX0sIGFkZGl0aW9uYWxseSByZXZlYWxlZCBpbiB0aGUgZmlsZSBleHBsb3Jlci5cbiAqIC0gQSBGT0xERVIgY2Fubm90IGJlIG9wZW5lZCwgc28gaXRzIEZPTERFUiBOT1RFIGlzIFx1MjAxNCB0aGUgbm90ZSB3aG9zZSBwcm9wZXJ0aWVzIGRlc2NyaWJlIHRoZSBmb2xkZXJcbiAqICAgaXRzZWxmLCByZXNvbHZlZCB0aHJvdWdoIHtAbGluayByZXNvbHZlRm9sZGVyTm90ZX0gKGJ5IGRlZmF1bHQgZnJvbSB0aGUgaW5zdGFsbGVkIGBmb2xkZXItbm90ZXNgXG4gKiAgIHBsdWdpbidzIGxpdmUgY29uZmlndXJhdGlvbikuIFRoZSByZXZlYWwgbGFuZHMgb24gdGhhdCBub3RlLCB1bmxlc3MgdGhlIG5vdGUgaXMgaGlkZGVuIGluIHRoZVxuICogICBleHBsb3JlciwgaW4gd2hpY2ggY2FzZSBpdCBsYW5kcyBvbiB0aGUgZm9sZGVyIFx1MjAxNCByZXZlYWxpbmcgYSBoaWRkZW4gbm90ZSB3b3VsZCBoaWdobGlnaHQgbm90aGluZy5cbiAqICAgQSBmb2xkZXIgd2l0aCBOTyBmb2xkZXIgbm90ZSByZXZlYWxzIHRoZSBmb2xkZXIgYW5kIG9wZW5zIG5vdGhpbmc6IG5vdGhpbmcgaGVyZSBldmVyIGNyZWF0ZXMgYSBub3RlLlxuICpcbiAqIEV2ZXJ5dGhpbmcgaXMgcmVzb2x2ZWQgYXQgQ0xJQ0sgdGltZSByYXRoZXIgdGhhbiBhdCByZW5kZXIgdGltZSwgZGVsaWJlcmF0ZWx5OiBhIHJlbmRlcmVkIGxpbmsgb3V0bGl2ZXNcbiAqIHRoZSBvcGVyYXRpb24gdGhhdCBwcm9kdWNlZCBpdCwgc28gYSBkZXN0aW5hdGlvbiByZW5hbWVkIGluIGJldHdlZW4gc3RpbGwgcmV2ZWFscyB0aGUgcmlnaHQgaXRlbSwgYW5kIGFcbiAqIGZvbGRlciBub3RlIHdyaXR0ZW4gYWZ0ZXIgdGhlIGxpbmsgYXBwZWFyZWQgaXMgc3RpbGwgZm91bmQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciByZW5kZXJpbmcgdGhlIGludGVybmFsIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgSFRNTEFuY2hvckVsZW1lbnQgY29udGFpbmluZyB0aGUgcmVuZGVyZWQgaW50ZXJuYWwgbGluay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckludGVybmFsTGluayhwYXJhbXM6IFJlbmRlckludGVybmFsTGlua1BhcmFtcyk6IFByb21pc2U8SFRNTEFuY2hvckVsZW1lbnQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBmb2xkZXJOb3RlLFxuICAgIHBhdGhPckFic3RyYWN0RmlsZSxcbiAgICBzaG91bGRSZXZlYWxGaWxlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbCh7IGFwcCwgcGF0aE9yRmlsZTogcGF0aE9yQWJzdHJhY3RGaWxlIH0pO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGNvbnN0IGRpc3BsYXlUZXh0ID0gcGFyYW1zLmRpc3BsYXlUZXh0ID8/IHBhdGg7XG4gIGlmIChpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsKCdhJywgeyB0ZXh0OiBkaXNwbGF5VGV4dCB9LCAoYUVsKSA9PiB7XG4gICAgICBhRWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBjb25maWcgPSByZXNvbHZlRm9sZGVyTm90ZUNvbmZpZyh7IGFwcCwgLi4uZm9sZGVyTm90ZSB9KTtcbiAgICAgICAgY29uc3QgZm9sZGVyTm90ZUZpbGUgPSByZXNvbHZlRm9sZGVyTm90ZSh7IGFwcCwgY29uZmlnLCBmb2xkZXI6IGFic3RyYWN0RmlsZSB9KTtcbiAgICAgICAgcmV2ZWFsSW5GaWxlRXhwbG9yZXIoYXBwLCBmb2xkZXJOb3RlRmlsZSAmJiAhY29uZmlnLmlzSGlkZGVuID8gZm9sZGVyTm90ZUZpbGUgOiBhYnN0cmFjdEZpbGUpO1xuICAgICAgICBpZiAoZm9sZGVyTm90ZUZpbGUpIHtcbiAgICAgICAgICAvLyBBIERPTSBsaXN0ZW5lciBjYW5ub3QgYXdhaXQsIGFuZCB0aGUgb3BlbiBoYXMgdG8gb3V0bGl2ZSB0aGlzIGhhbmRsZXI6IGl0IHNldHRsZXMgZmlyc3QsIGZvclxuICAgICAgICAgIC8vIFRoZSBjbGljayB0aGF0IGxhbmRzIHJpZ2h0IGFzIGFuIG9wZXJhdGlvbiBmaW5pc2hlcyB3cml0aW5nLlxuICAgICAgICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IG9wZW5BZnRlclNldHRsaW5nKGFwcCwgZm9sZGVyTm90ZUZpbGUpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCB3cmFwcGVyRWwgPSBjcmVhdGVTcGFuKCk7XG4gIGF3YWl0IGZ1bGxSZW5kZXIoe1xuICAgIGFwcCxcbiAgICBlbDogd3JhcHBlckVsLFxuICAgIG1hcmtkb3duOiBgW1ske3BhdGh9fCR7ZGlzcGxheVRleHR9XV1gXG4gIH0pO1xuICBjb25zdCBhRWwgPSB3cmFwcGVyRWwuZmluZCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xuICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyh7XG4gICAgYXBwLFxuICAgIGVsOiBhRWxcbiAgfSk7XG4gIGlmIChzaG91bGRSZXZlYWxGaWxlID8/IGZhbHNlKSB7XG4gICAgYUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgLy8gTGF5ZXJlZCBPTiBUT1Agb2YgT2JzaWRpYW4ncyBvd24gaGFuZGxlciBcdTIwMTQgbm8gYHByZXZlbnREZWZhdWx0YCwgc28gdGhlIG9wZW4gaXMgdW50b3VjaGVkLiBBIHBhdGhcbiAgICAgIC8vIFRoYXQgcmVzb2x2ZXMgdG8gbm90aGluZyBnZXRzIG5vIHJldmVhbDogYW4gdW5yZXNvbHZlZCBsaW5rIGhhcyBub3RoaW5nIHRvIHJldmVhbCwgYW5kIGNsaWNraW5nXG4gICAgICAvLyBPbmUgQ1JFQVRFUyB0aGUgbm90ZSBpdCBuYW1lcy5cbiAgICAgIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHAsIHBhdGhPckZpbGU6IHBhdGhPckFic3RyYWN0RmlsZSB9KTtcbiAgICAgIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAgICAgcmV2ZWFsSW5GaWxlRXhwbG9yZXIoYXBwLCBmaWxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXR1cm4gYUVsO1xufVxuXG4vKipcbiAqIE9wZW5zIGEgZmlsZSBpbiB0aGUgYWN0aXZlIGxlYWYsIG9uY2UgdGhlIHZhdWx0IGhhcyBzZXR0bGVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBvcGVuLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBmaWxlIGlzIG9wZW4uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIG9wZW5BZnRlclNldHRsaW5nKGFwcDogQXBwLCBmaWxlOiBURmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBzbGVlcCh7IG1pbGxpc2Vjb25kczogREVMQVlfQkVGT1JFX09QRU5fSU5fTUlMTElTRUNPTkRTIH0pO1xuICBhd2FpdCBhcHAud29ya3NwYWNlLmdldExlYWYoKS5vcGVuRmlsZShmaWxlLCB7IGFjdGl2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBIaWdobGlnaHRzIGEgZmlsZSBvciBmb2xkZXIgaW4gdGhlIGZpbGUgZXhwbG9yZXIsIHdoZW4gdGhhdCBjb3JlIHBsdWdpbiBpcyBlbmFibGVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlciB0byByZXZlYWwuXG4gKi9cbmZ1bmN0aW9uIHJldmVhbEluRmlsZUV4cGxvcmVyKGFwcDogQXBwLCBhYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUpOiB2b2lkIHtcbiAgYXBwLmludGVybmFsUGx1Z2lucy5nZXRFbmFibGVkUGx1Z2luQnlJZChJbnRlcm5hbFBsdWdpbk5hbWUuRmlsZUV4cGxvcmVyKT8ucmV2ZWFsSW5Gb2xkZXIoYWJzdHJhY3RGaWxlKTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLFNBQVMsMEJBQTBCO0FBQ25DO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFLUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxtQ0FBbUM7QUFDNUMsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyx1Q0FBdUM7QUFDaEQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBZ0JQLE1BQU0sb0NBQW9DO0FBRTFDLE1BQU0sY0FBMkI7QUFBQSxFQUMvQiw4QkFBOEI7QUFDaEM7QUE4TEEsTUFBTSx5Q0FBeUMsc0JBQXNCO0FBQUEsRUFDNUQsWUFBNkIsa0JBQXVEO0FBQ3pGLFVBQU07QUFENEI7QUFBQSxFQUVwQztBQUFBLEVBRm9DO0FBQUEsRUFJcEIsU0FBZTtBQUM3QixTQUFLLG9CQUFvQjtBQUFBLE1BQ3ZCLFNBQVMsS0FBSztBQUFBLE1BQ2QsWUFBWTtBQUFBLE1BQ1osY0FBYyxDQUFDO0FBQUEsUUFDYjtBQUFBLFFBQ0EsbUJBQW1CLENBQUMsT0FBTztBQUFBLE1BQzdCLE1BQU07QUFDSixnQkFBUSxjQUFjO0FBQ3RCLGVBQU8sU0FBUztBQUFBLE1BQ2xCO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUNGO0FBRUEsTUFBTSxpQ0FBa0U7QUFBQSxFQUN0RDtBQUFBLEVBQ0E7QUFBQSxFQUNoQixJQUFXLGVBQW9DO0FBQzdDLFdBQU8sS0FBSztB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
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
import { noop } from "../../function.mjs";
|
|
33
33
|
import { CssClass } from "../css-class.mjs";
|
|
34
34
|
import { t } from "../i18n/i18n.mjs";
|
|
35
|
+
import { isSpellcheckEnabled } from "../obsidian-settings.mjs";
|
|
35
36
|
import {
|
|
36
37
|
ModalBase,
|
|
37
38
|
showModal
|
|
@@ -62,6 +63,7 @@ class PromptModal extends ModalBase {
|
|
|
62
63
|
this.titleEl.setText(this.title);
|
|
63
64
|
const textComponent = new TextComponent(this.contentEl);
|
|
64
65
|
const inputEl = textComponent.inputEl;
|
|
66
|
+
inputEl.setAttribute("spellcheck", String(isSpellcheckEnabled(this.app)));
|
|
65
67
|
const validate = async (shouldReport) => {
|
|
66
68
|
const errorMessage = await this.valueValidator(inputEl.value);
|
|
67
69
|
inputEl.setCustomValidity(errorMessage ?? "");
|
|
@@ -132,4 +134,4 @@ async function prompt(params) {
|
|
|
132
134
|
export {
|
|
133
135
|
prompt
|
|
134
136
|
};
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1vZGFsUGFyYW1zQmFzZVxufSBmcm9tICcuL21vZGFsLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcHJvbXB0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9tcHRQYXJhbXMgZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlZmF1bHQgdmFsdWUgdG8gcHJlLWZpbGwgdGhlIGlucHV0IGZpZWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogQSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPyh0aGlzOiB2b2lkLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+Pjtcbn1cblxudHlwZSBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zID0gTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8bnVsbCB8IHN0cmluZz4gJiBQcm9tcHRQYXJhbXM7XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgaXNPa0NsaWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1RvdWNoZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBva0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVWYWxpZGF0b3I6ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5Qcm9tcHRNb2RhbCk7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gcGFyYW1zLmNhbmNlbEJ1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKTtcbiAgICB0aGlzLm9rQnV0dG9uVGV4dCA9IHBhcmFtcy5va0J1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMub2spO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXIgPz8gJyc7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgICB0aGlzLnZhbHVlVmFsaWRhdG9yID0gcGFyYW1zLnZhbHVlVmFsaWRhdG9yID8/IG5vb3A7XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRleHRDb21wb25lbnQuaW5wdXRFbDtcblxuICAgIGNvbnN0IHZhbGlkYXRlID0gYXN5bmMgKHNob3VsZFJlcG9ydDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgdGhpcy52YWx1ZVZhbGlkYXRvcihpbnB1dEVsLnZhbHVlKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICBpZiAoc2hvdWxkUmVwb3J0KSB7XG4gICAgICAgIGlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlSW5wdXQgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICB0aGlzLm1hcmtUb3VjaGVkKGlucHV0RWwpO1xuICAgICAgYXdhaXQgdmFsaWRhdGUodHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgYXdhaXQgdmFsaWRhdGUodGhpcy5pc1RvdWNoZWQpO1xuICAgIH07XG5cbiAgICB0ZXh0Q29tcG9uZW50LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5zZWxlY3QoKTtcbiAgICB0ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHRoaXMucGxhY2Vob2xkZXIpO1xuICAgIGlucHV0RWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuVGV4dEJveCk7XG4gICAgLy8gVGhlIG1vZGFsIG9wZW5zIGludmFsaWQgYnkgZGVzaWduIChzZWUgYmVsb3cpLCBzbyB0aGUgaW52YWxpZCBzdHlsaW5nIGlzIGRlZmVycmVkIHVudGlsIHRvdWNoZWQuXG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5VbnRvdWNoZWQpO1xuICAgIHRleHRDb21wb25lbnQub25DaGFuZ2UoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgY29udmVydEFzeW5jVG9TeW5jKGhhbmRsZUlucHV0KSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGNvbnZlcnRBc3luY1RvU3luYyhoYW5kbGVGb2N1cykpO1xuICAgIC8vIFRoZSBtb2RhbCBtdXN0IHN0YXJ0IG91dCBpbnZhbGlkIHNvIE9LIHJlZnVzZXMsIGJ1dCB0aGUgdmFsaWRpdHkgaXMgbm90IHJlcG9ydGVkIHVudGlsIHRoZSB1c2VyIHR5cGVzIG9yIHN1Ym1pdHMuXG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gdmFsaWRhdGUoZmFsc2UpKTtcbiAgICBjb25zdCBva0J1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICB9KTtcbiAgICBva0J1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5Pa0J1dHRvbik7XG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5DYW5jZWxCdXR0b24pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPayhldmVudDogRXZlbnQsIHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGV4dENvbXBvbmVudC5pbnB1dEVsLmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgdGhpcy5tYXJrVG91Y2hlZCh0ZXh0Q29tcG9uZW50LmlucHV0RWwpO1xuICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrVG91Y2hlZChpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIGlucHV0RWwucmVtb3ZlQ2xhc3MoQ3NzQ2xhc3MuVW50b3VjaGVkKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuIHRvIGdldCB1c2VyIGlucHV0LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXNlciBpbnB1dCBvciBgbnVsbGAgaWYgdGhlIHByb21wdCB3YXMgY2FuY2VsbGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbXB0KHBhcmFtczogUHJvbXB0UGFyYW1zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IHN0cmluZz4oKHByb21pc2VSZXNvbHZlKSA9PlxuICAgIG5ldyBQcm9tcHRNb2RhbCh7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm9taXNlUmVzb2x2ZVxuICAgIH0pXG4gICk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBUVA7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLFlBQVk7QUFDckIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxTQUFTO0FBQ2xCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBZ0RQLE1BQU0sb0JBQW9CLFVBQXlCO0FBQUEsRUFDaEM7QUFBQSxFQUNULGNBQWM7QUFBQSxFQUNkLFlBQVk7QUFBQSxFQUNIO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNUO0FBQUEsRUFDUztBQUFBLEVBRVYsWUFBWSxRQUFzQztBQUN2RCxVQUFNLE1BQU07QUFDWixTQUFLLGNBQWMsU0FBUyxXQUFXO0FBQ3ZDLFNBQUssbUJBQW1CLE9BQU8sb0JBQW9CLEVBQUUsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLFFBQVEsTUFBTTtBQUM3RixTQUFLLGVBQWUsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxFQUFFO0FBQ2pGLFNBQUssY0FBYyxPQUFPLGVBQWU7QUFDekMsU0FBSyxRQUFRLE9BQU8sU0FBUztBQUM3QixTQUFLLGlCQUFpQixPQUFPLGtCQUFrQjtBQUMvQyxTQUFLLFFBQVEsT0FBTyxnQkFBZ0I7QUFBQSxFQUN0QztBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFNBQUssZUFBZSxLQUFLLGNBQWMsS0FBSyxRQUFRLElBQUk7QUFBQSxFQUMxRDtBQUFBLEVBRWdCLFNBQWU7QUFDN0IsU0FBSyxRQUFRLFFBQVEsS0FBSyxLQUFLO0FBQy9CLFVBQU0sZ0JBQWdCLElBQUksY0FBYyxLQUFLLFNBQVM7QUFDdEQsVUFBTSxVQUFVLGNBQWM7QUFFOUIsVUFBTSxXQUFXLE9BQU8saUJBQXlDO0FBQy9ELFlBQU0sZUFBZSxNQUFNLEtBQUssZUFBZSxRQUFRLEtBQUs7QUFDNUQsY0FBUSxrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDNUMsVUFBSSxjQUFjO0FBQ2hCLGdCQUFRLGVBQWU7QUFBQSxNQUN6QjtBQUFBLElBQ0Y7QUFFQSxVQUFNLGNBQWMsWUFBMkI7QUFDN0MsV0FBSyxZQUFZLE9BQU87QUFDeEIsWUFBTSxTQUFTLElBQUk7QUFBQSxJQUNyQjtBQUVBLFVBQU0sY0FBYyxZQUEyQjtBQUM3QyxZQUFNLFNBQVMsS0FBSyxTQUFTO0FBQUEsSUFDL0I7QUFFQSxrQkFBYyxTQUFTLEtBQUssS0FBSztBQUNqQyxrQkFBYyxRQUFRLE9BQU87QUFDN0Isa0JBQWMsZUFBZSxLQUFLLFdBQVc7QUFDN0MsWUFBUSxTQUFTLFNBQVMsT0FBTztBQUVqQyxZQUFRLFNBQVMsU0FBUyxTQUFTO0FBQ25DLGtCQUFjLFNBQVMsQ0FBQyxhQUFhO0FBQ25DLFdBQUssUUFBUTtBQUFBLElBQ2YsQ0FBQztBQUNELFlBQVEsaUJBQWlCLFdBQVcsQ0FBQyxVQUF5QjtBQUM1RCxVQUFJLE1BQU0sUUFBUSxTQUFTO0FBQ3pCLGFBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxNQUNwQyxXQUFXLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLGFBQUssTUFBTTtBQUFBLE1BQ2I7QUFBQSxJQUNGLENBQUM7QUFDRCxZQUFRLGlCQUFpQixTQUFTLG1CQUFtQixXQUFXLENBQUM7QUFDakUsWUFBUSxpQkFBaUIsU0FBUyxtQkFBbUIsV0FBVyxDQUFDO0FBRWpFLHNCQUFrQixNQUFNLFNBQVMsS0FBSyxDQUFDO0FBQ3ZDLFVBQU0sV0FBVyxJQUFJLGdCQUFnQixLQUFLLFNBQVM7QUFDbkQsYUFBUyxjQUFjLEtBQUssWUFBWTtBQUN4QyxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLENBQUMsVUFBVTtBQUMxQixXQUFLLFNBQVMsT0FBTyxhQUFhO0FBQUEsSUFDcEMsQ0FBQztBQUNELGFBQVMsU0FBUyxTQUFTLFFBQVE7QUFDbkMsVUFBTSxlQUFlLElBQUksZ0JBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssZ0JBQWdCO0FBQ2hELGlCQUFhLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQzFDLGlCQUFhLFNBQVMsU0FBUyxZQUFZO0FBQUEsRUFDN0M7QUFBQSxFQUVRLFNBQVMsT0FBYyxlQUFvQztBQUNqRSxVQUFNLGVBQWU7QUFDckIsUUFBSSxDQUFDLGNBQWMsUUFBUSxjQUFjLEdBQUc7QUFDMUMsV0FBSyxZQUFZLGNBQWMsT0FBTztBQUN0QyxvQkFBYyxRQUFRLGVBQWU7QUFDckM7QUFBQSxJQUNGO0FBRUEsU0FBSyxjQUFjO0FBQ25CLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFBQSxFQUVRLFlBQVksU0FBaUM7QUFDbkQsU0FBSyxZQUFZO0FBQ2pCLFlBQVEsWUFBWSxTQUFTLFNBQVM7QUFBQSxFQUN4QztBQUNGO0FBUUEsZUFBc0IsT0FBTyxRQUE4QztBQUN6RSxTQUFPLE1BQU07QUFBQSxJQUF5QixDQUFDLG1CQUNyQyxJQUFJLFlBQVk7QUFBQSxNQUNkLEdBQUc7QUFBQSxNQUNIO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1vZGFsUGFyYW1zQmFzZVxufSBmcm9tICcuL21vZGFsLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBpc1NwZWxsY2hlY2tFbmFibGVkIH0gZnJvbSAnLi4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHByb21wdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0UGFyYW1zIGV4dGVuZHMgTW9kYWxQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICB2YWx1ZVZhbGlkYXRvcj8odGhpczogdm9pZCwgdmFsdWU6IHN0cmluZyk6IFByb21pc2FibGU8TWF5YmVSZXR1cm48c3RyaW5nPj47XG59XG5cbnR5cGUgUHJvbXB0TW9kYWxDb25zdHJ1Y3RvclBhcmFtcyA9IE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zPG51bGwgfCBzdHJpbmc+ICYgUHJvbXB0UGFyYW1zO1xuXG5jbGFzcyBQcm9tcHRNb2RhbCBleHRlbmRzIE1vZGFsQmFzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNUb3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgb2tCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZTogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZykgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLmFkZENzc0NsYXNzZXMoQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IHBhcmFtcy5jYW5jZWxCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCk7XG4gICAgdGhpcy5va0J1dHRvblRleHQgPSBwYXJhbXMub2tCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLm9rKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGFyYW1zLnBsYWNlaG9sZGVyID8/ICcnO1xuICAgIHRoaXMudGl0bGUgPSBwYXJhbXMudGl0bGUgPz8gJyc7XG4gICAgdGhpcy52YWx1ZVZhbGlkYXRvciA9IHBhcmFtcy52YWx1ZVZhbGlkYXRvciA/PyBub29wO1xuICAgIHRoaXMudmFsdWUgPSBwYXJhbXMuZGVmYXVsdFZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZSh0aGlzLmlzT2tDbGlja2VkID8gdGhpcy52YWx1ZSA6IG51bGwpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlRWwuc2V0VGV4dCh0aGlzLnRpdGxlKTtcbiAgICBjb25zdCB0ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNvbnN0IGlucHV0RWwgPSB0ZXh0Q29tcG9uZW50LmlucHV0RWw7XG4gICAgLy8gYEFic3RyYWN0VGV4dENvbXBvbmVudGAgZm9yY2VzIGBzcGVsbGNoZWNrPVwiZmFsc2VcImAgb24gZXZlcnkgdGV4dCBjb21wb25lbnQsIHNvIHRoZSB2YXVsdCBzZXR0aW5nIGhhcyB0byBiZSByZS1hcHBsaWVkIGhlcmUuXG4gICAgLy8gT2JzaWRpYW4ncyBvd24gZmlsZSBleHBsb3JlciByZWFkcyB0aGUgc2FtZSBjb25maWcgd2hlbiBpdCBzdGFydHMgYW4gaW5saW5lIHJlbmFtZS5cbiAgICBpbnB1dEVsLnNldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycsIFN0cmluZyhpc1NwZWxsY2hlY2tFbmFibGVkKHRoaXMuYXBwKSkpO1xuXG4gICAgY29uc3QgdmFsaWRhdGUgPSBhc3luYyAoc2hvdWxkUmVwb3J0OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCB0aGlzLnZhbHVlVmFsaWRhdG9yKGlucHV0RWwudmFsdWUpIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgIGlmIChzaG91bGRSZXBvcnQpIHtcbiAgICAgICAgaW5wdXRFbC5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVJbnB1dCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIHRoaXMubWFya1RvdWNoZWQoaW5wdXRFbCk7XG4gICAgICBhd2FpdCB2YWxpZGF0ZSh0cnVlKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBhd2FpdCB2YWxpZGF0ZSh0aGlzLmlzVG91Y2hlZCk7XG4gICAgfTtcblxuICAgIHRleHRDb21wb25lbnQuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNlbGVjdCgpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICAvLyBUaGUgbW9kYWwgb3BlbnMgaW52YWxpZCBieSBkZXNpZ24gKHNlZSBiZWxvdyksIHNvIHRoZSBpbnZhbGlkIHN0eWxpbmcgaXMgZGVmZXJyZWQgdW50aWwgdG91Y2hlZC5cbiAgICBpbnB1dEVsLmFkZENsYXNzKENzc0NsYXNzLlVudG91Y2hlZCk7XG4gICAgdGV4dENvbXBvbmVudC5vbkNoYW5nZSgobmV3VmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9KTtcbiAgICBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmMoaGFuZGxlSW5wdXQpKTtcbiAgICBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgY29udmVydEFzeW5jVG9TeW5jKGhhbmRsZUZvY3VzKSk7XG4gICAgLy8gVGhlIG1vZGFsIG11c3Qgc3RhcnQgb3V0IGludmFsaWQgc28gT0sgcmVmdXNlcywgYnV0IHRoZSB2YWxpZGl0eSBpcyBub3QgcmVwb3J0ZWQgdW50aWwgdGhlIHVzZXIgdHlwZXMgb3Igc3VibWl0cy5cbiAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB2YWxpZGF0ZShmYWxzZSkpO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLmNhbmNlbEJ1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgY2FuY2VsQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLkNhbmNlbEJ1dHRvbik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICB0aGlzLm1hcmtUb3VjaGVkKHRleHRDb21wb25lbnQuaW5wdXRFbCk7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtUb3VjaGVkKGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IHRydWU7XG4gICAgaW5wdXRFbC5yZW1vdmVDbGFzcyhDc3NDbGFzcy5VbnRvdWNoZWQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1c2VyIGlucHV0IG9yIGBudWxsYCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQocGFyYW1zOiBQcm9tcHRQYXJhbXMpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgc3RyaW5nPigocHJvbWlzZVJlc29sdmUpID0+XG4gICAgbmV3IFByb21wdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFRUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsWUFBWTtBQUNyQixTQUFTLGdCQUFnQjtBQUN6QixTQUFTLFNBQVM7QUFDbEIsU0FBUywyQkFBMkI7QUFDcEM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFnRFAsTUFBTSxvQkFBb0IsVUFBeUI7QUFBQSxFQUNoQztBQUFBLEVBQ1QsY0FBYztBQUFBLEVBQ2QsWUFBWTtBQUFBLEVBQ0g7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ1Q7QUFBQSxFQUNTO0FBQUEsRUFFVixZQUFZLFFBQXNDO0FBQ3ZELFVBQU0sTUFBTTtBQUNaLFNBQUssY0FBYyxTQUFTLFdBQVc7QUFDdkMsU0FBSyxtQkFBbUIsT0FBTyxvQkFBb0IsRUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxNQUFNO0FBQzdGLFNBQUssZUFBZSxPQUFPLGdCQUFnQixFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLEVBQUU7QUFDakYsU0FBSyxjQUFjLE9BQU8sZUFBZTtBQUN6QyxTQUFLLFFBQVEsT0FBTyxTQUFTO0FBQzdCLFNBQUssaUJBQWlCLE9BQU8sa0JBQWtCO0FBQy9DLFNBQUssUUFBUSxPQUFPLGdCQUFnQjtBQUFBLEVBQ3RDO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsU0FBSyxlQUFlLEtBQUssY0FBYyxLQUFLLFFBQVEsSUFBSTtBQUFBLEVBQzFEO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLEtBQUs7QUFDL0IsVUFBTSxnQkFBZ0IsSUFBSSxjQUFjLEtBQUssU0FBUztBQUN0RCxVQUFNLFVBQVUsY0FBYztBQUc5QixZ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
|
|
@@ -16,6 +16,13 @@ export type NewLinkFormat = 'absolute' | 'relative' | 'shortest';
|
|
|
16
16
|
* @returns Whether to use relative links.
|
|
17
17
|
*/
|
|
18
18
|
export declare function getNewLinkFormat(app: App): NewLinkFormat;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieves whether the spellcheck is enabled based on the Obsidian settings.
|
|
21
|
+
*
|
|
22
|
+
* @param app - The Obsidian app instance.
|
|
23
|
+
* @returns Whether the spellcheck is enabled.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isSpellcheckEnabled(app: App): boolean;
|
|
19
26
|
/**
|
|
20
27
|
* Retrieves whether to use wikilinks based on the Obsidian settings.
|
|
21
28
|
*
|