@matter/tools 0.12.0-alpha.0-20241218-de74d9dc7 → 0.12.0-alpha.0-20241220-ad0dea627
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/dist/cjs/building/docs.js +1 -1
- package/dist/cjs/building/docs.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/util/file.d.ts +15 -3
- package/dist/cjs/util/file.d.ts.map +1 -1
- package/dist/cjs/util/file.js +24 -82
- package/dist/cjs/util/file.js.map +2 -2
- package/dist/cjs/util/glob.d.ts +10 -0
- package/dist/cjs/util/glob.d.ts.map +1 -0
- package/dist/cjs/util/glob.js +111 -0
- package/dist/cjs/util/glob.js.map +6 -0
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +1 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/package.d.ts.map +1 -1
- package/dist/cjs/util/package.js +3 -2
- package/dist/cjs/util/package.js.map +1 -1
- package/dist/esm/building/docs.js +2 -2
- package/dist/esm/building/docs.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/util/file.d.ts +15 -3
- package/dist/esm/util/file.d.ts.map +1 -1
- package/dist/esm/util/file.js +25 -83
- package/dist/esm/util/file.js.map +2 -2
- package/dist/esm/util/glob.d.ts +10 -0
- package/dist/esm/util/glob.d.ts.map +1 -0
- package/dist/esm/util/glob.js +91 -0
- package/dist/esm/util/glob.js.map +6 -0
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +2 -1
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/package.d.ts.map +1 -1
- package/dist/esm/util/package.js +3 -2
- package/dist/esm/util/package.js.map +1 -1
- package/package.json +2 -2
- package/src/building/docs.ts +1 -1
- package/src/index.ts +1 -0
- package/src/util/file.ts +41 -109
- package/src/util/glob.ts +118 -0
- package/src/util/index.ts +1 -0
- package/src/util/package.ts +3 -1
|
@@ -31,7 +31,7 @@ var import_graph = require("./graph.js");
|
|
|
31
31
|
* Copyright 2022-2024 Matter.js Authors
|
|
32
32
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
33
|
*/
|
|
34
|
-
const PLUGINS = ["typedoc-
|
|
34
|
+
const PLUGINS = ["typedoc-github-theme"];
|
|
35
35
|
const OUTPUT_PATH = "build/docs/docs";
|
|
36
36
|
const THEME_OPTIONS = {
|
|
37
37
|
themeColor: "#cb9820"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/building/docs.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAyB;AACzB,qBAUO;AACP,kBAAuB;AAGvB,mBAAsB;AArBtB;AAAA;AAAA;AAAA;AAAA;AA0BA,MAAM,UAAU,CAAC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["mergeInto"]
|
|
6
6
|
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./building/project.js";
|
|
|
9
9
|
export * from "./running/ensure-compiled.js";
|
|
10
10
|
export * from "./util/commander.js";
|
|
11
11
|
export * from "./util/file.js";
|
|
12
|
+
export * from "./util/glob.js";
|
|
12
13
|
export * from "./util/package.js";
|
|
13
14
|
export * from "./util/progress.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ __reExport(src_exports, require("./building/project.js"), module.exports);
|
|
|
21
21
|
__reExport(src_exports, require("./running/ensure-compiled.js"), module.exports);
|
|
22
22
|
__reExport(src_exports, require("./util/commander.js"), module.exports);
|
|
23
23
|
__reExport(src_exports, require("./util/file.js"), module.exports);
|
|
24
|
+
__reExport(src_exports, require("./util/glob.js"), module.exports);
|
|
24
25
|
__reExport(src_exports, require("./util/package.js"), module.exports);
|
|
25
26
|
__reExport(src_exports, require("./util/progress.js"), module.exports);
|
|
26
27
|
/**
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,kCANd;AAOA,wBAAc,gCAPd;AAQA,wBAAc,kCARd;AASA,wBAAc,yCATd;AAUA,wBAAc,gCAVd;AAWA,wBAAc,2BAXd;AAYA,wBAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,kCANd;AAOA,wBAAc,gCAPd;AAQA,wBAAc,kCARd;AASA,wBAAc,yCATd;AAUA,wBAAc,gCAVd;AAWA,wBAAc,2BAXd;AAYA,wBAAc,2BAZd;AAaA,wBAAc,8BAbd;AAcA,wBAAc,+BAdd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/util/file.d.ts
CHANGED
|
@@ -6,9 +6,21 @@
|
|
|
6
6
|
export declare function maybeStatSync(path: string): import("fs").Stats | undefined;
|
|
7
7
|
export declare function maybeReadJsonSync(path: string): any;
|
|
8
8
|
export declare function maybeReaddirSync(path: string): string[] | undefined;
|
|
9
|
-
export declare class GlobError extends Error {
|
|
10
|
-
}
|
|
11
|
-
export declare function globSync(pattern: string | string[]): string[];
|
|
12
9
|
export declare function isDirectory(path: string): boolean;
|
|
13
10
|
export declare function isFile(path: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Tiny virtual filesystem driver. Currently used only for processing globs.
|
|
13
|
+
*/
|
|
14
|
+
export interface FilesystemSync<T extends FilesystemSync.Stat = FilesystemSync.Stat> {
|
|
15
|
+
resolve(...segments: string[]): string;
|
|
16
|
+
readdir(path: string): string[] | undefined;
|
|
17
|
+
stat(path: string): T | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare function FilesystemSync(): FilesystemSync<FilesystemSync.Stat>;
|
|
20
|
+
export declare namespace FilesystemSync {
|
|
21
|
+
interface Stat {
|
|
22
|
+
isDirectory?: boolean;
|
|
23
|
+
isFile?: boolean;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
14
26
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/util/file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/util/file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,kCASzC;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,OAa7C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,wBAQ5C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,WAEvC;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,WAElC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI;IAC/E,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAyBpE;AAED,yBAAiB,cAAc,CAAC;IAC5B,UAAiB,IAAI;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB;CACJ"}
|
package/dist/cjs/util/file.js
CHANGED
|
@@ -18,8 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var file_exports = {};
|
|
20
20
|
__export(file_exports, {
|
|
21
|
-
|
|
22
|
-
globSync: () => globSync,
|
|
21
|
+
FilesystemSync: () => FilesystemSync,
|
|
23
22
|
isDirectory: () => isDirectory,
|
|
24
23
|
isFile: () => isFile,
|
|
25
24
|
maybeReadJsonSync: () => maybeReadJsonSync,
|
|
@@ -28,7 +27,6 @@ __export(file_exports, {
|
|
|
28
27
|
});
|
|
29
28
|
module.exports = __toCommonJS(file_exports);
|
|
30
29
|
var import_fs = require("fs");
|
|
31
|
-
var import_minimatch = require("minimatch");
|
|
32
30
|
var import_path = require("path");
|
|
33
31
|
var import_errors = require("./errors.js");
|
|
34
32
|
/**
|
|
@@ -72,89 +70,33 @@ function maybeReaddirSync(path) {
|
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
72
|
}
|
|
75
|
-
class GlobError extends Error {
|
|
76
|
-
}
|
|
77
|
-
function globSync(pattern) {
|
|
78
|
-
if (typeof pattern === "string") {
|
|
79
|
-
return [...globOneSync(pattern)];
|
|
80
|
-
}
|
|
81
|
-
const result = Array();
|
|
82
|
-
for (const p of pattern) {
|
|
83
|
-
result.push(...globOneSync(p));
|
|
84
|
-
}
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
87
|
-
function globOneSync(pattern) {
|
|
88
|
-
const mm = new import_minimatch.Minimatch(pattern.replace(/\\/g, "/"), {});
|
|
89
|
-
const results = /* @__PURE__ */ new Set();
|
|
90
|
-
for (const part of mm.set) {
|
|
91
|
-
for (const path of globOnePartSync(mm, part)) {
|
|
92
|
-
results.add(path);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return results;
|
|
96
|
-
}
|
|
97
|
-
function globOnePartSync(mm, segments) {
|
|
98
|
-
let rootPath = "";
|
|
99
|
-
let didOne = false;
|
|
100
|
-
while (typeof segments[0] === "string") {
|
|
101
|
-
if (didOne) {
|
|
102
|
-
rootPath += "/";
|
|
103
|
-
} else {
|
|
104
|
-
didOne = true;
|
|
105
|
-
}
|
|
106
|
-
rootPath += segments.shift();
|
|
107
|
-
}
|
|
108
|
-
if (!segments.length) {
|
|
109
|
-
const stat = maybeStatSync(rootPath);
|
|
110
|
-
if (stat?.[rootPath.endsWith("/") ? "isDirectory" : "isFile"]()) {
|
|
111
|
-
return [rootPath];
|
|
112
|
-
}
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
const results = /* @__PURE__ */ new Set();
|
|
116
|
-
function match(path, segments2) {
|
|
117
|
-
if (!segments2.length) {
|
|
118
|
-
results.add(path);
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
if (typeof segments2[0] === "string") {
|
|
122
|
-
const subpath = (0, import_path.resolve)(path, segments2[0]);
|
|
123
|
-
if (maybeStatSync((0, import_path.resolve)(path, segments2[0]))) {
|
|
124
|
-
match(subpath, segments2.slice(1));
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (segments2.length === 1 && segments2[0] === import_minimatch.GLOBSTAR) {
|
|
129
|
-
results.add(path);
|
|
130
|
-
}
|
|
131
|
-
const subnames = maybeReaddirSync(path);
|
|
132
|
-
if (!subnames) {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
for (const subname of subnames) {
|
|
136
|
-
const subpath = (0, import_path.resolve)(path, subname);
|
|
137
|
-
if (segments2[0] !== import_minimatch.GLOBSTAR) {
|
|
138
|
-
if (mm.matchOne([subname], segments2, true)) {
|
|
139
|
-
match(subpath, segments2.slice(1));
|
|
140
|
-
}
|
|
141
|
-
continue;
|
|
142
|
-
}
|
|
143
|
-
if (segments2.length > 1) {
|
|
144
|
-
if (mm.matchOne([subname], segments2.slice(1), true)) {
|
|
145
|
-
match(subpath, segments2.slice(2));
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
match(subpath, segments2);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
match(rootPath, segments);
|
|
152
|
-
return results;
|
|
153
|
-
}
|
|
154
73
|
function isDirectory(path) {
|
|
155
74
|
return !!(0, import_errors.ignoreErrorSync)("ENOENT", () => (0, import_fs.statSync)(path).isDirectory());
|
|
156
75
|
}
|
|
157
76
|
function isFile(path) {
|
|
158
77
|
return !!(0, import_errors.ignoreErrorSync)("ENOENT", () => (0, import_fs.statSync)(path).isFile());
|
|
159
78
|
}
|
|
79
|
+
function FilesystemSync() {
|
|
80
|
+
return {
|
|
81
|
+
resolve(...segments) {
|
|
82
|
+
return (0, import_path.resolve)(...segments);
|
|
83
|
+
},
|
|
84
|
+
readdir(path) {
|
|
85
|
+
return maybeReaddirSync(path);
|
|
86
|
+
},
|
|
87
|
+
stat(path) {
|
|
88
|
+
const stats = maybeStatSync(path);
|
|
89
|
+
if (stats) {
|
|
90
|
+
return {
|
|
91
|
+
get isFile() {
|
|
92
|
+
return stats.isFile();
|
|
93
|
+
},
|
|
94
|
+
get isDirectory() {
|
|
95
|
+
return stats.isDirectory();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
160
102
|
//# sourceMappingURL=file.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/file.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,gBAAoD;AACpD,kBAAwB;AACxB,oBAAgC;AARhC;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,gBAAgB,GAAY;AACjC,SAAO,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU,MAAM,EAAE,SAAS,YAAY,EAAE,SAAS;AACpG;AAEO,SAAS,cAAc,MAAc;AACxC,MAAI;AACA,eAAO,oBAAS,IAAI;AAAA,EACxB,SAAS,GAAG;AACR,QAAI,gBAAgB,CAAC,GAAG;AACpB;AAAA,IACJ;AACA,UAAM;AAAA,EACV;AACJ;AAEO,SAAS,kBAAkB,MAAc;AAC5C,MAAI;AACA,WAAO,KAAK,UAAM,wBAAa,MAAM,OAAO,CAAC;AAAA,EACjD,SAAS,GAAG;AACR,QAAI,gBAAgB,CAAC,GAAG;AACpB;AAAA,IACJ;AACA,QAAI,aAAa,aAAa;AAC1B,QAAE,UAAU,iBAAiB,IAAI,KAAK,EAAE,OAAO;AAC/C,YAAM;AAAA,IACV;AACA,UAAM;AAAA,EACV;AACJ;AAEO,SAAS,iBAAiB,MAAc;AAC3C,MAAI;AACA,eAAO,uBAAY,IAAI;AAAA,EAC3B,SAAS,GAAG;AACR,QAAI,gBAAgB,CAAC,GAAG;AACpB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEO,SAAS,YAAY,MAAc;AACtC,SAAO,CAAC,KAAC,+BAAgB,UAAU,UAAM,oBAAS,IAAI,EAAE,YAAY,CAAC;AACzE;AAEO,SAAS,OAAO,MAAc;AACjC,SAAO,CAAC,KAAC,+BAAgB,UAAU,UAAM,oBAAS,IAAI,EAAE,OAAO,CAAC;AACpE;AAWO,SAAS,iBAAsD;AAClE,SAAO;AAAA,IACH,WAAW,UAAU;AACjB,iBAAO,qBAAQ,GAAG,QAAQ;AAAA,IAC9B;AAAA,IAEA,QAAQ,MAAM;AACV,aAAO,iBAAiB,IAAI;AAAA,IAChC;AAAA,IAEA,KAAK,MAAM;AACP,YAAM,QAAQ,cAAc,IAAI;AAChC,UAAI,OAAO;AACP,eAAO;AAAA,UACH,IAAI,SAAS;AACT,mBAAO,MAAM,OAAO;AAAA,UACxB;AAAA,UAEA,IAAI,cAAc;AACd,mBAAO,MAAM,YAAY;AAAA,UAC7B;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FilesystemSync } from "./file.js";
|
|
7
|
+
export declare class GlobError extends Error {
|
|
8
|
+
}
|
|
9
|
+
export declare function globSync(pattern: string | string[], fs?: FilesystemSync<FilesystemSync.Stat>): string[];
|
|
10
|
+
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/util/glob.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,sCAAmB,YAWzE"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var glob_exports = {};
|
|
20
|
+
__export(glob_exports, {
|
|
21
|
+
GlobError: () => GlobError,
|
|
22
|
+
globSync: () => globSync
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(glob_exports);
|
|
25
|
+
var import_minimatch = require("minimatch");
|
|
26
|
+
var import_file = require("./file.js");
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
30
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
31
|
+
*/
|
|
32
|
+
class GlobError extends Error {
|
|
33
|
+
}
|
|
34
|
+
function globSync(pattern, fs = (0, import_file.FilesystemSync)()) {
|
|
35
|
+
if (typeof pattern === "string") {
|
|
36
|
+
return [...globOneSync(pattern, fs)];
|
|
37
|
+
}
|
|
38
|
+
const result = Array();
|
|
39
|
+
for (const p of pattern) {
|
|
40
|
+
result.push(...globOneSync(p, fs));
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
function globOneSync(pattern, fs) {
|
|
45
|
+
const mm = new import_minimatch.Minimatch(pattern.replace(/\\/g, "/"), {});
|
|
46
|
+
const results = /* @__PURE__ */ new Set();
|
|
47
|
+
for (const part of mm.set) {
|
|
48
|
+
for (const path of globOnePartSync(mm, part, fs)) {
|
|
49
|
+
results.add(path);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return results;
|
|
53
|
+
}
|
|
54
|
+
function globOnePartSync(mm, segments, fs) {
|
|
55
|
+
let rootPath = "";
|
|
56
|
+
let didOne = false;
|
|
57
|
+
while (typeof segments[0] === "string") {
|
|
58
|
+
if (didOne) {
|
|
59
|
+
rootPath += "/";
|
|
60
|
+
} else {
|
|
61
|
+
didOne = true;
|
|
62
|
+
}
|
|
63
|
+
rootPath += segments.shift();
|
|
64
|
+
}
|
|
65
|
+
if (!segments.length) {
|
|
66
|
+
const stat = fs.stat(rootPath);
|
|
67
|
+
if (stat?.[rootPath.endsWith("/") ? "isDirectory" : "isFile"]) {
|
|
68
|
+
return [rootPath];
|
|
69
|
+
}
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
const results = /* @__PURE__ */ new Set();
|
|
73
|
+
function match(path, segments2) {
|
|
74
|
+
if (!segments2.length) {
|
|
75
|
+
results.add(path);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (typeof segments2[0] === "string") {
|
|
79
|
+
const subpath = fs.resolve(path, segments2[0]);
|
|
80
|
+
if (fs.stat(fs.resolve(path, segments2[0]))) {
|
|
81
|
+
match(subpath, segments2.slice(1));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (segments2.length === 1 && segments2[0] === import_minimatch.GLOBSTAR) {
|
|
86
|
+
results.add(path);
|
|
87
|
+
}
|
|
88
|
+
const subnames = fs.readdir(path);
|
|
89
|
+
if (!subnames) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
for (const subname of subnames) {
|
|
93
|
+
const subpath = fs.resolve(path, subname);
|
|
94
|
+
if (segments2[0] !== import_minimatch.GLOBSTAR) {
|
|
95
|
+
if (mm.matchOne([subname], segments2, true)) {
|
|
96
|
+
match(subpath, segments2.slice(1));
|
|
97
|
+
}
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (segments2.length > 1) {
|
|
101
|
+
if (mm.matchOne([subname], segments2.slice(1), true)) {
|
|
102
|
+
match(subpath, segments2.slice(2));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
match(subpath, segments2);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
match(rootPath, segments);
|
|
109
|
+
return results;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=glob.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/glob.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAAyD;AACzD,kBAA+B;AAP/B;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,kBAAkB,MAAM;AAAC;AAE/B,SAAS,SAAS,SAA4B,SAAK,4BAAe,GAAG;AACxE,MAAI,OAAO,YAAY,UAAU;AAC7B,WAAO,CAAC,GAAG,YAAY,SAAS,EAAE,CAAC;AAAA,EACvC;AAEA,QAAM,SAAS,MAAc;AAC7B,aAAW,KAAK,SAAS;AACrB,WAAO,KAAK,GAAG,YAAY,GAAG,EAAE,CAAC;AAAA,EACrC;AAEA,SAAO;AACX;AAEA,SAAS,YAAY,SAAiB,IAAoB;AAEtD,QAAM,KAAK,IAAI,2BAAU,QAAQ,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC;AACxD,QAAM,UAAU,oBAAI,IAAY;AAChC,aAAW,QAAQ,GAAG,KAAK;AACvB,eAAW,QAAQ,gBAAgB,IAAI,MAAM,EAAE,GAAG;AAC9C,cAAQ,IAAI,IAAI;AAAA,IACpB;AAAA,EACJ;AACA,SAAO;AACX;AAEA,SAAS,gBAAgB,IAAe,UAAiC,IAAoB;AAEzF,MAAI,WAAW;AACf,MAAI,SAAS;AACb,SAAO,OAAO,SAAS,CAAC,MAAM,UAAU;AACpC,QAAI,QAAQ;AACR,kBAAY;AAAA,IAChB,OAAO;AACH,eAAS;AAAA,IACb;AACA,gBAAY,SAAS,MAAM;AAAA,EAC/B;AAGA,MAAI,CAAC,SAAS,QAAQ;AAClB,UAAM,OAAO,GAAG,KAAK,QAAQ;AAE7B,QAAI,OAAO,SAAS,SAAS,GAAG,IAAI,gBAAgB,QAAQ,GAAG;AAC3D,aAAO,CAAC,QAAQ;AAAA,IACpB;AAEA,WAAO,CAAC;AAAA,EACZ;AAGA,QAAM,UAAU,oBAAI,IAAY;AAEhC,WAAS,MAAM,MAAcA,WAAiC;AAE1D,QAAI,CAACA,UAAS,QAAQ;AAClB,cAAQ,IAAI,IAAI;AAChB;AAAA,IACJ;AAGA,QAAI,OAAOA,UAAS,CAAC,MAAM,UAAU;AACjC,YAAM,UAAU,GAAG,QAAQ,MAAMA,UAAS,CAAC,CAAC;AAC5C,UAAI,GAAG,KAAK,GAAG,QAAQ,MAAMA,UAAS,CAAC,CAAC,CAAC,GAAG;AACxC,cAAM,SAASA,UAAS,MAAM,CAAC,CAAC;AAChC;AAAA,MACJ;AAAA,IACJ;AAGA,QAAIA,UAAS,WAAW,KAAKA,UAAS,CAAC,MAAM,2BAAU;AACnD,cAAQ,IAAI,IAAI;AAAA,IACpB;AAGA,UAAM,WAAW,GAAG,QAAQ,IAAI;AAChC,QAAI,CAAC,UAAU;AACX;AAAA,IACJ;AAGA,eAAW,WAAW,UAAU;AAC5B,YAAM,UAAU,GAAG,QAAQ,MAAM,OAAO;AAGxC,UAAIA,UAAS,CAAC,MAAM,2BAAU;AAC1B,YAAI,GAAG,SAAS,CAAC,OAAO,GAAGA,WAAU,IAAI,GAAG;AACxC,gBAAM,SAASA,UAAS,MAAM,CAAC,CAAC;AAAA,QACpC;AACA;AAAA,MACJ;AAGA,UAAIA,UAAS,SAAS,GAAG;AACrB,YAAI,GAAG,SAAS,CAAC,OAAO,GAAGA,UAAS,MAAM,CAAC,GAAG,IAAI,GAAG;AACjD,gBAAM,SAASA,UAAS,MAAM,CAAC,CAAC;AAAA,QACpC;AAAA,MACJ;AAGA,YAAM,SAASA,SAAQ;AAAA,IAC3B;AAAA,EACJ;AAEA,QAAM,UAAU,QAAQ;AAExB,SAAO;AACX;",
|
|
5
|
+
"names": ["segments"]
|
|
6
|
+
}
|
package/dist/cjs/util/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
package/dist/cjs/util/index.js
CHANGED
|
@@ -18,6 +18,7 @@ module.exports = __toCommonJS(util_exports);
|
|
|
18
18
|
__reExport(util_exports, require("./commander.js"), module.exports);
|
|
19
19
|
__reExport(util_exports, require("./errors.js"), module.exports);
|
|
20
20
|
__reExport(util_exports, require("./file.js"), module.exports);
|
|
21
|
+
__reExport(util_exports, require("./glob.js"), module.exports);
|
|
21
22
|
__reExport(util_exports, require("./package.js"), module.exports);
|
|
22
23
|
/**
|
|
23
24
|
* @license
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,2BANd;AAOA,yBAAc,wBAPd;AAQA,yBAAc,sBARd;AASA,yBAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,2BANd;AAOA,yBAAc,wBAPd;AAQA,yBAAc,sBARd;AASA,yBAAc,sBATd;AAUA,yBAAc,yBAVd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/util/package.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/util/package.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,YAAY,YAAY,CAAC;AA4BtC,qBAAa,OAAO;;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;gBAGP,EACR,IAAU,EACV,IAAI,GACP,GAAE;QACC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACZ;IA2BN,IAAI,IAAI,WAEP;IAED,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,QAEV;IAED,IAAI,UAAU,YAEb;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAI1B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAYrC,KAAK,CAAC,IAAI,EAAE,MAAM;IAMZ,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;YAIvB,oBAAoB;IAwBlC,IAAI,YAAY,aAQf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,WAAW,YAEd;IAED,IAAI,IAAI,IAAI,OAAO,CASlB;IAED,MAAM,KAAK,UAAU,CAAC,EAAE,EAAE,MAAM,EAE/B;IAED,MAAM,KAAK,SAAS,YAEnB;IAED,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM;IAO/B,MAAM,KAAK,KAAK,YAKf;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,KAAK,GAAG,KAAa;IAI3D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,KAAK,GAAG,KAAa;IAyBvD,WAAW,CAAC,IAAI,EAAE,MAAM;IAgBxB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,KAAK,GAAG,KAAa;IAYvD,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,YAAY,CAAC,IAAI,EAAE,MAAM;IAInB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAI3B,YAAY,CAAC,IAAI,EAAE,MAAM;IAInB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAIzC,IAAI;IAIJ,QAAQ,CAAC,IAAI,EAAE,MAAM;IAarB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAIvC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM;IAmBhC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAQ3B,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWpC;IAED,IAAI,OAAO,2BAEV;IAED,IAAI,aAAa,2BAEhB;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE;CAkBvD;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC"}
|
package/dist/cjs/util/package.js
CHANGED
|
@@ -29,6 +29,7 @@ var import_promises = require("fs/promises");
|
|
|
29
29
|
var import_path = require("path");
|
|
30
30
|
var import_errors = require("./errors.js");
|
|
31
31
|
var import_file = require("./file.js");
|
|
32
|
+
var import_glob = require("./glob.js");
|
|
32
33
|
var import_progress = require("./progress.js");
|
|
33
34
|
var import_tools_path = require("./tools-path.cjs");
|
|
34
35
|
/**
|
|
@@ -121,7 +122,7 @@ class Package {
|
|
|
121
122
|
} else {
|
|
122
123
|
pattern = pattern.map((s) => this.resolve(s).replace(/\\/g, "/"));
|
|
123
124
|
}
|
|
124
|
-
return (0,
|
|
125
|
+
return (0, import_glob.globSync)(pattern);
|
|
125
126
|
}
|
|
126
127
|
start(what) {
|
|
127
128
|
const progress = new import_progress.Progress();
|
|
@@ -405,7 +406,7 @@ function addModuleGlobs(source, target, name, base, pattern) {
|
|
|
405
406
|
throw new Error(`Wildcard in module ${name} does not appear as final path segment`);
|
|
406
407
|
}
|
|
407
408
|
name = name.substring(0, name.length - 2);
|
|
408
|
-
const paths = (0,
|
|
409
|
+
const paths = (0, import_glob.globSync)(source ? path.replace(/\.js$/, ".{ts,js,cjs,mjs}") : path);
|
|
409
410
|
if (!paths.length) {
|
|
410
411
|
throw new Error(`No match for module ${name} pattern ${pattern}`);
|
|
411
412
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/package.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,gBAAmD;AACnD,sBAAmD;AACnD,kBAAiD;AACjD,oBAA6C;AAC7C,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["paths", "find", "path", "result", "exp"]
|
|
6
6
|
}
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "typedoc";
|
|
16
16
|
import { isFile } from "../util/file.js";
|
|
17
17
|
import { Graph } from "./graph.js";
|
|
18
|
-
const PLUGINS = ["typedoc-
|
|
18
|
+
const PLUGINS = ["typedoc-github-theme"];
|
|
19
19
|
const OUTPUT_PATH = "build/docs/docs";
|
|
20
20
|
const THEME_OPTIONS = {
|
|
21
21
|
themeColor: "#cb9820"
|
|
@@ -234,4 +234,4 @@ export {
|
|
|
234
234
|
buildDocs,
|
|
235
235
|
mergeDocs
|
|
236
236
|
};
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J1aWxkaW5nL2RvY3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjQgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbixcbiAgICBDb250YWluZXJSZWZsZWN0aW9uLFxuICAgIENvbnZlcnRlcixcbiAgICBEZWNsYXJhdGlvblJlZmxlY3Rpb24sXG4gICAgTG9nTGV2ZWwsXG4gICAgUmVmbGVjdGlvbixcbiAgICBSZWZsZWN0aW9uRmxhZyxcbiAgICBSZWZsZWN0aW9uS2luZCxcbiAgICBUeXBlRG9jT3B0aW9ucyxcbn0gZnJvbSBcInR5cGVkb2NcIjtcbmltcG9ydCB7IGlzRmlsZSB9IGZyb20gXCIuLi91dGlsL2ZpbGUuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5pbXBvcnQgeyBQcm9ncmVzcyB9IGZyb20gXCIuLi91dGlsL3Byb2dyZXNzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaCB9IGZyb20gXCIuL2dyYXBoLmpzXCI7XG5cbi8vIE5PVEUgLSB0aGlzIGlzIGEgXCJiZXN0IGF0dGVtcHRcIiBhdCBkb2MgZ2VuZXJhdGlvbiB2aWEgdHlwZXNjcmlwdC4gIFRoZSByZXN1bHQgaXMgbm90IGFsbCB0aGF0IGdyZWF0OyB0eXBlZG9jIGlzIHRvb1xuLy8gbGltaXRlZCBmb3Igb3VyIGNvbXBsZXggQVBJIHNvIHdlJ3JlIGdvaW5nIHRvIG5lZWQgc29tZXRoaW5nIGN1c3RvbSB0byBkbyBpdCByaWdodFxuXG5jb25zdCBQTFVHSU5TID0gW1widHlwZWRvYy1tYXRlcmlhbC10aGVtZVwiXSBhcyBzdHJpbmdbXTtcblxuLy8gRG91YmxlIFwiZG9jc1wiIGRpcmVjdG9yaWVzIHNvIHRvcC1sZXZlbCBkaXJlY3RvcnkgY2FuIGJlIGEgR0ggcmVwb3NpdG9yeSB3aXRoIHBhZ2VzIGNvbmZpZ3VyZWQgdW5kZXIgXCJkb2NzXCJcbmNvbnN0IE9VVFBVVF9QQVRIID0gXCJidWlsZC9kb2NzL2RvY3NcIjtcblxuY29uc3QgVEhFTUVfT1BUSU9OUyA9IHtcbiAgICB0aGVtZUNvbG9yOiBcIiNjYjk4MjBcIixcblxuICAgIC8vIFRPRE8gLSBhZGQgc2VydmljZSBsaW5rc1xuICAgIC8vICAgR2l0SHViOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZWN0LWNoaXAvbWF0dGVyLmpzXCIsXG4gICAgLy8gICBEaXNjb3JkOiBcImh0dHBzOi8vZGlzY29yZC5nZy91am1STnJoRHVXXCIsXG4gICAgLy8gICBOUE06IFwiaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQHByb2plY3QtY2hpcC9tYXR0ZXIuanNcIixcbn07XG5cbi8qKlxuICogR2VuZXJhdGUgYnVpbGQvZG9jcy5qc29uIGZvciBhIHNpbmdsZSBwcm9qZWN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGREb2NzKHBrZzogUGFja2FnZSwgcHJvZ3Jlc3M6IFByb2dyZXNzKSB7XG4gICAgY29uc3QgbW9kdWxlcyA9IHBrZy5zb3VyY2VNb2R1bGVzO1xuXG4gICAgLy8gV2UgcG9pbnQgdHlwZWRvYyBhdCBlYWNoIG9mIG91ciBwdWJsaWMgZXhwb3J0c1xuICAgIGNvbnN0IGVudHJ5UG9pbnRzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgLy8gSW4gYSB3b3Jrc3BhY2UgdHlwZWRvYyByZXF1aXJlcyBmaWxlcyB0byBiZSByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIGZvciBtZXJnZVxuICAgIGNvbnN0IGJhc2VQYXRoID0gcGtnLnJvb3QucGF0aDtcblxuICAgIGZvciAoY29uc3QgbmFtZSBpbiBtb2R1bGVzKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBtb2R1bGVzW25hbWVdO1xuICAgICAgICBpZiAocGF0aC5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0ZpbGUocGF0aCkpIHtcbiAgICAgICAgICAgIGlmICghZW50cnlQb2ludHMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgICAgICAgICAgICBlbnRyeVBvaW50cy5wdXNoKHBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzb3VyY2UgZm91bmQgZm9yIG1vZHVsZSAke25hbWV9IHBhdGggJHttb2R1bGVzW25hbWVdfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYXBwID0gYXdhaXQgY3JlYXRlQXBwbGljYXRpb24oe1xuICAgICAgICBleGNsdWRlRXh0ZXJuYWxzOiB0cnVlLFxuICAgICAgICBlbnRyeVBvaW50cyxcbiAgICAgICAgdHNjb25maWc6IHBrZy5yZXNvbHZlKFwidHNjb25maWcuanNvblwiKSxcbiAgICAgICAgYmFzZVBhdGgsXG4gICAgICAgIHNraXBFcnJvckNoZWNraW5nOiB0cnVlLFxuXG4gICAgICAgIC8vIFJlbW92ZXMgYSBjb3VwbGUgaHVuZHJlZCBNQiBvZiB0YWJzIHNvIHdvcnRoIHVuY29tbWVudGluZyBhdCBzb21lIHBvaW50XG4gICAgICAgIC8vcHJldHR5OiBmYWxzZSxcblxuICAgICAgICByZWFkbWU6IFwibm9uZVwiLFxuICAgIH0pO1xuXG4gICAgaW5zdHJ1bWVudEZvckVudHJ5cG9pbnRSZXBhaXIoYXBwLCBwa2cpO1xuXG4gICAgY29uc3QgYW5hbHlzaXMgPSBuZXcgUmVmbGVjdGlvbkFuYWx5c2lzKCk7XG5cbiAgICBhcHAuY29udmVydGVyLm9uKENvbnZlcnRlci5FVkVOVF9DUkVBVEVfREVDTEFSQVRJT04sICgvKl9jb250ZXh0LCByZWZsZWN0aW9uOiBEZWNsYXJhdGlvblJlZmxlY3Rpb24qLykgPT4ge1xuICAgICAgICBwcm9ncmVzcy5yZWZyZXNoKCk7XG4gICAgfSk7XG5cbiAgICBhcHAuY29udmVydGVyLm9uKENvbnZlcnRlci5FVkVOVF9SRVNPTFZFLCAoKSA9PiB7XG4gICAgICAgIHByb2dyZXNzLnJlZnJlc2goKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBhd2FpdCBsb2FkUmVmbGVjdGlvbnMoYXBwLCBwa2cpO1xuXG4gICAgYW5hbHl6ZVJlZmxlY3Rpb25zKHJlZmxlY3Rpb24sIGFuYWx5c2lzKTtcbiAgICByZXBhaXJSZWZsZWN0aW9ucyhhbmFseXNpcyk7XG5cbiAgICBhd2FpdCBhcHAuZ2VuZXJhdGVKc29uKHJlZmxlY3Rpb24sIHBrZy5yZXNvbHZlKFwiYnVpbGQvZG9jcy5qc29uXCIpKTtcbn1cblxuZnVuY3Rpb24gcmVmbGVjdGlvbnNQYXRoKHBrZzogUGFja2FnZSkge1xuICAgIGNvbnN0IHBhdGggPSBwa2cucmVzb2x2ZShcImJ1aWxkL2RvY3MuanNvblwiKTtcbiAgICBpZiAoaXNGaWxlKHBhdGgpKSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUeXBlZG9jIGlzIGluc3VmZmljaWVudGx5IGNvbmZpZ3VyYWJsZSB0byBjb3JyZWN0bHkgbmFtZSBtb2R1bGVzLiAgVGhlIG9mZmljaWFsIGRpcmVjdGlvbiBpcyB0byByZW5hbWUgbW9kdWxlcyB1c2luZ1xuICogdGhlIFwibW9kdWxlXCIgYW5ub3RhdGlvbiBidXQgc2VlbXMgZHVtYiB0byBoYXZlIHRvIGRvIHRoYXQgd2hlbiB3ZSBjYW4gY29tcHV0ZSB0aGUgY29ycmVjdCBuYW1lLiAgV2UnZCBoYXZlIHRvIGVkaXRcbiAqIGFuZCBtYWludGFpbiBtYW55IGZpbGVzIGluY2x1ZGluZyBjb2RlZ2VuLlxuICpcbiAqIEluc3RlYWQgd2UgY3JlYXRlIGEgbWFwIG9mIHR5cGVkb2MncyBuYWl2ZSBtb2R1bGUgbmFtZSB0byB0aGUgY29ycmVjdCBuYW1lIHNvIHdlIGNhbiB1cGRhdGUgbmFtZXMgYXMgcmVmbGVjdGlvbnNcbiAqIGxvYWQuXG4gKi9cbmZ1bmN0aW9uIGluc3RydW1lbnRGb3JFbnRyeXBvaW50UmVwYWlyKGFwcDogQXBwbGljYXRpb24sIHBrZzogUGFja2FnZSkge1xuICAgIGNvbnN0IGJhc2VHZXRFbnRyeVBvaW50cyA9IGFwcC5nZXRFbnRyeVBvaW50cy5iaW5kKGFwcCk7XG4gICAgY29uc3QgbWFwcGluZyA9IG5haXZlVG9SZWFsTmFtZXNGb3IocGtnKTtcbiAgICBhcHAuZ2V0RW50cnlQb2ludHMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBiYXNlR2V0RW50cnlQb2ludHMoKTtcbiAgICAgICAgaWYgKGxpc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGVwIG9mIGxpc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxOYW1lID0gbWFwcGluZ1tlcC5kaXNwbGF5TmFtZV07XG4gICAgICAgICAgICBpZiAocmVhbE5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHlwZWRvYyBuYWl2ZSBtb2R1bGUgbmFtZSBcIiR7ZXAuZGlzcGxheU5hbWV9XCIgaXMgdW5tYXBwZWRgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVwLmRpc3BsYXlOYW1lID0gcmVhbE5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgbWFwIG9mIHR5cGVkb2MncyBuYWl2ZSBuYW1lIC0+IHJlYWwgbmFtZS5cbiAqL1xuZnVuY3Rpb24gbmFpdmVUb1JlYWxOYW1lc0Zvcihwa2c6IFBhY2thZ2UpIHtcbiAgICBjb25zdCBtb2R1bGVzID0gcGtnLnNvdXJjZU1vZHVsZXM7XG5cbiAgICAvLyBNYXAgb2Ygc3R1cGlkIG5hbWVzIHRoYXQgdHlwZWRvYyBjaG9vc2VzIHRvIGFjdHVhbCBleHBvcnQgbmFtZXNcbiAgICBjb25zdCBtYXBwaW5nID0ge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAgIGNvbnN0IHBhY2thZ2VQcmVmaXggPSBgJHtwa2cubmFtZX0vYDtcblxuICAgIC8vIEluIGEgd29ya3NwYWNlIHR5cGVkb2MgcmVxdWlyZXMgZmlsZXMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHdvcmtzcGFjZSBmb3IgbWVyZ2VcbiAgICBjb25zdCBiYXNlUGF0aCA9IHBrZy5yb290LnBhdGg7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gbW9kdWxlcykge1xuICAgICAgICBjb25zdCBwYXRoID0gbW9kdWxlc1tuYW1lXTtcbiAgICAgICAgaWYgKHBhdGguZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYWl2ZU5hbWUgPSByZWxhdGl2ZShiYXNlUGF0aCwgcGF0aClcbiAgICAgICAgICAgIC5yZXBsYWNlKC8uKD86dHN8anN8bWpzfGNqcykkLywgXCJcIilcblxuICAgICAgICAgICAgLy8gdHlwZWRvYyBzdHJpcHMgXCIvaW5kZXhcIjsgdGhpcyBpcyBoYXJkLWNvZGVkIGFuZCBkb2Vzbid0IHJlc3BlY3QgZXhwb3J0c1xuICAgICAgICAgICAgLnJlcGxhY2UoL1xcL2luZGV4JC8sIFwiXCIpO1xuXG4gICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgocGFja2FnZVByZWZpeCkpIHtcbiAgICAgICAgICAgIG1hcHBpbmdbbmFpdmVOYW1lXSA9IG5hbWUuc3Vic3RyaW5nKHBhY2thZ2VQcmVmaXgubGVuZ3RoKTtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSBwa2cubmFtZSkge1xuICAgICAgICAgICAgLy8gRmxhZ3MgZm9yIG1lcmdlIHdpdGggcGFyZW50XG4gICAgICAgICAgICBtYXBwaW5nW25haXZlTmFtZV0gPSBcIi5cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1hcHBpbmdbbmFpdmVOYW1lXSA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBzdGF0aWMgZG9jdW1lbnRhdGlvbiB3ZWJzaXRlLlxuICpcbiAqIFN1cHBvcnRzIGluZGl2aWR1YWwgcHJvamVjdHMgb3Igd29ya3NwYWNlcyBidXQgbm90IGluZGl2aWR1YWwgcHJvamVjdHMgd2l0aGluIHdvcmtzcGFjZXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtZXJnZURvY3MocGtnOiBQYWNrYWdlKSB7XG4gICAgY29uc3QgZW50cnlQb2ludHMgPSBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCByb290ID0gcGtnLnJvb3Q7XG5cbiAgICBpZiAocm9vdC5pc1dvcmtzcGFjZSkge1xuICAgICAgICAvLyBXb3Jrc3BhY2VcbiAgICAgICAgY29uc3QgZ3JhcGggPSBhd2FpdCBHcmFwaC5sb2FkKHJvb3QpO1xuICAgICAgICBpZiAoZ3JhcGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gU2hvdWxkbid0IGhhcHBlblxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnRlcm5hbDogJHtwa2cubmFtZX0gaGFzIHdvcmtzcGFjZXMgYnV0IG5vIGdyYXBoYCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIGdyYXBoLm5vZGVzKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcmVmbGVjdGlvbnNQYXRoKG5vZGUucGtnKTtcbiAgICAgICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgICAgICAgZW50cnlQb2ludHMucHVzaChwYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVudHJ5UG9pbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByZWZsZWN0aW9ucyBkZXRlY3RlZCBpbiB3b3Jrc3BhY2UgJHtwa2cubmFtZX1gKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFN0YW5kYWxvbmUgcGFja2FnZVxuICAgICAgICBjb25zdCBwYXRoID0gcmVmbGVjdGlvbnNQYXRoKHBrZyk7XG4gICAgICAgIGlmIChwYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVmbGVjdGlvbnMgcHJlc2VudCBmb3IgJHtwa2cubmFtZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBlbnRyeVBvaW50cy5wdXNoKHBhdGgpO1xuICAgIH1cblxuICAgIGNvbnN0IGFwcCA9IGF3YWl0IGNyZWF0ZUFwcGxpY2F0aW9uKHtcbiAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgIGVudHJ5UG9pbnRTdHJhdGVneTogXCJtZXJnZVwiLFxuICAgICAgICAuLi5USEVNRV9PUFRJT05TLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVmbGVjdGlvbiA9IGF3YWl0IGxvYWRSZWZsZWN0aW9ucyhhcHAsIHBrZyk7XG5cbiAgICBhd2FpdCBhcHAuZ2VuZXJhdGVEb2NzKHJlZmxlY3Rpb24sIHBrZy5yZXNvbHZlKE9VVFBVVF9QQVRIKSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgdHlwZWRvYyBcImFwcGxpY2F0aW9uXCIgd2hpY2ggaXMgdGhlIGludGVyZmFjZSBmb3IgZXh0cmFjdGluZyB0eXBlcyBhbmQgZ2VuZXJhdGluZyBkb2NzLlxuICovXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVBcHBsaWNhdGlvbihvcHRpb25zOiBQYXJ0aWFsPFR5cGVEb2NPcHRpb25zPikge1xuICAgIHJldHVybiBhd2FpdCBBcHBsaWNhdGlvbi5ib290c3RyYXBXaXRoUGx1Z2lucyh7XG4gICAgICAgIHBsdWdpbjogUExVR0lOUyxcbiAgICAgICAgbG9nTGV2ZWw6IExvZ0xldmVsLldhcm4sXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG59XG5cbi8qKlxuICogUGVyZm9ybSBcImNvbnZlcnNpb25cIiB3aGljaCBpcyB0eXBlZG9jIHRlcm1pbm9sb2d5IGZvciBleGVjdXRpbmcgdGhlIG9wZXJhdGlvbiBkZWZpbmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9hZFJlZmxlY3Rpb25zKGFwcDogQXBwbGljYXRpb24sIHBrZzogUGFja2FnZSkge1xuICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBhd2FpdCBhcHAuY29udmVydCgpO1xuICAgIGlmIChyZWZsZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm9qZWN0ICR7cGtnLnBhdGh9IHByb2R1Y2VkIG5vIGRvY3VtZW50YXRpb25gKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZmxlY3Rpb247XG59XG5cbmNsYXNzIFJlZmxlY3Rpb25BbmFseXNpcyB7XG4gICAgLy8gVE9ETyAtIG5lZWQgdG8gcG9wdWxhdGUgdGhpcyBkdXJpbmcgYW5hbHlzaXMgc28gd2UgY2FuIHdhcm47IHdpbGwgcmVwbGFjZSB0eXBlZG9jLXBsdWdpbi1taXNzaW5nLWV4cG9ydHNcbiAgICB1bmV4cG9ydGVkUmVmZXJlbmNlID0gbmV3IFNldDxSZWZsZWN0aW9uPigpO1xuXG4gICAgbWVyZ2VXaXRoUGFyZW50ID0gbmV3IFNldDxEZWNsYXJhdGlvblJlZmxlY3Rpb24+KCk7XG4gICAgbWVyZ2VJbnRvID0gbmV3IE1hcDxEZWNsYXJhdGlvblJlZmxlY3Rpb24sIERlY2xhcmF0aW9uUmVmbGVjdGlvbj4oKTtcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm0gcmVmbGVjdGlvbnMgdG8gaW1wcm92ZSBmaW5hbCBvdXRwdXQuXG4gKi9cbmZ1bmN0aW9uIGFuYWx5emVSZWZsZWN0aW9ucyhub2RlOiBSZWZsZWN0aW9uLCBhbmFseXNpczogUmVmbGVjdGlvbkFuYWx5c2lzKSB7XG4gICAgdmlzaXQobm9kZSwgc3ViamVjdCA9PiB7XG4gICAgICAgIC8vIFRPRE8gLSBwb3B1bGF0ZSBhbmFseXNpcy51bmV4cG9yZWRSZWZlcmVuY2UgKG9yIHBlcmhhcHMganVzdCBwcmludCB3YXJuaW5nKVxuXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gY2hpbGRyZW5PZihzdWJqZWN0KTtcbiAgICAgICAgY29uc3QgbWVyZ2VhYmxlID0ge30gYXMgUmVjb3JkPHN0cmluZywgRGVjbGFyYXRpb25SZWZsZWN0aW9uPjtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlcyA9IG5ldyBTZXQ8RGVjbGFyYXRpb25SZWZsZWN0aW9uPigpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQua2luZE9mKFJlZmxlY3Rpb25LaW5kLkNsYXNzT3JJbnRlcmZhY2UgfCBSZWZsZWN0aW9uS2luZC5GdW5jdGlvbikpIHtcbiAgICAgICAgICAgICAgICBtZXJnZWFibGVbY2hpbGQubmFtZV0gPSBjaGlsZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQua2luZE9mKFJlZmxlY3Rpb25LaW5kLk5hbWVzcGFjZSkpIHtcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VzLmFkZChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IG5zIG9mIG5hbWVzcGFjZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlSW50byA9IG1lcmdlYWJsZVtucy5uYW1lXTtcbiAgICAgICAgICAgIGlmIChtZXJnZUludG8pIHtcbiAgICAgICAgICAgICAgICBhbmFseXNpcy5tZXJnZUludG8uc2V0KG5zLCBtZXJnZUludG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcGFpclJlZmxlY3Rpb25zKGFuYWx5c2lzOiBSZWZsZWN0aW9uQW5hbHlzaXMpIHtcbiAgICBmb3IgKGNvbnN0IHRvTWVyZ2Ugb2YgYW5hbHlzaXMubWVyZ2VXaXRoUGFyZW50KSB7XG4gICAgICAgIGlmICh0b01lcmdlLnBhcmVudCBpbnN0YW5jZW9mIERlY2xhcmF0aW9uUmVmbGVjdGlvbikge1xuICAgICAgICAgICAgbWVyZ2VJbnRvKHRvTWVyZ2UsIHRvTWVyZ2UucGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IFt0b01lcmdlLCBpbnRvXSBvZiBhbmFseXNpcy5tZXJnZUludG8uZW50cmllcygpKSB7XG4gICAgICAgIG1lcmdlSW50byh0b01lcmdlLCBpbnRvKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1vdmVOb2RlKHN1YmplY3Q6IERlY2xhcmF0aW9uUmVmbGVjdGlvbiwgaW50bzogQ29udGFpbmVyUmVmbGVjdGlvbikge1xuICAgIGNvbnN0IGZyb20gPSBzdWJqZWN0LnBhcmVudCBhcyBDb250YWluZXJSZWZsZWN0aW9uO1xuXG4gICAgLy8gTm8gYWN0dWFsIG1vdmVtZW50XG4gICAgaWYgKGZyb20gPT09IGludG8pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBmcm9tIG9sZCBwYXJlbnRcbiAgICBpZiAoZnJvbSkge1xuICAgICAgICBmcm9tLnJlbW92ZUNoaWxkKHN1YmplY3QpO1xuICAgIH1cblxuICAgIC8vIEFkZCB0byBuZXcgcGFyZW50XG4gICAgaW50by5hZGRDaGlsZChzdWJqZWN0KTtcbiAgICBzdWJqZWN0LnBhcmVudCA9IGludG87XG5cbiAgICAvLyBXaGVuIG1lcmdpbmcgYSBuYW1lc3BhY2UgaW50byBhIHR5cGUgdHdlYWsgbW9kaWZpZXIgYW5kIGtpbmQgYXBwcm9wcmlhdGVseSAoYSBiaXQgb2YgZ3Vlc3NpbmcgaGVyZTsgbWlnaHQgbmVlZFxuICAgIC8vIHR3ZWFraW5nKVxuICAgIGlmIChcbiAgICAgICAgZnJvbS5raW5kT2YoUmVmbGVjdGlvbktpbmQuTmFtZXNwYWNlKSAmJlxuICAgICAgICBpbnRvLmtpbmRPZihSZWZsZWN0aW9uS2luZC5DbGFzc09ySW50ZXJmYWNlKSAmJlxuICAgICAgICBzdWJqZWN0LmtpbmRPZihSZWZsZWN0aW9uS2luZC5Tb21lVmFsdWUpXG4gICAgKSB7XG4gICAgICAgIHN1YmplY3QuZmxhZ3Muc2V0RmxhZyhSZWZsZWN0aW9uRmxhZy5TdGF0aWMsIHRydWUpO1xuICAgICAgICBpZiAoc3ViamVjdC5raW5kT2YoUmVmbGVjdGlvbktpbmQuVmFyaWFibGUpKSB7XG4gICAgICAgICAgICBzdWJqZWN0LmtpbmQgPSBSZWZsZWN0aW9uS2luZC5Qcm9wZXJ0eTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VJbnRvKGZyb206IERlY2xhcmF0aW9uUmVmbGVjdGlvbiwgaW50bzogQ29udGFpbmVyUmVmbGVjdGlvbikge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gY2hpbGRyZW5PZihmcm9tKTtcbiAgICB3aGlsZSAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIG1vdmVOb2RlKGNoaWxkcmVuWzBdLCBpbnRvKTtcbiAgICB9XG4gICAgKGZyb20ucGFyZW50IGFzIENvbnRhaW5lclJlZmxlY3Rpb24pPy5yZW1vdmVDaGlsZChmcm9tKTtcbiAgICAvLyBUT0RPIC0gcmVtYXAgbmFtZVxufVxuXG5mdW5jdGlvbiBjaGlsZHJlbk9mKG5vZGU6IFJlZmxlY3Rpb24pIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENvbnRhaW5lclJlZmxlY3Rpb24pIHtcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbiA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlLmNoaWxkcmVuO1xuICAgIH1cbiAgICByZXR1cm4gW107XG59XG5cbi8qKlxuICogVmlzaXQgYWxsIG5vZGVzIGluIGEgcmVmbGVjdGlvbiB0cmVlLiAgUmVmbGVjdGlvbiBoYXMgYSBcInZpc2l0XCIgbWV0aG9kIGJ1dCBpdCdzIGp1c3QgYSBicmFuY2ggb24gdHlwZS5cbiAqL1xuZnVuY3Rpb24gdmlzaXQobm9kZTogUmVmbGVjdGlvbiwgdmlzaXRvcjogKG5vZGU6IFJlZmxlY3Rpb24pID0+IHZvaWQpIHtcbiAgICB2aXNpdG9yKG5vZGUpO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbk9mKG5vZGUpKSB7XG4gICAgICAgIHZpc2l0KGNoaWxkLCB2aXNpdG9yKTtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsU0FBUyxnQkFBZ0I7QUFDekI7QUFBQSxFQUNJO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBRUE7QUFBQSxFQUNBO0FBQUEsT0FFRztBQUNQLFNBQVMsY0FBYztBQUd2QixTQUFTLGFBQWE7QUFLdEIsTUFBTSxVQUFVLENBQUMsd0JBQXdCO0FBR3pDLE1BQU0sY0FBYztBQUVwQixNQUFNLGdCQUFnQjtBQUFBLEVBQ2xCLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1oQjtBQUtBLGVBQXNCLFVBQVUsS0FBYyxVQUFvQjtBQUM5RCxRQUFNLFVBQVUsSUFBSTtBQUdwQixRQUFNLGNBQWMsTUFBYztBQUdsQyxRQUFNLFdBQVcsSUFBSSxLQUFLO0FBRTFCLGFBQVcsUUFBUSxTQUFTO0FBQ3hCLFVBQU0sT0FBTyxRQUFRLElBQUk7QUFDekIsUUFBSSxLQUFLLFNBQVMsT0FBTyxHQUFHO0FBQ3hCO0FBQUEsSUFDSjtBQUVBLFFBQUksT0FBTyxJQUFJLEdBQUc7QUFDZCxVQUFJLENBQUMsWUFBWSxTQUFTLElBQUksR0FBRztBQUM3QixvQkFBWSxLQUFLLElBQUk7QUFBQSxNQUN6QjtBQUFBLElBQ0osT0FBTztBQUNILFlBQU0sSUFBSSxNQUFNLDhCQUE4QixJQUFJLFNBQVMsUUFBUSxJQUFJLENBQUMsRUFBRTtBQUFBLElBQzlFO0FBQUEsRUFDSjtBQUVBLFFBQU0sTUFBTSxNQUFNLGtCQUFrQjtBQUFBLElBQ2hDLGtCQUFrQjtBQUFBLElB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
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J1aWxkaW5nL2RvY3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjQgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbixcbiAgICBDb250YWluZXJSZWZsZWN0aW9uLFxuICAgIENvbnZlcnRlcixcbiAgICBEZWNsYXJhdGlvblJlZmxlY3Rpb24sXG4gICAgTG9nTGV2ZWwsXG4gICAgUmVmbGVjdGlvbixcbiAgICBSZWZsZWN0aW9uRmxhZyxcbiAgICBSZWZsZWN0aW9uS2luZCxcbiAgICBUeXBlRG9jT3B0aW9ucyxcbn0gZnJvbSBcInR5cGVkb2NcIjtcbmltcG9ydCB7IGlzRmlsZSB9IGZyb20gXCIuLi91dGlsL2ZpbGUuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5pbXBvcnQgeyBQcm9ncmVzcyB9IGZyb20gXCIuLi91dGlsL3Byb2dyZXNzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaCB9IGZyb20gXCIuL2dyYXBoLmpzXCI7XG5cbi8vIE5PVEUgLSB0aGlzIGlzIGEgXCJiZXN0IGF0dGVtcHRcIiBhdCBkb2MgZ2VuZXJhdGlvbiB2aWEgdHlwZXNjcmlwdC4gIFRoZSByZXN1bHQgaXMgbm90IGFsbCB0aGF0IGdyZWF0OyB0eXBlZG9jIGlzIHRvb1xuLy8gbGltaXRlZCBmb3Igb3VyIGNvbXBsZXggQVBJIHNvIHdlJ3JlIGdvaW5nIHRvIG5lZWQgc29tZXRoaW5nIGN1c3RvbSB0byBkbyBpdCByaWdodFxuXG5jb25zdCBQTFVHSU5TID0gW1widHlwZWRvYy1naXRodWItdGhlbWVcIl0gYXMgc3RyaW5nW107XG5cbi8vIERvdWJsZSBcImRvY3NcIiBkaXJlY3RvcmllcyBzbyB0b3AtbGV2ZWwgZGlyZWN0b3J5IGNhbiBiZSBhIEdIIHJlcG9zaXRvcnkgd2l0aCBwYWdlcyBjb25maWd1cmVkIHVuZGVyIFwiZG9jc1wiXG5jb25zdCBPVVRQVVRfUEFUSCA9IFwiYnVpbGQvZG9jcy9kb2NzXCI7XG5cbmNvbnN0IFRIRU1FX09QVElPTlMgPSB7XG4gICAgdGhlbWVDb2xvcjogXCIjY2I5ODIwXCIsXG5cbiAgICAvLyBUT0RPIC0gYWRkIHNlcnZpY2UgbGlua3NcbiAgICAvLyAgIEdpdEh1YjogXCJodHRwczovL2dpdGh1Yi5jb20vcHJvamVjdC1jaGlwL21hdHRlci5qc1wiLFxuICAgIC8vICAgRGlzY29yZDogXCJodHRwczovL2Rpc2NvcmQuZ2cvdWptUk5yaER1V1wiLFxuICAgIC8vICAgTlBNOiBcImh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0Bwcm9qZWN0LWNoaXAvbWF0dGVyLmpzXCIsXG59O1xuXG4vKipcbiAqIEdlbmVyYXRlIGJ1aWxkL2RvY3MuanNvbiBmb3IgYSBzaW5nbGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkRG9jcyhwa2c6IFBhY2thZ2UsIHByb2dyZXNzOiBQcm9ncmVzcykge1xuICAgIGNvbnN0IG1vZHVsZXMgPSBwa2cuc291cmNlTW9kdWxlcztcblxuICAgIC8vIFdlIHBvaW50IHR5cGVkb2MgYXQgZWFjaCBvZiBvdXIgcHVibGljIGV4cG9ydHNcbiAgICBjb25zdCBlbnRyeVBvaW50cyA9IEFycmF5PHN0cmluZz4oKTtcblxuICAgIC8vIEluIGEgd29ya3NwYWNlIHR5cGVkb2MgcmVxdWlyZXMgZmlsZXMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHdvcmtzcGFjZSBmb3IgbWVyZ2VcbiAgICBjb25zdCBiYXNlUGF0aCA9IHBrZy5yb290LnBhdGg7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gbW9kdWxlcykge1xuICAgICAgICBjb25zdCBwYXRoID0gbW9kdWxlc1tuYW1lXTtcbiAgICAgICAgaWYgKHBhdGguZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGaWxlKHBhdGgpKSB7XG4gICAgICAgICAgICBpZiAoIWVudHJ5UG9pbnRzLmluY2x1ZGVzKHBhdGgpKSB7XG4gICAgICAgICAgICAgICAgZW50cnlQb2ludHMucHVzaChwYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc291cmNlIGZvdW5kIGZvciBtb2R1bGUgJHtuYW1lfSBwYXRoICR7bW9kdWxlc1tuYW1lXX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFwcCA9IGF3YWl0IGNyZWF0ZUFwcGxpY2F0aW9uKHtcbiAgICAgICAgZXhjbHVkZUV4dGVybmFsczogdHJ1ZSxcbiAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgIHRzY29uZmlnOiBwa2cucmVzb2x2ZShcInRzY29uZmlnLmpzb25cIiksXG4gICAgICAgIGJhc2VQYXRoLFxuICAgICAgICBza2lwRXJyb3JDaGVja2luZzogdHJ1ZSxcblxuICAgICAgICAvLyBSZW1vdmVzIGEgY291cGxlIGh1bmRyZWQgTUIgb2YgdGFicyBzbyB3b3J0aCB1bmNvbW1lbnRpbmcgYXQgc29tZSBwb2ludFxuICAgICAgICAvL3ByZXR0eTogZmFsc2UsXG5cbiAgICAgICAgcmVhZG1lOiBcIm5vbmVcIixcbiAgICB9KTtcblxuICAgIGluc3RydW1lbnRGb3JFbnRyeXBvaW50UmVwYWlyKGFwcCwgcGtnKTtcblxuICAgIGNvbnN0IGFuYWx5c2lzID0gbmV3IFJlZmxlY3Rpb25BbmFseXNpcygpO1xuXG4gICAgYXBwLmNvbnZlcnRlci5vbihDb252ZXJ0ZXIuRVZFTlRfQ1JFQVRFX0RFQ0xBUkFUSU9OLCAoLypfY29udGV4dCwgcmVmbGVjdGlvbjogRGVjbGFyYXRpb25SZWZsZWN0aW9uKi8pID0+IHtcbiAgICAgICAgcHJvZ3Jlc3MucmVmcmVzaCgpO1xuICAgIH0pO1xuXG4gICAgYXBwLmNvbnZlcnRlci5vbihDb252ZXJ0ZXIuRVZFTlRfUkVTT0xWRSwgKCkgPT4ge1xuICAgICAgICBwcm9ncmVzcy5yZWZyZXNoKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCByZWZsZWN0aW9uID0gYXdhaXQgbG9hZFJlZmxlY3Rpb25zKGFwcCwgcGtnKTtcblxuICAgIGFuYWx5emVSZWZsZWN0aW9ucyhyZWZsZWN0aW9uLCBhbmFseXNpcyk7XG4gICAgcmVwYWlyUmVmbGVjdGlvbnMoYW5hbHlzaXMpO1xuXG4gICAgYXdhaXQgYXBwLmdlbmVyYXRlSnNvbihyZWZsZWN0aW9uLCBwa2cucmVzb2x2ZShcImJ1aWxkL2RvY3MuanNvblwiKSk7XG59XG5cbmZ1bmN0aW9uIHJlZmxlY3Rpb25zUGF0aChwa2c6IFBhY2thZ2UpIHtcbiAgICBjb25zdCBwYXRoID0gcGtnLnJlc29sdmUoXCJidWlsZC9kb2NzLmpzb25cIik7XG4gICAgaWYgKGlzRmlsZShwYXRoKSkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG59XG5cbi8qKlxuICogVHlwZWRvYyBpcyBpbnN1ZmZpY2llbnRseSBjb25maWd1cmFibGUgdG8gY29ycmVjdGx5IG5hbWUgbW9kdWxlcy4gIFRoZSBvZmZpY2lhbCBkaXJlY3Rpb24gaXMgdG8gcmVuYW1lIG1vZHVsZXMgdXNpbmdcbiAqIHRoZSBcIm1vZHVsZVwiIGFubm90YXRpb24gYnV0IHNlZW1zIGR1bWIgdG8gaGF2ZSB0byBkbyB0aGF0IHdoZW4gd2UgY2FuIGNvbXB1dGUgdGhlIGNvcnJlY3QgbmFtZS4gIFdlJ2QgaGF2ZSB0byBlZGl0XG4gKiBhbmQgbWFpbnRhaW4gbWFueSBmaWxlcyBpbmNsdWRpbmcgY29kZWdlbi5cbiAqXG4gKiBJbnN0ZWFkIHdlIGNyZWF0ZSBhIG1hcCBvZiB0eXBlZG9jJ3MgbmFpdmUgbW9kdWxlIG5hbWUgdG8gdGhlIGNvcnJlY3QgbmFtZSBzbyB3ZSBjYW4gdXBkYXRlIG5hbWVzIGFzIHJlZmxlY3Rpb25zXG4gKiBsb2FkLlxuICovXG5mdW5jdGlvbiBpbnN0cnVtZW50Rm9yRW50cnlwb2ludFJlcGFpcihhcHA6IEFwcGxpY2F0aW9uLCBwa2c6IFBhY2thZ2UpIHtcbiAgICBjb25zdCBiYXNlR2V0RW50cnlQb2ludHMgPSBhcHAuZ2V0RW50cnlQb2ludHMuYmluZChhcHApO1xuICAgIGNvbnN0IG1hcHBpbmcgPSBuYWl2ZVRvUmVhbE5hbWVzRm9yKHBrZyk7XG4gICAgYXBwLmdldEVudHJ5UG9pbnRzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBsaXN0ID0gYmFzZUdldEVudHJ5UG9pbnRzKCk7XG4gICAgICAgIGlmIChsaXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBlcCBvZiBsaXN0KSB7XG4gICAgICAgICAgICBjb25zdCByZWFsTmFtZSA9IG1hcHBpbmdbZXAuZGlzcGxheU5hbWVdO1xuICAgICAgICAgICAgaWYgKHJlYWxOYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFR5cGVkb2MgbmFpdmUgbW9kdWxlIG5hbWUgXCIke2VwLmRpc3BsYXlOYW1lfVwiIGlzIHVubWFwcGVkYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcC5kaXNwbGF5TmFtZSA9IHJlYWxOYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH07XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIG1hcCBvZiB0eXBlZG9jJ3MgbmFpdmUgbmFtZSAtPiByZWFsIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIG5haXZlVG9SZWFsTmFtZXNGb3IocGtnOiBQYWNrYWdlKSB7XG4gICAgY29uc3QgbW9kdWxlcyA9IHBrZy5zb3VyY2VNb2R1bGVzO1xuXG4gICAgLy8gTWFwIG9mIHN0dXBpZCBuYW1lcyB0aGF0IHR5cGVkb2MgY2hvb3NlcyB0byBhY3R1YWwgZXhwb3J0IG5hbWVzXG4gICAgY29uc3QgbWFwcGluZyA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICBjb25zdCBwYWNrYWdlUHJlZml4ID0gYCR7cGtnLm5hbWV9L2A7XG5cbiAgICAvLyBJbiBhIHdvcmtzcGFjZSB0eXBlZG9jIHJlcXVpcmVzIGZpbGVzIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2UgZm9yIG1lcmdlXG4gICAgY29uc3QgYmFzZVBhdGggPSBwa2cucm9vdC5wYXRoO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIGluIG1vZHVsZXMpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IG1vZHVsZXNbbmFtZV07XG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmFpdmVOYW1lID0gcmVsYXRpdmUoYmFzZVBhdGgsIHBhdGgpXG4gICAgICAgICAgICAucmVwbGFjZSgvLig/OnRzfGpzfG1qc3xjanMpJC8sIFwiXCIpXG5cbiAgICAgICAgICAgIC8vIHR5cGVkb2Mgc3RyaXBzIFwiL2luZGV4XCI7IHRoaXMgaXMgaGFyZC1jb2RlZCBhbmQgZG9lc24ndCByZXNwZWN0IGV4cG9ydHNcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXC9pbmRleCQvLCBcIlwiKTtcblxuICAgICAgICBpZiAobmFtZS5zdGFydHNXaXRoKHBhY2thZ2VQcmVmaXgpKSB7XG4gICAgICAgICAgICBtYXBwaW5nW25haXZlTmFtZV0gPSBuYW1lLnN1YnN0cmluZyhwYWNrYWdlUHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gcGtnLm5hbWUpIHtcbiAgICAgICAgICAgIC8vIEZsYWdzIGZvciBtZXJnZSB3aXRoIHBhcmVudFxuICAgICAgICAgICAgbWFwcGluZ1tuYWl2ZU5hbWVdID0gXCIuXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXBwaW5nW25haXZlTmFtZV0gPSBuYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgc3RhdGljIGRvY3VtZW50YXRpb24gd2Vic2l0ZS5cbiAqXG4gKiBTdXBwb3J0cyBpbmRpdmlkdWFsIHByb2plY3RzIG9yIHdvcmtzcGFjZXMgYnV0IG5vdCBpbmRpdmlkdWFsIHByb2plY3RzIHdpdGhpbiB3b3Jrc3BhY2VzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWVyZ2VEb2NzKHBrZzogUGFja2FnZSkge1xuICAgIGNvbnN0IGVudHJ5UG9pbnRzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3Qgcm9vdCA9IHBrZy5yb290O1xuXG4gICAgaWYgKHJvb3QuaXNXb3Jrc3BhY2UpIHtcbiAgICAgICAgLy8gV29ya3NwYWNlXG4gICAgICAgIGNvbnN0IGdyYXBoID0gYXdhaXQgR3JhcGgubG9hZChyb290KTtcbiAgICAgICAgaWYgKGdyYXBoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFNob3VsZG4ndCBoYXBwZW5cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW50ZXJuYWw6ICR7cGtnLm5hbWV9IGhhcyB3b3Jrc3BhY2VzIGJ1dCBubyBncmFwaGApO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBncmFwaC5ub2Rlcykge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IHJlZmxlY3Rpb25zUGF0aChub2RlLnBrZyk7XG4gICAgICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgICAgIGVudHJ5UG9pbnRzLnB1c2gocGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlbnRyeVBvaW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVmbGVjdGlvbnMgZGV0ZWN0ZWQgaW4gd29ya3NwYWNlICR7cGtnLm5hbWV9YCk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTdGFuZGFsb25lIHBhY2thZ2VcbiAgICAgICAgY29uc3QgcGF0aCA9IHJlZmxlY3Rpb25zUGF0aChwa2cpO1xuICAgICAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHJlZmxlY3Rpb25zIHByZXNlbnQgZm9yICR7cGtnLm5hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZW50cnlQb2ludHMucHVzaChwYXRoKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcHAgPSBhd2FpdCBjcmVhdGVBcHBsaWNhdGlvbih7XG4gICAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgICBlbnRyeVBvaW50U3RyYXRlZ3k6IFwibWVyZ2VcIixcbiAgICAgICAgLi4uVEhFTUVfT1BUSU9OUyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBhd2FpdCBsb2FkUmVmbGVjdGlvbnMoYXBwLCBwa2cpO1xuXG4gICAgYXdhaXQgYXBwLmdlbmVyYXRlRG9jcyhyZWZsZWN0aW9uLCBwa2cucmVzb2x2ZShPVVRQVVRfUEFUSCkpO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIHR5cGVkb2MgXCJhcHBsaWNhdGlvblwiIHdoaWNoIGlzIHRoZSBpbnRlcmZhY2UgZm9yIGV4dHJhY3RpbmcgdHlwZXMgYW5kIGdlbmVyYXRpbmcgZG9jcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQXBwbGljYXRpb24ob3B0aW9uczogUGFydGlhbDxUeXBlRG9jT3B0aW9ucz4pIHtcbiAgICByZXR1cm4gYXdhaXQgQXBwbGljYXRpb24uYm9vdHN0cmFwV2l0aFBsdWdpbnMoe1xuICAgICAgICBwbHVnaW46IFBMVUdJTlMsXG4gICAgICAgIGxvZ0xldmVsOiBMb2dMZXZlbC5XYXJuLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xufVxuXG4vKipcbiAqIFBlcmZvcm0gXCJjb252ZXJzaW9uXCIgd2hpY2ggaXMgdHlwZWRvYyB0ZXJtaW5vbG9neSBmb3IgZXhlY3V0aW5nIHRoZSBvcGVyYXRpb24gZGVmaW5lZCBieSB0aGUgYXBwbGljYXRpb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRSZWZsZWN0aW9ucyhhcHA6IEFwcGxpY2F0aW9uLCBwa2c6IFBhY2thZ2UpIHtcbiAgICBjb25zdCByZWZsZWN0aW9uID0gYXdhaXQgYXBwLmNvbnZlcnQoKTtcbiAgICBpZiAocmVmbGVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvamVjdCAke3BrZy5wYXRofSBwcm9kdWNlZCBubyBkb2N1bWVudGF0aW9uYCk7XG4gICAgfVxuICAgIHJldHVybiByZWZsZWN0aW9uO1xufVxuXG5jbGFzcyBSZWZsZWN0aW9uQW5hbHlzaXMge1xuICAgIC8vIFRPRE8gLSBuZWVkIHRvIHBvcHVsYXRlIHRoaXMgZHVyaW5nIGFuYWx5c2lzIHNvIHdlIGNhbiB3YXJuOyB3aWxsIHJlcGxhY2UgdHlwZWRvYy1wbHVnaW4tbWlzc2luZy1leHBvcnRzXG4gICAgdW5leHBvcnRlZFJlZmVyZW5jZSA9IG5ldyBTZXQ8UmVmbGVjdGlvbj4oKTtcblxuICAgIG1lcmdlV2l0aFBhcmVudCA9IG5ldyBTZXQ8RGVjbGFyYXRpb25SZWZsZWN0aW9uPigpO1xuICAgIG1lcmdlSW50byA9IG5ldyBNYXA8RGVjbGFyYXRpb25SZWZsZWN0aW9uLCBEZWNsYXJhdGlvblJlZmxlY3Rpb24+KCk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtIHJlZmxlY3Rpb25zIHRvIGltcHJvdmUgZmluYWwgb3V0cHV0LlxuICovXG5mdW5jdGlvbiBhbmFseXplUmVmbGVjdGlvbnMobm9kZTogUmVmbGVjdGlvbiwgYW5hbHlzaXM6IFJlZmxlY3Rpb25BbmFseXNpcykge1xuICAgIHZpc2l0KG5vZGUsIHN1YmplY3QgPT4ge1xuICAgICAgICAvLyBUT0RPIC0gcG9wdWxhdGUgYW5hbHlzaXMudW5leHBvcmVkUmVmZXJlbmNlIChvciBwZXJoYXBzIGp1c3QgcHJpbnQgd2FybmluZylcblxuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGNoaWxkcmVuT2Yoc3ViamVjdCk7XG4gICAgICAgIGNvbnN0IG1lcmdlYWJsZSA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIERlY2xhcmF0aW9uUmVmbGVjdGlvbj47XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZXMgPSBuZXcgU2V0PERlY2xhcmF0aW9uUmVmbGVjdGlvbj4oKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGNoaWxkLmtpbmRPZihSZWZsZWN0aW9uS2luZC5DbGFzc09ySW50ZXJmYWNlIHwgUmVmbGVjdGlvbktpbmQuRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgbWVyZ2VhYmxlW2NoaWxkLm5hbWVdID0gY2hpbGQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkLmtpbmRPZihSZWZsZWN0aW9uS2luZC5OYW1lc3BhY2UpKSB7XG4gICAgICAgICAgICAgICAgbmFtZXNwYWNlcy5hZGQoY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBucyBvZiBuYW1lc3BhY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBtZXJnZUludG8gPSBtZXJnZWFibGVbbnMubmFtZV07XG4gICAgICAgICAgICBpZiAobWVyZ2VJbnRvKSB7XG4gICAgICAgICAgICAgICAgYW5hbHlzaXMubWVyZ2VJbnRvLnNldChucywgbWVyZ2VJbnRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiByZXBhaXJSZWZsZWN0aW9ucyhhbmFseXNpczogUmVmbGVjdGlvbkFuYWx5c2lzKSB7XG4gICAgZm9yIChjb25zdCB0b01lcmdlIG9mIGFuYWx5c2lzLm1lcmdlV2l0aFBhcmVudCkge1xuICAgICAgICBpZiAodG9NZXJnZS5wYXJlbnQgaW5zdGFuY2VvZiBEZWNsYXJhdGlvblJlZmxlY3Rpb24pIHtcbiAgICAgICAgICAgIG1lcmdlSW50byh0b01lcmdlLCB0b01lcmdlLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBbdG9NZXJnZSwgaW50b10gb2YgYW5hbHlzaXMubWVyZ2VJbnRvLmVudHJpZXMoKSkge1xuICAgICAgICBtZXJnZUludG8odG9NZXJnZSwgaW50byk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBtb3ZlTm9kZShzdWJqZWN0OiBEZWNsYXJhdGlvblJlZmxlY3Rpb24sIGludG86IENvbnRhaW5lclJlZmxlY3Rpb24pIHtcbiAgICBjb25zdCBmcm9tID0gc3ViamVjdC5wYXJlbnQgYXMgQ29udGFpbmVyUmVmbGVjdGlvbjtcblxuICAgIC8vIE5vIGFjdHVhbCBtb3ZlbWVudFxuICAgIGlmIChmcm9tID09PSBpbnRvKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZnJvbSBvbGQgcGFyZW50XG4gICAgaWYgKGZyb20pIHtcbiAgICAgICAgZnJvbS5yZW1vdmVDaGlsZChzdWJqZWN0KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdG8gbmV3IHBhcmVudFxuICAgIGludG8uYWRkQ2hpbGQoc3ViamVjdCk7XG4gICAgc3ViamVjdC5wYXJlbnQgPSBpbnRvO1xuXG4gICAgLy8gV2hlbiBtZXJnaW5nIGEgbmFtZXNwYWNlIGludG8gYSB0eXBlIHR3ZWFrIG1vZGlmaWVyIGFuZCBraW5kIGFwcHJvcHJpYXRlbHkgKGEgYml0IG9mIGd1ZXNzaW5nIGhlcmU7IG1pZ2h0IG5lZWRcbiAgICAvLyB0d2Vha2luZylcbiAgICBpZiAoXG4gICAgICAgIGZyb20ua2luZE9mKFJlZmxlY3Rpb25LaW5kLk5hbWVzcGFjZSkgJiZcbiAgICAgICAgaW50by5raW5kT2YoUmVmbGVjdGlvbktpbmQuQ2xhc3NPckludGVyZmFjZSkgJiZcbiAgICAgICAgc3ViamVjdC5raW5kT2YoUmVmbGVjdGlvbktpbmQuU29tZVZhbHVlKVxuICAgICkge1xuICAgICAgICBzdWJqZWN0LmZsYWdzLnNldEZsYWcoUmVmbGVjdGlvbkZsYWcuU3RhdGljLCB0cnVlKTtcbiAgICAgICAgaWYgKHN1YmplY3Qua2luZE9mKFJlZmxlY3Rpb25LaW5kLlZhcmlhYmxlKSkge1xuICAgICAgICAgICAgc3ViamVjdC5raW5kID0gUmVmbGVjdGlvbktpbmQuUHJvcGVydHk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlSW50byhmcm9tOiBEZWNsYXJhdGlvblJlZmxlY3Rpb24sIGludG86IENvbnRhaW5lclJlZmxlY3Rpb24pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGNoaWxkcmVuT2YoZnJvbSk7XG4gICAgd2hpbGUgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBtb3ZlTm9kZShjaGlsZHJlblswXSwgaW50byk7XG4gICAgfVxuICAgIChmcm9tLnBhcmVudCBhcyBDb250YWluZXJSZWZsZWN0aW9uKT8ucmVtb3ZlQ2hpbGQoZnJvbSk7XG4gICAgLy8gVE9ETyAtIHJlbWFwIG5hbWVcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5PZihub2RlOiBSZWZsZWN0aW9uKSB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDb250YWluZXJSZWZsZWN0aW9uKSB7XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZS5jaGlsZHJlbjtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuXG4vKipcbiAqIFZpc2l0IGFsbCBub2RlcyBpbiBhIHJlZmxlY3Rpb24gdHJlZS4gIFJlZmxlY3Rpb24gaGFzIGEgXCJ2aXNpdFwiIG1ldGhvZCBidXQgaXQncyBqdXN0IGEgYnJhbmNoIG9uIHR5cGUuXG4gKi9cbmZ1bmN0aW9uIHZpc2l0KG5vZGU6IFJlZmxlY3Rpb24sIHZpc2l0b3I6IChub2RlOiBSZWZsZWN0aW9uKSA9PiB2b2lkKSB7XG4gICAgdmlzaXRvcihub2RlKTtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW5PZihub2RlKSkge1xuICAgICAgICB2aXNpdChjaGlsZCwgdmlzaXRvcik7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLFNBQVMsZ0JBQWdCO0FBQ3pCO0FBQUEsRUFDSTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUVBO0FBQUEsRUFDQTtBQUFBLE9BRUc7QUFDUCxTQUFTLGNBQWM7QUFHdkIsU0FBUyxhQUFhO0FBS3RCLE1BQU0sVUFBVSxDQUFDLHNCQUFzQjtBQUd2QyxNQUFNLGNBQWM7QUFFcEIsTUFBTSxnQkFBZ0I7QUFBQSxFQUNsQixZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNaEI7QUFLQSxlQUFzQixVQUFVLEtBQWMsVUFBb0I7QUFDOUQsUUFBTSxVQUFVLElBQUk7QUFHcEIsUUFBTSxjQUFjLE1BQWM7QUFHbEMsUUFBTSxXQUFXLElBQUksS0FBSztBQUUxQixhQUFXLFFBQVEsU0FBUztBQUN4QixVQUFNLE9BQU8sUUFBUSxJQUFJO0FBQ3pCLFFBQUksS0FBSyxTQUFTLE9BQU8sR0FBRztBQUN4QjtBQUFBLElBQ0o7QUFFQSxRQUFJLE9BQU8sSUFBSSxHQUFHO0FBQ2QsVUFBSSxDQUFDLFlBQVksU0FBUyxJQUFJLEdBQUc7QUFDN0Isb0JBQVksS0FBSyxJQUFJO0FBQUEsTUFDekI7QUFBQSxJQUNKLE9BQU87QUFDSCxZQUFNLElBQUksTUFBTSw4QkFBOEIsSUFBSSxTQUFTLFFBQVEsSUFBSSxDQUFDLEVBQUU7QUFBQSxJQUM5RTtBQUFBLEVBQ0o7QUFFQSxRQUFNLE1BQU0sTUFBTSxrQkFBa0I7QUFBQSxJQUNoQyxrQkFBa0I7QUFBQSxJQUNs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
|