obsidian-dev-utils 13.7.0 → 13.7.2
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 +8 -0
- package/dist/lib/Object.cjs +9 -5
- package/dist/lib/obsidian/FileChange.cjs +7 -2
- package/dist/lib/obsidian/FileManager.cjs +7 -2
- package/dist/lib/obsidian/Frontmatter.cjs +7 -2
- package/dist/lib/obsidian/Link.cjs +7 -2
- package/dist/lib/obsidian/Loop.cjs +7 -2
- package/dist/lib/obsidian/Markdown.cjs +7 -2
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +7 -2
- package/dist/lib/obsidian/MetadataCache.cjs +7 -2
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +7 -2
- package/dist/lib/obsidian/Queue.cjs +7 -2
- package/dist/lib/obsidian/Vault.cjs +7 -2
- package/dist/lib/scripts/CliUtils.cjs +7 -2
- package/dist/lib/scripts/Exec.cjs +7 -2
- package/dist/lib/scripts/NodeModules.cjs +7 -2
- package/dist/lib/scripts/NpmPublish.cjs +7 -2
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +7 -2
- package/dist/lib/scripts/Root.cjs +7 -2
- package/dist/lib/scripts/build.cjs +7 -2
- package/dist/lib/scripts/cli.cjs +7 -2
- package/dist/lib/scripts/esbuild/Dependency.cjs +7 -2
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +7 -2
- package/dist/lib/scripts/esbuild/index.cjs +7 -2
- package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +7 -2
- package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +7 -2
- package/dist/lib/scripts/version.cjs +7 -2
- package/package.json +291 -1
package/CHANGELOG.md
CHANGED
package/dist/lib/Object.cjs
CHANGED
@@ -43,7 +43,12 @@ __export(Object_exports, {
|
|
43
43
|
module.exports = __toCommonJS(Object_exports);
|
44
44
|
var import_Error = require('./Error.cjs');
|
45
45
|
var import_String = require('./String.cjs');
|
46
|
-
var __process = globalThis["process"] ?? {
|
46
|
+
var __process = globalThis["process"] ?? {
|
47
|
+
"browser": true,
|
48
|
+
"cwd": "[[Function0]]",
|
49
|
+
"env": {},
|
50
|
+
"platform": "android"
|
51
|
+
};
|
47
52
|
var FunctionHandlingMode = /* @__PURE__ */ ((FunctionHandlingMode2) => {
|
48
53
|
FunctionHandlingMode2["Exclude"] = "exclude";
|
49
54
|
FunctionHandlingMode2["Full"] = "full";
|
@@ -160,7 +165,7 @@ function toJson(value, options = {}) {
|
|
160
165
|
const usedObjects = /* @__PURE__ */ new WeakSet();
|
161
166
|
const valueConstructorName = value?.constructor?.name ?? "Object";
|
162
167
|
const plainObject = toPlainObject(value, "", 0, true);
|
163
|
-
let json = JSON.stringify(plainObject, null,
|
168
|
+
let json = JSON.stringify(plainObject, null, fullOptions.space) ?? "";
|
164
169
|
json = (0, import_String.replaceAll)(json, /"\[\[(\w+)(\d*)\]\]"/g, (_, key, indexStr) => applySubstitutions({
|
165
170
|
functionTexts,
|
166
171
|
index: indexStr ? parseInt(indexStr) : 0,
|
@@ -259,8 +264,7 @@ function makeObjectTokenSubstitution(key) {
|
|
259
264
|
return `{ "[[${key}]]": null }`;
|
260
265
|
}
|
261
266
|
function makePlaceholder(key, index) {
|
262
|
-
|
263
|
-
return `[[${key}${indexStr}]]`;
|
267
|
+
return `[[${key}${index?.toString() ?? ""}]]`;
|
264
268
|
}
|
265
269
|
// Annotate the CommonJS export names for ESM import in node:
|
266
270
|
0 && (module.exports = {
|
@@ -277,4 +281,4 @@ function makePlaceholder(key, index) {
|
|
277
281
|
setNestedPropertyValue,
|
278
282
|
toJson
|
279
283
|
});
|
280
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL09iamVjdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XCJicm93c2VyXCI6dHJ1ZSxcImN3ZFwiOlwiW1tGdW5jdGlvbjowXV1cIixcImVudlwiOnt9LFwicGxhdGZvcm1cIjpcImFuZHJvaWRcIn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBPYmplY3RcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBPYmplY3RzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgVW5kZWZpbmVkT25QYXJ0aWFsRGVlcCB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4vRXJyb3IudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgaG93IGZ1bmN0aW9ucyBzaG91bGQgYmUgaGFuZGxlZCBpbiB0aGUgSlNPTiBvdXRwdXQuXG4gICAqL1xuZXhwb3J0IGVudW0gRnVuY3Rpb25IYW5kbGluZ01vZGUge1xuICAvKipcbiAgICogRXhjbHVkZXMgZnVuY3Rpb25zIGZyb20gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgRXhjbHVkZSA9ICdleGNsdWRlJyxcbiAgLyoqXG4gICAqIEluY2x1ZGVzIHRoZSBmdWxsIGZ1bmN0aW9uIGRlZmluaXRpb24gaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgRnVsbCA9ICdmdWxsJyxcbiAgLyoqXG4gICAqIEluY2x1ZGVzIG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgTmFtZU9ubHkgPSAnbmFtZU9ubHknXG59XG5cbmVudW0gVG9rZW5TdWJzdGl0dXRpb25LZXkge1xuICBDaXJjdWxhclJlZmVyZW5jZSA9ICdDaXJjdWxhclJlZmVyZW5jZScsXG4gIEZ1bmN0aW9uID0gJ0Z1bmN0aW9uJyxcbiAgTWF4RGVwdGhMaW1pdFJlYWNoZWQgPSAnTWF4RGVwdGhMaW1pdFJlYWNoZWQnLFxuICBNYXhEZXB0aExpbWl0UmVhY2hlZEFycmF5ID0gJ01heERlcHRoTGltaXRSZWFjaGVkQXJyYXknLFxuICBUb0pTT05GYWlsZWQgPSAnVG9KU09ORmFpbGVkJyxcbiAgVW5kZWZpbmVkID0gJ1VuZGVmaW5lZCdcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb252ZXJ0aW5nIGFuIG9iamVjdCB0byBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvSnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyBmdW5jdGlvbnMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGhlIEpTT04gb3V0cHV0IChkZWZhdWx0OiBgZXhjbHVkZWApLlxuICAgKi9cbiAgZnVuY3Rpb25IYW5kbGluZ01vZGU6IEZ1bmN0aW9uSGFuZGxpbmdNb2RlO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGRlcHRoIG9mIG5lc3RlZCBvYmplY3RzIHRvIGluY2x1ZGUgaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKiBVc2UgYC0xYCBmb3Igbm8gbGltaXQuXG4gICAqIERlZmF1bHRzIHRvIGAtMWAuXG4gICAqL1xuICBtYXhEZXB0aDogbnVtYmVyO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gY2F0Y2ggZXJyb3JzIGluIGB0b0pTT04oKWAgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcGxhY2Vob2xkZXIuXG4gICAqIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRDYXRjaFRvSlNPTkVycm9yczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGhhbmRsZSBjaXJjdWxhciByZWZlcmVuY2VzIGluIHRoZSBKU09OIG91dHB1dC5cbiAgICogRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHNob3VsZEhhbmRsZUNpcmN1bGFyUmVmZXJlbmNlczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGhhbmRsZSB1bmRlZmluZWQgdmFsdWVzIGluIHRoZSBKU09OIG91dHB1dC5cbiAgICogRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHNob3VsZEhhbmRsZVVuZGVmaW5lZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHNvcnQgdGhlIGtleXMgb2YgdGhlIEpTT04gb3V0cHV0LlxuICAgKiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkU29ydEtleXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluZGVudGF0aW9uIG9mIHRoZSBKU09OIG91dHB1dC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2Ygc3BhY2VzIG9yIGEgc3RyaW5nLiBEZWZhdWx0cyB0byBgMmAuXG4gICAqL1xuICBzcGFjZTogbnVtYmVyIHwgc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdWJzdGl0dXRpb25zIHRvIHVzZSBpbiB0aGUgSlNPTiBvdXRwdXQuXG4gICAqL1xuICB0b2tlblN1YnN0aXR1dGlvbnM6IFBhcnRpYWw8VG9rZW5TdWJzdGl0dXRpb25zPjtcbn1cblxuaW50ZXJmYWNlIEFwcGx5U3Vic3RpdHV0aW9uc09wdGlvbnMge1xuICBmdW5jdGlvblRleHRzOiBzdHJpbmdbXTtcbiAgaW5kZXg6IG51bWJlcjtcbiAga2V5OiBUb2tlblN1YnN0aXR1dGlvbktleTtcbiAgc3Vic3RpdHV0aW9uczogVG9rZW5TdWJzdGl0dXRpb25zO1xufVxuXG5pbnRlcmZhY2UgSlNPTlNlcmlhbGl6YWJsZSB7XG4gIHRvSlNPTiguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5TdWJzdGl0dXRpb25zIHtcbiAgY2lyY3VsYXJSZWZlcmVuY2U6IHN0cmluZztcbiAgbWF4RGVwdGhMaW1pdFJlYWNoZWQ6IHN0cmluZztcbiAgdG9KU09ORmFpbGVkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXNzaWducyBwcm9wZXJ0aWVzIGZyb20gb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gYSB0YXJnZXQgb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSB0YXJnZXQgb2JqZWN0IHdpdGggdGhlIGFzc2lnbmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXM8VCBleHRlbmRzIG9iamVjdCwgVT4odGFyZ2V0OiBULCBzb3VyY2U6IFUpOiBUICYgVTtcblxuLyoqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlMSAtIFRoZSBmaXJzdCBzb3VyY2Ugb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gc291cmNlMiAtIFRoZSBzZWNvbmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHJldHVybnMgVGhlIHRhcmdldCBvYmplY3Qgd2l0aCB0aGUgYXNzaWduZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0LCBVLCBWPih0YXJnZXQ6IFQsIHNvdXJjZTE6IFUsIHNvdXJjZTI6IFYpOiBUICYgVSAmIFY7XG5cbi8qKlxuICogQXNzaWducyBwcm9wZXJ0aWVzIGZyb20gb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gYSB0YXJnZXQgb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlMSAtIFRoZSBmaXJzdCBzb3VyY2Ugb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gc291cmNlMiAtIFRoZSBzZWNvbmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHBhcmFtIHNvdXJjZTMgLSBUaGUgdGhpcmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHJldHVybnMgVGhlIHRhcmdldCBvYmplY3Qgd2l0aCB0aGUgYXNzaWduZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0LCBVLCBWLCBXPih0YXJnZXQ6IFQsIHNvdXJjZTE6IFUsIHNvdXJjZTI6IFYsIHNvdXJjZTM6IFcpOiBUICYgVSAmIFYgJiBXO1xuXG4vKipcbiAqIEFzc2lnbnMgcHJvcGVydGllcyBmcm9tIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzIHRvIGEgdGFyZ2V0IG9iamVjdCwgaW5jbHVkaW5nIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHRhcmdldCAtIFRoZSB0YXJnZXQgb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIHRvLlxuICogQHBhcmFtIHNvdXJjZXMgLSBUaGUgc291cmNlIG9iamVjdHMgdG8gYXNzaWduIHByb3BlcnRpZXMgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSB0YXJnZXQgb2JqZWN0IHdpdGggdGhlIGFzc2lnbmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXModGFyZ2V0OiBvYmplY3QsIC4uLnNvdXJjZXM6IG9iamVjdFtdKTogb2JqZWN0IHtcbiAgcmV0dXJuIF9hc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXModGFyZ2V0LCAuLi5zb3VyY2VzKTtcbn1cblxuLyoqXG4gKiBDbG9uZXMgYW4gb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjbG9uZS5cbiAqIEByZXR1cm5zIEEgbmV3IG9iamVjdCB3aXRoIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdGhlIG9yaWdpbmFsIG9iamVjdCwgaW5jbHVkaW5nIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZVdpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBUIHtcbiAgcmV0dXJuIE9iamVjdC5jcmVhdGUoZ2V0UHJvdG90eXBlT2Yob2JqKSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqKSkgYXMgVDtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBkZWVwbHkgZXF1YWwuXG4gKlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGRlZXBseSBlcXVhbCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgYiAhPT0gJ29iamVjdCcgfHwgYSA9PT0gbnVsbCB8fCBiID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgY29uc3Qga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcblxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhUmVjb3JkID0gYSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYlJlY29yZCA9IGIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5c0EpIHtcbiAgICBpZiAoIWtleXNCLmluY2x1ZGVzKGtleSkgfHwgIWRlZXBFcXVhbChhUmVjb3JkW2tleV0sIGJSZWNvcmRba2V5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBEZWxldGVzIG11bHRpcGxlIHByb3BlcnRpZXMgZnJvbSBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gcHJvcGVydHlOYW1lcyAtIFRoZSBuYW1lcyBvZiB0aGUgcHJvcGVydGllcyB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIHdlcmUgcHJlc2VudCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0aWVzKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHByb3BlcnR5TmFtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGxldCBhbnMgPSBmYWxzZTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBvZiBwcm9wZXJ0eU5hbWVzKSB7XG4gICAgYW5zID0gZGVsZXRlUHJvcGVydHkob2JqLCBwcm9wZXJ0eU5hbWUpIHx8IGFucztcbiAgfVxuXG4gIHJldHVybiBhbnM7XG59XG5cbi8qKlxuICogRGVsZXRlcyBhIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGRlbGV0ZSB0aGUgcHJvcGVydHkgZnJvbS5cbiAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gZGVsZXRlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSB3YXMgcHJlc2VudCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0eShvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3BlcnR5TmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICBkZWxldGUgb2JqW3Byb3BlcnR5TmFtZV07XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHZhbHVlIG9mIGEgbmVzdGVkIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGdldCB0aGUgbmVzdGVkIHByb3BlcnR5IHZhbHVlIGZyb20uXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBuZXN0ZWQgcHJvcGVydHkuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIG5lc3RlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5lc3RlZFByb3BlcnR5VmFsdWUob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcGF0aDogc3RyaW5nKTogdW5rbm93biB7XG4gIGxldCBub2RlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9IG9iajtcbiAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGlmIChub2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIG5vZGUgPSBub2RlW2tleV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBvYmplY3QgaW5zdGFuY2UgdG8gcmV0cmlldmUgdGhlIHByb3RvdHlwZSBvZi5cbiAqIEByZXR1cm5zIFRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mPFQ+KGluc3RhbmNlOiBUKTogVCB7XG4gIGlmIChpbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpIGFzIFQ7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkgb2YgYSBnaXZlbiB0eXBlIGBUYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5LlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgYXMgYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1lb2Y8VD4obmFtZTogRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWU7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBvcHRpb25hbCBwcm9wZXJ0aWVzIHRvIGFsbG93IGB1bmRlZmluZWRgIGFzc2lnbm1lbnQgaW4gc3RyaWN0IG1vZGUuXG4gKlxuICogVGhpcyB1dGlsaXR5IHByb3ZpZGVzIGEgd29ya2Fyb3VuZCBmb3IgdGhlIGBleGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc2AgVHlwZVNjcmlwdCBmbGFnLFxuICogd2hpY2ggcHJvaGliaXRzIGRpcmVjdGx5IGFzc2lnbmluZyBgdW5kZWZpbmVkYCB0byBvcHRpb25hbCBwcm9wZXJ0aWVzIHdoZW4gdGhlIHR5cGVcbiAqIGV4cGxpY2l0bHkgb21pdHMgYHVuZGVmaW5lZGAuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFdpdGggYGV4YWN0T3B0aW9uYWxQcm9wZXJ0eVR5cGVzOiB0cnVlYFxuICogY29uc3QgeDogeyBwcm9wPzogc3RyaW5nIH0gPSB7IHByb3A6IHVuZGVmaW5lZCB9OyAvLyBDb21waWxlciBlcnJvclxuICpcbiAqIC8vIFVzaW5nIHRoaXMgdXRpbGl0eTpcbiAqIGNvbnN0IHk6IHsgcHJvcD86IHN0cmluZyB9ID0gbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPHsgcHJvcD86IHN0cmluZyB9Pih7IHByb3A6IHVuZGVmaW5lZCB9KTsgLy8gV29ya3NcbiAqIGBgYFxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSB3aXRoIG9wdGlvbmFsIHByb3BlcnRpZXMgdG8gbm9ybWFsaXplLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gbm9ybWFsaXplLCBhbGxvd2luZyBleHBsaWNpdCBgdW5kZWZpbmVkYCBmb3Igb3B0aW9uYWwgcHJvcGVydGllcy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIG9iamVjdCwgY29tcGF0aWJsZSB3aXRoIGBleGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VD4ob2JqOiBVbmRlZmluZWRPblBhcnRpYWxEZWVwPFQ+KTogVCB7XG4gIHJldHVybiBvYmogYXMgVDtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSB2YWx1ZSBvZiBhIG5lc3RlZCBwcm9wZXJ0eSBpbiBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gc2V0IHRoZSBuZXN0ZWQgcHJvcGVydHkgdmFsdWUgaW4uXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBuZXN0ZWQgcHJvcGVydHkuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0TmVzdGVkUHJvcGVydHlWYWx1ZShvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBQcm9wZXJ0eSBwYXRoICR7cGF0aH0gbm90IGZvdW5kYCk7XG4gIGxldCBub2RlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9IG9iajtcbiAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cy5zbGljZSgwLCAtMSkpIHtcbiAgICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgbm9kZSA9IG5vZGVba2V5XSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGxhc3RLZXkgPSBrZXlzLmF0KC0xKTtcbiAgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCB8fCBsYXN0S2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIG5vZGVbbGFzdEtleV0gPSB2YWx1ZTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHZhbHVlIHRvIGEgSlNPTiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCB0byBKU09OLiBUaGlzIGNhbiBiZSBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIEpTT04gY29udmVyc2lvbiBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbih2YWx1ZTogdW5rbm93biwgb3B0aW9uczogUGFydGlhbDxUb0pzb25PcHRpb25zPiA9IHt9KTogc3RyaW5nIHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiB7IHRva2VuU3Vic3RpdHV0aW9uczogVG9rZW5TdWJzdGl0dXRpb25zIH0gJiBUb0pzb25PcHRpb25zID0ge1xuICAgIGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5FeGNsdWRlLFxuICAgIG1heERlcHRoOiAtMSxcbiAgICBzaG91bGRDYXRjaFRvSlNPTkVycm9yczogZmFsc2UsXG4gICAgc2hvdWxkSGFuZGxlQ2lyY3VsYXJSZWZlcmVuY2VzOiBmYWxzZSxcbiAgICBzaG91bGRIYW5kbGVVbmRlZmluZWQ6IGZhbHNlLFxuICAgIHNob3VsZFNvcnRLZXlzOiBmYWxzZSxcbiAgICBzcGFjZTogMixcbiAgICB0b2tlblN1YnN0aXR1dGlvbnM6IHtcbiAgICAgIGNpcmN1bGFyUmVmZXJlbmNlOiBtYWtlT2JqZWN0VG9rZW5TdWJzdGl0dXRpb24oVG9rZW5TdWJzdGl0dXRpb25LZXkuQ2lyY3VsYXJSZWZlcmVuY2UpLFxuICAgICAgbWF4RGVwdGhMaW1pdFJlYWNoZWQ6IG1ha2VPYmplY3RUb2tlblN1YnN0aXR1dGlvbihUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZCksXG4gICAgICB0b0pTT05GYWlsZWQ6IG1ha2VPYmplY3RUb2tlblN1YnN0aXR1dGlvbihUb2tlblN1YnN0aXR1dGlvbktleS5Ub0pTT05GYWlsZWQpXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGZ1bGxPcHRpb25zID0ge1xuICAgIC4uLkRFRkFVTFRfT1BUSU9OUyxcbiAgICAuLi5vcHRpb25zLFxuICAgIHRva2VuU3Vic3RpdHV0aW9uczoge1xuICAgICAgLi4uREVGQVVMVF9PUFRJT05TLnRva2VuU3Vic3RpdHV0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMudG9rZW5TdWJzdGl0dXRpb25zXG4gICAgfVxuICB9O1xuXG4gIGlmIChmdWxsT3B0aW9ucy5tYXhEZXB0aCA9PT0gLTEpIHtcbiAgICBmdWxsT3B0aW9ucy5tYXhEZXB0aCA9IEluZmluaXR5O1xuICB9XG5cbiAgY29uc3QgZnVuY3Rpb25UZXh0czogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgdXNlZE9iamVjdHMgPSBuZXcgV2Vha1NldDxvYmplY3Q+KCk7XG4gIGNvbnN0IHZhbHVlQ29uc3RydWN0b3JOYW1lID0gdmFsdWU/LmNvbnN0cnVjdG9yPy5uYW1lID8/ICdPYmplY3QnO1xuXG4gIGNvbnN0IHBsYWluT2JqZWN0ID0gdG9QbGFpbk9iamVjdCh2YWx1ZSwgJycsIDAsIHRydWUpO1xuICBsZXQganNvbiA9IEpTT04uc3RyaW5naWZ5KHBsYWluT2JqZWN0LCBudWxsLCBvcHRpb25zLnNwYWNlKSA/PyAnJztcbiAganNvbiA9IHJlcGxhY2VBbGwoanNvbiwgL1wiXFxbXFxbKFxcdyspKFxcZCopXFxdXFxdXCIvZywgKF8sIGtleSwgaW5kZXhTdHIpID0+IGFwcGx5U3Vic3RpdHV0aW9ucyh7XG4gICAgZnVuY3Rpb25UZXh0cyxcbiAgICBpbmRleDogaW5kZXhTdHIgPyBwYXJzZUludChpbmRleFN0cikgOiAwLFxuICAgIGtleToga2V5IGFzIFRva2VuU3Vic3RpdHV0aW9uS2V5LFxuICAgIHN1YnN0aXR1dGlvbnM6IGZ1bGxPcHRpb25zLnRva2VuU3Vic3RpdHV0aW9uc1xuICB9KSk7XG4gIHJldHVybiBqc29uO1xuXG4gIGZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nLCBkZXB0aDogbnVtYmVyLCBjYW5Vc2VUb0pTT046IGJvb2xlYW4pOiB1bmtub3duIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIChkZXB0aCA9PT0gMCB8fCBmdWxsT3B0aW9ucy5zaG91bGRIYW5kbGVVbmRlZmluZWQpID8gbWFrZVBsYWNlaG9sZGVyKFRva2VuU3Vic3RpdHV0aW9uS2V5LlVuZGVmaW5lZCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZnVsbE9wdGlvbnMuZnVuY3Rpb25IYW5kbGluZ01vZGUgPT09IEZ1bmN0aW9uSGFuZGxpbmdNb2RlLkV4Y2x1ZGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluZGV4ID0gZnVuY3Rpb25UZXh0cy5sZW5ndGg7XG4gICAgICBjb25zdCBmdW5jdGlvblRleHQgPSBmdWxsT3B0aW9ucy5mdW5jdGlvbkhhbmRsaW5nTW9kZSA9PT0gRnVuY3Rpb25IYW5kbGluZ01vZGUuRnVsbCA/IHZhbHVlLnRvU3RyaW5nKCkgOiBgZnVuY3Rpb24gJHt2YWx1ZS5uYW1lIHx8ICdhbm9ueW1vdXMnfSgpIHsgLyogLi4uICovIH1gO1xuICAgICAgZnVuY3Rpb25UZXh0cy5wdXNoKGZ1bmN0aW9uVGV4dCk7XG4gICAgICByZXR1cm4gbWFrZVBsYWNlaG9sZGVyKFRva2VuU3Vic3RpdHV0aW9uS2V5LkZ1bmN0aW9uLCBpbmRleCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodXNlZE9iamVjdHMuaGFzKHZhbHVlKSkge1xuICAgICAgaWYgKGZ1bGxPcHRpb25zLnNob3VsZEhhbmRsZUNpcmN1bGFyUmVmZXJlbmNlcykge1xuICAgICAgICByZXR1cm4gbWFrZVBsYWNlaG9sZGVyKFRva2VuU3Vic3RpdHV0aW9uS2V5LkNpcmN1bGFyUmVmZXJlbmNlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT05cbiAgICAtLT4gc3RhcnRpbmcgYXQgb2JqZWN0IHdpdGggY29uc3RydWN0b3IgJyR7dmFsdWVDb25zdHJ1Y3Rvck5hbWV9J1xuICAgIC0tLSBwcm9wZXJ0eSAnJHtrZXl9JyBjbG9zZXMgdGhlIGNpcmNsZWApO1xuICAgIH1cblxuICAgIHVzZWRPYmplY3RzLmFkZCh2YWx1ZSk7XG5cbiAgICBpZiAoY2FuVXNlVG9KU09OKSB7XG4gICAgICBjb25zdCB0b0pTT04gPSAodmFsdWUgYXMgUGFydGlhbDxKU09OU2VyaWFsaXphYmxlPikudG9KU09OO1xuICAgICAgaWYgKHR5cGVvZiB0b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YWx1ZSA9IHRvSlNPTi5jYWxsKHZhbHVlLCBrZXkpO1xuICAgICAgICAgIHJldHVybiB0b1BsYWluT2JqZWN0KHZhbHVlLCBrZXksIGRlcHRoLCBmYWxzZSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoZnVsbE9wdGlvbnMuc2hvdWxkQ2F0Y2hUb0pTT05FcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybiBtYWtlUGxhY2Vob2xkZXIoVG9rZW5TdWJzdGl0dXRpb25LZXkuVG9KU09ORmFpbGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgaWYgKGRlcHRoID4gZnVsbE9wdGlvbnMubWF4RGVwdGgpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VQbGFjZWhvbGRlcihUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZEFycmF5LCB2YWx1ZS5sZW5ndGgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtLCBpbmRleCkgPT4gdG9QbGFpbk9iamVjdChpdGVtLCBpbmRleC50b1N0cmluZygpLCBkZXB0aCArIDEsIGNhblVzZVRvSlNPTikpO1xuICAgIH1cblxuICAgIGlmIChkZXB0aCA+IGZ1bGxPcHRpb25zLm1heERlcHRoKSB7XG4gICAgICByZXR1cm4gbWFrZVBsYWNlaG9sZGVyKFRva2VuU3Vic3RpdHV0aW9uS2V5Lk1heERlcHRoTGltaXRSZWFjaGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXModmFsdWUpO1xuICAgIGlmIChmdWxsT3B0aW9ucy5zaG91bGRTb3J0S2V5cykge1xuICAgICAgZW50cmllcy5zb3J0KChba2V5MV0sIFtrZXkyXSkgPT4ga2V5MS5sb2NhbGVDb21wYXJlKGtleTIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGVudHJpZXMubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHRvUGxhaW5PYmplY3QodmFsdWUsIGtleSwgZGVwdGggKyAxLCBjYW5Vc2VUb0pTT04pXSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9hc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXModGFyZ2V0OiBvYmplY3QsIC4uLnNvdXJjZXM6IG9iamVjdFtdKTogb2JqZWN0IHtcbiAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7XG4gIH1cblxuICBjb25zdCBzb3VyY2VQcm90b3R5cGVzID0gKHNvdXJjZXMubWFwKChzb3VyY2UpID0+IGdldFByb3RvdHlwZU9mKHNvdXJjZSkpIGFzIChudWxsIHwgb2JqZWN0KVtdKS5maWx0ZXI8bnVsbCB8IG9iamVjdD4oKHByb3RvKSA9PiAhIXByb3RvKSBhcyBvYmplY3RbXTtcblxuICBpZiAoc291cmNlUHJvdG90eXBlcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgdGFyZ2V0UHJvdG90eXBlID0gX2Fzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyh7fSwgZ2V0UHJvdG90eXBlT2YodGFyZ2V0KSwgLi4uc291cmNlUHJvdG90eXBlcyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRhcmdldCwgdGFyZ2V0UHJvdG90eXBlKTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbmZ1bmN0aW9uIGFwcGx5U3Vic3RpdHV0aW9ucyhvcHRpb25zOiBBcHBseVN1YnN0aXR1dGlvbnNPcHRpb25zKTogc3RyaW5nIHwgdm9pZCB7XG4gIHN3aXRjaCAob3B0aW9ucy5rZXkpIHtcbiAgICBjYXNlIFRva2VuU3Vic3RpdHV0aW9uS2V5LkNpcmN1bGFyUmVmZXJlbmNlOlxuICAgICAgcmV0dXJuIG9wdGlvbnMuc3Vic3RpdHV0aW9ucy5jaXJjdWxhclJlZmVyZW5jZTtcbiAgICBjYXNlIFRva2VuU3Vic3RpdHV0aW9uS2V5LkZ1bmN0aW9uOlxuICAgICAgcmV0dXJuIG9wdGlvbnMuZnVuY3Rpb25UZXh0c1tvcHRpb25zLmluZGV4XSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKGBGdW5jdGlvbiB3aXRoIGluZGV4ICR7b3B0aW9ucy5pbmRleC50b1N0cmluZygpfSBub3QgZm91bmRgKSk7XG4gICAgY2FzZSBUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZDpcbiAgICAgIHJldHVybiBvcHRpb25zLnN1YnN0aXR1dGlvbnMubWF4RGVwdGhMaW1pdFJlYWNoZWQ7XG4gICAgY2FzZSBUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZEFycmF5OlxuICAgICAgcmV0dXJuIGBBcnJheSgke29wdGlvbnMuaW5kZXgudG9TdHJpbmcoKX0pYDtcbiAgICBjYXNlIFRva2VuU3Vic3RpdHV0aW9uS2V5LlRvSlNPTkZhaWxlZDpcbiAgICAgIHJldHVybiBvcHRpb25zLnN1YnN0aXR1dGlvbnMudG9KU09ORmFpbGVkO1xuICAgIGNhc2UgVG9rZW5TdWJzdGl0dXRpb25LZXkuVW5kZWZpbmVkOlxuICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFrZU9iamVjdFRva2VuU3Vic3RpdHV0aW9uKGtleTogVG9rZW5TdWJzdGl0dXRpb25LZXkpOiBzdHJpbmcge1xuICByZXR1cm4gYHsgXCJbWyR7a2V5fV1dXCI6IG51bGwgfWA7XG59XG5cbmZ1bmN0aW9uIG1ha2VQbGFjZWhvbGRlcihrZXk6IFRva2VuU3Vic3RpdHV0aW9uS2V5LCBpbmRleD86IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGluZGV4U3RyID0gaW5kZXggPT09IHVuZGVmaW5lZCA/ICcnIDogYDoke2luZGV4LnRvU3RyaW5nKCl9YDtcbiAgcmV0dXJuIGBbWyR7a2V5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LGVBQWU7QUFBQSxFQUMvQztBQUVBLFNBQU87QUFDVDtBQUdBLFNBQVMsbUJBQW1CLFNBQW1EO0FBQzdFLFVBQVEsUUFBUSxLQUFLO0FBQUEsSUFDbkIsS0FBSztBQUNILGFBQU8sUUFBUSxjQUFjO0FBQUEsSUFDL0IsS0FBSztBQUNILGFBQU8sUUFBUSxjQUFjLFFBQVEsS0FBSyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sdUJBQXVCLFFBQVEsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDO0FBQUEsSUFDdkksS0FBSztBQUNILGFBQU8sUUFBUSxjQUFjO0FBQUEsSUFDL0IsS0FBSztBQUNILGFBQU8sU0FBUyxRQUFRLE1BQU0sU0FBUyxDQUFDO0FBQUEsSUFDMUMsS0FBSztBQUNILGFBQU8sUUFBUSxjQUFjO0FBQUEsSUFDL0IsS0FBSztBQUNILGFBQU87QUFBQSxJQUNUO0FBQ0U7QUFBQSxFQUNKO0FBQ0Y7QUFFQSxTQUFTLDRCQUE0QixLQUFtQztBQUN0RSxTQUFPLFFBQVEsR0FBRztBQUNwQjtBQUVBLFNBQVMsZ0JBQWdCLEtBQTJCLE9BQXdCO0FBQzFFLFFBQU0sV0FBVyxVQUFVLFNBQVksS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLFNBQU8sS0FBSyxHQUFHLEdBQUcsUUFBUTtBQUM1QjsiLAogICJuYW1lcyI6IFsiRnVuY3Rpb25IYW5kbGluZ01vZGUiLCAidmFsdWUiLCAia2V5Il0KfQo=
|
284
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL09iamVjdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiYnJvd3NlclwiOiB0cnVlLFxuICBcImN3ZFwiOiBcIltbRnVuY3Rpb24wXV1cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBPYmplY3RcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBPYmplY3RzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgVW5kZWZpbmVkT25QYXJ0aWFsRGVlcCB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4vRXJyb3IudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgaG93IGZ1bmN0aW9ucyBzaG91bGQgYmUgaGFuZGxlZCBpbiB0aGUgSlNPTiBvdXRwdXQuXG4gICAqL1xuZXhwb3J0IGVudW0gRnVuY3Rpb25IYW5kbGluZ01vZGUge1xuICAvKipcbiAgICogRXhjbHVkZXMgZnVuY3Rpb25zIGZyb20gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgRXhjbHVkZSA9ICdleGNsdWRlJyxcbiAgLyoqXG4gICAqIEluY2x1ZGVzIHRoZSBmdWxsIGZ1bmN0aW9uIGRlZmluaXRpb24gaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgRnVsbCA9ICdmdWxsJyxcbiAgLyoqXG4gICAqIEluY2x1ZGVzIG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgTmFtZU9ubHkgPSAnbmFtZU9ubHknXG59XG5cbmVudW0gVG9rZW5TdWJzdGl0dXRpb25LZXkge1xuICBDaXJjdWxhclJlZmVyZW5jZSA9ICdDaXJjdWxhclJlZmVyZW5jZScsXG4gIEZ1bmN0aW9uID0gJ0Z1bmN0aW9uJyxcbiAgTWF4RGVwdGhMaW1pdFJlYWNoZWQgPSAnTWF4RGVwdGhMaW1pdFJlYWNoZWQnLFxuICBNYXhEZXB0aExpbWl0UmVhY2hlZEFycmF5ID0gJ01heERlcHRoTGltaXRSZWFjaGVkQXJyYXknLFxuICBUb0pTT05GYWlsZWQgPSAnVG9KU09ORmFpbGVkJyxcbiAgVW5kZWZpbmVkID0gJ1VuZGVmaW5lZCdcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb252ZXJ0aW5nIGFuIG9iamVjdCB0byBKU09OLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvSnNvbk9wdGlvbnMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyBmdW5jdGlvbnMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGhlIEpTT04gb3V0cHV0IChkZWZhdWx0OiBgZXhjbHVkZWApLlxuICAgKi9cbiAgZnVuY3Rpb25IYW5kbGluZ01vZGU6IEZ1bmN0aW9uSGFuZGxpbmdNb2RlO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGRlcHRoIG9mIG5lc3RlZCBvYmplY3RzIHRvIGluY2x1ZGUgaW4gdGhlIEpTT04gb3V0cHV0LlxuICAgKiBVc2UgYC0xYCBmb3Igbm8gbGltaXQuXG4gICAqIERlZmF1bHRzIHRvIGAtMWAuXG4gICAqL1xuICBtYXhEZXB0aDogbnVtYmVyO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gY2F0Y2ggZXJyb3JzIGluIGB0b0pTT04oKWAgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcGxhY2Vob2xkZXIuXG4gICAqIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRDYXRjaFRvSlNPTkVycm9yczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGhhbmRsZSBjaXJjdWxhciByZWZlcmVuY2VzIGluIHRoZSBKU09OIG91dHB1dC5cbiAgICogRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHNob3VsZEhhbmRsZUNpcmN1bGFyUmVmZXJlbmNlczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGhhbmRsZSB1bmRlZmluZWQgdmFsdWVzIGluIHRoZSBKU09OIG91dHB1dC5cbiAgICogRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHNob3VsZEhhbmRsZVVuZGVmaW5lZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIHNvcnQgdGhlIGtleXMgb2YgdGhlIEpTT04gb3V0cHV0LlxuICAgKiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgc2hvdWxkU29ydEtleXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluZGVudGF0aW9uIG9mIHRoZSBKU09OIG91dHB1dC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2Ygc3BhY2VzIG9yIGEgc3RyaW5nLiBEZWZhdWx0cyB0byBgMmAuXG4gICAqL1xuICBzcGFjZTogbnVtYmVyIHwgc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdWJzdGl0dXRpb25zIHRvIHVzZSBpbiB0aGUgSlNPTiBvdXRwdXQuXG4gICAqL1xuICB0b2tlblN1YnN0aXR1dGlvbnM6IFBhcnRpYWw8VG9rZW5TdWJzdGl0dXRpb25zPjtcbn1cblxuaW50ZXJmYWNlIEFwcGx5U3Vic3RpdHV0aW9uc09wdGlvbnMge1xuICBmdW5jdGlvblRleHRzOiBzdHJpbmdbXTtcbiAgaW5kZXg6IG51bWJlcjtcbiAga2V5OiBUb2tlblN1YnN0aXR1dGlvbktleTtcbiAgc3Vic3RpdHV0aW9uczogVG9rZW5TdWJzdGl0dXRpb25zO1xufVxuXG5pbnRlcmZhY2UgSlNPTlNlcmlhbGl6YWJsZSB7XG4gIHRvSlNPTiguLi5hcmdzOiB1bmtub3duW10pOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5TdWJzdGl0dXRpb25zIHtcbiAgY2lyY3VsYXJSZWZlcmVuY2U6IHN0cmluZztcbiAgbWF4RGVwdGhMaW1pdFJlYWNoZWQ6IHN0cmluZztcbiAgdG9KU09ORmFpbGVkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXNzaWducyBwcm9wZXJ0aWVzIGZyb20gb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gYSB0YXJnZXQgb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSB0YXJnZXQgb2JqZWN0IHdpdGggdGhlIGFzc2lnbmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXM8VCBleHRlbmRzIG9iamVjdCwgVT4odGFyZ2V0OiBULCBzb3VyY2U6IFUpOiBUICYgVTtcblxuLyoqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlMSAtIFRoZSBmaXJzdCBzb3VyY2Ugb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gc291cmNlMiAtIFRoZSBzZWNvbmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHJldHVybnMgVGhlIHRhcmdldCBvYmplY3Qgd2l0aCB0aGUgYXNzaWduZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0LCBVLCBWPih0YXJnZXQ6IFQsIHNvdXJjZTE6IFUsIHNvdXJjZTI6IFYpOiBUICYgVSAmIFY7XG5cbi8qKlxuICogQXNzaWducyBwcm9wZXJ0aWVzIGZyb20gb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gYSB0YXJnZXQgb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3QgdG8gYXNzaWduIHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0gc291cmNlMSAtIFRoZSBmaXJzdCBzb3VyY2Ugb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gc291cmNlMiAtIFRoZSBzZWNvbmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHBhcmFtIHNvdXJjZTMgLSBUaGUgdGhpcmQgc291cmNlIG9iamVjdCB0byBhc3NpZ24gcHJvcGVydGllcyBmcm9tLlxuICogQHJldHVybnMgVGhlIHRhcmdldCBvYmplY3Qgd2l0aCB0aGUgYXNzaWduZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0LCBVLCBWLCBXPih0YXJnZXQ6IFQsIHNvdXJjZTE6IFUsIHNvdXJjZTI6IFYsIHNvdXJjZTM6IFcpOiBUICYgVSAmIFYgJiBXO1xuXG4vKipcbiAqIEFzc2lnbnMgcHJvcGVydGllcyBmcm9tIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzIHRvIGEgdGFyZ2V0IG9iamVjdCwgaW5jbHVkaW5nIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHRhcmdldCAtIFRoZSB0YXJnZXQgb2JqZWN0IHRvIGFzc2lnbiBwcm9wZXJ0aWVzIHRvLlxuICogQHBhcmFtIHNvdXJjZXMgLSBUaGUgc291cmNlIG9iamVjdHMgdG8gYXNzaWduIHByb3BlcnRpZXMgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSB0YXJnZXQgb2JqZWN0IHdpdGggdGhlIGFzc2lnbmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXModGFyZ2V0OiBvYmplY3QsIC4uLnNvdXJjZXM6IG9iamVjdFtdKTogb2JqZWN0IHtcbiAgcmV0dXJuIF9hc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXModGFyZ2V0LCAuLi5zb3VyY2VzKTtcbn1cblxuLyoqXG4gKiBDbG9uZXMgYW4gb2JqZWN0LCBpbmNsdWRpbmcgbm9uLWVudW1lcmFibGUgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjbG9uZS5cbiAqIEByZXR1cm5zIEEgbmV3IG9iamVjdCB3aXRoIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdGhlIG9yaWdpbmFsIG9iamVjdCwgaW5jbHVkaW5nIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZVdpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllczxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBUIHtcbiAgcmV0dXJuIE9iamVjdC5jcmVhdGUoZ2V0UHJvdG90eXBlT2Yob2JqKSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqKSkgYXMgVDtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBkZWVwbHkgZXF1YWwuXG4gKlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGRlZXBseSBlcXVhbCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwRXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgYiAhPT0gJ29iamVjdCcgfHwgYSA9PT0gbnVsbCB8fCBiID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgY29uc3Qga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcblxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBhUmVjb3JkID0gYSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYlJlY29yZCA9IGIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5c0EpIHtcbiAgICBpZiAoIWtleXNCLmluY2x1ZGVzKGtleSkgfHwgIWRlZXBFcXVhbChhUmVjb3JkW2tleV0sIGJSZWNvcmRba2V5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBEZWxldGVzIG11bHRpcGxlIHByb3BlcnRpZXMgZnJvbSBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0aWVzIGZyb20uXG4gKiBAcGFyYW0gcHJvcGVydHlOYW1lcyAtIFRoZSBuYW1lcyBvZiB0aGUgcHJvcGVydGllcyB0byBkZWxldGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIHdlcmUgcHJlc2VudCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0aWVzKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHByb3BlcnR5TmFtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGxldCBhbnMgPSBmYWxzZTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBvZiBwcm9wZXJ0eU5hbWVzKSB7XG4gICAgYW5zID0gZGVsZXRlUHJvcGVydHkob2JqLCBwcm9wZXJ0eU5hbWUpIHx8IGFucztcbiAgfVxuXG4gIHJldHVybiBhbnM7XG59XG5cbi8qKlxuICogRGVsZXRlcyBhIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGRlbGV0ZSB0aGUgcHJvcGVydHkgZnJvbS5cbiAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gZGVsZXRlLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSB3YXMgcHJlc2VudCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0eShvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3BlcnR5TmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICBkZWxldGUgb2JqW3Byb3BlcnR5TmFtZV07XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHZhbHVlIG9mIGEgbmVzdGVkIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGdldCB0aGUgbmVzdGVkIHByb3BlcnR5IHZhbHVlIGZyb20uXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBuZXN0ZWQgcHJvcGVydHkuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIG5lc3RlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5lc3RlZFByb3BlcnR5VmFsdWUob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcGF0aDogc3RyaW5nKTogdW5rbm93biB7XG4gIGxldCBub2RlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9IG9iajtcbiAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGlmIChub2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIG5vZGUgPSBub2RlW2tleV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHNwZWNpZmllZCBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIG9iamVjdC5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBvYmplY3QgaW5zdGFuY2UgdG8gcmV0cmlldmUgdGhlIHByb3RvdHlwZSBvZi5cbiAqIEByZXR1cm5zIFRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mPFQ+KGluc3RhbmNlOiBUKTogVCB7XG4gIGlmIChpbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IGluc3RhbmNlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpIGFzIFQ7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuYW1lIG9mIGEgcHJvcGVydHkgb2YgYSBnaXZlbiB0eXBlIGBUYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5LlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgYXMgYSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1lb2Y8VD4obmFtZTogRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWU7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBvcHRpb25hbCBwcm9wZXJ0aWVzIHRvIGFsbG93IGB1bmRlZmluZWRgIGFzc2lnbm1lbnQgaW4gc3RyaWN0IG1vZGUuXG4gKlxuICogVGhpcyB1dGlsaXR5IHByb3ZpZGVzIGEgd29ya2Fyb3VuZCBmb3IgdGhlIGBleGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc2AgVHlwZVNjcmlwdCBmbGFnLFxuICogd2hpY2ggcHJvaGliaXRzIGRpcmVjdGx5IGFzc2lnbmluZyBgdW5kZWZpbmVkYCB0byBvcHRpb25hbCBwcm9wZXJ0aWVzIHdoZW4gdGhlIHR5cGVcbiAqIGV4cGxpY2l0bHkgb21pdHMgYHVuZGVmaW5lZGAuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFdpdGggYGV4YWN0T3B0aW9uYWxQcm9wZXJ0eVR5cGVzOiB0cnVlYFxuICogY29uc3QgeDogeyBwcm9wPzogc3RyaW5nIH0gPSB7IHByb3A6IHVuZGVmaW5lZCB9OyAvLyBDb21waWxlciBlcnJvclxuICpcbiAqIC8vIFVzaW5nIHRoaXMgdXRpbGl0eTpcbiAqIGNvbnN0IHk6IHsgcHJvcD86IHN0cmluZyB9ID0gbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPHsgcHJvcD86IHN0cmluZyB9Pih7IHByb3A6IHVuZGVmaW5lZCB9KTsgLy8gV29ya3NcbiAqIGBgYFxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSB3aXRoIG9wdGlvbmFsIHByb3BlcnRpZXMgdG8gbm9ybWFsaXplLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gbm9ybWFsaXplLCBhbGxvd2luZyBleHBsaWNpdCBgdW5kZWZpbmVkYCBmb3Igb3B0aW9uYWwgcHJvcGVydGllcy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIG9iamVjdCwgY29tcGF0aWJsZSB3aXRoIGBleGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VD4ob2JqOiBVbmRlZmluZWRPblBhcnRpYWxEZWVwPFQ+KTogVCB7XG4gIHJldHVybiBvYmogYXMgVDtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSB2YWx1ZSBvZiBhIG5lc3RlZCBwcm9wZXJ0eSBpbiBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gc2V0IHRoZSBuZXN0ZWQgcHJvcGVydHkgdmFsdWUgaW4uXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIHRoZSBuZXN0ZWQgcHJvcGVydHkuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0TmVzdGVkUHJvcGVydHlWYWx1ZShvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBQcm9wZXJ0eSBwYXRoICR7cGF0aH0gbm90IGZvdW5kYCk7XG4gIGxldCBub2RlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9IG9iajtcbiAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cy5zbGljZSgwLCAtMSkpIHtcbiAgICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgbm9kZSA9IG5vZGVba2V5XSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGxhc3RLZXkgPSBrZXlzLmF0KC0xKTtcbiAgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCB8fCBsYXN0S2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIG5vZGVbbGFzdEtleV0gPSB2YWx1ZTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHZhbHVlIHRvIGEgSlNPTiBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCB0byBKU09OLiBUaGlzIGNhbiBiZSBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIEpTT04gY29udmVyc2lvbiBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbih2YWx1ZTogdW5rbm93biwgb3B0aW9uczogUGFydGlhbDxUb0pzb25PcHRpb25zPiA9IHt9KTogc3RyaW5nIHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiB7IHRva2VuU3Vic3RpdHV0aW9uczogVG9rZW5TdWJzdGl0dXRpb25zIH0gJiBUb0pzb25PcHRpb25zID0ge1xuICAgIGZ1bmN0aW9uSGFuZGxpbmdNb2RlOiBGdW5jdGlvbkhhbmRsaW5nTW9kZS5FeGNsdWRlLFxuICAgIG1heERlcHRoOiAtMSxcbiAgICBzaG91bGRDYXRjaFRvSlNPTkVycm9yczogZmFsc2UsXG4gICAgc2hvdWxkSGFuZGxlQ2lyY3VsYXJSZWZlcmVuY2VzOiBmYWxzZSxcbiAgICBzaG91bGRIYW5kbGVVbmRlZmluZWQ6IGZhbHNlLFxuICAgIHNob3VsZFNvcnRLZXlzOiBmYWxzZSxcbiAgICBzcGFjZTogMixcbiAgICB0b2tlblN1YnN0aXR1dGlvbnM6IHtcbiAgICAgIGNpcmN1bGFyUmVmZXJlbmNlOiBtYWtlT2JqZWN0VG9rZW5TdWJzdGl0dXRpb24oVG9rZW5TdWJzdGl0dXRpb25LZXkuQ2lyY3VsYXJSZWZlcmVuY2UpLFxuICAgICAgbWF4RGVwdGhMaW1pdFJlYWNoZWQ6IG1ha2VPYmplY3RUb2tlblN1YnN0aXR1dGlvbihUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZCksXG4gICAgICB0b0pTT05GYWlsZWQ6IG1ha2VPYmplY3RUb2tlblN1YnN0aXR1dGlvbihUb2tlblN1YnN0aXR1dGlvbktleS5Ub0pTT05GYWlsZWQpXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGZ1bGxPcHRpb25zID0ge1xuICAgIC4uLkRFRkFVTFRfT1BUSU9OUyxcbiAgICAuLi5vcHRpb25zLFxuICAgIHRva2VuU3Vic3RpdHV0aW9uczoge1xuICAgICAgLi4uREVGQVVMVF9PUFRJT05TLnRva2VuU3Vic3RpdHV0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMudG9rZW5TdWJzdGl0dXRpb25zXG4gICAgfVxuICB9O1xuXG4gIGlmIChmdWxsT3B0aW9ucy5tYXhEZXB0aCA9PT0gLTEpIHtcbiAgICBmdWxsT3B0aW9ucy5tYXhEZXB0aCA9IEluZmluaXR5O1xuICB9XG5cbiAgY29uc3QgZnVuY3Rpb25UZXh0czogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgdXNlZE9iamVjdHMgPSBuZXcgV2Vha1NldDxvYmplY3Q+KCk7XG4gIGNvbnN0IHZhbHVlQ29uc3RydWN0b3JOYW1lID0gdmFsdWU/LmNvbnN0cnVjdG9yPy5uYW1lID8/ICdPYmplY3QnO1xuXG4gIGNvbnN0IHBsYWluT2JqZWN0ID0gdG9QbGFpbk9iamVjdCh2YWx1ZSwgJycsIDAsIHRydWUpO1xuICBsZXQganNvbiA9IEpTT04uc3RyaW5naWZ5KHBsYWluT2JqZWN0LCBudWxsLCBmdWxsT3B0aW9ucy5zcGFjZSkgPz8gJyc7XG4gIGpzb24gPSByZXBsYWNlQWxsKGpzb24sIC9cIlxcW1xcWyhcXHcrKShcXGQqKVxcXVxcXVwiL2csIChfLCBrZXksIGluZGV4U3RyKSA9PiBhcHBseVN1YnN0aXR1dGlvbnMoe1xuICAgIGZ1bmN0aW9uVGV4dHMsXG4gICAgaW5kZXg6IGluZGV4U3RyID8gcGFyc2VJbnQoaW5kZXhTdHIpIDogMCxcbiAgICBrZXk6IGtleSBhcyBUb2tlblN1YnN0aXR1dGlvbktleSxcbiAgICBzdWJzdGl0dXRpb25zOiBmdWxsT3B0aW9ucy50b2tlblN1YnN0aXR1dGlvbnNcbiAgfSkpO1xuICByZXR1cm4ganNvbjtcblxuICBmdW5jdGlvbiB0b1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZywgZGVwdGg6IG51bWJlciwgY2FuVXNlVG9KU09OOiBib29sZWFuKTogdW5rbm93biB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAoZGVwdGggPT09IDAgfHwgZnVsbE9wdGlvbnMuc2hvdWxkSGFuZGxlVW5kZWZpbmVkKSA/IG1ha2VQbGFjZWhvbGRlcihUb2tlblN1YnN0aXR1dGlvbktleS5VbmRlZmluZWQpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKGZ1bGxPcHRpb25zLmZ1bmN0aW9uSGFuZGxpbmdNb2RlID09PSBGdW5jdGlvbkhhbmRsaW5nTW9kZS5FeGNsdWRlKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjb25zdCBpbmRleCA9IGZ1bmN0aW9uVGV4dHMubGVuZ3RoO1xuICAgICAgY29uc3QgZnVuY3Rpb25UZXh0ID0gZnVsbE9wdGlvbnMuZnVuY3Rpb25IYW5kbGluZ01vZGUgPT09IEZ1bmN0aW9uSGFuZGxpbmdNb2RlLkZ1bGwgPyB2YWx1ZS50b1N0cmluZygpIDogYGZ1bmN0aW9uICR7dmFsdWUubmFtZSB8fCAnYW5vbnltb3VzJ30oKSB7IC8qIC4uLiAqLyB9YDtcbiAgICAgIGZ1bmN0aW9uVGV4dHMucHVzaChmdW5jdGlvblRleHQpO1xuICAgICAgcmV0dXJuIG1ha2VQbGFjZWhvbGRlcihUb2tlblN1YnN0aXR1dGlvbktleS5GdW5jdGlvbiwgaW5kZXgpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHVzZWRPYmplY3RzLmhhcyh2YWx1ZSkpIHtcbiAgICAgIGlmIChmdWxsT3B0aW9ucy5zaG91bGRIYW5kbGVDaXJjdWxhclJlZmVyZW5jZXMpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VQbGFjZWhvbGRlcihUb2tlblN1YnN0aXR1dGlvbktleS5DaXJjdWxhclJlZmVyZW5jZSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OXG4gICAgLS0+IHN0YXJ0aW5nIGF0IG9iamVjdCB3aXRoIGNvbnN0cnVjdG9yICcke3ZhbHVlQ29uc3RydWN0b3JOYW1lfSdcbiAgICAtLS0gcHJvcGVydHkgJyR7a2V5fScgY2xvc2VzIHRoZSBjaXJjbGVgKTtcbiAgICB9XG5cbiAgICB1c2VkT2JqZWN0cy5hZGQodmFsdWUpO1xuXG4gICAgaWYgKGNhblVzZVRvSlNPTikge1xuICAgICAgY29uc3QgdG9KU09OID0gKHZhbHVlIGFzIFBhcnRpYWw8SlNPTlNlcmlhbGl6YWJsZT4pLnRvSlNPTjtcbiAgICAgIGlmICh0eXBlb2YgdG9KU09OID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFsdWUgPSB0b0pTT04uY2FsbCh2YWx1ZSwga2V5KTtcbiAgICAgICAgICByZXR1cm4gdG9QbGFpbk9iamVjdCh2YWx1ZSwga2V5LCBkZXB0aCwgZmFsc2UpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGZ1bGxPcHRpb25zLnNob3VsZENhdGNoVG9KU09ORXJyb3JzKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFrZVBsYWNlaG9sZGVyKFRva2VuU3Vic3RpdHV0aW9uS2V5LlRvSlNPTkZhaWxlZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGlmIChkZXB0aCA+IGZ1bGxPcHRpb25zLm1heERlcHRoKSB7XG4gICAgICAgIHJldHVybiBtYWtlUGxhY2Vob2xkZXIoVG9rZW5TdWJzdGl0dXRpb25LZXkuTWF4RGVwdGhMaW1pdFJlYWNoZWRBcnJheSwgdmFsdWUubGVuZ3RoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoaXRlbSwgaW5kZXgpID0+IHRvUGxhaW5PYmplY3QoaXRlbSwgaW5kZXgudG9TdHJpbmcoKSwgZGVwdGggKyAxLCBjYW5Vc2VUb0pTT04pKTtcbiAgICB9XG5cbiAgICBpZiAoZGVwdGggPiBmdWxsT3B0aW9ucy5tYXhEZXB0aCkge1xuICAgICAgcmV0dXJuIG1ha2VQbGFjZWhvbGRlcihUb2tlblN1YnN0aXR1dGlvbktleS5NYXhEZXB0aExpbWl0UmVhY2hlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKTtcbiAgICBpZiAoZnVsbE9wdGlvbnMuc2hvdWxkU29ydEtleXMpIHtcbiAgICAgIGVudHJpZXMuc29ydCgoW2tleTFdLCBba2V5Ml0pID0+IGtleTEubG9jYWxlQ29tcGFyZShrZXkyKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBba2V5LCB0b1BsYWluT2JqZWN0KHZhbHVlLCBrZXksIGRlcHRoICsgMSwgY2FuVXNlVG9KU09OKV0pKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfYXNzaWduV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzKHRhcmdldDogb2JqZWN0LCAuLi5zb3VyY2VzOiBvYmplY3RbXSk6IG9iamVjdCB7XG4gIGZvciAoY29uc3Qgc291cmNlIG9mIHNvdXJjZXMpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICB9XG5cbiAgY29uc3Qgc291cmNlUHJvdG90eXBlcyA9IChzb3VyY2VzLm1hcCgoc291cmNlKSA9PiBnZXRQcm90b3R5cGVPZihzb3VyY2UpKSBhcyAobnVsbCB8IG9iamVjdClbXSkuZmlsdGVyPG51bGwgfCBvYmplY3Q+KChwcm90bykgPT4gISFwcm90bykgYXMgb2JqZWN0W107XG5cbiAgaWYgKHNvdXJjZVByb3RvdHlwZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHRhcmdldFByb3RvdHlwZSA9IF9hc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMoe30sIGdldFByb3RvdHlwZU9mKHRhcmdldCksIC4uLnNvdXJjZVByb3RvdHlwZXMpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0YXJnZXQsIHRhcmdldFByb3RvdHlwZSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5mdW5jdGlvbiBhcHBseVN1YnN0aXR1dGlvbnMob3B0aW9uczogQXBwbHlTdWJzdGl0dXRpb25zT3B0aW9ucyk6IHN0cmluZyB8IHZvaWQge1xuICBzd2l0Y2ggKG9wdGlvbnMua2V5KSB7XG4gICAgY2FzZSBUb2tlblN1YnN0aXR1dGlvbktleS5DaXJjdWxhclJlZmVyZW5jZTpcbiAgICAgIHJldHVybiBvcHRpb25zLnN1YnN0aXR1dGlvbnMuY2lyY3VsYXJSZWZlcmVuY2U7XG4gICAgY2FzZSBUb2tlblN1YnN0aXR1dGlvbktleS5GdW5jdGlvbjpcbiAgICAgIHJldHVybiBvcHRpb25zLmZ1bmN0aW9uVGV4dHNbb3B0aW9ucy5pbmRleF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcihgRnVuY3Rpb24gd2l0aCBpbmRleCAke29wdGlvbnMuaW5kZXgudG9TdHJpbmcoKX0gbm90IGZvdW5kYCkpO1xuICAgIGNhc2UgVG9rZW5TdWJzdGl0dXRpb25LZXkuTWF4RGVwdGhMaW1pdFJlYWNoZWQ6XG4gICAgICByZXR1cm4gb3B0aW9ucy5zdWJzdGl0dXRpb25zLm1heERlcHRoTGltaXRSZWFjaGVkO1xuICAgIGNhc2UgVG9rZW5TdWJzdGl0dXRpb25LZXkuTWF4RGVwdGhMaW1pdFJlYWNoZWRBcnJheTpcbiAgICAgIHJldHVybiBgQXJyYXkoJHtvcHRpb25zLmluZGV4LnRvU3RyaW5nKCl9KWA7XG4gICAgY2FzZSBUb2tlblN1YnN0aXR1dGlvbktleS5Ub0pTT05GYWlsZWQ6XG4gICAgICByZXR1cm4gb3B0aW9ucy5zdWJzdGl0dXRpb25zLnRvSlNPTkZhaWxlZDtcbiAgICBjYXNlIFRva2VuU3Vic3RpdHV0aW9uS2V5LlVuZGVmaW5lZDpcbiAgICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VPYmplY3RUb2tlblN1YnN0aXR1dGlvbihrZXk6IFRva2VuU3Vic3RpdHV0aW9uS2V5KTogc3RyaW5nIHtcbiAgcmV0dXJuIGB7IFwiW1ske2tleX1dXVwiOiBudWxsIH1gO1xufVxuXG5mdW5jdGlvbiBtYWtlUGxhY2Vob2xkZXIoa2V5OiBUb2tlblN1YnN0aXR1dGlvbktleSwgaW5kZXg/OiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gYFtbJHtrZXl9JHtpbmRleD8udG9TdHJpbmcoKSA/PyAnJ31dXWA7XG59XG4iXSwKICAibWFw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Qy9DO0FBRUEsU0FBTztBQUNUO0FBR0EsU0FBUyxtQkFBbUIsU0FBbUQ7QUFDN0UsVUFBUSxRQUFRLEtBQUs7QUFBQSxJQUNuQixLQUFLO0FBQ0gsYUFBTyxRQUFRLGNBQWM7QUFBQSxJQUMvQixLQUFLO0FBQ0gsYUFBTyxRQUFRLGNBQWMsUUFBUSxLQUFLLFNBQUssOEJBQWdCLElBQUksTUFBTSx1QkFBdUIsUUFBUSxNQUFNLFNBQVMsQ0FBQyxZQUFZLENBQUM7QUFBQSxJQUN2SSxLQUFLO0FBQ0gsYUFBTyxRQUFRLGNBQWM7QUFBQSxJQUMvQixLQUFLO0FBQ0gsYUFBTyxTQUFTLFFBQVEsTUFBTSxTQUFTLENBQUM7QUFBQSxJQUMxQyxLQUFLO0FBQ0gsYUFBTyxRQUFRLGNBQWM7QUFBQSxJQUMvQixLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1Q7QUFDRTtBQUFBLEVBQ0o7QUFDRjtBQUVBLFNBQVMsNEJBQTRCLEtBQW1DO0FBQ3RFLFNBQU8sUUFBUSxHQUFHO0FBQ3BCO0FBRUEsU0FBUyxnQkFBZ0IsS0FBMkIsT0FBd0I7QUFDMUUsU0FBTyxLQUFLLEdBQUcsR0FBRyxPQUFPLFNBQVMsS0FBSyxFQUFFO0FBQzNDOyIsCiAgIm5hbWVzIjogWyJGdW5jdGlvbkhhbmRsaW5nTW9kZSIsICJ2YWx1ZSIsICJrZXkiXQp9Cg==
|
@@ -37,7 +37,12 @@ var import_ValueProvider = require('../ValueProvider.cjs');
|
|
37
37
|
var import_FileSystem = require('./FileSystem.cjs');
|
38
38
|
var import_Frontmatter = require('./Frontmatter.cjs');
|
39
39
|
var import_Vault = require('./Vault.cjs');
|
40
|
-
var __process = globalThis["process"] ?? {
|
40
|
+
var __process = globalThis["process"] ?? {
|
41
|
+
"browser": true,
|
42
|
+
"cwd": "[[Function0]]",
|
43
|
+
"env": {},
|
44
|
+
"platform": "android"
|
45
|
+
};
|
41
46
|
async function applyFileChanges(app, pathOrFile, changesProvider, processOptions = {}) {
|
42
47
|
await (0, import_Vault.process)(app, pathOrFile, async (content) => {
|
43
48
|
let changes = await (0, import_ValueProvider.resolveValue)(changesProvider);
|
@@ -139,4 +144,4 @@ function isFrontmatterChange(fileChange) {
|
|
139
144
|
isContentChange,
|
140
145
|
isFrontmatterChange
|
141
146
|
});
|
142
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1wiYnJvd3NlclwiOnRydWUsXCJjd2RcIjpcIltbRnVuY3Rpb246MF1dXCIsXCJlbnZcIjp7fSxcInBsYXRmb3JtXCI6XCJhbmRyb2lkXCJ9O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRmlsZUNoYW5nZVxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHtcbiAgZGVlcEVxdWFsLFxuICBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlXG59IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB7XG4gIGdldFBhdGgsXG4gIGlzQ2FudmFzRmlsZVxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgcGFyc2VGcm9udG1hdHRlcixcbiAgc2V0RnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnRlbnQgYm9keSBjaGFuZ2UgaW4gdGhlIFZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRDaGFuZ2UgZXh0ZW5kcyBGaWxlQ2hhbmdlIHtcbiAgLyoqXG4gICAgICogVGhlIGVuZCBpbmRleCBvZiB0aGUgY2hhbmdlIGluIHRoZSBmaWxlIGNvbnRlbnQuXG4gICAgICovXG4gIGVuZEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAgICogVGhlIHN0YXJ0IGluZGV4IG9mIHRoZSBjaGFuZ2UgaW4gdGhlIGZpbGUgY29udGVudC5cbiAgICAgKi9cbiAgc3RhcnRJbmRleDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBmaWxlIGNoYW5nZSBpbiB0aGUgVmF1bHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUNoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgbmV3IGNvbnRlbnQgdG8gcmVwbGFjZSB0aGUgb2xkIGNvbnRlbnQuXG4gICAqL1xuICBuZXdDb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgY29udGVudCB0aGF0IHdpbGwgYmUgcmVwbGFjZWQuXG4gICAqL1xuICBvbGRDb250ZW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZyb250bWF0dGVyIGNoYW5nZSBpbiB0aGUgVmF1bHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRtYXR0ZXJDaGFuZ2UgZXh0ZW5kcyBGaWxlQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBrZXkgaW4gdGhlIGZyb250bWF0dGVyIHRvIHVzZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBmcm9udG1hdHRlcktleTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgYSBzZXJpZXMgb2YgZmlsZSBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZSB3aGVyZSB0aGUgZmlsZSBjaGFuZ2VzIHdpbGwgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBjaGFuZ2VzUHJvdmlkZXIgLSBBIHByb3ZpZGVyIHRoYXQgcmV0dXJucyBhbiBhcnJheSBvZiBmaWxlIGNoYW5nZXMgdG8gYXBwbHkuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGx5RmlsZUNoYW5nZXMoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10+LCBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwcm9jZXNzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBsZXQgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuICAgIGNvbnN0IGZyb250bWF0dGVyID0gaXNDYW52YXNGaWxlKGFwcCwgcGF0aE9yRmlsZSkgPyBKU09OLnBhcnNlKGNvbnRlbnQpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IDogcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcblxuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gY29udGVudC5zbGljZShjaGFuZ2Uuc3RhcnRJbmRleCwgY2hhbmdlLmVuZEluZGV4KTtcbiAgICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICAgIGVuZEluZGV4OiBjaGFuZ2UuZW5kSW5kZXgsXG4gICAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgICAgcGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLFxuICAgICAgICAgICAgc3RhcnRJbmRleDogY2hhbmdlLnN0YXJ0SW5kZXhcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgY2hhbmdlLmZyb250bWF0dGVyS2V5KTtcbiAgICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLmZyb250bWF0dGVyS2V5LFxuICAgICAgICAgICAgcGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGlzQ29udGVudENoYW5nZShhKSAmJiBpc0NvbnRlbnRDaGFuZ2UoYikpIHtcbiAgICAgICAgcmV0dXJuIGEuc3RhcnRJbmRleCAtIGIuc3RhcnRJbmRleDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoYSkgJiYgaXNGcm9udG1hdHRlckNoYW5nZShiKSkge1xuICAgICAgICByZXR1cm4gYS5mcm9udG1hdHRlcktleS5sb2NhbGVDb21wYXJlKGIuZnJvbnRtYXR0ZXJLZXkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXNDb250ZW50Q2hhbmdlKGEpID8gLTEgOiAxO1xuICAgIH0pO1xuXG4gICAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gICAgY2hhbmdlcyA9IGNoYW5nZXMuZmlsdGVyKChjaGFuZ2UsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoY2hhbmdlLm9sZENvbnRlbnQgPT09IGNoYW5nZS5uZXdDb250ZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGVlcEVxdWFsKGNoYW5nZSwgY2hhbmdlc1tpbmRleCAtIDFdKTtcbiAgICB9KTtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICAgIGlmICghY2hhbmdlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJldmlvdXNDaGFuZ2UgPSBjaGFuZ2VzW2kgLSAxXTtcbiAgICAgIGlmICghcHJldmlvdXNDaGFuZ2UpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UocHJldmlvdXNDaGFuZ2UpICYmIGlzQ29udGVudENoYW5nZShjaGFuZ2UpICYmIHByZXZpb3VzQ2hhbmdlLmVuZEluZGV4ICYmIGNoYW5nZS5zdGFydEluZGV4ICYmIHByZXZpb3VzQ2hhbmdlLmVuZEluZGV4ID4gY2hhbmdlLnN0YXJ0SW5kZXgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdPdmVybGFwcGluZyBjaGFuZ2VzJywge1xuICAgICAgICAgIGNoYW5nZSxcbiAgICAgICAgICBwcmV2aW91c0NoYW5nZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvbnRlbnQgPSAnJztcbiAgICBsZXQgbGFzdEluZGV4ID0gMDtcbiAgICBsZXQgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgICAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCwgY2hhbmdlLnN0YXJ0SW5kZXgpO1xuICAgICAgICBuZXdDb250ZW50ICs9IGNoYW5nZS5uZXdDb250ZW50O1xuICAgICAgICBsYXN0SW5kZXggPSBjaGFuZ2UuZW5kSW5kZXg7XG4gICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UuZnJvbnRtYXR0ZXJLZXksIGNoYW5nZS5uZXdDb250ZW50KTtcbiAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgcGF0aE9yRmlsZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShmcm9udG1hdHRlciwgbnVsbCwgJ1xcdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb250ZW50ICs9IGNvbnRlbnQuc2xpY2UobGFzdEluZGV4KTtcbiAgICAgIGlmIChmcm9udG1hdHRlckNoYW5nZWQpIHtcbiAgICAgICAgbmV3Q29udGVudCA9IHNldEZyb250bWF0dGVyKG5ld0NvbnRlbnQsIGZyb250bWF0dGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld0NvbnRlbnQ7XG4gIH0sIHByb2Nlc3NPcHRpb25zKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNvbnRlbnQgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjb250ZW50IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGVudENoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBDb250ZW50Q2hhbmdlIHtcbiAgcmV0dXJuIChmaWxlQ2hhbmdlIGFzIFBhcnRpYWw8Q29udGVudENoYW5nZT4pLnN0YXJ0SW5kZXggIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gZmlsZUNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckNoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBGcm9udG1hdHRlckNoYW5nZSB7XG4gIHJldHVybiAoZmlsZUNoYW5nZSBhcyBQYXJ0aWFsPEZyb250bWF0dGVyQ2hhbmdlPikuZnJvbnRtYXR0ZXJLZXkgIT09IHVuZGVmaW5lZDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsb0JBSU87QUFDUCwyQkFBNkI7QUFDN0Isd0JBR087QUFDUCx5QkFHTztBQUNQLG1CQUF3QjtBQTFCeEIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLLEVBQUMsV0FBVSxNQUFLLE9BQU0sa0JBQWlCLE9BQU0sQ0FBQyxHQUFFLFlBQVcsVUFBUztBQThFN0csZUFBc0IsaUJBQWlCLEtBQVUsWUFBd0IsaUJBQThDLGlCQUFpQyxDQUFDLEdBQWtCO0FBQ3pLLFlBQU0sc0JBQVEsS0FBSyxZQUFZLE9BQU8sWUFBWTtBQUNoRCxRQUFJLFVBQVUsVUFBTSxtQ0FBYSxlQUFlO0FBQ2hELFVBQU0sa0JBQWMsZ0NBQWEsS0FBSyxVQUFVLElBQUksS0FBSyxNQUFNLE9BQU8sUUFBK0IscUNBQWlCLE9BQU87QUFFN0gsZUFBVyxVQUFVLFNBQVM7QUFDNUIsVUFBSSxnQkFBZ0IsTUFBTSxHQUFHO0FBQzNCLGNBQU0sZ0JBQWdCLFFBQVEsTUFBTSxPQUFPLFlBQVksT0FBTyxRQUFRO0FBQ3RFLFlBQUksa0JBQWtCLE9BQU8sWUFBWTtBQUN2QyxrQkFBUSxLQUFLLG9CQUFvQjtBQUFBLFlBQy9CO0FBQUEsWUFDQSxVQUFVLE9BQU87QUFBQSxZQUNqQixpQkFBaUIsT0FBTztBQUFBLFlBQ3hCLFVBQU0sMkJBQVEsS0FBSyxVQUFVO0FBQUEsWUFDN0IsWUFBWSxPQUFPO0FBQUEsVUFDckIsQ0FBQztBQUVELGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0YsV0FBVyxvQkFBb0IsTUFBTSxHQUFHO0FBQ3RDLGNB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
|
147
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVDaGFuZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gRmlsZUNoYW5nZVxuICogQ29udGFpbnMgdXRpbGl0eSB0eXBlcyBhbmQgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBmaWxlIGNoYW5nZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc09wdGlvbnMgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuaW1wb3J0IHtcbiAgZGVlcEVxdWFsLFxuICBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlXG59IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB7XG4gIGdldFBhdGgsXG4gIGlzQ2FudmFzRmlsZVxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgcGFyc2VGcm9udG1hdHRlcixcbiAgc2V0RnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBwcm9jZXNzIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnRlbnQgYm9keSBjaGFuZ2UgaW4gdGhlIFZhdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRDaGFuZ2UgZXh0ZW5kcyBGaWxlQ2hhbmdlIHtcbiAgLyoqXG4gICAgICogVGhlIGVuZCBpbmRleCBvZiB0aGUgY2hhbmdlIGluIHRoZSBmaWxlIGNvbnRlbnQuXG4gICAgICovXG4gIGVuZEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAgICogVGhlIHN0YXJ0IGluZGV4IG9mIHRoZSBjaGFuZ2UgaW4gdGhlIGZpbGUgY29udGVudC5cbiAgICAgKi9cbiAgc3RhcnRJbmRleDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBmaWxlIGNoYW5nZSBpbiB0aGUgVmF1bHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUNoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgbmV3IGNvbnRlbnQgdG8gcmVwbGFjZSB0aGUgb2xkIGNvbnRlbnQuXG4gICAqL1xuICBuZXdDb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgY29udGVudCB0aGF0IHdpbGwgYmUgcmVwbGFjZWQuXG4gICAqL1xuICBvbGRDb250ZW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZyb250bWF0dGVyIGNoYW5nZSBpbiB0aGUgVmF1bHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRtYXR0ZXJDaGFuZ2UgZXh0ZW5kcyBGaWxlQ2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBrZXkgaW4gdGhlIGZyb250bWF0dGVyIHRvIHVzZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBmcm9udG1hdHRlcktleTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgYSBzZXJpZXMgb2YgZmlsZSBjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZSB3aGVyZSB0aGUgZmlsZSBjaGFuZ2VzIHdpbGwgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byB3aGljaCB0aGUgY2hhbmdlcyBzaG91bGQgYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBjaGFuZ2VzUHJvdmlkZXIgLSBBIHByb3ZpZGVyIHRoYXQgcmV0dXJucyBhbiBhcnJheSBvZiBmaWxlIGNoYW5nZXMgdG8gYXBwbHkuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmlsZSBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGx5RmlsZUNoYW5nZXMoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGNoYW5nZXNQcm92aWRlcjogVmFsdWVQcm92aWRlcjxGaWxlQ2hhbmdlW10+LCBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwcm9jZXNzKGFwcCwgcGF0aE9yRmlsZSwgYXN5bmMgKGNvbnRlbnQpID0+IHtcbiAgICBsZXQgY2hhbmdlcyA9IGF3YWl0IHJlc29sdmVWYWx1ZShjaGFuZ2VzUHJvdmlkZXIpO1xuICAgIGNvbnN0IGZyb250bWF0dGVyID0gaXNDYW52YXNGaWxlKGFwcCwgcGF0aE9yRmlsZSkgPyBKU09OLnBhcnNlKGNvbnRlbnQpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IDogcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcblxuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gY29udGVudC5zbGljZShjaGFuZ2Uuc3RhcnRJbmRleCwgY2hhbmdlLmVuZEluZGV4KTtcbiAgICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICAgIGVuZEluZGV4OiBjaGFuZ2UuZW5kSW5kZXgsXG4gICAgICAgICAgICBleHBlY3RlZENvbnRlbnQ6IGNoYW5nZS5vbGRDb250ZW50LFxuICAgICAgICAgICAgcGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpLFxuICAgICAgICAgICAgc3RhcnRJbmRleDogY2hhbmdlLnN0YXJ0SW5kZXhcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBjb25zdCBhY3R1YWxDb250ZW50ID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udG1hdHRlciwgY2hhbmdlLmZyb250bWF0dGVyS2V5KTtcbiAgICAgICAgaWYgKGFjdHVhbENvbnRlbnQgIT09IGNoYW5nZS5vbGRDb250ZW50KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdDb250ZW50IG1pc21hdGNoJywge1xuICAgICAgICAgICAgYWN0dWFsQ29udGVudCxcbiAgICAgICAgICAgIGV4cGVjdGVkQ29udGVudDogY2hhbmdlLm9sZENvbnRlbnQsXG4gICAgICAgICAgICBmcm9udG1hdHRlcktleTogY2hhbmdlLmZyb250bWF0dGVyS2V5LFxuICAgICAgICAgICAgcGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGlzQ29udGVudENoYW5nZShhKSAmJiBpc0NvbnRlbnRDaGFuZ2UoYikpIHtcbiAgICAgICAgcmV0dXJuIGEuc3RhcnRJbmRleCAtIGIuc3RhcnRJbmRleDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoYSkgJiYgaXNGcm9udG1hdHRlckNoYW5nZShiKSkge1xuICAgICAgICByZXR1cm4gYS5mcm9udG1hdHRlcktleS5sb2NhbGVDb21wYXJlKGIuZnJvbnRtYXR0ZXJLZXkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXNDb250ZW50Q2hhbmdlKGEpID8gLTEgOiAxO1xuICAgIH0pO1xuXG4gICAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gICAgY2hhbmdlcyA9IGNoYW5nZXMuZmlsdGVyKChjaGFuZ2UsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoY2hhbmdlLm9sZENvbnRlbnQgPT09IGNoYW5nZS5uZXdDb250ZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGVlcEVxdWFsKGNoYW5nZSwgY2hhbmdlc1tpbmRleCAtIDFdKTtcbiAgICB9KTtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICAgIGlmICghY2hhbmdlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJldmlvdXNDaGFuZ2UgPSBjaGFuZ2VzW2kgLSAxXTtcbiAgICAgIGlmICghcHJldmlvdXNDaGFuZ2UpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0NvbnRlbnRDaGFuZ2UocHJldmlvdXNDaGFuZ2UpICYmIGlzQ29udGVudENoYW5nZShjaGFuZ2UpICYmIHByZXZpb3VzQ2hhbmdlLmVuZEluZGV4ICYmIGNoYW5nZS5zdGFydEluZGV4ICYmIHByZXZpb3VzQ2hhbmdlLmVuZEluZGV4ID4gY2hhbmdlLnN0YXJ0SW5kZXgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdPdmVybGFwcGluZyBjaGFuZ2VzJywge1xuICAgICAgICAgIGNoYW5nZSxcbiAgICAgICAgICBwcmV2aW91c0NoYW5nZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvbnRlbnQgPSAnJztcbiAgICBsZXQgbGFzdEluZGV4ID0gMDtcbiAgICBsZXQgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgICBpZiAoaXNDb250ZW50Q2hhbmdlKGNoYW5nZSkpIHtcbiAgICAgICAgbmV3Q29udGVudCArPSBjb250ZW50LnNsaWNlKGxhc3RJbmRleCwgY2hhbmdlLnN0YXJ0SW5kZXgpO1xuICAgICAgICBuZXdDb250ZW50ICs9IGNoYW5nZS5uZXdDb250ZW50O1xuICAgICAgICBsYXN0SW5kZXggPSBjaGFuZ2UuZW5kSW5kZXg7XG4gICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJDaGFuZ2UoY2hhbmdlKSkge1xuICAgICAgICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBjaGFuZ2UuZnJvbnRtYXR0ZXJLZXksIGNoYW5nZS5uZXdDb250ZW50KTtcbiAgICAgICAgZnJvbnRtYXR0ZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgcGF0aE9yRmlsZSkpIHtcbiAgICAgIG5ld0NvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShmcm9udG1hdHRlciwgbnVsbCwgJ1xcdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb250ZW50ICs9IGNvbnRlbnQuc2xpY2UobGFzdEluZGV4KTtcbiAgICAgIGlmIChmcm9udG1hdHRlckNoYW5nZWQpIHtcbiAgICAgICAgbmV3Q29udGVudCA9IHNldEZyb250bWF0dGVyKG5ld0NvbnRlbnQsIGZyb250bWF0dGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld0NvbnRlbnQ7XG4gIH0sIHByb2Nlc3NPcHRpb25zKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGNvbnRlbnQgY2hhbmdlLlxuICpcbiAqIEBwYXJhbSBmaWxlQ2hhbmdlIC0gVGhlIGZpbGUgY2hhbmdlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjaGFuZ2UgaXMgYSBjb250ZW50IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGVudENoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBDb250ZW50Q2hhbmdlIHtcbiAgcmV0dXJuIChmaWxlQ2hhbmdlIGFzIFBhcnRpYWw8Q29udGVudENoYW5nZT4pLnN0YXJ0SW5kZXggIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBmaWxlIGNoYW5nZSBpcyBhIGZyb250bWF0dGVyIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gZmlsZUNoYW5nZSAtIFRoZSBmaWxlIGNoYW5nZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgY2hhbmdlIGlzIGEgZnJvbnRtYXR0ZXIgY2hhbmdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckNoYW5nZShmaWxlQ2hhbmdlOiBGaWxlQ2hhbmdlKTogZmlsZUNoYW5nZSBpcyBGcm9udG1hdHRlckNoYW5nZSB7XG4gIHJldHVybiAoZmlsZUNoYW5nZSBhcyBQYXJ0aWFsPEZyb250bWF0dGVyQ2hhbmdlPikuZnJvbnRtYXR0ZXJLZXkgIT09IHVuZGVmaW5lZDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUJBLG9CQUlPO0FBQ1AsMkJBQTZCO0FBQzdCLHdCQUdPO0FBQ1AseUJBR087QUFDUCxtQkFBd0I7QUEvQnhCLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU87QUFBQSxFQUNQLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBOEVBLGVBQXNCLGlCQUFpQixLQUFVLFlBQXdCLGlCQUE4QyxpQkFBaUMsQ0FBQyxHQUFrQjtBQUN6SyxZQUFNLHNCQUFRLEtBQUssWUFBWSxPQUFPLFlBQVk7QUFDaEQsUUFBSSxVQUFVLFVBQU0sbUNBQWEsZUFBZTtBQUNoRCxVQUFNLGtCQUFjLGdDQUFhLEtBQUssVUFBVSxJQUFJLEtBQUssTUFBTSxPQUFPLFFBQStCLHFDQUFpQixPQUFPO0FBRTdILGVBQVcsVUFBVSxTQUFTO0FBQzVCLFVBQUksZ0JBQWdCLE1BQU0sR0FBRztBQUMzQixjQUFNLGdCQUFnQixRQUFRLE1BQU0sT0FBTyxZQUFZLE9BQU8sUUFBUTtBQUN0RSxZQUFJLGtCQUFrQixPQUFPLFlBQVk7QUFDdkMsa0JBQVEsS0FBSyxvQkFBb0I7QUFBQSxZQUMvQjtBQUFBLFlBQ0EsVUFBVSxPQUFPO0FBQUEsWUFDakIsaUJBQWlCLE9BQU87QUFBQSxZQUN4QixVQUFNLDJCQUFRLEtBQUssVUFBVTtBQUFBLFlBQzdCLFlBQVksT0FBTztBQUFBLFVBQ3JCLENBQUM7QUFFRCxpQkFBTztBQUFBLFFBQ1Q7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
|
@@ -36,7 +36,12 @@ var import_Object = require('../Object.cjs');
|
|
36
36
|
var import_FileSystem = require('./FileSystem.cjs');
|
37
37
|
var import_Frontmatter = require('./Frontmatter.cjs');
|
38
38
|
var import_Vault = require('./Vault.cjs');
|
39
|
-
var __process = globalThis["process"] ?? {
|
39
|
+
var __process = globalThis["process"] ?? {
|
40
|
+
"browser": true,
|
41
|
+
"cwd": "[[Function0]]",
|
42
|
+
"env": {},
|
43
|
+
"platform": "android"
|
44
|
+
};
|
40
45
|
async function addAlias(app, pathOrFile, alias) {
|
41
46
|
if (!alias) {
|
42
47
|
return;
|
@@ -89,4 +94,4 @@ async function processFrontmatter(app, pathOrFile, frontmatterFn, processOptions
|
|
89
94
|
deleteAlias,
|
90
95
|
processFrontmatter
|
91
96
|
});
|
92
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/
|
97
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVNYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIEZpbGVNYW5hZ2VyXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbWFuYWdpbmcgZmlsZXMgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzT3B0aW9ucyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHsgZ2V0RmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBwYXJzZUZyb250bWF0dGVyLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL0Zyb250bWF0dGVyLnRzJztcbmltcG9ydCB7IHByb2Nlc3MgfSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBBZGRzIGFuIGFsaWFzIHRvIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gYWxpYXMgLSBUaGUgYWxpYXMgdG8gYWRkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYWxpYXMgaGFzIGJlZW4gYWRkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChhbGlhcyA9PT0gZmlsZS5iYXNlbmFtZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcykge1xuICAgICAgZnJvbnRtYXR0ZXIuYWxpYXNlcyA9IFtdO1xuICAgIH1cblxuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcy5pbmNsdWRlcyhhbGlhcykpIHtcbiAgICAgIGZyb250bWF0dGVyLmFsaWFzZXMucHVzaChhbGlhcyk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBEZWxldGVzIGFuIGFsaWFzIGZyb20gdGhlIGZyb250IG1hdHRlciBvZiBhIGdpdmVuIGZpbGUgaWYgaXQgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBub3RlLlxuICogQHBhcmFtIGFsaWFzIC0gVGhlIGFsaWFzIHRvIGRlbGV0ZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGFsaWFzIGhhcyBiZWVuIGRlbGV0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVBbGlhcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgYWxpYXM/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFhbGlhcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IHByb2Nlc3NGcm9udG1hdHRlcihhcHAsIHBhdGhPckZpbGUsIChmcm9udG1hdHRlcikgPT4ge1xuICAgIGlmICghZnJvbnRtYXR0ZXIuYWxpYXNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZyb250bWF0dGVyLmFsaWFzZXMgPSBmcm9udG1hdHRlci5hbGlhc2VzLmZpbHRlcigoYSkgPT4gYSAhPSBhbGlhcyk7XG5cbiAgICBpZiAoZnJvbnRtYXR0ZXIuYWxpYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBmcm9udG1hdHRlci5hbGlhc2VzO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIHRoZSBmcm9udCBtYXR0ZXIgb2YgYSBnaXZlbiBmaWxlLCBhbGxvd2luZyBtb2RpZmljYXRpb25zIHZpYSBhIHByb3ZpZGVkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQ3VzdG9tRnJvbnRtYXR0ZXIgLSBUaGUgdHlwZSBvZiBjdXN0b20gZnJvbnQgbWF0dGVyLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIFRGaWxlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG5vdGUuXG4gKiBAcGFyYW0gZnJvbnRtYXR0ZXJGbiAtIEEgZnVuY3Rpb24gdGhhdCBtb2RpZmllcyB0aGUgZnJvbnQgbWF0dGVyLlxuICogQHBhcmFtIHByb2Nlc3NPcHRpb25zIC0gT3B0aW9uYWwuIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIHByb2Nlc3MuIElmIG5vdCBwcm92aWRlZCwgZGVmYXVsdCBvcHRpb25zIHdpbGwgYmUgdXNlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZyb250IG1hdHRlciBoYXMgYmVlbiBwcm9jZXNzZWQgYW5kIHNhdmVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0Zyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGZyb250bWF0dGVyRm46IChmcm9udG1hdHRlcjogQ29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4pID0+IE1heWJlUHJvbWlzZTxudWxsIHwgdm9pZD4sIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGZpbGUsIGFzeW5jIChjb250ZW50KSA9PiB7XG4gICAgY29uc3Qgb2xkRnJvbnRtYXR0ZXIgPSBwYXJzZUZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPihjb250ZW50KTtcbiAgICBjb25zdCBuZXdGcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+KGNvbnRlbnQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZyb250bWF0dGVyRm4obmV3RnJvbnRtYXR0ZXIpO1xuICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChkZWVwRXF1YWwob2xkRnJvbnRtYXR0ZXIsIG5ld0Zyb250bWF0dGVyKSkge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNldEZyb250bWF0dGVyKGNvbnRlbnQsIG5ld0Zyb250bWF0dGVyKTtcbiAgfSwgcHJvY2Vzc09wdGlvbnMpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrQkEsb0JBQTBCO0FBQzFCLHdCQUF3QjtBQUN4Qix5QkFHTztBQUNQLG1CQUF3QjtBQXhCeEIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUE2QkEsZUFBc0IsU0FBUyxLQUFVLFlBQXdCLE9BQStCO0FBQzlGLE1BQUksQ0FBQyxPQUFPO0FBQ1Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFPLDJCQUFRLEtBQUssVUFBVTtBQUNwQyxNQUFJLFVBQVUsS0FBSyxVQUFVO0FBQzNCO0FBQUEsRUFDRjtBQUVBLFFBQU0sbUJBQW1CLEtBQUssWUFBWSxDQUFDLGdCQUFnQjtBQUN6RCxRQUFJLENBQUMsWUFBWSxTQUFTO0FBQ3hCLGtCQUFZLFVBQVUsQ0FBQztBQUFBLElBQ3pCO0FBRUEsUUFBSSxDQUFDLFlBQVksUUFBUSxTQUFTLEtBQUssR0FBRztBQUN4QyxrQkFBWSxRQUFRLEtBQUssS0FBSztBQUFBLElBQ2hDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFVQSxlQUFzQixZQUFZLEtBQVUsWUFBd0IsT0FBK0I7QUFDakcsTUFBSSxDQUFDLE9BQU87QUFDVjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLG1CQUFtQixLQUFLLFlBQVksQ0FBQyxnQkFBZ0I7QUFDekQsUUFBSSxDQUFDLFlBQVksU0FBUztBQUN4QjtBQUFBLElBQ0Y7QUFFQSxnQkFBWSxVQUFVLFlBQVksUUFBUSxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUs7QUFFbEUsUUFBSSxZQUFZLFFBQVEsV0FBVyxHQUFHO0FBQ3BDLGFBQU8sWUFBWTtBQUFBLElBQ3JCO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFhQSxlQUFzQixtQkFBZ0QsS0FBVSxZQUF3QixlQUFtRyxpQkFBaUMsQ0FBQyxHQUFrQjtBQUM3UCxRQUFNLFdBQU8sMkJBQVEsS0FBSyxVQUFVO0FBRXBDLFlBQU0sc0JBQVEsS0FBSyxNQUFNLE9BQU8sWUFBWTtBQUMxQyxVQUFNLHFCQUFpQixxQ0FBb0MsT0FBTztBQUNsRSxVQUFNLHFCQUFpQixxQ0FBb0MsT0FBTztBQUNsRSxVQUFNLFNBQVMsTUFBTSxjQUFjLGNBQWM7QUFDakQsUUFBSSxXQUFXLE1BQU07QUFDbkIsYUFBTztBQUFBLElBQ1Q7QUFFQSxZQUFJLHlCQUFVLGdCQUFnQixjQUFjLEdBQUc7QUFDN0MsYUFBTztBQUFBLElBQ1Q7QUFFQSxlQUFPLG1DQUFlLFNBQVMsY0FBYztBQUFBLEVBQy9DLEdBQUcsY0FBYztBQUNuQjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -33,7 +33,12 @@ __export(Frontmatter_exports, {
|
|
33
33
|
module.exports = __toCommonJS(Frontmatter_exports);
|
34
34
|
var import_obsidian = require('obsidian');
|
35
35
|
var import_String = require('../String.cjs');
|
36
|
-
var __process = globalThis["process"] ?? {
|
36
|
+
var __process = globalThis["process"] ?? {
|
37
|
+
"browser": true,
|
38
|
+
"cwd": "[[Function0]]",
|
39
|
+
"env": {},
|
40
|
+
"platform": "android"
|
41
|
+
};
|
37
42
|
function parseFrontmatter(content) {
|
38
43
|
const frontmatterInfo = (0, import_obsidian.getFrontMatterInfo)(content);
|
39
44
|
return (0, import_obsidian.parseYaml)(frontmatterInfo.frontmatter) ?? {};
|
@@ -51,4 +56,4 @@ function setFrontmatter(content, newFrontmatter) {
|
|
51
56
|
parseFrontmatter,
|
52
57
|
setFrontmatter
|
53
58
|
});
|
54
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250bWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/
|
59
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0Zyb250bWF0dGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJicm93c2VyXCI6IHRydWUsXG4gIFwiY3dkXCI6IFwiW1tGdW5jdGlvbjBdXVwiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIEZyb250bWF0dGVyXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBhbmQgbWFuYWdpbmcgWUFNTCBmcm9udCBtYXR0ZXIgaW4gT2JzaWRpYW4gbm90ZXMuXG4gKi9cblxuaW1wb3J0IHtcbiAgZ2V0RnJvbnRNYXR0ZXJJbmZvLFxuICBwYXJzZVlhbWwsXG4gIHN0cmluZ2lmeVlhbWxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpbnNlcnRBdCB9IGZyb20gJy4uL1N0cmluZy50cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29tYmluZWQgZnJvbnQgbWF0dGVyIG9mIGEgZG9jdW1lbnQuXG4gKiBJdCBpcyBhIHVuaW9uIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIsIE9ic2lkaWFuIGZyb250IG1hdHRlciwgYW5kIGFkZGl0aW9uYWwgcHJvcGVydGllcy5cbiAqIEB0eXBlUGFyYW0gQ3VzdG9tRnJvbnRtYXR0ZXIgLSBUaGUgdHlwZSBvZiBjdXN0b20gZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgdHlwZSBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPiA9IEN1c3RvbUZyb250bWF0dGVyICYgT2JzaWRpYW5Gcm9udG1hdHRlciAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZyb250IG1hdHRlciBvZiBhbiBPYnNpZGlhbiBmaWxlLlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9oZWxwLm9ic2lkaWFuLm1kL0VkaXRpbmcrYW5kK2Zvcm1hdHRpbmcvUHJvcGVydGllcyNEZWZhdWx0K3Byb3BlcnRpZXN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Gcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBhbGlhc2VzIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIG5vdGUuXG4gICAqL1xuICBjc3NjbGFzc2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRhZ3MgZm9yIHRoZSBub3RlLlxuICAgKi9cbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZyb250IG1hdHRlciBmb3IgcHVibGlzaGluZyBpbiBPYnNpZGlhbi5cbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaGVscC5vYnNpZGlhbi5tZC9FZGl0aW5nK2FuZCtmb3JtYXR0aW5nL1Byb3BlcnRpZXMjUHJvcGVydGllcytmb3IrT2JzaWRpYW4rUHVibGlzaH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblB1Ymxpc2hGcm9udG1hdHRlciB7XG4gIC8qKlxuICAgKiBUaGUgY292ZXIgaW1hZ2UgZm9yIHRoZSBub3RlLlxuICAgKi9cbiAgY292ZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIG5vdGUuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltYWdlIGZvciB0aGUgbm90ZS5cbiAgICovXG4gIGltYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWFuZW50IGxpbmsgZm9yIHRoZSBub3RlLlxuICAgKi9cbiAgcGVybWFsaW5rPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBub3RlIGlzIHB1Ymxpc2hlZC5cbiAgICovXG4gIHB1Ymxpc2g/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gY29udGVudCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCBzdHJpbmcgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGZyb250IG1hdHRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXIgPSB1bmtub3duPihjb250ZW50OiBzdHJpbmcpOiBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPiB7XG4gIGNvbnN0IGZyb250bWF0dGVySW5mbyA9IGdldEZyb250TWF0dGVySW5mbyhjb250ZW50KTtcbiAgcmV0dXJuIChwYXJzZVlhbWwoZnJvbnRtYXR0ZXJJbmZvLmZyb250bWF0dGVyKSA/PyB7fSkgYXMgQ29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj47XG59XG5cbi8qKlxuICogU2V0cyB0aGUgZnJvbnQgbWF0dGVyIG9mIGEgZ2l2ZW4gY29udGVudCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCBzdHJpbmcgdG8gc2V0IHRoZSBmcm9udCBtYXR0ZXIgaW4uXG4gKiBAcGFyYW0gbmV3RnJvbnRtYXR0ZXIgLSBUaGUgbmV3IGZyb250IG1hdHRlciB0byBzZXQuXG4gKiBAcmV0dXJucyBUaGUgbmV3IGNvbnRlbnQgc3RyaW5nIHdpdGggdGhlIGZyb250IG1hdHRlciBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRGcm9udG1hdHRlcihjb250ZW50OiBzdHJpbmcsIG5ld0Zyb250bWF0dGVyOiBvYmplY3QpOiBzdHJpbmcge1xuICBjb25zdCBmcm9udG1hdHRlckluZm8gPSBnZXRGcm9udE1hdHRlckluZm8oY29udGVudCk7XG4gIGlmIChPYmplY3Qua2V5cyhuZXdGcm9udG1hdHRlcikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQuc2xpY2UoZnJvbnRtYXR0ZXJJbmZvLmNvbnRlbnRTdGFydCk7XG4gIH1cblxuICBjb25zdCBuZXdGcm9udG1hdHRlclN0ciA9IHN0cmluZ2lmeVlhbWwobmV3RnJvbnRtYXR0ZXIpO1xuXG4gIHJldHVybiBmcm9udG1hdHRlckluZm8uZXhpc3RzXG4gICAgPyBpbnNlcnRBdChjb250ZW50LCBuZXdGcm9udG1hdHRlclN0ciwgZnJvbnRtYXR0ZXJJbmZvLmZyb20sIGZyb250bWF0dGVySW5mby50bylcbiAgICA6ICctLS1cXG4nICsgbmV3RnJvbnRtYXR0ZXJTdHIgKyAnLS0tXFxuJyArIGNvbnRlbnQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFJTztBQUVQLG9CQUF5QjtBQWpCekIsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUErRU8sU0FBUyxpQkFBOEMsU0FBeUQ7QUFDckgsUUFBTSxzQkFBa0Isb0NBQW1CLE9BQU87QUFDbEQsYUFBUSwyQkFBVSxnQkFBZ0IsV0FBVyxLQUFLLENBQUM7QUFDckQ7QUFTTyxTQUFTLGVBQWUsU0FBaUIsZ0JBQWdDO0FBQzlFLFFBQU0sc0JBQWtCLG9DQUFtQixPQUFPO0FBQ2xELE1BQUksT0FBTyxLQUFLLGNBQWMsRUFBRSxXQUFXLEdBQUc7QUFDNUMsV0FBTyxRQUFRLE1BQU0sZ0JBQWdCLFlBQVk7QUFBQSxFQUNuRDtBQUVBLFFBQU0sd0JBQW9CLCtCQUFjLGNBQWM7QUFFdEQsU0FBTyxnQkFBZ0IsYUFDbkIsd0JBQVMsU0FBUyxtQkFBbUIsZ0JBQWdCLE1BQU0sZ0JBQWdCLEVBQUUsSUFDN0UsVUFBVSxvQkFBb0IsVUFBVTtBQUM5QzsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -66,7 +66,12 @@ var import_FileSystem = require('./FileSystem.cjs');
|
|
66
66
|
var import_MetadataCache = require('./MetadataCache.cjs');
|
67
67
|
var import_ObsidianSettings = require('./ObsidianSettings.cjs');
|
68
68
|
var import_Reference = require('./Reference.cjs');
|
69
|
-
var __process = globalThis["process"] ?? {
|
69
|
+
var __process = globalThis["process"] ?? {
|
70
|
+
"browser": true,
|
71
|
+
"cwd": "[[Function0]]",
|
72
|
+
"env": {},
|
73
|
+
"platform": "android"
|
74
|
+
};
|
70
75
|
const SPECIAL_LINK_SYMBOLS_REGEXP = /[\\\x00\x08\x0B\x0C\x0E-\x1F ]/g;
|
71
76
|
const SPECIAL_MARKDOWN_LINK_SYMBOLS_REGEX = /[\\[\]<>_*~=`$]/g;
|
72
77
|
function convertLink(options) {
|
@@ -403,4 +408,4 @@ async function updateLinksInFile(options) {
|
|
403
408
|
updateLink,
|
404
409
|
updateLinksInFile
|
405
410
|
});
|
406
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1wiYnJvd3NlclwiOnRydWUsXCJjd2RcIjpcIltbRnVuY3Rpb246MF1dXCIsXCJlbnZcIjp7fSxcInBsYXRmb3JtXCI6XCJhbmRyb2lkXCJ9O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTGlua1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBoYW5kbGluZyBhbmQgdXBkYXRpbmcgbGlua3Mgd2l0aGluIE9ic2lkaWFuIHZhdWx0cy4gSXQgaW5jbHVkZXNcbiAqIGZ1bmN0aW9ucyB0byBzcGxpdCBwYXRocywgdXBkYXRlIGxpbmtzIGluIGZpbGVzLCBhbmQgZ2VuZXJhdGUgbWFya2Rvd24gbGlua3Mgd2l0aCB2YXJpb3VzIG9wdGlvbnMuXG4gKiBUaGUgZnVuY3Rpb25zIGludGVncmF0ZSB3aXRoIE9ic2lkaWFuJ3MgQVBJIHRvIGVuc3VyZSB0aGF0IGxpbmtzIGFyZSBtYW5hZ2VkIGNvcnJlY3RseSB3aXRoaW4gdGhlIHZhdWx0LlxuICoqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIExpbmssXG4gIFRleHRcbn0gZnJvbSAnbWRhc3QnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFJlZmVyZW5jZSxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZUxpbmt0ZXh0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IHJlbWFyayB9IGZyb20gJ3JlbWFyayc7XG5pbXBvcnQgcmVtYXJrUGFyc2UgZnJvbSAncmVtYXJrLXBhcnNlJztcbmltcG9ydCB7IHdpa2lMaW5rUGx1Z2luIH0gZnJvbSAncmVtYXJrLXdpa2ktbGluayc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBGaWxlQ2hhbmdlIH0gZnJvbSAnLi9GaWxlQ2hhbmdlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NPcHRpb25zIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgdG9Kc29uXG59IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgam9pbixcbiAgcmVsYXRpdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQge1xuICBub3JtYWxpemUsXG4gIHJlcGxhY2VBbGwsXG4gIHRyaW1TdGFydFxufSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgaXNVcmwgfSBmcm9tICcuLi91cmwudHMnO1xuaW1wb3J0IHsgYXBwbHlGaWxlQ2hhbmdlcyB9IGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRQYXRoLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlLFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIGdldEFsbExpbmtzLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuXG59IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5pbXBvcnQge1xuICBzaG91bGRVc2VSZWxhdGl2ZUxpbmtzLFxuICBzaG91bGRVc2VXaWtpbGlua3Ncbn0gZnJvbSAnLi9PYnNpZGlhblNldHRpbmdzLnRzJztcbmltcG9ydCB7IHJlZmVyZW5jZVRvRmlsZUNoYW5nZSB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBSZWd1bGFyIGV4cHJlc3Npb24gZm9yIHNwZWNpYWwgbGluayBzeW1ib2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuY29uc3QgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQID0gL1tcXFxcXFx4MDBcXHgwOFxceDBCXFx4MENcXHgwRS1cXHgxRiBdL2c7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIG1hcmtkb3duIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVggPSAvW1xcXFxbXFxdPD5fKn49YCRdL2c7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29udmVydGluZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVydExpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVwZGF0ZSBmaWxlbmFtZSBhbGlhcy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgZGVmYXVsdCBvcHRpb25zIGZvciBnZW5lcmF0aW5nIG1hcmtkb3duIGxpbmtzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdE9wdGlvbnNXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBkZWZhdWx0T3B0aW9uc0ZuOiAoKSA9PiBQYXJ0aWFsPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBhIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBhbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGVtYmVkZGVkLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIGZpbGUgdHlwZS5cbiAgICovXG4gIGlzRW1iZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IGFuIGVtcHR5IGFsaWFzIGZvciBlbWJlZHMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGlzRW1wdHlFbWJlZEFsaWFzQWxsb3dlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgbm9uLWV4aXN0aW5nIGZpbGVzLiBJZiBgZmFsc2VgIGFuZCBgcGF0aE9yRmlsZWAgaXMgYSBub24tZXhpc3RpbmcgZmlsZSwgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBpc05vbkV4aXN0aW5nRmlsZUFsbG93ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGEgd2lraWxpbmsuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBpc1dpa2lsaW5rPzogYm9vbGVhbjtcblxuICAvKipcbiAgICAqIFRoZSBvcmlnaW5hbCBsaW5rIHRleHQuIElmIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgdG8gaW5mZXIgdGhlIHZhbHVlcyBvZiBgaXNFbWJlZGAsIGBpc1dpa2lsaW5rYCwgYHVzZUxlYWRpbmdEb3RgLCBhbmQgYHVzZUFuZ2xlQnJhY2tldHNgLlxuICAgICogVGhlc2UgaW5mZXJyZWQgdmFsdWVzIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBjb3JyZXNwb25kaW5nIHNldHRpbmdzIGlmIHNwZWNpZmllZC5cbiAgICAqL1xuICBvcmlnaW5hbExpbms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgcmVsYXRpdmUuIElmIG5vdCBwcm92aWRlZCBvciBgZmFsc2VgLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHRoZSBhdHRhY2htZW50IGV4dGVuc2lvbiBpbiB0aGUgZW1iZWQgYWxpYXMuIEhhcyBubyBlZmZlY3QgaWYgYGFsbG93RW1wdHlFbWJlZEFsaWFzYCBpcyBgdHJ1ZWAuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRJbmNsdWRlQXR0YWNobWVudEV4dGVuc2lvblRvRW1iZWRBbGlhcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGFuZ2xlIGJyYWNrZXRzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWBcbiAgICovXG4gIHNob3VsZFVzZUFuZ2xlQnJhY2tldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhIGxlYWRpbmcgZG90LiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWAgb3IgYGlzUmVsYXRpdmVgIGlzIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRVc2VMZWFkaW5nRG90PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHBhdGggb3IgZmlsZS5cbiAgICovXG4gIHRhcmdldFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG59XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBwYXJzaW5nIGEgbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZUxpbmtSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBoYXMgYW5nbGUgYnJhY2tldHMuXG4gICAqL1xuICBoYXNBbmdsZUJyYWNrZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmsuXG4gICAqL1xuICBpc0VtYmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgZXh0ZXJuYWwuXG4gICAqL1xuICBpc0V4dGVybmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGEgd2lraWxpbmsuXG4gICAqL1xuICBpc1dpa2lsaW5rOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGxpbmsuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgbGluay5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRldGVybWluaW5nIGlmIHRoZSBhbGlhcyBvZiBhIGxpbmsgc2hvdWxkIGJlIHJlc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNob3VsZFJlc2V0QWxpYXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgdGV4dCBvZiB0aGUgbGluay5cbiAgICovXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhIHdpa2lsaW5rLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIG5ld1NvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG9sZFNvdXJjZVBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHRhcmdldCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkVGFyZ2V0UGF0aDogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCBwYXRoIG9yIGZpbGUuXG4gICAqL1xuICB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgbGluayBwYXRoLlxuICAgKi9cbiAgbGlua1BhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGguXG4gICAqL1xuICBzdWJwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFRhcmdldFBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIG1hcmtkb3duIGxpbmtzLlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHVwZGF0aW5nIGxpbmtzIGluIGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMgZXh0ZW5kcyBQcm9jZXNzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgb2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIHVwZGF0ZSB0aGUgbGlua3MgaW4uXG4gICAqL1xuICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHBhdGggb2YgdGhlIGZpbGUuXG4gICAqL1xuICBvbGRTb3VyY2VQYXRoT3JGaWxlPzogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgV2lraUxpbmtOb2RlIHtcbiAgZGF0YToge1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gIH07XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29udmVydGluZyB0aGUgbGluay5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRMaW5rKG9wdGlvbnM6IENvbnZlcnRMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBleHRyYWN0TGlua0ZpbGUob3B0aW9ucy5hcHAsIG9wdGlvbnMubGluaywgb3B0aW9ucy5vbGRTb3VyY2VQYXRoT3JGaWxlID8/IG9wdGlvbnMubmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGlmICghdGFyZ2V0RmlsZSkge1xuICAgIHJldHVybiBvcHRpb25zLmxpbmsub3JpZ2luYWw7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlTGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VXBkYXRlTGlua09wdGlvbnM+KHtcbiAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgIGxpbms6IG9wdGlvbnMubGluayxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzOiBvcHRpb25zLnNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzOiBvcHRpb25zLnNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSkpO1xufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZWRpdCB0aGUgYmFja2xpbmtzIGZvci5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHByb2Nlc3NPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJhY2tsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdEJhY2tsaW5rcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZSkgPT4gTWF5YmVQcm9taXNlPHN0cmluZyB8IHZvaWQ+LCBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIHBhdGhPckZpbGUsIHByb2Nlc3NPcHRpb25zKTtcbiAgZm9yIChjb25zdCBiYWNrbGlua05vdGVQYXRoIG9mIGJhY2tsaW5rcy5rZXlzKCkpIHtcbiAgICBjb25zdCBjdXJyZW50TGlua3MgPSBiYWNrbGlua3MuZ2V0KGJhY2tsaW5rTm90ZVBhdGgpID8/IFtdO1xuICAgIGNvbnN0IGxpbmtKc29ucyA9IG5ldyBTZXQ8c3RyaW5nPihjdXJyZW50TGlua3MubWFwKChsaW5rKSA9PiB0b0pzb24obGluaykpKTtcbiAgICBhd2FpdCBlZGl0TGlua3MoYXBwLCBiYWNrbGlua05vdGVQYXRoLCAobGluaykgPT4ge1xuICAgICAgY29uc3QgbGlua0pzb24gPSB0b0pzb24obGluayk7XG4gICAgICBpZiAoIWxpbmtKc29ucy5oYXMobGlua0pzb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgfSwgcHJvY2Vzc09wdGlvbnMpO1xuICB9XG59XG5cbi8qKlxuICogRWRpdHMgdGhlIGxpbmtzIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHVzaW5nIHRoZSBwcm92aWRlZCBsaW5rIGNvbnZlcnRlciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGxpbmtzIGluLlxuICogQHBhcmFtIGxpbmtDb252ZXJ0ZXIgLSBUaGUgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBlYWNoIGxpbmsuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdExpbmtzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGFwcGx5RmlsZUNoYW5nZXMoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlczogRmlsZUNoYW5nZVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgZ2V0QWxsTGlua3MoY2FjaGUpKSB7XG4gICAgICBjb25zdCBuZXdDb250ZW50ID0gYXdhaXQgbGlua0NvbnZlcnRlcihsaW5rKTtcbiAgICAgIGlmIChuZXdDb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZXMucHVzaChyZWZlcmVuY2VUb0ZpbGVDaGFuZ2UobGluaywgbmV3Q29udGVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBzb3VyY2VQYXRoT3JGaWxlIC0gVGhlIHNvdXJjZSBwYXRoIG9yIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGxpbmssIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExpbmtGaWxlKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2UsIHNvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKGFwcCwgc291cmNlUGF0aE9yRmlsZSkpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKG9wdGlvbnM6IEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYXBwIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4gPSAoYXBwLmZpbGVNYW5hZ2VyLmdlbmVyYXRlTWFya2Rvd25MaW5rIGFzIFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0T3B0aW9uc1dyYXBwZXI+KS5kZWZhdWx0T3B0aW9uc0ZuID8/ICgoKTogUGFydGlhbDxHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnM+ID0+ICh7fSkpO1xuICBjb25zdCBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucyA9IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4oKTtcblxuICBjb25zdCBERUZBVUxUX09QVElPTlM6IFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zPiA9IHtcbiAgICBpc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQ6IHRydWVcbiAgfTtcblxuICBvcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLmNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG5cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBvcHRpb25zLnRhcmdldFBhdGhPckZpbGUsIG9wdGlvbnMuaXNOb25FeGlzdGluZ0ZpbGVBbGxvd2VkKTtcblxuICByZXR1cm4gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bihhcHAsIHRhcmdldEZpbGUsICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChhcHAsIG9wdGlvbnMuc291cmNlUGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgc3VicGF0aCA9IG9wdGlvbnMuc3VicGF0aCA/PyAnJztcbiAgICBsZXQgYWxpYXMgPSBvcHRpb25zLmFsaWFzID8/ICcnO1xuICAgIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdEVtYmVkKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gIWlzTWFya2Rvd25GaWxlKGFwcCwgdGFyZ2V0RmlsZSk7XG4gICAgY29uc3QgaXNXaWtpbGluayA9IG9wdGlvbnMuaXNXaWtpbGluayA/PyAob3B0aW9ucy5vcmlnaW5hbExpbmsgPyB0ZXN0V2lraWxpbmsob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBzaG91bGRVc2VXaWtpbGlua3MoYXBwKTtcbiAgICBjb25zdCBzaG91bGRGb3JjZVJlbGF0aXZlUGF0aCA9IG9wdGlvbnMuc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggPz8gc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyhhcHApO1xuICAgIGNvbnN0IHNob3VsZFVzZUxlYWRpbmdEb3QgPSBvcHRpb25zLnNob3VsZFVzZUxlYWRpbmdEb3QgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdExlYWRpbmdEb3Qob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBmYWxzZTtcbiAgICBjb25zdCBzaG91bGRVc2VBbmdsZUJyYWNrZXRzID0gb3B0aW9ucy5zaG91bGRVc2VBbmdsZUJyYWNrZXRzID8/IChvcHRpb25zLm9yaWdpbmFsTGluayA/IHRlc3RBbmdsZUJyYWNrZXRzKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gZmFsc2U7XG5cbiAgICBsZXQgbGlua1RleHQgPSB0YXJnZXRGaWxlLnBhdGggPT09IHNvdXJjZVBhdGggJiYgc3VicGF0aFxuICAgICAgPyBzdWJwYXRoXG4gICAgICA6IHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoXG4gICAgICAgID8gcmVsYXRpdmUoZGlybmFtZShzb3VyY2VQYXRoKSwgaXNXaWtpbGluayA/IHRyaW1NYXJrZG93bkV4dGVuc2lvbihhcHAsIHRhcmdldEZpbGUpIDogdGFyZ2V0RmlsZS5wYXRoKSArIHN1YnBhdGhcbiAgICAgICAgOiBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dCh0YXJnZXRGaWxlLCBzb3VyY2VQYXRoLCBpc1dpa2lsaW5rKSArIHN1YnBhdGg7XG5cbiAgICBpZiAoc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggJiYgc2hvdWxkVXNlTGVhZGluZ0RvdCAmJiAhbGlua1RleHQuc3RhcnRzV2l0aCgnLicpICYmICFsaW5rVGV4dC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIGxpbmtUZXh0ID0gJy4vJyArIGxpbmtUZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGVtYmVkUHJlZml4ID0gaXNFbWJlZCA/ICchJyA6ICcnO1xuXG4gICAgaWYgKCFpc1dpa2lsaW5rKSB7XG4gICAgICBpZiAoc2hvdWxkVXNlQW5nbGVCcmFja2V0cykge1xuICAgICAgICBsaW5rVGV4dCA9IGA8JHtsaW5rVGV4dH0+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmtUZXh0ID0gcmVwbGFjZUFsbChsaW5rVGV4dCwgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQLCAoeyBzdWJzdHJpbmc6IHNwZWNpYWxMaW5rU3ltYm9sIH0pID0+IGVuY29kZVVSSUNvbXBvbmVudChzcGVjaWFsTGlua1N5bWJvbCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFsaWFzICYmICghaXNFbWJlZCB8fCAhb3B0aW9ucy5pc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQpKSB7XG4gICAgICAgIGFsaWFzID0gIW9wdGlvbnMuc2hvdWxkSW5jbHVkZUF0dGFjaG1lbnRFeHRlbnNpb25Ub0VtYmVkQWxpYXMgfHwgaXNNYXJrZG93bkZpbGUoYXBwLCB0YXJnZXRGaWxlKSA/IHRhcmdldEZpbGUuYmFzZW5hbWUgOiB0YXJnZXRGaWxlLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIGFsaWFzID0gcmVwbGFjZUFsbChhbGlhcywgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVgsICdcXFxcJCYnKTtcblxuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVske2FsaWFzfV0oJHtsaW5rVGV4dH0pYDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFsaWFzICYmIGFsaWFzLnRvTG93ZXJDYXNlKCkgPT09IGxpbmtUZXh0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgbGlua1RleHQgPSBhbGlhcztcbiAgICAgICAgYWxpYXMgPSAnJztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWxpYXNQYXJ0ID0gYWxpYXMgPyBgfCR7YWxpYXN9YCA6ICcnO1xuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVtbJHtsaW5rVGV4dH0ke2FsaWFzUGFydH1dXWA7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBsaW5rIGludG8gaXRzIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBsaW5rIHRvIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5rKHN0cjogc3RyaW5nKTogbnVsbCB8IFBhcnNlTGlua1Jlc3VsdCB7XG4gIGlmIChpc1VybChzdHIpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgIGlzV2lraWxpbms6IGZhbHNlLFxuICAgICAgdXJsOiBzdHJcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgRU1CRURfUFJFRklYID0gJyEnO1xuICBjb25zdCBPUEVOX0FOR0xFX0JSQUNLRVQgPSAnPCc7XG4gIGNvbnN0IExJTktfQUxJQVNfU1VGRklYID0gJ10oJztcbiAgY29uc3QgTElOS19TVUZGSVggPSAnKSc7XG4gIGNvbnN0IFdJS0lMSU5LX0RJVklERVIgPSAnfCc7XG5cbiAgY29uc3QgaXNFbWJlZCA9IHN0ci5zdGFydHNXaXRoKEVNQkVEX1BSRUZJWCk7XG4gIGlmIChpc0VtYmVkKSB7XG4gICAgc3RyID0gdHJpbVN0YXJ0KHN0ciwgRU1CRURfUFJFRklYKTtcbiAgfVxuICBjb25zdCBwcm9jZXNzb3IgPSByZW1hcmsoKS51c2UocmVtYXJrUGFyc2UpLnVzZSh3aWtpTGlua1BsdWdpbiwgeyBhbGlhc0RpdmlkZXI6IFdJS0lMSU5LX0RJVklERVIgfSk7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzb3IucGFyc2Uoc3RyKTtcblxuICBpZiAocm9vdC5jaGlsZHJlbi5sZW5ndGggIT09IDEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHBhcmFncmFwaCA9IHJvb3QuY2hpbGRyZW5bMF07XG5cbiAgaWYgKHBhcmFncmFwaD8udHlwZSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJhZ3JhcGguY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub2RlID0gcGFyYWdyYXBoLmNoaWxkcmVuWzBdO1xuXG4gIGlmIChub2RlPy5wb3NpdGlvbj8uc3RhcnQub2Zmc2V0ICE9PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAobm9kZS5wb3NpdGlvbi5lbmQub2Zmc2V0ICE9PSBzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzd2l0Y2ggKG5vZGUudHlwZSBhcyBzdHJpbmcpIHtcbiAgICBjYXNlICdsaW5rJzoge1xuICAgICAgY29uc3QgbGlua05vZGUgPSBub2RlIGFzIExpbms7XG4gICAgICBjb25zdCBhbGlhc05vZGUgPSBsaW5rTm9kZS5jaGlsZHJlblswXSBhcyBUZXh0IHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcmF3VXJsID0gc3RyLnNsaWNlKChhbGlhc05vZGU/LnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IDEpICsgTElOS19BTElBU19TVUZGSVgubGVuZ3RoLCAobGlua05vZGUucG9zaXRpb24/LmVuZC5vZmZzZXQgPz8gMCkgLSBMSU5LX1NVRkZJWC5sZW5ndGgpO1xuICAgICAgY29uc3QgaGFzQW5nbGVCcmFja2V0cyA9IHN0ci5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCkgfHwgcmF3VXJsLnN0YXJ0c1dpdGgoT1BFTl9BTkdMRV9CUkFDS0VUKTtcbiAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc1VybChsaW5rTm9kZS51cmwpO1xuICAgICAgbGV0IHVybCA9IGxpbmtOb2RlLnVybDtcbiAgICAgIGlmICghaXNFeHRlcm5hbCkge1xuICAgICAgICBpZiAoIWhhc0FuZ2xlQnJhY2tldHMpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KHVybCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgVVJMICR7dXJsfWAsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgICAgIGFsaWFzOiBhbGlhc05vZGU/LnZhbHVlLFxuICAgICAgICBoYXNBbmdsZUJyYWNrZXRzLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc0V4dGVybmFsLFxuICAgICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgICAgdGl0bGU6IGxpbmtOb2RlLnRpdGxlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgdXJsXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSAnd2lraUxpbmsnOiB7XG4gICAgICBjb25zdCB3aWtpTGlua05vZGUgPSBub2RlIGFzIHVua25vd24gYXMgV2lraUxpbmtOb2RlO1xuICAgICAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxQYXJzZUxpbmtSZXN1bHQ+KHtcbiAgICAgICAgYWxpYXM6IHN0ci5pbmNsdWRlcyhXSUtJTElOS19ESVZJREVSKSA/IHdpa2lMaW5rTm9kZS5kYXRhLmFsaWFzIDogdW5kZWZpbmVkLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc1dpa2lsaW5rOiB0cnVlLFxuICAgICAgICB1cmw6IHdpa2lMaW5rTm9kZS52YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgdGhlIGFsaWFzIG9mIGEgbGluayBzaG91bGQgYmUgcmVzZXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZGV0ZXJtaW5pbmcgaWYgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFJlc2V0QWxpYXMob3B0aW9uczogU2hvdWxkUmVzZXRBbGlhc09wdGlvbnMpOiBib29sZWFuIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBkaXNwbGF5VGV4dCxcbiAgICBpc1dpa2lsaW5rLFxuICAgIG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkU291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRUYXJnZXRQYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGVcbiAgfSA9IG9wdGlvbnM7XG4gIGlmIChpc1dpa2lsaW5rID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghZGlzcGxheVRleHQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKGFwcCwgdGFyZ2V0UGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGNvbnN0IG5ld1NvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IG9sZFNvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgb2xkU291cmNlUGF0aE9yRmlsZSA/PyBuZXdTb3VyY2VQYXRoT3JGaWxlKTtcbiAgY29uc3QgbmV3U291cmNlRGlyID0gZGlybmFtZShuZXdTb3VyY2VQYXRoKTtcbiAgY29uc3Qgb2xkU291cmNlRGlyID0gZGlybmFtZShvbGRTb3VyY2VQYXRoKTtcbiAgY29uc3QgYWxpYXNlc1RvUmVzZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBhdGhPckZpbGUgb2YgW3RhcmdldEZpbGUucGF0aCwgb2xkVGFyZ2V0UGF0aF0pIHtcbiAgICBpZiAoIXBhdGhPckZpbGUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHBhdGgpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChiYXNlbmFtZShwYXRoKSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHJlbGF0aXZlKG5ld1NvdXJjZURpciwgcGF0aCkpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChyZWxhdGl2ZShvbGRTb3VyY2VEaXIsIHBhdGgpKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgc291cmNlUGF0aCBvZiBbb2xkU291cmNlUGF0aCwgbmV3U291cmNlUGF0aF0pIHtcbiAgICBhbGlhc2VzVG9SZXNldC5hZGQoYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQodGFyZ2V0RmlsZSwgc291cmNlUGF0aCwgZmFsc2UpKTtcbiAgfVxuXG4gIGNvbnN0IGNsZWFuRGlzcGxheVRleHQgPSByZXBsYWNlQWxsKG5vcm1hbGl6ZVBhdGgoZGlzcGxheVRleHQuc3BsaXQoJyA+ICcpWzBdID8/ICcnKSwgL15cXC5cXC8vZywgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgZm9yIChjb25zdCBhbGlhcyBvZiBhbGlhc2VzVG9SZXNldCkge1xuICAgIGlmIChhbGlhcy50b0xvd2VyQ2FzZSgpID09PSBjbGVhbkRpc3BsYXlUZXh0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKGFsaWFzKTtcbiAgICBjb25zdCBiYXNlID0gYmFzZW5hbWUoYWxpYXMsIGV4dG5hbWUoYWxpYXMpKTtcbiAgICBpZiAoam9pbihkaXIsIGJhc2UpLnRvTG93ZXJDYXNlKCkgPT09IGNsZWFuRGlzcGxheVRleHQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIFRoZSBsaW5rIHRvIHNwbGl0LlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U3VicGF0aChsaW5rOiBzdHJpbmcpOiBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUxpbmt0ZXh0KG5vcm1hbGl6ZShsaW5rKSk7XG4gIHJldHVybiB7XG4gICAgbGlua1BhdGg6IHBhcnNlZC5wYXRoLFxuICAgIHN1YnBhdGg6IHBhcnNlZC5zdWJwYXRoXG4gIH07XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgdXNlcyBhbmdsZSBicmFja2V0cywgcG9zc2libHkgZW1iZWQ6XG4gKiBgW3RpdGxlXSg8bGluaz4pYCwgYCFbdGl0bGVdKDxsaW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RBbmdsZUJyYWNrZXRzKGxpbms6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJzZUxpbmtSZXN1bHQgPSBwYXJzZUxpbmsobGluayk7XG4gIHJldHVybiBwYXJzZUxpbmtSZXN1bHQ/Lmhhc0FuZ2xlQnJhY2tldHMgPz8gZmFsc2U7XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgaXMgYW4gZW1iZWQgbGluazpcbiAqIGAhW1tsaW5rXV1gLCBgIVt0aXRsZV0obGluaylgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RFbWJlZChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc0VtYmVkID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFRlc3RzIHdoZXRoZXIgYSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90LCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbWy4vbGlua11dYCwgYFt0aXRsZV0oLi9saW5rKWAsIGBbdGl0bGVdKDwuL2xpbms+KWAsXG4gKiBgIVtbLi9saW5rXV1gLCBgIVt0aXRsZV0oLi9saW5rKWAsIGAhW3RpdGxlXSg8Li9saW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0TGVhZGluZ0RvdChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py51cmwuc3RhcnRzV2l0aCgnLi8nKSA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBUZXN0cyB3aGV0aGVyIGEgbGluayBpcyBhIHdpa2lsaW5rLCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbW2xpbmtdXWAsIGAhW1tsaW5rXV1gLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGEgd2lraWxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RXaWtpbGluayhsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc1dpa2lsaW5rID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgYSBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rLlxuICogQHJldHVybnMgVGhlIHVwZGF0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxpbmsob3B0aW9uczogVXBkYXRlTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIGxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBuZXdUYXJnZXRQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkVGFyZ2V0UGF0aE9yRmlsZSxcbiAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc1xuICB9ID0gb3B0aW9ucztcbiAgaWYgKCFuZXdUYXJnZXRQYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIGxpbmsub3JpZ2luYWw7XG4gIH1cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBuZXdUYXJnZXRQYXRoT3JGaWxlLCB0cnVlKTtcbiAgY29uc3Qgb2xkVGFyZ2V0UGF0aCA9IGdldFBhdGgoYXBwLCBvbGRUYXJnZXRQYXRoT3JGaWxlID8/IG5ld1RhcmdldFBhdGhPckZpbGUpO1xuICBjb25zdCBpc1dpa2lsaW5rID0gdGVzdFdpa2lsaW5rKGxpbmsub3JpZ2luYWwpICYmIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gdGFyZ2V0RmlsZS5wYXRoICsgc3VicGF0aDtcbiAgfVxuXG4gIGxldCBhbGlhcyA9IHNob3VsZFJlc2V0QWxpYXMobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFNob3VsZFJlc2V0QWxpYXNPcHRpb25zPih7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGlzV2lraWxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFRhcmdldFBhdGgsXG4gICAgdGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZVxuICB9KSlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogbGluay5kaXNwbGF5VGV4dDtcblxuICBpZiAoc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcyA/PyB0cnVlKSB7XG4gICAgaWYgKGFsaWFzID09PSBiYXNlbmFtZShvbGRUYXJnZXRQYXRoLCBleHRuYW1lKG9sZFRhcmdldFBhdGgpKSkge1xuICAgICAgYWxpYXMgPSB0YXJnZXRGaWxlLmJhc2VuYW1lO1xuICAgIH0gZWxzZSBpZiAoYWxpYXMgPT09IGJhc2VuYW1lKG9sZFRhcmdldFBhdGgpKSB7XG4gICAgICBhbGlhcyA9IHRhcmdldEZpbGUubmFtZTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBuZXdMaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz4oe1xuICAgIGFsaWFzLFxuICAgIGFwcCxcbiAgICBpc1dpa2lsaW5rOiBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MgPyBmYWxzZSA6IHVuZGVmaW5lZCxcbiAgICBvcmlnaW5hbExpbms6IGxpbmsub3JpZ2luYWwsXG4gICAgc291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBzdWJwYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGU6IHRhcmdldEZpbGVcbiAgfSkpO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsaW5rcyBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmtzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGlzQ2FudmFzRmlsZShhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUpICYmICFhcHAuaW50ZXJuYWxQbHVnaW5zLmdldEVuYWJsZWRQbHVnaW5CeUlkKCdjYW52YXMnKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGVkaXRMaW5rcyhhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUsIChsaW5rKSA9PiB7XG4gICAgY29uc3QgaXNFbWJlZExpbmsgPSB0ZXN0RW1iZWQobGluay5vcmlnaW5hbCk7XG4gICAgaWYgKHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgc2hvdWxkVXBkYXRlRW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8Q29udmVydExpbmtPcHRpb25zPih7XG4gICAgICBhcHAsXG4gICAgICBsaW5rLFxuICAgICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzXG4gICAgfSkpO1xuICB9LCBvcHRpb25zKTtcbn1c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
|
411
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTGlua1xuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBoYW5kbGluZyBhbmQgdXBkYXRpbmcgbGlua3Mgd2l0aGluIE9ic2lkaWFuIHZhdWx0cy4gSXQgaW5jbHVkZXNcbiAqIGZ1bmN0aW9ucyB0byBzcGxpdCBwYXRocywgdXBkYXRlIGxpbmtzIGluIGZpbGVzLCBhbmQgZ2VuZXJhdGUgbWFya2Rvd24gbGlua3Mgd2l0aCB2YXJpb3VzIG9wdGlvbnMuXG4gKiBUaGUgZnVuY3Rpb25zIGludGVncmF0ZSB3aXRoIE9ic2lkaWFuJ3MgQVBJIHRvIGVuc3VyZSB0aGF0IGxpbmtzIGFyZSBtYW5hZ2VkIGNvcnJlY3RseSB3aXRoaW4gdGhlIHZhdWx0LlxuICoqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIExpbmssXG4gIFRleHRcbn0gZnJvbSAnbWRhc3QnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFJlZmVyZW5jZSxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZUxpbmt0ZXh0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IHJlbWFyayB9IGZyb20gJ3JlbWFyayc7XG5pbXBvcnQgcmVtYXJrUGFyc2UgZnJvbSAncmVtYXJrLXBhcnNlJztcbmltcG9ydCB7IHdpa2lMaW5rUGx1Z2luIH0gZnJvbSAncmVtYXJrLXdpa2ktbGluayc7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBGaWxlQ2hhbmdlIH0gZnJvbSAnLi9GaWxlQ2hhbmdlLnRzJztcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IFByb2Nlc3NPcHRpb25zIH0gZnJvbSAnLi9WYXVsdC50cyc7XG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgdG9Kc29uXG59IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgam9pbixcbiAgcmVsYXRpdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQge1xuICBub3JtYWxpemUsXG4gIHJlcGxhY2VBbGwsXG4gIHRyaW1TdGFydFxufSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgaXNVcmwgfSBmcm9tICcuLi91cmwudHMnO1xuaW1wb3J0IHsgYXBwbHlGaWxlQ2hhbmdlcyB9IGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRQYXRoLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlLFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIGdldEFsbExpbmtzLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuXG59IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5pbXBvcnQge1xuICBzaG91bGRVc2VSZWxhdGl2ZUxpbmtzLFxuICBzaG91bGRVc2VXaWtpbGlua3Ncbn0gZnJvbSAnLi9PYnNpZGlhblNldHRpbmdzLnRzJztcbmltcG9ydCB7IHJlZmVyZW5jZVRvRmlsZUNoYW5nZSB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBSZWd1bGFyIGV4cHJlc3Npb24gZm9yIHNwZWNpYWwgbGluayBzeW1ib2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuY29uc3QgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQID0gL1tcXFxcXFx4MDBcXHgwOFxceDBCXFx4MENcXHgwRS1cXHgxRiBdL2c7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIG1hcmtkb3duIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVggPSAvW1xcXFxbXFxdPD5fKn49YCRdL2c7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29udmVydGluZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVydExpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZm9yY2UgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVwZGF0ZSBmaWxlbmFtZSBhbGlhcy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgZGVmYXVsdCBvcHRpb25zIGZvciBnZW5lcmF0aW5nIG1hcmtkb3duIGxpbmtzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlTWFya2Rvd25MaW5rRGVmYXVsdE9wdGlvbnNXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIGdlbmVyYXRpbmcgbWFya2Rvd24gbGlua3MuXG4gICAqL1xuICBkZWZhdWx0T3B0aW9uc0ZuOiAoKSA9PiBQYXJ0aWFsPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ2VuZXJhdGluZyBhIG1hcmtkb3duIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBhbGlhcyBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBhbGlhcz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGVtYmVkZGVkLiBJZiBub3QgcHJvdmlkZWQsIGl0IHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIGZpbGUgdHlwZS5cbiAgICovXG4gIGlzRW1iZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IGFuIGVtcHR5IGFsaWFzIGZvciBlbWJlZHMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIGlzRW1wdHlFbWJlZEFsaWFzQWxsb3dlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgbm9uLWV4aXN0aW5nIGZpbGVzLiBJZiBgZmFsc2VgIGFuZCBgcGF0aE9yRmlsZWAgaXMgYSBub24tZXhpc3RpbmcgZmlsZSwgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBpc05vbkV4aXN0aW5nRmlsZUFsbG93ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIGJlIGEgd2lraWxpbmsuIElmIG5vdCBwcm92aWRlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gICAqL1xuICBpc1dpa2lsaW5rPzogYm9vbGVhbjtcblxuICAvKipcbiAgICAqIFRoZSBvcmlnaW5hbCBsaW5rIHRleHQuIElmIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgdG8gaW5mZXIgdGhlIHZhbHVlcyBvZiBgaXNFbWJlZGAsIGBpc1dpa2lsaW5rYCwgYHVzZUxlYWRpbmdEb3RgLCBhbmQgYHVzZUFuZ2xlQnJhY2tldHNgLlxuICAgICogVGhlc2UgaW5mZXJyZWQgdmFsdWVzIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBjb3JyZXNwb25kaW5nIHNldHRpbmdzIGlmIHNwZWNpZmllZC5cbiAgICAqL1xuICBvcmlnaW5hbExpbms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgYmUgcmVsYXRpdmUuIElmIG5vdCBwcm92aWRlZCBvciBgZmFsc2VgLCBpdCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBPYnNpZGlhbiBzZXR0aW5ncy5cbiAgICovXG4gIHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHRoZSBhdHRhY2htZW50IGV4dGVuc2lvbiBpbiB0aGUgZW1iZWQgYWxpYXMuIEhhcyBubyBlZmZlY3QgaWYgYGFsbG93RW1wdHlFbWJlZEFsaWFzYCBpcyBgdHJ1ZWAuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRJbmNsdWRlQXR0YWNobWVudEV4dGVuc2lvblRvRW1iZWRBbGlhcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBzaG91bGQgdXNlIGFuZ2xlIGJyYWNrZXRzLiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWBcbiAgICovXG4gIHNob3VsZFVzZUFuZ2xlQnJhY2tldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgc2hvdWxkIHVzZSBhIGxlYWRpbmcgZG90LiBEZWZhdWx0cyB0byBgZmFsc2VgLiBIYXMgbm8gZWZmZWN0IGlmIGBpc1dpa2lsaW5rYCBpcyBgdHJ1ZWAgb3IgYGlzUmVsYXRpdmVgIGlzIGBmYWxzZWAuXG4gICAqL1xuICBzaG91bGRVc2VMZWFkaW5nRG90PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgc291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGggb2YgdGhlIGxpbmsuXG4gICAqL1xuICBzdWJwYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHBhdGggb3IgZmlsZS5cbiAgICovXG4gIHRhcmdldFBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG59XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBwYXJzaW5nIGEgbGluay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZUxpbmtSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgYWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBoYXMgYW5nbGUgYnJhY2tldHMuXG4gICAqL1xuICBoYXNBbmdsZUJyYWNrZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmsuXG4gICAqL1xuICBpc0VtYmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgZXh0ZXJuYWwuXG4gICAqL1xuICBpc0V4dGVybmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGEgd2lraWxpbmsuXG4gICAqL1xuICBpc1dpa2lsaW5rOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGxpbmsuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgbGluay5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRldGVybWluaW5nIGlmIHRoZSBhbGlhcyBvZiBhIGxpbmsgc2hvdWxkIGJlIHJlc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNob3VsZFJlc2V0QWxpYXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgdGV4dCBvZiB0aGUgbGluay5cbiAgICovXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhIHdpa2lsaW5rLlxuICAgKi9cbiAgaXNXaWtpbGluaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgbGluay5cbiAgICovXG4gIG5ld1NvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgc291cmNlIGZpbGUgY29udGFpbmluZyB0aGUgbGluay5cbiAgICovXG4gIG9sZFNvdXJjZVBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHRhcmdldCBwYXRoIG9mIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkVGFyZ2V0UGF0aDogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCBwYXRoIG9yIGZpbGUuXG4gICAqL1xuICB0YXJnZXRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xufVxuXG4vKipcbiAqIFNwbGl0cyBhIGxpbmsgaW50byBpdHMgbGluayBwYXRoIGFuZCBzdWJwYXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U3VicGF0aFJlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgbGluayBwYXRoLlxuICAgKi9cbiAgbGlua1BhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1YnBhdGguXG4gICAqL1xuICBzdWJwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdXBkYXRpbmcgYSBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxpbmtPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGxpbmsuXG4gICAqL1xuICBsaW5rOiBSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3U291cmNlUGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLlxuICAgKi9cbiAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogVGhlIG9sZCBzb3VyY2UgZmlsZSBjb250YWluaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgb2xkU291cmNlUGF0aE9yRmlsZT86IFBhdGhPckZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBvbGQgcGF0aCBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG9sZFRhcmdldFBhdGhPckZpbGU/OiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIG1hcmtkb3duIGxpbmtzLlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHVwZGF0aW5nIGxpbmtzIGluIGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMgZXh0ZW5kcyBQcm9jZXNzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgb2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIHVwZGF0ZSB0aGUgbGlua3MgaW4uXG4gICAqL1xuICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBQYXRoT3JGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgb2xkIHBhdGggb2YgdGhlIGZpbGUuXG4gICAqL1xuICBvbGRTb3VyY2VQYXRoT3JGaWxlPzogUGF0aE9yRmlsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSB0aGUgbGlua3MgdG8gYmUgaW4gTWFya2Rvd24gZm9ybWF0LlxuICAgKi9cbiAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgb25seSBlbWJlZGRlZCBsaW5rcy5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgZmlsZW5hbWUgYWxpYXMuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICovXG4gIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgV2lraUxpbmtOb2RlIHtcbiAgZGF0YToge1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gIH07XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBsaW5rIHRvIGEgbmV3IHBhdGguXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29udmVydGluZyB0aGUgbGluay5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRMaW5rKG9wdGlvbnM6IENvbnZlcnRMaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHRhcmdldEZpbGUgPSBleHRyYWN0TGlua0ZpbGUob3B0aW9ucy5hcHAsIG9wdGlvbnMubGluaywgb3B0aW9ucy5vbGRTb3VyY2VQYXRoT3JGaWxlID8/IG9wdGlvbnMubmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGlmICghdGFyZ2V0RmlsZSkge1xuICAgIHJldHVybiBvcHRpb25zLmxpbmsub3JpZ2luYWw7XG4gIH1cblxuICByZXR1cm4gdXBkYXRlTGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8VXBkYXRlTGlua09wdGlvbnM+KHtcbiAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgIGxpbms6IG9wdGlvbnMubGluayxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgbmV3VGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlOiBvcHRpb25zLm9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzOiBvcHRpb25zLnNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyxcbiAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzOiBvcHRpb25zLnNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSkpO1xufVxuXG4vKipcbiAqIEVkaXRzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gZWRpdCB0aGUgYmFja2xpbmtzIGZvci5cbiAqIEBwYXJhbSBsaW5rQ29udmVydGVyIC0gVGhlIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgZWFjaCBsaW5rLlxuICogQHBhcmFtIHByb2Nlc3NPcHRpb25zIC0gT3B0aW9uYWwgb3B0aW9ucyBmb3IgcmV0cnlpbmcgdGhlIG9wZXJhdGlvbi5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJhY2tsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdEJhY2tsaW5rcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbGlua0NvbnZlcnRlcjogKGxpbms6IFJlZmVyZW5jZSkgPT4gTWF5YmVQcm9taXNlPHN0cmluZyB8IHZvaWQ+LCBwcm9jZXNzT3B0aW9uczogUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIHBhdGhPckZpbGUsIHByb2Nlc3NPcHRpb25zKTtcbiAgZm9yIChjb25zdCBiYWNrbGlua05vdGVQYXRoIG9mIGJhY2tsaW5rcy5rZXlzKCkpIHtcbiAgICBjb25zdCBjdXJyZW50TGlua3MgPSBiYWNrbGlua3MuZ2V0KGJhY2tsaW5rTm90ZVBhdGgpID8/IFtdO1xuICAgIGNvbnN0IGxpbmtKc29ucyA9IG5ldyBTZXQ8c3RyaW5nPihjdXJyZW50TGlua3MubWFwKChsaW5rKSA9PiB0b0pzb24obGluaykpKTtcbiAgICBhd2FpdCBlZGl0TGlua3MoYXBwLCBiYWNrbGlua05vdGVQYXRoLCAobGluaykgPT4ge1xuICAgICAgY29uc3QgbGlua0pzb24gPSB0b0pzb24obGluayk7XG4gICAgICBpZiAoIWxpbmtKc29ucy5oYXMobGlua0pzb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxpbmtDb252ZXJ0ZXIobGluayk7XG4gICAgfSwgcHJvY2Vzc09wdGlvbnMpO1xuICB9XG59XG5cbi8qKlxuICogRWRpdHMgdGhlIGxpbmtzIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciBwYXRoIHVzaW5nIHRoZSBwcm92aWRlZCBsaW5rIGNvbnZlcnRlciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGVkaXQgdGhlIGxpbmtzIGluLlxuICogQHBhcmFtIGxpbmtDb252ZXJ0ZXIgLSBUaGUgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBlYWNoIGxpbmsuXG4gKiBAcGFyYW0gcHJvY2Vzc09wdGlvbnMgLSBPcHRpb25hbCBvcHRpb25zIGZvciBwcm9jZXNzaW5nL3JldHJ5aW5nIHRoZSBvcGVyYXRpb24uXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsaW5rcyBoYXZlIGJlZW4gZWRpdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZWRpdExpbmtzKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICBsaW5rQ29udmVydGVyOiAobGluazogUmVmZXJlbmNlKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD4sXG4gIHByb2Nlc3NPcHRpb25zOiBQcm9jZXNzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGFwcGx5RmlsZUNoYW5nZXMoYXBwLCBwYXRoT3JGaWxlLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2hhbmdlczogRmlsZUNoYW5nZVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgZ2V0QWxsTGlua3MoY2FjaGUpKSB7XG4gICAgICBjb25zdCBuZXdDb250ZW50ID0gYXdhaXQgbGlua0NvbnZlcnRlcihsaW5rKTtcbiAgICAgIGlmIChuZXdDb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZXMucHVzaChyZWZlcmVuY2VUb0ZpbGVDaGFuZ2UobGluaywgbmV3Q29udGVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9LCBwcm9jZXNzT3B0aW9ucyk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGxpbmsgLSBUaGUgcmVmZXJlbmNlIGNhY2hlIGZvciB0aGUgbGluay5cbiAqIEBwYXJhbSBzb3VyY2VQYXRoT3JGaWxlIC0gVGhlIHNvdXJjZSBwYXRoIG9yIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGxpbmssIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExpbmtGaWxlKGFwcDogQXBwLCBsaW5rOiBSZWZlcmVuY2UsIHNvdXJjZVBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCB7IGxpbmtQYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcbiAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmtQYXRoLCBnZXRQYXRoKGFwcCwgc291cmNlUGF0aE9yRmlsZSkpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1hcmtkb3duIGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgbWFya2Rvd24gbGluay5cbiAqIEByZXR1cm5zIFRoZSBnZW5lcmF0ZWQgbWFya2Rvd24gbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFya2Rvd25MaW5rKG9wdGlvbnM6IEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYXBwIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4gPSAoYXBwLmZpbGVNYW5hZ2VyLmdlbmVyYXRlTWFya2Rvd25MaW5rIGFzIFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0T3B0aW9uc1dyYXBwZXI+KS5kZWZhdWx0T3B0aW9uc0ZuID8/ICgoKTogUGFydGlhbDxHZW5lcmF0ZU1hcmtkb3duTGlua09wdGlvbnM+ID0+ICh7fSkpO1xuICBjb25zdCBjb25maWd1cmFibGVEZWZhdWx0T3B0aW9ucyA9IGNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zRm4oKTtcblxuICBjb25zdCBERUZBVUxUX09QVElPTlM6IFBhcnRpYWw8R2VuZXJhdGVNYXJrZG93bkxpbmtPcHRpb25zPiA9IHtcbiAgICBpc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQ6IHRydWVcbiAgfTtcblxuICBvcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLmNvbmZpZ3VyYWJsZURlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG5cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBvcHRpb25zLnRhcmdldFBhdGhPckZpbGUsIG9wdGlvbnMuaXNOb25FeGlzdGluZ0ZpbGVBbGxvd2VkKTtcblxuICByZXR1cm4gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bihhcHAsIHRhcmdldEZpbGUsICgpID0+IHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gZ2V0UGF0aChhcHAsIG9wdGlvbnMuc291cmNlUGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgc3VicGF0aCA9IG9wdGlvbnMuc3VicGF0aCA/PyAnJztcbiAgICBsZXQgYWxpYXMgPSBvcHRpb25zLmFsaWFzID8/ICcnO1xuICAgIGNvbnN0IGlzRW1iZWQgPSBvcHRpb25zLmlzRW1iZWQgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdEVtYmVkKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gIWlzTWFya2Rvd25GaWxlKGFwcCwgdGFyZ2V0RmlsZSk7XG4gICAgY29uc3QgaXNXaWtpbGluayA9IG9wdGlvbnMuaXNXaWtpbGluayA/PyAob3B0aW9ucy5vcmlnaW5hbExpbmsgPyB0ZXN0V2lraWxpbmsob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBzaG91bGRVc2VXaWtpbGlua3MoYXBwKTtcbiAgICBjb25zdCBzaG91bGRGb3JjZVJlbGF0aXZlUGF0aCA9IG9wdGlvbnMuc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggPz8gc2hvdWxkVXNlUmVsYXRpdmVMaW5rcyhhcHApO1xuICAgIGNvbnN0IHNob3VsZFVzZUxlYWRpbmdEb3QgPSBvcHRpb25zLnNob3VsZFVzZUxlYWRpbmdEb3QgPz8gKG9wdGlvbnMub3JpZ2luYWxMaW5rID8gdGVzdExlYWRpbmdEb3Qob3B0aW9ucy5vcmlnaW5hbExpbmspIDogdW5kZWZpbmVkKSA/PyBmYWxzZTtcbiAgICBjb25zdCBzaG91bGRVc2VBbmdsZUJyYWNrZXRzID0gb3B0aW9ucy5zaG91bGRVc2VBbmdsZUJyYWNrZXRzID8/IChvcHRpb25zLm9yaWdpbmFsTGluayA/IHRlc3RBbmdsZUJyYWNrZXRzKG9wdGlvbnMub3JpZ2luYWxMaW5rKSA6IHVuZGVmaW5lZCkgPz8gZmFsc2U7XG5cbiAgICBsZXQgbGlua1RleHQgPSB0YXJnZXRGaWxlLnBhdGggPT09IHNvdXJjZVBhdGggJiYgc3VicGF0aFxuICAgICAgPyBzdWJwYXRoXG4gICAgICA6IHNob3VsZEZvcmNlUmVsYXRpdmVQYXRoXG4gICAgICAgID8gcmVsYXRpdmUoZGlybmFtZShzb3VyY2VQYXRoKSwgaXNXaWtpbGluayA/IHRyaW1NYXJrZG93bkV4dGVuc2lvbihhcHAsIHRhcmdldEZpbGUpIDogdGFyZ2V0RmlsZS5wYXRoKSArIHN1YnBhdGhcbiAgICAgICAgOiBhcHAubWV0YWRhdGFDYWNoZS5maWxlVG9MaW5rdGV4dCh0YXJnZXRGaWxlLCBzb3VyY2VQYXRoLCBpc1dpa2lsaW5rKSArIHN1YnBhdGg7XG5cbiAgICBpZiAoc2hvdWxkRm9yY2VSZWxhdGl2ZVBhdGggJiYgc2hvdWxkVXNlTGVhZGluZ0RvdCAmJiAhbGlua1RleHQuc3RhcnRzV2l0aCgnLicpICYmICFsaW5rVGV4dC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIGxpbmtUZXh0ID0gJy4vJyArIGxpbmtUZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGVtYmVkUHJlZml4ID0gaXNFbWJlZCA/ICchJyA6ICcnO1xuXG4gICAgaWYgKCFpc1dpa2lsaW5rKSB7XG4gICAgICBpZiAoc2hvdWxkVXNlQW5nbGVCcmFja2V0cykge1xuICAgICAgICBsaW5rVGV4dCA9IGA8JHtsaW5rVGV4dH0+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmtUZXh0ID0gcmVwbGFjZUFsbChsaW5rVGV4dCwgU1BFQ0lBTF9MSU5LX1NZTUJPTFNfUkVHRVhQLCAoeyBzdWJzdHJpbmc6IHNwZWNpYWxMaW5rU3ltYm9sIH0pID0+IGVuY29kZVVSSUNvbXBvbmVudChzcGVjaWFsTGlua1N5bWJvbCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFsaWFzICYmICghaXNFbWJlZCB8fCAhb3B0aW9ucy5pc0VtcHR5RW1iZWRBbGlhc0FsbG93ZWQpKSB7XG4gICAgICAgIGFsaWFzID0gIW9wdGlvbnMuc2hvdWxkSW5jbHVkZUF0dGFjaG1lbnRFeHRlbnNpb25Ub0VtYmVkQWxpYXMgfHwgaXNNYXJrZG93bkZpbGUoYXBwLCB0YXJnZXRGaWxlKSA/IHRhcmdldEZpbGUuYmFzZW5hbWUgOiB0YXJnZXRGaWxlLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIGFsaWFzID0gcmVwbGFjZUFsbChhbGlhcywgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVgsICdcXFxcJCYnKTtcblxuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVske2FsaWFzfV0oJHtsaW5rVGV4dH0pYDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFsaWFzICYmIGFsaWFzLnRvTG93ZXJDYXNlKCkgPT09IGxpbmtUZXh0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgbGlua1RleHQgPSBhbGlhcztcbiAgICAgICAgYWxpYXMgPSAnJztcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWxpYXNQYXJ0ID0gYWxpYXMgPyBgfCR7YWxpYXN9YCA6ICcnO1xuICAgICAgcmV0dXJuIGAke2VtYmVkUHJlZml4fVtbJHtsaW5rVGV4dH0ke2FsaWFzUGFydH1dXWA7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBsaW5rIGludG8gaXRzIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIHN0ciAtIFRoZSBsaW5rIHRvIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBsaW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5rKHN0cjogc3RyaW5nKTogbnVsbCB8IFBhcnNlTGlua1Jlc3VsdCB7XG4gIGlmIChpc1VybChzdHIpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgIGlzV2lraWxpbms6IGZhbHNlLFxuICAgICAgdXJsOiBzdHJcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgRU1CRURfUFJFRklYID0gJyEnO1xuICBjb25zdCBPUEVOX0FOR0xFX0JSQUNLRVQgPSAnPCc7XG4gIGNvbnN0IExJTktfQUxJQVNfU1VGRklYID0gJ10oJztcbiAgY29uc3QgTElOS19TVUZGSVggPSAnKSc7XG4gIGNvbnN0IFdJS0lMSU5LX0RJVklERVIgPSAnfCc7XG5cbiAgY29uc3QgaXNFbWJlZCA9IHN0ci5zdGFydHNXaXRoKEVNQkVEX1BSRUZJWCk7XG4gIGlmIChpc0VtYmVkKSB7XG4gICAgc3RyID0gdHJpbVN0YXJ0KHN0ciwgRU1CRURfUFJFRklYKTtcbiAgfVxuICBjb25zdCBwcm9jZXNzb3IgPSByZW1hcmsoKS51c2UocmVtYXJrUGFyc2UpLnVzZSh3aWtpTGlua1BsdWdpbiwgeyBhbGlhc0RpdmlkZXI6IFdJS0lMSU5LX0RJVklERVIgfSk7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzb3IucGFyc2Uoc3RyKTtcblxuICBpZiAocm9vdC5jaGlsZHJlbi5sZW5ndGggIT09IDEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHBhcmFncmFwaCA9IHJvb3QuY2hpbGRyZW5bMF07XG5cbiAgaWYgKHBhcmFncmFwaD8udHlwZSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJhZ3JhcGguY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub2RlID0gcGFyYWdyYXBoLmNoaWxkcmVuWzBdO1xuXG4gIGlmIChub2RlPy5wb3NpdGlvbj8uc3RhcnQub2Zmc2V0ICE9PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAobm9kZS5wb3NpdGlvbi5lbmQub2Zmc2V0ICE9PSBzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzd2l0Y2ggKG5vZGUudHlwZSBhcyBzdHJpbmcpIHtcbiAgICBjYXNlICdsaW5rJzoge1xuICAgICAgY29uc3QgbGlua05vZGUgPSBub2RlIGFzIExpbms7XG4gICAgICBjb25zdCBhbGlhc05vZGUgPSBsaW5rTm9kZS5jaGlsZHJlblswXSBhcyBUZXh0IHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcmF3VXJsID0gc3RyLnNsaWNlKChhbGlhc05vZGU/LnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IDEpICsgTElOS19BTElBU19TVUZGSVgubGVuZ3RoLCAobGlua05vZGUucG9zaXRpb24/LmVuZC5vZmZzZXQgPz8gMCkgLSBMSU5LX1NVRkZJWC5sZW5ndGgpO1xuICAgICAgY29uc3QgaGFzQW5nbGVCcmFja2V0cyA9IHN0ci5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCkgfHwgcmF3VXJsLnN0YXJ0c1dpdGgoT1BFTl9BTkdMRV9CUkFDS0VUKTtcbiAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc1VybChsaW5rTm9kZS51cmwpO1xuICAgICAgbGV0IHVybCA9IGxpbmtOb2RlLnVybDtcbiAgICAgIGlmICghaXNFeHRlcm5hbCkge1xuICAgICAgICBpZiAoIWhhc0FuZ2xlQnJhY2tldHMpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KHVybCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgVVJMICR7dXJsfWAsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgICAgIGFsaWFzOiBhbGlhc05vZGU/LnZhbHVlLFxuICAgICAgICBoYXNBbmdsZUJyYWNrZXRzLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc0V4dGVybmFsLFxuICAgICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgICAgdGl0bGU6IGxpbmtOb2RlLnRpdGxlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgdXJsXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FzZSAnd2lraUxpbmsnOiB7XG4gICAgICBjb25zdCB3aWtpTGlua05vZGUgPSBub2RlIGFzIHVua25vd24gYXMgV2lraUxpbmtOb2RlO1xuICAgICAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxQYXJzZUxpbmtSZXN1bHQ+KHtcbiAgICAgICAgYWxpYXM6IHN0ci5pbmNsdWRlcyhXSUtJTElOS19ESVZJREVSKSA/IHdpa2lMaW5rTm9kZS5kYXRhLmFsaWFzIDogdW5kZWZpbmVkLFxuICAgICAgICBpc0VtYmVkLFxuICAgICAgICBpc1dpa2lsaW5rOiB0cnVlLFxuICAgICAgICB1cmw6IHdpa2lMaW5rTm9kZS52YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgdGhlIGFsaWFzIG9mIGEgbGluayBzaG91bGQgYmUgcmVzZXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZGV0ZXJtaW5pbmcgaWYgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGFsaWFzIHNob3VsZCBiZSByZXNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFJlc2V0QWxpYXMob3B0aW9uczogU2hvdWxkUmVzZXRBbGlhc09wdGlvbnMpOiBib29sZWFuIHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBkaXNwbGF5VGV4dCxcbiAgICBpc1dpa2lsaW5rLFxuICAgIG5ld1NvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkU291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRUYXJnZXRQYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGVcbiAgfSA9IG9wdGlvbnM7XG4gIGlmIChpc1dpa2lsaW5rID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghZGlzcGxheVRleHQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IHRhcmdldEZpbGUgPSBnZXRGaWxlKGFwcCwgdGFyZ2V0UGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGNvbnN0IG5ld1NvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IG9sZFNvdXJjZVBhdGggPSBnZXRQYXRoKGFwcCwgb2xkU291cmNlUGF0aE9yRmlsZSA/PyBuZXdTb3VyY2VQYXRoT3JGaWxlKTtcbiAgY29uc3QgbmV3U291cmNlRGlyID0gZGlybmFtZShuZXdTb3VyY2VQYXRoKTtcbiAgY29uc3Qgb2xkU291cmNlRGlyID0gZGlybmFtZShvbGRTb3VyY2VQYXRoKTtcbiAgY29uc3QgYWxpYXNlc1RvUmVzZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBhdGhPckZpbGUgb2YgW3RhcmdldEZpbGUucGF0aCwgb2xkVGFyZ2V0UGF0aF0pIHtcbiAgICBpZiAoIXBhdGhPckZpbGUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHBhdGgpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChiYXNlbmFtZShwYXRoKSk7XG4gICAgYWxpYXNlc1RvUmVzZXQuYWRkKHJlbGF0aXZlKG5ld1NvdXJjZURpciwgcGF0aCkpO1xuICAgIGFsaWFzZXNUb1Jlc2V0LmFkZChyZWxhdGl2ZShvbGRTb3VyY2VEaXIsIHBhdGgpKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgc291cmNlUGF0aCBvZiBbb2xkU291cmNlUGF0aCwgbmV3U291cmNlUGF0aF0pIHtcbiAgICBhbGlhc2VzVG9SZXNldC5hZGQoYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZVRvTGlua3RleHQodGFyZ2V0RmlsZSwgc291cmNlUGF0aCwgZmFsc2UpKTtcbiAgfVxuXG4gIGNvbnN0IGNsZWFuRGlzcGxheVRleHQgPSByZXBsYWNlQWxsKG5vcm1hbGl6ZVBhdGgoZGlzcGxheVRleHQuc3BsaXQoJyA+ICcpWzBdID8/ICcnKSwgL15cXC5cXC8vZywgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgZm9yIChjb25zdCBhbGlhcyBvZiBhbGlhc2VzVG9SZXNldCkge1xuICAgIGlmIChhbGlhcy50b0xvd2VyQ2FzZSgpID09PSBjbGVhbkRpc3BsYXlUZXh0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKGFsaWFzKTtcbiAgICBjb25zdCBiYXNlID0gYmFzZW5hbWUoYWxpYXMsIGV4dG5hbWUoYWxpYXMpKTtcbiAgICBpZiAoam9pbihkaXIsIGJhc2UpLnRvTG93ZXJDYXNlKCkgPT09IGNsZWFuRGlzcGxheVRleHQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBsaW5rIGludG8gaXRzIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqXG4gKiBAcGFyYW0gbGluayAtIFRoZSBsaW5rIHRvIHNwbGl0LlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxpbmsgcGF0aCBhbmQgc3VicGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U3VicGF0aChsaW5rOiBzdHJpbmcpOiBTcGxpdFN1YnBhdGhSZXN1bHQge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUxpbmt0ZXh0KG5vcm1hbGl6ZShsaW5rKSk7XG4gIHJldHVybiB7XG4gICAgbGlua1BhdGg6IHBhcnNlZC5wYXRoLFxuICAgIHN1YnBhdGg6IHBhcnNlZC5zdWJwYXRoXG4gIH07XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgdXNlcyBhbmdsZSBicmFja2V0cywgcG9zc2libHkgZW1iZWQ6XG4gKiBgW3RpdGxlXSg8bGluaz4pYCwgYCFbdGl0bGVdKDxsaW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RBbmdsZUJyYWNrZXRzKGxpbms6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJzZUxpbmtSZXN1bHQgPSBwYXJzZUxpbmsobGluayk7XG4gIHJldHVybiBwYXJzZUxpbmtSZXN1bHQ/Lmhhc0FuZ2xlQnJhY2tldHMgPz8gZmFsc2U7XG59XG5cbi8qKlxuICogVGVzdHMgd2hldGhlciBhIGxpbmsgaXMgYW4gZW1iZWQgbGluazpcbiAqIGAhW1tsaW5rXV1gLCBgIVt0aXRsZV0obGluaylgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGFuIGVtYmVkIGxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RFbWJlZChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc0VtYmVkID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFRlc3RzIHdoZXRoZXIgYSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90LCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbWy4vbGlua11dYCwgYFt0aXRsZV0oLi9saW5rKWAsIGBbdGl0bGVdKDwuL2xpbms+KWAsXG4gKiBgIVtbLi9saW5rXV1gLCBgIVt0aXRsZV0oLi9saW5rKWAsIGAhW3RpdGxlXSg8Li9saW5rPilgLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGhhcyBhIGxlYWRpbmcgZG90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0TGVhZGluZ0RvdChsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py51cmwuc3RhcnRzV2l0aCgnLi8nKSA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBUZXN0cyB3aGV0aGVyIGEgbGluayBpcyBhIHdpa2lsaW5rLCBwb3NzaWJseSBlbWJlZDpcbiAqIGBbW2xpbmtdXWAsIGAhW1tsaW5rXV1gLlxuICpcbiAqIEBwYXJhbSBsaW5rIC0gTGluayB0byB0ZXN0XG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBsaW5rIGlzIGEgd2lraWxpbmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlc3RXaWtpbGluayhsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VMaW5rUmVzdWx0ID0gcGFyc2VMaW5rKGxpbmspO1xuICByZXR1cm4gcGFyc2VMaW5rUmVzdWx0Py5pc1dpa2lsaW5rID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgYSBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHRoZSBsaW5rLlxuICogQHJldHVybnMgVGhlIHVwZGF0ZWQgbGluay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxpbmsob3B0aW9uczogVXBkYXRlTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIGxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBuZXdUYXJnZXRQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgb2xkVGFyZ2V0UGF0aE9yRmlsZSxcbiAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhc1xuICB9ID0gb3B0aW9ucztcbiAgaWYgKCFuZXdUYXJnZXRQYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIGxpbmsub3JpZ2luYWw7XG4gIH1cbiAgY29uc3QgdGFyZ2V0RmlsZSA9IGdldEZpbGUoYXBwLCBuZXdUYXJnZXRQYXRoT3JGaWxlLCB0cnVlKTtcbiAgY29uc3Qgb2xkVGFyZ2V0UGF0aCA9IGdldFBhdGgoYXBwLCBvbGRUYXJnZXRQYXRoT3JGaWxlID8/IG5ld1RhcmdldFBhdGhPckZpbGUpO1xuICBjb25zdCBpc1dpa2lsaW5rID0gdGVzdFdpa2lsaW5rKGxpbmsub3JpZ2luYWwpICYmIHNob3VsZEZvcmNlTWFya2Rvd25MaW5rcyAhPT0gdHJ1ZTtcbiAgY29uc3QgeyBzdWJwYXRoIH0gPSBzcGxpdFN1YnBhdGgobGluay5saW5rKTtcblxuICBpZiAoaXNDYW52YXNGaWxlKGFwcCwgbmV3U291cmNlUGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gdGFyZ2V0RmlsZS5wYXRoICsgc3VicGF0aDtcbiAgfVxuXG4gIGxldCBhbGlhcyA9IHNob3VsZFJlc2V0QWxpYXMobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPFNob3VsZFJlc2V0QWxpYXNPcHRpb25zPih7XG4gICAgYXBwLFxuICAgIGRpc3BsYXlUZXh0OiBsaW5rLmRpc3BsYXlUZXh0LFxuICAgIGlzV2lraWxpbmssXG4gICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBvbGRTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFRhcmdldFBhdGgsXG4gICAgdGFyZ2V0UGF0aE9yRmlsZTogdGFyZ2V0RmlsZVxuICB9KSlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogbGluay5kaXNwbGF5VGV4dDtcblxuICBpZiAoc2hvdWxkVXBkYXRlRmlsZW5hbWVBbGlhcyA/PyB0cnVlKSB7XG4gICAgaWYgKGFsaWFzID09PSBiYXNlbmFtZShvbGRUYXJnZXRQYXRoLCBleHRuYW1lKG9sZFRhcmdldFBhdGgpKSkge1xuICAgICAgYWxpYXMgPSB0YXJnZXRGaWxlLmJhc2VuYW1lO1xuICAgIH0gZWxzZSBpZiAoYWxpYXMgPT09IGJhc2VuYW1lKG9sZFRhcmdldFBhdGgpKSB7XG4gICAgICBhbGlhcyA9IHRhcmdldEZpbGUubmFtZTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBuZXdMaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPEdlbmVyYXRlTWFya2Rvd25MaW5rT3B0aW9ucz4oe1xuICAgIGFsaWFzLFxuICAgIGFwcCxcbiAgICBpc1dpa2lsaW5rOiBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MgPyBmYWxzZSA6IHVuZGVmaW5lZCxcbiAgICBvcmlnaW5hbExpbms6IGxpbmsub3JpZ2luYWwsXG4gICAgc291cmNlUGF0aE9yRmlsZTogbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICBzdWJwYXRoLFxuICAgIHRhcmdldFBhdGhPckZpbGU6IHRhcmdldEZpbGVcbiAgfSkpO1xuICByZXR1cm4gbmV3TGluaztcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBsaW5rcyBpbiBhIGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIGxpbmtzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbGlua3MgYXJlIHVwZGF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVMaW5rc0luRmlsZShvcHRpb25zOiBVcGRhdGVMaW5rc0luRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICBuZXdTb3VyY2VQYXRoT3JGaWxlLFxuICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgc2hvdWxkRm9yY2VNYXJrZG93bkxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzLFxuICAgIHNob3VsZFVwZGF0ZUZpbGVuYW1lQWxpYXNcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGlzQ2FudmFzRmlsZShhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUpICYmICFhcHAuaW50ZXJuYWxQbHVnaW5zLmdldEVuYWJsZWRQbHVnaW5CeUlkKCdjYW52YXMnKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGVkaXRMaW5rcyhhcHAsIG5ld1NvdXJjZVBhdGhPckZpbGUsIChsaW5rKSA9PiB7XG4gICAgY29uc3QgaXNFbWJlZExpbmsgPSB0ZXN0RW1iZWQobGluay5vcmlnaW5hbCk7XG4gICAgaWYgKHNob3VsZFVwZGF0ZUVtYmVkT25seUxpbmtzICE9PSB1bmRlZmluZWQgJiYgc2hvdWxkVXBkYXRlRW1iZWRPbmx5TGlua3MgIT09IGlzRW1iZWRMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBjb252ZXJ0TGluayhub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8Q29udmVydExpbmtPcHRpb25zPih7XG4gICAgICBhcHAsXG4gICAgICBsaW5rLFxuICAgICAgbmV3U291cmNlUGF0aE9yRmlsZSxcbiAgICAgIG9sZFNvdXJjZVBhdGhPckZpbGUsXG4gICAgICBzaG91bGRGb3JjZU1hcmtkb3duTGlua3MsXG4gICAgICBzaG91bGRVcGRhdGVGaWxlbmFtZUFsaWFzXG4gICAgfSkpO1xuICB9LCBvcHRpb25zKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF1QkEsc0JBR087QUFDUCxvQkFBdUI7QUFDdkIsMEJBQXdCO0FBQ3hCLDhCQUErQjtBQU8vQixvQkFHTztBQUNQLGtCQU1PO0FBQ1Asb0JBSU87QUFDUCxpQkFBc0I7QUFDdEIsd0JBQWlDO0FBQ2pDLHdCQU1PO0FBQ1AsMkJBS087QUFDUCw4QkFHTztBQUNQLHVCQUFzQztBQXZFdEMsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF3RUEsTUFBTSw4QkFBOEI7QUFLcEMsTUFBTSxzQ0FBc0M7QUF1VHJDLFNBQVMsWUFBWSxTQUFxQztBQUMvRCxRQUFNLGFBQWEsZ0JBQWdCLFFBQVEsS0FBSyxRQUFRLE1BQU0sUUFBUSx1QkFBdUIsUUFBUSxtQkFBbUI7QUFDeEgsTUFBSSxDQUFDLFlBQVk7QUFDZixXQUFPLFFBQVEsS0FBSztBQUFBLEVBQ3RCO0FBRUEsU0FBTyxlQUFXLDJDQUErQztBQUFBLElBQy9ELEtBQUssUUFBUTtBQUFBLElBQ2IsTUFBTSxRQUFRO0FBQUEsSUFDZCxxQkFBcUIsUUFBUTtBQUFBLElBQzdCLHFCQUFxQjtBQUFBLElBQ3JCLHFCQUFxQixRQUFRO0FBQUEsSUFDN0IsMEJBQTBCLFFBQVE7QUFBQSxJQUNsQywyQkFBMkIsUUFBUTtBQUFBLEVBQ3JDLENBQUMsQ0FBQztBQUNKO0FBWUEsZUFBc0IsY0FBYyxLQUFVLFlBQXdCLGVBQWlFLGlCQUFpQyxDQUFDLEdBQWtCO0FBQ3pMLFFBQU0sWUFBWSxVQUFNLDhDQUF3QixLQUFLLFlBQVksY0FBYztBQUMvRSxhQUFXLG9CQUFvQixVQUFVLEtBQUssR0FBRztBQUMvQyxVQUFNLGVBQWUsVUFBVSxJQUFJLGdCQUFnQixLQUFLLENBQUM7QUFDekQsVUFBTSxZQUFZLElBQUksSUFBWSxhQUFhLElBQUksQ0FBQyxhQUFTLHNCQUFPLElBQUksQ0FBQyxDQUFDO0FBQzFFLFVBQU0sVUFBVSxLQUFLLGtCQUFrQixDQUFDLFNBQVM7QUFDL0MsWUFBTSxlQUFXLHNCQUFPLElBQUk7QUFDNUIsVUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRLEdBQUc7QUFDNUI7QUFBQSxNQUNGO0FBRUEsYUFBTyxjQUFjLElBQUk7QUFBQSxJQUMzQixHQUFHLGNBQWM7QUFBQSxFQUNuQjtBQUNGO0FBV0EsZUFBc0IsVUFDcEIsS0FDQSxZQUVBLGVBQ0EsaUJBQWlDLENBQUMsR0FBa0I7QUFDcEQsWUFBTSxvQ0FBaUIsS0FBSyxZQUFZLFlBQVk7QUFDbEQsVUFBTSxRQUFRLFVBQU0sbUNBQWEsS0FBSyxVQUFVO0FBQ2hELFFBQUksQ0FBQyxPQUFPO0FBQ1YsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUVBLFVBQU0sVUFBd0IsQ0FBQztBQUUvQixlQUFXLFlBQVEsa0NBQVksS0FBSyxHQUFHO0FBQ3JDLFlBQU0sYUFBYSxNQUFNLGNBQWMsSUFBSTtBQUMzQyxVQUFJLGVBQWUsUUFBVztBQUM1QjtBQUFBLE1BQ0Y7QUFFQSxjQUFRLFNBQUssd0NBQXNCLE1BQU0sVUFBVSxDQUFDO0FBQUEsSUFDdEQ7QUFFQSxXQUFPO0FBQUEsRUFDVCxHQUFHLGNBQWM7QUFDbkI7QUFVTyxTQUFTLGdCQUFnQixLQUFVLE1BQWlCLGtCQUE0QztBQUNyRyxRQUFNLEVBQUUsU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJO0FBQzNDLFNBQU8sSUFBSSxjQUFjLHFCQUFxQixjQUFVLDJCQUFRLEtBQUssZ0JBQWdCLENBQUM7QUFDeEY7QUFRTyxTQUFTLHFCQUFxQixTQUE4QztBQUNqRixRQUFNLEVBQUUsSUFBSSxJQUFJO0FBRWhCLFFBQU0sK0JBQWdDLElBQUksWUFBWSxxQkFBNEUscUJBQXFCLE9BQTZDLENBQUM7QUFDck0sUUFBTSw2QkFBNkIsNkJBQTZCO0FBRWhFLFFBQU0sa0JBQXdEO0FBQUEsSUFDNUQsMEJBQTBCO0FBQUEsRUFDNUI7QUFFQSxZQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyw0QkFBNEIsR0FBRyxRQUFRO0FBRTFFLFFBQU0saUJBQWEsMkJBQVEsS0FBSyxRQUFRLGtCQUFrQixRQUFRLHdCQUF3QjtBQUUxRixhQUFPLDZDQUF1QixLQUFLLFlBQVksTUFBTTtBQUNuRCxVQUFNLGlCQUFhLDJCQUFRLEtBQUssUUFBUSxnQkFBZ0I7QUFDeEQsVUFBTSxVQUFVLFFBQVEsV0FBVztBQUNuQyxRQUFJLFFBQVEsUUFBUSxTQUFTO0FBQzdCLFVBQU0sVUFBVSxRQUFRLFlBQVksUUFBUSxlQUFlLFVBQVUsUUFBUSxZQUFZLElBQUksV0FBYyxLQUFDLGtDQUFlLEtBQUssVUFBVTtBQUMxSSxVQUFNLGFBQWEsUUFBUSxlQUFlLFFBQVEsZUFBZSxhQUFhLFFBQVEsWUFBWSxJQUFJLGVBQWMsNENBQW1CLEdBQUc7QUFDMUksVUFBTSwwQkFBMEIsUUFBUSwrQkFBMkIsZ0RBQXVCLEdBQUc7QUFDN0YsVUFBTSxzQkFBc0IsUUFBUSx3QkFBd0IsUUFBUSxlQUFlLGVBQWUsUUFBUSxZQUFZLElBQUksV0FBYztBQUN4SSxVQUFNLHlCQUF5QixRQUFRLDJCQUEyQixRQUFRLGVBQWUsa0JBQWtCLFFBQVEsWUFBWSxJQUFJLFdBQWM7QUFFakosUUFBSSxXQUFXLFdBQVcsU0FBUyxjQUFjLFVBQzdDLFVBQ0EsOEJBQ0UsMEJBQVMscUJBQVEsVUFBVSxHQUFHLGlCQUFhLHlDQUFzQixLQUFLLFVBQVUsSUFBSSxXQUFXLElBQUksSUFBSSxVQUN2RyxJQUFJLGNBQWMsZUFBZSxZQUFZLFlBQVksVUFBVSxJQUFJO0FBRTdFLFFBQUksMkJBQTJCLHVCQUF1QixDQUFDLFNBQVMsV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLFdBQVcsR0FBRyxHQUFHO0FBQzVHLGlCQUFXLE9BQU87QUFBQSxJQUNwQjtBQUVBLFVBQU0sY0FBYyxVQUFVLE1BQU07QUFFcEMsUUFBSSxDQUFDLFlBQVk7QUFDZixVQUFJLHdCQUF3QjtBQUMxQixtQkFBVyxJQUFJLFFBQVE7QUFBQSxNQUN6QixPQUFPO0FBQ0wsdUJBQVcsMEJBQVcsVUFBVSw2QkFBNkIsQ0FBQyxFQUFFLFdBQVcsa0JBQWtCLE1BQU0sbUJBQW1CLGlCQUFpQixDQUFDO0FBQUEsTUFDMUk7QUFFQSxVQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLDJCQUEyQjtBQUM3RCxnQkFBUSxDQUFDLFFBQVEsb0RBQWdELGtDQUFlLEtBQUssVUFBVSxJQUFJLFdBQVcsV0FBVyxXQUFXO0FBQUEsTUFDdEk7QUFFQSxrQkFBUSwwQkFBVyxPQUFPLHFDQUFxQyxNQUFNO0FBRXJFLGFBQU8sR0FBRyxXQUFXLElBQUksS0FBSyxLQUFLLFFBQVE7QUFBQSxJQUM3QyxPQUFPO0FBQ0wsVUFBSSxTQUFTLE1BQU0sWUFBWSxNQUFNLFNBQVMsWUFBWSxHQUFHO0FBQzNELG1CQUFXO0FBQ1gsZ0JBQVE7QUFBQSxNQUNWO0FBRUEsWUFBTSxZQUFZLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDeEMsYUFBTyxHQUFHLFdBQVcsS0FBSyxRQUFRLEdBQUcsU0FBUztBQUFBLElBQ2hEO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRTyxTQUFTLFVBQVUsS0FBcUM7QUFDN0QsVUFBSSxrQkFBTSxHQUFHLEdBQUc7QUFDZCxXQUFPO0FBQUEsTUFDTCxTQUFTO0FBQUEsTUFDVCxZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixLQUFLO0FBQUEsSUFDUDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLGVBQWU7QUFDckIsUUFBTSxxQkFBcUI7QUFDM0IsUUFBTSxvQkFBb0I7QUFDMUIsUUFBTSxjQUFjO0FBQ3BCLFFBQU0sbUJBQW1CO0FBRXpCLFFBQU0sVUFBVSxJQUFJLFdBQVcsWUFBWTtBQUMzQyxNQUFJLFNBQVM7QUFDWCxjQUFNLHlCQUFVLEtBQUssWUFBWTtBQUFBLEVBQ25DO0FBQ0EsUUFBTSxnQkFBWSxzQkFBTyxFQUFFLElBQUksb0JBQUFBLE9BQVcsRUFBRSxJQUFJLHdDQUFnQixFQUFFLGNBQWMsaUJBQWlCLENBQUM7QUFDbEcsUUFBTSxPQUFPLFVBQVUsTUFBTSxHQUFHO0FBRWhDLE1BQUksS0FBSyxTQUFTLFdBQVcsR0FBRztBQUM5QixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sWUFBWSxLQUFLLFNBQVMsQ0FBQztBQUVqQyxNQUFJLFdBQVcsU0FBUyxhQUFhO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxVQUFVLFNBQVMsV0FBVyxHQUFHO0FBQ25DLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxPQUFPLFVBQVUsU0FBUyxDQUFDO0FBRWpDLE1BQUksTUFBTSxVQUFVLE1BQU0sV0FBVyxHQUFHO0FBQ3RDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxLQUFLLFNBQVMsSUFBSSxXQUFXLElBQUksUUFBUTtBQUMzQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFVBQVEsS0FBSyxNQUFnQjtBQUFBLElBQzNCLEtBQUssUUFBUTtBQUNYLFlBQU0sV0FBVztBQUNqQixZQUFNLFlBQVksU0FBUyxTQUFTLENBQUM7QUFDckMsWUFBTSxTQUFTLElBQUksT0FBTyxXQUFXLFVBQVUsSUFBSSxVQUFVLEtBQUssa0JBQWtCLFNBQVMsU0FBUyxVQUFVLElBQUksVUFBVSxLQUFLLFlBQVksTUFBTTtBQUNySixZQUFNLG1CQUFtQixJQUFJLFdBQVcsa0JBQWtCLEtBQUssT0FBTyxXQUFXLGtCQUFrQjtBQUNuRyxZQUFNLGlCQUFhLGtCQUFNLFNBQVMsR0FBRztBQUNyQyxVQUFJLE1BQU0sU0FBUztBQUNuQixVQUFJLENBQUMsWUFBWTtBQUNmLFlBQUksQ0FBQyxrQkFBa0I7QUFDckIsY0FBSTtBQUNGLGtCQUFNLG1CQUFtQixHQUFHO0FBQUEsVUFDOUIsU0FBUyxPQUFPO0FBQ2Qsb0JBQVEsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLEtBQUs7QUFBQSxVQUNwRDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQ0EsaUJBQU8sMkNBQTZDO0FBQUEsUUFDbEQsT0FBTyxXQUFXO0FBQUEsUUFDbEI7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0EsWUFBWTtBQUFBLFFBQ1osT0FBTyxTQUFTLFNBQVM7QUFBQSxRQUN6QjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLEtBQUssWUFBWTtBQUNmLFlBQU0sZUFBZTtBQUNyQixpQkFBTywyQ0FBNkM7QUFBQSxRQUNsRCxPQUFPLElBQUksU0FBUyxnQkFBZ0IsSUFBSSxhQUFhLEtBQUssUUFBUTtBQUFBLFFBQ2xFO0FBQUEsUUFDQSxZQUFZO0FBQUEsUUFDWixLQUFLLGFBQWE7QUFBQSxNQUNwQixDQUFDO0FBQUEsSUFDSDtBQUFBLElBQ0E7QUFDRSxhQUFPO0FBQUEsRUFDWDtBQUNGO0FBUU8sU0FBUyxpQkFBaUIsU0FBMkM7QUFDMUUsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixNQUFJLGVBQWUsT0FBTztBQUN4QixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksQ0FBQyxhQUFhO0FBQ2hCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxpQkFBYSwyQkFBUSxLQUFLLGtCQUFrQixJQUFJO0FBQ3RELFFBQU0sb0JBQWdCLDJCQUFRLEtBQUssbUJBQW1CO0FBQ3RELFFBQU0sb0JBQWdCLDJCQUFRLEtBQUssdUJBQXVCLG1CQUFtQjtBQUM3RSxRQUFNLG1CQUFlLHFCQUFRLGFBQWE7QUFDMUMsUUFBTSxtQkFBZSxxQkFBUSxhQUFhO0FBQzFDLFFBQU0saUJBQWlCLG9CQUFJLElBQVk7QUFFdkMsYUFBVyxjQUFjLENBQUMsV0FBVyxNQUFNLGFBQWEsR0FBRztBQUN6RCxRQUFJLENBQUMsWUFBWTtBQUNmO0FBQUEsSUFDRjtBQUVBLFVBQU0sV0FBTywyQkFBUSxLQUFLLFVBQVU7QUFDcEMsbUJBQWUsSUFBSSxJQUFJO0FBQ3ZCLG1CQUFlLFFBQUksc0JBQVMsSUFBSSxDQUFDO0FBQ2pDLG1CQUFlLFFBQUksc0JBQVMsY0FBYyxJQUFJLENBQUM7QUFDL0MsbUJBQWUsUUFBSSxzQkFBUyxjQUFjLElBQUksQ0FBQztBQUFBLEVBQ2pEO0FBRUEsYUFBVyxjQUFjLENBQUMsZUFBZSxhQUFhLEdBQUc7QUFDdkQsbUJBQWUsSUFBSSxJQUFJLGNBQWMsZUFBZSxZQUFZLFlBQVksS0FBSyxDQUFDO0FBQUEsRUFDcEY7QUFFQSxRQUFNLHVCQUFtQiw4QkFBVywrQkFBYyxZQUFZLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsWUFBWTtBQUVoSCxhQUFXLFNBQVMsZ0JBQWdCO0FBQ2xDLFFBQUksTUFBTSxZQUFZLE1BQU0sa0JBQWtCO0FBQzVDLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxVQUFNLHFCQUFRLEtBQUs7QUFDekIsVUFBTSxXQUFPLHNCQUFTLFdBQU8scUJBQVEsS0FBSyxDQUFDO0FBQzNDLFlBQUksa0JBQUssS0FBSyxJQUFJLEVBQUUsWUFBWSxNQUFNLGtCQUFrQjtBQUN0RCxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFRTyxTQUFTLGFBQWEsTUFBa0M7QUFDN0QsUUFBTSxhQUFTLG1DQUFjLHlCQUFVLElBQUksQ0FBQztBQUM1QyxTQUFPO0FBQUEsSUFDTCxVQUFVLE9BQU87QUFBQSxJQUNqQixTQUFTLE9BQU87QUFBQSxFQUNsQjtBQUNGO0FBU08sU0FBUyxrQkFBa0IsTUFBdUI7QUFDdkQsUUFBTSxrQkFBa0IsVUFBVSxJQUFJO0FBQ3RDLFNBQU8saUJBQWlCLG9CQUFvQjtBQUM5QztBQVNPLFNBQVMsVUFBVSxNQUF1QjtBQUMvQyxRQUFNLGtCQUFrQixVQUFVLElBQUk7QUFDdEMsU0FBTyxpQkFBaUIsV0FBVztBQUNyQztBQVVPLFNBQVMsZUFBZSxNQUF1QjtBQUNwRCxRQUFNLGtCQUFrQixVQUFVLElBQUk7QUFDdEMsU0FBTyxpQkFBaUIsSUFBSSxXQUFXLElBQUksS0FBSztBQUNsRDtBQVNPLFNBQVMsYUFBYSxNQUF1QjtBQUNsRCxRQUFNLGtCQUFrQixVQUFVLElBQUk7QUFDdEMsU0FBTyxpQkFBaUIsY0FBYztBQUN4QztBQVFPLFNBQVMsV0FBVyxTQUFvQztBQUM3RCxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixNQUFJLENBQUMscUJBQXFCO0FBQ3hCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFDQSxRQUFNLGlCQUFhLDJCQUFRLEtBQUsscUJBQXFCLElBQUk7QUFDekQsUUFBTSxvQkFBZ0IsMkJBQVEsS0FBSyx1QkFBdUIsbUJBQW1CO0FBQzdFLFFBQU0sYUFBYSxhQUFhLEtBQUssUUFBUSxLQUFLLDZCQUE2QjtBQUMvRSxRQUFNLEVBQUUsUUFBUSxJQUFJLGFBQWEsS0FBSyxJQUFJO0FBRTFDLFVBQUksZ0NBQWEsS0FBSyxtQkFBbUIsR0FBRztBQUMxQyxXQUFPLFdBQVcsT0FBTztBQUFBLEVBQzNCO0FBRUEsTUFBSSxRQUFRLHFCQUFpQiwyQ0FBcUQ7QUFBQSxJQUNoRjtBQUFBLElBQ0EsYUFBYSxLQUFLO0FBQUEsSUFDbEI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLGtCQUFrQjtBQUFBLEVBQ3BCLENBQUMsQ0FBQyxJQUNFLFNBQ0EsS0FBSztBQUVULE1BQUksNkJBQTZCLE1BQU07QUFDckMsUUFBSSxjQUFVLHNCQUFTLG1CQUFlLHFCQUFRLGFBQWEsQ0FBQyxHQUFHO0FBQzdELGNBQVEsV0FBVztBQUFBLElBQ3JCLFdBQVcsY0FBVSxzQkFBUyxhQUFhLEdBQUc7QUFDNUMsY0FBUSxXQUFXO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBRUEsUUFBTSxVQUFVLHlCQUFxQiwyQ0FBeUQ7QUFBQSxJQUM1RjtBQUFBLElBQ0E7QUFBQSxJQUNBLFlBQVksMkJBQTJCLFFBQVE7QUFBQSxJQUMvQyxjQUFjLEtBQUs7QUFBQSxJQUNuQixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLElBQ0Esa0JBQWtCO0FBQUEsRUFDcEIsQ0FBQyxDQUFDO0FBQ0YsU0FBTztBQUNUO0FBUUEsZUFBc0Isa0JBQWtCLFNBQWtEO0FBQ3hGLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixVQUFJLGdDQUFhLEtBQUssbUJBQW1CLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixxQkFBcUIsUUFBUSxHQUFHO0FBQ2pHO0FBQUEsRUFDRjtBQUVBLFFBQU0sVUFBVSxLQUFLLHFCQUFxQixDQUFDLFNBQVM7QUFDbEQsVUFBTSxjQUFjLFVBQVUsS0FBSyxRQUFRO0FBQzNDLFFBQUksK0JBQStCLFVBQWEsK0JBQStCLGFBQWE7QUFDMUY7QUFBQSxJQUNGO0FBQ0EsV0FBTyxnQkFBWSwyQ0FBZ0Q7QUFBQSxNQUNqRTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsSUFDRixDQUFDLENBQUM7QUFBQSxFQUNKLEdBQUcsT0FBTztBQUNaOyIsCiAgIm5hbWVzIjogWyJyZW1hcmtQYXJzZSJdCn0K
|
@@ -32,7 +32,12 @@ __export(Loop_exports, {
|
|
32
32
|
module.exports = __toCommonJS(Loop_exports);
|
33
33
|
var import_Debug = require('../Debug.cjs');
|
34
34
|
var import_Error = require('../Error.cjs');
|
35
|
-
var __process = globalThis["process"] ?? {
|
35
|
+
var __process = globalThis["process"] ?? {
|
36
|
+
"browser": true,
|
37
|
+
"cwd": "[[Function0]]",
|
38
|
+
"env": {},
|
39
|
+
"platform": "android"
|
40
|
+
};
|
36
41
|
async function loop(options) {
|
37
42
|
const items = options.items;
|
38
43
|
let iterationCount = 0;
|
@@ -64,4 +69,4 @@ async function loop(options) {
|
|
64
69
|
0 && (module.exports = {
|
65
70
|
loop
|
66
71
|
});
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
72
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImJyb3dzZXJcIjogdHJ1ZSxcbiAgXCJjd2RcIjogXCJbW0Z1bmN0aW9uMF1dXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTG9vcFxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGxvb3BpbmcgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgZW1pdEFzeW5jRXJyb3JFdmVudCB9IGZyb20gJy4uL0Vycm9yLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgbG9vcCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb29wT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBhYm9ydCBzaWduYWwgdG8gY2FuY2VsIHRoZSBsb29wLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0byBidWlsZCB0aGUgbm90aWNlIG1lc3NhZ2UgZm9yIGVhY2ggaXRlbS5cbiAgICovXG4gIGJ1aWxkTm90aWNlTWVzc2FnZShpdGVtOiBULCBpdGVyYXRpb25TdHI6IHN0cmluZyk6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpdGVtcyB0byBsb29wIG92ZXIuXG4gICAqL1xuICBpdGVtczogVFtdO1xuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIHByb2Nlc3MgZWFjaCBpdGVtLlxuICAgKi9cbiAgcHJvY2Vzc0l0ZW0oaXRlbTogVCk6IE1heWJlUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udGludWUgdGhlIGxvb3Agb24gZXJyb3IuXG4gICAqL1xuICBzaG91bGRDb250aW51ZU9uRXJyb3I/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIExvb3BzIG92ZXIgYSBsaXN0IG9mIGl0ZW1zIGFuZCBwcm9jZXNzZXMgZWFjaCBpdGVtLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBsb29wLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9vcDxUPihvcHRpb25zOiBMb29wT3B0aW9uczxUPik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpdGVtcyA9IG9wdGlvbnMuaXRlbXM7XG4gIGxldCBpdGVyYXRpb25Db3VudCA9IDA7XG4gIGNvbnN0IG5vdGljZSA9IG5ldyBOb3RpY2UoJycsIDApO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBpZiAob3B0aW9ucy5hYm9ydFNpZ25hbD8uYWJvcnRlZCkge1xuICAgICAgbm90aWNlLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXRlcmF0aW9uQ291bnQrKztcbiAgICBjb25zdCBpdGVyYXRpb25TdHIgPSBgIyAke2l0ZXJhdGlvbkNvdW50LnRvU3RyaW5nKCl9IC8gJHtpdGVtcy5sZW5ndGgudG9TdHJpbmcoKX1gO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBvcHRpb25zLmJ1aWxkTm90aWNlTWVzc2FnZShpdGVtLCBpdGVyYXRpb25TdHIpO1xuICAgIG5vdGljZS5zZXRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgIGdldERlYnVnZ2VyKCdvYnNpZGlhbi1kZXYtdXRpbHM6bG9vcCcpKG1lc3NhZ2UpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghb3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlLmhpZGUoKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbm90aWNlLmhpZGUoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxtQkFBNEI7QUFDNUIsbUJBQW9DO0FBZHBDLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLFdBQVc7QUFBQSxFQUNYLE9BQU87QUFBQSxFQUNQLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMENBLGVBQXNCLEtBQVEsU0FBd0M7QUFDcEUsUUFBTSxRQUFRLFFBQVE7QUFDdEIsTUFBSSxpQkFBaUI7QUFDckIsUUFBTSxTQUFTLElBQUksT0FBTyxJQUFJLENBQUM7QUFDL0IsYUFBVyxRQUFRLE9BQU87QUFDeEIsUUFBSSxRQUFRLGFBQWEsU0FBUztBQUNoQyxhQUFPLEtBQUs7QUFDWjtBQUFBLElBQ0Y7QUFDQTtBQUNBLFVBQU0sZUFBZSxLQUFLLGVBQWUsU0FBUyxDQUFDLE1BQU0sTUFBTSxPQUFPLFNBQVMsQ0FBQztBQUNoRixVQUFNLFVBQVUsUUFBUSxtQkFBbUIsTUFBTSxZQUFZO0FBQzdELFdBQU8sV0FBVyxPQUFPO0FBQ3pCLGtDQUFZLHlCQUF5QixFQUFFLE9BQU87QUFFOUMsUUFBSTtBQUNGLFlBQU0sUUFBUSxZQUFZLElBQUk7QUFBQSxJQUNoQyxTQUFTLE9BQU87QUFDZCxVQUFJLENBQUMsUUFBUSx1QkFBdUI7QUFDbEMsZUFBTyxLQUFLO0FBQ1osY0FBTTtBQUFBLE1BQ1IsT0FBTztBQUNMLDhDQUFvQixLQUFLO0FBQUEsTUFDM0I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU8sS0FBSztBQUNkOyIsCiAgIm5hbWVzIjogW10KfQo=
|