projen 0.103.22 → 0.103.24
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/.jsii +347 -5
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/internal.d.ts +1 -0
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/awscdk/private/feature-flags-v2.const.d.ts +2 -1
- package/lib/awscdk/private/feature-flags-v2.const.js +4 -3
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +4 -4
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/cdktn/cdktn-app-ts.js +1 -1
- package/lib/cdktn/cdktn-config.js +1 -1
- package/lib/cdktn/cdktn-construct.js +1 -1
- package/lib/cdktn/cdktn-deps.js +1 -1
- package/lib/cdktn/cdktn-tasks.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/component.js +2 -2
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/actions.const.d.ts +5 -2
- package/lib/github/actions.const.js +11 -6
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +3 -3
- package/lib/github/github-credentials.js +3 -3
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/index.d.ts +1 -0
- package/lib/github/index.js +2 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +3 -3
- package/lib/github/pull-request-lint.js +4 -4
- package/lib/github/stale.js +3 -3
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +4 -4
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +5 -5
- package/lib/github/workflows.js +7 -7
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-config-file.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +8 -8
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/polaris/coverity-go.js +1 -1
- package/lib/polaris/coverity-java.js +1 -1
- package/lib/polaris/coverity-javascript.js +1 -1
- package/lib/polaris/coverity.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/properties-file.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/bump-version.d.ts +1 -1
- package/lib/release/bump-version.js +1 -1
- package/lib/release/commit-tag-version.js +2 -2
- package/lib/release/publisher.js +4 -4
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +3 -3
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/sonarqube/javascript.js +1 -1
- package/lib/sonarqube/rust.js +1 -1
- package/lib/sonarqube/sonarqube.js +1 -1
- package/lib/sonarqube/typescript.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util/exec.js +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +4 -4
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/yaml/browser/dist/nodes/Alias.js +25 -23
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/yaml/dist/nodes/Alias.js +25 -23
- package/node_modules/yaml/package.json +1 -1
- package/package.json +3 -3
package/lib/license.js
CHANGED
|
@@ -38,7 +38,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const file_1 = require("./file");
|
|
40
40
|
class License extends file_1.FileBase {
|
|
41
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.License", version: "0.103.
|
|
41
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.License", version: "0.103.24" };
|
|
42
42
|
text;
|
|
43
43
|
constructor(project, options) {
|
|
44
44
|
super(project, "LICENSE", {
|
package/lib/logger.js
CHANGED
|
@@ -15,7 +15,7 @@ const constructs_1 = require("./util/constructs");
|
|
|
15
15
|
* Project-level logging utilities.
|
|
16
16
|
*/
|
|
17
17
|
class Logger extends component_1.Component {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Logger", version: "0.103.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Logger", version: "0.103.24" };
|
|
19
19
|
level;
|
|
20
20
|
usePrefix;
|
|
21
21
|
constructor(scope, options = {}) {
|
package/lib/makefile.js
CHANGED
|
@@ -7,7 +7,7 @@ const file_1 = require("./file");
|
|
|
7
7
|
* Minimal Makefile.
|
|
8
8
|
*/
|
|
9
9
|
class Makefile extends file_1.FileBase {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Makefile", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Makefile", version: "0.103.24" };
|
|
11
11
|
/**
|
|
12
12
|
* List of rule definitions.
|
|
13
13
|
*/
|
package/lib/object-file.js
CHANGED
|
@@ -9,7 +9,7 @@ const util_1 = require("./util");
|
|
|
9
9
|
* Represents an Object file.
|
|
10
10
|
*/
|
|
11
11
|
class ObjectFile extends file_1.FileBase {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.103.24" };
|
|
13
13
|
/**
|
|
14
14
|
* The output object. This object can be mutated until the project is
|
|
15
15
|
* synthesized.
|
|
@@ -25,7 +25,7 @@ const util_1 = require("../util");
|
|
|
25
25
|
* });
|
|
26
26
|
*/
|
|
27
27
|
class PolarisGoCoverity extends coverity_1.PolarisCoverity {
|
|
28
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisGoCoverity", version: "0.103.
|
|
28
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisGoCoverity", version: "0.103.24" };
|
|
29
29
|
constructor(project, options) {
|
|
30
30
|
super(project, (0, util_1.deepMerge)([
|
|
31
31
|
{
|
|
@@ -26,7 +26,7 @@ const util_1 = require("../util");
|
|
|
26
26
|
* });
|
|
27
27
|
*/
|
|
28
28
|
class PolarisJavaCoverity extends coverity_1.PolarisCoverity {
|
|
29
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisJavaCoverity", version: "0.103.
|
|
29
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisJavaCoverity", version: "0.103.24" };
|
|
30
30
|
constructor(project, options) {
|
|
31
31
|
super(project, (0, util_1.deepMerge)([
|
|
32
32
|
{
|
|
@@ -25,7 +25,7 @@ const util_1 = require("../util");
|
|
|
25
25
|
* });
|
|
26
26
|
*/
|
|
27
27
|
class PolarisJavascriptCoverity extends coverity_1.PolarisCoverity {
|
|
28
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisJavascriptCoverity", version: "0.103.
|
|
28
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisJavascriptCoverity", version: "0.103.24" };
|
|
29
29
|
constructor(project, options) {
|
|
30
30
|
super(project, (0, util_1.deepMerge)([
|
|
31
31
|
{
|
package/lib/polaris/coverity.js
CHANGED
|
@@ -13,7 +13,7 @@ const coverity_config_1 = require("./coverity-config");
|
|
|
13
13
|
* @see https://docs.blackduck.com/r/cov_polaris/latest/coverity-on-polaris/configuration-file-schema.html
|
|
14
14
|
*/
|
|
15
15
|
class PolarisCoverity extends component_1.Component {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisCoverity", version: "0.103.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.polaris.PolarisCoverity", version: "0.103.24" };
|
|
17
17
|
/**
|
|
18
18
|
* The YAML file for the Coverity on Polaris configuration.
|
|
19
19
|
*/
|
package/lib/project-build.js
CHANGED
|
@@ -15,7 +15,7 @@ const component_1 = require("./component");
|
|
|
15
15
|
* 6. package
|
|
16
16
|
*/
|
|
17
17
|
class ProjectBuild extends component_1.Component {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.103.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.103.24" };
|
|
19
19
|
/**
|
|
20
20
|
* The task responsible for a full release build.
|
|
21
21
|
*/
|
package/lib/project-tree.js
CHANGED
|
@@ -17,7 +17,7 @@ const json_1 = require("./json");
|
|
|
17
17
|
* @stability experimental
|
|
18
18
|
*/
|
|
19
19
|
class ProjectTree extends component_1.Component {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.103.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.103.24" };
|
|
21
21
|
file;
|
|
22
22
|
constructor(project) {
|
|
23
23
|
super(project, new.target.name);
|
package/lib/project.js
CHANGED
|
@@ -65,7 +65,7 @@ const DEFAULT_OUTDIR = ".";
|
|
|
65
65
|
* Base project
|
|
66
66
|
*/
|
|
67
67
|
class Project extends constructs_1.Construct {
|
|
68
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Project", version: "0.103.
|
|
68
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Project", version: "0.103.24" };
|
|
69
69
|
/**
|
|
70
70
|
* The name of the default task (the task executed when `projen` is run without arguments). Normally
|
|
71
71
|
* this task should synthesize the project files.
|
package/lib/projects.js
CHANGED
|
@@ -44,7 +44,7 @@ const option_hints_1 = require("./option-hints");
|
|
|
44
44
|
* Programmatic API for projen.
|
|
45
45
|
*/
|
|
46
46
|
class Projects {
|
|
47
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Projects", version: "0.103.
|
|
47
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Projects", version: "0.103.24" };
|
|
48
48
|
/**
|
|
49
49
|
* Creates a new project with defaults.
|
|
50
50
|
*
|
package/lib/projenrc-json.js
CHANGED
|
@@ -9,7 +9,7 @@ const projenrc_1 = require("./projenrc");
|
|
|
9
9
|
* Sets up a project to use JSON for projenrc.
|
|
10
10
|
*/
|
|
11
11
|
class ProjenrcJson extends projenrc_1.ProjenrcFile {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcJson", version: "0.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcJson", version: "0.103.24" };
|
|
13
13
|
filePath;
|
|
14
14
|
constructor(project, options = {}) {
|
|
15
15
|
super(project);
|
package/lib/projenrc.js
CHANGED
|
@@ -7,7 +7,7 @@ const component_1 = require("./component");
|
|
|
7
7
|
* A component representing the projen runtime configuration
|
|
8
8
|
*/
|
|
9
9
|
class ProjenrcFile extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcFile", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjenrcFile", version: "0.103.24" };
|
|
11
11
|
/**
|
|
12
12
|
* Returns the `Projenrc` instance associated with a project or `undefined` if
|
|
13
13
|
* there is no Projenrc.
|
package/lib/properties-file.js
CHANGED
|
@@ -35,7 +35,7 @@ const util_1 = require("./util");
|
|
|
35
35
|
* // sonar.sources=src
|
|
36
36
|
*/
|
|
37
37
|
class PropertiesFile extends object_file_1.ObjectFile {
|
|
38
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.PropertiesFile", version: "0.103.
|
|
38
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.PropertiesFile", version: "0.103.24" };
|
|
39
39
|
comment;
|
|
40
40
|
constructor(scope, filePath, options) {
|
|
41
41
|
super(scope, filePath, options);
|
package/lib/python/pip.js
CHANGED
|
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
9
9
|
* Manages dependencies using a requirements.txt file and the pip CLI tool.
|
|
10
10
|
*/
|
|
11
11
|
class Pip extends component_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pip", version: "0.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pip", version: "0.103.24" };
|
|
13
13
|
installCiTask;
|
|
14
14
|
constructor(project, _options = {}) {
|
|
15
15
|
super(project);
|
package/lib/python/poetry.js
CHANGED
|
@@ -47,7 +47,7 @@ const exec_1 = require("../util/exec");
|
|
|
47
47
|
* poetry CLI tool.
|
|
48
48
|
*/
|
|
49
49
|
class Poetry extends component_1.Component {
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Poetry", version: "0.103.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Poetry", version: "0.103.24" };
|
|
51
51
|
/**
|
|
52
52
|
* Task for updating the lockfile and installing project dependencies.
|
|
53
53
|
*/
|
|
@@ -253,7 +253,7 @@ exports.Poetry = Poetry;
|
|
|
253
253
|
* @see https://python-poetry.org/docs/pyproject/
|
|
254
254
|
*/
|
|
255
255
|
class PoetryPyproject extends component_1.Component {
|
|
256
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.103.
|
|
256
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PoetryPyproject", version: "0.103.24" };
|
|
257
257
|
file;
|
|
258
258
|
constructor(scope, options) {
|
|
259
259
|
super(scope);
|
package/lib/python/projenrc.js
CHANGED
|
@@ -17,7 +17,7 @@ const projenrc_1 = require("../projenrc");
|
|
|
17
17
|
* `synth` task which will run `.projenrc.py`.
|
|
18
18
|
*/
|
|
19
19
|
class Projenrc extends projenrc_1.ProjenrcFile {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Projenrc", version: "0.103.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Projenrc", version: "0.103.24" };
|
|
21
21
|
/**
|
|
22
22
|
* The name of the projenrc file.
|
|
23
23
|
*/
|
|
@@ -10,7 +10,7 @@ const pyproject_toml_1 = require("./pyproject-toml");
|
|
|
10
10
|
* @see https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
|
|
11
11
|
*/
|
|
12
12
|
class PyprojectTomlFile extends toml_1.TomlFile {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PyprojectTomlFile", version: "0.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PyprojectTomlFile", version: "0.103.24" };
|
|
14
14
|
constructor(scope, config) {
|
|
15
15
|
super(scope, "pyproject.toml", {
|
|
16
16
|
omitEmpty: false,
|
|
@@ -7,7 +7,7 @@ const __1 = require("..");
|
|
|
7
7
|
* Python test code sample.
|
|
8
8
|
*/
|
|
9
9
|
class PytestSample extends __1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PytestSample", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PytestSample", version: "0.103.24" };
|
|
11
11
|
constructor(project, options) {
|
|
12
12
|
super(project);
|
|
13
13
|
new __1.SampleDir(project, options.testdir, {
|
package/lib/python/pytest.js
CHANGED
|
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const component_1 = require("../component");
|
|
6
6
|
const dependencies_1 = require("../dependencies");
|
|
7
7
|
class Pytest extends component_1.Component {
|
|
8
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.103.
|
|
8
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.103.24" };
|
|
9
9
|
testMatch;
|
|
10
10
|
constructor(project, options = {}) {
|
|
11
11
|
super(project);
|
|
@@ -23,7 +23,7 @@ const PYTHON_PROJECT_NAME_REGEX = /^[A-Za-z0-9-_\.]+$/;
|
|
|
23
23
|
* @pjid python
|
|
24
24
|
*/
|
|
25
25
|
class PythonProject extends github_1.GitHubProject {
|
|
26
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonProject", version: "0.103.
|
|
26
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonProject", version: "0.103.24" };
|
|
27
27
|
/**
|
|
28
28
|
* Python module name (the project name, with any hyphens or periods replaced
|
|
29
29
|
* with underscores).
|
|
@@ -8,7 +8,7 @@ const sample_file_1 = require("../sample-file");
|
|
|
8
8
|
* Python code sample.
|
|
9
9
|
*/
|
|
10
10
|
class PythonSample extends component_1.Component {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonSample", version: "0.103.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.PythonSample", version: "0.103.24" };
|
|
12
12
|
constructor(project, options) {
|
|
13
13
|
super(project);
|
|
14
14
|
new sample_file_1.SampleDir(project, options.dir, {
|
|
@@ -11,7 +11,7 @@ const semver_1 = require("../util/semver");
|
|
|
11
11
|
* @see https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
|
|
12
12
|
*/
|
|
13
13
|
class RequirementsFile extends file_1.FileBase {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.RequirementsFile", version: "0.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.RequirementsFile", version: "0.103.24" };
|
|
15
15
|
packages = new Array();
|
|
16
16
|
packageProvider;
|
|
17
17
|
constructor(project, filePath, options) {
|
package/lib/python/setuppy.js
CHANGED
|
@@ -7,7 +7,7 @@ const file_1 = require("../file");
|
|
|
7
7
|
* Python packaging script where package metadata can be placed.
|
|
8
8
|
*/
|
|
9
9
|
class SetupPy extends file_1.FileBase {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.SetupPy", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.SetupPy", version: "0.103.24" };
|
|
11
11
|
setupConfig;
|
|
12
12
|
constructor(project, options) {
|
|
13
13
|
super(project, "setup.py");
|
package/lib/python/setuptools.js
CHANGED
|
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
9
9
|
* Manages packaging through setuptools with a setup.py script.
|
|
10
10
|
*/
|
|
11
11
|
class Setuptools extends component_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Setuptools", version: "0.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Setuptools", version: "0.103.24" };
|
|
13
13
|
publishTask;
|
|
14
14
|
/**
|
|
15
15
|
* A task that uploads the package to the Test PyPI repository.
|
package/lib/python/uv-config.js
CHANGED
|
@@ -220,7 +220,7 @@ function toJson_StaticMetadata(obj) {
|
|
|
220
220
|
*/
|
|
221
221
|
class ExcludeNewerOverride {
|
|
222
222
|
value;
|
|
223
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.uvConfig.ExcludeNewerOverride", version: "0.103.
|
|
223
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.uvConfig.ExcludeNewerOverride", version: "0.103.24" };
|
|
224
224
|
static fromBoolean(value) {
|
|
225
225
|
return new ExcludeNewerOverride(value);
|
|
226
226
|
}
|
package/lib/python/uv.js
CHANGED
|
@@ -11,7 +11,7 @@ const exec_1 = require("../util/exec");
|
|
|
11
11
|
* Manage project dependencies, virtual environments, and packaging through uv.
|
|
12
12
|
*/
|
|
13
13
|
class Uv extends component_1.Component {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Uv", version: "0.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Uv", version: "0.103.24" };
|
|
15
15
|
/**
|
|
16
16
|
* The `pyproject.toml` file
|
|
17
17
|
*/
|
package/lib/python/venv.js
CHANGED
|
@@ -43,7 +43,7 @@ const exec_1 = require("../util/exec");
|
|
|
43
43
|
* Manages a virtual environment through the Python venv module.
|
|
44
44
|
*/
|
|
45
45
|
class Venv extends component_1.Component {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Venv", version: "0.103.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Venv", version: "0.103.24" };
|
|
47
47
|
/**
|
|
48
48
|
* Name of directory to store the environment in
|
|
49
49
|
*/
|
package/lib/readme.js
CHANGED
|
@@ -10,7 +10,7 @@ const sample_file_1 = require("./sample-file");
|
|
|
10
10
|
* @param text - The initial contents of the README.md file. Defaults to '# replace this'
|
|
11
11
|
*/
|
|
12
12
|
class SampleReadme extends sample_file_1.SampleFile {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.103.24" };
|
|
14
14
|
constructor(project, props) {
|
|
15
15
|
super(project, props?.filename ?? "README.md", {
|
|
16
16
|
contents: props?.contents ?? "# replace this",
|
|
@@ -82,7 +82,7 @@ export interface BumpOptions {
|
|
|
82
82
|
*
|
|
83
83
|
* This can be any compatible package version, including the deprecated `standard-version@9`.
|
|
84
84
|
*
|
|
85
|
-
* @default "commit-and-tag-version@
|
|
85
|
+
* @default "commit-and-tag-version@13"
|
|
86
86
|
*/
|
|
87
87
|
readonly bumpPackage?: string;
|
|
88
88
|
/**
|
|
@@ -259,4 +259,4 @@ function determineLatestTag(options) {
|
|
|
259
259
|
}
|
|
260
260
|
return { latestVersion, latestTag, isFirstRelease };
|
|
261
261
|
}
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0pBLDRDQTZDQztBQU1ELGdEQXlDQztBQU1ELDRDQW9GQztBQXhVRCwyQkFBZ0Q7QUFDaEQsK0JBQXFDO0FBRXJDLG1DQUFpQztBQUNqQyxvREFBc0M7QUFFdEMsMkNBQTRFO0FBQzVFLDZEQUEyRDtBQUMzRCx1Q0FBbUM7QUFzSW5DOzs7R0FHRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsR0FBVyxFQUNYLE9BT0M7SUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbkMsSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDakMsR0FBRztRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7S0FDaEMsQ0FBQyxDQUFDO0lBRUgsNEVBQTRFO0lBQzVFLHFDQUFxQztJQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFB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SSxDQUFDLElBQUksQ0FBQztRQUMxRCxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2hFLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDOUIsSUFBSSxNQUFNLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9DLGFBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLGFBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMsIGV4aXN0c1N5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiY29udmVudGlvbmFsLWNoYW5nZWxvZy1jb25maWctc3BlY1wiO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB0eXBlIHsgQnVtcFR5cGUgfSBmcm9tIFwiLi9idW1wLXR5cGVcIjtcbmltcG9ydCB7IHBlcmZvcm1CdW1wLCByZWxhdGl2ZUJ1bXBUeXBlLCByZW5kZXJCdW1wVHlwZSB9IGZyb20gXCIuL2J1bXAtdHlwZVwiO1xuaW1wb3J0IHsgQ29tbWl0QW5kVGFnVmVyc2lvbiB9IGZyb20gXCIuL2NvbW1pdC10YWctdmVyc2lvblwiO1xuaW1wb3J0IHsgZ2l0IH0gZnJvbSBcIi4uL3V0aWwvZXhlY1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgLmpzb24gZmlsZSB0byBzZXQgYHZlcnNpb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbkZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNoYW5nZWxvZyBmaWxlIHRvIGdlbmVyYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlbG9nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSBhIHByZS1yZWxlYXNlIHN1ZmZpeC5cbiAgICogQGRlZmF1bHQgLSBub3JtYWwgdmVyc2lvbmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbWFqb3IgdmVyc2lvbiBsaW5lLiBUaGlzIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBsYXRlc3QgdmVyc2lvblxuICAgKiBhbmQgYWxzbyBlbmZvcmNlIHRoYXQgbmV3IG1ham9yIHZlcnNpb25zIGFyZSBub3QgcmVsZWFzZWQgYWNjaWRlbnRhbGx5LlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFueSB2ZXJzaW9uIGlzIHN1cHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBtaW5pbWFsIG1ham9yIHZlcnNpb24uIFRoaXMgaXMgdXNlZCBpZiB5b3Ugd2FudCB0byBzdGFydCB3aXRoXG4gICAqIGEgc3BlY2lmaWMgbWFqb3IgdmVyc2lvbiwgYW5kIGluY3JlbWVudCBmcm9tIHRoZXJlIG9uLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gc2V0IHRvIDEsIGFzIGJyZWFraW5nIGNoYW5nZXMgYmVmb3JlIHRoZSAxLnggbWFqb3JcbiAgICogcmVsZWFzZSBhcmUgbm90IGluY3JlbWVudGluZyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIuXG4gICAqXG4gICAqIENhbiBub3QgYmUgc2V0IHRvZ2V0aGVyIHdpdGggYG1ham9yVmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbWluaW11bSB2ZXJzaW9uIGlzIGJlaW5nIGVuZm9yY2VkXG4gICAqL1xuICByZWFkb25seSBtaW5NYWpvclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIG1pbm9yIHZlcnNpb24gbGluZS4gVGhpcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgbGF0ZXN0IHZlcnNpb25cbiAgICogYW5kIGFsc28gZW5mb3JjZSB0aGF0IG5ldyBtaW5vciB2ZXJzaW9ucyBhcmUgbm90IHJlbGVhc2VkIGFjY2lkZW50YWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbnkgdmVyc2lvbiBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbm9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBmaWxlIHdoaWNoIHdpbGwgaW5jbHVkZSB0aGUgb3V0cHV0IHZlcnNpb24gbnVtYmVyIChhIHRleHQgZmlsZSkuXG4gICAqXG4gICAqIFJlbGF0aXZlIHRvIGN3ZC5cbiAgICpcbiAgICogQGV4YW1wbGUgXCIudmVyc2lvbi50eHRcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcEZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUgd2hpY2ggd2lsbCBpbmNsdWRlIHRoZSByZWxlYXNlIHRhZyAoYSB0ZXh0IGZpbGUpLlxuICAgKlxuICAgKiBSZWxhdGl2ZSB0byBjd2QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLnJlbGVhc2V0YWcudHh0XCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUYWdGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggYXBwbGllZCB0byByZWxlYXNlIHRhZ3MuIEJ1bXBzIHdpbGwgYmUgbWFkZSBiYXNlZCBvbiB0aGUgbGF0ZXN0XG4gICAqIHZlcnNpb24gZm91bmQgd2l0aCB0aGlzIHByZWZpeC5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB2YWx1ZXMgdGhhdCB3b3VsZCBhcHBlbmQgdG8gdmVyc2lvbnJjIGZpbGUgb3Igb3ZlcndyaXRlIHZhbHVlc1xuICAgKiBjb21pbmcgdG8gdGhhdCBmcm9tIGRlZmF1bHQgb25lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IENvbmZpZztcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHRvIGxpc3QgYWxsIHJlbGVhc2UgY29tbWl0cyBzaW5jZSB0aGUgbGF0ZXN0IHRhZy5cbiAgICpcbiAgICogQSBuZXcgcmVsZWFzZSB3aWxsIGJlIGluaXRpYXRlZCwgaWYgdGhlIG51bWJlciBvZiByZXR1cm5lZCBjb21taXRzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLlxuICAgKlxuICAgKiBgJExBVEVTVF9UQUdgIGlzIGF2YWlsYWJsZSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSAoc2V0IHRvIHRoZSBhY3R1YWwgbGF0ZXN0IHRhZyBmb3IgdGhlIGdpdmVuIHByZWZpeCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZ2l0IGxvZyAtLW9uZWxpbmUgJExBVEVTVF9UQUcuLkhFQURcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgY29tcGF0aWJsZSBwYWNrYWdlIHVzZWQgdG8gYnVtcCB0aGUgcGFja2FnZSB2ZXJzaW9uLCBhcyBhIGRlcGVuZGVuY3kgc3RyaW5nLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSBhbnkgY29tcGF0aWJsZSBwYWNrYWdlIHZlcnNpb24sIGluY2x1ZGluZyB0aGUgZGVwcmVjYXRlZCBgc3RhbmRhcmQtdmVyc2lvbkA5YC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uQDEyXCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1bXBQYWNrYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICpcbiAgICogVGhlIGNvbW1hbmQgc2hvdWxkIHByaW50IG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGBzdGRvdXRgOlxuICAgKlxuICAgKiAtIE5vdGhpbmc6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiBjb21taXQgaGlzdG9yeS5cbiAgICogLSBgeC55LnpgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGB4LnkuemAuXG4gICAqIC0gYG1ham9yfG1pbm9yfHBhdGNoYDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlclxuICAgKiAgIHdpdGggdGhlIGluZGljYXRlZCBjb21wb25lbnQgYnVtcGVkLlxuICAgKlxuICAgKiBUaGlzIHNldHRpbmcgY2Fubm90IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gOyB0aGUgaW52b2tlZFxuICAgKiBzY3JpcHQgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGUgZWZmZWN0cyBvZiBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgY29tbWl0IGhpc3RvcnkgYW5kIHByb2plY3Qgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGV4dCByZXNvbHZlZCBieSB7QGxpbmsgcmVzb2x2ZUxhdGVzdFRhZ30gYW5kIGNvbnN1bWVkIGJ5IHRoZSBsYXRlciBidW1wIHBoYXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW1wQ29udGV4dCB7XG4gIHJlYWRvbmx5IGxhdGVzdFZlcnNpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbGF0ZXN0VGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzRmlyc3RSZWxlYXNlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBoYXNlIDE6IHJlc29sdmUgdGhlIGxhdGVzdCB0YWcvdmVyc2lvbiBhbmQgc2VlZCB0aGUgdmVyc2lvbiBmaWxlIChzbyB0aGVcbiAqIGxhdGVyIHBoYXNlcyBjYW4gcmVhZCB0aGUgY3VycmVudCB2ZXJzaW9uIGJhY2sgZnJvbSBpdCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlTGF0ZXN0VGFnKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICAgIG1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgICBtaW5vclZlcnNpb24/OiBudW1iZXI7XG4gICAgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAgIHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIH0sXG4pOiBQcm9taXNlPEJ1bXBDb250ZXh0PiB7XG4gIGNvbnN0IG1ham9yID0gb3B0aW9ucy5tYWpvclZlcnNpb247XG4gIGNvbnN0IG1pbm9yID0gb3B0aW9ucy5taW5vclZlcnNpb247XG4gIGlmIChtYWpvciAmJiBvcHRpb25zLm1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG1ham9yVmVyc2lvbiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICYmICFtYWpvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWlub3JWZXJzaW9uIGFuZCBtYWpvclZlcnNpb24gbXVzdCBiZSB1c2VkIHRvZ2V0aGVyLmApO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSk7XG5cbiAgY29uc3QgY29udGV4dCA9IGRldGVybWluZUxhdGVzdFRhZyh7XG4gICAgY3dkLFxuICAgIG1ham9yLFxuICAgIG1pbm9yLFxuICAgIHByZXJlbGVhc2U6IG9wdGlvbnMucHJlcmVsZWFzZSxcbiAgICBwcmVmaXg6IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCIsXG4gIH0pO1xuXG4gIC8vIFdyaXRlIHRoZSBjdXJyZW50IHZlcnNpb24gaW50byB0aGUgdmVyc2lvbiBmaWxlIHNvIHRoYXQgQ0FUViBrbm93cyBpdCBhbmRcbiAgLy8gdGhlIGxhdGVyIHBoYXNlcyBjYW4gcmVhZCBpdCBiYWNrLlxuICBjb25zdCB7IGNvbnRlbnRzLCBuZXdsaW5lIH0gPSBhd2FpdCB0cnlSZWFkVmVyc2lvbkZpbGUodmVyc2lvbkZpbGUpO1xuICBjb250ZW50cy52ZXJzaW9uID0gY29udGV4dC5sYXRlc3RWZXJzaW9uO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYFVwZGF0ZSAke3ZlcnNpb25GaWxlfSB0byByZXNvbHZlZCB2ZXJzaW9uOiAke2NvbnRleHQubGF0ZXN0VmVyc2lvbn1gLFxuICApO1xuICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgdmVyc2lvbkZpbGUsXG4gICAgSlNPTi5zdHJpbmdpZnkoY29udGVudHMsIHVuZGVmaW5lZCwgMikgKyAobmV3bGluZSA/IFwiXFxuXCIgOiBcIlwiKSxcbiAgKTtcblxuICByZXR1cm4gY29udGV4dDtcbn1cblxuLyoqXG4gKiBQaGFzZSAyOiBkZWNpZGUgdGhlIGJ1bXAgZnJvbSB0aGUgY29tbWl0IGhpc3RvcnkuIFJldHVybnMgYG5vbmVgIHdoZW4gdGhlcmVcbiAqIGlzIG5vdGhpbmcgcmVsZWFzYWJsZSAob3Igb24gYSBmaXJzdCByZWxlYXNlLCB3aGljaCBpcyBoYW5kbGVkIGJ5IENBVFYpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VnZ2VzdFZlcnNpb25CdW1wKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgY2hhbmdlbG9nOiBzdHJpbmc7XG4gICAgbGF0ZXN0VGFnPzogc3RyaW5nO1xuICAgIHRhZ1ByZWZpeD86IHN0cmluZztcbiAgICBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICAgIGJ1bXBQYWNrYWdlPzogc3RyaW5nO1xuICAgIHZlcnNpb25yY09wdGlvbnM/OiBDb25maWc7XG4gICAgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG4gIH0sXG4pOiBQcm9taXNlPEJ1bXBUeXBlPiB7XG4gIGNvbnN0IGlzRmlyc3RSZWxlYXNlID0gIW9wdGlvbnMubGF0ZXN0VGFnO1xuICBjb25zdCBsYXRlc3RWZXJzaW9uID0gYXdhaXQgcmVhZEN1cnJlbnRWZXJzaW9uKFxuICAgIGpvaW4oY3dkLCBvcHRpb25zLnZlcnNpb25GaWxlKSxcbiAgKTtcblxuICBjb25zdCBudW1Db21taXRzID0gKG9wdGlvbnMucmVsZWFzYWJsZUNvbW1pdHMgPz8gXCJcIilcbiAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAuZmlsdGVyKChsKSA9PiBsLnRyaW0oKSkubGVuZ3RoO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYE51bWJlciBvZiBjb21taXRzIHNpbmNlICR7b3B0aW9ucy5sYXRlc3RUYWcgfHwgXCIoZmlyc3QgcmVsZWFzZSlcIn06ICR7bnVtQ29tbWl0c31gLFxuICApO1xuXG4gIGlmIChpc0ZpcnN0UmVsZWFzZSB8fCBudW1Db21taXRzID09PSAwKSB7XG4gICAgaWYgKCFpc0ZpcnN0UmVsZWFzZSkge1xuICAgICAgbG9nZ2luZy5pbmZvKFwiTm8gbmV3IGludGVyZXN0aW5nIGNvbW1pdHMuXCIpO1xuICAgIH1cbiAgICByZXR1cm4geyBidW1wOiBcIm5vbmVcIiB9O1xuICB9XG5cbiAgY29uc3QgY2F0diA9IG5ldyBDb21taXRBbmRUYWdWZXJzaW9uKG9wdGlvbnMuYnVtcFBhY2thZ2UsIGN3ZCwge1xuICAgIHZlcnNpb25GaWxlOiBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSksXG4gICAgY2hhbmdlbG9nRmlsZTogam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKSxcbiAgICBwcmVyZWxlYXNlOiBvcHRpb25zLnByZXJlbGVhc2UsXG4gICAgY29uZmlnT3B0aW9uczogb3B0aW9ucy52ZXJzaW9ucmNPcHRpb25zLFxuICAgIHRhZ1ByZWZpeDogb3B0aW9ucy50YWdQcmVmaXggPz8gXCJcIixcbiAgfSk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlQnVtcFR5cGUobGF0ZXN0VmVyc2lvbiwgYXdhaXQgY2F0di5kcnlSdW4oKSk7XG59XG5cbi8qKlxuICogUGhhc2UgMzogYXBwbHkgdGhlIGNob3NlbiBidW1wIC0gaW52b2tlIENBVFYgKG9yIHJlZ2VuZXJhdGUgdGhlIGNoYW5nZWxvZyksXG4gKiBlbmZvcmNlIHZlcnNpb24gY29uc3RyYWludHMsIGFuZCByZWNvcmQgdGhlIHJlc3VsdGluZyB2ZXJzaW9uIGFuZCB0YWcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVZlcnNpb25CdW1wKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgY2hhbmdlbG9nOiBzdHJpbmc7XG4gICAgYnVtcEZpbGU6IHN0cmluZztcbiAgICByZWxlYXNlVGFnRmlsZTogc3RyaW5nO1xuICAgIGJ1bXBUeXBlOiBCdW1wVHlwZTtcbiAgICBsYXRlc3RUYWc/OiBzdHJpbmc7XG4gICAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICAgIHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gICAgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gICAgdmVyc2lvbnJjT3B0aW9ucz86IENvbmZpZztcbiAgICBtYWpvclZlcnNpb24/OiBudW1iZXI7XG4gICAgbWlub3JWZXJzaW9uPzogbnVtYmVyO1xuICAgIG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgfSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpc0ZpcnN0UmVsZWFzZSA9ICFvcHRpb25zLmxhdGVzdFRhZztcbiAgY29uc3QgdmVyc2lvbkZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSk7XG4gIGNvbnN0IGJ1bXBGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuYnVtcEZpbGUpO1xuICBjb25zdCBjaGFuZ2Vsb2dGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKTtcbiAgY29uc3QgcmVsZWFzZVRhZ0ZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy5yZWxlYXNlVGFnRmlsZSk7XG4gIGNvbnN0IHRhZ1ByZWZpeCA9IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCI7XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCByZWFkQ3VycmVudFZlcnNpb24odmVyc2lvbkZpbGUpO1xuXG4gIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUoYnVtcEZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShjaGFuZ2Vsb2dGaWxlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUocmVsZWFzZVRhZ0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBsZXQgYnVtcFR5cGUgPSBvcHRpb25zLmJ1bXBUeXBlO1xuXG4gIC8vIFJlc3BlY3QgbWluTWFqb3JWZXJzaW9uIHRvIGNvcnJlY3QgdGhlIHJlc3VsdCBvZiB0aGUgbmV4dFZlcnNpb25Db21tYW5kLlxuICBpZiAob3B0aW9ucy5taW5NYWpvclZlcnNpb24pIHtcbiAgICBjb25zdCBidW1wZWRWZXJzaW9uID0gcGVyZm9ybUJ1bXAobGF0ZXN0VmVyc2lvbiwgYnVtcFR5cGUpO1xuICAgIGNvbnN0IFttYWpvclZlcnNpb25dID0gYnVtcGVkVmVyc2lvbi5zcGxpdChcIi5cIik7XG4gICAgaWYgKHBhcnNlSW50KG1ham9yVmVyc2lvbiwgMTApIDwgb3B0aW9ucy5taW5NYWpvclZlcnNpb24pIHtcbiAgICAgIGJ1bXBUeXBlID0ge1xuICAgICAgICBidW1wOiBcImFic29sdXRlXCIsXG4gICAgICAgIGFic29sdXRlOiBgJHtvcHRpb25zLm1pbk1ham9yVmVyc2lvbn0uMC4wYCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2F0diA9IG5ldyBDb21taXRBbmRUYWdWZXJzaW9uKG9wdGlvbnMuYnVtcFBhY2thZ2UsIGN3ZCwge1xuICAgIHZlcnNpb25GaWxlLFxuICAgIGNoYW5nZWxvZ0ZpbGUsXG4gICAgcHJlcmVsZWFzZTogb3B0aW9ucy5wcmVyZWxlYXNlLFxuICAgIGNvbmZpZ09wdGlvbnM6IG9wdGlvbnMudmVyc2lvbnJjT3B0aW9ucyxcbiAgICB0YWdQcmVmaXgsXG4gIH0pO1xuXG4gIGNvbnN0IG5ld1JlbGVhc2UgPSBidW1wVHlwZS5idW1wICE9PSBcIm5vbmVcIjtcbiAgaWYgKCFuZXdSZWxlYXNlICYmICFpc0ZpcnN0UmVsZWFzZSkge1xuICAgIC8vIFJlZ2VuZXJhdGUgdGhlIGNoYW5nZWxvZyBvZiB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbi5cbiAgICBhd2FpdCBjYXR2LnJlZ2VuZXJhdGVQcmV2aW91c0NoYW5nZUxvZyhsYXRlc3RWZXJzaW9uLCBvcHRpb25zLmxhdGVzdFRhZyEpO1xuICB9IGVsc2Uge1xuICAgIC8vIEJ1bXAgKyByZWxlYXNlLCBvciByZWxlYXNlIHRoZSBmaXJzdCB2ZXJzaW9uIChhbHJlYWR5IGluIHRoZSBmaWxlKS5cbiAgICBhd2FpdCBjYXR2Lmludm9rZSh7XG4gICAgICByZWxlYXNlQXM6IG5ld1JlbGVhc2UgPyByZW5kZXJCdW1wVHlwZShidW1wVHlwZSkgOiB1bmRlZmluZWQsXG4gICAgICBza2lwQnVtcDogIW5ld1JlbGVhc2UsXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBuZXdWZXJzaW9uID0gKGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSkpLnZlcnNpb247XG4gIGlmICghbmV3VmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgYnVtcCBmYWlsZWQ6ICR7dmVyc2lvbkZpbGV9IGRvZXMgbm90IGhhdmUgYSB2ZXJzaW9uIHNldGApO1xuICB9XG4gIGNvbnN0IG1ham9yID0gb3B0aW9ucy5tYWpvclZlcnNpb247XG4gIGNvbnN0IG1pbm9yID0gb3B0aW9ucy5taW5vclZlcnNpb247XG4gIGlmIChtYWpvciAhPT0gdW5kZWZpbmVkICYmICFuZXdWZXJzaW9uLnN0YXJ0c1dpdGgoYCR7bWFqb3J9LmApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYGJ1bXAgZmFpbGVkOiB0aGlzIGJyYW5jaCBpcyBjb25maWd1cmVkIHRvIG9ubHkgcHVibGlzaCB2JHttYWpvcn0gcmVsZWFzZXMgLSBidW1wIHJlc3VsdGVkIGluICR7bmV3VmVyc2lvbn1gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICE9PSB1bmRlZmluZWQgJiYgIW5ld1ZlcnNpb24uc3RhcnRzV2l0aChgJHttYWpvcn0uJHttaW5vcn1gKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBidW1wIGZhaWxlZDogdGhpcyBicmFuY2ggaXMgY29uZmlndXJlZCB0byBvbmx5IHB1Ymxpc2ggdiR7bWFqb3J9LiR7bWlub3J9IHJlbGVhc2VzIC0gYnVtcCByZXN1bHRlZCBpbiAke25ld1ZlcnNpb259YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmV3VGFnID0gYCR7dGFnUHJlZml4fXYke25ld1ZlcnNpb259YDtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKGJ1bXBGaWxlLCBuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHJlbGVhc2VUYWdGaWxlLCBuZXdUYWcpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkQ3VycmVudFZlcnNpb24odmVyc2lvbkZpbGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgdmVyc2lvbiB9ID0gYXdhaXQgdHJ5UmVhZFZlcnNpb25GaWxlKHZlcnNpb25GaWxlKTtcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3ZlcnNpb25GaWxlfSBkb2VzIG5vdCBoYXZlIGEgdmVyc2lvbiBzZXRgKTtcbiAgfVxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdHJ5UmVhZFZlcnNpb25GaWxlKFxuICB2ZXJzaW9uRmlsZTogc3RyaW5nLFxuKTogUHJvbWlzZTx7IGNvbnRlbnRzOiBhbnk7IHZlcnNpb24/OiBzdHJpbmc7IG5ld2xpbmU6IGJvb2xlYW4gfT4ge1xuICBpZiAoIWV4aXN0c1N5bmModmVyc2lvbkZpbGUpKSB7XG4gICAgcmV0dXJuIHsgY29udGVudHM6IHt9LCBuZXdsaW5lOiB0cnVlIH07XG4gIH1cbiAgY29uc3QgcmF3ID0gYXdhaXQgZnMucmVhZEZpbGUodmVyc2lvbkZpbGUsIFwidXRmLThcIik7XG4gIGNvbnN0IGNvbnRlbnRzID0gSlNPTi5wYXJzZShyYXcpO1xuXG4gIHJldHVybiB7XG4gICAgY29udGVudHMsXG4gICAgdmVyc2lvbjogY29udGVudHMudmVyc2lvbixcbiAgICBuZXdsaW5lOiByYXcuZW5kc1dpdGgoXCJcXG5cIiksXG4gIH07XG59XG5cbmludGVyZmFjZSBMYXRlc3RUYWdPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdvcmtpbmcgZGlyZWN0b3J5IG9mIHRoZSBnaXQgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZDogc3RyaW5nO1xuICAvKipcbiAgICogTWFqb3IgdmVyc2lvbiB0byBzZWxlY3QgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yPzogbnVtYmVyO1xuICAvKipcbiAgICogTWlub3IgdmVyc2lvbiB0byBzZWxlY3QgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IG1pbm9yPzogbnVtYmVyO1xuICAvKipcbiAgICogQSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gICAqL1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBwcmVmaXggYXBwbGllZCB0byBhbGwgdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIGxhdGVzdCByZWxlYXNlIHRhZy5cbiAqIEBwYXJhbSBtYWpvciAob3B0aW9uYWwpIEEgbWFqb3IgdmVyc2lvbiBsaW5lIHRvIHNlbGVjdCBmcm9tXG4gKiBAcGFyYW0gcHJlcmVsZWFzZSAob3B0aW9uYWwpIEEgcHJlLXJlbGVhc2Ugc3VmZml4LlxuICogQHJldHVybnMgdGhlIGxhdGVzdCB0YWcsIGFuZCB3aGV0aGVyIGl0IGlzIHRoZSBmaXJzdCByZWxlYXNlIG9yIG5vdFxuICovXG5mdW5jdGlvbiBkZXRlcm1pbmVMYXRlc3RUYWcob3B0aW9uczogTGF0ZXN0VGFnT3B0aW9ucyk6IHtcbiAgbGF0ZXN0VmVyc2lvbjogc3RyaW5nO1xuICBsYXRlc3RUYWc6IHN0cmluZztcbiAgaXNGaXJzdFJlbGVhc2U6IGJvb2xlYW47XG59IHtcbiAgY29uc3QgeyBjd2QsIG1ham9yLCBtaW5vciwgcHJlcmVsZWFzZSwgcHJlZml4IH0gPSBvcHRpb25zO1xuXG4gIC8vIGZpbHRlciBvbmx5IHRhZ3MgZm9yIHRoaXMgcHJlZml4IGFuZCBtYWpvciB2ZXJzaW9uIGlmIHNwZWNpZmllZCAoc3RhcnQgd2l0aCBcInZOTi5cIikuXG4gIGxldCBwcmVmaXhGaWx0ZXI6IHN0cmluZztcbiAgaWYgKG1ham9yICE9PSB1bmRlZmluZWQgJiYgbWlub3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHByZWZpeEZpbHRlciA9IGAke3ByZWZpeH12JHttYWpvcn0uJHttaW5vcn0uKmA7XG4gIH0gZWxzZSBpZiAobWFqb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHByZWZpeEZpbHRlciA9IGAke3ByZWZpeH12JHttYWpvcn0uKmA7XG4gIH0gZWxzZSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYqYDtcbiAgfVxuXG4gIGNvbnN0IHN0ZG91dCA9IGdpdC5jYXB0dXJlKFxuICAgIFtcbiAgICAgIFwiLWNcIixcbiAgICAgIFwidmVyc2lvbnNvcnQuc3VmZml4PS1cIiwgLy8gbWFrZXMgc3VyZSBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhcmUgbGlzdGVkIGFmdGVyIHRoZSBwcmltYXJ5IHZlcnNpb25cbiAgICAgIFwidGFnXCIsXG4gICAgICBcIi0tc29ydD0tdmVyc2lvbjpyZWZuYW1lXCIsIC8vIHNvcnQgYXMgdmVyc2lvbnMgYW5kIG5vdCBsZXhpY29ncmFwaGljYWxseVxuICAgICAgXCItLWxpc3RcIixcbiAgICAgIHByZWZpeEZpbHRlcixcbiAgICBdLFxuICAgIHsgY3dkIH0sXG4gICk7XG5cbiAgbGV0IHRhZ3MgPSBzdGRvdXQ/LnNwbGl0KFwiXFxuXCIpO1xuXG4gIC8vIGlmIHByZXJlbGVhc2UgaXMgc2V0IGFuZCB0aGVyZSBhcmUgZXhpc3RpbmcgcHJlcmVsZWFzZSB0YWdzLCBmaWx0ZXIgdmVyc2lvbnMgdGhhdCBlbmQgd2l0aCBcIi1QUkUuZGRkXCIuXG4gIGNvbnN0IHByZXJlbGVhc2VUYWdzID0gdGFncy5maWx0ZXIoKHgpID0+XG4gICAgbmV3IFJlZ0V4cChgLSR7cHJlcmVsZWFzZX1cXFxcLlswLTldKyRgKS50ZXN0KHgpLFxuICApO1xuICBpZiAocHJlcmVsZWFzZSAmJiBwcmVyZWxlYXNlVGFncy5sZW5ndGggPiAwKSB7XG4gICAgbGV0IHByZXJlbGVhc2VUYWcgPSBwcmVyZWxlYXNlVGFnc1swXTtcblxuICAgIC8qKlxuICAgICAqIENvdmVyIHRoZSBmb2xsb3dpbmcgY2FzZSBzcGVjaWZpY2FsbHlcbiAgICAgKiAxIC0gdjEuMC4wXG4gICAgICogMiAtIHYxLjAuMS1iZXRhLjBcbiAgICAgKiAzIC0gdjEuMC4xLWJldGEuMVxuICAgICAqIDQgLSB2MS4wLjFcbiAgICAgKiA1IC0gbm93IHB1Ymxpc2ggYSBuZXcgcmVsZWFzZSBvbiB0aGUgcHJlcmVsZWFzZSBicmFuY2hcbiAgICAgKiAgICBieSBzZXR0aW5nIHRoZSBsYXRlc3RUYWcgYXMgdjEuMC4xIGluc3RlYWQgb2YgdjEuMC4xLWJldGEuMVxuICAgICAqL1xuICAgIGNvbnN0IHJlbGVhc2VUYWdzID0gdGFncy5maWx0ZXIoKHgpID0+XG4gICAgICBuZXcgUmVnRXhwKGBeJHtwcmVmaXh9dihbMC05XSspXFxcXC4oWzAtOV0rKVxcXFwuKFswLTldKykkYCkudGVzdCh4KSxcbiAgICApO1xuXG4gICAgbGV0IHJlbGVhc2VUYWc6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAocmVsZWFzZVRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcmVsZWFzZVRhZyA9IHJlbGVhc2VUYWdzWzBdO1xuICAgIH1cblxuICAgIGlmIChwcmVmaXgpIHtcbiAgICAgIHJlbGVhc2VUYWcgPSByZWxlYXNlVGFnPy5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgICBwcmVyZWxlYXNlVGFnID0gcHJlcmVsZWFzZVRhZy5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKHJlbGVhc2VUYWcgJiYgY29tcGFyZShyZWxlYXNlVGFnLCBwcmVyZWxlYXNlVGFnKSA9PT0gMSkge1xuICAgICAgdGFncyA9IHJlbGVhc2VUYWdzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YWdzID0gcHJlcmVsZWFzZVRhZ3M7XG4gICAgfVxuICB9XG5cbiAgdGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PiB4KTtcblxuICAvLyBpZiBhIHByZS1yZWxlYXNlIHRhZyBpcyB1c2VkLCB0aGVuIGFkZCBpdCB0byB0aGUgaW5pdGlhbCB2ZXJzaW9uXG4gIGxldCBpc0ZpcnN0UmVsZWFzZSA9IGZhbHNlO1xuICBsZXQgbGF0ZXN0VGFnO1xuXG4gIGlmICh0YWdzLmxlbmd0aCA+IDApIHtcbiAgICBsYXRlc3RUYWcgPSB0YWdzWzBdO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGluaXRpYWwgPSBgJHtwcmVmaXh9diR7bWFqb3IgPz8gMH0uJHttaW5vciA/PyAwfS4wYDtcbiAgICBsYXRlc3RUYWcgPSBwcmVyZWxlYXNlID8gYCR7aW5pdGlhbH0tJHtwcmVyZWxlYXNlfS4wYCA6IGluaXRpYWw7XG4gICAgaXNGaXJzdFJlbGVhc2UgPSB0cnVlO1xuICB9XG5cbiAgLy8gcmVtb3ZlIHRhZyBwcmVmaXggKGlmIGV4aXN0cylcbiAgbGV0IGxhdGVzdFZlcnNpb24gPSBsYXRlc3RUYWc7XG4gIGlmIChwcmVmaXggJiYgbGF0ZXN0VmVyc2lvbi5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICBsYXRlc3RWZXJzaW9uID0gbGF0ZXN0VmVyc2lvbi5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gIH1cblxuICAvLyByZW1vdmUgXCJ2XCIgcHJlZml4IChpZiBleGlzdHMpXG4gIGlmIChsYXRlc3RWZXJzaW9uLnN0YXJ0c1dpdGgoXCJ2XCIpKSB7XG4gICAgbGF0ZXN0VmVyc2lvbiA9IGxhdGVzdFZlcnNpb24uc3Vic3RyaW5nKDEpO1xuICB9XG5cbiAgcmV0dXJuIHsgbGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnLCBpc0ZpcnN0UmVsZWFzZSB9O1xufVxuIl19
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0pBLDRDQTZDQztBQU1ELGdEQXlDQztBQU1ELDRDQW9GQztBQXhVRCwyQkFBZ0Q7QUFDaEQsK0JBQXFDO0FBRXJDLG1DQUFpQztBQUNqQyxvREFBc0M7QUFFdEMsMkNBQTRFO0FBQzVFLDZEQUEyRDtBQUMzRCx1Q0FBbUM7QUFzSW5DOzs7R0FHRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsR0FBVyxFQUNYLE9BT0M7SUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbkMsSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDakMsR0FBRztRQUNILEtBQUs7UUFDTCxLQUFLO1FBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7S0FDaEMsQ0FBQyxDQUFDO0lBRUgsNEVBQTRFO0lBQzVFLHFDQUFxQztJQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFB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SSxDQUFDLElBQUksQ0FBQztRQUMxRCxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2hFLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDOUIsSUFBSSxNQUFNLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9DLGFBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLGFBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMsIGV4aXN0c1N5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiY29udmVudGlvbmFsLWNoYW5nZWxvZy1jb25maWctc3BlY1wiO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB0eXBlIHsgQnVtcFR5cGUgfSBmcm9tIFwiLi9idW1wLXR5cGVcIjtcbmltcG9ydCB7IHBlcmZvcm1CdW1wLCByZWxhdGl2ZUJ1bXBUeXBlLCByZW5kZXJCdW1wVHlwZSB9IGZyb20gXCIuL2J1bXAtdHlwZVwiO1xuaW1wb3J0IHsgQ29tbWl0QW5kVGFnVmVyc2lvbiB9IGZyb20gXCIuL2NvbW1pdC10YWctdmVyc2lvblwiO1xuaW1wb3J0IHsgZ2l0IH0gZnJvbSBcIi4uL3V0aWwvZXhlY1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgLmpzb24gZmlsZSB0byBzZXQgYHZlcnNpb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbkZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNoYW5nZWxvZyBmaWxlIHRvIGdlbmVyYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlbG9nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSBhIHByZS1yZWxlYXNlIHN1ZmZpeC5cbiAgICogQGRlZmF1bHQgLSBub3JtYWwgdmVyc2lvbmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbWFqb3IgdmVyc2lvbiBsaW5lLiBUaGlzIGlzIHVzZWQgdG8gc2VsZWN0IHRoZSBsYXRlc3QgdmVyc2lvblxuICAgKiBhbmQgYWxzbyBlbmZvcmNlIHRoYXQgbmV3IG1ham9yIHZlcnNpb25zIGFyZSBub3QgcmVsZWFzZWQgYWNjaWRlbnRhbGx5LlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFueSB2ZXJzaW9uIGlzIHN1cHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBtaW5pbWFsIG1ham9yIHZlcnNpb24uIFRoaXMgaXMgdXNlZCBpZiB5b3Ugd2FudCB0byBzdGFydCB3aXRoXG4gICAqIGEgc3BlY2lmaWMgbWFqb3IgdmVyc2lvbiwgYW5kIGluY3JlbWVudCBmcm9tIHRoZXJlIG9uLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gc2V0IHRvIDEsIGFzIGJyZWFraW5nIGNoYW5nZXMgYmVmb3JlIHRoZSAxLnggbWFqb3JcbiAgICogcmVsZWFzZSBhcmUgbm90IGluY3JlbWVudGluZyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIuXG4gICAqXG4gICAqIENhbiBub3QgYmUgc2V0IHRvZ2V0aGVyIHdpdGggYG1ham9yVmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbWluaW11bSB2ZXJzaW9uIGlzIGJlaW5nIGVuZm9yY2VkXG4gICAqL1xuICByZWFkb25seSBtaW5NYWpvclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIG1pbm9yIHZlcnNpb24gbGluZS4gVGhpcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgbGF0ZXN0IHZlcnNpb25cbiAgICogYW5kIGFsc28gZW5mb3JjZSB0aGF0IG5ldyBtaW5vciB2ZXJzaW9ucyBhcmUgbm90IHJlbGVhc2VkIGFjY2lkZW50YWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbnkgdmVyc2lvbiBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbm9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBmaWxlIHdoaWNoIHdpbGwgaW5jbHVkZSB0aGUgb3V0cHV0IHZlcnNpb24gbnVtYmVyIChhIHRleHQgZmlsZSkuXG4gICAqXG4gICAqIFJlbGF0aXZlIHRvIGN3ZC5cbiAgICpcbiAgICogQGV4YW1wbGUgXCIudmVyc2lvbi50eHRcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcEZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUgd2hpY2ggd2lsbCBpbmNsdWRlIHRoZSByZWxlYXNlIHRhZyAoYSB0ZXh0IGZpbGUpLlxuICAgKlxuICAgKiBSZWxhdGl2ZSB0byBjd2QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLnJlbGVhc2V0YWcudHh0XCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUYWdGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggYXBwbGllZCB0byByZWxlYXNlIHRhZ3MuIEJ1bXBzIHdpbGwgYmUgbWFkZSBiYXNlZCBvbiB0aGUgbGF0ZXN0XG4gICAqIHZlcnNpb24gZm91bmQgd2l0aCB0aGlzIHByZWZpeC5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB2YWx1ZXMgdGhhdCB3b3VsZCBhcHBlbmQgdG8gdmVyc2lvbnJjIGZpbGUgb3Igb3ZlcndyaXRlIHZhbHVlc1xuICAgKiBjb21pbmcgdG8gdGhhdCBmcm9tIGRlZmF1bHQgb25lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IENvbmZpZztcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHRvIGxpc3QgYWxsIHJlbGVhc2UgY29tbWl0cyBzaW5jZSB0aGUgbGF0ZXN0IHRhZy5cbiAgICpcbiAgICogQSBuZXcgcmVsZWFzZSB3aWxsIGJlIGluaXRpYXRlZCwgaWYgdGhlIG51bWJlciBvZiByZXR1cm5lZCBjb21taXRzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLlxuICAgKlxuICAgKiBgJExBVEVTVF9UQUdgIGlzIGF2YWlsYWJsZSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSAoc2V0IHRvIHRoZSBhY3R1YWwgbGF0ZXN0IHRhZyBmb3IgdGhlIGdpdmVuIHByZWZpeCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZ2l0IGxvZyAtLW9uZWxpbmUgJExBVEVTVF9UQUcuLkhFQURcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgY29tcGF0aWJsZSBwYWNrYWdlIHVzZWQgdG8gYnVtcCB0aGUgcGFja2FnZSB2ZXJzaW9uLCBhcyBhIGRlcGVuZGVuY3kgc3RyaW5nLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSBhbnkgY29tcGF0aWJsZSBwYWNrYWdlIHZlcnNpb24sIGluY2x1ZGluZyB0aGUgZGVwcmVjYXRlZCBgc3RhbmRhcmQtdmVyc2lvbkA5YC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uQDEzXCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1bXBQYWNrYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICpcbiAgICogVGhlIGNvbW1hbmQgc2hvdWxkIHByaW50IG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGBzdGRvdXRgOlxuICAgKlxuICAgKiAtIE5vdGhpbmc6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiBjb21taXQgaGlzdG9yeS5cbiAgICogLSBgeC55LnpgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGB4LnkuemAuXG4gICAqIC0gYG1ham9yfG1pbm9yfHBhdGNoYDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlclxuICAgKiAgIHdpdGggdGhlIGluZGljYXRlZCBjb21wb25lbnQgYnVtcGVkLlxuICAgKlxuICAgKiBUaGlzIHNldHRpbmcgY2Fubm90IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gOyB0aGUgaW52b2tlZFxuICAgKiBzY3JpcHQgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGUgZWZmZWN0cyBvZiBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgY29tbWl0IGhpc3RvcnkgYW5kIHByb2plY3Qgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGV4dCByZXNvbHZlZCBieSB7QGxpbmsgcmVzb2x2ZUxhdGVzdFRhZ30gYW5kIGNvbnN1bWVkIGJ5IHRoZSBsYXRlciBidW1wIHBoYXNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW1wQ29udGV4dCB7XG4gIHJlYWRvbmx5IGxhdGVzdFZlcnNpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbGF0ZXN0VGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzRmlyc3RSZWxlYXNlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBoYXNlIDE6IHJlc29sdmUgdGhlIGxhdGVzdCB0YWcvdmVyc2lvbiBhbmQgc2VlZCB0aGUgdmVyc2lvbiBmaWxlIChzbyB0aGVcbiAqIGxhdGVyIHBoYXNlcyBjYW4gcmVhZCB0aGUgY3VycmVudCB2ZXJzaW9uIGJhY2sgZnJvbSBpdCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlTGF0ZXN0VGFnKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICAgIG1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgICBtaW5vclZlcnNpb24/OiBudW1iZXI7XG4gICAgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAgIHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIH0sXG4pOiBQcm9taXNlPEJ1bXBDb250ZXh0PiB7XG4gIGNvbnN0IG1ham9yID0gb3B0aW9ucy5tYWpvclZlcnNpb247XG4gIGNvbnN0IG1pbm9yID0gb3B0aW9ucy5taW5vclZlcnNpb247XG4gIGlmIChtYWpvciAmJiBvcHRpb25zLm1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG1ham9yVmVyc2lvbiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICYmICFtYWpvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWlub3JWZXJzaW9uIGFuZCBtYWpvclZlcnNpb24gbXVzdCBiZSB1c2VkIHRvZ2V0aGVyLmApO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbkZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSk7XG5cbiAgY29uc3QgY29udGV4dCA9IGRldGVybWluZUxhdGVzdFRhZyh7XG4gICAgY3dkLFxuICAgIG1ham9yLFxuICAgIG1pbm9yLFxuICAgIHByZXJlbGVhc2U6IG9wdGlvbnMucHJlcmVsZWFzZSxcbiAgICBwcmVmaXg6IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCIsXG4gIH0pO1xuXG4gIC8vIFdyaXRlIHRoZSBjdXJyZW50IHZlcnNpb24gaW50byB0aGUgdmVyc2lvbiBmaWxlIHNvIHRoYXQgQ0FUViBrbm93cyBpdCBhbmRcbiAgLy8gdGhlIGxhdGVyIHBoYXNlcyBjYW4gcmVhZCBpdCBiYWNrLlxuICBjb25zdCB7IGNvbnRlbnRzLCBuZXdsaW5lIH0gPSBhd2FpdCB0cnlSZWFkVmVyc2lvbkZpbGUodmVyc2lvbkZpbGUpO1xuICBjb250ZW50cy52ZXJzaW9uID0gY29udGV4dC5sYXRlc3RWZXJzaW9uO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYFVwZGF0ZSAke3ZlcnNpb25GaWxlfSB0byByZXNvbHZlZCB2ZXJzaW9uOiAke2NvbnRleHQubGF0ZXN0VmVyc2lvbn1gLFxuICApO1xuICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgdmVyc2lvbkZpbGUsXG4gICAgSlNPTi5zdHJpbmdpZnkoY29udGVudHMsIHVuZGVmaW5lZCwgMikgKyAobmV3bGluZSA/IFwiXFxuXCIgOiBcIlwiKSxcbiAgKTtcblxuICByZXR1cm4gY29udGV4dDtcbn1cblxuLyoqXG4gKiBQaGFzZSAyOiBkZWNpZGUgdGhlIGJ1bXAgZnJvbSB0aGUgY29tbWl0IGhpc3RvcnkuIFJldHVybnMgYG5vbmVgIHdoZW4gdGhlcmVcbiAqIGlzIG5vdGhpbmcgcmVsZWFzYWJsZSAob3Igb24gYSBmaXJzdCByZWxlYXNlLCB3aGljaCBpcyBoYW5kbGVkIGJ5IENBVFYpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VnZ2VzdFZlcnNpb25CdW1wKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgY2hhbmdlbG9nOiBzdHJpbmc7XG4gICAgbGF0ZXN0VGFnPzogc3RyaW5nO1xuICAgIHRhZ1ByZWZpeD86IHN0cmluZztcbiAgICBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICAgIGJ1bXBQYWNrYWdlPzogc3RyaW5nO1xuICAgIHZlcnNpb25yY09wdGlvbnM/OiBDb25maWc7XG4gICAgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG4gIH0sXG4pOiBQcm9taXNlPEJ1bXBUeXBlPiB7XG4gIGNvbnN0IGlzRmlyc3RSZWxlYXNlID0gIW9wdGlvbnMubGF0ZXN0VGFnO1xuICBjb25zdCBsYXRlc3RWZXJzaW9uID0gYXdhaXQgcmVhZEN1cnJlbnRWZXJzaW9uKFxuICAgIGpvaW4oY3dkLCBvcHRpb25zLnZlcnNpb25GaWxlKSxcbiAgKTtcblxuICBjb25zdCBudW1Db21taXRzID0gKG9wdGlvbnMucmVsZWFzYWJsZUNvbW1pdHMgPz8gXCJcIilcbiAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAuZmlsdGVyKChsKSA9PiBsLnRyaW0oKSkubGVuZ3RoO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYE51bWJlciBvZiBjb21taXRzIHNpbmNlICR7b3B0aW9ucy5sYXRlc3RUYWcgfHwgXCIoZmlyc3QgcmVsZWFzZSlcIn06ICR7bnVtQ29tbWl0c31gLFxuICApO1xuXG4gIGlmIChpc0ZpcnN0UmVsZWFzZSB8fCBudW1Db21taXRzID09PSAwKSB7XG4gICAgaWYgKCFpc0ZpcnN0UmVsZWFzZSkge1xuICAgICAgbG9nZ2luZy5pbmZvKFwiTm8gbmV3IGludGVyZXN0aW5nIGNvbW1pdHMuXCIpO1xuICAgIH1cbiAgICByZXR1cm4geyBidW1wOiBcIm5vbmVcIiB9O1xuICB9XG5cbiAgY29uc3QgY2F0diA9IG5ldyBDb21taXRBbmRUYWdWZXJzaW9uKG9wdGlvbnMuYnVtcFBhY2thZ2UsIGN3ZCwge1xuICAgIHZlcnNpb25GaWxlOiBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSksXG4gICAgY2hhbmdlbG9nRmlsZTogam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKSxcbiAgICBwcmVyZWxlYXNlOiBvcHRpb25zLnByZXJlbGVhc2UsXG4gICAgY29uZmlnT3B0aW9uczogb3B0aW9ucy52ZXJzaW9ucmNPcHRpb25zLFxuICAgIHRhZ1ByZWZpeDogb3B0aW9ucy50YWdQcmVmaXggPz8gXCJcIixcbiAgfSk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlQnVtcFR5cGUobGF0ZXN0VmVyc2lvbiwgYXdhaXQgY2F0di5kcnlSdW4oKSk7XG59XG5cbi8qKlxuICogUGhhc2UgMzogYXBwbHkgdGhlIGNob3NlbiBidW1wIC0gaW52b2tlIENBVFYgKG9yIHJlZ2VuZXJhdGUgdGhlIGNoYW5nZWxvZyksXG4gKiBlbmZvcmNlIHZlcnNpb24gY29uc3RyYWludHMsIGFuZCByZWNvcmQgdGhlIHJlc3VsdGluZyB2ZXJzaW9uIGFuZCB0YWcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVZlcnNpb25CdW1wKFxuICBjd2Q6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHZlcnNpb25GaWxlOiBzdHJpbmc7XG4gICAgY2hhbmdlbG9nOiBzdHJpbmc7XG4gICAgYnVtcEZpbGU6IHN0cmluZztcbiAgICByZWxlYXNlVGFnRmlsZTogc3RyaW5nO1xuICAgIGJ1bXBUeXBlOiBCdW1wVHlwZTtcbiAgICBsYXRlc3RUYWc/OiBzdHJpbmc7XG4gICAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICAgIHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gICAgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gICAgdmVyc2lvbnJjT3B0aW9ucz86IENvbmZpZztcbiAgICBtYWpvclZlcnNpb24/OiBudW1iZXI7XG4gICAgbWlub3JWZXJzaW9uPzogbnVtYmVyO1xuICAgIG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgfSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBpc0ZpcnN0UmVsZWFzZSA9ICFvcHRpb25zLmxhdGVzdFRhZztcbiAgY29uc3QgdmVyc2lvbkZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy52ZXJzaW9uRmlsZSk7XG4gIGNvbnN0IGJ1bXBGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuYnVtcEZpbGUpO1xuICBjb25zdCBjaGFuZ2Vsb2dGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKTtcbiAgY29uc3QgcmVsZWFzZVRhZ0ZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy5yZWxlYXNlVGFnRmlsZSk7XG4gIGNvbnN0IHRhZ1ByZWZpeCA9IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCI7XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCByZWFkQ3VycmVudFZlcnNpb24odmVyc2lvbkZpbGUpO1xuXG4gIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUoYnVtcEZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShjaGFuZ2Vsb2dGaWxlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUocmVsZWFzZVRhZ0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBsZXQgYnVtcFR5cGUgPSBvcHRpb25zLmJ1bXBUeXBlO1xuXG4gIC8vIFJlc3BlY3QgbWluTWFqb3JWZXJzaW9uIHRvIGNvcnJlY3QgdGhlIHJlc3VsdCBvZiB0aGUgbmV4dFZlcnNpb25Db21tYW5kLlxuICBpZiAob3B0aW9ucy5taW5NYWpvclZlcnNpb24pIHtcbiAgICBjb25zdCBidW1wZWRWZXJzaW9uID0gcGVyZm9ybUJ1bXAobGF0ZXN0VmVyc2lvbiwgYnVtcFR5cGUpO1xuICAgIGNvbnN0IFttYWpvclZlcnNpb25dID0gYnVtcGVkVmVyc2lvbi5zcGxpdChcIi5cIik7XG4gICAgaWYgKHBhcnNlSW50KG1ham9yVmVyc2lvbiwgMTApIDwgb3B0aW9ucy5taW5NYWpvclZlcnNpb24pIHtcbiAgICAgIGJ1bXBUeXBlID0ge1xuICAgICAgICBidW1wOiBcImFic29sdXRlXCIsXG4gICAgICAgIGFic29sdXRlOiBgJHtvcHRpb25zLm1pbk1ham9yVmVyc2lvbn0uMC4wYCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2F0diA9IG5ldyBDb21taXRBbmRUYWdWZXJzaW9uKG9wdGlvbnMuYnVtcFBhY2thZ2UsIGN3ZCwge1xuICAgIHZlcnNpb25GaWxlLFxuICAgIGNoYW5nZWxvZ0ZpbGUsXG4gICAgcHJlcmVsZWFzZTogb3B0aW9ucy5wcmVyZWxlYXNlLFxuICAgIGNvbmZpZ09wdGlvbnM6IG9wdGlvbnMudmVyc2lvbnJjT3B0aW9ucyxcbiAgICB0YWdQcmVmaXgsXG4gIH0pO1xuXG4gIGNvbnN0IG5ld1JlbGVhc2UgPSBidW1wVHlwZS5idW1wICE9PSBcIm5vbmVcIjtcbiAgaWYgKCFuZXdSZWxlYXNlICYmICFpc0ZpcnN0UmVsZWFzZSkge1xuICAgIC8vIFJlZ2VuZXJhdGUgdGhlIGNoYW5nZWxvZyBvZiB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbi5cbiAgICBhd2FpdCBjYXR2LnJlZ2VuZXJhdGVQcmV2aW91c0NoYW5nZUxvZyhsYXRlc3RWZXJzaW9uLCBvcHRpb25zLmxhdGVzdFRhZyEpO1xuICB9IGVsc2Uge1xuICAgIC8vIEJ1bXAgKyByZWxlYXNlLCBvciByZWxlYXNlIHRoZSBmaXJzdCB2ZXJzaW9uIChhbHJlYWR5IGluIHRoZSBmaWxlKS5cbiAgICBhd2FpdCBjYXR2Lmludm9rZSh7XG4gICAgICByZWxlYXNlQXM6IG5ld1JlbGVhc2UgPyByZW5kZXJCdW1wVHlwZShidW1wVHlwZSkgOiB1bmRlZmluZWQsXG4gICAgICBza2lwQnVtcDogIW5ld1JlbGVhc2UsXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBuZXdWZXJzaW9uID0gKGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSkpLnZlcnNpb247XG4gIGlmICghbmV3VmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgYnVtcCBmYWlsZWQ6ICR7dmVyc2lvbkZpbGV9IGRvZXMgbm90IGhhdmUgYSB2ZXJzaW9uIHNldGApO1xuICB9XG4gIGNvbnN0IG1ham9yID0gb3B0aW9ucy5tYWpvclZlcnNpb247XG4gIGNvbnN0IG1pbm9yID0gb3B0aW9ucy5taW5vclZlcnNpb247XG4gIGlmIChtYWpvciAhPT0gdW5kZWZpbmVkICYmICFuZXdWZXJzaW9uLnN0YXJ0c1dpdGgoYCR7bWFqb3J9LmApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYGJ1bXAgZmFpbGVkOiB0aGlzIGJyYW5jaCBpcyBjb25maWd1cmVkIHRvIG9ubHkgcHVibGlzaCB2JHttYWpvcn0gcmVsZWFzZXMgLSBidW1wIHJlc3VsdGVkIGluICR7bmV3VmVyc2lvbn1gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICE9PSB1bmRlZmluZWQgJiYgIW5ld1ZlcnNpb24uc3RhcnRzV2l0aChgJHttYWpvcn0uJHttaW5vcn1gKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBidW1wIGZhaWxlZDogdGhpcyBicmFuY2ggaXMgY29uZmlndXJlZCB0byBvbmx5IHB1Ymxpc2ggdiR7bWFqb3J9LiR7bWlub3J9IHJlbGVhc2VzIC0gYnVtcCByZXN1bHRlZCBpbiAke25ld1ZlcnNpb259YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmV3VGFnID0gYCR7dGFnUHJlZml4fXYke25ld1ZlcnNpb259YDtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKGJ1bXBGaWxlLCBuZXdWZXJzaW9uKTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHJlbGVhc2VUYWdGaWxlLCBuZXdUYWcpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkQ3VycmVudFZlcnNpb24odmVyc2lvbkZpbGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgdmVyc2lvbiB9ID0gYXdhaXQgdHJ5UmVhZFZlcnNpb25GaWxlKHZlcnNpb25GaWxlKTtcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3ZlcnNpb25GaWxlfSBkb2VzIG5vdCBoYXZlIGEgdmVyc2lvbiBzZXRgKTtcbiAgfVxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdHJ5UmVhZFZlcnNpb25GaWxlKFxuICB2ZXJzaW9uRmlsZTogc3RyaW5nLFxuKTogUHJvbWlzZTx7IGNvbnRlbnRzOiBhbnk7IHZlcnNpb24/OiBzdHJpbmc7IG5ld2xpbmU6IGJvb2xlYW4gfT4ge1xuICBpZiAoIWV4aXN0c1N5bmModmVyc2lvbkZpbGUpKSB7XG4gICAgcmV0dXJuIHsgY29udGVudHM6IHt9LCBuZXdsaW5lOiB0cnVlIH07XG4gIH1cbiAgY29uc3QgcmF3ID0gYXdhaXQgZnMucmVhZEZpbGUodmVyc2lvbkZpbGUsIFwidXRmLThcIik7XG4gIGNvbnN0IGNvbnRlbnRzID0gSlNPTi5wYXJzZShyYXcpO1xuXG4gIHJldHVybiB7XG4gICAgY29udGVudHMsXG4gICAgdmVyc2lvbjogY29udGVudHMudmVyc2lvbixcbiAgICBuZXdsaW5lOiByYXcuZW5kc1dpdGgoXCJcXG5cIiksXG4gIH07XG59XG5cbmludGVyZmFjZSBMYXRlc3RUYWdPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdvcmtpbmcgZGlyZWN0b3J5IG9mIHRoZSBnaXQgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGN3ZDogc3RyaW5nO1xuICAvKipcbiAgICogTWFqb3IgdmVyc2lvbiB0byBzZWxlY3QgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yPzogbnVtYmVyO1xuICAvKipcbiAgICogTWlub3IgdmVyc2lvbiB0byBzZWxlY3QgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IG1pbm9yPzogbnVtYmVyO1xuICAvKipcbiAgICogQSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gICAqL1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBwcmVmaXggYXBwbGllZCB0byBhbGwgdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIGxhdGVzdCByZWxlYXNlIHRhZy5cbiAqIEBwYXJhbSBtYWpvciAob3B0aW9uYWwpIEEgbWFqb3IgdmVyc2lvbiBsaW5lIHRvIHNlbGVjdCBmcm9tXG4gKiBAcGFyYW0gcHJlcmVsZWFzZSAob3B0aW9uYWwpIEEgcHJlLXJlbGVhc2Ugc3VmZml4LlxuICogQHJldHVybnMgdGhlIGxhdGVzdCB0YWcsIGFuZCB3aGV0aGVyIGl0IGlzIHRoZSBmaXJzdCByZWxlYXNlIG9yIG5vdFxuICovXG5mdW5jdGlvbiBkZXRlcm1pbmVMYXRlc3RUYWcob3B0aW9uczogTGF0ZXN0VGFnT3B0aW9ucyk6IHtcbiAgbGF0ZXN0VmVyc2lvbjogc3RyaW5nO1xuICBsYXRlc3RUYWc6IHN0cmluZztcbiAgaXNGaXJzdFJlbGVhc2U6IGJvb2xlYW47XG59IHtcbiAgY29uc3QgeyBjd2QsIG1ham9yLCBtaW5vciwgcHJlcmVsZWFzZSwgcHJlZml4IH0gPSBvcHRpb25zO1xuXG4gIC8vIGZpbHRlciBvbmx5IHRhZ3MgZm9yIHRoaXMgcHJlZml4IGFuZCBtYWpvciB2ZXJzaW9uIGlmIHNwZWNpZmllZCAoc3RhcnQgd2l0aCBcInZOTi5cIikuXG4gIGxldCBwcmVmaXhGaWx0ZXI6IHN0cmluZztcbiAgaWYgKG1ham9yICE9PSB1bmRlZmluZWQgJiYgbWlub3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHByZWZpeEZpbHRlciA9IGAke3ByZWZpeH12JHttYWpvcn0uJHttaW5vcn0uKmA7XG4gIH0gZWxzZSBpZiAobWFqb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHByZWZpeEZpbHRlciA9IGAke3ByZWZpeH12JHttYWpvcn0uKmA7XG4gIH0gZWxzZSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYqYDtcbiAgfVxuXG4gIGNvbnN0IHN0ZG91dCA9IGdpdC5jYXB0dXJlKFxuICAgIFtcbiAgICAgIFwiLWNcIixcbiAgICAgIFwidmVyc2lvbnNvcnQuc3VmZml4PS1cIiwgLy8gbWFrZXMgc3VyZSBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhcmUgbGlzdGVkIGFmdGVyIHRoZSBwcmltYXJ5IHZlcnNpb25cbiAgICAgIFwidGFnXCIsXG4gICAgICBcIi0tc29ydD0tdmVyc2lvbjpyZWZuYW1lXCIsIC8vIHNvcnQgYXMgdmVyc2lvbnMgYW5kIG5vdCBsZXhpY29ncmFwaGljYWxseVxuICAgICAgXCItLWxpc3RcIixcbiAgICAgIHByZWZpeEZpbHRlcixcbiAgICBdLFxuICAgIHsgY3dkIH0sXG4gICk7XG5cbiAgbGV0IHRhZ3MgPSBzdGRvdXQ/LnNwbGl0KFwiXFxuXCIpO1xuXG4gIC8vIGlmIHByZXJlbGVhc2UgaXMgc2V0IGFuZCB0aGVyZSBhcmUgZXhpc3RpbmcgcHJlcmVsZWFzZSB0YWdzLCBmaWx0ZXIgdmVyc2lvbnMgdGhhdCBlbmQgd2l0aCBcIi1QUkUuZGRkXCIuXG4gIGNvbnN0IHByZXJlbGVhc2VUYWdzID0gdGFncy5maWx0ZXIoKHgpID0+XG4gICAgbmV3IFJlZ0V4cChgLSR7cHJlcmVsZWFzZX1cXFxcLlswLTldKyRgKS50ZXN0KHgpLFxuICApO1xuICBpZiAocHJlcmVsZWFzZSAmJiBwcmVyZWxlYXNlVGFncy5sZW5ndGggPiAwKSB7XG4gICAgbGV0IHByZXJlbGVhc2VUYWcgPSBwcmVyZWxlYXNlVGFnc1swXTtcblxuICAgIC8qKlxuICAgICAqIENvdmVyIHRoZSBmb2xsb3dpbmcgY2FzZSBzcGVjaWZpY2FsbHlcbiAgICAgKiAxIC0gdjEuMC4wXG4gICAgICogMiAtIHYxLjAuMS1iZXRhLjBcbiAgICAgKiAzIC0gdjEuMC4xLWJldGEuMVxuICAgICAqIDQgLSB2MS4wLjFcbiAgICAgKiA1IC0gbm93IHB1Ymxpc2ggYSBuZXcgcmVsZWFzZSBvbiB0aGUgcHJlcmVsZWFzZSBicmFuY2hcbiAgICAgKiAgICBieSBzZXR0aW5nIHRoZSBsYXRlc3RUYWcgYXMgdjEuMC4xIGluc3RlYWQgb2YgdjEuMC4xLWJldGEuMVxuICAgICAqL1xuICAgIGNvbnN0IHJlbGVhc2VUYWdzID0gdGFncy5maWx0ZXIoKHgpID0+XG4gICAgICBuZXcgUmVnRXhwKGBeJHtwcmVmaXh9dihbMC05XSspXFxcXC4oWzAtOV0rKVxcXFwuKFswLTldKykkYCkudGVzdCh4KSxcbiAgICApO1xuXG4gICAgbGV0IHJlbGVhc2VUYWc6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAocmVsZWFzZVRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcmVsZWFzZVRhZyA9IHJlbGVhc2VUYWdzWzBdO1xuICAgIH1cblxuICAgIGlmIChwcmVmaXgpIHtcbiAgICAgIHJlbGVhc2VUYWcgPSByZWxlYXNlVGFnPy5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgICBwcmVyZWxlYXNlVGFnID0gcHJlcmVsZWFzZVRhZy5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKHJlbGVhc2VUYWcgJiYgY29tcGFyZShyZWxlYXNlVGFnLCBwcmVyZWxlYXNlVGFnKSA9PT0gMSkge1xuICAgICAgdGFncyA9IHJlbGVhc2VUYWdzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YWdzID0gcHJlcmVsZWFzZVRhZ3M7XG4gICAgfVxuICB9XG5cbiAgdGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PiB4KTtcblxuICAvLyBpZiBhIHByZS1yZWxlYXNlIHRhZyBpcyB1c2VkLCB0aGVuIGFkZCBpdCB0byB0aGUgaW5pdGlhbCB2ZXJzaW9uXG4gIGxldCBpc0ZpcnN0UmVsZWFzZSA9IGZhbHNlO1xuICBsZXQgbGF0ZXN0VGFnO1xuXG4gIGlmICh0YWdzLmxlbmd0aCA+IDApIHtcbiAgICBsYXRlc3RUYWcgPSB0YWdzWzBdO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGluaXRpYWwgPSBgJHtwcmVmaXh9diR7bWFqb3IgPz8gMH0uJHttaW5vciA/PyAwfS4wYDtcbiAgICBsYXRlc3RUYWcgPSBwcmVyZWxlYXNlID8gYCR7aW5pdGlhbH0tJHtwcmVyZWxlYXNlfS4wYCA6IGluaXRpYWw7XG4gICAgaXNGaXJzdFJlbGVhc2UgPSB0cnVlO1xuICB9XG5cbiAgLy8gcmVtb3ZlIHRhZyBwcmVmaXggKGlmIGV4aXN0cylcbiAgbGV0IGxhdGVzdFZlcnNpb24gPSBsYXRlc3RUYWc7XG4gIGlmIChwcmVmaXggJiYgbGF0ZXN0VmVyc2lvbi5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICBsYXRlc3RWZXJzaW9uID0gbGF0ZXN0VmVyc2lvbi5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gIH1cblxuICAvLyByZW1vdmUgXCJ2XCIgcHJlZml4IChpZiBleGlzdHMpXG4gIGlmIChsYXRlc3RWZXJzaW9uLnN0YXJ0c1dpdGgoXCJ2XCIpKSB7XG4gICAgbGF0ZXN0VmVyc2lvbiA9IGxhdGVzdFZlcnNpb24uc3Vic3RyaW5nKDEpO1xuICB9XG5cbiAgcmV0dXJuIHsgbGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnLCBpc0ZpcnN0UmVsZWFzZSB9O1xufVxuIl19
|
|
@@ -41,7 +41,7 @@ const fs_1 = require("fs");
|
|
|
41
41
|
const path = __importStar(require("node:path"));
|
|
42
42
|
const logging = __importStar(require("../logging"));
|
|
43
43
|
const exec_1 = require("../util/exec");
|
|
44
|
-
const DEFAULT_CATV_SPEC = "commit-and-tag-version@^
|
|
44
|
+
const DEFAULT_CATV_SPEC = "commit-and-tag-version@^13";
|
|
45
45
|
class CommitAndTagVersion {
|
|
46
46
|
cwd;
|
|
47
47
|
options;
|
|
@@ -188,4 +188,4 @@ function stripAnsi(str) {
|
|
|
188
188
|
].join("|");
|
|
189
189
|
return str.replace(new RegExp(pattern, "g"), "");
|
|
190
190
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LXRhZy12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvY29tbWl0LXRhZy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMkJBQW9DO0FBQ3BDLGdEQUFrQztBQUVsQyxvREFBc0M7QUFDdEMsdUNBQThDO0FBRzlDLE1BQU0saUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFtQnZELE1BQWEsbUJBQW1CO0lBTVg7SUFDQTtJQU5GLElBQUksQ0FBbUI7SUFDdkIsSUFBSSxDQUFXO0lBRWhDLFlBQ0UsV0FBK0IsRUFDZCxHQUFXLEVBQ1gsT0FBNEI7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRTdDLElBQUksV0FBK0IsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsOERBQThEO1lBQzlELDREQUE0RDtZQUM1RCxJQUFJLENBQUM7Z0JBQ0gsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNyRSxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLGdEQUFnRDtZQUNsRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsOERBQThEO1lBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLDBFQUEwRTtZQUMxRSxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLGlCQUFpQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFF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ZC10YWctdmVyc2lvblxuICovXG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gXCJjb252ZW50aW9uYWwtY2hhbmdlbG9nLWNvbmZpZy1zcGVjXCI7XG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gXCIuLi9sb2dnaW5nXCI7XG5pbXBvcnQgeyBnaXQsIG5vZGUsIG5weCB9IGZyb20gXCIuLi91dGlsL2V4ZWNcIjtcbmltcG9ydCB0eXBlIHsgQXN5bmNUb29sLCBUb29sIH0gZnJvbSBcIi4uL3V0aWwvZXhlY1wiO1xuXG5jb25zdCBERUZBVUxUX0NBVFZfU1BFQyA9IFwiY29tbWl0LWFuZC10YWctdmVyc2lvbkBeMTJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21taXRBbmRUYWdPcHRpb25zIHtcbiAgcmVhZG9ubHkgdGFnUHJlZml4Pzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uRmlsZTogc3RyaW5nO1xuICByZWFkb25seSBjaGFuZ2Vsb2dGaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICByZWFkb25seSBjb25maWdPcHRpb25zPzogQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZU9wdGlvbnMge1xuICByZWFkb25seSByZWxlYXNlQXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG4gIC8qKiBBdm9pZCB1cGRhdGluZyB0aGUgdmVyc2lvbiBmaWxlcyAqL1xuICByZWFkb25seSBza2lwQnVtcD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNraXBDaGFuZ2Vsb2c/OiBib29sZWFuO1xuICByZWFkb25seSBjYXB0dXJlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1pdEFuZFRhZ1ZlcnNpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRvb2w6IFRvb2wgfCBBc3luY1Rvb2w7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXJnczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcGFja2FnZVNwZWM6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN3ZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ29tbWl0QW5kVGFnT3B0aW9ucyxcbiAgKSB7XG4gICAgbGV0IHJlc29sdmVkQ2xpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFwYWNrYWdlU3BlYykge1xuICAgICAgLy8gSWYgbm8gcGFja2FnZVNwZWMgaXMgZ2l2ZW4sIHRyeSBhbmQgcmVzb2x2ZSB0aGUgQ0FUViBiaW5hcnlcbiAgICAgIC8vIGZyb20gZGV2RGVwZW5kZW5jaWVzLiBUaGlzIHdpbGwgc3BlZWQgdXAgZXhlY3V0aW9uIGEgbG90LlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzb2x2ZWRDbGkgPSByZXF1aXJlLnJlc29sdmUoXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uL2Jpbi9jbGkuanNcIik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gbm90IGluc3RhbGxlZCBsb2NhbGx5OyBmYWxsIGJhY2sgdG8gbnB4IGJlbG93XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc29sdmVkQ2xpKSB7XG4gICAgICAvLyBSdW4gdGhlIHJlc29sdmVkIENMSSBkaXJlY3RseSB3aXRoIG5vZGUgLSBmdWxseSBzaGVsbC1mcmVlLlxuICAgICAgdGhpcy50b29sID0gbm9kZTtcbiAgICAgIHRoaXMuYXJncyA9IFtyZXNvbHZlZENsaV07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG5weCBpcyBhIFdpbmRvd3MgYC5jbWRgIHNoaW0sIHNvIGl0IHJ1bnMgdmlhIHRoZSBjcm9zcy1wbGF0Zm9ybSBoZWxwZXIuXG4gICAgICB0aGlzLnRvb2wgPSBucHg7XG4gICAgICB0aGlzLmFyZ3MgPSBbcGFja2FnZVNwZWMgPz8gREVGQVVMVF9DQVRWX1NQRUNdO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgdGhlIGBjb21taXQtYW5kLXRhZ2AgcGFja2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGludm9rZTxBIGV4dGVuZHMgSW52b2tlT3B0aW9ucz4oXG4gICAgb3B0aW9uczogQSxcbiAgKTogUHJvbWlzZTxBIGV4dGVuZHMgeyBjYXB0dXJlOiB0cnVlIH0gPyBzdHJpbmcgOiB2b2lkPiB7XG4gICAgY29uc3QgY2F0dkNvbmZpZzogQ29tbWl0QW5kVGFnQ29uZmlnID0ge1xuICAgICAgcGFja2FnZUZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWxlbmFtZTogdGhpcy5vcHRpb25zLnZlcnNpb25GaWxlLFxuICAgICAgICAgIHR5cGU6IFwianNvblwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGJ1bXBGaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZW5hbWU6IHRoaXMub3B0aW9ucy52ZXJzaW9uRmlsZSxcbiAgICAgICAgICB0eXBlOiBcImpzb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBjb21taXRBbGw6IGZhbHNlLFxuICAgICAgaW5maWxlOiB0aGlzLm9wdGlvbnMuY2hhbmdlbG9nRmlsZSxcbiAgICAgIHByZXJlbGVhc2U6IHRoaXMub3B0aW9ucy5wcmVyZWxlYXNlLFxuICAgICAgaGVhZGVyOiBcIlwiLFxuICAgICAgc2tpcDoge1xuICAgICAgICBjb21taXQ6IHRydWUsXG4gICAgICAgIHRhZzogdHJ1ZSxcbiAgICAgICAgYnVtcDogb3B0aW9ucy5za2lwQnVtcCxcbiAgICAgICAgY2hhbmdlbG9nOiBvcHRpb25zLnNraXBDaGFuZ2Vsb2csXG4gICAgICB9LFxuICAgICAgdGFnUHJlZml4OiB0aGlzLm9wdGlvbnMudGFnUHJlZml4XG4gICAgICAgID8gYCR7dGhpcy5vcHRpb25zLnRhZ1ByZWZpeH12YFxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJlbGVhc2VBczogb3B0aW9ucy5yZWxlYXNlQXMsXG4gICAgICBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuLFxuICAgICAgLi4udGhpcy5vcHRpb25zLmNvbmZpZ09wdGlvbnMsXG4gICAgfTtcbiAgICBsb2dnaW5nLmRlYnVnKGAudmVyc2lvbnJjLmpzb246ICR7SlNPTi5zdHJpbmdpZnkoY2F0dkNvbmZpZyl9YCk7XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBjb25maWcgZmlsZSwgdGhlbiBleGVjdXRlIHRoZSBwYWNrYWdlIGFuZCByZW1vdmUgdGhlXG4gICAgLy8gY29uZmlnIGZpbGUgYWdhaW4uXG4gICAgY29uc3QgcmNmaWxlID0gcGF0aC5qb2luKHRoaXMuY3dkLCBcIi52ZXJzaW9ucmMuanNvblwiKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocmNmaWxlLCBKU09OLnN0cmluZ2lmeShjYXR2Q29uZmlnLCB1bmRlZmluZWQsIDIpKTtcbiAgICB0cnkge1xuICAgICAgbGV0IHJldDogYW55O1xuICAgICAgaWYgKG9wdGlvbnMuY2FwdHVyZSkge1xuICAgICAgICByZXQgPSBhd2FpdCB0aGlzLnRvb2wuY2FwdHVyZSh0aGlzLmFyZ3MsIHsgY3dkOiB0aGlzLmN3ZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMudG9vbC5ydW4odGhpcy5hcmdzLCB7IGN3ZDogdGhpcy5jd2QgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBmcy51bmxpbmsocmNmaWxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnZW5lcmF0ZSB0aGUgbW9zdCByZWNlbnQgY2hhbmdlIGxvZ1xuICAgKlxuICAgKiBEbyB0aGlzIGJ5IGRlbGV0aW5nIHRoZSBtb3N0IHJlY2VudCB0YWcsIHJ1bm5pbmcgQ0FUViwgdGhlblxuICAgKiByZXN0b3JpbmcgdGhlIHRhZy5cbiAgICpcbiAgICogV2UgZG8gdGhpcyBjb21iaW5lZCB3aXRoIHNraXBwaW5nIHRoZSBidW1wIHRvIG1ha2UgQ0FUViByZWdlbmVyYXRlIHRoZVxuICAgKiBjaGFuZ2Vsb2cgb2YgdGhlIG1vc3QgcmVjZW50IHJlbGVhc2UgKGlmIHdlIGxlZnQgdGhlIHRhZywgdGhlIGNoYW5nZWxvZ1xuICAgKiB3b3VsZCBiZSBlbXB0eSkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVnZW5lcmF0ZVByZXZpb3VzQ2hhbmdlTG9nKHZlcnNpb246IHN0cmluZywgbGF0ZXN0VGFnOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvbGRDb21taXQgPSBnaXQuY2FwdHVyZShbXCJyZXYtcGFyc2VcIiwgbGF0ZXN0VGFnXSwge1xuICAgICAgY3dkOiB0aGlzLmN3ZCxcbiAgICB9KTtcblxuICAgIGdpdC5ydW4oW1widGFnXCIsIFwiLS1kZWxldGVcIiwgbGF0ZXN0VGFnXSwgeyBjd2Q6IHRoaXMuY3dkIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmludm9rZSh7XG4gICAgICAgIHJlbGVhc2VBczogdmVyc2lvbixcbiAgICAgICAgc2tpcEJ1bXA6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZ2l0LnJ1bihbXCJ0YWdcIiwgbGF0ZXN0VGFnLCBvbGRDb21taXRdLCB7IGN3ZDogdGhpcy5jd2QgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSBDQVRWIGFuZCByZXR1cm4gdGhlIHZlcnNpb24gaXQgd291bGQgaGF2ZSBidW1wZWQgdG9cbiAgICpcbiAgICogQ0FUViB3aWxsIGFsd2F5cyBhdCBsZWFzdCBwZXJmb3JtIGEgcGF0Y2ggYnVtcCwgZXZlbiBpZiB0aGVyZSBhcmVuJ3QgYW55XG4gICAqIGNvbW1pdHMgdG8gbG9vayBhdC5cbiAgICpcbiAgICogV2UgaGF2ZSB0byBkbyB0aGlzIGJ5IHBhcnNpbmcgdGhlIG91dHB1dCBzdHJpbmcsIHdoaWNoIGlzIHByZXR0eSBiYWRcbiAgICogYnV0IEkgZG9uJ3Qgc2VlIHRoYXQgd2UgaGF2ZSBhbm90aGVyIHdheS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkcnlSdW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBzdHJpcEFuc2koXG4gICAgICBhd2FpdCB0aGlzLmludm9rZSh7XG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgICAgIGRyeVJ1bjogdHJ1ZSxcbiAgICAgICAgc2tpcENoYW5nZWxvZzogdHJ1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgcmUgPSAvYnVtcGluZyB2ZXJzaW9uLipmcm9tIChbMC05YS16ListXSspIHRvIChbMC05YS16ListXSspL2ltO1xuICAgIGNvbnN0IG0gPSByZS5leGVjKG91dHB1dCk7XG4gICAgaWYgKCFtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBtYXRjaCAke3JlfSBpbiAke291dHB1dH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbVsyXTtcbiAgfVxufVxuXG4vKipcbiAqIE1vZGVsaW5nIHRoZSBDQVRWIGNvbmZpZyBmaWxlXG4gKi9cbmludGVyZmFjZSBDb21taXRBbmRUYWdDb25maWcgZXh0ZW5kcyBDb25maWcge1xuICBwYWNrYWdlRmlsZXM/OiBBcnJheTx7IGZpbGVuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9PjtcbiAgYnVtcEZpbGVzPzogQXJyYXk8eyBmaWxlbmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfT47XG4gIGNvbW1pdEFsbD86IGJvb2xlYW47XG4gIGluZmlsZT86IHN0cmluZztcbiAgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgc2tpcD86IHtcbiAgICBjb21taXQ/OiBib29sZWFuO1xuICAgIHRhZz86IGJvb2xlYW47XG4gICAgYnVtcD86IGJvb2xlYW47XG4gICAgY2hhbmdlbG9nPzogYm9vbGVhbjtcbiAgfTtcbiAgZmlyc3RSZWxlYXNlPzogYm9vbGVhbjtcbiAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICByZWxlYXNlQXM/OiBzdHJpbmc7XG4gIGRyeVJ1bj86IGJvb2xlYW47XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3RyaXBzIEFOU0kgZXNjYXBlIGNvZGVzIGZyb20gYSBzdHJpbmdcbiAqXG4gKiBOZWVkIHRvIHVzZSB0aGlzIGJlY2F1c2UgdGhlIGAtLW5vLWNvbG9yc2AgYXJndW1lbnQgdG8gQ0FUViBpcyBzb21ldGltZXNcbiAqIHJlc3BlY3RlZCBhbmQgc29tZXRpbWVzIG5vdCBhbmQgaXQncyBkcml2aW5nIG1lIGNyYXp5LlxuICovXG5mdW5jdGlvbiBzdHJpcEFuc2koc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBQYXR0ZXJuIG1hdGNoZXMgYWxsIEFOU0kgZXNjYXBlIHNlcXVlbmNlcyBpbmNsdWRpbmcgY29sb3JzLCBjdXJzb3IgbW92ZW1lbnQsIGV0Y1xuICBjb25zdCBwYXR0ZXJuID0gW1xuICAgIFwiW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KVwiLFxuICAgIFwiKD86KD86XFxcXGR7MSw0fSg/OjtcXFxcZHswLDR9KSopP1tcXFxcZEEtUFItVFpjZi1udHFyeT0+PH5dKSlcIixcbiAgXS5qb2luKFwifFwiKTtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAocGF0dGVybiwgXCJnXCIpLCBcIlwiKTtcbn1cbiJdfQ==
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LXRhZy12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvY29tbWl0LXRhZy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMkJBQW9DO0FBQ3BDLGdEQUFrQztBQUVsQyxvREFBc0M7QUFDdEMsdUNBQThDO0FBRzlDLE1BQU0saUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFtQnZELE1BQWEsbUJBQW1CO0lBTVg7SUFDQTtJQU5GLElBQUksQ0FBbUI7SUFDdkIsSUFBSSxDQUFXO0lBRWhDLFlBQ0UsV0FBK0IsRUFDZCxHQUFXLEVBQ1gsT0FBNEI7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRTdDLElBQUksV0FBK0IsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsOERBQThEO1lBQzlELDREQUE0RDtZQUM1RCxJQUFJLENBQUM7Z0JBQ0gsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNyRSxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLGdEQUFnRDtZQUNsRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsOERBQThEO1lBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLDBFQUEwRTtZQUMxRSxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLGlCQUFpQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFF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ZC10YWctdmVyc2lvblxuICovXG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gXCJjb252ZW50aW9uYWwtY2hhbmdlbG9nLWNvbmZpZy1zcGVjXCI7XG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gXCIuLi9sb2dnaW5nXCI7XG5pbXBvcnQgeyBnaXQsIG5vZGUsIG5weCB9IGZyb20gXCIuLi91dGlsL2V4ZWNcIjtcbmltcG9ydCB0eXBlIHsgQXN5bmNUb29sLCBUb29sIH0gZnJvbSBcIi4uL3V0aWwvZXhlY1wiO1xuXG5jb25zdCBERUZBVUxUX0NBVFZfU1BFQyA9IFwiY29tbWl0LWFuZC10YWctdmVyc2lvbkBeMTNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21taXRBbmRUYWdPcHRpb25zIHtcbiAgcmVhZG9ubHkgdGFnUHJlZml4Pzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uRmlsZTogc3RyaW5nO1xuICByZWFkb25seSBjaGFuZ2Vsb2dGaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICByZWFkb25seSBjb25maWdPcHRpb25zPzogQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZU9wdGlvbnMge1xuICByZWFkb25seSByZWxlYXNlQXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG4gIC8qKiBBdm9pZCB1cGRhdGluZyB0aGUgdmVyc2lvbiBmaWxlcyAqL1xuICByZWFkb25seSBza2lwQnVtcD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNraXBDaGFuZ2Vsb2c/OiBib29sZWFuO1xuICByZWFkb25seSBjYXB0dXJlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1pdEFuZFRhZ1ZlcnNpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRvb2w6IFRvb2wgfCBBc3luY1Rvb2w7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXJnczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcGFja2FnZVNwZWM6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN3ZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ29tbWl0QW5kVGFnT3B0aW9ucyxcbiAgKSB7XG4gICAgbGV0IHJlc29sdmVkQ2xpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFwYWNrYWdlU3BlYykge1xuICAgICAgLy8gSWYgbm8gcGFja2FnZVNwZWMgaXMgZ2l2ZW4sIHRyeSBhbmQgcmVzb2x2ZSB0aGUgQ0FUViBiaW5hcnlcbiAgICAgIC8vIGZyb20gZGV2RGVwZW5kZW5jaWVzLiBUaGlzIHdpbGwgc3BlZWQgdXAgZXhlY3V0aW9uIGEgbG90LlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzb2x2ZWRDbGkgPSByZXF1aXJlLnJlc29sdmUoXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uL2Jpbi9jbGkuanNcIik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gbm90IGluc3RhbGxlZCBsb2NhbGx5OyBmYWxsIGJhY2sgdG8gbnB4IGJlbG93XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc29sdmVkQ2xpKSB7XG4gICAgICAvLyBSdW4gdGhlIHJlc29sdmVkIENMSSBkaXJlY3RseSB3aXRoIG5vZGUgLSBmdWxseSBzaGVsbC1mcmVlLlxuICAgICAgdGhpcy50b29sID0gbm9kZTtcbiAgICAgIHRoaXMuYXJncyA9IFtyZXNvbHZlZENsaV07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG5weCBpcyBhIFdpbmRvd3MgYC5jbWRgIHNoaW0sIHNvIGl0IHJ1bnMgdmlhIHRoZSBjcm9zcy1wbGF0Zm9ybSBoZWxwZXIuXG4gICAgICB0aGlzLnRvb2wgPSBucHg7XG4gICAgICB0aGlzLmFyZ3MgPSBbcGFja2FnZVNwZWMgPz8gREVGQVVMVF9DQVRWX1NQRUNdO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgdGhlIGBjb21taXQtYW5kLXRhZ2AgcGFja2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGludm9rZTxBIGV4dGVuZHMgSW52b2tlT3B0aW9ucz4oXG4gICAgb3B0aW9uczogQSxcbiAgKTogUHJvbWlzZTxBIGV4dGVuZHMgeyBjYXB0dXJlOiB0cnVlIH0gPyBzdHJpbmcgOiB2b2lkPiB7XG4gICAgY29uc3QgY2F0dkNvbmZpZzogQ29tbWl0QW5kVGFnQ29uZmlnID0ge1xuICAgICAgcGFja2FnZUZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWxlbmFtZTogdGhpcy5vcHRpb25zLnZlcnNpb25GaWxlLFxuICAgICAgICAgIHR5cGU6IFwianNvblwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGJ1bXBGaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZW5hbWU6IHRoaXMub3B0aW9ucy52ZXJzaW9uRmlsZSxcbiAgICAgICAgICB0eXBlOiBcImpzb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBjb21taXRBbGw6IGZhbHNlLFxuICAgICAgaW5maWxlOiB0aGlzLm9wdGlvbnMuY2hhbmdlbG9nRmlsZSxcbiAgICAgIHByZXJlbGVhc2U6IHRoaXMub3B0aW9ucy5wcmVyZWxlYXNlLFxuICAgICAgaGVhZGVyOiBcIlwiLFxuICAgICAgc2tpcDoge1xuICAgICAgICBjb21taXQ6IHRydWUsXG4gICAgICAgIHRhZzogdHJ1ZSxcbiAgICAgICAgYnVtcDogb3B0aW9ucy5za2lwQnVtcCxcbiAgICAgICAgY2hhbmdlbG9nOiBvcHRpb25zLnNraXBDaGFuZ2Vsb2csXG4gICAgICB9LFxuICAgICAgdGFnUHJlZml4OiB0aGlzLm9wdGlvbnMudGFnUHJlZml4XG4gICAgICAgID8gYCR7dGhpcy5vcHRpb25zLnRhZ1ByZWZpeH12YFxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJlbGVhc2VBczogb3B0aW9ucy5yZWxlYXNlQXMsXG4gICAgICBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuLFxuICAgICAgLi4udGhpcy5vcHRpb25zLmNvbmZpZ09wdGlvbnMsXG4gICAgfTtcbiAgICBsb2dnaW5nLmRlYnVnKGAudmVyc2lvbnJjLmpzb246ICR7SlNPTi5zdHJpbmdpZnkoY2F0dkNvbmZpZyl9YCk7XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBjb25maWcgZmlsZSwgdGhlbiBleGVjdXRlIHRoZSBwYWNrYWdlIGFuZCByZW1vdmUgdGhlXG4gICAgLy8gY29uZmlnIGZpbGUgYWdhaW4uXG4gICAgY29uc3QgcmNmaWxlID0gcGF0aC5qb2luKHRoaXMuY3dkLCBcIi52ZXJzaW9ucmMuanNvblwiKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocmNmaWxlLCBKU09OLnN0cmluZ2lmeShjYXR2Q29uZmlnLCB1bmRlZmluZWQsIDIpKTtcbiAgICB0cnkge1xuICAgICAgbGV0IHJldDogYW55O1xuICAgICAgaWYgKG9wdGlvbnMuY2FwdHVyZSkge1xuICAgICAgICByZXQgPSBhd2FpdCB0aGlzLnRvb2wuY2FwdHVyZSh0aGlzLmFyZ3MsIHsgY3dkOiB0aGlzLmN3ZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMudG9vbC5ydW4odGhpcy5hcmdzLCB7IGN3ZDogdGhpcy5jd2QgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBmcy51bmxpbmsocmNmaWxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnZW5lcmF0ZSB0aGUgbW9zdCByZWNlbnQgY2hhbmdlIGxvZ1xuICAgKlxuICAgKiBEbyB0aGlzIGJ5IGRlbGV0aW5nIHRoZSBtb3N0IHJlY2VudCB0YWcsIHJ1bm5pbmcgQ0FUViwgdGhlblxuICAgKiByZXN0b3JpbmcgdGhlIHRhZy5cbiAgICpcbiAgICogV2UgZG8gdGhpcyBjb21iaW5lZCB3aXRoIHNraXBwaW5nIHRoZSBidW1wIHRvIG1ha2UgQ0FUViByZWdlbmVyYXRlIHRoZVxuICAgKiBjaGFuZ2Vsb2cgb2YgdGhlIG1vc3QgcmVjZW50IHJlbGVhc2UgKGlmIHdlIGxlZnQgdGhlIHRhZywgdGhlIGNoYW5nZWxvZ1xuICAgKiB3b3VsZCBiZSBlbXB0eSkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVnZW5lcmF0ZVByZXZpb3VzQ2hhbmdlTG9nKHZlcnNpb246IHN0cmluZywgbGF0ZXN0VGFnOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvbGRDb21taXQgPSBnaXQuY2FwdHVyZShbXCJyZXYtcGFyc2VcIiwgbGF0ZXN0VGFnXSwge1xuICAgICAgY3dkOiB0aGlzLmN3ZCxcbiAgICB9KTtcblxuICAgIGdpdC5ydW4oW1widGFnXCIsIFwiLS1kZWxldGVcIiwgbGF0ZXN0VGFnXSwgeyBjd2Q6IHRoaXMuY3dkIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmludm9rZSh7XG4gICAgICAgIHJlbGVhc2VBczogdmVyc2lvbixcbiAgICAgICAgc2tpcEJ1bXA6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZ2l0LnJ1bihbXCJ0YWdcIiwgbGF0ZXN0VGFnLCBvbGRDb21taXRdLCB7IGN3ZDogdGhpcy5jd2QgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSBDQVRWIGFuZCByZXR1cm4gdGhlIHZlcnNpb24gaXQgd291bGQgaGF2ZSBidW1wZWQgdG9cbiAgICpcbiAgICogQ0FUViB3aWxsIGFsd2F5cyBhdCBsZWFzdCBwZXJmb3JtIGEgcGF0Y2ggYnVtcCwgZXZlbiBpZiB0aGVyZSBhcmVuJ3QgYW55XG4gICAqIGNvbW1pdHMgdG8gbG9vayBhdC5cbiAgICpcbiAgICogV2UgaGF2ZSB0byBkbyB0aGlzIGJ5IHBhcnNpbmcgdGhlIG91dHB1dCBzdHJpbmcsIHdoaWNoIGlzIHByZXR0eSBiYWRcbiAgICogYnV0IEkgZG9uJ3Qgc2VlIHRoYXQgd2UgaGF2ZSBhbm90aGVyIHdheS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkcnlSdW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBzdHJpcEFuc2koXG4gICAgICBhd2FpdCB0aGlzLmludm9rZSh7XG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgICAgIGRyeVJ1bjogdHJ1ZSxcbiAgICAgICAgc2tpcENoYW5nZWxvZzogdHJ1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgcmUgPSAvYnVtcGluZyB2ZXJzaW9uLipmcm9tIChbMC05YS16ListXSspIHRvIChbMC05YS16ListXSspL2ltO1xuICAgIGNvbnN0IG0gPSByZS5leGVjKG91dHB1dCk7XG4gICAgaWYgKCFtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBtYXRjaCAke3JlfSBpbiAke291dHB1dH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbVsyXTtcbiAgfVxufVxuXG4vKipcbiAqIE1vZGVsaW5nIHRoZSBDQVRWIGNvbmZpZyBmaWxlXG4gKi9cbmludGVyZmFjZSBDb21taXRBbmRUYWdDb25maWcgZXh0ZW5kcyBDb25maWcge1xuICBwYWNrYWdlRmlsZXM/OiBBcnJheTx7IGZpbGVuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9PjtcbiAgYnVtcEZpbGVzPzogQXJyYXk8eyBmaWxlbmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfT47XG4gIGNvbW1pdEFsbD86IGJvb2xlYW47XG4gIGluZmlsZT86IHN0cmluZztcbiAgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgc2tpcD86IHtcbiAgICBjb21taXQ/OiBib29sZWFuO1xuICAgIHRhZz86IGJvb2xlYW47XG4gICAgYnVtcD86IGJvb2xlYW47XG4gICAgY2hhbmdlbG9nPzogYm9vbGVhbjtcbiAgfTtcbiAgZmlyc3RSZWxlYXNlPzogYm9vbGVhbjtcbiAgdGFnUHJlZml4Pzogc3RyaW5nO1xuICByZWxlYXNlQXM/OiBzdHJpbmc7XG4gIGRyeVJ1bj86IGJvb2xlYW47XG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3RyaXBzIEFOU0kgZXNjYXBlIGNvZGVzIGZyb20gYSBzdHJpbmdcbiAqXG4gKiBOZWVkIHRvIHVzZSB0aGlzIGJlY2F1c2UgdGhlIGAtLW5vLWNvbG9yc2AgYXJndW1lbnQgdG8gQ0FUViBpcyBzb21ldGltZXNcbiAqIHJlc3BlY3RlZCBhbmQgc29tZXRpbWVzIG5vdCBhbmQgaXQncyBkcml2aW5nIG1lIGNyYXp5LlxuICovXG5mdW5jdGlvbiBzdHJpcEFuc2koc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBQYXR0ZXJuIG1hdGNoZXMgYWxsIEFOU0kgZXNjYXBlIHNlcXVlbmNlcyBpbmNsdWRpbmcgY29sb3JzLCBjdXJzb3IgbW92ZW1lbnQsIGV0Y1xuICBjb25zdCBwYXR0ZXJuID0gW1xuICAgIFwiW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KVwiLFxuICAgIFwiKD86KD86XFxcXGR7MSw0fSg/OjtcXFxcZHswLDR9KSopP1tcXFxcZEEtUFItVFpjZi1udHFyeT0+PH5dKSlcIixcbiAgXS5qb2luKFwifFwiKTtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAocGF0dGVybiwgXCJnXCIpLCBcIlwiKTtcbn1cbiJdfQ==
|