tnp-helpers 18.0.12 → 18.0.13
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +19 -4
- package/browser/esm2022/lib/base/base-git.mjs +78 -2
- package/browser/esm2022/lib/base/base-library-build.mjs +88 -2
- package/browser/esm2022/lib/base/base-project-resolver.mjs +4 -1
- package/browser/esm2022/lib/base/base-project.mjs +19 -2
- package/browser/esm2022/lib/base/base-quick-fixes.mjs +24 -0
- package/browser/esm2022/lib/base/base-vscode.mjs +1 -2
- package/browser/esm2022/lib/base/index.mjs +2 -1
- package/browser/esm2022/lib/helpers/helpers.mjs +1 -11
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/esm2022/lib/utils.mjs +151 -1
- package/browser/fesm2022/tnp-helpers.mjs +376 -18
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
- package/browser/lib/base/base-git.d.ts +3 -26
- package/browser/lib/base/base-library-build.d.ts +6 -2
- package/browser/lib/base/base-project-resolver.d.ts +1 -1
- package/browser/lib/base/base-project.d.ts +5 -4
- package/browser/lib/base/base-quick-fixes.d.ts +7 -0
- package/browser/lib/base/index.d.ts +1 -0
- package/browser/lib/models.d.ts +27 -1
- package/browser/lib/utils.d.ts +29 -0
- package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +19 -4
- package/client/esm2022/lib/base/base-git.mjs +78 -2
- package/client/esm2022/lib/base/base-library-build.mjs +88 -2
- package/client/esm2022/lib/base/base-project-resolver.mjs +4 -1
- package/client/esm2022/lib/base/base-project.mjs +19 -2
- package/client/esm2022/lib/base/base-quick-fixes.mjs +24 -0
- package/client/esm2022/lib/base/base-vscode.mjs +1 -2
- package/client/esm2022/lib/base/index.mjs +2 -1
- package/client/esm2022/lib/helpers/helpers.mjs +1 -11
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/esm2022/lib/utils.mjs +151 -1
- package/client/fesm2022/tnp-helpers.mjs +376 -18
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
- package/client/lib/base/base-git.d.ts +3 -26
- package/client/lib/base/base-library-build.d.ts +6 -2
- package/client/lib/base/base-project-resolver.d.ts +1 -1
- package/client/lib/base/base-project.d.ts +5 -4
- package/client/lib/base/base-quick-fixes.d.ts +7 -0
- package/client/lib/base/index.d.ts +1 -0
- package/client/lib/models.d.ts +27 -1
- package/client/lib/utils.d.ts +29 -0
- package/lib/base/base-command-line.backend.d.ts +12 -8
- package/lib/base/base-command-line.backend.js +129 -2
- package/lib/base/base-command-line.backend.js.map +1 -1
- package/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
- package/lib/base/base-debounce-compiler-for-project.js +19 -2
- package/lib/base/base-debounce-compiler-for-project.js.map +1 -1
- package/lib/base/base-git.d.ts +3 -26
- package/lib/base/base-git.js +173 -96
- package/lib/base/base-git.js.map +1 -1
- package/lib/base/base-library-build.d.ts +6 -2
- package/lib/base/base-library-build.js +178 -57
- package/lib/base/base-library-build.js.map +1 -1
- package/lib/base/base-project-resolver.d.ts +1 -1
- package/lib/base/base-project-resolver.js +3 -0
- package/lib/base/base-project-resolver.js.map +1 -1
- package/lib/base/base-project.d.ts +4 -1
- package/lib/base/base-project.js +26 -5
- package/lib/base/base-project.js.map +1 -1
- package/lib/base/base-quick-fixes.d.ts +6 -0
- package/lib/base/base-quick-fixes.js +31 -0
- package/lib/base/base-quick-fixes.js.map +1 -0
- package/lib/base/base-vscode.js +1 -2
- package/lib/base/base-vscode.js.map +1 -1
- package/lib/base/index-rebuilder.backend.d.ts +0 -0
- package/lib/base/index-rebuilder.backend.js +129 -0
- package/lib/base/index-rebuilder.backend.js.map +1 -0
- package/lib/base/index.d.ts +1 -0
- package/lib/base/index.js +1 -0
- package/lib/base/index.js.map +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.d.ts +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.js +42 -12
- package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +2 -2
- package/lib/helpers/helpers.js +5 -13
- package/lib/helpers/helpers.js.map +1 -1
- package/lib/models.d.ts +27 -1
- package/lib/old/base-component.js +2 -2
- package/lib/old/base-formly-component.js +2 -2
- package/lib/old/dual-component-ctrl.js +2 -2
- package/lib/utils.d.ts +29 -0
- package/lib/utils.js +137 -1
- package/lib/utils.js.map +1 -1
- package/package.json +8 -6
- package/tmp-environment.json +33 -30
- package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +19 -4
- package/websql/esm2022/lib/base/base-git.mjs +78 -2
- package/websql/esm2022/lib/base/base-library-build.mjs +88 -2
- package/websql/esm2022/lib/base/base-project-resolver.mjs +4 -1
- package/websql/esm2022/lib/base/base-project.mjs +13 -2
- package/websql/esm2022/lib/base/base-quick-fixes.mjs +24 -0
- package/websql/esm2022/lib/base/base-vscode.mjs +1 -2
- package/websql/esm2022/lib/base/index.mjs +2 -1
- package/websql/esm2022/lib/helpers/helpers.mjs +1 -11
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/esm2022/lib/utils.mjs +151 -1
- package/websql/fesm2022/tnp-helpers.mjs +370 -18
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
- package/websql/lib/base/base-git.d.ts +3 -26
- package/websql/lib/base/base-library-build.d.ts +6 -2
- package/websql/lib/base/base-project-resolver.d.ts +1 -1
- package/websql/lib/base/base-project.d.ts +5 -6
- package/websql/lib/base/base-quick-fixes.d.ts +7 -0
- package/websql/lib/base/index.d.ts +1 -0
- package/websql/lib/models.d.ts +27 -1
- package/websql/lib/utils.d.ts +29 -0
|
@@ -8,6 +8,10 @@ export declare abstract class BaseDebounceCompilerForProject<ADDITIONAL_DATA = a
|
|
|
8
8
|
changeOfFiles: ChangeOfFile[];
|
|
9
9
|
asyncEvent: boolean;
|
|
10
10
|
}): any;
|
|
11
|
+
/**
|
|
12
|
+
* current files that are in project
|
|
13
|
+
*/
|
|
14
|
+
protected exitedFilesAbsPathes: string[];
|
|
11
15
|
/**
|
|
12
16
|
* @deprecated use action() instead
|
|
13
17
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { BaseFeatureForProject } from './base-feature-for-project';
|
|
3
|
-
import { CommitData, TypeOfCommit } from '../index';
|
|
3
|
+
import { CommitData, PushProcessOptions, TypeOfCommit } from '../index';
|
|
4
4
|
import type { BaseProject } from './base-project';
|
|
5
5
|
export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
|
|
6
6
|
project: PROJCET;
|
|
@@ -35,7 +35,7 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
|
|
|
35
35
|
get uncommitedFiles(): any;
|
|
36
36
|
get thereAreSomeUncommitedChange(): any;
|
|
37
37
|
thereAreSomeUncommitedChangeExcept(filesList?: string[]): any;
|
|
38
|
-
meltActionCommits(
|
|
38
|
+
meltActionCommits(): void;
|
|
39
39
|
pullCurrentBranch(options?: {
|
|
40
40
|
askToRetry?: boolean;
|
|
41
41
|
defaultHardResetCommits?: number;
|
|
@@ -115,30 +115,7 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
|
|
|
115
115
|
cloneChildren?: boolean;
|
|
116
116
|
setOrigin?: 'ssh' | 'http';
|
|
117
117
|
}): Promise<void>;
|
|
118
|
-
pushProcess(options?:
|
|
119
|
-
force?: boolean;
|
|
120
|
-
typeofCommit?: TypeOfCommit;
|
|
121
|
-
askToConfirmPush?: boolean;
|
|
122
|
-
askToConfirmCommit?: boolean;
|
|
123
|
-
skipLint?: boolean;
|
|
124
|
-
askToConfirmBranchChange?: boolean;
|
|
125
|
-
origin?: string;
|
|
126
|
-
args?: string[];
|
|
127
|
-
setOrigin?: 'ssh' | 'http';
|
|
128
|
-
exitCallBack?: () => void;
|
|
129
|
-
forcePushNoQuestion?: boolean;
|
|
130
|
-
overrideCommitMessage?: string;
|
|
131
|
-
commitMessageRequired?: boolean;
|
|
132
|
-
/**
|
|
133
|
-
* only needed when push github
|
|
134
|
-
* and I forgot to add my username before issue
|
|
135
|
-
* taon pfix proper input my-repo#344
|
|
136
|
-
* that should be
|
|
137
|
-
* taon pfix proper input my-username/my-repo#344
|
|
138
|
-
*/
|
|
139
|
-
currentOrigin?: string;
|
|
140
|
-
skipChildren?: boolean;
|
|
141
|
-
}): Promise<void>;
|
|
118
|
+
pushProcess(options?: PushProcessOptions): Promise<void>;
|
|
142
119
|
_beforeAnyActionOnGitRoot(): any;
|
|
143
120
|
protected _beforePushProcessAction(): Promise<any>;
|
|
144
121
|
protected _beforePullProcessAction(cloneChildren?: boolean): Promise<any>;
|
|
@@ -6,8 +6,9 @@ import type { BaseProject } from './base-project';
|
|
|
6
6
|
/**
|
|
7
7
|
* Base library build for standard angular/typescript projects
|
|
8
8
|
*/
|
|
9
|
-
export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject<
|
|
9
|
+
export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject<BaseProject, any>> extends BaseFeatureForProject {
|
|
10
10
|
private cache;
|
|
11
|
+
private tempOrgTsConfigFile;
|
|
11
12
|
protected sortByDeps(libraries: PROJCET[]): PROJCET[];
|
|
12
13
|
/**
|
|
13
14
|
* Use cases:
|
|
@@ -56,6 +57,9 @@ export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject<any,
|
|
|
56
57
|
outputLineReplace?: (outputLine: string) => string;
|
|
57
58
|
}): Promise<any>;
|
|
58
59
|
getLibraryBuildComamnd(options?: LibraryBuildCommandOptions): string | undefined;
|
|
59
|
-
get
|
|
60
|
+
get getLibraryBuildSuccessComamnds(): string[];
|
|
60
61
|
selectCopytoProjects(): Promise<string[]>;
|
|
62
|
+
private changeTsConfigForLibrariesTypes;
|
|
63
|
+
private replaceTsConfigsPathes;
|
|
64
|
+
private restoreOriginalTsConfig;
|
|
61
65
|
}
|
|
@@ -28,7 +28,7 @@ export declare class BaseProjectResolver<PROJECT extends Partial<BaseProject> =
|
|
|
28
28
|
*/
|
|
29
29
|
typeFrom(location: string, recrusiveCall?: boolean): string;
|
|
30
30
|
From(locationOfProject: string | string[], options?: any): PROJECT;
|
|
31
|
-
nearestTo(absoluteLocation: string, options?: {
|
|
31
|
+
nearestTo(absoluteLocation: string | string[], options?: {
|
|
32
32
|
type?: string | string[];
|
|
33
33
|
findGitRoot?: boolean;
|
|
34
34
|
onlyOutSideNodeModules?: boolean;
|
|
@@ -9,7 +9,8 @@ import { BaseLinkedProjects } from './base-linked-projects';
|
|
|
9
9
|
import { BaseGit } from './base-git';
|
|
10
10
|
import { BaseVscodeHelpers } from './base-vscode';
|
|
11
11
|
import { BaseReleaseProcess } from './base-release-process';
|
|
12
|
-
|
|
12
|
+
import { BaseQuickFixes } from './base-quick-fixes';
|
|
13
|
+
export declare abstract class BaseProject<PROJCET extends BaseProject = BaseProject<any, any>, TYPE = BaseProjectType> {
|
|
13
14
|
static ins: BaseProjectResolver<BaseProject<BaseProject<any, any>, CoreModels.BaseProjectType>>;
|
|
14
15
|
cache: any;
|
|
15
16
|
static cache: any;
|
|
@@ -30,6 +31,7 @@ export declare abstract class BaseProject<PROJCET extends BaseProject<any, any>
|
|
|
30
31
|
vsCodeHelpers: BaseVscodeHelpers;
|
|
31
32
|
releaseProcess: BaseReleaseProcess;
|
|
32
33
|
git: BaseGit;
|
|
34
|
+
quickFixes: BaseQuickFixes;
|
|
33
35
|
private __location;
|
|
34
36
|
get location(): string;
|
|
35
37
|
set location(v: string);
|
|
@@ -63,6 +65,7 @@ export declare abstract class BaseProject<PROJCET extends BaseProject<any, any>
|
|
|
63
65
|
get children(): PROJCET[];
|
|
64
66
|
getChildBy(nameOrBasename: string, errors?: boolean): PROJCET;
|
|
65
67
|
get parent(): PROJCET;
|
|
68
|
+
get nearestParent(): PROJCET;
|
|
66
69
|
get grandpa(): PROJCET;
|
|
67
70
|
get allNpmPackagesNames(): string[];
|
|
68
71
|
get titleBarName(): string;
|
|
@@ -104,9 +107,7 @@ export declare abstract class BaseProject<PROJCET extends BaseProject<any, any>
|
|
|
104
107
|
*/
|
|
105
108
|
run(command: string, options?: Omit<CoreModels.RunOptions, 'cwd'>): {
|
|
106
109
|
sync(): any;
|
|
107
|
-
async(detach?: boolean, mockFun?: (stdoutCallback: (dataForStdout: any) => any, stdErrcCallback: (dataForStder: any) => any, shouldProcesBeDead
|
|
108
|
-
* name from package.json
|
|
109
|
-
*/: () => boolean) => Promise<number> | number): import("child_process").ChildProcess;
|
|
110
|
+
async(detach?: boolean, mockFun?: (stdoutCallback: (dataForStdout: any) => any, stdErrcCallback: (dataForStder: any) => any, shouldProcesBeDead?: () => boolean) => Promise<number> | number): import("child_process").ChildProcess;
|
|
110
111
|
asyncAsPromise(): Promise<void>;
|
|
111
112
|
unitlOutput(optionsOutput: {
|
|
112
113
|
stdoutMsg: string | string[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { BaseFeatureForProject } from './base-feature-for-project';
|
|
3
|
+
import type { BaseProject } from './base-project';
|
|
4
|
+
export declare class BaseQuickFixes<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
|
|
5
|
+
constructor(project: PROJCET);
|
|
6
|
+
fixSQLLiteModuleInNodeModules(): any;
|
|
7
|
+
}
|
|
@@ -10,6 +10,7 @@ export * from './base-vscode';
|
|
|
10
10
|
export * from './base-release-process';
|
|
11
11
|
export * from './base-compiler-for-project';
|
|
12
12
|
export * from './base-debounce-compiler-for-project';
|
|
13
|
+
export * from './base-quick-fixes';
|
|
13
14
|
export * from './commit-data';
|
|
14
15
|
export * from './core-project';
|
|
15
16
|
export * from './linked-project';
|
package/browser/lib/models.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import * as core from 'tnp-core/browser';
|
|
3
|
-
import type { BaseProject } from './base';
|
|
3
|
+
import type { BaseProject, TypeOfCommit } from './base';
|
|
4
4
|
export type BaseProjectType = core.CoreModels.BaseProjectType;
|
|
5
5
|
export declare const BaseProjectTypeArr: string[];
|
|
6
6
|
/**
|
|
@@ -50,4 +50,30 @@ export interface ChangelogData {
|
|
|
50
50
|
changes: string[];
|
|
51
51
|
version: string;
|
|
52
52
|
date: string;
|
|
53
|
+
}
|
|
54
|
+
export interface PushProcessOptions {
|
|
55
|
+
force?: boolean;
|
|
56
|
+
typeofCommit?: TypeOfCommit;
|
|
57
|
+
mergeUpdateCommits?: boolean;
|
|
58
|
+
askToConfirmPush?: boolean;
|
|
59
|
+
askToConfirmCommit?: boolean;
|
|
60
|
+
skipLint?: boolean;
|
|
61
|
+
askToConfirmBranchChange?: boolean;
|
|
62
|
+
origin?: string;
|
|
63
|
+
args?: string[];
|
|
64
|
+
setOrigin?: 'ssh' | 'http';
|
|
65
|
+
exitCallBack?: () => void;
|
|
66
|
+
forcePushNoQuestion?: boolean;
|
|
67
|
+
overrideCommitMessage?: string;
|
|
68
|
+
commitMessageRequired?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* only needed when push github
|
|
71
|
+
* and I forgot to add my username before issue
|
|
72
|
+
* taon pfix proper input my-repo#344
|
|
73
|
+
* that should be
|
|
74
|
+
* taon pfix proper input my-username/my-repo#344
|
|
75
|
+
*/
|
|
76
|
+
currentOrigin?: string;
|
|
77
|
+
skipChildren?: boolean;
|
|
78
|
+
noExit?: boolean;
|
|
53
79
|
}
|
package/browser/lib/utils.d.ts
CHANGED
|
@@ -58,4 +58,33 @@ export declare namespace UtilsTypescript {
|
|
|
58
58
|
type: "class" | "function" | "const" | "let" | "var" | "enum" | "type" | "interface" | "default" | "module" | "namespace";
|
|
59
59
|
name: string;
|
|
60
60
|
}[];
|
|
61
|
+
}
|
|
62
|
+
export declare namespace UtilsHttp {
|
|
63
|
+
const startHttpServer: (cwd: string, port: number) => Promise<any>;
|
|
64
|
+
}
|
|
65
|
+
export declare namespace UtilsMd {
|
|
66
|
+
/**
|
|
67
|
+
* extract assets pathes from .md file
|
|
68
|
+
*/
|
|
69
|
+
const getAssets: (mdfileContent: string) => string[];
|
|
70
|
+
/**
|
|
71
|
+
* Extract links to other Markdown files from a given Markdown content.
|
|
72
|
+
* @param mdfileContent
|
|
73
|
+
*/
|
|
74
|
+
const getLinksToOtherMdFiles: (mdfileContent: string) => string[];
|
|
75
|
+
/**
|
|
76
|
+
* Move asset paths to a higher directory level by adding "../" before each path.
|
|
77
|
+
*
|
|
78
|
+
* @param mdfileContent - The content of the .md file.
|
|
79
|
+
* @param level - The number of levels to go up (default is 1).
|
|
80
|
+
* @returns The modified content with updated asset paths.
|
|
81
|
+
*/
|
|
82
|
+
const moveAssetsPathesToLevel: (mdfileContent: string, level?: number) => string;
|
|
83
|
+
}
|
|
84
|
+
export declare namespace UtilsQuickFixes {
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @param node_modules/sql.js/dist/sql-wasm.js
|
|
88
|
+
*/
|
|
89
|
+
function replaceSQLliteFaultyCode(contentofSQLWasmJS: string): string;
|
|
61
90
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { BaseCompilerForProject } from './base-compiler-for-project';
|
|
2
2
|
import { ChangeOfFile } from 'incremental-compiler/browser';
|
|
3
|
-
import { _ } from 'tnp-core/browser';
|
|
3
|
+
import { _, Utils } from 'tnp-core/browser';
|
|
4
4
|
export class BaseDebounceCompilerForProject extends BaseCompilerForProject {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
+
/**
|
|
8
|
+
* current files that are in project
|
|
9
|
+
*/
|
|
10
|
+
this.exitedFilesAbsPathes = [];
|
|
7
11
|
this.lastAsyncFilesChanges = [];
|
|
8
12
|
this.debounceAction = _.debounce(() => {
|
|
9
13
|
const changeOfFiles = this.lastAsyncFilesChanges;
|
|
@@ -12,13 +16,14 @@ export class BaseDebounceCompilerForProject extends BaseCompilerForProject {
|
|
|
12
16
|
changeOfFiles,
|
|
13
17
|
asyncEvent: true,
|
|
14
18
|
});
|
|
15
|
-
});
|
|
19
|
+
}, 1000);
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
22
|
* @deprecated use action() instead
|
|
19
23
|
*/
|
|
20
24
|
async syncAction(absFilesPathes, initalParams) {
|
|
21
|
-
this.initalParams = initalParams;
|
|
25
|
+
this.initalParams = initalParams || {};
|
|
26
|
+
this.exitedFilesAbsPathes = absFilesPathes;
|
|
22
27
|
return await this.action({
|
|
23
28
|
changeOfFiles: absFilesPathes.map(fileAbsolutePath => new ChangeOfFile(fileAbsolutePath, 'change')),
|
|
24
29
|
asyncEvent: false,
|
|
@@ -29,9 +34,19 @@ export class BaseDebounceCompilerForProject extends BaseCompilerForProject {
|
|
|
29
34
|
*/
|
|
30
35
|
async asyncAction(asyncEvents, initalParams) {
|
|
31
36
|
this.lastAsyncFilesChanges.push(asyncEvents);
|
|
37
|
+
if (asyncEvents.eventName === 'unlink') {
|
|
38
|
+
this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(f => f !== asyncEvents.fileAbsolutePath);
|
|
39
|
+
}
|
|
40
|
+
else if (asyncEvents.eventName === 'unlinkDir') {
|
|
41
|
+
this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(f => !f.startsWith(asyncEvents.fileAbsolutePath.replace(/\/$/, '') + '/'));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.exitedFilesAbsPathes.push(asyncEvents.fileAbsolutePath);
|
|
45
|
+
this.exitedFilesAbsPathes = Utils.uniqArray(this.exitedFilesAbsPathes);
|
|
46
|
+
}
|
|
32
47
|
await this.debounceAction();
|
|
33
48
|
}
|
|
34
49
|
}
|
|
35
50
|
;
|
|
36
51
|
({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-debounce-compiler-for-project.ts
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kZWJvdW5jZS1jb21waWxlci1mb3ItcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9iYXNlLWRlYm91bmNlLWNvbXBpbGVyLWZvci1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzVDLE1BQU0sT0FBZ0IsOEJBR3BCLFNBQVEsc0JBQWdEO0lBSDFEOztRQWFFOztXQUVHO1FBQ08seUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBbUJ0QywwQkFBcUIsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1lBQ2pELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDVixhQUFhO2dCQUNiLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQXlCWCxDQUFDO0lBbERDOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVUsQ0FDckIsY0FBd0IsRUFDeEIsWUFBNkI7UUFFN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLElBQUssRUFBVSxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxjQUFjLENBQUM7UUFDM0MsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkIsYUFBYSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQy9CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FDakU7WUFDRCxVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBWUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVyxDQUN0QixXQUF5QixFQUN6QixZQUE4QjtRQUU5QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FDMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssV0FBVyxDQUFDLGdCQUFnQixDQUN4QyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksV0FBVyxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FDMUQsQ0FBQyxDQUFDLEVBQUUsQ0FDRixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQ3ZFLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUZBQXVGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBpbGVyRm9yUHJvamVjdCB9IGZyb20gJy4vYmFzZS1jb21waWxlci1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBDaGFuZ2VPZkZpbGUgfSBmcm9tICdpbmNyZW1lbnRhbC1jb21waWxlci9icm93c2VyJztcbmltcG9ydCB7IF8sIFV0aWxzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURlYm91bmNlQ29tcGlsZXJGb3JQcm9qZWN0PFxuICBBRERJVElPTkFMX0RBVEEgPSBhbnksXG4gIFBST0pFQ1QgZXh0ZW5kcyBCYXNlUHJvamVjdCA9IEJhc2VQcm9qZWN0LFxuPiBleHRlbmRzIEJhc2VDb21waWxlckZvclByb2plY3Q8QURESVRJT05BTF9EQVRBLCBQUk9KRUNUPiB7XG4gIHByb3RlY3RlZCBpbml0YWxQYXJhbXM6IEFERElUSU9OQUxfREFUQTtcbiAgYWJzdHJhY3QgYWN0aW9uKHtcbiAgICBjaGFuZ2VPZkZpbGVzLFxuICAgIGFzeW5jRXZlbnQsXG4gIH06IHtcbiAgICBjaGFuZ2VPZkZpbGVzOiBDaGFuZ2VPZkZpbGVbXTtcbiAgICBhc3luY0V2ZW50OiBib29sZWFuO1xuICB9KTtcblxuICAvKipcbiAgICogY3VycmVudCBmaWxlcyB0aGF0IGFyZSBpbiBwcm9qZWN0XG4gICAqL1xuICBwcm90ZWN0ZWQgZXhpdGVkRmlsZXNBYnNQYXRoZXM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBhY3Rpb24oKSBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3luY0FjdGlvbihcbiAgICBhYnNGaWxlc1BhdGhlczogc3RyaW5nW10sXG4gICAgaW5pdGFsUGFyYW1zOiBBRERJVElPTkFMX0RBVEEsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuaW5pdGFsUGFyYW1zID0gaW5pdGFsUGFyYW1zIHx8ICh7fSBhcyBhbnkpO1xuICAgIHRoaXMuZXhpdGVkRmlsZXNBYnNQYXRoZXMgPSBhYnNGaWxlc1BhdGhlcztcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb24oe1xuICAgICAgY2hhbmdlT2ZGaWxlczogYWJzRmlsZXNQYXRoZXMubWFwKFxuICAgICAgICBmaWxlQWJzb2x1dGVQYXRoID0+IG5ldyBDaGFuZ2VPZkZpbGUoZmlsZUFic29sdXRlUGF0aCwgJ2NoYW5nZScpLFxuICAgICAgKSxcbiAgICAgIGFzeW5jRXZlbnQ6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXN0QXN5bmNGaWxlc0NoYW5nZXM6IENoYW5nZU9mRmlsZVtdID0gW107XG4gIHByaXZhdGUgZGVib3VuY2VBY3Rpb24gPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICBjb25zdCBjaGFuZ2VPZkZpbGVzID0gdGhpcy5sYXN0QXN5bmNGaWxlc0NoYW5nZXM7XG4gICAgdGhpcy5sYXN0QXN5bmNGaWxlc0NoYW5nZXMgPSBbXTtcbiAgICB0aGlzLmFjdGlvbih7XG4gICAgICBjaGFuZ2VPZkZpbGVzLFxuICAgICAgYXN5bmNFdmVudDogdHJ1ZSxcbiAgICB9KTtcbiAgfSwgMTAwMCk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBhY3Rpb24oKSBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYXN5bmNBY3Rpb24oXG4gICAgYXN5bmNFdmVudHM6IENoYW5nZU9mRmlsZSxcbiAgICBpbml0YWxQYXJhbXM/OiBBRERJVElPTkFMX0RBVEEsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdEFzeW5jRmlsZXNDaGFuZ2VzLnB1c2goYXN5bmNFdmVudHMpO1xuICAgIGlmIChhc3luY0V2ZW50cy5ldmVudE5hbWUgPT09ICd1bmxpbmsnKSB7XG4gICAgICB0aGlzLmV4aXRlZEZpbGVzQWJzUGF0aGVzID0gdGhpcy5leGl0ZWRGaWxlc0Fic1BhdGhlcy5maWx0ZXIoXG4gICAgICAgIGYgPT4gZiAhPT0gYXN5bmNFdmVudHMuZmlsZUFic29sdXRlUGF0aCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhc3luY0V2ZW50cy5ldmVudE5hbWUgPT09ICd1bmxpbmtEaXInKSB7XG4gICAgICB0aGlzLmV4aXRlZEZpbGVzQWJzUGF0aGVzID0gdGhpcy5leGl0ZWRGaWxlc0Fic1BhdGhlcy5maWx0ZXIoXG4gICAgICAgIGYgPT5cbiAgICAgICAgICAhZi5zdGFydHNXaXRoKGFzeW5jRXZlbnRzLmZpbGVBYnNvbHV0ZVBhdGgucmVwbGFjZSgvXFwvJC8sICcnKSArICcvJyksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmV4aXRlZEZpbGVzQWJzUGF0aGVzLnB1c2goYXN5bmNFdmVudHMuZmlsZUFic29sdXRlUGF0aCk7XG4gICAgICB0aGlzLmV4aXRlZEZpbGVzQWJzUGF0aGVzID0gVXRpbHMudW5pcUFycmF5KHRoaXMuZXhpdGVkRmlsZXNBYnNQYXRoZXMpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmRlYm91bmNlQWN0aW9uKCk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtZGVib3VuY2UtY29tcGlsZXItZm9yLXByb2plY3QudHMiXX0=
|
|
@@ -132,7 +132,7 @@ export class BaseGit extends BaseFeatureForProject {
|
|
|
132
132
|
/* */
|
|
133
133
|
return (void 0);
|
|
134
134
|
}
|
|
135
|
-
meltActionCommits(
|
|
135
|
+
meltActionCommits() {
|
|
136
136
|
/* */
|
|
137
137
|
/* */
|
|
138
138
|
}
|
|
@@ -691,6 +691,82 @@ export class BaseGit extends BaseFeatureForProject {
|
|
|
691
691
|
/* */
|
|
692
692
|
/* */
|
|
693
693
|
/* */
|
|
694
|
+
/* */
|
|
695
|
+
/* */
|
|
696
|
+
/* */
|
|
697
|
+
/* */
|
|
698
|
+
/* */
|
|
699
|
+
/* */
|
|
700
|
+
/* */
|
|
701
|
+
/* */
|
|
702
|
+
/* */
|
|
703
|
+
/* */
|
|
704
|
+
/* */
|
|
705
|
+
/* */
|
|
706
|
+
/* */
|
|
707
|
+
/* */
|
|
708
|
+
/* */
|
|
709
|
+
/* */
|
|
710
|
+
/* */
|
|
711
|
+
/* */
|
|
712
|
+
/* */
|
|
713
|
+
/* */
|
|
714
|
+
/* */
|
|
715
|
+
/* */
|
|
716
|
+
/* */
|
|
717
|
+
/* */
|
|
718
|
+
/* */
|
|
719
|
+
/* */
|
|
720
|
+
/* */
|
|
721
|
+
/* */
|
|
722
|
+
/* */
|
|
723
|
+
/* */
|
|
724
|
+
/* */
|
|
725
|
+
/* */
|
|
726
|
+
/* */
|
|
727
|
+
/* */
|
|
728
|
+
/* */
|
|
729
|
+
/* */
|
|
730
|
+
/* */
|
|
731
|
+
/* */
|
|
732
|
+
/* */
|
|
733
|
+
/* */
|
|
734
|
+
/* */
|
|
735
|
+
/* */
|
|
736
|
+
/* */
|
|
737
|
+
/* */
|
|
738
|
+
/* */
|
|
739
|
+
/* */
|
|
740
|
+
/* */
|
|
741
|
+
/* */
|
|
742
|
+
/* */
|
|
743
|
+
/* */
|
|
744
|
+
/* */
|
|
745
|
+
/* */
|
|
746
|
+
/* */
|
|
747
|
+
/* */
|
|
748
|
+
/* */
|
|
749
|
+
/* */
|
|
750
|
+
/* */
|
|
751
|
+
/* */
|
|
752
|
+
/* */
|
|
753
|
+
/* */
|
|
754
|
+
/* */
|
|
755
|
+
/* */
|
|
756
|
+
/* */
|
|
757
|
+
/* */
|
|
758
|
+
/* */
|
|
759
|
+
/* */
|
|
760
|
+
/* */
|
|
761
|
+
/* */
|
|
762
|
+
/* */
|
|
763
|
+
/* */
|
|
764
|
+
/* */
|
|
765
|
+
/* */
|
|
766
|
+
/* */
|
|
767
|
+
/* */
|
|
768
|
+
/* */
|
|
769
|
+
/* */
|
|
694
770
|
return (void 0);
|
|
695
771
|
}
|
|
696
772
|
_beforeAnyActionOnGitRoot() {
|
|
@@ -848,4 +924,4 @@ export class BaseGit extends BaseFeatureForProject {
|
|
|
848
924
|
}
|
|
849
925
|
;
|
|
850
926
|
({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-git.ts
|
|
851
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1naXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFNbkUsTUFBTSxPQUFPLE9BRVgsU0FBUSxxQkFBcUI7SUFHN0IsZUFBZTtRQUNqQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxpQkFBaUIsQ0FBQyxnQkFBd0I7UUFDNUMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUscUJBQXFCLEdBQUcsRUFBRSxFQUFFLFVBQW1CO1FBQzFFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxrQkFBa0IsQ0FBQyxnQkFBd0I7UUFDN0MsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsYUFBYTtRQUNmLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxPQUFrQztRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxVQUFVO1FBQ1osS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLO1FBQ25CLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELFVBQVUsQ0FBQyxHQUFHLGNBQXdCO1FBQ3hDLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksZUFBZTtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLHNCQUFzQjtRQUM1QixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLFNBQVM7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLFNBQVM7UUFDZixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxNQUFNLENBQUMsYUFBc0I7UUFDL0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsYUFBcUI7UUFDcEMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsYUFBcUI7UUFDekMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BS3ZCO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxVQUFVO1FBQ2hCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksZUFBZTtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLDRCQUE0QjtRQUNsQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGtDQUFrQyxDQUFDLFlBQXNCLEVBQUU7UUFDN0QsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsSUFBSSxHQUFHLEtBQUs7UUFDaEMsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BR3ZCO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxpQkFBaUI7UUFDdkIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSx1QkFBdUI7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsa0JBQWtCLENBQUMsT0FBd0I7UUFDN0MsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ3hCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELFNBQVMsQ0FBQyxPQUEyQjtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxXQUFXO1FBQ2IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsYUFBYTtRQUNmLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksZ0JBQWdCO1FBQ3RCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELGNBQWM7UUFDaEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsY0FBYztRQUNoQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxpQkFBaUI7UUFDbkIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLHdCQUF3QjtRQUNoQyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsS0FBYTtRQUM3QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBWTtRQUMzQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBYTtRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxxQkFBcUI7UUFDdkIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsY0FBYyxDQUFDLEdBQVc7UUFDNUIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsUUFBUSxDQUNOLFVBQWtCLEVBQ2xCLE9BSUM7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxjQUFjLENBQ1osa0JBQTBCLEVBQzFCLE1BQWMsRUFDZCxNQUFNLEdBQUcsUUFBUTtRQUVyQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxZQUFZO1FBQ3pDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELFdBQVc7UUFDYixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGVBQWU7UUFDckIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxrQkFBa0I7UUFDeEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxXQUFXO1FBQ2pCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFlBQW9CO1FBQ25DLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCwwQkFBMEI7UUFDeEIsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQVcsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFXLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBSUQ7OztPQUdHO0lBQ0gscUNBQXFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUlEOztPQUVHO0lBQ0gsMENBQTBDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUlEOztPQUVHO0lBQ0gsa0NBQWtDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUlELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBVyxFQUFFLGNBQXVCO1FBQ3BELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsSUFBSSxhQUFhLEdBQWMsRUFBRSxDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYztpQkFDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO29CQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7b0JBQ3JCLENBQUMsQ0FBQyxpQkFBaUI7aUJBQ3BCLENBQVksQ0FBQztZQUNoQixDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBcUIsQ0FBQztRQUNyRCxDQUFDO1FBRUQsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQ2pDLENBQUM7UUFDZixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBSVMsS0FBSyxDQUFDLG1CQUFtQixDQUNqQyxTQUF5QjtRQUU3QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixVQUdJLEVBQUU7UUFFVixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLFdBQVcsQ0FDZixVQXVCSSxFQUFFO1FBRVYsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FB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QUdHO0lBQ0gsNkNBQTZDO1FBQzNDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUlELEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFZO1FBQ2xELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQWE7UUFDcEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGNBQWM7UUFDdEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuaW1wb3J0IHsgQ29tbWl0RGF0YSwgSGVscGVycywgVHlwZU9mQ29tbWl0IH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGgsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VHaXQ8XG4gIFBST0pDRVQgZXh0ZW5kcyBCYXNlUHJvamVjdCA9IGFueSxcbj4gZXh0ZW5kcyBCYXNlRmVhdHVyZUZvclByb2plY3Qge1xuICBwcm9qZWN0OiBQUk9KQ0VUO1xuXG4gIHVuc3RhZ2VBbGxGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXZlcnRGaWxlQ2hhbmdlcyhmaWxlUmVsZXRpdmVQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBjbG9uZSh1cmw6IHN0cmluZywgZGVzdGluYXRpb25Gb2xkZXJOYW1lID0gJycsIGJyYW5jaE5hbWU/OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzdG9yZUxhc3RWZXJzaW9uKHJlbGF0aXZlRmlsZVBhdGg6IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YWdlQWxsRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3Rhc2gob3B0aW9ucz86IHsgb25seVN0YWdlZD86IGJvb2xlYW4gfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YXNoQXBwbHkoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZmV0Y2goYWxsID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldEZpbGVzKC4uLnJlbGF0aXZlUGF0aGVzOiBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0luc2lkZUdpdFJlcG8oKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzV2l0aG91dEdpdFJlcG9zaXRvcnkoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzR2l0Um9vdCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgb3JpZ2luVVJMKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNvbW1pdChjb21taXRNZXNzYWdlPzogc3RyaW5nKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGFsaWFzIHRvIHN0YWdlIGFsbCBhbmQgY29tbWl0XG4gICAqL1xuICBhZGRBbmRDb21taXQoY29tbWl0TWVzc2FnZTogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhZ2VBbGxBbmRDb21taXQoY29tbWl0TWVzc2FnZTogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcHVzaEN1cnJlbnRCcmFuY2gob3B0aW9ucz86IHtcbiAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgb3JpZ2luPzogc3RyaW5nO1xuICAgIGFza1RvUmV0cnk/OiBib29sZWFuO1xuICAgIGZvcmNlUHVzaE5vUXVlc3Rpb24/OiBib29sZWFuO1xuICB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGFsbE9yaWdpbnMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHVuY29tbWl0ZWRGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgdGhlcmVBcmVTb21lVW5jb21taXRlZENoYW5nZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRoZXJlQXJlU29tZVVuY29tbWl0ZWRDaGFuZ2VFeGNlcHQoZmlsZXNMaXN0OiBzdHJpbmdbXSA9IFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbWVsdEFjdGlvbkNvbW1pdHMoc29mdCA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgYXN5bmMgcHVsbEN1cnJlbnRCcmFuY2gob3B0aW9ucz86IHtcbiAgICBhc2tUb1JldHJ5PzogYm9vbGVhbjtcbiAgICBkZWZhdWx0SGFyZFJlc2V0Q29tbWl0cz86IG51bWJlcjtcbiAgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBjdXJyZW50QnJhbmNoTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgbGlzdE9mQ3VycmVudEdpdENoYW5nZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0QnJhbmNoZXNOYW1lc0J5KHBhdHRlcm46IHN0cmluZyB8IFJlZ0V4cCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc2V0U29mdEhFQUQoSEVBRCA9IDEpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldEhhcmQob3B0aW9ucz86IHsgSEVBRD86IG51bWJlciB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY291bnRDb21pdHMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgaGFzQW55Q29tbWl0cygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNJbk1lcmdlUHJvY2VzcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0RGF0ZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0SGFzaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0TWVzc2FnZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHBlbnVsdGltYXRlQ29tbWl0TWVzc2FnZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldENvbW1pdE1lc3NhZ2VCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDb21taXRNZXNzYWdlQnlIYXNoKGhhc2g6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldENvbW1pdEhhc2hCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwZW51bHRpbWF0ZUNvbW1pdEhhc2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tUYWdFeGlzdHModGFnOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjaGVja291dChcbiAgICBicmFuY2hOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNyZWF0ZUJyYW5jaElmTm90RXhpc3RzPzogYm9vbGVhbjtcbiAgICAgIGZldGNoQmVmb3JlQ2hlY2tvdXQ/OiBib29sZWFuO1xuICAgICAgc3dpdGNoQnJhbmNoV2hlbkV4aXN0cz86IGJvb2xlYW47XG4gICAgfSxcbiAgKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tvdXRGcm9tVG8oXG4gICAgY2hlY2tvdXRGcm9tQnJhbmNoOiBzdHJpbmcsXG4gICAgYnJhbmNoOiBzdHJpbmcsXG4gICAgb3JpZ2luID0gJ29yaWdpbicsXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBtYWpvclZlcnNpb24gZXhhbXBsZTogdjEsIHYyIGV0Yy5cbiAgICogQHJldHVybnMgdGFnIG5hbWVcbiAgICovXG4gIGxhc3RUYWdOYW1lRm9yTWFqb3JWZXJzaW9uKG1ham9yVmVyc2lvbikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGxhc3RUYWdIYXNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCByZW1vdGVPcmlnaW5VcmwoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxhc3RUYWdWZXJzaW9uTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgc3RhZ2VkRmlsZXMoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIGRvZXMgdGhpcyBtYWtlIGFueSBzZW5zZVxuICAgKi9cbiAgcmVuYW1lT3JpZ2luKG5ld05hbWVPclVscjogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQnkgZGVmYXVsdCBubyB0cmFuc2xhdGlvbiBvZiBjb21taXRcbiAgICovXG4gIHRyYW5zYWx0ZUdpdENvbW1pdEZyb21BcmdzKCkge1xuICAgIHJldHVybiB7IGZyb206IHZvaWQgMCBhcyBzdHJpbmcsIHRvOiB2b2lkIDAgYXMgc3RyaW5nIH07XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEJ5IGRlZnVsdCB0cnVlLi4gd2hlbiBjb21taXQgYnJhbmNoZXMgd2lsbCBub3QgZnVuY3Rpb24uXG4gICAqIChmYWxzZSBpcyBiZXR0ZXIgZm9yIHNpbXBsZSBwcm9qZWN0cylcbiAgICovXG4gIHVzZUdpdEJyYW5jaGVzV2hlbkNvbW1pdGluZ0FuZFB1c2hpbmcoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHVzZWZ1bGwgd2hlbiBwdXNoaW5nIGluIHByb2plY3Qgd2l0aCBjaGlsZHJlbnMgYXMgZ2l0IHJlcG9zXG4gICAqL1xuICBhdXRvbWF0aWNhbGx5QWRkQWxsQ2huYWdlc1doZW5QdXNoaW5nVG9HaXQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiB1c2VmdWxsIHdoZW4gcHVzaGluZyBpbiBwcm9qZWN0IHdpdGggY2hpbGRyZW5zIGFzIGdpdCByZXBvc1xuICAgKi9cbiAgdXNlR2l0QnJhbmNoZXNBc01ldGFkYXRhRm9yQ29tbWl0cygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG5cblxuICBhc3luYyBjbG9uZVRvKGN3ZDogc3RyaW5nLCBuZXdQcm9qZWN0TmFtZT86IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIG9ubHkgZm9yIHB1c2gvcHVsbCBwcm9jZXNzXG4gICAqXG4gICAqIFRoZXJlIGFyZSAyIHR5cGVzIG9mIHByb2plY3RzOlxuICAgKiAtIHdpdGggbGlua2VkLXByb2plY3RzLmpzb25cbiAgICogLSB3aXRoIGNoaWxkcmVuIGZyb20gZXh0ZXJuYWwgZm9sZGVyXG4gICAqXG4gICAqIHByb2plY3RzIHRoYXQgYXJlIGNoaWxkcmVuIG9mIHRoaXMgcHJvamVjdCAod2l0aCBpdHMgb3duIGdpdCByZXBvKVxuICAgKi9cbiAgZ2V0IGdpdENoaWxkcmVuKCkge1xuICAgIGxldCBjaGlsZHJlblJlcG9zOiBQUk9KQ0VUW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnByb2plY3QubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMubGVuZ3RoID4gMCkge1xuICAgICAgY2hpbGRyZW5SZXBvcyA9IHRoaXMucHJvamVjdC5saW5rZWRQcm9qZWN0cy5saW5rZWRQcm9qZWN0c1xuICAgICAgICAubWFwKGMgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LmxvY2F0aW9uLFxuICAgICAgICAgICAgYy5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgICAgICBdKSBhcyBQUk9KQ0VUO1xuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKGYgPT4gISFmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hpbGRyZW5SZXBvcyA9IHRoaXMucHJvamVjdC5jaGlsZHJlbiBhcyBQUk9KQ0VUW107XG4gICAgfVxuXG4gICAgY2hpbGRyZW5SZXBvcyA9IGNoaWxkcmVuUmVwb3MuZmlsdGVyKFxuICAgICAgZiA9PiBmLmdpdC5pc0luc2lkZUdpdFJlcG8gJiYgZi5naXQuaXNHaXRSb290LFxuICAgICkgYXMgUFJPSkNFVFtdO1xuICAgIHJldHVybiBjaGlsZHJlblJlcG9zO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBzZXRSZW1vdGVPcmlnaW5UeXBlKFxuICAgIHNldE9yaWdpbjogJ3NzaCcgfCAnaHR0cCcsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwdWxsUHJvY2VzcyhcbiAgICBvcHRpb25zOiB7XG4gICAgICBjbG9uZUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgICAgIHNldE9yaWdpbj86ICdzc2gnIHwgJ2h0dHAnO1xuICAgIH0gPSB7fSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHB1c2hQcm9jZXNzKFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGZvcmNlPzogYm9vbGVhbjtcbiAgICAgIHR5cGVvZkNvbW1pdD86IFR5cGVPZkNvbW1pdDtcbiAgICAgIGFza1RvQ29uZmlybVB1c2g/OiBib29sZWFuO1xuICAgICAgYXNrVG9Db25maXJtQ29tbWl0PzogYm9vbGVhbjtcbiAgICAgIHNraXBMaW50PzogYm9vbGVhbjtcbiAgICAgIGFza1RvQ29uZmlybUJyYW5jaENoYW5nZT86IGJvb2xlYW47XG4gICAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgICBhcmdzPzogc3RyaW5nW107XG4gICAgICBzZXRPcmlnaW4/OiAnc3NoJyB8ICdodHRwJztcbiAgICAgIGV4aXRDYWxsQmFjaz86ICgpID0+IHZvaWQ7XG4gICAgICBmb3JjZVB1c2hOb1F1ZXN0aW9uPzogYm9vbGVhbjtcbiAgICAgIG92ZXJyaWRlQ29tbWl0TWVzc2FnZT86IHN0cmluZztcbiAgICAgIGNvbW1pdE1lc3NhZ2VSZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICAvKipcbiAgICAgICAqIG9ubHkgbmVlZGVkIHdoZW4gcHVzaCBnaXRodWJcbiAgICAgICAqIGFuZCBJIGZvcmdvdCB0byBhZGQgbXkgdXNlcm5hbWUgYmVmb3JlIGlzc3VlXG4gICAgICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXJlcG8jMzQ0XG4gICAgICAgKiB0aGF0IHNob3VsZCBiZVxuICAgICAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS11c2VybmFtZS9teS1yZXBvIzM0NFxuICAgICAgICovXG4gICAgICBjdXJyZW50T3JpZ2luPzogc3RyaW5nO1xuICAgICAgc2tpcENoaWxkcmVuPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIF9iZWZvcmVBbnlBY3Rpb25PbkdpdFJvb3QoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIF9iZWZvcmVQdXNoUHJvY2Vzc0FjdGlvbigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2JlZm9yZVB1bGxQcm9jZXNzQWN0aW9uKGNsb25lQ2hpbGRyZW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2dldENvbW1pdE1lc3NhZ2UoXG4gICAgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQsXG4gICAgYXJnczogc3RyaW5nW10sXG4gICAgY29tbWl0TWVzc2FnZVJlcXVpcmVkPzogYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBvbmx5IG5lZWRlZCB3aGVuIHB1c2ggZ2l0aHViXG4gICAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXJlcG8jMzQ0XG4gICAgICogdGhhdCBzaG91bGQgYmVcbiAgICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAgICovXG4gICAgY3VycmVudE9yaWdpbj86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxDb21taXREYXRhPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgcHJldmVudCBhY2NpZGVudGFsIGJyYW5jaCBjaGFuZ2UgZm9yIHRhb24gcHJvamVjdHNcbiAgICogQHJldHVybnMgYnJhbmNoIG5hbWVcbiAgICovXG4gIGR1cmluZ1B1c2hXYXJuSWZQcm9qZWN0Tm90T25TcGVjeWZpY0RldkJyYW5jaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q2hhbmdlZEZpbGVzSW5Db21taXRCeUhhc2goaGFzaDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBwYXJhbSBpbmRleCAwIC0gbWVhbnMgbGFzdCBjb21taXRcbiAgICovXG4gIGFzeW5jIGdldENoYW5nZWRGaWxlc0luQ29tbWl0QnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2hhbmdlc1N1bW1hcnkoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtZ2l0LnRzIl19
|
|
927
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1naXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFZbkUsTUFBTSxPQUFPLE9BRVgsU0FBUSxxQkFBcUI7SUFHN0IsZUFBZTtRQUNqQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxpQkFBaUIsQ0FBQyxnQkFBd0I7UUFDNUMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUscUJBQXFCLEdBQUcsRUFBRSxFQUFFLFVBQW1CO1FBQzFFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxrQkFBa0IsQ0FBQyxnQkFBd0I7UUFDN0MsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsYUFBYTtRQUNmLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7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QUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUNqQyxDQUFDO1FBQ2YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUlTLEtBQUssQ0FBQyxtQkFBbUIsQ0FDakMsU0FBeUI7UUFFN0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQ2YsVUFHSSxFQUFFO1FBRVYsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBOEIsRUFBRTtRQUNwRCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztR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QyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQWE7UUFDcEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGNBQWM7UUFDdEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuaW1wb3J0IHsgICBDb21taXREYXRhLCAgIEhlbHBlcnMsICAgUHVzaFByb2Nlc3NPcHRpb25zLCAgIFR5cGVPZkNvbW1pdCwgICBVdGlsc1Rlcm1pbmFsLCB9IGZyb20gJy4uL2luZGV4JzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoLCBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuXG5cbmV4cG9ydCBjbGFzcyBCYXNlR2l0PFxuICBQUk9KQ0VUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcbiAgcHJvamVjdDogUFJPSkNFVDtcblxuICB1bnN0YWdlQWxsRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmV2ZXJ0RmlsZUNoYW5nZXMoZmlsZVJlbGV0aXZlUGF0aDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2xvbmUodXJsOiBzdHJpbmcsIGRlc3RpbmF0aW9uRm9sZGVyTmFtZSA9ICcnLCBicmFuY2hOYW1lPzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc3RvcmVMYXN0VmVyc2lvbihyZWxhdGl2ZUZpbGVQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFnZUFsbEZpbGVzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YXNoKG9wdGlvbnM/OiB7IG9ubHlTdGFnZWQ/OiBib29sZWFuIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFzaEFwcGx5KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGZldGNoKGFsbCA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzZXRGaWxlcyguLi5yZWxhdGl2ZVBhdGhlczogc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNJbnNpZGVHaXRSZXBvKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc1dpdGhvdXRHaXRSZXBvc2l0b3J5KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0dpdFJvb3QoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IG9yaWdpblVSTCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjb21taXQoY29tbWl0TWVzc2FnZT86IHN0cmluZyk6IHZvaWQge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBhbGlhcyB0byBzdGFnZSBhbGwgYW5kIGNvbW1pdFxuICAgKi9cbiAgYWRkQW5kQ29tbWl0KGNvbW1pdE1lc3NhZ2U6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHN0YWdlQWxsQW5kQ29tbWl0KGNvbW1pdE1lc3NhZ2U6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHB1c2hDdXJyZW50QnJhbmNoKG9wdGlvbnM/OiB7XG4gICAgZm9yY2U/OiBib29sZWFuO1xuICAgIG9yaWdpbj86IHN0cmluZztcbiAgICBhc2tUb1JldHJ5PzogYm9vbGVhbjtcbiAgICBmb3JjZVB1c2hOb1F1ZXN0aW9uPzogYm9vbGVhbjtcbiAgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBhbGxPcmlnaW5zKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCB1bmNvbW1pdGVkRmlsZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHRoZXJlQXJlU29tZVVuY29tbWl0ZWRDaGFuZ2UoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB0aGVyZUFyZVNvbWVVbmNvbW1pdGVkQ2hhbmdlRXhjZXB0KGZpbGVzTGlzdDogc3RyaW5nW10gPSBbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIG1lbHRBY3Rpb25Db21taXRzKCkge1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGFzeW5jIHB1bGxDdXJyZW50QnJhbmNoKG9wdGlvbnM/OiB7XG4gICAgYXNrVG9SZXRyeT86IGJvb2xlYW47XG4gICAgZGVmYXVsdEhhcmRSZXNldENvbW1pdHM/OiBudW1iZXI7XG4gIH0pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgY3VycmVudEJyYW5jaE5hbWUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpc3RPZkN1cnJlbnRHaXRDaGFuZ2VzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldEJyYW5jaGVzTmFtZXNCeShwYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldFNvZnRIRUFEKEhFQUQgPSAxKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVzZXRIYXJkKG9wdGlvbnM/OiB7IEhFQUQ/OiBudW1iZXIgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNvdW50Q29taXRzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGhhc0FueUNvbW1pdHMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzSW5NZXJnZVByb2Nlc3MoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdERhdGUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdEhhc2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbGFzdENvbW1pdE1lc3NhZ2UoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwZW51bHRpbWF0ZUNvbW1pdE1lc3NhZ2UoKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDb21taXRNZXNzYWdlQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0Q29tbWl0TWVzc2FnZUJ5SGFzaChoYXNoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDb21taXRIYXNoQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcGVudWx0aW1hdGVDb21taXRIYXNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNoZWNrVGFnRXhpc3RzKHRhZzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tvdXQoXG4gICAgYnJhbmNoTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBjcmVhdGVCcmFuY2hJZk5vdEV4aXN0cz86IGJvb2xlYW47XG4gICAgICBmZXRjaEJlZm9yZUNoZWNrb3V0PzogYm9vbGVhbjtcbiAgICAgIHN3aXRjaEJyYW5jaFdoZW5FeGlzdHM/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNoZWNrb3V0RnJvbVRvKFxuICAgIGNoZWNrb3V0RnJvbUJyYW5jaDogc3RyaW5nLFxuICAgIGJyYW5jaDogc3RyaW5nLFxuICAgIG9yaWdpbiA9ICdvcmlnaW4nLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gbWFqb3JWZXJzaW9uIGV4YW1wbGU6IHYxLCB2MiBldGMuXG4gICAqIEByZXR1cm5zIHRhZyBuYW1lXG4gICAqL1xuICBsYXN0VGFnTmFtZUZvck1ham9yVmVyc2lvbihtYWpvclZlcnNpb24pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0VGFnSGFzaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgcmVtb3RlT3JpZ2luVXJsKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBsYXN0VGFnVmVyc2lvbk5hbWUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHN0YWdlZEZpbGVzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVE9ETyBkb2VzIHRoaXMgbWFrZSBhbnkgc2Vuc2VcbiAgICovXG4gIHJlbmFtZU9yaWdpbihuZXdOYW1lT3JVbHI6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgbm8gdHJhbnNsYXRpb24gb2YgY29tbWl0XG4gICAqL1xuICB0cmFuc2FsdGVHaXRDb21taXRGcm9tQXJncygpIHtcbiAgICByZXR1cm4geyBmcm9tOiB2b2lkIDAgYXMgc3RyaW5nLCB0bzogdm9pZCAwIGFzIHN0cmluZyB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBCeSBkZWZ1bHQgdHJ1ZS4uIHdoZW4gY29tbWl0IGJyYW5jaGVzIHdpbGwgbm90IGZ1bmN0aW9uLlxuICAgKiAoZmFsc2UgaXMgYmV0dGVyIGZvciBzaW1wbGUgcHJvamVjdHMpXG4gICAqL1xuICB1c2VHaXRCcmFuY2hlc1doZW5Db21taXRpbmdBbmRQdXNoaW5nKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiB1c2VmdWxsIHdoZW4gcHVzaGluZyBpbiBwcm9qZWN0IHdpdGggY2hpbGRyZW5zIGFzIGdpdCByZXBvc1xuICAgKi9cbiAgYXV0b21hdGljYWxseUFkZEFsbENobmFnZXNXaGVuUHVzaGluZ1RvR2l0KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogdXNlZnVsbCB3aGVuIHB1c2hpbmcgaW4gcHJvamVjdCB3aXRoIGNoaWxkcmVucyBhcyBnaXQgcmVwb3NcbiAgICovXG4gIHVzZUdpdEJyYW5jaGVzQXNNZXRhZGF0YUZvckNvbW1pdHMoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2xvbmVUbyhjd2Q6IHN0cmluZywgbmV3UHJvamVjdE5hbWU/OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVGhpcyBpcyBvbmx5IGZvciBwdXNoL3B1bGwgcHJvY2Vzc1xuICAgKlxuICAgKiBUaGVyZSBhcmUgMiB0eXBlcyBvZiBwcm9qZWN0czpcbiAgICogLSB3aXRoIGxpbmtlZC1wcm9qZWN0cy5qc29uXG4gICAqIC0gd2l0aCBjaGlsZHJlbiBmcm9tIGV4dGVybmFsIGZvbGRlclxuICAgKlxuICAgKiBwcm9qZWN0cyB0aGF0IGFyZSBjaGlsZHJlbiBvZiB0aGlzIHByb2plY3QgKHdpdGggaXRzIG93biBnaXQgcmVwbylcbiAgICovXG4gIGdldCBnaXRDaGlsZHJlbigpIHtcbiAgICBsZXQgY2hpbGRyZW5SZXBvczogUFJPSkNFVFtdID0gW107XG5cbiAgICBpZiAodGhpcy5wcm9qZWN0LmxpbmtlZFByb2plY3RzLmxpbmtlZFByb2plY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNoaWxkcmVuUmVwb3MgPSB0aGlzLnByb2plY3QubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHNcbiAgICAgICAgLm1hcChjID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9qZWN0Lmlucy5Gcm9tKFtcbiAgICAgICAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgICAgICAgIGMucmVsYXRpdmVDbG9uZVBhdGgsXG4gICAgICAgICAgXSkgYXMgUFJPSkNFVDtcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihmID0+ICEhZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoaWxkcmVuUmVwb3MgPSB0aGlzLnByb2plY3QuY2hpbGRyZW4gYXMgUFJPSkNFVFtdO1xuICAgIH1cblxuICAgIGNoaWxkcmVuUmVwb3MgPSBjaGlsZHJlblJlcG9zLmZpbHRlcihcbiAgICAgIGYgPT4gZi5naXQuaXNJbnNpZGVHaXRSZXBvICYmIGYuZ2l0LmlzR2l0Um9vdCxcbiAgICApIGFzIFBST0pDRVRbXTtcbiAgICByZXR1cm4gY2hpbGRyZW5SZXBvcztcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgc2V0UmVtb3RlT3JpZ2luVHlwZShcbiAgICBzZXRPcmlnaW46ICdzc2gnIHwgJ2h0dHAnLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcHVsbFByb2Nlc3MoXG4gICAgb3B0aW9uczoge1xuICAgICAgY2xvbmVDaGlsZHJlbj86IGJvb2xlYW47XG4gICAgICBzZXRPcmlnaW4/OiAnc3NoJyB8ICdodHRwJztcbiAgICB9ID0ge30sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwdXNoUHJvY2VzcyhvcHRpb25zOiBQdXNoUHJvY2Vzc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBfYmVmb3JlQW55QWN0aW9uT25HaXRSb290KCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBfYmVmb3JlUHVzaFByb2Nlc3NBY3Rpb24oKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIF9iZWZvcmVQdWxsUHJvY2Vzc0FjdGlvbihjbG9uZUNoaWxkcmVuID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIF9nZXRDb21taXRNZXNzYWdlKFxuICAgIHR5cGVPZkNvbW1pdDogVHlwZU9mQ29tbWl0LFxuICAgIGFyZ3M6IHN0cmluZ1tdLFxuICAgIGNvbW1pdE1lc3NhZ2VSZXF1aXJlZD86IGJvb2xlYW4sXG4gICAgLyoqXG4gICAgICogb25seSBuZWVkZWQgd2hlbiBwdXNoIGdpdGh1YlxuICAgICAqIGFuZCBJIGZvcmdvdCB0byBhZGQgbXkgdXNlcm5hbWUgYmVmb3JlIGlzc3VlXG4gICAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS1yZXBvIzM0NFxuICAgICAqIHRoYXQgc2hvdWxkIGJlXG4gICAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS11c2VybmFtZS9teS1yZXBvIzM0NFxuICAgICAqL1xuICAgIGN1cnJlbnRPcmlnaW4/OiBzdHJpbmcsXG4gICk6IFByb21pc2U8Q29tbWl0RGF0YT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVGhpcyB3aWxsIHByZXZlbnQgYWNjaWRlbnRhbCBicmFuY2ggY2hhbmdlIGZvciB0YW9uIHByb2plY3RzXG4gICAqIEByZXR1cm5zIGJyYW5jaCBuYW1lXG4gICAqL1xuICBkdXJpbmdQdXNoV2FybklmUHJvamVjdE5vdE9uU3BlY3lmaWNEZXZCcmFuY2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldENoYW5nZWRGaWxlc0luQ29tbWl0QnlIYXNoKGhhc2g6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaW5kZXggMCAtIG1lYW5zIGxhc3QgY29tbWl0XG4gICAqL1xuICBhc3luYyBnZXRDaGFuZ2VkRmlsZXNJbkNvbW1pdEJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGNoYW5nZXNTdW1tYXJ5KCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLWdpdC50cyJdfQ==
|