obsidian-dev-utils 94.1.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 +4 -0
- package/dist/integration-test-plugin/main.js +251 -99
- package/dist/lib/cjs/__merged.cjs +10 -1
- package/dist/lib/cjs/__merged.d.cts +1 -0
- 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/esm/__merged.d.mts +1 -0
- package/dist/lib/esm/__merged.mjs +11 -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/obsidian/folder-note/package.json +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,253 @@
|
|
|
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 initCjs() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
const globalThisRecord = globalThis;
|
|
9
|
+
globalThisRecord['__name'] ??= name;
|
|
10
|
+
const originalRequire = require;
|
|
11
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
12
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
13
|
+
require = Object.assign(
|
|
14
|
+
(id) => requirePatched(id),
|
|
15
|
+
originalRequire,
|
|
16
|
+
{
|
|
17
|
+
__isPatched: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const newFuncs = {
|
|
23
|
+
__extractDefault() {
|
|
24
|
+
return extractDefault;
|
|
25
|
+
},
|
|
26
|
+
process() {
|
|
27
|
+
const browserProcess = {
|
|
28
|
+
browser: true,
|
|
29
|
+
cwd() {
|
|
30
|
+
return '/';
|
|
31
|
+
},
|
|
32
|
+
env: {},
|
|
33
|
+
platform: 'android'
|
|
34
|
+
};
|
|
35
|
+
return browserProcess;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const key of Object.keys(newFuncs)) {
|
|
40
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function extractDefault(module) {
|
|
44
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
48
|
+
'@codemirror/autocomplete',
|
|
49
|
+
'@codemirror/collab',
|
|
50
|
+
'@codemirror/commands',
|
|
51
|
+
'@codemirror/language',
|
|
52
|
+
'@codemirror/lint',
|
|
53
|
+
'@codemirror/search',
|
|
54
|
+
'@codemirror/state',
|
|
55
|
+
'@codemirror/text',
|
|
56
|
+
'@codemirror/view',
|
|
57
|
+
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
59
|
+
'@lezer/lr',
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
64
|
+
'@codemirror/closebrackets',
|
|
65
|
+
'@codemirror/comment',
|
|
66
|
+
'@codemirror/fold',
|
|
67
|
+
'@codemirror/gutter',
|
|
68
|
+
'@codemirror/highlight',
|
|
69
|
+
'@codemirror/history',
|
|
70
|
+
'@codemirror/matchbrackets',
|
|
71
|
+
'@codemirror/panel',
|
|
72
|
+
'@codemirror/rangeset',
|
|
73
|
+
'@codemirror/rectangular-selection',
|
|
74
|
+
'@codemirror/stream-parser',
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
function requirePatched(id) {
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
80
|
+
return originalRequire?.(id);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
84
|
+
if (globalThis.app.isMobile) {
|
|
85
|
+
if (id === 'process' || id === 'node:process') {
|
|
86
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
87
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
88
|
+
|
|
89
|
+
return process;
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
const module = originalRequire?.(id);
|
|
93
|
+
if (module) {
|
|
94
|
+
return extractDefault(module);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
99
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
})();
|
|
103
|
+
|
|
104
|
+
"use strict";
|
|
105
|
+
var __defProp = Object.defineProperty;
|
|
106
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
107
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
108
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
109
|
+
var __export = (target, all) => {
|
|
110
|
+
for (var name in all)
|
|
111
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
112
|
+
};
|
|
113
|
+
var __copyProps = (to, from, except, desc) => {
|
|
114
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
115
|
+
for (let key of __getOwnPropNames(from))
|
|
116
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
117
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
118
|
+
}
|
|
119
|
+
return to;
|
|
120
|
+
};
|
|
121
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
122
|
+
var folder_note_exports = {};
|
|
123
|
+
__export(folder_note_exports, {
|
|
124
|
+
FOLDER_NOTES_PLUGIN_ID: () => FOLDER_NOTES_PLUGIN_ID,
|
|
125
|
+
FolderNoteLocation: () => FolderNoteLocation,
|
|
126
|
+
resolveFolderNote: () => resolveFolderNote,
|
|
127
|
+
resolveFolderNoteConfig: () => resolveFolderNoteConfig
|
|
128
|
+
});
|
|
129
|
+
module.exports = __toCommonJS(folder_note_exports);
|
|
130
|
+
var import_obsidian = require('obsidian');
|
|
131
|
+
var import_path = require('../path.cjs');
|
|
132
|
+
var import_string = require('../string.cjs');
|
|
133
|
+
var import_file_system = require('./file-system.cjs');
|
|
134
|
+
var FolderNoteLocation = /* @__PURE__ */ ((FolderNoteLocation2) => {
|
|
135
|
+
FolderNoteLocation2["Auto"] = "Auto";
|
|
136
|
+
FolderNoteLocation2["InsideFolder"] = "InsideFolder";
|
|
137
|
+
FolderNoteLocation2["None"] = "None";
|
|
138
|
+
FolderNoteLocation2["ParentFolder"] = "ParentFolder";
|
|
139
|
+
return FolderNoteLocation2;
|
|
140
|
+
})(FolderNoteLocation || {});
|
|
141
|
+
const FOLDER_NOTES_PLUGIN_ID = "folder-notes";
|
|
142
|
+
const FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP = /\{\{folder_name\}\}/gi;
|
|
143
|
+
const EXCALIDRAW_FILE_EXTENSION = "excalidraw";
|
|
144
|
+
const FALLBACK_FOLDER_NOTE_CONFIG = {
|
|
145
|
+
extensions: [import_file_system.MARKDOWN_FILE_EXTENSION],
|
|
146
|
+
isHidden: false,
|
|
147
|
+
location: "InsideFolder" /* InsideFolder */,
|
|
148
|
+
resolveName: (folder) => folder.name
|
|
149
|
+
};
|
|
150
|
+
function resolveFolderNote(params) {
|
|
151
|
+
const { app, folder } = params;
|
|
152
|
+
const config = params.config ?? resolveFolderNoteConfig({ app });
|
|
153
|
+
if (config.location === "None" /* None */) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
const parentFolderPath = config.location === "ParentFolder" /* ParentFolder */ ? folder.parent?.path : folder.path;
|
|
157
|
+
if (parentFolderPath === void 0) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
const noteName = config.resolveName(folder).trim();
|
|
161
|
+
if (!noteName) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
for (const extension of config.extensions) {
|
|
165
|
+
const file = app.vault.getFileByPath((0, import_obsidian.normalizePath)((0, import_path.join)(parentFolderPath, `${noteName}.${extension}`)));
|
|
166
|
+
if (file) {
|
|
167
|
+
return file;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
function resolveFolderNoteConfig(params) {
|
|
173
|
+
const {
|
|
174
|
+
app,
|
|
175
|
+
extensions,
|
|
176
|
+
isHidden,
|
|
177
|
+
location,
|
|
178
|
+
resolveName
|
|
179
|
+
} = params;
|
|
180
|
+
if (location !== void 0 && location !== "Auto" /* Auto */) {
|
|
181
|
+
return {
|
|
182
|
+
extensions: normalizeExtensions(extensions ?? [import_file_system.MARKDOWN_FILE_EXTENSION]),
|
|
183
|
+
isHidden: isHidden ?? false,
|
|
184
|
+
location,
|
|
185
|
+
resolveName: resolveName ?? FALLBACK_FOLDER_NOTE_CONFIG.resolveName
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return readFolderNotesPluginConfig(app) ?? FALLBACK_FOLDER_NOTE_CONFIG;
|
|
189
|
+
}
|
|
190
|
+
function normalizeExtensions(extensions) {
|
|
191
|
+
const normalizedExtensions = extensions.map((extension) => extension.trim().toLowerCase().replace(/^\./, "")).map((extension) => extension === EXCALIDRAW_FILE_EXTENSION ? import_file_system.MARKDOWN_FILE_EXTENSION : extension).filter(Boolean);
|
|
192
|
+
return [...new Set(normalizedExtensions)];
|
|
193
|
+
}
|
|
194
|
+
function readFolderNotesPluginConfig(app) {
|
|
195
|
+
const folderNotesPlugin = app.plugins.getPlugin(FOLDER_NOTES_PLUGIN_ID);
|
|
196
|
+
if (!folderNotesPlugin || !("settings" in folderNotesPlugin)) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
const folderNotesSettings = folderNotesPlugin.settings;
|
|
200
|
+
if (typeof folderNotesSettings !== "object" || folderNotesSettings === null) {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
const location = toFolderNoteLocation("storageLocation" in folderNotesSettings ? folderNotesSettings.storageLocation : null);
|
|
204
|
+
if (!location) {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const folderNoteName = "folderNoteName" in folderNotesSettings ? folderNotesSettings.folderNoteName : null;
|
|
208
|
+
if (typeof folderNoteName !== "string" || !folderNoteName) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
const folderNoteType = "folderNoteType" in folderNotesSettings ? folderNotesSettings.folderNoteType : null;
|
|
212
|
+
const supportedFileTypes = "supportedFileTypes" in folderNotesSettings ? folderNotesSettings.supportedFileTypes : null;
|
|
213
|
+
const isHidden = "hideFolderNote" in folderNotesSettings ? folderNotesSettings.hideFolderNote : null;
|
|
214
|
+
return {
|
|
215
|
+
// Its own resolver tries the primary type first and every other supported type after it, which is the
|
|
216
|
+
// Order reproduced here. An unusable pair leaves Markdown, the extension it cannot be configured
|
|
217
|
+
// Without.
|
|
218
|
+
extensions: normalizeExtensions([
|
|
219
|
+
typeof folderNoteType === "string" ? folderNoteType : import_file_system.MARKDOWN_FILE_EXTENSION,
|
|
220
|
+
...Array.isArray(supportedFileTypes) ? supportedFileTypes.filter((type) => typeof type === "string") : [],
|
|
221
|
+
import_file_system.MARKDOWN_FILE_EXTENSION
|
|
222
|
+
]),
|
|
223
|
+
isHidden: isHidden === true,
|
|
224
|
+
location,
|
|
225
|
+
resolveName: (folder) => (0, import_string.replaceAll)({
|
|
226
|
+
$string: folderNoteName,
|
|
227
|
+
// A function replacer, so a folder name containing `$&` is inserted literally.
|
|
228
|
+
replacer: () => folder.name,
|
|
229
|
+
searchValue: FOLDER_NOTES_FOLDER_NAME_TOKEN_REG_EXP
|
|
230
|
+
})
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function toFolderNoteLocation(storageLocation) {
|
|
234
|
+
switch (storageLocation) {
|
|
235
|
+
case "insideFolder": {
|
|
236
|
+
return "InsideFolder" /* InsideFolder */;
|
|
237
|
+
}
|
|
238
|
+
case "parentFolder": {
|
|
239
|
+
return "ParentFolder" /* ParentFolder */;
|
|
240
|
+
}
|
|
241
|
+
default: {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
247
|
+
0 && (module.exports = {
|
|
248
|
+
FOLDER_NOTES_PLUGIN_ID,
|
|
249
|
+
FolderNoteLocation,
|
|
250
|
+
resolveFolderNote,
|
|
251
|
+
resolveFolderNoteConfig
|
|
252
|
+
});
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2ZvbGRlci1ub3RlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGZvbGRlci1ub3RlIGNvbmNlcHQ6IHdoaWNoIG5vdGUsIGlmIGFueSwgaXMgdGhlIG9uZSB3aG9zZSBwcm9wZXJ0aWVzIGRlc2NyaWJlIGEgRk9MREVSIGl0c2VsZi5cbiAqXG4gKiBPYnNpZGlhbiBoYXMgbm8gc3VjaCBjb25jZXB0IFx1MjAxNCBpdCBpcyBhIGNvbnZlbnRpb24gdGhlIGNvbW11bml0eSBzZXR0bGVkIG9uLCBhbmQgdGhlIHBsdWdpbiB0aGF0IG93bnMgaXRcbiAqIGZvciBtb3N0IHZhdWx0cyBpcyBbYGZvbGRlci1ub3Rlc2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9Mb3N0UGF1bC9vYnNpZGlhbi1mb2xkZXItbm90ZXMpLiBTbyB0aGUgYW5zd2VyIHRvXG4gKiBcIndoaWNoIG5vdGUgYmVsb25ncyB0byB0aGlzIGZvbGRlclwiIGlzIHRoYXQgcGx1Z2luJ3MgdG8gZ2l2ZSB3aGVuZXZlciBpdCBpcyBpbnN0YWxsZWQsIGFuZCB0aGlzIG1vZHVsZVxuICogYXNrcyBpdCByYXRoZXIgdGhhbiBpbnZlbnRpbmcgYSBzZWNvbmQgYW5zd2VyOiB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IFx1MjAxNCB0aGUgZGVmYXVsdCBcdTIwMTQgcmVhZHMgaXRzXG4gKiBsaXZlIGNvbmZpZ3VyYXRpb24gYXQgZXZlcnkgdXNlLlxuICpcbiAqIFJlYWRpbmcgaXQgbGl2ZSByYXRoZXIgdGhhbiBjb3B5aW5nIGl0cyB2YWx1ZXMgaW50byBhIGNvbnN1bWVyJ3Mgb3duIHNldHRpbmdzIGlzIGRlbGliZXJhdGU6IGEgY29weSBnb2VzXG4gKiBzdGFsZSB0aGUgbW9tZW50IHRoYXQgcGx1Z2luIGlzIHJlY29uZmlndXJlZCwgYW5kIGl0IHdvdWxkIG5lZWQgYSBzZXR0aW5ncyBtaWdyYXRpb24gdG8gc2VlZC4gRXZlcnl0aGluZ1xuICogZWxzZSBpcyB0aGUgY2FsbGVyJ3MgZXhwbGljaXQgY2hvaWNlLCBhbmQgdGhlbiB0aGUgb3RoZXIgcGx1Z2luIGlzIG5vdCBjb25zdWx0ZWQgYXQgYWxsLlxuICpcbiAqIE5vdGhpbmcgaGVyZSBldmVyIENSRUFURVMgYSBub3RlLiBBIGZvbGRlciB3aXRoIG5vIGZvbGRlciBub3RlIGFuc3dlcnMgYG51bGxgLCB3aGljaCBpcyB3aGF0IGxldHMgYVxuICogY2FsbGVyIGxheWVyIGZvbGRlci1ub3RlIGJlaGF2aW9yIG9udG8gYSBjbGljayB3aXRob3V0IHJpc2tpbmcgYSBmaWxlIGFwcGVhcmluZyBvbiB0aGUgdXNlcidzIGRpc2suXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFRGaWxlLFxuICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgbm9ybWFsaXplUGF0aCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG4vKipcbiAqIFdoZXJlIGEgZm9sZGVyJ3MgZm9sZGVyIG5vdGUgbGl2ZXMuXG4gKlxuICogVGhlIHRocmVlIGNvbmNyZXRlIG1lbWJlcnMgYXJlIHRoZSBzaGFwZXMgdGhlIGZvbGRlci1ub3RlIGVjb3N5c3RlbSBhY3R1YWxseSB1c2VzOlxuICogYGNoYXJsaWUvY2hhcmxpZS5tZGAgYW5kIGBjaGFybGllL2luZGV4Lm1kYCBhcmUgYm90aCB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcn0gKHRoZXlcbiAqIGRpZmZlciBvbmx5IGluIHRoZSBOQU1FLCB3aGljaCBpcyB3aHkgbmFtaW5nIGlzIGEgY2FsbGJhY2sgYW5kIG5vdCBhIGZvdXJ0aCBtZW1iZXIpLCB3aGlsZVxuICogYGNoYXJsaWUubWRgIGJlc2lkZSB0aGUgZm9sZGVyIGlzIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyfSBcdTIwMTQgd2hvc2Ugd2hvbGUgcG9pbnQgaXMgdGhhdFxuICogYFtbYWxwaGEvYnJhdm8vY2hhcmxpZV1dYCBsaW5rcyB0byBhIGZvbGRlciB3aXRoIG5vIHNwZWNpYWwgc3ludGF4LlxuICovXG5leHBvcnQgZW51bSBGb2xkZXJOb3RlTG9jYXRpb24ge1xuICAvKipcbiAgICogVGFrZSB0aGUgYW5zd2VyIGZyb20gdGhlIGluc3RhbGxlZCBgZm9sZGVyLW5vdGVzYCBwbHVnaW4sIGZhbGxpbmcgYmFjayB0byBhIG5vdGUgbmFtZWQgYWZ0ZXIgaXRzXG4gICAqIGZvbGRlciwgaW5zaWRlIGl0LiBUaGUgZGVmYXVsdCwgYW5kIHJlc29sdmVkIExJVkUgcmF0aGVyIHRoYW4gY29waWVkLlxuICAgKi9cbiAgQXV0byA9ICdBdXRvJyxcblxuICAvKipcbiAgICogYGFscGhhL2JyYXZvL2NoYXJsaWUvPG5hbWU+Lm1kYC5cbiAgICovXG4gIEluc2lkZUZvbGRlciA9ICdJbnNpZGVGb2xkZXInLFxuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgaGFzIG5vIGZvbGRlciBub3RlcyBhdCBhbGwsIHNvIGV2ZXJ5IGZvbGRlciBhbnN3ZXJzIGBudWxsYC4gVGhpcyBpcyBhbHNvIGhvdyBhIGNhbGxlciBvcHRzXG4gICAqIG91dCBvZiBmb2xkZXItbm90ZSBiZWhhdmlvciBlbnRpcmVseS5cbiAgICovXG4gIE5vbmUgPSAnTm9uZScsXG5cbiAgLyoqXG4gICAqIGBhbHBoYS9icmF2by88bmFtZT4ubWRgLCBiZXNpZGUgdGhlIGZvbGRlci5cbiAgICovXG4gIFBhcmVudEZvbGRlciA9ICdQYXJlbnRGb2xkZXInXG59XG5cbi8qKlxuICogQSBmb2xkZXItbm90ZSBzZXR1cCB3aXRoIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30gYWxyZWFkeSByZXNvbHZlZCB0byBhIGNvbmNyZXRlIGFuc3dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb2xkZXJOb3RlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb25zIGEgZm9sZGVyIG5vdGUgbWF5IGNhcnJ5LCBXSVRIT1VUIHRoZSBsZWFkaW5nIGRvdCwgaW4gcmVzb2x1dGlvbiBvcmRlciBcdTIwMTQgdGhlIGZpcnN0IG9uZVxuICAgKiB0aGF0IG5hbWVzIGFuIGV4aXN0aW5nIGZpbGUgd2lucy5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVuc2lvbnM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2xkZXIgbm90ZSBpcyBoaWRkZW4gaW4gdGhlIGZpbGUgZXhwbG9yZXIuXG4gICAqXG4gICAqIFJlYWQgcmF0aGVyIHRoYW4gYWN0ZWQgdXBvbiBoZXJlOiBpdCBjaGFuZ2VzIG5vdGhpbmcgYWJvdXQgV0hJQ0ggZmlsZSBpcyB0aGUgZm9sZGVyIG5vdGUsIGJ1dCBhIGNhbGxlclxuICAgKiB0aGF0IHJldmVhbHMgdGhlIG5vdGUgaGFzIHRvIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZXZlYWwgYW5kIGZhbGwgYmFjayB0byByZXZlYWxpbmcgdGhlIGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IGlzSGlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgbm90ZSBzaXRzIHJlbGF0aXZlIHRvIGl0cyBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlciB8IEZvbGRlck5vdGVMb2NhdGlvbi5Ob25lIHwgRm9sZGVyTm90ZUxvY2F0aW9uLlBhcmVudEZvbGRlcjtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIGZvbGRlciBub3RlIG9mIGEgZm9sZGVyLCBXSVRIT1VUIGl0cyBleHRlbnNpb24uXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZTsgYW4gZW1wdHkgKG9yIGJsYW5rKSBuYW1lIG1lYW5zIHRoZSBmb2xkZXIgaGFzIG5vIGZvbGRlciBub3RlLlxuICAgKi9cbiAgLy8gYHRoaXM6IHZvaWRgIGJlY2F1c2UgaXQgaXMgYSBzdGFuZGFsb25lIGNhbGxiYWNrLCBuZXZlciBhIG1ldGhvZCBvZiB0aGUgY29uZmlnIFx1MjAxNCB3aGljaCBpcyBhbHNvIHdoYXRcbiAgLy8gTGV0cyBpdCBiZSBkZXN0cnVjdHVyZWQgYW5kIGhhbmRlZCBvbiB3aXRob3V0IHRyaXBwaW5nIGB1bmJvdW5kLW1ldGhvZGAuXG4gIHJlc29sdmVOYW1lKHRoaXM6IHZvaWQsIGZvbGRlcjogVEZvbGRlcik6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVzb2x2ZUZvbGRlck5vdGVDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVGb2xkZXJOb3RlQ29uZmlnUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbnMgYSBmb2xkZXIgbm90ZSBtYXkgY2FycnksIHdpdGggb3Igd2l0aG91dCB0aGUgbGVhZGluZyBkb3QsIGluIHJlc29sdXRpb24gb3JkZXIuIElnbm9yZWRcbiAgICogdW5kZXIge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfSwgd2hpY2ggdGFrZXMgdGhlIGluc3RhbGxlZCBwbHVnaW4ncyBhbnN3ZXIgd2hvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBbJ21kJ11gXG4gICAqL1xuICByZWFkb25seSBleHRlbnNpb25zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZvbGRlciBub3RlIGlzIGhpZGRlbiBpbiB0aGUgZmlsZSBleHBsb3Jlci4gSWdub3JlZCB1bmRlciB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBpc0hpZGRlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBub3RlIHNpdHMgcmVsYXRpdmUgdG8gaXRzIGZvbGRlci5cbiAgICpcbiAgICogQGRlZmF1bHQge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvfVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb24/OiBGb2xkZXJOb3RlTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWVzIHRoZSBmb2xkZXIgbm90ZSBvZiBhIGZvbGRlciwgV0lUSE9VVCBpdHMgZXh0ZW5zaW9uLiBJZ25vcmVkIHVuZGVyXG4gICAqIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30sIHdoaWNoIG5hbWVzIHRoZSBub3RlIHRoZSB3YXkgdGhlIGluc3RhbGxlZCBwbHVnaW4gZG9lcy5cbiAgICpcbiAgICogQSBjYWxsYmFjayByYXRoZXIgdGhhbiBhIG5hbWUgdGVtcGxhdGUsIGJlY2F1c2UgYSB0ZW1wbGF0ZSBuZWVkcyBhIHRva2VuIHZvY2FidWxhcnkgYW5kIHRoaXMgbGlicmFyeVxuICAgKiBoYXMgbm9uZSB0byBpbXBvc2UgXHUyMDE0IGEgY2FsbGVyIHRoYXQgaGFzIG9uZSAoYHt7Zm9sZGVyTmFtZX19YCwgYHt7Zm9sZGVyUGF0aH19YCwgXHUyMDI2KSByZW5kZXJzIGl0IGhlcmUuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXIgLSBUaGUgZm9sZGVyIHdob3NlIG5vdGUgaXMgYmVpbmcgbmFtZWQuXG4gICAqIEByZXR1cm5zIFRoZSBub3RlJ3MgbmFtZS5cbiAgICogQGRlZmF1bHQgYChmb2xkZXIpID0+IGZvbGRlci5uYW1lYFxuICAgKi9cbiAgLy8gU2VlIHtAbGluayBGb2xkZXJOb3RlQ29uZmlnLnJlc29sdmVOYW1lfSBmb3Igd2h5IGB0aGlzOiB2b2lkYC5cbiAgcmVzb2x2ZU5hbWU/KHRoaXM6IHZvaWQsIGZvbGRlcjogVEZvbGRlcik6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVzb2x2ZUZvbGRlck5vdGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVGb2xkZXJOb3RlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGFscmVhZHktcmVzb2x2ZWQgc2V0dXAgdG8gdXNlLlxuICAgKlxuICAgKiBPbWl0dGVkIG1lYW5zIHtAbGluayBGb2xkZXJOb3RlTG9jYXRpb24uQXV0b30gXHUyMDE0IHRoZSBzZXR1cCBpcyByZXNvbHZlZCBvbiB0aGUgc3BvdCwgd2hpY2ggaXMgd2hhdCBtYWtlc1xuICAgKiBgcmVzb2x2ZUZvbGRlck5vdGUoeyBhcHAsIGZvbGRlciB9KWAgdGhlIG9uZS1saW5lciBldmVyeSBjYWxsZXIgd2FudHMuIFBhc3Mgb25lIHdoZW4gdGhlIHNhbWUgc2V0dXAgaXNcbiAgICogdXNlZCBtb3JlIHRoYW4gb25jZSwgb3Igd2hlbiBpdHMge0BsaW5rIEZvbGRlck5vdGVDb25maWcuaXNIaWRkZW59IGlzIG5lZWRlZCBhbG9uZ3NpZGUgdGhlIG5vdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGByZXNvbHZlRm9sZGVyTm90ZUNvbmZpZyh7IGFwcCB9KWBcbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZz86IEZvbGRlck5vdGVDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgd2hvc2UgZm9sZGVyIG5vdGUgaXMgd2FudGVkLiBSZWFkIEFGVEVSIGFueSByZW5hbWU6IHRoZSBub3RlIGlzIG5hbWVkIGZyb20gdGhlIGZvbGRlcidzXG4gICAqIENVUlJFTlQgbmFtZSwgYW5kIGEgYGZvbGRlci1ub3Rlc2AgaW5zdGFsbCB3aXRoIGBzeW5jRm9sZGVyTmFtZWAgb24gd2lsbCBoYXZlIHJlbmFtZWQgaXQgYWxyZWFkeS5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlcjogVEZvbGRlcjtcbn1cblxuLyoqXG4gKiBUaGUgYGZvbGRlci1ub3Rlc2AgcGx1Z2luJ3MgaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcblxuLyoqXG4gKiBUaGUgb25lIHRva2VuIGBmb2xkZXItbm90ZXNgJyBvd24gbmFtZSB0ZW1wbGF0ZSB1bmRlcnN0YW5kcy4gRXZlcnkgb3RoZXIgY2hhcmFjdGVyIGluIHRoYXQgdGVtcGxhdGUgaXNcbiAqIGEgbGl0ZXJhbCwgc28gdHJhbnNsYXRpbmcgdGhpcyB0b2tlbiBpcyB0aGUgd2hvbGUgb2YgdGhlIHRyYW5zbGF0aW9uLlxuICovXG5jb25zdCBGT0xERVJfTk9URVNfRk9MREVSX05BTUVfVE9LRU5fUkVHX0VYUCA9IC9cXHtcXHtmb2xkZXJfbmFtZVxcfVxcfS9naTtcblxuLyoqXG4gKiBgZm9sZGVyLW5vdGVzYCBvZmZlcnMgRXhjYWxpZHJhdyBmb2xkZXIgbm90ZXMsIHdoaWNoIGFyZSBNYXJrZG93biBmaWxlcyB3aXRoIGFuIEV4Y2FsaWRyYXcgcGF5bG9hZCBcdTIwMTQgaXRzXG4gKiBvd24gcmVzb2x2ZXIgbm9ybWFsaXplcyB0aGUgdHlwZSB0aGUgc2FtZSB3YXkgYmVmb3JlIGxvb2tpbmcgdGhlIGZpbGUgdXAuXG4gKi9cbmNvbnN0IEVYQ0FMSURSQVdfRklMRV9FWFRFTlNJT04gPSAnZXhjYWxpZHJhdyc7XG5cbi8qKlxuICogV2hhdCB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IGZhbGxzIGJhY2sgdG86IHRoZSBsYXlvdXQgZXZlcnkgZm9sZGVyLW5vdGUgcGx1Z2luIHN1cHBvcnRzLCBhbmRcbiAqIHRoZSBvbmUgYGZvbGRlci1ub3Rlc2AgaXRzZWxmIHNoaXBzIGFzIGl0cyBkZWZhdWx0LiBOb3RoaW5nIGhpZGVzIGEgbm90ZSB3aGVuIG5vIHBsdWdpbiBpcyB0aGVyZSB0byBoaWRlXG4gKiBpdCwgc28ge0BsaW5rIEZvbGRlck5vdGVDb25maWcuaXNIaWRkZW59IGlzIGBmYWxzZWAuXG4gKi9cbmNvbnN0IEZBTExCQUNLX0ZPTERFUl9OT1RFX0NPTkZJRzogRm9sZGVyTm90ZUNvbmZpZyA9IHtcbiAgZXh0ZW5zaW9uczogW01BUktET1dOX0ZJTEVfRVhURU5TSU9OXSxcbiAgaXNIaWRkZW46IGZhbHNlLFxuICBsb2NhdGlvbjogRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcixcbiAgcmVzb2x2ZU5hbWU6IChmb2xkZXI6IFRGb2xkZXIpOiBzdHJpbmcgPT4gZm9sZGVyLm5hbWVcbn07XG5cbi8qKlxuICogRmluZHMgYSBmb2xkZXIncyBmb2xkZXIgbm90ZSBcdTIwMTQgdGhlIG9uZSBub3RlIHdob3NlIHByb3BlcnRpZXMgZGVzY3JpYmUgdGhlIGZvbGRlciBpdHNlbGYuXG4gKlxuICogKipOZXZlciBjcmVhdGVzLioqIEEgZm9sZGVyIHRoYXQgaGFzIG5vIGZvbGRlciBub3RlIGFuc3dlcnMgYG51bGxgLCBhbmQgc28gZG9lcyB0aGUgdmF1bHQgcm9vdCB1bmRlclxuICoge0BsaW5rIEZvbGRlck5vdGVMb2NhdGlvbi5QYXJlbnRGb2xkZXJ9IChub3RoaW5nIGNhbiBzaXQgYmVzaWRlIGl0KS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGZvbGRlciwgYW5kIG9wdGlvbmFsbHkgdGhlIHNldHVwIHRvIHJlc29sdmUgaXQgd2l0aC5cbiAqIEByZXR1cm5zIFRoZSBmb2xkZXIgbm90ZSwgb3IgYG51bGxgIHdoZW4gdGhlcmUgaXMgbm9uZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVGb2xkZXJOb3RlKHBhcmFtczogUmVzb2x2ZUZvbGRlck5vdGVQYXJhbXMpOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCB7IGFwcCwgZm9sZGVyIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGNvbmZpZyA9IHBhcmFtcy5jb25maWcgPz8gcmVzb2x2ZUZvbGRlck5vdGVDb25maWcoeyBhcHAgfSk7XG4gIGlmIChjb25maWcubG9jYXRpb24gPT09IEZvbGRlck5vdGVMb2NhdGlvbi5Ob25lKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwYXJlbnRGb2xkZXJQYXRoID0gY29uZmlnLmxvY2F0aW9uID09PSBGb2xkZXJOb3RlTG9jYXRpb24uUGFyZW50Rm9sZGVyID8gZm9sZGVyLnBhcmVudD8ucGF0aCA6IGZvbGRlci5wYXRoO1xuICBpZiAocGFyZW50Rm9sZGVyUGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub3RlTmFtZSA9IGNvbmZpZy5yZXNvbHZlTmFtZShmb2xkZXIpLnRyaW0oKTtcbiAgaWYgKCFub3RlTmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZm9yIChjb25zdCBleHRlbnNpb24gb2YgY29uZmlnLmV4dGVuc2lvbnMpIHtcbiAgICBjb25zdCBmaWxlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm9ybWFsaXplUGF0aChqb2luKHBhcmVudEZvbGRlclBhdGgsIGAke25vdGVOYW1lfS4ke2V4dGVuc2lvbn1gKSkpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB7QGxpbmsgRm9sZGVyTm90ZUxvY2F0aW9uLkF1dG99IGludG8gYSBjb25jcmV0ZSBmb2xkZXItbm90ZSBzZXR1cC5cbiAqXG4gKiBgZm9sZGVyLW5vdGVzYCcgYHZhdWx0Rm9sZGVyYCBzdG9yYWdlIChldmVyeSBmb2xkZXIgbm90ZSBwb29sZWQgaW4gb25lIGNlbnRyYWwgZm9sZGVyKSBoYXMgbm9cbiAqIGNvdW50ZXJwYXJ0IGhlcmUgYW5kIGZhbGxzIGJhY2sgcmF0aGVyIHRoYW4gZ3Vlc3Npbmc6IHdpdGggdGhlIG5vdGVzIHBvb2xlZCwgdGhlIG5vdGUgYmVsb25naW5nIHRvIGFcbiAqIGZvbGRlciBpcyBubyBsb25nZXIgZGVyaXZhYmxlIGZyb20gdGhhdCBmb2xkZXIncyBwYXRoIGFsb25lLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgc2V0dXAsIGFuZCB0aGUgYXBwIHRvIHJlYWQgdGhlIGluc3RhbGxlZCBwbHVnaW4gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBzZXR1cC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnKHBhcmFtczogUmVzb2x2ZUZvbGRlck5vdGVDb25maWdQYXJhbXMpOiBGb2xkZXJOb3RlQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBleHRlbnNpb25zLFxuICAgIGlzSGlkZGVuLFxuICAgIGxvY2F0aW9uLFxuICAgIHJlc29sdmVOYW1lXG4gIH0gPSBwYXJhbXM7XG5cbiAgaWYgKGxvY2F0aW9uICE9PSB1bmRlZmluZWQgJiYgbG9jYXRpb24gIT09IEZvbGRlck5vdGVMb2NhdGlvbi5BdXRvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV4dGVuc2lvbnM6IG5vcm1hbGl6ZUV4dGVuc2lvbnMoZXh0ZW5zaW9ucyA/PyBbTUFSS0RPV05fRklMRV9FWFRFTlNJT05dKSxcbiAgICAgIGlzSGlkZGVuOiBpc0hpZGRlbiA/PyBmYWxzZSxcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgcmVzb2x2ZU5hbWU6IHJlc29sdmVOYW1lID8/IEZBTExCQUNLX0ZPTERFUl9OT1RFX0NPTkZJRy5yZXNvbHZlTmFtZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gcmVhZEZvbGRlck5vdGVzUGx1Z2luQ29uZmlnKGFwcCkgPz8gRkFMTEJBQ0tfRk9MREVSX05PVEVfQ09ORklHO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgZXh0ZW5zaW9ucyB0aGUgd2F5IGBmb2xkZXItbm90ZXNgIGRvZXMgYmVmb3JlIGl0IGxvb2tzIGEgZmlsZSB1cDogbm8gbGVhZGluZyBkb3QsIGxvd2VyLWNhc2UsXG4gKiBFeGNhbGlkcmF3IHRyZWF0ZWQgYXMgTWFya2Rvd24sIGJsYW5rcyBkcm9wcGVkLCBkdXBsaWNhdGVzIGNvbGxhcHNlZCB3aGlsZSBrZWVwaW5nIHRoZSBmaXJzdCBvY2N1cnJlbmNlJ3NcbiAqIHBvc2l0aW9uLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25zIC0gVGhlIGV4dGVuc2lvbnMgYXMgY29uZmlndXJlZC5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4dGVuc2lvbnMsIGluIHJlc29sdXRpb24gb3JkZXIuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV4dGVuc2lvbnMoZXh0ZW5zaW9uczogcmVhZG9ubHkgc3RyaW5nW10pOiByZWFkb25seSBzdHJpbmdbXSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRFeHRlbnNpb25zID0gZXh0ZW5zaW9uc1xuICAgIC5tYXAoKGV4dGVuc2lvbikgPT4gZXh0ZW5zaW9uLnRyaW0oKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL15cXC4vLCAnJykpXG4gICAgLm1hcCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24gPT09IEVYQ0FMSURSQVdfRklMRV9FWFRFTlNJT04gPyBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTiA6IGV4dGVuc2lvbilcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gWy4uLm5ldyBTZXQobm9ybWFsaXplZEV4dGVuc2lvbnMpXTtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgaW5zdGFsbGVkIGBmb2xkZXItbm90ZXNgIHBsdWdpbidzIG93biBjb25maWd1cmF0aW9uLCBpZiBpdCBpcyBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQgdGhlIHdheVxuICogaXQgZG9jdW1lbnRzLlxuICpcbiAqIEV2ZXJ5IHZhbHVlIGlzIHJlYWQgYXMgYHVua25vd25gIGFuZCBjaGVja2VkLCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoaXMgaXMgYW5vdGhlclxuICogcGx1Z2luJ3MgcHJpdmF0ZSBzZXR0aW5ncyBvYmplY3QsIHNvIGEgdmVyc2lvbiB0aGF0IHJlbmFtZXMgb3IgZHJvcHMgYSBrZXkgbXVzdCBkZWdyYWRlIHRvIHRoZSBmYWxsYmFja1xuICogaW5zdGVhZCBvZiB0aHJvd2luZyBpbnNpZGUgYSBjbGljayBoYW5kbGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiwgb3IgYG51bGxgIHdoZW4gdGhlIHBsdWdpbiBpcyBhYnNlbnQsIG5vdCBjb25maWd1cmVkLCBvciBzZXQgdG8gYSBzdG9yYWdlXG4gKiBsb2NhdGlvbiB3aXRoIG5vIGNvdW50ZXJwYXJ0IGhlcmUuXG4gKi9cbmZ1bmN0aW9uIHJlYWRGb2xkZXJOb3Rlc1BsdWdpbkNvbmZpZyhhcHA6IEFwcCk6IEZvbGRlck5vdGVDb25maWcgfCBudWxsIHtcbiAgY29uc3QgZm9sZGVyTm90ZXNQbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oRk9MREVSX05PVEVTX1BMVUdJTl9JRCk7XG4gIC8vIE5hcnJvd2VkIHdpdGggYGluYCByYXRoZXIgdGhhbiBhc3NlcnRlZCBpbnRvIGEgc2hhcGU6IHRoYXQga2VlcHMgZXZlcnkgdmFsdWUgYmVsb3cgdHlwZWQgYHVua25vd25gLFxuICAvLyBXaGljaCBpcyBleGFjdGx5IHdoYXQgYSBmb3JlaWduIHBsdWdpbidzIHByaXZhdGUgc2V0dGluZ3MgYXJlLlxuICBpZiAoIWZvbGRlck5vdGVzUGx1Z2luIHx8ICEoJ3NldHRpbmdzJyBpbiBmb2xkZXJOb3Rlc1BsdWdpbikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVzU2V0dGluZ3M6IHVua25vd24gPSBmb2xkZXJOb3Rlc1BsdWdpbi5zZXR0aW5ncztcbiAgaWYgKHR5cGVvZiBmb2xkZXJOb3Rlc1NldHRpbmdzICE9PSAnb2JqZWN0JyB8fCBmb2xkZXJOb3Rlc1NldHRpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsb2NhdGlvbiA9IHRvRm9sZGVyTm90ZUxvY2F0aW9uKCdzdG9yYWdlTG9jYXRpb24nIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN0b3JhZ2VMb2NhdGlvbiA6IG51bGwpO1xuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBmb2xkZXJOb3RlTmFtZSA9ICdmb2xkZXJOb3RlTmFtZScgaW4gZm9sZGVyTm90ZXNTZXR0aW5ncyA/IGZvbGRlck5vdGVzU2V0dGluZ3MuZm9sZGVyTm90ZU5hbWUgOiBudWxsO1xuICBpZiAodHlwZW9mIGZvbGRlck5vdGVOYW1lICE9PSAnc3RyaW5nJyB8fCAhZm9sZGVyTm90ZU5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlck5vdGVUeXBlID0gJ2ZvbGRlck5vdGVUeXBlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5mb2xkZXJOb3RlVHlwZSA6IG51bGw7XG4gIGNvbnN0IHN1cHBvcnRlZEZpbGVUeXBlcyA9ICdzdXBwb3J0ZWRGaWxlVHlwZXMnIGluIGZvbGRlck5vdGVzU2V0dGluZ3MgPyBmb2xkZXJOb3Rlc1NldHRpbmdzLnN1cHBvcnRlZEZpbGVUeXBlcyA6IG51bGw7XG4gIGNvbnN0IGlzSGlkZGVuID0gJ2hpZGVGb2xkZXJOb3RlJyBpbiBmb2xkZXJOb3Rlc1NldHRpbmdzID8gZm9sZGVyTm90ZXNTZXR0aW5ncy5oaWRlRm9sZGVyTm90ZSA6IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBJdHMgb3duIHJlc29sdmVyIHRyaWVzIHRoZSBwcmltYXJ5IHR5cGUgZmlyc3QgYW5kIGV2ZXJ5IG90aGVyIHN1cHBvcnRlZCB0eXBlIGFmdGVyIGl0LCB3aGljaCBpcyB0aGVcbiAgICAvLyBPcmRlciByZXByb2R1Y2VkIGhlcmUuIEFuIHVudXNhYmxlIHBhaXIgbGVhdmVzIE1hcmtkb3duLCB0aGUgZXh0ZW5zaW9uIGl0IGNhbm5vdCBiZSBjb25maWd1cmVkXG4gICAgLy8gV2l0aG91dC5cbiAgICBleHRlbnNpb25zOiBub3JtYWxpemVFeHRlbnNpb25zKFtcbiAgICAgIHR5cGVvZiBmb2xkZXJOb3RlVHlwZSA9PT0gJ3N0cmluZycgPyBmb2xkZXJOb3RlVHlwZSA6IE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICAgICAgLi4uKEFycmF5LmlzQXJyYXkoc3VwcG9ydGVkRmlsZVR5cGVzKSA/IHN1cHBvcnRlZEZpbGVUeXBlcy5maWx0ZXIoKHR5cGU6IHVua25vd24pID0+IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykgOiBbXSksXG4gICAgICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTlxuICAgIF0pLFxuICAgIGlzSGlkZGVuOiBpc0hpZGRlbiA9PT0gdHJ1ZSxcbiAgICBsb2NhdGlvbixcbiAgICByZXNvbHZlTmFtZTogKGZvbGRlcjogVEZvbGRlcik6IHN0cmluZyA9PlxuICAgICAgcmVwbGFjZUFsbCh7XG4gICAgICAgICRzdHJpbmc6IGZvbGRlck5vdGVOYW1lLFxuICAgICAgICAvLyBBIGZ1bmN0aW9uIHJlcGxhY2VyLCBzbyBhIGZvbGRlciBuYW1lIGNvbnRhaW5pbmcgYCQmYCBpcyBpbnNlcnRlZCBsaXRlcmFsbHkuXG4gICAgICAgIHJlcGxhY2VyOiAoKSA9PiBmb2xkZXIubmFtZSxcbiAgICAgICAgc2VhcmNoVmFsdWU6IEZPTERFUl9OT1RFU19GT0xERVJfTkFNRV9UT0tFTl9SRUdfRVhQXG4gICAgICB9KVxuICB9O1xufVxuXG4vKipcbiAqIE1hcHMgYGZvbGRlci1ub3Rlc2AnIGBzdG9yYWdlTG9jYXRpb25gIG9udG8gdGhpcyBsaWJyYXJ5J3Mgb3duIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBzdG9yYWdlTG9jYXRpb24gLSBUaGUgdmFsdWUgcmVhZCBvdXQgb2YgdGhhdCBwbHVnaW4ncyBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbiwgb3IgYG51bGxgIGZvciBgdmF1bHRGb2xkZXJgIGFuZCBmb3IgYW55dGhpbmcgdGhhdCBpcyBub3Qgb25lIG9mIGl0cyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIHRvRm9sZGVyTm90ZUxvY2F0aW9uKHN0b3JhZ2VMb2NhdGlvbjogdW5rbm93bik6IEZvbGRlck5vdGVDb25maWdbJ2xvY2F0aW9uJ10gfCBudWxsIHtcbiAgc3dpdGNoIChzdG9yYWdlTG9jYXRpb24pIHtcbiAgICBjYXNlICdpbnNpZGVGb2xkZXInOiB7XG4gICAgICByZXR1cm4gRm9sZGVyTm90ZUxvY2F0aW9uLkluc2lkZUZvbGRlcjtcbiAgICB9XG4gICAgY2FzZSAncGFyZW50Rm9sZGVyJzoge1xuICAgICAgcmV0dXJuIEZvbGRlck5vdGVMb2NhdGlvbi5QYXJlbnRGb2xkZXI7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF5QkEsc0JBQThCO0FBRTlCLGtCQUFxQjtBQUNyQixvQkFBMkI7QUFDM0IseUJBQXdDO0FBV2pDLElBQUsscUJBQUwsa0JBQUtBLHdCQUFMO0FBS0wsRUFBQUEsb0JBQUEsVUFBTztBQUtQLEVBQUFBLG9CQUFBLGtCQUFlO0FBTWYsRUFBQUEsb0JBQUEsVUFBTztBQUtQLEVBQUFBLG9CQUFBLGtCQUFlO0FBckJMLFNBQUFBO0FBQUEsR0FBQTtBQXNJTCxNQUFNLHlCQUF5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
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/// <reference path="../library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* The folder-note concept: which note, if any, is the one whose properties describe a FOLDER itself.
|
|
6
|
+
*
|
|
7
|
+
* Obsidian has no such concept — it is a convention the community settled on, and the plugin that owns it
|
|
8
|
+
* for most vaults is [`folder-notes`](https://github.com/LostPaul/obsidian-folder-notes). So the answer to
|
|
9
|
+
* "which note belongs to this folder" is that plugin's to give whenever it is installed, and this module
|
|
10
|
+
* asks it rather than inventing a second answer: {@link FolderNoteLocation.Auto} — the default — reads its
|
|
11
|
+
* live configuration at every use.
|
|
12
|
+
*
|
|
13
|
+
* Reading it live rather than copying its values into a consumer's own settings is deliberate: a copy goes
|
|
14
|
+
* stale the moment that plugin is reconfigured, and it would need a settings migration to seed. Everything
|
|
15
|
+
* else is the caller's explicit choice, and then the other plugin is not consulted at all.
|
|
16
|
+
*
|
|
17
|
+
* Nothing here ever CREATES a note. A folder with no folder note answers `null`, which is what lets a
|
|
18
|
+
* caller layer folder-note behavior onto a click without risking a file appearing on the user's disk.
|
|
19
|
+
*/
|
|
20
|
+
import type { App, TFile, TFolder } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
21
|
+
/**
|
|
22
|
+
* Where a folder's folder note lives.
|
|
23
|
+
*
|
|
24
|
+
* The three concrete members are the shapes the folder-note ecosystem actually uses:
|
|
25
|
+
* `charlie/charlie.md` and `charlie/index.md` are both {@link FolderNoteLocation.InsideFolder} (they
|
|
26
|
+
* differ only in the NAME, which is why naming is a callback and not a fourth member), while
|
|
27
|
+
* `charlie.md` beside the folder is {@link FolderNoteLocation.ParentFolder} — whose whole point is that
|
|
28
|
+
* `[[alpha/bravo/charlie]]` links to a folder with no special syntax.
|
|
29
|
+
*/
|
|
30
|
+
export declare enum FolderNoteLocation {
|
|
31
|
+
/**
|
|
32
|
+
* Take the answer from the installed `folder-notes` plugin, falling back to a note named after its
|
|
33
|
+
* folder, inside it. The default, and resolved LIVE rather than copied.
|
|
34
|
+
*/
|
|
35
|
+
Auto = "Auto",
|
|
36
|
+
/**
|
|
37
|
+
* `alpha/bravo/charlie/<name>.md`.
|
|
38
|
+
*/
|
|
39
|
+
InsideFolder = "InsideFolder",
|
|
40
|
+
/**
|
|
41
|
+
* The vault has no folder notes at all, so every folder answers `null`. This is also how a caller opts
|
|
42
|
+
* out of folder-note behavior entirely.
|
|
43
|
+
*/
|
|
44
|
+
None = "None",
|
|
45
|
+
/**
|
|
46
|
+
* `alpha/bravo/<name>.md`, beside the folder.
|
|
47
|
+
*/
|
|
48
|
+
ParentFolder = "ParentFolder"
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A folder-note setup with {@link FolderNoteLocation.Auto} already resolved to a concrete answer.
|
|
52
|
+
*/
|
|
53
|
+
export interface FolderNoteConfig {
|
|
54
|
+
/**
|
|
55
|
+
* The extensions a folder note may carry, WITHOUT the leading dot, in resolution order — the first one
|
|
56
|
+
* that names an existing file wins.
|
|
57
|
+
*/
|
|
58
|
+
readonly extensions: readonly string[];
|
|
59
|
+
/**
|
|
60
|
+
* Whether the folder note is hidden in the file explorer.
|
|
61
|
+
*
|
|
62
|
+
* Read rather than acted upon here: it changes nothing about WHICH file is the folder note, but a caller
|
|
63
|
+
* that reveals the note has to know there is nothing to reveal and fall back to revealing the folder.
|
|
64
|
+
*/
|
|
65
|
+
readonly isHidden: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Where the note sits relative to its folder.
|
|
68
|
+
*/
|
|
69
|
+
readonly location: FolderNoteLocation.InsideFolder | FolderNoteLocation.None | FolderNoteLocation.ParentFolder;
|
|
70
|
+
/**
|
|
71
|
+
* Names the folder note of a folder, WITHOUT its extension.
|
|
72
|
+
*
|
|
73
|
+
* @param folder - The folder whose note is being named.
|
|
74
|
+
* @returns The note's name; an empty (or blank) name means the folder has no folder note.
|
|
75
|
+
*/
|
|
76
|
+
resolveName(this: void, folder: TFolder): string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Parameters for {@link resolveFolderNoteConfig}.
|
|
80
|
+
*/
|
|
81
|
+
export interface ResolveFolderNoteConfigParams {
|
|
82
|
+
/**
|
|
83
|
+
* The Obsidian app instance.
|
|
84
|
+
*/
|
|
85
|
+
readonly app: App;
|
|
86
|
+
/**
|
|
87
|
+
* The extensions a folder note may carry, with or without the leading dot, in resolution order. Ignored
|
|
88
|
+
* under {@link FolderNoteLocation.Auto}, which takes the installed plugin's answer whole.
|
|
89
|
+
*
|
|
90
|
+
* @default `['md']`
|
|
91
|
+
*/
|
|
92
|
+
readonly extensions?: readonly string[];
|
|
93
|
+
/**
|
|
94
|
+
* Whether the folder note is hidden in the file explorer. Ignored under {@link FolderNoteLocation.Auto}.
|
|
95
|
+
*
|
|
96
|
+
* @default `false`
|
|
97
|
+
*/
|
|
98
|
+
readonly isHidden?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Where the note sits relative to its folder.
|
|
101
|
+
*
|
|
102
|
+
* @default {@link FolderNoteLocation.Auto}
|
|
103
|
+
*/
|
|
104
|
+
readonly location?: FolderNoteLocation;
|
|
105
|
+
/**
|
|
106
|
+
* Names the folder note of a folder, WITHOUT its extension. Ignored under
|
|
107
|
+
* {@link FolderNoteLocation.Auto}, which names the note the way the installed plugin does.
|
|
108
|
+
*
|
|
109
|
+
* A callback rather than a name template, because a template needs a token vocabulary and this library
|
|
110
|
+
* has none to impose — a caller that has one (`{{folderName}}`, `{{folderPath}}`, …) renders it here.
|
|
111
|
+
*
|
|
112
|
+
* @param folder - The folder whose note is being named.
|
|
113
|
+
* @returns The note's name.
|
|
114
|
+
* @default `(folder) => folder.name`
|
|
115
|
+
*/
|
|
116
|
+
resolveName?(this: void, folder: TFolder): string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Parameters for {@link resolveFolderNote}.
|
|
120
|
+
*/
|
|
121
|
+
export interface ResolveFolderNoteParams {
|
|
122
|
+
/**
|
|
123
|
+
* The Obsidian app instance.
|
|
124
|
+
*/
|
|
125
|
+
readonly app: App;
|
|
126
|
+
/**
|
|
127
|
+
* The already-resolved setup to use.
|
|
128
|
+
*
|
|
129
|
+
* Omitted means {@link FolderNoteLocation.Auto} — the setup is resolved on the spot, which is what makes
|
|
130
|
+
* `resolveFolderNote({ app, folder })` the one-liner every caller wants. Pass one when the same setup is
|
|
131
|
+
* used more than once, or when its {@link FolderNoteConfig.isHidden} is needed alongside the note.
|
|
132
|
+
*
|
|
133
|
+
* @default `resolveFolderNoteConfig({ app })`
|
|
134
|
+
*/
|
|
135
|
+
readonly config?: FolderNoteConfig;
|
|
136
|
+
/**
|
|
137
|
+
* The folder whose folder note is wanted. Read AFTER any rename: the note is named from the folder's
|
|
138
|
+
* CURRENT name, and a `folder-notes` install with `syncFolderName` on will have renamed it already.
|
|
139
|
+
*/
|
|
140
|
+
readonly folder: TFolder;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The `folder-notes` plugin's id, as its manifest declares it.
|
|
144
|
+
*/
|
|
145
|
+
export declare const FOLDER_NOTES_PLUGIN_ID = "folder-notes";
|
|
146
|
+
/**
|
|
147
|
+
* Finds a folder's folder note — the one note whose properties describe the folder itself.
|
|
148
|
+
*
|
|
149
|
+
* **Never creates.** A folder that has no folder note answers `null`, and so does the vault root under
|
|
150
|
+
* {@link FolderNoteLocation.ParentFolder} (nothing can sit beside it).
|
|
151
|
+
*
|
|
152
|
+
* @param params - The folder, and optionally the setup to resolve it with.
|
|
153
|
+
* @returns The folder note, or `null` when there is none.
|
|
154
|
+
*/
|
|
155
|
+
export declare function resolveFolderNote(params: ResolveFolderNoteParams): null | TFile;
|
|
156
|
+
/**
|
|
157
|
+
* Resolves {@link FolderNoteLocation.Auto} into a concrete folder-note setup.
|
|
158
|
+
*
|
|
159
|
+
* `folder-notes`' `vaultFolder` storage (every folder note pooled in one central folder) has no
|
|
160
|
+
* counterpart here and falls back rather than guessing: with the notes pooled, the note belonging to a
|
|
161
|
+
* folder is no longer derivable from that folder's path alone.
|
|
162
|
+
*
|
|
163
|
+
* @param params - The setup, and the app to read the installed plugin from.
|
|
164
|
+
* @returns The resolved setup.
|
|
165
|
+
*/
|
|
166
|
+
export declare function resolveFolderNoteConfig(params: ResolveFolderNoteConfigParams): FolderNoteConfig;
|
|
@@ -163,6 +163,7 @@ __export(obsidian_exports, {
|
|
|
163
163
|
"file-change": () => file_change,
|
|
164
164
|
"file-manager": () => file_manager,
|
|
165
165
|
"file-system": () => file_system,
|
|
166
|
+
"folder-note": () => folder_note,
|
|
166
167
|
frontmatter: () => frontmatter,
|
|
167
168
|
"frontmatter-link-cache-with-offsets": () => frontmatter_link_cache_with_offsets,
|
|
168
169
|
"hover-link-source-registrar": () => hover_link_source_registrar,
|
|
@@ -240,6 +241,7 @@ var extensions_registrar = __toESM(__extractDefault(require('./extensions-regist
|
|
|
240
241
|
var file_change = __toESM(__extractDefault(require('./file-change.cjs')), 1);
|
|
241
242
|
var file_manager = __toESM(__extractDefault(require('./file-manager.cjs')), 1);
|
|
242
243
|
var file_system = __toESM(__extractDefault(require('./file-system.cjs')), 1);
|
|
244
|
+
var folder_note = __toESM(__extractDefault(require('./folder-note.cjs')), 1);
|
|
243
245
|
var frontmatter_link_cache_with_offsets = __toESM(__extractDefault(require('./frontmatter-link-cache-with-offsets.cjs')), 1);
|
|
244
246
|
var frontmatter = __toESM(__extractDefault(require('./frontmatter.cjs')), 1);
|
|
245
247
|
var hover_link_source_registrar = __toESM(__extractDefault(require('./hover-link-source-registrar.cjs')), 1);
|
|
@@ -317,6 +319,7 @@ var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
|
|
|
317
319
|
"file-change": null,
|
|
318
320
|
"file-manager": null,
|
|
319
321
|
"file-system": null,
|
|
322
|
+
"folder-note": null,
|
|
320
323
|
frontmatter,
|
|
321
324
|
"frontmatter-link-cache-with-offsets": null,
|
|
322
325
|
"hover-link-source-registrar": null,
|
|
@@ -361,4 +364,4 @@ var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
|
|
|
361
364
|
"view-registrar": null,
|
|
362
365
|
workspace
|
|
363
366
|
});
|
|
364
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2FjdGl2ZS1maWxlLXByb3ZpZGVyJyBmcm9tICcuL2FjdGl2ZS1maWxlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCAqIGFzICdhcHAnIGZyb20gJy4vYXBwLnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy13aXRoLW5vdGljZScgZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQgKiBhcyAnYXR0YWNobWVudC1wYXRoJyBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQgKiBhcyAnYmFja2xpbmsnIGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0ICogYXMgJ2Jhc2VzLXZpZXctcmVnaXN0cmFyJyBmcm9tICcuL2Jhc2VzLXZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdjYWxsb3V0JyBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0ICogYXMgJ2NhbnZhcycgZnJvbSAnLi9jYW52YXMudHMnO1xuZXhwb3J0ICogYXMgJ2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleCcgZnJvbSAnLi9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NvZGUtYmxvY2stbWFya2Rvd24taW5mb3JtYXRpb24nIGZyb20gJy4vY29kZS1ibG9jay1tYXJrZG93bi1pbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyAnY29kZS1ibG9jay1yZWctZXhwJyBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5leHBvcnQgKiBhcyAnY29tbWFuZC1oYW5kbGVycycgZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdjb21tYW5kLXJlZ2lzdHJhcicgZnJvbSAnLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnY29tbXVuaXR5LXBsdWdpbnMnIGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuZXhwb3J0ICogYXMgJ2NvbXBvbmVudHMnIGZyb20gJy4vY29tcG9uZW50cy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY29uc3RydWN0b3JzJyBmcm9tICcuL2NvbnN0cnVjdG9ycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY3NzLWNsYXNzJyBmcm9tICcuL2Nzcy1jbGFzcy50cyc7XG5leHBvcnQgKiBhcyAnZGF0YS1oYW5kbGVyJyBmcm9tICcuL2RhdGEtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnZGF0YXZpZXctbGluaycgZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCAqIGFzICdkYXRhdmlldycgZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgKiBhcyAnZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MnIGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtaGVscGVyJyBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCAqIGFzICdkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyJyBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0ICogYXMgJ2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dCcgZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0ICogYXMgJ2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyJyBmcm9tICcuL2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXInIGZyb20gJy4vZWRpdG9yLXN1Z2dlc3QtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3InIGZyb20gJy4vZWRpdG9yLnRzJztcbmV4cG9ydCAqIGFzICdldmVudHMnIGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCAqIGFzICdleHRlbnNpb25zLXJlZ2lzdHJhcicgZnJvbSAnLi9leHRlbnNpb25zLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1jaGFuZ2UnIGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtbWFuYWdlcicgZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtc3lzdGVtJyBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCAqIGFzICdmcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cycgZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQgKiBhcyAnZnJvbnRtYXR0ZXInIGZyb20gJy4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0ICogYXMgJ2hvdmVyLWxpbmstc291cmNlLXJlZ2lzdHJhcicgZnJvbSAnLi9ob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ2h0bWwtZWxlbWVudCcgZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2kxOG4nIGZyb20gJy4vaTE4bi9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnaXMtaW4tb2JzaWRpYW4nIGZyb20gJy4vaXMtaW4tb2JzaWRpYW4udHMnO1xuZXhwb3J0ICogYXMgJ2xpbmstdXBkYXRlLXByb2dyZXNzJyBmcm9tICcuL2xpbmstdXBkYXRlLXByb2dyZXNzLnRzJztcbmV4cG9ydCAqIGFzICdsaW5rJyBmcm9tICcuL2xpbmsudHMnO1xuZXhwb3J0ICogYXMgJ2xvZ2dlcicgZnJvbSAnLi9sb2dnZXIudHMnO1xuZXhwb3J0ICogYXMgJ2xvb3AnIGZyb20gJy4vbG9vcC50cyc7XG5leHBvcnQgKiBhcyAnbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyJyBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3InIGZyb20gJy4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLXBvc3QtcHJvY2Vzc29yLXJlZ2lzdHJhcicgZnJvbSAnLi9tYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLXZpZXcnIGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQgKiBhcyAnbWFya2Rvd24nIGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0ICogYXMgJ21lbnUtZXZlbnQtcmVnaXN0cmFyJyBmcm9tICcuL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdtZXRhZGF0YS1jYWNoZScgZnJvbSAnLi9tZXRhZGF0YS1jYWNoZS50cyc7XG5leHBvcnQgKiBhcyAnbW9kYWxzJyBmcm9tICcuL21vZGFscy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnbm90ZWJvb2stbmF2aWdhdG9yJyBmcm9tICcuL25vdGVib29rLW5hdmlnYXRvci50cyc7XG5leHBvcnQgKiBhcyAnb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXInIGZyb20gJy4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ29ic2lkaWFuLXNldHRpbmdzJyBmcm9tICcuL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmV4cG9ydCAqIGFzICdwYXJzZS1saW5rJyBmcm9tICcuL3BhcnNlLWxpbmsudHMnO1xuZXhwb3J0ICogYXMgJ3BhdGgtc2V0dGluZ3MnIGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyAncGRmJyBmcm9tICcuL3BkZi50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luJyBmcm9tICcuL3BsdWdpbi9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhcicgZnJvbSAnLi9wbHVnaW4tY2xpLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdwb3BvdmVycycgZnJvbSAnLi9wb3BvdmVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAncXVldWUnIGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0ICogYXMgJ3JlYWN0JyBmcm9tICcuL3JlYWN0L2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdyZWZlcmVuY2UnIGZyb20gJy4vcmVmZXJlbmNlLnRzJztcbmV4cG9ydCAqIGFzICdyZXNvdXJjZS1sb2NrJyBmcm9tICcuL3Jlc291cmNlLWxvY2sudHMnO1xuZXhwb3J0ICogYXMgJ3Jlc291cmNlLXVybCcgZnJvbSAnLi9yZXNvdXJjZS11cmwudHMnO1xuZXhwb3J0ICogYXMgJ3JpYmJvbi1pY29uLXJlZ2lzdHJhcicgZnJvbSAnLi9yaWJib24taWNvbi1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ3NldHRpbmctY29tcG9uZW50cycgZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3NldHRpbmctZXgnIGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgKiBhcyAnc2V0dGluZy1ncm91cC1leCcgZnJvbSAnLi9zZXR0aW5nLWdyb3VwLWV4LnRzJztcbmV4cG9ydCAqIGFzICdzdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyJyBmcm9tICcuL3N0YXR1cy1iYXItaXRlbS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ3ZhbGlkYXRpb24nIGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQgKiBhcyAndmF1bHQtZGVsZXRlJyBmcm9tICcuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgKiBhcyAndmF1bHQtdHJhbnNhY3Rpb24nIGZyb20gJy4vdmF1bHQtdHJhbnNhY3Rpb24udHMnO1xuZXhwb3J0ICogYXMgJ3ZhdWx0JyBmcm9tICcuL3ZhdWx0LnRzJztcbmV4cG9ydCAqIGFzICd2aWV3LXJlZ2lzdHJhcicgZnJvbSAnLi92aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnd29ya3NwYWNlJyBmcm9tICcuL3dvcmtzcGFjZS50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQSxnQ0FBQUE7QUFBQSxFQUFBO0FBQUEsNkJBQUFDO0FBQUEsRUFBQSx5QkFBQUM7QUFBQSxFQUFBO0FBQUEsZ0NBQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsdUNBQUFDO0FBQUEsRUFBQSx5Q0FBQUM7QUFBQSxFQUFBLDRCQUFBQztBQUFBLEVBQUEsMEJBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLDJCQUFBQztBQUFBLEVBQUE7QUFBQTtBQUFBLHFCQUFBQztBQUFBLEVBQUEsc0JBQUFDO0FBQUEsRUFBQTtBQUFBLHlCQUFBQztBQUFBLEVBQUEsMkJBQUFDO0FBQUEsRUFBQSxvQ0FBQUM7QUFBQSxFQUFBLG1DQUFBQztBQUFBLEVBQUEsK0JBQUFDO0FBQUEsRUFBQTtBQUFBLHNDQUFBQztBQUFBLEVBQUEsa0NBQUFDO0FBQUEsRUFBQTtBQUFBLGdDQUFBQztBQUFBLEVBQUEscUJBQUFDO0FBQUEsRUFBQSxzQkFBQUM7QUFBQSxFQUFBLHFCQUFBQztBQUFBLEVBQUE7QUFBQSwrQ0FBQUM7QUFBQSxFQUFBLHFDQUFBQztBQUFBLEVBQUEsc0JBQUFDO0FBQUEsRUFBQTtBQUFBLDBCQUFBQztBQUFBLEVBQUE7QUFBQSxnQ0FBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBLHlDQUFBQztBQUFBLEVBQUEsaURBQUFDO0FBQUEsRUFBQSwyQ0FBQUM7QUFBQSxFQUFBLHVCQUFBQztBQUFBLEVBQUEsOEJBQUFDO0FBQUEsRUFBQSx3QkFBQUM7QUFBQSxFQUFBO0FBQUEsOEJBQUFDO0FBQUEsRUFBQSw2Q0FBQUM7QUFBQSxFQUFBLDJCQUFBQztBQUFBLEVBQUEsb0JBQUFDO0FBQUEsRUFBQSx1QkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSx3Q0FBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseUJBQUFDO0FBQUEsRUFBQSxzQkFBQUM7QUFBQSxFQUFBLCtCQUFBQztBQUFBLEVBQUEsNEJBQUFDO0FBQUEsRUFBQSxvQkFBQUM7QUFBQSxFQUFBLDBCQUFBQztBQUFBLEVBQUEsbUNBQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUEsd0JBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLHdCQUFBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBRUEsSUFBQWpELHVCQUF3QztBQUN4QyxVQUF1QjtBQUN2QixJQUFBQyxvQkFBcUM7QUFDckMsSUFBQUMsa0JBQW1DO0FBQ25DLGVBQTRCO0FBQzVCLElBQUFDLHVCQUF3QztBQUN4QyxjQUEyQjtBQUMzQixhQUEwQjtBQUMxQixJQUFBQyw4QkFBK0M7QUFDL0MsSUFBQUMsa0NBQW1EO0FBQ25ELElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQyxtQkFBb0M7QUFDcEMsSUFBQUMsb0JBQXFDO0FBQ3JDLElBQUFDLG9CQUFxQztBQUNyQyxpQkFBOEI7QUFDOUIsbUJBQWdDO0FBQ2hDLElBQUFDLFlBQTZCO0FBQzdCLElBQUFDLGVBQWdDO0FBQ2hDLElBQUFDLGdCQUFpQztBQUNqQyxlQUE0QjtBQUM1QixJQUFBRSw2QkFBOEM7QUFDOUMsSUFBQUQsb0JBQXFDO0FBQ3JDLElBQUFFLDRCQUE2QztBQUM3QyxJQUFBQyx3QkFBeUM7QUFDekMsSUFBQUMsNkJBQThDO0FBQzlDLElBQUFDLDJCQUE0QztBQUM1QyxhQUEwQjtBQUMxQixhQUEwQjtBQUMxQixJQUFBQyx1QkFBd0M7QUFDeEMsSUFBQUMsY0FBK0I7QUFDL0IsSUFBQUMsZUFBZ0M7QUFDaEMsSUFBQUMsY0FBK0I7QUFDL0IsSUFBQUMsc0NBQXVEO0FBQ3ZELGtCQUErQjtBQUMvQixJQUFBQyw4QkFBK0M7QUFDL0MsSUFBQUMsZUFBZ0M7QUFDaEMsV0FBd0I7QUFDeEIsSUFBQUMsaUJBQWtDO0FBQ2xDLElBQUFDLHVCQUF3QztBQUN4QyxXQUF3QjtBQUN4QixhQUEwQjtBQUMxQixXQUF3QjtBQUN4QixJQUFBRSwwQ0FBMkQ7QUFDM0QsSUFBQUQsZ0NBQWlEO0FBQ2pELElBQUFFLG9DQUFxRDtBQUNyRCxJQUFBQyxnQkFBaUM7QUFDakMsZUFBNEI7QUFDNUIsSUFBQUMsdUJBQXdDO0FBQ3hDLElBQUFDLGlCQUFrQztBQUNsQyxhQUEwQjtBQUMxQixJQUFBQyxxQkFBc0M7QUFDdEMsSUFBQUMsc0NBQXVEO0FBQ3ZELElBQUFDLG9CQUFxQztBQUNyQyxJQUFBQyxhQUE4QjtBQUM5QixJQUFBQyxnQkFBaUM7QUFDakMsVUFBdUI7QUFDdkIsYUFBMEI7QUFDMUIsSUFBQUMsK0JBQWdEO0FBQ2hELGVBQTRCO0FBQzVCLFlBQXlCO0FBQ3pCLFlBQXlCO0FBQ3pCLGdCQUE2QjtBQUM3QixJQUFBQyxnQkFBaUM7QUFDakMsSUFBQUMsZUFBZ0M7QUFDaEMsSUFBQUMsd0JBQXlDO0FBQ3pDLElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQyxhQUE4QjtBQUM5QixJQUFBQyxtQkFBb0M7QUFDcEMsSUFBQUMsNEJBQTZDO0FBQzdDLGlCQUE4QjtBQUM5QixJQUFBQyxlQUFnQztBQUNoQyxJQUFBQyxvQkFBcUM7QUFDckMsWUFBeUI7QUFDekIsSUFBQUMsaUJBQWtDO0FBQ2xDLGdCQUE2QjsiLAogICJuYW1lcyI6IFsiYWN0aXZlLWZpbGUtcHJvdmlkZXIiLCAiYXN5bmMtd2l0aC1ub3RpY2UiLCAiYXR0YWNobWVudC1wYXRoIiwgImJhc2VzLXZpZXctcmVnaXN0cmFyIiwgImNhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleCIsICJjb2RlLWJsb2NrLW1hcmtkb3duLWluZm9ybWF0aW9uIiwgImNvZGUtYmxvY2stcmVnLWV4cCIsICJjb21tYW5kLWhhbmRsZXJzIiwgImNvbW1hbmQtcmVnaXN0cmFyIiwgImNvbW11bml0eS1wbHVnaW5zIiwgImNzcy1jbGFzcyIsICJkYXRhLWhhbmRsZXIiLCAiZGF0YXZpZXctbGluayIsICJkZW1vLXZhdWx0LWhlbHBlciIsICJkZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncyIsICJkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyIiwgImRlc2t0b3AtdHJ1c3RlZC1pbnB1dCIsICJlZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhciIsICJlZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIiLCAiZXh0ZW5zaW9ucy1yZWdpc3RyYXIiLCAiZmlsZS1jaGFuZ2UiLCAiZmlsZS1tYW5hZ2VyIiwgImZpbGUtc3lzdGVtIiwgImZyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzIiwgImhvdmVyLWxpbmstc291cmNlLXJlZ2lzdHJhciIsICJodG1sLWVsZW1lbnQiLCAiaXMtaW4tb2JzaWRpYW4iLCAibGluay11cGRhdGUtcHJvZ3Jlc3MiLCAibWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IiLCAibWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyIiwgIm1hcmtkb3duLXBvc3QtcHJvY2Vzc29yLXJlZ2lzdHJhciIsICJtYXJrZG93bi12aWV3IiwgIm1lbnUtZXZlbnQtcmVnaXN0cmFyIiwgIm1ldGFkYXRhLWNhY2hlIiwgIm5vdGVib29rLW5hdmlnYXRvciIsICJvYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhciIsICJvYnNpZGlhbi1zZXR0aW5ncyIsICJwYXJzZS1saW5rIiwgInBhdGgtc2V0dGluZ3MiLCAicGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhciIsICJyZXNvdXJjZS1sb2NrIiwgInJlc291cmNlLXVybCIsICJyaWJib24taWNvbi1yZWdpc3RyYXIiLCAic2V0dGluZy1jb21wb25lbnRzIiwgInNldHRpbmctZXgiLCAic2V0dGluZy1ncm91cC1leCIsICJzdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyIiwgInZhdWx0LWRlbGV0ZSIsICJ2YXVsdC10cmFuc2FjdGlvbiIsICJ2aWV3LXJlZ2lzdHJhciJdCn0K
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2FjdGl2ZS1maWxlLXByb3ZpZGVyJyBmcm9tICcuL2FjdGl2ZS1maWxlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCAqIGFzICdhcHAnIGZyb20gJy4vYXBwLnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy13aXRoLW5vdGljZScgZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQgKiBhcyAnYXR0YWNobWVudC1wYXRoJyBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQgKiBhcyAnYmFja2xpbmsnIGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0ICogYXMgJ2Jhc2VzLXZpZXctcmVnaXN0cmFyJyBmcm9tICcuL2Jhc2VzLXZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdjYWxsb3V0JyBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0ICogYXMgJ2NhbnZhcycgZnJvbSAnLi9jYW52YXMudHMnO1xuZXhwb3J0ICogYXMgJ2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleCcgZnJvbSAnLi9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NvZGUtYmxvY2stbWFya2Rvd24taW5mb3JtYXRpb24nIGZyb20gJy4vY29kZS1ibG9jay1tYXJrZG93bi1pbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyAnY29kZS1ibG9jay1yZWctZXhwJyBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5leHBvcnQgKiBhcyAnY29tbWFuZC1oYW5kbGVycycgZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdjb21tYW5kLXJlZ2lzdHJhcicgZnJvbSAnLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnY29tbXVuaXR5LXBsdWdpbnMnIGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuZXhwb3J0ICogYXMgJ2NvbXBvbmVudHMnIGZyb20gJy4vY29tcG9uZW50cy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY29uc3RydWN0b3JzJyBmcm9tICcuL2NvbnN0cnVjdG9ycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnY3NzLWNsYXNzJyBmcm9tICcuL2Nzcy1jbGFzcy50cyc7XG5leHBvcnQgKiBhcyAnZGF0YS1oYW5kbGVyJyBmcm9tICcuL2RhdGEtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnZGF0YXZpZXctbGluaycgZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCAqIGFzICdkYXRhdmlldycgZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgKiBhcyAnZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MnIGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtaGVscGVyJyBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCAqIGFzICdkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyJyBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0ICogYXMgJ2Rlc2t0b3AtdHJ1c3RlZC1pbnB1dCcgZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuZXhwb3J0ICogYXMgJ2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyJyBmcm9tICcuL2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXInIGZyb20gJy4vZWRpdG9yLXN1Z2dlc3QtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdlZGl0b3InIGZyb20gJy4vZWRpdG9yLnRzJztcbmV4cG9ydCAqIGFzICdldmVudHMnIGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCAqIGFzICdleHRlbnNpb25zLXJlZ2lzdHJhcicgZnJvbSAnLi9leHRlbnNpb25zLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1jaGFuZ2UnIGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtbWFuYWdlcicgZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtc3lzdGVtJyBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCAqIGFzICdmb2xkZXItbm90ZScgZnJvbSAnLi9mb2xkZXItbm90ZS50cyc7XG5leHBvcnQgKiBhcyAnZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMnIGZyb20gJy4vZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMudHMnO1xuZXhwb3J0ICogYXMgJ2Zyb250bWF0dGVyJyBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCAqIGFzICdob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXInIGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdodG1sLWVsZW1lbnQnIGZyb20gJy4vaHRtbC1lbGVtZW50LnRzJztcbmV4cG9ydCAqIGFzICdpMThuJyBmcm9tICcuL2kxOG4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2lzLWluLW9ic2lkaWFuJyBmcm9tICcuL2lzLWluLW9ic2lkaWFuLnRzJztcbmV4cG9ydCAqIGFzICdsaW5rLXVwZGF0ZS1wcm9ncmVzcycgZnJvbSAnLi9saW5rLXVwZGF0ZS1wcm9ncmVzcy50cyc7XG5leHBvcnQgKiBhcyAnbGluaycgZnJvbSAnLi9saW5rLnRzJztcbmV4cG9ydCAqIGFzICdsb2dnZXInIGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCAqIGFzICdsb29wJyBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhcicgZnJvbSAnLi9tYXJrZG93bi1jb2RlLWJsb2NrLXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yJyBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCAqIGFzICdtYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXInIGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdtYXJrZG93bi12aWV3JyBmcm9tICcuL21hcmtkb3duLXZpZXcudHMnO1xuZXhwb3J0ICogYXMgJ21hcmtkb3duJyBmcm9tICcuL21hcmtkb3duLnRzJztcbmV4cG9ydCAqIGFzICdtZW51LWV2ZW50LXJlZ2lzdHJhcicgZnJvbSAnLi9tZW51LWV2ZW50LXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAnbWV0YWRhdGEtY2FjaGUnIGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuZXhwb3J0ICogYXMgJ21vZGFscycgZnJvbSAnLi9tb2RhbHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ25vdGVib29rLW5hdmlnYXRvcicgZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuZXhwb3J0ICogYXMgJ29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyJyBmcm9tICcuL29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdvYnNpZGlhbi1zZXR0aW5ncycgZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyAncGFyc2UtbGluaycgZnJvbSAnLi9wYXJzZS1saW5rLnRzJztcbmV4cG9ydCAqIGFzICdwYXRoLXNldHRpbmdzJyBmcm9tICcuL3BhdGgtc2V0dGluZ3MudHMnO1xuZXhwb3J0ICogYXMgJ3BkZicgZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbicgZnJvbSAnLi9wbHVnaW4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1jbGktaGFuZGxlci1yZWdpc3RyYXInIGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgKiBhcyAncG9wb3ZlcnMnIGZyb20gJy4vcG9wb3ZlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3F1ZXVlJyBmcm9tICcuL3F1ZXVlLnRzJztcbmV4cG9ydCAqIGFzICdyZWFjdCcgZnJvbSAnLi9yZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAncmVmZXJlbmNlJyBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5leHBvcnQgKiBhcyAncmVzb3VyY2UtbG9jaycgZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmV4cG9ydCAqIGFzICdyZXNvdXJjZS11cmwnIGZyb20gJy4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCAqIGFzICdyaWJib24taWNvbi1yZWdpc3RyYXInIGZyb20gJy4vcmliYm9uLWljb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5nLWNvbXBvbmVudHMnIGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5nLWV4JyBmcm9tICcuL3NldHRpbmctZXgudHMnO1xuZXhwb3J0ICogYXMgJ3NldHRpbmctZ3JvdXAtZXgnIGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgKiBhcyAnc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhcicgZnJvbSAnLi9zdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0aW9uJyBmcm9tICcuL3ZhbGlkYXRpb24udHMnO1xuZXhwb3J0ICogYXMgJ3ZhdWx0LWRlbGV0ZScgZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0ICogYXMgJ3ZhdWx0LXRyYW5zYWN0aW9uJyBmcm9tICcuL3ZhdWx0LXRyYW5zYWN0aW9uLnRzJztcbmV4cG9ydCAqIGFzICd2YXVsdCcgZnJvbSAnLi92YXVsdC50cyc7XG5leHBvcnQgKiBhcyAndmlldy1yZWdpc3RyYXInIGZyb20gJy4vdmlldy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgJ3dvcmtzcGFjZScgZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEsZ0NBQUFBO0FBQUEsRUFBQTtBQUFBLDZCQUFBQztBQUFBLEVBQUEseUJBQUFDO0FBQUEsRUFBQTtBQUFBLGdDQUFBQztBQUFBLEVBQUE7QUFBQTtBQUFBLHVDQUFBQztBQUFBLEVBQUEseUNBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQSxFQUFBLDBCQUFBQztBQUFBLEVBQUEsMkJBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxxQkFBQUM7QUFBQSxFQUFBLHNCQUFBQztBQUFBLEVBQUE7QUFBQSx5QkFBQUM7QUFBQSxFQUFBLDJCQUFBQztBQUFBLEVBQUEsb0NBQUFDO0FBQUEsRUFBQSxtQ0FBQUM7QUFBQSxFQUFBLCtCQUFBQztBQUFBLEVBQUE7QUFBQSxzQ0FBQUM7QUFBQSxFQUFBLGtDQUFBQztBQUFBLEVBQUE7QUFBQSxnQ0FBQUM7QUFBQSxFQUFBLHFCQUFBQztBQUFBLEVBQUEsc0JBQUFDO0FBQUEsRUFBQSxxQkFBQUM7QUFBQSxFQUFBLHFCQUFBQztBQUFBLEVBQUE7QUFBQSwrQ0FBQUM7QUFBQSxF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cyI6IFsiYWN0aXZlLWZpbGUtcHJvdmlkZXIiLCAiYXN5bmMtd2l0aC1ub3RpY2UiLCAiYXR0YWNobWVudC1wYXRoIiwgImJhc2VzLXZpZXctcmVnaXN0cmFyIiwgImNhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleCIsICJjb2RlLWJsb2NrLW1hcmtkb3duLWluZm9ybWF0aW9uIiwgImNvZGUtYmxvY2stcmVnLWV4cCIsICJjb21tYW5kLWhhbmRsZXJzIiwgImNvbW1hbmQtcmVnaXN0cmFyIiwgImNvbW11bml0eS1wbHVnaW5zIiwgImNzcy1jbGFzcyIsICJkYXRhLWhhbmRsZXIiLCAiZGF0YXZpZXctbGluayIsICJkZW1vLXZhdWx0LWhlbHBlciIsICJkZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncyIsICJkZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyIiwgImRlc2t0b3AtdHJ1c3RlZC1pbnB1dCIsICJlZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhciIsICJlZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIiLCAiZXh0ZW5zaW9ucy1yZWdpc3RyYXIiLCAiZmlsZS1jaGFuZ2UiLCAiZmlsZS1tYW5hZ2VyIiwgImZpbGUtc3lzdGVtIiwgImZvbGRlci1ub3RlIiwgImZyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzIiwgImhvdmVyLWxpbmstc291cmNlLXJlZ2lzdHJhciIsICJodG1sLWVsZW1lbnQiLCAiaXMtaW4tb2JzaWRpYW4iLCAibGluay11cGRhdGUtcHJvZ3Jlc3MiLCAibWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IiLCAibWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyIiwgIm1hcmtkb3duLXBvc3QtcHJvY2Vzc29yLXJlZ2lzdHJhciIsICJtYXJrZG93bi12aWV3IiwgIm1lbnUtZXZlbnQtcmVnaXN0cmFyIiwgIm1ldGFkYXRhLWNhY2hlIiwgIm5vdGVib29rLW5hdmlnYXRvciIsICJvYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhciIsICJvYnNpZGlhbi1zZXR0aW5ncyIsICJwYXJzZS1saW5rIiwgInBhdGgtc2V0dGluZ3MiLCAicGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhciIsICJyZXNvdXJjZS1sb2NrIiwgInJlc291cmNlLXVybCIsICJyaWJib24taWNvbi1yZWdpc3RyYXIiLCAic2V0dGluZy1jb21wb25lbnRzIiwgInNldHRpbmctZXgiLCAic2V0dGluZy1ncm91cC1leCIsICJzdGF0dXMtYmFyLWl0ZW0tcmVnaXN0cmFyIiwgInZhdWx0LWRlbGV0ZSIsICJ2YXVsdC10cmFuc2FjdGlvbiIsICJ2aWV3LXJlZ2lzdHJhciJdCn0K
|
|
@@ -31,6 +31,7 @@ export * as 'extensions-registrar' from './extensions-registrar.cjs';
|
|
|
31
31
|
export * as 'file-change' from './file-change.cjs';
|
|
32
32
|
export * as 'file-manager' from './file-manager.cjs';
|
|
33
33
|
export * as 'file-system' from './file-system.cjs';
|
|
34
|
+
export * as 'folder-note' from './folder-note.cjs';
|
|
34
35
|
export * as 'frontmatter-link-cache-with-offsets' from './frontmatter-link-cache-with-offsets.cjs';
|
|
35
36
|
export * as 'frontmatter' from './frontmatter.cjs';
|
|
36
37
|
export * as 'hover-link-source-registrar' from './hover-link-source-registrar.cjs';
|