obsidian-dev-utils 19.1.2-beta.3 → 19.1.2-beta.5
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 +12 -0
- package/dist/lib/cjs/Library.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +306 -250
- package/dist/lib/cjs/ScriptUtils/ESLint/index.d.cts +2 -2
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/index.d.cts +9 -9
- package/dist/lib/cjs/ScriptUtils/index.d.cts +17 -17
- package/dist/lib/cjs/Transformers/DateTransformer.d.cts +1 -1
- package/dist/lib/cjs/Transformers/DurationTransformer.d.cts +1 -1
- package/dist/lib/cjs/Transformers/GroupTransformer.d.cts +1 -1
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.d.cts +1 -1
- package/dist/lib/cjs/Transformers/TypedTransformer.d.cts +1 -1
- package/dist/lib/cjs/Transformers/index.d.cts +6 -6
- package/dist/lib/cjs/codemirror/index.d.cts +1 -1
- package/dist/lib/cjs/index.d.cts +20 -20
- package/dist/lib/cjs/obsidian/@types/Dataview/index.d.cts +10 -10
- package/dist/lib/cjs/obsidian/Backlink.cjs +1 -2
- package/dist/lib/cjs/obsidian/Components/DateComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/DateTimeComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/EmailComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/FileComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/MonthComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/MultipleEmailComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/MultipleFileComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/NumberComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/TimeComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/UrlComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.cjs +1 -2
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/WeekComponent.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Components/index.d.cts +17 -17
- package/dist/lib/cjs/obsidian/Dataview.d.cts +1 -1
- package/dist/lib/cjs/obsidian/FileSystem.cjs +1 -1
- package/dist/lib/cjs/obsidian/FileSystem.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Markdown.cjs +1 -1
- package/dist/lib/cjs/obsidian/Markdown.d.cts +2 -1
- package/dist/lib/cjs/obsidian/MarkdownView.cjs +1 -2
- package/dist/lib/cjs/obsidian/MarkdownView.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +1 -1
- package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +1 -1
- package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Modals/index.d.cts +5 -5
- package/dist/lib/cjs/obsidian/Plugin/EmptySettings.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +1 -1
- package/dist/lib/cjs/obsidian/Plugin/Plugin.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +1 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsBase.cjs +1 -2
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsBase.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +1 -2
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +1 -1
- package/dist/lib/cjs/obsidian/Plugin/index.d.cts +8 -8
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +1 -1
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +13 -13
- package/dist/lib/cjs/obsidian/Vault.cjs +1 -2
- package/dist/lib/cjs/obsidian/Vault.d.cts +1 -2
- package/dist/lib/cjs/obsidian/index.d.cts +29 -29
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +306 -250
- package/dist/lib/esm/ScriptUtils/ESLint/index.d.mts +2 -2
- package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/index.d.mts +9 -9
- package/dist/lib/esm/ScriptUtils/index.d.mts +17 -17
- package/dist/lib/esm/Transformers/DateTransformer.d.mts +1 -1
- package/dist/lib/esm/Transformers/DurationTransformer.d.mts +1 -1
- package/dist/lib/esm/Transformers/GroupTransformer.d.mts +1 -1
- package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.d.mts +1 -1
- package/dist/lib/esm/Transformers/TypedTransformer.d.mts +1 -1
- package/dist/lib/esm/Transformers/index.d.mts +6 -6
- package/dist/lib/esm/codemirror/index.d.mts +1 -1
- package/dist/lib/esm/index.d.mts +20 -20
- package/dist/lib/esm/obsidian/@types/Dataview/index.d.mts +10 -10
- package/dist/lib/esm/obsidian/Backlink.mjs +1 -2
- package/dist/lib/esm/obsidian/Components/DateComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/DateTimeComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/EmailComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/FileComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/MonthComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/MultipleFileComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/NumberComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/TimeComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/UrlComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/ValueComponentWithChangeTracking.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/ValueComponentWithChangeTracking.mjs +1 -2
- package/dist/lib/esm/obsidian/Components/WeekComponent.d.mts +1 -1
- package/dist/lib/esm/obsidian/Components/index.d.mts +17 -17
- package/dist/lib/esm/obsidian/Dataview.d.mts +1 -1
- package/dist/lib/esm/obsidian/FileSystem.d.mts +2 -1
- package/dist/lib/esm/obsidian/FileSystem.mjs +1 -2
- package/dist/lib/esm/obsidian/Markdown.d.mts +2 -1
- package/dist/lib/esm/obsidian/Markdown.mjs +1 -2
- package/dist/lib/esm/obsidian/MarkdownView.d.mts +1 -1
- package/dist/lib/esm/obsidian/MarkdownView.mjs +1 -2
- package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +1 -1
- package/dist/lib/esm/obsidian/Modals/Prompt.mjs +1 -2
- package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +1 -1
- package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +2 -5
- package/dist/lib/esm/obsidian/Modals/index.d.mts +5 -5
- package/dist/lib/esm/obsidian/Plugin/EmptySettings.d.mts +1 -1
- package/dist/lib/esm/obsidian/Plugin/Plugin.d.mts +1 -1
- package/dist/lib/esm/obsidian/Plugin/Plugin.mjs +2 -5
- package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +2 -1
- package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +2 -3
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsBase.d.mts +1 -1
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsBase.mjs +1 -2
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +1 -1
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +1 -2
- package/dist/lib/esm/obsidian/Plugin/index.d.mts +8 -8
- package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +2 -6
- package/dist/lib/esm/obsidian/SettingEx.d.mts +13 -13
- package/dist/lib/esm/obsidian/Vault.d.mts +1 -2
- package/dist/lib/esm/obsidian/Vault.mjs +1 -5
- package/dist/lib/esm/obsidian/index.d.mts +29 -29
- package/package.json +1 -1
@@ -5,7 +5,7 @@
|
|
5
5
|
* and it sets up various esbuild plugins to preprocess, lint, fix source maps, and copy files to the Obsidian plugins folder.
|
6
6
|
*/
|
7
7
|
import type { BuildContext, Plugin } from 'esbuild';
|
8
|
-
import { CliTaskResult } from '../CliUtils.d.mts';
|
8
|
+
import type { CliTaskResult } from '../CliUtils.d.mts';
|
9
9
|
/**
|
10
10
|
* Enumeration representing the build modes.
|
11
11
|
*/
|
@@ -1,9 +1,9 @@
|
|
1
|
-
export * as changeExtensionPlugin from './changeExtensionPlugin.
|
2
|
-
export * as copyToObsidianPluginsFolderPlugin from './copyToObsidianPluginsFolderPlugin.
|
3
|
-
export * as Dependency from './Dependency.
|
4
|
-
export * as fixEsmPlugin from './fixEsmPlugin.
|
5
|
-
export * as fixSourceMapsPlugin from './fixSourceMapsPlugin.
|
6
|
-
export * as ObsidianPluginBuilder from './ObsidianPluginBuilder.
|
7
|
-
export * as preprocessPlugin from './preprocessPlugin.
|
8
|
-
export * as renameCssPlugin from './renameCssPlugin.
|
9
|
-
export * as svelteWrapperPlugin from './svelteWrapperPlugin.
|
1
|
+
export * as changeExtensionPlugin from './changeExtensionPlugin.ts';
|
2
|
+
export * as copyToObsidianPluginsFolderPlugin from './copyToObsidianPluginsFolderPlugin.ts';
|
3
|
+
export * as Dependency from './Dependency.ts';
|
4
|
+
export * as fixEsmPlugin from './fixEsmPlugin.ts';
|
5
|
+
export * as fixSourceMapsPlugin from './fixSourceMapsPlugin.ts';
|
6
|
+
export * as ObsidianPluginBuilder from './ObsidianPluginBuilder.ts';
|
7
|
+
export * as preprocessPlugin from './preprocessPlugin.ts';
|
8
|
+
export * as renameCssPlugin from './renameCssPlugin.ts';
|
9
|
+
export * as svelteWrapperPlugin from './svelteWrapperPlugin.ts';
|
@@ -1,17 +1,17 @@
|
|
1
|
-
export * as build from './build.
|
2
|
-
export * as cli from './cli.
|
3
|
-
export * as CliUtils from './CliUtils.
|
4
|
-
export * as CodeGenerator from './CodeGenerator.
|
5
|
-
export * as esbuild from './esbuild/index.
|
6
|
-
export * as ESLint from './ESLint/index.
|
7
|
-
export * as Exec from './Exec.
|
8
|
-
export * as format from './format.
|
9
|
-
export * as Fs from './Fs.
|
10
|
-
export * as JSON from './JSON.
|
11
|
-
export * as NodeModules from './NodeModules.
|
12
|
-
export * as Npm from './Npm.
|
13
|
-
export * as NpmPublish from './NpmPublish.
|
14
|
-
export * as ObsidianDevUtilsRepoPaths from './ObsidianDevUtilsRepoPaths.
|
15
|
-
export * as Root from './Root.
|
16
|
-
export * as spellcheck from './spellcheck.
|
17
|
-
export * as version from './version.
|
1
|
+
export * as build from './build.ts';
|
2
|
+
export * as cli from './cli.ts';
|
3
|
+
export * as CliUtils from './CliUtils.ts';
|
4
|
+
export * as CodeGenerator from './CodeGenerator.ts';
|
5
|
+
export * as esbuild from './esbuild/index.ts';
|
6
|
+
export * as ESLint from './ESLint/index.ts';
|
7
|
+
export * as Exec from './Exec.ts';
|
8
|
+
export * as format from './format.ts';
|
9
|
+
export * as Fs from './Fs.ts';
|
10
|
+
export * as JSON from './JSON.ts';
|
11
|
+
export * as NodeModules from './NodeModules.ts';
|
12
|
+
export * as Npm from './Npm.ts';
|
13
|
+
export * as NpmPublish from './NpmPublish.ts';
|
14
|
+
export * as ObsidianDevUtilsRepoPaths from './ObsidianDevUtilsRepoPaths.ts';
|
15
|
+
export * as Root from './Root.ts';
|
16
|
+
export * as spellcheck from './spellcheck.ts';
|
17
|
+
export * as version from './version.ts';
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation DateTransformer
|
3
3
|
* A transformer that can transform Date to an ISO string and back.
|
4
4
|
*/
|
5
|
-
import { TypedTransformer } from './TypedTransformer.d.mts';
|
5
|
+
import type { TypedTransformer } from './TypedTransformer.d.mts';
|
6
6
|
/**
|
7
7
|
* A transformer that can transform Date to an ISO string and back.
|
8
8
|
*/
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* A transformer that can transform Duration to an ISO string and back.
|
4
4
|
*/
|
5
5
|
import type { Duration } from 'moment';
|
6
|
-
import { TypedTransformer } from './TypedTransformer.d.mts';
|
6
|
+
import type { TypedTransformer } from './TypedTransformer.d.mts';
|
7
7
|
/**
|
8
8
|
* A transformer that converts a Duration to an ISO string and back.
|
9
9
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation GroupTransformer
|
3
3
|
* A transformer that combines multiple transformers.
|
4
4
|
*/
|
5
|
-
import { Transformer } from './Transformer.d.mts';
|
5
|
+
import type { Transformer } from './Transformer.d.mts';
|
6
6
|
/**
|
7
7
|
* A transformer that combines multiple transformers.
|
8
8
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation SkipPrivatePropertyTransformer
|
3
3
|
* A transformer that skips private properties.
|
4
4
|
*/
|
5
|
-
import { Transformer } from './Transformer.d.mts';
|
5
|
+
import type { Transformer } from './Transformer.d.mts';
|
6
6
|
/**
|
7
7
|
* A transformer that skips private properties.
|
8
8
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation TypedTransformer
|
3
3
|
* A base class for transformers that can transform and restore a specific type.
|
4
4
|
*/
|
5
|
-
import { Transformer } from './Transformer.d.mts';
|
5
|
+
import type { Transformer } from './Transformer.d.mts';
|
6
6
|
/**
|
7
7
|
* A transformer that can transform and restore a specific type.
|
8
8
|
*
|
@@ -1,6 +1,6 @@
|
|
1
|
-
export * as DateTransformer from './DateTransformer.
|
2
|
-
export * as DurationTransformer from './DurationTransformer.
|
3
|
-
export * as GroupTransformer from './GroupTransformer.
|
4
|
-
export * as SkipPrivatePropertyTransformer from './SkipPrivatePropertyTransformer.
|
5
|
-
export * as Transformer from './Transformer.
|
6
|
-
export * as TypedTransformer from './TypedTransformer.
|
1
|
+
export * as DateTransformer from './DateTransformer.ts';
|
2
|
+
export * as DurationTransformer from './DurationTransformer.ts';
|
3
|
+
export * as GroupTransformer from './GroupTransformer.ts';
|
4
|
+
export * as SkipPrivatePropertyTransformer from './SkipPrivatePropertyTransformer.ts';
|
5
|
+
export * as Transformer from './Transformer.ts';
|
6
|
+
export * as TypedTransformer from './TypedTransformer.ts';
|
@@ -1 +1 @@
|
|
1
|
-
export * as StateFieldSpec from './StateFieldSpec.
|
1
|
+
export * as StateFieldSpec from './StateFieldSpec.ts';
|
package/dist/lib/esm/index.d.mts
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
export * as Async from './Async.
|
2
|
-
export * as Blob from './Blob.
|
3
|
-
export * as codemirror from './codemirror/index.
|
4
|
-
export * as CssClass from './CssClass.
|
5
|
-
export * as Debug from './Debug.
|
6
|
-
export * as DebugController from './DebugController.
|
7
|
-
export * as Enum from './Enum.
|
8
|
-
export * as Error from './Error.
|
9
|
-
export * as Function from './Function.
|
10
|
-
export * as HTMLElement from './HTMLElement.
|
11
|
-
export * as Library from './Library.
|
12
|
-
export * as Object from './Object.
|
13
|
-
export * as obsidian from './obsidian/index.
|
14
|
-
export * as Path from './Path.
|
15
|
-
export * as RegExp from './RegExp.
|
16
|
-
export * as ScriptUtils from './ScriptUtils/index.
|
17
|
-
export * as String from './String.
|
18
|
-
export * as Transformers from './Transformers/index.
|
19
|
-
export * as url from './url.
|
20
|
-
export * as ValueProvider from './ValueProvider.
|
1
|
+
export * as Async from './Async.ts';
|
2
|
+
export * as Blob from './Blob.ts';
|
3
|
+
export * as codemirror from './codemirror/index.ts';
|
4
|
+
export * as CssClass from './CssClass.ts';
|
5
|
+
export * as Debug from './Debug.ts';
|
6
|
+
export * as DebugController from './DebugController.ts';
|
7
|
+
export * as Enum from './Enum.ts';
|
8
|
+
export * as Error from './Error.ts';
|
9
|
+
export * as Function from './Function.ts';
|
10
|
+
export * as HTMLElement from './HTMLElement.ts';
|
11
|
+
export * as Library from './Library.ts';
|
12
|
+
export * as Object from './Object.ts';
|
13
|
+
export * as obsidian from './obsidian/index.ts';
|
14
|
+
export * as Path from './Path.ts';
|
15
|
+
export * as RegExp from './RegExp.ts';
|
16
|
+
export * as ScriptUtils from './ScriptUtils/index.ts';
|
17
|
+
export * as String from './String.ts';
|
18
|
+
export * as Transformers from './Transformers/index.ts';
|
19
|
+
export * as url from './url.ts';
|
20
|
+
export * as ValueProvider from './ValueProvider.ts';
|
@@ -2,27 +2,27 @@ export type {
|
|
2
2
|
DateTime,
|
3
3
|
Duration
|
4
4
|
} from 'luxon';
|
5
|
-
export type { DataArray } from './api/data-array.d.
|
6
|
-
export type { DataviewApi } from './api/plugin-api.d.
|
5
|
+
export type { DataArray } from './api/data-array.d.ts';
|
6
|
+
export type { DataviewApi } from './api/plugin-api.d.ts';
|
7
7
|
export type {
|
8
8
|
Failure,
|
9
9
|
Result,
|
10
10
|
Success
|
11
|
-
} from './api/result.d.
|
11
|
+
} from './api/result.d.ts';
|
12
12
|
export type {
|
13
13
|
FullIndex,
|
14
14
|
IndexMap,
|
15
15
|
PrefixIndex
|
16
|
-
} from './data-index/index.d.
|
16
|
+
} from './data-index/index.d.ts';
|
17
17
|
export type {
|
18
18
|
ListItem,
|
19
19
|
PageMetadata
|
20
|
-
} from './data-model/markdown.d.
|
20
|
+
} from './data-model/markdown.d.ts';
|
21
21
|
export type {
|
22
22
|
SListEntry,
|
23
23
|
SMarkdownPage,
|
24
24
|
STask
|
25
|
-
} from './data-model/serialized/markdown.d.
|
25
|
+
} from './data-model/serialized/markdown.d.ts';
|
26
26
|
export type {
|
27
27
|
DataObject,
|
28
28
|
Link,
|
@@ -32,7 +32,7 @@ export type {
|
|
32
32
|
LiteralWrapper,
|
33
33
|
Widget,
|
34
34
|
WrappedLiteral
|
35
|
-
} from './data-model/value.d.
|
35
|
+
} from './data-model/value.d.ts';
|
36
36
|
export type {
|
37
37
|
DATE_SHORTHANDS,
|
38
38
|
DURATION_TYPES,
|
@@ -40,9 +40,9 @@ export type {
|
|
40
40
|
ExpressionLanguage,
|
41
41
|
KEYWORDS,
|
42
42
|
parseField
|
43
|
-
} from './expression/parse.d.
|
44
|
-
export type { QUERY_LANGUAGE } from './query/parse.d.
|
45
|
-
export type { Query } from './query/query.d.
|
43
|
+
} from './expression/parse.d.ts';
|
44
|
+
export type { QUERY_LANGUAGE } from './query/parse.d.ts';
|
45
|
+
export type { Query } from './query/query.d.ts';
|
46
46
|
import type { DataviewApi } from './api/plugin-api.d.d.mts';
|
47
47
|
import 'obsidian';
|
48
48
|
import type { App } from 'obsidian';
|
@@ -5,7 +5,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
5
5
|
|
6
6
|
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
7
7
|
|
8
|
-
import { TFolder } from "obsidian";
|
9
8
|
import { throwExpression } from "../Error.mjs";
|
10
9
|
import { renderCallout } from "./Callout.mjs";
|
11
10
|
import { renderPaginatedTable } from "./Dataview.mjs";
|
@@ -85,4 +84,4 @@ export {
|
|
85
84
|
renderDelayedBacklinks,
|
86
85
|
renderDelayedBacklinksForFolder
|
87
86
|
};
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
87
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0JhY2tsaW5rLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBCYWNrbGlua1xuICogUHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBiYWNrbGlua3MuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBURmlsZSxcbiAgVEZvbGRlclxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgRGF0YXZpZXdJbmxpbmVBcGksXG4gIExpbmtcbn0gZnJvbSAnLi9EYXRhdmlldy50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFBhdGhPckFic3RyYWN0RmlsZSxcbiAgUGF0aE9yRmlsZVxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyByZW5kZXJDYWxsb3V0IH0gZnJvbSAnLi9DYWxsb3V0LnRzJztcbmltcG9ydCB7IHJlbmRlclBhZ2luYXRlZFRhYmxlIH0gZnJvbSAnLi9EYXRhdmlldy50cyc7XG5pbXBvcnQgeyBmaXhUaXRsZSB9IGZyb20gJy4vRGF0YXZpZXdMaW5rLnRzJztcbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgZ2V0TWFya2Rvd25GaWxlcyxcbiAgaXNGaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgeyBnZW5lcmF0ZU1hcmtkb3duTGluayB9IGZyb20gJy4vTGluay50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcmVuZGVyaW5nIGRlbGF5ZWQgYmFja2xpbmtzIGZvciBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgRGF0YXZpZXdJbmxpbmVBcGkgaW5zdGFuY2UuXG4gICAqL1xuICBkdjogRGF0YXZpZXdJbmxpbmVBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgcGF0aC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBmaWxlJ3MgZm9sZGVyIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIGZvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpdGxlIGZvciB0aGUgcmVuZGVyZWQgYmFja2xpbmtzLiBEZWZhdWx0cyB0byBcIkZvbGRlciBCYWNrbGlua3NcIi5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHJlbmRlcmluZyBkZWxheWVkIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJEZWxheWVkQmFja2xpbmtzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgRGF0YXZpZXdJbmxpbmVBcGkgaW5zdGFuY2UuXG4gICAqL1xuICBkdjogRGF0YXZpZXdJbmxpbmVBcGk7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBhdGhPckZpbGUuXG4gICAqL1xuICBmaWxlczogUGF0aE9yRmlsZVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgZm9yIHRoZSByZW5kZXJlZCBiYWNrbGlua3MuIERlZmF1bHRzIHRvIFwiQmFja2xpbmtzXCIuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgYmFja2xpbmtzIHRhYmxlIHVzaW5nIHRoZSBwcm92aWRlZCBEYXRhdmlld0lubGluZUFwaSBhbmQgb3B0aW9uYWwgYXJyYXkgb2YgUGF0aE9yQWJzdHJhY3RGaWxlLlxuICpcbiAqIEBwYXJhbSBkdiAtIFRoZSBEYXRhdmlld0lubGluZUFwaSBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlcyAtIEFuIG9wdGlvbmFsIGFycmF5IG9mIFBhdGhPckFic3RyYWN0RmlsZS5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJhY2tsaW5rcyB0YWJsZSBoYXMgYmVlbiByZW5kZXJlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckJhY2tsaW5rc1RhYmxlKGR2OiBEYXRhdmlld0lubGluZUFwaSwgcGF0aE9yRmlsZXM/OiBQYXRoT3JBYnN0cmFjdEZpbGVbXSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXBhdGhPckZpbGVzKSB7XG4gICAgcGF0aE9yRmlsZXMgPSBbXTtcbiAgfVxuICBjb25zdCBmaWxlczogVEZpbGVbXSA9IHBhdGhPckZpbGVzLmZsYXRNYXAoKGFic3RyYWN0RmlsZU9yUGF0aCkgPT4ge1xuICAgIGNvbnN0IGFic3RyYWN0RmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChkdi5hcHAsIGFic3RyYWN0RmlsZU9yUGF0aCk7XG4gICAgaWYgKCFhYnN0cmFjdEZpbGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBpZiAoaXNGaWxlKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBbYWJzdHJhY3RGaWxlXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0TWFya2Rvd25GaWxlcyhkdi5hcHAsIGFic3RyYWN0RmlsZSBhcyBURm9sZGVyLCB0cnVlKTtcbiAgfSk7XG5cbiAgY29uc3QgYmFja2xpbmtSb3dzOiBbTGluaywgc3RyaW5nW11dW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBsaW5rID0gZml4VGl0bGUoZHYsIGZpbGUucGF0aCk7XG4gICAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoZHYuYXBwLCBmaWxlKTtcbiAgICBjb25zdCBiYWNrbGlua0xpbmtzID0gYmFja2xpbmtzLmtleXMoKS5tYXAoKGJhY2tMaW5rUGF0aCkgPT4ge1xuICAgICAgY29uc3QgbWFya2Rvd25MaW5rID0gZ2VuZXJhdGVNYXJrZG93bkxpbmsoe1xuICAgICAgICBhcHA6IGR2LmFwcCxcbiAgICAgICAgc291cmNlUGF0aE9yRmlsZTogZHYuY3VycmVudCgpLmZpbGUucGF0aCxcbiAgICAgICAgdGFyZ2V0UGF0aE9yRmlsZTogZHYuYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QoYmFja0xpbmtQYXRoLCBmaWxlLnBhdGgpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0xpbmsgbm90IGZvdW5kJykpXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGAke21hcmtkb3duTGlua30gKCR7YmFja0xpbmtQYXRofSlgO1xuICAgIH0pO1xuICAgIGlmIChiYWNrbGlua0xpbmtzLmxlbmd0aCkge1xuICAgICAgYmFja2xpbmtSb3dzLnB1c2goW2xpbmssIGJhY2tsaW5rTGlua3NdKTtcbiAgICB9XG4gIH1cblxuICBhd2FpdCByZW5kZXJQYWdpbmF0ZWRUYWJsZSh7XG4gICAgZHYsXG4gICAgaGVhZGVyczogWydOb3RlJywgJ0JhY2tsaW5rcyddLFxuICAgIHJvd3M6IGJhY2tsaW5rUm93c1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGRlbGF5ZWQgYmFja2xpbmtzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlbmRlcmluZyBkZWxheWVkIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckRlbGF5ZWRCYWNrbGlua3Mob3B0aW9uczogUmVuZGVyRGVsYXllZEJhY2tsaW5rc09wdGlvbnMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGR2LFxuICAgIGZpbGVzLFxuICAgIHRpdGxlID0gJ0JhY2tsaW5rcydcbiAgfSA9IG9wdGlvbnM7XG4gIHJlbmRlckNhbGxvdXQoe1xuICAgIGFzeW5jIGNvbnRlbnRQcm92aWRlcigpIHtcbiAgICAgIGF3YWl0IHJlbmRlckJhY2tsaW5rc1RhYmxlKGR2LCBmaWxlcyk7XG4gICAgfSxcbiAgICBkdixcbiAgICBoZWFkZXI6IHRpdGxlXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgZGVsYXllZCBiYWNrbGlua3MgZm9yIGEgc3BlY2lmaWMgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlbmRlcmluZyBkZWxheWVkIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckRlbGF5ZWRCYWNrbGlua3NGb3JGb2xkZXIob3B0aW9uczogUmVuZGVyRGVsYXllZEJhY2tsaW5rc0ZvckZvbGRlck9wdGlvbnMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGR2LFxuICAgIGZvbGRlcixcbiAgICB0aXRsZSA9ICdGb2xkZXIgQmFja2xpbmtzJ1xuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgZm9sZGVyMiA9IGZvbGRlciA/PyBkdi5jdXJyZW50KCkuZmlsZS5mb2xkZXI7XG4gIHJlbmRlckRlbGF5ZWRCYWNrbGlua3Moe1xuICAgIGR2LFxuICAgIGZpbGVzOiBnZXRNYXJrZG93bkZpbGVzKGR2LmFwcCwgZm9sZGVyMiwgdHJ1ZSksXG4gICAgdGl0bGVcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBbUJBLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMscUJBQXFCO0FBQzlCLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsZ0JBQWdCO0FBQ3pCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsK0JBQStCO0FBaUR4QyxlQUFzQixxQkFBcUIsSUFBdUIsYUFBbUQ7QUFDbkgsTUFBSSxDQUFDLGFBQWE7QUFDaEIsa0JBQWMsQ0FBQztBQUFBLEVBQ2pCO0FBQ0EsUUFBTSxRQUFpQixZQUFZLFFBQVEsQ0FBQyx1QkFBdUI7QUFDakUsVUFBTSxlQUFlLHNCQUFzQixHQUFHLEtBQUssa0JBQWtCO0FBQ3JFLFFBQUksQ0FBQyxjQUFjO0FBQ2pCLGFBQU8sQ0FBQztBQUFBLElBQ1Y7QUFFQSxRQUFJLE9BQU8sWUFBWSxHQUFHO0FBQ3hCLGFBQU8sQ0FBQyxZQUFZO0FBQUEsSUFDdEI7QUFFQSxXQUFPLGlCQUFpQixHQUFHLEtBQUssY0FBeUIsSUFBSTtBQUFBLEVBQy9ELENBQUM7QUFFRCxRQUFNLGVBQW1DLENBQUM7QUFFMUMsYUFBVyxRQUFRLE9BQU87QUFDeEIsVUFBTSxPQUFPLFNBQVMsSUFBSSxLQUFLLElBQUk7QUFDbkMsVUFBTSxZQUFZLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxJQUFJO0FBQzVELFVBQU0sZ0JBQWdCLFVBQVUsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7QUFDM0QsWUFBTSxlQUFlLHFCQUFxQjtBQUFBLFFBQ3hDLEtBQUssR0FBRztBQUFBLFFBQ1Isa0JBQWtCLEdBQUcsUUFBUSxFQUFFLEtBQUs7QUFBQSxRQUNwQyxrQkFBa0IsR0FBRyxJQUFJLGNBQWMscUJBQXFCLGNBQWMsS0FBSyxJQUFJLEtBQUssZ0JBQWdCLElBQUksTUFBTSxnQkFBZ0IsQ0FBQztBQUFBLE1BQ3JJLENBQUM7QUFFRCxhQUFPLEdBQUcsWUFBWSxLQUFLLFlBQVk7QUFBQSxJQUN6QyxDQUFDO0FBQ0QsUUFBSSxjQUFjLFFBQVE7QUFDeEIsbUJBQWEsS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFDO0FBQUEsSUFDekM7QUFBQSxFQUNGO0FBRUEsUUFBTSxxQkFBcUI7QUFBQSxJQUN6QjtBQUFBLElBQ0EsU0FBUyxDQUFDLFFBQVEsV0FBVztBQUFBLElBQzdCLE1BQU07QUFBQSxFQUNSLENBQUM7QUFDSDtBQU9PLFNBQVMsdUJBQXVCLFNBQThDO0FBQ25GLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0EsUUFBUTtBQUFBLEVBQ1YsSUFBSTtBQUNKLGdCQUFjO0FBQUEsSUFDWixNQUFNLGtCQUFrQjtBQUN0QixZQUFNLHFCQUFxQixJQUFJLEtBQUs7QUFBQSxJQUN0QztBQUFBLElBQ0E7QUFBQSxJQUNBLFFBQVE7QUFBQSxFQUNWLENBQUM7QUFDSDtBQU9PLFNBQVMsZ0NBQWdDLFNBQXVEO0FBQ3JHLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0EsUUFBUTtBQUFBLEVBQ1YsSUFBSTtBQUNKLFFBQU0sVUFBVSxVQUFVLEdBQUcsUUFBUSxFQUFFLEtBQUs7QUFDNUMseUJBQXVCO0FBQUEsSUFDckI7QUFBQSxJQUNBLE9BQU8saUJBQWlCLEdBQUcsS0FBSyxTQUFTLElBQUk7QUFBQSxJQUM3QztBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation DateComponent
|
3
3
|
* Contains a component that displays and edits a date.
|
4
4
|
*/
|
5
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
5
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a date.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation DateTimeComponent
|
3
3
|
* Contains a component that displays and edits a date and time.
|
4
4
|
*/
|
5
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
5
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a date and time.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation EmailComponent
|
3
3
|
* Contains a component that displays and edits an email address.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits an email address.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation FileComponent
|
3
3
|
* Contains a component that displays and edits a file.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a file.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation MonthComponent
|
3
3
|
* Contains a component that displays and edits a month.
|
4
4
|
*/
|
5
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
5
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* An ISO 8601 month.
|
8
8
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation MultipleEmailComponent
|
3
3
|
* Contains a component that displays and edits multiple email addresses.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits multiple email addresses.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation MultipleFileComponent
|
3
3
|
* Contains a component that displays and edits multiple files.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits multiple files.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation NumberComponent
|
3
3
|
* Contains a component that displays and edits a number.
|
4
4
|
*/
|
5
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
5
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a number.
|
8
8
|
*
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* Contains a component that displays and edits a time.
|
4
4
|
*/
|
5
5
|
import type { Duration } from 'moment';
|
6
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
7
7
|
/**
|
8
8
|
* A component that displays and edits a time.
|
9
9
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation TypedRangeTextComponent
|
3
3
|
* Contains a component that displays and edits a text-based value with a range.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a text-based value with a range.
|
8
8
|
*/
|
@@ -7,7 +7,7 @@ import type { MaybePromise } from '../../Async.d.mts';
|
|
7
7
|
import type { ValidatorElement } from '../../HTMLElement.d.mts';
|
8
8
|
import type { ValidatorComponent } from './ValidatorComponent.d.mts';
|
9
9
|
import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.d.mts';
|
10
|
-
import { CssClass } from '../../CssClass.d.mts';
|
10
|
+
import type { CssClass } from '../../CssClass.d.mts';
|
11
11
|
/**
|
12
12
|
* A component that displays and edits a text-based value.
|
13
13
|
*/
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation UrlComponent
|
3
3
|
* Contains a component that displays and edits an url.
|
4
4
|
*/
|
5
|
-
import { TypedTextComponent } from './TypedTextComponent.d.mts';
|
5
|
+
import type { TypedTextComponent } from './TypedTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits an url.
|
8
8
|
*
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation ValueComponentWithChangeTracking
|
3
3
|
* Contains a type that extends ValueComponent to allow for change tracking.
|
4
4
|
*/
|
5
|
-
import { ValueComponent } from 'obsidian';
|
5
|
+
import type { ValueComponent } from 'obsidian';
|
6
6
|
import type { MaybePromise } from '../../Async.d.mts';
|
7
7
|
/**
|
8
8
|
* A ValueComponent that can track changes.
|
@@ -5,5 +5,4 @@ if you want to view the source, please visit the github repository of this plugi
|
|
5
5
|
|
6
6
|
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
7
7
|
|
8
|
-
|
9
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nXG4gKiBDb250YWlucyBhIHR5cGUgdGhhdCBleHRlbmRzIFZhbHVlQ29tcG9uZW50IHRvIGFsbG93IGZvciBjaGFuZ2UgdHJhY2tpbmcuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVQcm9taXNlIH0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuXG4vKipcbiAqIEEgVmFsdWVDb21wb25lbnQgdGhhdCBjYW4gdHJhY2sgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFQpID0+IE1heWJlUHJvbWlzZTx2b2lkPik6IHRoaXM7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBS0EsU0FBUyxzQkFBc0I7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
8
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @packageDocumentation WeekComponent
|
3
3
|
* Contains a component that displays and edits a week.
|
4
4
|
*/
|
5
|
-
import { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
5
|
+
import type { TypedRangeTextComponent } from './TypedRangeTextComponent.d.mts';
|
6
6
|
/**
|
7
7
|
* Represents an ISO 8601 week date.
|
8
8
|
*/
|
@@ -1,17 +1,17 @@
|
|
1
|
-
export * as DateComponent from './DateComponent.
|
2
|
-
export * as DateTimeComponent from './DateTimeComponent.
|
3
|
-
export * as EmailComponent from './EmailComponent.
|
4
|
-
export * as FileComponent from './FileComponent.
|
5
|
-
export * as MonthComponent from './MonthComponent.
|
6
|
-
export * as MultipleDropdownComponent from './MultipleDropdownComponent.
|
7
|
-
export * as MultipleEmailComponent from './MultipleEmailComponent.
|
8
|
-
export * as MultipleFileComponent from './MultipleFileComponent.
|
9
|
-
export * as MultipleTextComponent from './MultipleTextComponent.
|
10
|
-
export * as NumberComponent from './NumberComponent.
|
11
|
-
export * as TimeComponent from './TimeComponent.
|
12
|
-
export * as TypedRangeTextComponent from './TypedRangeTextComponent.
|
13
|
-
export * as TypedTextComponent from './TypedTextComponent.
|
14
|
-
export * as UrlComponent from './UrlComponent.
|
15
|
-
export * as ValidatorComponent from './ValidatorComponent.
|
16
|
-
export * as ValueComponentWithChangeTracking from './ValueComponentWithChangeTracking.
|
17
|
-
export * as WeekComponent from './WeekComponent.
|
1
|
+
export * as DateComponent from './DateComponent.ts';
|
2
|
+
export * as DateTimeComponent from './DateTimeComponent.ts';
|
3
|
+
export * as EmailComponent from './EmailComponent.ts';
|
4
|
+
export * as FileComponent from './FileComponent.ts';
|
5
|
+
export * as MonthComponent from './MonthComponent.ts';
|
6
|
+
export * as MultipleDropdownComponent from './MultipleDropdownComponent.ts';
|
7
|
+
export * as MultipleEmailComponent from './MultipleEmailComponent.ts';
|
8
|
+
export * as MultipleFileComponent from './MultipleFileComponent.ts';
|
9
|
+
export * as MultipleTextComponent from './MultipleTextComponent.ts';
|
10
|
+
export * as NumberComponent from './NumberComponent.ts';
|
11
|
+
export * as TimeComponent from './TimeComponent.ts';
|
12
|
+
export * as TypedRangeTextComponent from './TypedRangeTextComponent.ts';
|
13
|
+
export * as TypedTextComponent from './TypedTextComponent.ts';
|
14
|
+
export * as UrlComponent from './UrlComponent.ts';
|
15
|
+
export * as ValidatorComponent from './ValidatorComponent.ts';
|
16
|
+
export * as ValueComponentWithChangeTracking from './ValueComponentWithChangeTracking.ts';
|
17
|
+
export * as WeekComponent from './WeekComponent.ts';
|
@@ -10,7 +10,7 @@ import type { CombinedFrontmatter } from './Frontmatter.d.mts';
|
|
10
10
|
/**
|
11
11
|
* Export DateTime and Link types from the Dataview API.
|
12
12
|
*/
|
13
|
-
export type { DateTime, Link } from './@types/Dataview/index.d.
|
13
|
+
export type { DateTime, Link } from './@types/Dataview/index.d.ts';
|
14
14
|
declare global {
|
15
15
|
/**
|
16
16
|
* The DataviewAPI object represents the API for interacting with Dataview in Obsidian.
|
@@ -2,7 +2,8 @@
|
|
2
2
|
* @packageDocumentation FileSystem
|
3
3
|
* This module provides utility functions for working with TAbstractFile, TFile, and TFolder instances in Obsidian.
|
4
4
|
*/
|
5
|
-
import { App
|
5
|
+
import type { App } from 'obsidian';
|
6
|
+
import { TAbstractFile, TFile, TFolder } from 'obsidian';
|
6
7
|
/**
|
7
8
|
* The file extension for Markdown files.
|
8
9
|
*/
|
@@ -6,7 +6,6 @@ if you want to view the source, please visit the github repository of this plugi
|
|
6
6
|
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
7
7
|
|
8
8
|
import {
|
9
|
-
App,
|
10
9
|
normalizePath,
|
11
10
|
TAbstractFile,
|
12
11
|
TFile,
|
@@ -194,4 +193,4 @@ export {
|
|
194
193
|
isNote,
|
195
194
|
trimMarkdownExtension
|
196
195
|
};
|
197
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVTeXN0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIEZpbGVTeXN0ZW1cbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggVEFic3RyYWN0RmlsZSwgVEZpbGUsIGFuZCBURm9sZGVyIGluc3RhbmNlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQge1xuICBBcHAsXG4gIG5vcm1hbGl6ZVBhdGgsXG4gIFRBYnN0cmFjdEZpbGUsXG4gIFRGaWxlLFxuICBURm9sZGVyLFxuICBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBjcmVhdGVURmlsZUluc3RhbmNlLFxuICBjcmVhdGVURm9sZGVySW5zdGFuY2UsXG4gIHBhcmVudEZvbGRlclBhdGhcbn0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQge1xuICBleHRuYW1lLFxuICByZXNvbHZlXG59IGZyb20gJy4uL1BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbUVuZCB9IGZyb20gJy4uL1N0cmluZy50cyc7XG5cbi8qKlxuICogVGhlIGZpbGUgZXh0ZW5zaW9uIGZvciBNYXJrZG93biBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BUktET1dOX0ZJTEVfRVhURU5TSU9OID0gJ21kJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBmaWxlIGV4dGVuc2lvbiBmb3IgY2FudmFzIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OID0gJ2NhbnZhcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhdGggb3IgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yQWJzdHJhY3RGaWxlID0gc3RyaW5nIHwgVEFic3RyYWN0RmlsZTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGF0aCBvciBhIGZpbGUuXG4gKi9cbmV4cG9ydCB0eXBlIFBhdGhPckZpbGUgPSBzdHJpbmcgfCBURmlsZTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGF0aCBvciBhbiBpbnN0YW5jZSBvZiBURm9sZGVyLlxuICovXG5leHBvcnQgdHlwZSBQYXRoT3JGb2xkZXIgPSBzdHJpbmcgfCBURm9sZGVyO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gcGF0aCBvciBmaWxlIGhhcyB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byBjaGVjay5cbiAqIEBwYXJhbSBleHRlbnNpb24gLSBUaGUgZXh0ZW5zaW9uIHRvIGNvbXBhcmUgYWdhaW5zdC5cbiAqIEByZXR1cm5zIFJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIG9yIGZpbGUgaGFzIHRoZSBzcGVjaWZpZWQgZXh0ZW5zaW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRXh0ZW5zaW9uKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yQWJzdHJhY3RGaWxlLCBleHRlbnNpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoaXNGaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIHBhdGhPckZpbGUuZXh0ZW5zaW9uID09PSBleHRlbnNpb247XG4gIH1cblxuICBpZiAodHlwZW9mIHBhdGhPckZpbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgcmV0dXJuIGZpbGUuZXh0ZW5zaW9uID09PSBleHRlbnNpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4dG5hbWUocGF0aE9yRmlsZSkuc2xpY2UoMSkgPT09IGV4dGVuc2lvbjtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFRBYnN0cmFjdEZpbGUgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGF0aCBvciBhYnN0cmFjdCBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJldHJpZXZlIHRoZSBUQWJzdHJhY3RGaWxlIGZvci5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRBYnN0cmFjdEZpbGUgb2JqZWN0LlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgYWJzdHJhY3QgZmlsZSBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBYnN0cmFjdEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogVEFic3RyYWN0RmlsZSB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmICghZmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQWJzdHJhY3QgZmlsZSBub3QgZm91bmQ6ICR7cGF0aE9yRmlsZSBhcyBzdHJpbmd9YCk7XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZSBvciBudWxsIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZXRyaWV2ZS5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUgaWYgZm91bmQsIG90aGVyd2lzZSBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yQWJzdHJhY3RGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBudWxsIHwgVEFic3RyYWN0RmlsZSB7XG4gIGlmIChwYXRoT3JGaWxlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoaXNBYnN0cmFjdEZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gcGF0aE9yRmlsZTtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlSW50ZXJuYWwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG5cbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IGdldFJlc29sdmVkUGF0aChwYXRoT3JGaWxlKTtcblxuICBpZiAocmVzb2x2ZWRQYXRoID09PSBwYXRoT3JGaWxlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gZ2V0RmlsZUludGVybmFsKGFwcCwgcmVzb2x2ZWRQYXRoLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZpbGUgb2JqZWN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gcmV0cmlldmUgdGhlIFRGaWxlIG9iamVjdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nIC0gV2hldGhlciB0byBpbmNsdWRlIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gKiAgSWYgYHRydWVgLCBhIG5ldyBURmlsZSBvYmplY3QgaXMgY3JlYXRlZCBmb3IgdGhlIHByb3ZpZGVkIHBhdGguXG4gKiAgSWYgYGZhbHNlYCwgYW4gZXJyb3IgaXMgdGhyb3duIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIFRGaWxlIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZpbGUuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZz86IGJvb2xlYW4sIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IFRGaWxlIHtcbiAgbGV0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZpbGUpIHtcbiAgICBpZiAoc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nKSB7XG4gICAgICBmaWxlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAsIHBhdGhPckZpbGUgYXMgc3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlIG5vdCBmb3VuZDogJHtwYXRoT3JGaWxlIGFzIHN0cmluZ31gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURmlsZSBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqIElmIHRoZSBwcm92aWRlZCBhcmd1bWVudCBpcyBhbHJlYWR5IGEgVEZpbGUgb2JqZWN0LCBpdCBpcyByZXR1cm5lZCBhcyBpcy5cbiAqIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGFwcCdzIHZhdWx0IHRvIHJldHJpZXZlIHRoZSBURmlsZSBvYmplY3QgYnkgaXRzIHBhdGguXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgVEZpbGUgb2JqZWN0LlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgVEZpbGUgb2JqZWN0IGlmIGZvdW5kLCBvdGhlcndpc2UgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVPck51bGwoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBudWxsIHwgVEZpbGUge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGEgVEZvbGRlciBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcCBhbmQgcGF0aE9yRm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBwYXRoIG9yIGZvbGRlciBpZGVudGlmaWVyLlxuICogQHBhcmFtIHNob3VsZEluY2x1ZGVOb25FeGlzdGluZyAtIFdoZXRoZXIgdG8gYWxsb3cgdGhlIGZvbGRlciB0byBub3QgZXhpc3QuXG4gKiAgSWYgYHRydWVgLCBhIG5ldyBURm9sZGVyIG9iamVjdCBpcyBjcmVhdGVkIGZvciB0aGUgcHJvdmlkZWQgcGF0aC5cbiAqICBJZiBgZmFsc2VgLCBhbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIGZvbGRlciBpcyBub3QgZm91bmQuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSByZXRyaWV2ZWQgVEZvbGRlciBvYmplY3QuXG4gKiBAdGhyb3dzIElmIHRoZSBmb2xkZXIgaXMgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9sZGVyKGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IFBhdGhPckZvbGRlciwgc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nPzogYm9vbGVhbiwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogVEZvbGRlciB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbiAgaWYgKCFmb2xkZXIpIHtcbiAgICBpZiAoc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nKSB7XG4gICAgICBmb2xkZXIgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UoYXBwLCBwYXRoT3JGb2xkZXIgYXMgc3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb2xkZXIgbm90IGZvdW5kOiAke3BhdGhPckZvbGRlciBhcyBzdHJpbmd9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvbGRlcjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURm9sZGVyIG9iamVjdCBvciBudWxsIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXRoIG9yIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBwYXRoIG9yIGZvbGRlciB0byByZXRyaWV2ZSB0aGUgVEZvbGRlciBmcm9tLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgVEZvbGRlciBvYmplY3QgaWYgZm91bmQsIG90aGVyd2lzZSBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9sZGVyT3JOdWxsKGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IG51bGwgfCBQYXRoT3JGb2xkZXIsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IG51bGwgfCBURm9sZGVyIHtcbiAgY29uc3QgZm9sZGVyID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRm9sZGVyLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmIChpc0ZvbGRlcihmb2xkZXIpKSB7XG4gICAgcmV0dXJuIGZvbGRlcjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYW4gYXJyYXkgb2YgVEZpbGUgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIG1hcmtkb3duIGZpbGVzIHdpdGhpbiBhIHNwZWNpZmllZCBmb2xkZXIgb3IgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgcGF0aCBvciBmb2xkZXIgdG8gcmV0cmlldmUgdGhlIG1hcmtkb3duIGZpbGVzIGZyb20uXG4gKiBAcGFyYW0gaXNSZWN1cnNpdmUgLSBPcHRpb25hbC4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmVjdXJzaXZlbHkgc2VhcmNoIGZvciBtYXJrZG93biBmaWxlcyB3aXRoaW4gc3ViZm9sZGVycy4gRGVmYXVsdCBpcyBmYWxzZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFRGaWxlIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBtYXJrZG93biBmaWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hcmtkb3duRmlsZXMoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyLCBpc1JlY3Vyc2l2ZT86IGJvb2xlYW4pOiBURmlsZVtdIHtcbiAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyKGFwcCwgcGF0aE9yRm9sZGVyKTtcblxuICBsZXQgbWFya2Rvd25GaWxlczogVEZpbGVbXSA9IFtdO1xuXG4gIGlmIChpc1JlY3Vyc2l2ZSkge1xuICAgIFZhdWx0LnJlY3Vyc2VDaGlsZHJlbihmb2xkZXIsIChhYnN0cmFjdEZpbGUpID0+IHtcbiAgICAgIGlmIChpc01hcmtkb3duRmlsZShhcHAsIGFic3RyYWN0RmlsZSkpIHtcbiAgICAgICAgbWFya2Rvd25GaWxlcy5wdXNoKGFic3RyYWN0RmlsZSBhcyBURmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgbWFya2Rvd25GaWxlcyA9IGZvbGRlci5jaGlsZHJlbi5maWx0ZXIoKGZpbGUpID0+IGlzTWFya2Rvd25GaWxlKGFwcCwgZmlsZSkpIGFzIFRGaWxlW107XG4gIH1cblxuICBtYXJrZG93bkZpbGVzID0gbWFya2Rvd25GaWxlcy5zb3J0KChhLCBiKSA9PiBhLnBhdGgubG9jYWxlQ29tcGFyZShiLnBhdGgpKTtcbiAgcmV0dXJuIG1hcmtkb3duRmlsZXM7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBURmlsZSBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byByZXRyaWV2ZSBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBUaGUgVEZpbGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZmlsZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T3JDcmVhdGVGaWxlKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcpOiBQcm9taXNlPFRGaWxlPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgcGF0aCk7XG4gIGlmIChmaWxlKSB7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBjb25zdCBmb2xkZXJQYXRoID0gcGFyZW50Rm9sZGVyUGF0aChwYXRoKTtcbiAgYXdhaXQgZ2V0T3JDcmVhdGVGb2xkZXIoYXBwLCBmb2xkZXJQYXRoKTtcblxuICByZXR1cm4gYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZShwYXRoLCAnJyk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBURm9sZGVyIG9iamVjdCBmb3IgdGhlIGdpdmVuIHBhdGggb3IgY3JlYXRlcyBhIG5ldyBvbmUgaWYgaXQgZG9lcyBub3QgZXhpc3QuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gcmV0cmlldmUgb3IgY3JlYXRlLlxuICogQHJldHVybnMgVGhlIFRGb2xkZXIgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZm9sZGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T3JDcmVhdGVGb2xkZXIoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8VEZvbGRlcj4ge1xuICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoKTtcbiAgaWYgKGZvbGRlcikge1xuICAgIHJldHVybiBmb2xkZXI7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgYXBwLnZhdWx0LmNyZWF0ZUZvbGRlcihwYXRoKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXRoIG9mIHRoZSBnaXZlbiBgcGF0aE9yRmlsZWAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgcGF0aCBvZiB0aGUgYHBhdGhPckZpbGVgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF0aChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlKTogc3RyaW5nIHtcbiAgaWYgKGlzQWJzdHJhY3RGaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuIHBhdGhPckZpbGUucGF0aDtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlKTtcbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZS5wYXRoO1xuICB9XG5cbiAgcmV0dXJuIGdldFJlc29sdmVkUGF0aChwYXRoT3JGaWxlKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZS5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhbiBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBYnN0cmFjdEZpbGUoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEFic3RyYWN0RmlsZSB7XG4gIHJldHVybiBmaWxlIGluc3RhbmNlb2YgVEFic3RyYWN0RmlsZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBjYW52YXMgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBjYW52YXMgZmlsZSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc0ZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYW4gaW5zdGFuY2Ugb2YgVEZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEZpbGUge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGaWxlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBmaWxlIGlzIGEgZm9sZGVyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRm9sZGVyKGZpbGU6IHVua25vd24pOiBmaWxlIGlzIFRGb2xkZXIge1xuICByZXR1cm4gZmlsZSBpbnN0YW5jZW9mIFRGb2xkZXI7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgTWFya2Rvd24gZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBNYXJrZG93biBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNYXJrZG93bkZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNoZWNrRXh0ZW5zaW9uKGFwcCwgcGF0aE9yRmlsZSwgTUFSS0RPV05fRklMRV9FWFRFTlNJT04pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIG5vdGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGEgbm90ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNNYXJrZG93bkZpbGUoYXBwLCBwYXRoT3JGaWxlKSB8fCBpc0NhbnZhc0ZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbn1cblxuLyoqXG4gKiBUcmltcyB0aGUgbWFya2Rvd24gZXh0ZW5zaW9uIGZyb20gdGhlIGZpbGUgcGF0aCBpZiB0aGUgZmlsZSBpcyBhIG1hcmtkb3duIGZpbGUuXG4gKiBJZiB0aGUgZmlsZSBpcyBub3QgYSBtYXJrZG93biBmaWxlLCB0aGUgb3JpZ2luYWwgZmlsZSBwYXRoIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byB0cmltIHRoZSBtYXJrZG93biBleHRlbnNpb24gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIHBhdGggd2l0aCB0aGUgbWFya2Rvd24gZXh0ZW5zaW9uIHRyaW1tZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltTWFya2Rvd25FeHRlbnNpb24oYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUpOiBzdHJpbmcge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKGFwcCwgZmlsZSkpIHtcbiAgICByZXR1cm4gZmlsZS5wYXRoO1xuICB9XG5cbiAgcmV0dXJuIHRyaW1FbmQoZmlsZS5wYXRoLCBgLiR7TUFSS0RPV05fRklMRV9FWFRFTlNJT059YCk7XG59XG5cbmZ1bmN0aW9uIGdldEZpbGVJbnRlcm5hbChhcHA6IEFwcCwgcGF0aDogc3RyaW5nLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBudWxsIHwgVEFic3RyYWN0RmlsZSB7XG4gIGlmIChpc0Nhc2VJbnNlbnNpdGl2ZSkge1xuICAgIHJldHVybiBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoSW5zZW5zaXRpdmUocGF0aCk7XG4gIH1cblxuICByZXR1cm4gYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChwYXRoKSBhcyBudWxsIHwgVEZpbGU7XG59XG5cbmZ1bmN0aW9uIGdldFJlc29sdmVkUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplUGF0aChyZXNvbHZlKCcvJywgcGF0aCkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQUtBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxlQUFlO0FBS2pCLE1BQU0sMEJBQTBCO0FBS2hDLE1BQU0sd0JBQXdCO0FBeUI5QixTQUFTLGVBQWUsS0FBVSxZQUF1QyxXQUE0QjtBQUMxRyxNQUFJLE9BQU8sVUFBVSxHQUFHO0FBQ3RCLFdBQU8sV0FBVyxjQUFjO0FBQUEsRUFDbEM7QUFFQSxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLFVBQU0sT0FBTyxjQUFjLEtBQUssVUFBVTtBQUMxQyxRQUFJLE1BQU07QUFDUixhQUFPLEtBQUssY0FBYztBQUFBLElBQzVCO0FBRUEsV0FBTyxRQUFRLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTTtBQUFBLEVBQzFDO0FBRUEsU0FBTztBQUNUO0FBV08sU0FBUyxnQkFBZ0IsS0FBVSxZQUFnQyxtQkFBNEM7QUFDcEgsUUFBTSxPQUFPLHNCQUFzQixLQUFLLFlBQVksaUJBQWlCO0FBQ3JFLE1BQUksQ0FBQyxNQUFNO0FBQ1QsVUFBTSxJQUFJLE1BQU0sNEJBQTRCLFVBQW9CLEVBQUU7QUFBQSxFQUNwRTtBQUVBLFNBQU87QUFDVDtBQVVPLFNBQVMsc0JBQXNCLEtBQVUsWUFBdUMsbUJBQW1EO0FBQ3hJLE1BQUksZUFBZSxNQUFNO0FBQ3ZCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFVBQVUsR0FBRztBQUM5QixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sT0FBTyxnQkFBZ0IsS0FBSyxZQUFZLGlCQUFpQjtBQUUvRCxNQUFJ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
|
196
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0ZpbGVTeXN0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIEZpbGVTeXN0ZW1cbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggVEFic3RyYWN0RmlsZSwgVEZpbGUsIGFuZCBURm9sZGVyIGluc3RhbmNlcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgbm9ybWFsaXplUGF0aCxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGUsXG4gIFRGb2xkZXIsXG4gIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRGaWxlSW5zdGFuY2UsXG4gIGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIGV4dG5hbWUsXG4gIHJlc29sdmVcbn0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyB0cmltRW5kIH0gZnJvbSAnLi4vU3RyaW5nLnRzJztcblxuLyoqXG4gKiBUaGUgZmlsZSBleHRlbnNpb24gZm9yIE1hcmtkb3duIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgTUFSS0RPV05fRklMRV9FWFRFTlNJT04gPSAnbWQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGZpbGUgZXh0ZW5zaW9uIGZvciBjYW52YXMgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDQU5WQVNfRklMRV9FWFRFTlNJT04gPSAnY2FudmFzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGF0aCBvciBhbiBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlLlxuICovXG5leHBvcnQgdHlwZSBQYXRoT3JBYnN0cmFjdEZpbGUgPSBzdHJpbmcgfCBUQWJzdHJhY3RGaWxlO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXRoIG9yIGEgZmlsZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0aE9yRmlsZSA9IHN0cmluZyB8IFRGaWxlO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXRoIG9yIGFuIGluc3RhbmNlIG9mIFRGb2xkZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFBhdGhPckZvbGRlciA9IHN0cmluZyB8IFRGb2xkZXI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBwYXRoIG9yIGZpbGUgaGFzIHRoZSBzcGVjaWZpZWQgZXh0ZW5zaW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIGNoZWNrLlxuICogQHBhcmFtIGV4dGVuc2lvbiAtIFRoZSBleHRlbnNpb24gdG8gY29tcGFyZSBhZ2FpbnN0LlxuICogQHJldHVybnMgUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggb3IgZmlsZSBoYXMgdGhlIHNwZWNpZmllZCBleHRlbnNpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tFeHRlbnNpb24oYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUsIGV4dGVuc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmIChpc0ZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gcGF0aE9yRmlsZS5leHRlbnNpb24gPT09IGV4dGVuc2lvbjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcGF0aE9yRmlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICByZXR1cm4gZmlsZS5leHRlbnNpb24gPT09IGV4dGVuc2lvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gZXh0bmFtZShwYXRoT3JGaWxlKS5zbGljZSgxKSA9PT0gZXh0ZW5zaW9uO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVEFic3RyYWN0RmlsZSBvYmplY3QgZm9yIHRoZSBnaXZlbiBwYXRoIG9yIGFic3RyYWN0IGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gcmV0cmlldmUgdGhlIFRBYnN0cmFjdEZpbGUgZm9yLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgVEFic3RyYWN0RmlsZSBvYmplY3QuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFic3RyYWN0RmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBUQWJzdHJhY3RGaWxlIHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbiAgaWYgKCFmaWxlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBYnN0cmFjdCBmaWxlIG5vdCBmb3VuZDogJHtwYXRoT3JGaWxlIGFzIHN0cmluZ31gKTtcbiAgfVxuXG4gIHJldHVybiBmaWxlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbiBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlIG9yIG51bGwgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgYWJzdHJhY3QgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBhYnN0cmFjdCBmaWxlIHRvIHJldHJpZXZlLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgaW5zdGFuY2Ugb2YgVEFic3RyYWN0RmlsZSBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwOiBBcHAsIHBhdGhPckZpbGU6IG51bGwgfCBQYXRoT3JBYnN0cmFjdEZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IG51bGwgfCBUQWJzdHJhY3RGaWxlIHtcbiAgaWYgKHBhdGhPckZpbGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChpc0Fic3RyYWN0RmlsZShwYXRoT3JGaWxlKSkge1xuICAgIHJldHVybiBwYXRoT3JGaWxlO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGdldEZpbGVJbnRlcm5hbChhcHAsIHBhdGhPckZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcblxuICBpZiAoZmlsZSkge1xuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWRQYXRoID0gZ2V0UmVzb2x2ZWRQYXRoKHBhdGhPckZpbGUpO1xuXG4gIGlmIChyZXNvbHZlZFBhdGggPT09IHBhdGhPckZpbGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBnZXRGaWxlSW50ZXJuYWwoYXBwLCByZXNvbHZlZFBhdGgsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURmlsZSBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgVEZpbGUgb2JqZWN0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcgLSBXaGV0aGVyIHRvIGluY2x1ZGUgYSBub24tZXhpc3RpbmcgZmlsZS5cbiAqICBJZiBgdHJ1ZWAsIGEgbmV3IFRGaWxlIG9iamVjdCBpcyBjcmVhdGVkIGZvciB0aGUgcHJvdmlkZWQgcGF0aC5cbiAqICBJZiBgZmFsc2VgLCBhbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIGZpbGUgaXMgbm90IGZvdW5kLlxuICogQHBhcmFtIGlzQ2FzZUluc2Vuc2l0aXZlIC0gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gKiBAcmV0dXJucyBUaGUgVEZpbGUgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3ZpZGVkIHBhdGggb3IgZmlsZS5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGZpbGUgaXMgbm90IGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nPzogYm9vbGVhbiwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogVEZpbGUge1xuICBsZXQgZmlsZSA9IGdldEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmICghZmlsZSkge1xuICAgIGlmIChzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcpIHtcbiAgICAgIGZpbGUgPSBjcmVhdGVURmlsZUluc3RhbmNlKGFwcCwgcGF0aE9yRmlsZSBhcyBzdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbGUgbm90IGZvdW5kOiAke3BhdGhPckZpbGUgYXMgc3RyaW5nfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaWxlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGaWxlIG9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF0aCBvciBmaWxlLlxuICogSWYgdGhlIHByb3ZpZGVkIGFyZ3VtZW50IGlzIGFscmVhZHkgYSBURmlsZSBvYmplY3QsIGl0IGlzIHJldHVybmVkIGFzIGlzLlxuICogT3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb24gdXNlcyB0aGUgYXBwJ3MgdmF1bHQgdG8gcmV0cmlldmUgdGhlIFRGaWxlIG9iamVjdCBieSBpdHMgcGF0aC5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBURmlsZSBvYmplY3QuXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBURmlsZSBvYmplY3QgaWYgZm91bmQsIG90aGVyd2lzZSBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZU9yTnVsbChhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckZpbGUsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IG51bGwgfCBURmlsZSB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGaWxlLCBpc0Nhc2VJbnNlbnNpdGl2ZSk7XG4gIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBURm9sZGVyIG9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXBwIGFuZCBwYXRoT3JGb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIGlkZW50aWZpZXIuXG4gKiBAcGFyYW0gc2hvdWxkSW5jbHVkZU5vbkV4aXN0aW5nIC0gV2hldGhlciB0byBhbGxvdyB0aGUgZm9sZGVyIHRvIG5vdCBleGlzdC5cbiAqICBJZiBgdHJ1ZWAsIGEgbmV3IFRGb2xkZXIgb2JqZWN0IGlzIGNyZWF0ZWQgZm9yIHRoZSBwcm92aWRlZCBwYXRoLlxuICogIElmIGBmYWxzZWAsIGFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgZm9sZGVyIGlzIG5vdCBmb3VuZC5cbiAqIEBwYXJhbSBpc0Nhc2VJbnNlbnNpdGl2ZSAtIFNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaC4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICogQHJldHVybnMgVGhlIHJldHJpZXZlZCBURm9sZGVyIG9iamVjdC5cbiAqIEB0aHJvd3MgSWYgdGhlIGZvbGRlciBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXIoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogUGF0aE9yRm9sZGVyLCBzaG91bGRJbmNsdWRlTm9uRXhpc3Rpbmc/OiBib29sZWFuLCBpc0Nhc2VJbnNlbnNpdGl2ZT86IGJvb2xlYW4pOiBURm9sZGVyIHtcbiAgbGV0IGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIHBhdGhPckZvbGRlciwgaXNDYXNlSW5zZW5zaXRpdmUpO1xuICBpZiAoIWZvbGRlcikge1xuICAgIGlmIChzaG91bGRJbmNsdWRlTm9uRXhpc3RpbmcpIHtcbiAgICAgIGZvbGRlciA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZShhcHAsIHBhdGhPckZvbGRlciBhcyBzdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvbGRlciBub3QgZm91bmQ6ICR7cGF0aE9yRm9sZGVyIGFzIHN0cmluZ31gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZm9sZGVyO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhIFRGb2xkZXIgb2JqZWN0IG9yIG51bGwgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhdGggb3IgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIHBhdGggb3IgZm9sZGVyIHRvIHJldHJpZXZlIHRoZSBURm9sZGVyIGZyb20uXG4gKiBAcGFyYW0gaXNDYXNlSW5zZW5zaXRpdmUgLSBTcGVjaWZpZXMgd2hldGhlciB0byBwZXJmb3JtIGEgY2FzZS1pbnNlbnNpdGl2ZSBzZWFyY2guIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAqIEByZXR1cm5zIFRoZSBURm9sZGVyIG9iamVjdCBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJPck51bGwoYXBwOiBBcHAsIHBhdGhPckZvbGRlcjogbnVsbCB8IFBhdGhPckZvbGRlciwgaXNDYXNlSW5zZW5zaXRpdmU/OiBib29sZWFuKTogbnVsbCB8IFRGb2xkZXIge1xuICBjb25zdCBmb2xkZXIgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIsIGlzQ2FzZUluc2Vuc2l0aXZlKTtcbiAgaWYgKGlzRm9sZGVyKGZvbGRlcikpIHtcbiAgICByZXR1cm4gZm9sZGVyO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbiBhcnJheSBvZiBURmlsZSBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgbWFya2Rvd24gZmlsZXMgd2l0aGluIGEgc3BlY2lmaWVkIGZvbGRlciBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZvbGRlciAtIFRoZSBwYXRoIG9yIGZvbGRlciB0byByZXRyaWV2ZSB0aGUgbWFya2Rvd24gZmlsZXMgZnJvbS5cbiAqIEBwYXJhbSBpc1JlY3Vyc2l2ZSAtIE9wdGlvbmFsLiBTcGVjaWZpZXMgd2hldGhlciB0byByZWN1cnNpdmVseSBzZWFyY2ggZm9yIG1hcmtkb3duIGZpbGVzIHdpdGhpbiBzdWJmb2xkZXJzLiBEZWZhdWx0IGlzIGZhbHNlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgVEZpbGUgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIG1hcmtkb3duIGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFya2Rvd25GaWxlcyhhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBQYXRoT3JGb2xkZXIsIGlzUmVjdXJzaXZlPzogYm9vbGVhbik6IFRGaWxlW10ge1xuICBjb25zdCBmb2xkZXIgPSBnZXRGb2xkZXIoYXBwLCBwYXRoT3JGb2xkZXIpO1xuXG4gIGxldCBtYXJrZG93bkZpbGVzOiBURmlsZVtdID0gW107XG5cbiAgaWYgKGlzUmVjdXJzaXZlKSB7XG4gICAgVmF1bHQucmVjdXJzZUNoaWxkcmVuKGZvbGRlciwgKGFic3RyYWN0RmlsZSkgPT4ge1xuICAgICAgaWYgKGlzTWFya2Rvd25GaWxlKGFwcCwgYWJzdHJhY3RGaWxlKSkge1xuICAgICAgICBtYXJrZG93bkZpbGVzLnB1c2goYWJzdHJhY3RGaWxlIGFzIFRGaWxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBtYXJrZG93bkZpbGVzID0gZm9sZGVyLmNoaWxkcmVuLmZpbHRlcigoZmlsZSkgPT4gaXNNYXJrZG93bkZpbGUoYXBwLCBmaWxlKSkgYXMgVEZpbGVbXTtcbiAgfVxuXG4gIG1hcmtkb3duRmlsZXMgPSBtYXJrZG93bkZpbGVzLnNvcnQoKGEsIGIpID0+IGEucGF0aC5sb2NhbGVDb21wYXJlKGIucGF0aCkpO1xuICByZXR1cm4gbWFya2Rvd25GaWxlcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFRGaWxlIG9iamVjdCBmb3IgdGhlIGdpdmVuIHBhdGggb3IgY3JlYXRlcyBhIG5ldyBvbmUgaWYgaXQgZG9lcyBub3QgZXhpc3QuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIHJldHJpZXZlIG9yIGNyZWF0ZS5cbiAqIEByZXR1cm5zIFRoZSBURmlsZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBmaWxlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUZpbGUoYXBwOiBBcHAsIHBhdGg6IHN0cmluZyk6IFByb21pc2U8VEZpbGU+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGVPck51bGwoYXBwLCBwYXRoKTtcbiAgaWYgKGZpbGUpIHtcbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGNvbnN0IGZvbGRlclBhdGggPSBwYXJlbnRGb2xkZXJQYXRoKHBhdGgpO1xuICBhd2FpdCBnZXRPckNyZWF0ZUZvbGRlcihhcHAsIGZvbGRlclBhdGgpO1xuXG4gIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlKHBhdGgsICcnKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFRGb2xkZXIgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGF0aCBvciBjcmVhdGVzIGEgbmV3IG9uZSBpZiBpdCBkb2VzIG5vdCBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZvbGRlciB0byByZXRyaWV2ZSBvciBjcmVhdGUuXG4gKiBAcmV0dXJucyBUaGUgVEZvbGRlciBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBmb2xkZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPckNyZWF0ZUZvbGRlcihhcHA6IEFwcCwgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxURm9sZGVyPiB7XG4gIGNvbnN0IGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIHBhdGgpO1xuICBpZiAoZm9sZGVyKSB7XG4gICAgcmV0dXJuIGZvbGRlcjtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBhcHAudmF1bHQuY3JlYXRlRm9sZGVyKHBhdGgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBhdGggb2YgdGhlIGdpdmVuIGBwYXRoT3JGaWxlYC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBwYXRoIG9mIHRoZSBgcGF0aE9yRmlsZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUpOiBzdHJpbmcge1xuICBpZiAoaXNBYnN0cmFjdEZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm4gcGF0aE9yRmlsZS5wYXRoO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUpO1xuICBpZiAoZmlsZSkge1xuICAgIHJldHVybiBmaWxlLnBhdGg7XG4gIH1cblxuICByZXR1cm4gZ2V0UmVzb2x2ZWRQYXRoKHBhdGhPckZpbGUpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhbiBpbnN0YW5jZSBvZiBUQWJzdHJhY3RGaWxlLlxuICpcbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzIGFuIGluc3RhbmNlIG9mIFRBYnN0cmFjdEZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Fic3RyYWN0RmlsZShmaWxlOiB1bmtub3duKTogZmlsZSBpcyBUQWJzdHJhY3RGaWxlIHtcbiAgcmV0dXJuIGZpbGUgaW5zdGFuY2VvZiBUQWJzdHJhY3RGaWxlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhIGNhbnZhcyBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIGNhbnZhcyBmaWxlIG9yIG5vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FudmFzRmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24oYXBwLCBwYXRoT3JGaWxlLCBDQU5WQVNfRklMRV9FWFRFTlNJT04pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gZmlsZSBpcyBhbiBpbnN0YW5jZSBvZiBURmlsZS5cbiAqXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhbiBpbnN0YW5jZSBvZiBURmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsZShmaWxlOiB1bmtub3duKTogZmlsZSBpcyBURmlsZSB7XG4gIHJldHVybiBmaWxlIGluc3RhbmNlb2YgVEZpbGU7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGZpbGUgaXMgYSBmb2xkZXIsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb2xkZXIoZmlsZTogdW5rbm93bik6IGZpbGUgaXMgVEZvbGRlciB7XG4gIHJldHVybiBmaWxlIGluc3RhbmNlb2YgVEZvbGRlcjtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaXMgYSBNYXJrZG93biBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBpcyBhIE1hcmtkb3duIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01hcmtkb3duRmlsZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogbnVsbCB8IFBhdGhPckFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2hlY2tFeHRlbnNpb24oYXBwLCBwYXRoT3JGaWxlLCBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBmaWxlIGlzIGEgbm90ZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGZpbGUgaXMgYSBub3RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNOb3RlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBudWxsIHwgUGF0aE9yQWJzdHJhY3RGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc01hcmtkb3duRmlsZShhcHAsIHBhdGhPckZpbGUpIHx8IGlzQ2FudmFzRmlsZShhcHAsIHBhdGhPckZpbGUpO1xufVxuXG4vKipcbiAqIFRyaW1zIHRoZSBtYXJrZG93biBleHRlbnNpb24gZnJvbSB0aGUgZmlsZSBwYXRoIGlmIHRoZSBmaWxlIGlzIGEgbWFya2Rvd24gZmlsZS5cbiAqIElmIHRoZSBmaWxlIGlzIG5vdCBhIG1hcmtkb3duIGZpbGUsIHRoZSBvcmlnaW5hbCBmaWxlIHBhdGggaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRyaW0gdGhlIG1hcmtkb3duIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgcGF0aCB3aXRoIHRoZSBtYXJrZG93biBleHRlbnNpb24gdHJpbW1lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaW1NYXJrZG93bkV4dGVuc2lvbihhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSk6IHN0cmluZyB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUoYXBwLCBmaWxlKSkge1xuICAgIHJldHVybiBmaWxlLnBhdGg7XG4gIH1cblxuICByZXR1cm4gdHJpbUVuZChmaWxlLnBhdGgsIGAuJHtNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTn1gKTtcbn1cblxuZnVuY3Rpb24gZ2V0RmlsZUludGVybmFsKGFwcDogQXBwLCBwYXRoOiBzdHJpbmcsIGlzQ2FzZUluc2Vuc2l0aXZlPzogYm9vbGVhbik6IG51bGwgfCBUQWJzdHJhY3RGaWxlIHtcbiAgaWYgKGlzQ2FzZUluc2Vuc2l0aXZlKSB7XG4gICAgcmV0dXJuIGFwcC52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGhJbnNlbnNpdGl2ZShwYXRoKTtcbiAgfVxuXG4gIHJldHVybiBhcHAudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHBhdGgpIGFzIG51bGwgfCBURmlsZTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVzb2x2ZWRQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBub3JtYWxpemVQYXRoKHJlc29sdmUoJy8nLCBwYXRoKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBT0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFFUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsZUFBZTtBQUtqQixNQUFNLDBCQUEwQjtBQUtoQyxNQUFNLHdCQUF3QjtBQXlCOUIsU0FBUyxlQUFlLEtBQVUsWUFBdUMsV0FBNEI7QUFDMUcsTUFBSSxPQUFPLFVBQVUsR0FBRztBQUN0QixXQUFPLFdBQVcsY0FBYztBQUFBLEVBQ2xDO0FBRUEsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLE9BQU8sY0FBYyxLQUFLLFVBQVU7QUFDMUMsUUFBSSxNQUFNO0FBQ1IsYUFBTyxLQUFLLGNBQWM7QUFBQSxJQUM1QjtBQUVBLFdBQU8sUUFBUSxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU07QUFBQSxFQUMxQztBQUVBLFNBQU87QUFDVDtBQVdPLFNBQVMsZ0JBQWdCLEtBQVUsWUFBZ0MsbUJBQTRDO0FBQ3BILFFBQU0sT0FBTyxzQkFBc0IsS0FBSyxZQUFZLGlCQUFpQjtBQUNyRSxNQUFJLENBQUMsTUFBTTtBQUNULFVBQU0sSUFBSSxNQUFNLDRCQUE0QixVQUFvQixFQUFFO0FBQUEsRUFDcEU7QUFFQSxTQUFPO0FBQ1Q7QUFVTyxTQUFTLHNCQUFzQixLQUFVLFlBQXVDLG1CQUFtRDtBQUN4SSxNQUFJLGVBQWUsTUFBTTtBQUN2QixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksZUFBZSxVQUFVLEdBQUc7QUFDOUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLE9BQU8sZ0JBQWdCLEtBQUssWUFBWSxpQkFBaUI7QUFFL0QsTUFBSSxNQUFNO0FBQ1IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGVBQWUsZ0JBQWdCLFVBQVU7QUFFL0MsTUFBSSxpQkFBaUIsWUFBWTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sZ0JBQWdCLEtBQUssY0FBYyxpQkFBaUI7QUFDN0Q7QUFjTyxTQUFTLFFBQVEsS0FBVSxZQUF3QiwwQkFBb0MsbUJBQW9DO0FBQ2hJLE1BQUksT0FBTyxjQUFjLEtBQUssWUFBWSxpQkFBaUI7QUFDM0QsTUFBSSxDQUFDLE1BQU07QUFDVCxRQUFJLDBCQUEwQjtBQUM1QixhQUFPLG9CQUFvQixLQUFLLFVBQW9CO0FBQUEsSUFDdEQsT0FBTztBQUNMLFlBQU0sSUFBSSxNQUFNLG1CQUFtQixVQUFvQixFQUFFO0FBQUEsSUFDM0Q7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUO0FBV08sU0FBUyxjQUFjLEtBQVUsWUFBK0IsbUJBQTJDO0FBQ2hILFFBQU0sT0FBTyxzQkFBc0IsS0FBSyxZQUFZLGlCQUFpQjtBQUNyRSxNQUFJLE9BQU8sSUFBSSxHQUFHO0FBQ2hCLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTztBQUNUO0FBY08sU0FBUyxVQUFVLEtBQVUsY0FBNEIsMEJBQW9DLG1CQUFzQztBQUN4SSxNQUFJLFNBQVMsZ0JBQWdCLEtBQUssY0FBYyxpQkFBaUI7QUFDakUsTUFBSSxDQUFDLFFBQVE7QUFDWCxRQUFJLDBCQUEwQjtBQUM1QixlQUFTLHNCQUFzQixLQUFLLFlBQXNCO0FBQUEsSUFDNUQsT0FBTztBQUNMLFlBQU0sSUFBSSxNQUFNLHFCQUFxQixZQUFzQixFQUFFO0FBQUEsSUFDL0Q7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUO0FBVU8sU0FBUyxnQkFBZ0IsS0FBVSxjQUFtQyxtQkFBNkM7QUFDeEgsUUFBTSxTQUFTLHNCQUFzQixLQUFLLGNBQWMsaUJBQWlCO0FBQ3pFLE1BQUksU0FBUyxNQUFNLEdBQUc7QUFDcEIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxTQUFPO0FBQ1Q7QUFVTyxTQUFTLGlCQUFpQixLQUFVLGNBQTRCLGFBQWdDO0FBQ3JHLFFBQU0sU0FBUyxVQUFVLEtBQUssWUFBWTtBQUUxQyxNQUFJLGdCQUF5QixDQUFDO0FBRTlCLE1BQUksYUFBYTtBQUNmLFVBQU0sZ0JBQWdCLFFBQVEsQ0FBQyxpQkFBaUI7QUFDOUMsVUFBSSxlQUFlLEtBQUssWUFBWSxHQUFHO0FBQ3JDLHNCQUFjLEtBQUssWUFBcUI7QUFBQSxNQUMxQztBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsT0FBTztBQUNMLG9CQUFnQixPQUFPLFNBQVMsT0FBTyxDQUFDLFNBQVMsZUFBZSxLQUFLLElBQUksQ0FBQztBQUFBLEVBQzVFO0FBRUEsa0JBQWdCLGNBQWMsS0FBSyxDQUFDLEdBQUcsTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFFLElBQUksQ0FBQztBQUN6RSxTQUFPO0FBQ1Q7QUFTQSxlQUFzQixnQkFBZ0IsS0FBVSxNQUE4QjtBQUM1RSxRQUFNLE9BQU8sY0FBYyxLQUFLLElBQUk7QUFDcEMsTUFBSSxNQUFNO0FBQ1IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWEsaUJBQWlCLElBQUk7QUFDeEMsUUFBTSxrQkFBa0IsS0FBSyxVQUFVO0FBRXZDLFNBQU8sTUFBTSxJQUFJLE1BQU0sT0FBTyxNQUFNLEVBQUU7QUFDeEM7QUFTQSxlQUFzQixrQkFBa0IsS0FBVSxNQUFnQztBQUNoRixRQUFNLFNBQVMsZ0JBQWdCLEtBQUssSUFBSTtBQUN4QyxNQUFJLFFBQVE7QUFDVixXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sTUFBTSxJQUFJLE1BQU0sYUFBYSxJQUFJO0FBQzFDO0FBU08sU0FBUyxRQUFRLEtBQVUsWUFBd0M7QUFDeEUsTUFBSSxlQUFlLFVBQVUsR0FBRztBQUM5QixXQUFPLFdBQVc7QUFBQSxFQUNwQjtBQUVBLFFBQU0sT0FBTyxzQkFBc0IsS0FBSyxVQUFVO0FBQ2xELE1BQUksTUFBTTtBQUNSLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFFQSxTQUFPLGdCQUFnQixVQUFVO0FBQ25DO0FBUU8sU0FBUyxlQUFlLE1BQXNDO0FBQ25FLFNBQU8sZ0JBQWdCO0FBQ3pCO0FBU08sU0FBUyxhQUFhLEtBQVUsWUFBZ0Q7QUFDckYsU0FBTyxlQUFlLEtBQUssWUFBWSxxQkFBcUI7QUFDOUQ7QUFRTyxTQUFTLE9BQU8sTUFBOEI7QUFDbkQsU0FBTyxnQkFBZ0I7QUFDekI7QUFRTyxTQUFTLFNBQVMsTUFBZ0M7QUFDdkQsU0FBTyxnQkFBZ0I7QUFDekI7QUFTTyxTQUFTLGVBQWUsS0FBVSxZQUFnRDtBQUN2RixTQUFPLGVBQWUsS0FBSyxZQUFZLHVCQUF1QjtBQUNoRTtBQVNPLFNBQVMsT0FBTyxLQUFVLFlBQWdEO0FBQy9FLFNBQU8sZUFBZSxLQUFLLFVBQVUsS0FBSyxhQUFhLEtBQUssVUFBVTtBQUN4RTtBQVVPLFNBQVMsc0JBQXNCLEtBQVUsTUFBNkI7QUFDM0UsTUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLEdBQUc7QUFDOUIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUVBLFNBQU8sUUFBUSxLQUFLLE1BQU0sSUFBSSx1QkFBdUIsRUFBRTtBQUN6RDtBQUVBLFNBQVMsZ0JBQWdCLEtBQVUsTUFBYyxtQkFBbUQ7QUFDbEcsTUFBSSxtQkFBbUI7QUFDckIsV0FBTyxJQUFJLE1BQU0saUNBQWlDLElBQUk7QUFBQSxFQUN4RDtBQUVBLFNBQU8sSUFBSSxNQUFNLHNCQUFzQixJQUFJO0FBQzdDO0FBRUEsU0FBUyxnQkFBZ0IsTUFBc0I7QUFDN0MsU0FBTyxjQUFjLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDekM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|