@mikeyt23/node-cli-utils 2.0.14 → 2.0.15
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.
|
@@ -12,10 +12,16 @@ export declare function dotnetBuild(projectPath: string): Promise<void>;
|
|
|
12
12
|
* @param cwd Optionally run the command from another current working directory
|
|
13
13
|
*/
|
|
14
14
|
export declare function dotnetPublish(projectPath?: string, configuration?: string, outputDir?: string, cwd?: string): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Install or update a global dotnet tool.
|
|
17
|
+
* @param toolName The name of the dotnet global tool
|
|
18
|
+
*/
|
|
19
|
+
export declare function installOrUpdateDotnetGlobalTool(toolName: string): Promise<void>;
|
|
15
20
|
/**
|
|
16
21
|
* Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
|
|
17
22
|
*/
|
|
18
23
|
export declare function installOrUpdateDotnetEfTool(): Promise<void>;
|
|
24
|
+
export declare function installOrUpdateReportGeneratorTool(): Promise<void>;
|
|
19
25
|
/**
|
|
20
26
|
* Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
|
|
21
27
|
* - dotnet dev-certs https --clean
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;GAEG;AACH,wBAAsB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,iBAYrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAEhD;AAED,wBAAsB,kCAAkC,kBAEvD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
|
package/dist/cjs/dotnetUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configureDotnetDevCerts = exports.installOrUpdateDotnetEfTool = exports.dotnetPublish = exports.dotnetBuild = void 0;
|
|
3
|
+
exports.configureDotnetDevCerts = exports.installOrUpdateReportGeneratorTool = exports.installOrUpdateDotnetEfTool = exports.installOrUpdateDotnetGlobalTool = exports.dotnetPublish = exports.dotnetBuild = void 0;
|
|
4
4
|
const generalUtils_js_1 = require("./generalUtils.js");
|
|
5
5
|
/**
|
|
6
6
|
* Runs dotnet build on the specified project.
|
|
@@ -34,20 +34,35 @@ async function dotnetPublish(projectPath = './', configuration = 'Release', outp
|
|
|
34
34
|
}
|
|
35
35
|
exports.dotnetPublish = dotnetPublish;
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* Install or update a global dotnet tool.
|
|
38
|
+
* @param toolName The name of the dotnet global tool
|
|
38
39
|
*/
|
|
39
|
-
async function
|
|
40
|
-
|
|
40
|
+
async function installOrUpdateDotnetGlobalTool(toolName) {
|
|
41
|
+
if (!(await (0, generalUtils_js_1.which)('dotnet')).location) {
|
|
42
|
+
throw new Error('"dotnet" is not installed');
|
|
43
|
+
}
|
|
44
|
+
const installed = (await (0, generalUtils_js_1.which)(toolName)).location;
|
|
41
45
|
if (installed) {
|
|
42
|
-
(0, generalUtils_js_1.log)(
|
|
46
|
+
(0, generalUtils_js_1.log)(`${toolName} tool already installed, updating...`);
|
|
43
47
|
}
|
|
44
48
|
else {
|
|
45
|
-
(0, generalUtils_js_1.log)(
|
|
49
|
+
(0, generalUtils_js_1.log)(`${toolName} tool not installed, installing...`);
|
|
46
50
|
}
|
|
47
|
-
const args = ['tool', installed ? 'update' : 'install', '--global',
|
|
51
|
+
const args = ['tool', installed ? 'update' : 'install', '--global', toolName];
|
|
48
52
|
await (0, generalUtils_js_1.spawnAsync)('dotnet', args);
|
|
49
53
|
}
|
|
54
|
+
exports.installOrUpdateDotnetGlobalTool = installOrUpdateDotnetGlobalTool;
|
|
55
|
+
/**
|
|
56
|
+
* Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
|
|
57
|
+
*/
|
|
58
|
+
async function installOrUpdateDotnetEfTool() {
|
|
59
|
+
await installOrUpdateDotnetGlobalTool('dotnet-ef');
|
|
60
|
+
}
|
|
50
61
|
exports.installOrUpdateDotnetEfTool = installOrUpdateDotnetEfTool;
|
|
62
|
+
async function installOrUpdateReportGeneratorTool() {
|
|
63
|
+
await installOrUpdateDotnetGlobalTool('dotnet-reportgenerator-globaltool');
|
|
64
|
+
}
|
|
65
|
+
exports.installOrUpdateReportGeneratorTool = installOrUpdateReportGeneratorTool;
|
|
51
66
|
/**
|
|
52
67
|
* Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
|
|
53
68
|
* - dotnet dev-certs https --clean
|
|
@@ -58,4 +73,4 @@ async function configureDotnetDevCerts() {
|
|
|
58
73
|
await (0, generalUtils_js_1.spawnAsync)('dotnet', ['dev-certs', 'https', '-t']);
|
|
59
74
|
}
|
|
60
75
|
exports.configureDotnetDevCerts = configureDotnetDevCerts;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQWtHO0FBTWxHOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsV0FBVyxDQUFDLFdBQW1CO0lBQ25ELElBQUEsa0NBQWdCLEVBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFIRCxrQ0FHQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQUMsY0FBc0IsSUFBSSxFQUFFLGdCQUF3QixTQUFTLEVBQUUsWUFBb0IsU0FBUyxFQUFFLEdBQVk7SUFDNUksSUFBQSxrQ0FBZ0IsRUFBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsSUFBQSwrQkFBYSxFQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsSUFBQSxrQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FDN0I7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDM0UsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNuRCxJQUFBLHVCQUFLLEVBQUMsR0FBRyxZQUFZLEdBQUcsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUMxQyxNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQVpELHNDQVlDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLCtCQUErQixDQUFDLFFBQWdCO0lBQ3BFLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBQSx1QkFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtLQUM3QztJQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxJQUFBLHVCQUFLLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDbEQsSUFBSSxTQUFTLEVBQUU7UUFDYixJQUFBLHFCQUFHLEVBQUMsR0FBRyxRQUFRLHNDQUFzQyxDQUFDLENBQUE7S0FDdkQ7U0FBTTtRQUNMLElBQUEscUJBQUcsRUFBQyxHQUFHLFFBQVEsb0NBQW9DLENBQUMsQ0FBQTtLQUNyRDtJQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBWkQsMEVBWUM7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSwyQkFBMkI7SUFDL0MsTUFBTSwrQkFBK0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUNwRCxDQUFDO0FBRkQsa0VBRUM7QUFFTSxLQUFLLFVBQVUsa0NBQWtDO0lBQ3RELE1BQU0sK0JBQStCLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtBQUM1RSxDQUFDO0FBRkQsZ0ZBRUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsTUFBTSxJQUFBLDRCQUFVLEVBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFIRCwwREFHQyJ9
|
|
@@ -12,10 +12,16 @@ export declare function dotnetBuild(projectPath: string): Promise<void>;
|
|
|
12
12
|
* @param cwd Optionally run the command from another current working directory
|
|
13
13
|
*/
|
|
14
14
|
export declare function dotnetPublish(projectPath?: string, configuration?: string, outputDir?: string, cwd?: string): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Install or update a global dotnet tool.
|
|
17
|
+
* @param toolName The name of the dotnet global tool
|
|
18
|
+
*/
|
|
19
|
+
export declare function installOrUpdateDotnetGlobalTool(toolName: string): Promise<void>;
|
|
15
20
|
/**
|
|
16
21
|
* Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
|
|
17
22
|
*/
|
|
18
23
|
export declare function installOrUpdateDotnetEfTool(): Promise<void>;
|
|
24
|
+
export declare function installOrUpdateReportGeneratorTool(): Promise<void>;
|
|
19
25
|
/**
|
|
20
26
|
* Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
|
|
21
27
|
* - dotnet dev-certs https --clean
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;GAEG;AACH,wBAAsB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,iBAYrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAEhD;AAED,wBAAsB,kCAAkC,kBAEvD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
|
package/dist/esm/dotnetUtils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { log, requireString, requireValidPath, spawnAsync, trace,
|
|
1
|
+
import { log, requireString, requireValidPath, spawnAsync, trace, which } from './generalUtils.js';
|
|
2
2
|
/**
|
|
3
3
|
* Runs dotnet build on the specified project.
|
|
4
4
|
* @param projectPath Path to project file (like .csproj) or directory of project to build
|
|
@@ -29,19 +29,32 @@ export async function dotnetPublish(projectPath = './', configuration = 'Release
|
|
|
29
29
|
await spawnAsync('dotnet', args, { cwd: cwd });
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Install or update a global dotnet tool.
|
|
33
|
+
* @param toolName The name of the dotnet global tool
|
|
33
34
|
*/
|
|
34
|
-
export async function
|
|
35
|
-
|
|
35
|
+
export async function installOrUpdateDotnetGlobalTool(toolName) {
|
|
36
|
+
if (!(await which('dotnet')).location) {
|
|
37
|
+
throw new Error('"dotnet" is not installed');
|
|
38
|
+
}
|
|
39
|
+
const installed = (await which(toolName)).location;
|
|
36
40
|
if (installed) {
|
|
37
|
-
log(
|
|
41
|
+
log(`${toolName} tool already installed, updating...`);
|
|
38
42
|
}
|
|
39
43
|
else {
|
|
40
|
-
log(
|
|
44
|
+
log(`${toolName} tool not installed, installing...`);
|
|
41
45
|
}
|
|
42
|
-
const args = ['tool', installed ? 'update' : 'install', '--global',
|
|
46
|
+
const args = ['tool', installed ? 'update' : 'install', '--global', toolName];
|
|
43
47
|
await spawnAsync('dotnet', args);
|
|
44
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
|
|
51
|
+
*/
|
|
52
|
+
export async function installOrUpdateDotnetEfTool() {
|
|
53
|
+
await installOrUpdateDotnetGlobalTool('dotnet-ef');
|
|
54
|
+
}
|
|
55
|
+
export async function installOrUpdateReportGeneratorTool() {
|
|
56
|
+
await installOrUpdateDotnetGlobalTool('dotnet-reportgenerator-globaltool');
|
|
57
|
+
}
|
|
45
58
|
/**
|
|
46
59
|
* Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
|
|
47
60
|
* - dotnet dev-certs https --clean
|
|
@@ -51,4 +64,4 @@ export async function configureDotnetDevCerts() {
|
|
|
51
64
|
await spawnAsync('dotnet', ['dev-certs', 'https', '--clean']);
|
|
52
65
|
await spawnAsync('dotnet', ['dev-certs', 'https', '-t']);
|
|
53
66
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQU1sRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDbkQsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxjQUFzQixJQUFJLEVBQUUsZ0JBQXdCLFNBQVMsRUFBRSxZQUFvQixTQUFTLEVBQUUsR0FBWTtJQUM1SSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxhQUFhLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBQzdCO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzNFLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7SUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDbkQsS0FBSyxDQUFDLEdBQUcsWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDMUMsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ2hELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUFDLFFBQWdCO0lBQ3BFLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtLQUM3QztJQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDbEQsSUFBSSxTQUFTLEVBQUU7UUFDYixHQUFHLENBQUMsR0FBRyxRQUFRLHNDQUFzQyxDQUFDLENBQUE7S0FDdkQ7U0FBTTtRQUNMLEdBQUcsQ0FBQyxHQUFHLFFBQVEsb0NBQW9DLENBQUMsQ0FBQTtLQUNyRDtJQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQjtJQUMvQyxNQUFNLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGtDQUFrQztJQUN0RCxNQUFNLCtCQUErQixDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDNUUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUMifQ==
|