velocious 1.0.309 → 1.0.311
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/build/src/http-server/client/request.d.ts +2 -0
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/request.js +17 -1
- package/build/src/http-server/client/websocket-request.d.ts +3 -1
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +5 -3
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +3 -6
- package/package.json +2 -2
|
@@ -32,6 +32,8 @@ export default class VelociousHttpServerClientRequest {
|
|
|
32
32
|
/** @returns {Record<string, string | string[] | undefined | Record<string, unknown> | unknown[]>} - The request params. */
|
|
33
33
|
params(): Record<string, string | string[] | undefined | Record<string, unknown> | unknown[]>;
|
|
34
34
|
port(): number | void;
|
|
35
|
+
/** @returns {Record<string, string | string[]>} - Parsed query parameters from the URL. */
|
|
36
|
+
queryParams(): Record<string, string | string[]>;
|
|
35
37
|
protocol(): string | null;
|
|
36
38
|
remoteAddress(): string | undefined;
|
|
37
39
|
getRequestBuffer(): import("./request-buffer/index.js").default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"AAOA;IACE;;;;OAIG;IACH,oDAHG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACmB,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAOA;IAHC,qCAAoB;IACpB,wDAAkC;IAClC,6BAAuD;IAGzD,kBAAkE;IAElE;;;OAGG;IACH,WAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAEoB;IAEnD;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAE6D;IACvF,kCAA6D;IAC7D,qBAA0D;IAC1D,sBAA4D;IAC5D,sBAA8C;IAE9C,uBAcC;IAED,wBAAyC;IACzC,eAA8C;IAC9C,2HAA2H;IAC3H,UADc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,CACxC;IACzD,sBAA8C;IAE9C,2FAA2F;IAC3F,eADc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAiB9C;IACD,0BAAsD;IACtD,oCAAqD;IAErD,gEAAwE;IACxE,kCAAgD;CACjD;0BAhFyB,qBAAqB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
import { digg } from "diggerize";
|
|
3
|
+
import querystring from "querystring";
|
|
3
4
|
import RequestParser from "./request-parser.js";
|
|
4
5
|
import restArgsError from "../../utils/rest-args-error.js";
|
|
5
6
|
export default class VelociousHttpServerClientRequest {
|
|
@@ -49,9 +50,24 @@ export default class VelociousHttpServerClientRequest {
|
|
|
49
50
|
/** @returns {Record<string, string | string[] | undefined | Record<string, unknown> | unknown[]>} - The request params. */
|
|
50
51
|
params() { return digg(this, "requestParser", "params"); }
|
|
51
52
|
port() { return this.requestParser.getPort(); }
|
|
53
|
+
/** @returns {Record<string, string | string[]>} - Parsed query parameters from the URL. */
|
|
54
|
+
queryParams() {
|
|
55
|
+
const query = this.path().split("?")[1];
|
|
56
|
+
if (!query)
|
|
57
|
+
return Object.create(null);
|
|
58
|
+
const parsed = querystring.parse(query);
|
|
59
|
+
/** @type {Record<string, string | string[]>} */
|
|
60
|
+
const params = Object.create(null);
|
|
61
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
62
|
+
if (typeof value !== "undefined") {
|
|
63
|
+
params[key] = value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return params;
|
|
67
|
+
}
|
|
52
68
|
protocol() { return this.requestParser.getProtocol(); }
|
|
53
69
|
remoteAddress() { return this.client?.remoteAddress; }
|
|
54
70
|
getRequestBuffer() { return this.getRequestParser().getRequestBuffer(); }
|
|
55
71
|
getRequestParser() { return this.requestParser; }
|
|
56
72
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUE7QUFDL0MsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQ0FBZ0M7SUFDbkQ7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQzlDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsT0FBTyxLQUFLLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRWxFOzs7T0FHRztJQUNILElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFbkQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDdkYsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQzdELFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQzFELFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQzVELElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRTlDLFlBQVk7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hDLElBQUksWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUE7UUFFbkMsSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNyQyxhQUFhO1FBQ2YsQ0FBQzthQUFNLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7WUFDOUMsYUFBYTtRQUNmLENBQUM7YUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLFlBQVksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzVCLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0lBRUQsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDekMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDOUMsMkhBQTJIO0lBQzNILE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUN6RCxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUMsQ0FBQztJQUU5QywyRkFBMkY7SUFDM0YsV0FBVztRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFdEMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxnREFBZ0Q7UUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVsQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xELElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDckIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFDRCxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUN0RCxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQSxDQUFDLENBQUM7SUFFckQsZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUN4RSxnQkFBZ0IsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUEsQ0FBQyxDQUFDO0NBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgcXVlcnlzdHJpbmcgZnJvbSBcInF1ZXJ5c3RyaW5nXCJcbmltcG9ydCBSZXF1ZXN0UGFyc2VyIGZyb20gXCIuL3JlcXVlc3QtcGFyc2VyLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyQ2xpZW50UmVxdWVzdCB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5jbGllbnQgLSBDbGllbnQgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NsaWVudCwgY29uZmlndXJhdGlvbiwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMucmVxdWVzdFBhcnNlciA9IG5ldyBSZXF1ZXN0UGFyc2VyKHtjb25maWd1cmF0aW9ufSlcbiAgfVxuXG4gIGJhc2VVUkwoKSB7IHJldHVybiBgJHt0aGlzLnByb3RvY29sKCl9Oi8vJHt0aGlzLmhvc3RXaXRoUG9ydCgpfWAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSAtIERhdGEgcGF5bG9hZC5cbiAgICogQHJldHVybnMge0J1ZmZlciB8IHVuZGVmaW5lZH0gLSBSZW1haW5pbmcgZGF0YSwgaWYgYW55LlxuICAgKi9cbiAgZmVlZChkYXRhKSB7IHJldHVybiB0aGlzLnJlcXVlc3RQYXJzZXIuZmVlZChkYXRhKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJOYW1lIC0gSGVhZGVyIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAtIFRoZSBoZWFkZXIuXG4gICAqL1xuICBoZWFkZXIoaGVhZGVyTmFtZSkgeyByZXR1cm4gdGhpcy5nZXRSZXF1ZXN0QnVmZmVyKCkuZ2V0SGVhZGVyKGhlYWRlck5hbWUpPy5nZXRWYWx1ZSgpIH1cbiAgaGVhZGVycygpIHsgcmV0dXJuIHRoaXMuZ2V0UmVxdWVzdEJ1ZmZlcigpLmdldEhlYWRlcnNIYXNoKCkgfVxuICBodHRwTWV0aG9kKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBNZXRob2QoKSB9XG4gIGh0dHBWZXJzaW9uKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEh0dHBWZXJzaW9uKCkgfVxuICBob3N0KCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldEhvc3QoKSB9XG5cbiAgaG9zdFdpdGhQb3J0KCkge1xuICAgIGNvbnN0IHBvcnQgPSB0aGlzLnBvcnQoKVxuICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbCgpXG4gICAgbGV0IGhvc3RXaXRoUG9ydCA9IGAke3RoaXMuaG9zdCgpfWBcblxuICAgIGlmIChwb3J0ID09IDgwICYmIHByb3RvY29sID09IFwiaHR0cFwiKSB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBlbHNlIGlmIChwb3J0ID09IDQ0MyAmJiBwcm90b2NvbCA9PSBcImh0dHBzXCIpIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IGVsc2UgaWYgKHBvcnQpIHtcbiAgICAgIGhvc3RXaXRoUG9ydCArPSBgOiR7cG9ydH1gXG4gICAgfVxuXG4gICAgcmV0dXJuIGhvc3RXaXRoUG9ydFxuICB9XG5cbiAgb3JpZ2luKCkgeyByZXR1cm4gdGhpcy5oZWFkZXIoXCJvcmlnaW5cIikgfVxuICBwYXRoKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldFBhdGgoKSB9XG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVua25vd25bXT59IC0gVGhlIHJlcXVlc3QgcGFyYW1zLiAqL1xuICBwYXJhbXMoKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVxdWVzdFBhcnNlclwiLCBcInBhcmFtc1wiKSB9XG4gIHBvcnQoKSB7IHJldHVybiB0aGlzLnJlcXVlc3RQYXJzZXIuZ2V0UG9ydCgpIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPn0gLSBQYXJzZWQgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBVUkwuICovXG4gIHF1ZXJ5UGFyYW1zKCkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5wYXRoKCkuc3BsaXQoXCI/XCIpWzFdXG5cbiAgICBpZiAoIXF1ZXJ5KSByZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gICAgY29uc3QgcGFyc2VkID0gcXVlcnlzdHJpbmcucGFyc2UocXVlcnkpXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT59ICovXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyc2VkKSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHByb3RvY29sKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyLmdldFByb3RvY29sKCkgfVxuICByZW1vdGVBZGRyZXNzKCkgeyByZXR1cm4gdGhpcy5jbGllbnQ/LnJlbW90ZUFkZHJlc3MgfVxuXG4gIGdldFJlcXVlc3RCdWZmZXIoKSB7IHJldHVybiB0aGlzLmdldFJlcXVlc3RQYXJzZXIoKS5nZXRSZXF1ZXN0QnVmZmVyKCkgfVxuICBnZXRSZXF1ZXN0UGFyc2VyKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0UGFyc2VyIH1cbn1cbiJdfQ==
|
|
@@ -40,7 +40,9 @@ export default class VelociousHttpServerClientWebsocketRequest {
|
|
|
40
40
|
params(): Record<string, any>;
|
|
41
41
|
port(): number | undefined;
|
|
42
42
|
protocol(): string | undefined;
|
|
43
|
+
/** @returns {Record<string, string | string[]>} - Parsed query parameters from the URL. */
|
|
44
|
+
queryParams(): Record<string, string | string[]>;
|
|
43
45
|
remoteAddress(): string | undefined;
|
|
44
|
-
_parseQueryParams():
|
|
46
|
+
_parseQueryParams(): any;
|
|
45
47
|
}
|
|
46
48
|
//# sourceMappingURL=websocket-request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;OAQG;IACH,oEAPG;QAAmB,IAAI,GAAf,GAAG;QAC2B,OAAO;QACxB,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACqB,MAAM;QACnB,aAAa;KACrC,EA6BA;IAxBC,UAAgB;IAChB,qCAAqC;IACrC,YADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACb;IACpB,eAAkC;IAClC,kCAAkC;IAClC,cADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACR;IACtB,cAAiB;IACjB,uCAAuC;IAmBzC,8BAKC;IAED;;;OAGG;IACH,aAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAEyC;IAEnE,kCAAoC;IAEpC,qBAAmC;IAEnC,sBAAoC;IAEpC,2BAAkD;IAElD,mCAQC;IAED,wBAAyC;IAEzC,eAA4B;IAE5B,8BAAqC;IAErC,2BAKC;IAED,+BAKC;IAED,oCAAkD;IAElD,
|
|
1
|
+
{"version":3,"file":"websocket-request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/websocket-request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;;OAQG;IACH,oEAPG;QAAmB,IAAI,GAAf,GAAG;QAC2B,OAAO;QACxB,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACqB,MAAM;QACnB,aAAa;KACrC,EA6BA;IAxBC,UAAgB;IAChB,qCAAqC;IACrC,YADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACb;IACpB,eAAkC;IAClC,kCAAkC;IAClC,cADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACR;IACtB,cAAiB;IACjB,uCAAuC;IAmBzC,8BAKC;IAED;;;OAGG;IACH,aAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAEyC;IAEnE,kCAAoC;IAEpC,qBAAmC;IAEnC,sBAAoC;IAEpC,2BAAkD;IAElD,mCAQC;IAED,wBAAyC;IAEzC,eAA4B;IAE5B,8BAAqC;IAErC,2BAKC;IAED,+BAKC;IAED,2FAA2F;IAC3F,eADc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CACE;IAEjD,oCAAkD;IAElD,yBAkBC;CACF"}
|
|
@@ -76,14 +76,16 @@ export default class VelociousHttpServerClientWebsocketRequest {
|
|
|
76
76
|
const match = origin?.match(/^(.+):\/\//);
|
|
77
77
|
return match?.[1];
|
|
78
78
|
}
|
|
79
|
+
/** @returns {Record<string, string | string[]>} - Parsed query parameters from the URL. */
|
|
80
|
+
queryParams() { return this._parseQueryParams(); }
|
|
79
81
|
remoteAddress() { return this.remoteAddressValue; }
|
|
80
82
|
_parseQueryParams() {
|
|
81
83
|
const query = this._path.split("?")[1];
|
|
82
84
|
if (!query)
|
|
83
|
-
return
|
|
85
|
+
return Object.create(null);
|
|
84
86
|
const parsedQuery = querystring.parse(query);
|
|
85
87
|
/** @type {Record<string, string | string[]>} */
|
|
86
|
-
const params =
|
|
88
|
+
const params = Object.create(null);
|
|
87
89
|
for (const key of Object.keys(parsedQuery)) {
|
|
88
90
|
const value = parsedQuery[key];
|
|
89
91
|
if (typeof value !== "undefined") {
|
|
@@ -93,4 +95,4 @@ export default class VelociousHttpServerClientWebsocketRequest {
|
|
|
93
95
|
return params;
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUE7QUFFckMsTUFBTSxDQUFDLE9BQU8sT0FBTyx5Q0FBeUM7SUFDNUQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2xDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFBO1FBRXZDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUM1QyxDQUFDO1FBQ0gsQ0FB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QzNGLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUVqRCxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDO0lBRWxELGlCQUFpQjtRQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXRDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXRDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUMsZ0RBQWdEO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRTlCLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDckIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgcXVlcnlzdHJpbmcgZnJvbSBcInF1ZXJ5c3RyaW5nXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlckNsaWVudFdlYnNvY2tldFJlcXVlc3Qge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHthbnl9IFthcmdzLmJvZHldIC0gUmVxdWVzdCBib2R5LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IFthcmdzLmhlYWRlcnNdIC0gSGVhZGVyIGxpc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1ldGhvZCAtIEhUVFAgbWV0aG9kLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5wYXJhbXNdIC0gUGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5yZW1vdGVBZGRyZXNzXSAtIFJlbW90ZSBhZGRyZXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2JvZHksIGhlYWRlcnMsIG1ldGhvZCwgcGFyYW1zLCBwYXRoLCByZW1vdGVBZGRyZXNzfSkge1xuICAgIGlmICghbWV0aG9kKSB0aHJvdyBuZXcgRXJyb3IoXCJtZXRob2QgaXMgcmVxdWlyZWRcIilcbiAgICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcInBhdGggaXMgcmVxdWlyZWRcIilcblxuICAgIHRoaXMuYm9keSA9IGJvZHlcbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovXG4gICAgdGhpcy5oZWFkZXJzTWFwID0ge31cbiAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZC50b1VwcGVyQ2FzZSgpXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgIHRoaXMucGFyYW1zT2JqZWN0ID0ge31cbiAgICB0aGlzLl9wYXRoID0gcGF0aFxuICAgIHRoaXMucmVtb3RlQWRkcmVzc1ZhbHVlID0gcmVtb3RlQWRkcmVzc1xuXG4gICAgaWYgKGhlYWRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpKSB7XG4gICAgICAgIHRoaXMuaGVhZGVyc01hcFtrZXkudG9Mb3dlckNhc2UoKV0gPSB2YWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMpIHRoaXMucGFyYW1zT2JqZWN0ID0gey4uLnBhcmFtc31cbiAgICBpZiAodGhpcy5ib2R5ICYmIHR5cGVvZiB0aGlzLmJvZHkgPT09IFwib2JqZWN0XCIpIHRoaXMucGFyYW1zT2JqZWN0ID0gey4uLnRoaXMucGFyYW1zT2JqZWN0LCAuLi50aGlzLmJvZHl9XG4gICAgaWYgKHRoaXMuYm9keSAmJiB0eXBlb2YgdGhpcy5ib2R5ID09PSBcIm9iamVjdFwiICYmICF0aGlzLmhlYWRlcnNNYXBbXCJjb250ZW50LXR5cGVcIl0pIHtcbiAgICAgIHRoaXMuaGVhZGVyc01hcFtcImNvbnRlbnQtdHlwZVwiXSA9IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLl9wYXJzZVF1ZXJ5UGFyYW1zKClcblxuICAgIHRoaXMucGFyYW1zT2JqZWN0ID0gey4uLnF1ZXJ5UGFyYW1zLCAuLi50aGlzLnBhcmFtc09iamVjdH1cbiAgfVxuXG4gIGJhc2VVUkwoKSB7XG4gICAgY29uc3QgcHJvdG9jb2wgPSB0aGlzLnByb3RvY29sKClcbiAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0V2l0aFBvcnQoKVxuXG4gICAgaWYgKHByb3RvY29sICYmIGhvc3QpIHJldHVybiBgJHtwcm90b2NvbH06Ly8ke2hvc3R9YFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gSGVhZGVyIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAtIEhlYWRlciB2YWx1ZS5cbiAgICovXG4gIGhlYWRlcihuYW1lKSB7IHJldHVybiB0aGlzLmhlYWRlcnNNYXBbbmFtZS50b0xvd2VyQ2FzZSgpXSB8fCBudWxsIH1cblxuICBoZWFkZXJzKCkgeyByZXR1cm4gdGhpcy5oZWFkZXJzTWFwIH1cblxuICBodHRwTWV0aG9kKCkgeyByZXR1cm4gdGhpcy5tZXRob2QgfVxuXG4gIGh0dHBWZXJzaW9uKCkgeyByZXR1cm4gXCJ3ZWJzb2NrZXRcIiB9XG5cbiAgaG9zdCgpIHsgcmV0dXJuIHRoaXMuaGVhZGVyKFwiaG9zdFwiKSB8fCB1bmRlZmluZWQgfVxuXG4gIGhvc3RXaXRoUG9ydCgpIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5ob3N0KClcbiAgICBjb25zdCBwb3J0ID0gdGhpcy5wb3J0KClcblxuICAgIGlmICghaG9zdCkgcmV0dXJuXG4gICAgaWYgKCFwb3J0KSByZXR1cm4gaG9zdFxuXG4gICAgcmV0dXJuIGAke2hvc3R9OiR7cG9ydH1gXG4gIH1cblxuICBvcmlnaW4oKSB7IHJldHVybiB0aGlzLmhlYWRlcihcIm9yaWdpblwiKSB9XG5cbiAgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGggfVxuXG4gIHBhcmFtcygpIHsgcmV0dXJuIHRoaXMucGFyYW1zT2JqZWN0IH1cblxuICBwb3J0KCkge1xuICAgIGNvbnN0IGhvc3RIZWFkZXIgPSB0aGlzLmhlYWRlcihcImhvc3RcIilcbiAgICBjb25zdCBtYXRjaCA9IGhvc3RIZWFkZXI/Lm1hdGNoKC86KFxcZCspJC8pXG5cbiAgICBpZiAobWF0Y2gpIHJldHVybiBwYXJzZUludChtYXRjaFsxXSlcbiAgfVxuXG4gIHByb3RvY29sKCkge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMub3JpZ2luKClcbiAgICBjb25zdCBtYXRjaCA9IG9yaWdpbj8ubWF0Y2goL14oLispOlxcL1xcLy8pXG5cbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT59IC0gUGFyc2VkIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgVVJMLiAqL1xuICBxdWVyeVBhcmFtcygpIHsgcmV0dXJuIHRoaXMuX3BhcnNlUXVlcnlQYXJhbXMoKSB9XG5cbiAgcmVtb3RlQWRkcmVzcygpIHsgcmV0dXJuIHRoaXMucmVtb3RlQWRkcmVzc1ZhbHVlIH1cblxuICBfcGFyc2VRdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuX3BhdGguc3BsaXQoXCI/XCIpWzFdXG5cbiAgICBpZiAoIXF1ZXJ5KSByZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKVxuXG4gICAgY29uc3QgcGFyc2VkUXVlcnkgPSBxdWVyeXN0cmluZy5wYXJzZShxdWVyeSlcbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPn0gKi9cbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuY3JlYXRlKG51bGwpXG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJzZWRRdWVyeSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyc2VkUXVlcnlba2V5XVxuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHBhcmFtc1trZXldID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.js"],"names":[],"mappings":"AAsPA;IACE;;;;;;OAMG;IACH,oBANW,MAAM,GAAG,MAAM,gEAEvB;QAAoD,aAAa;QAC1C,KAAK;QAC2C,oBAAoB;KAC7F,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.js"],"names":[],"mappings":"AAsPA;IACE;;;;;;OAMG;IACH,oBANW,MAAM,GAAG,MAAM,gEAEvB;QAAoD,aAAa;QAC1C,KAAK;QAC2C,oBAAoB;KAC7F,EAcA;IAVC,gBAAmB;IACnB,0CAAmC;IACnC,2FAAiD;IAG/C,iBAAuC;IAEvC,4BAAqB;IAKzB;;OAEG;IACH,oBAFa,OAAO,oBAAoB,EAAE,OAAO,CAShD;IAED;;OAEG;IACH,sBAFa,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAQ5D;IAED;;;OAGG;IACH,mBAHW,GAAG,EAAE,GACH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;OAGG;IACH,kBAHW,GAAG,EAAE,GACH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;OAGG;IACH,2BAHW,GAAG,EAAE,GACH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;OAGG;IACH,iBAHW,GAAG,EAAE,GACH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;OAGG;IACH,mBAHW,GAAG,EAAE,GACH,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;OAGG;IACH,mBAHW,OAAO,GACL,IAAI,CAIhB;IAGS,cAAU,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAM3E;;;;;OAKG;IACH,4BAJG;QAAuB,KAAK,EAApB,QAAQ;QACoC,QAAQ,EAApD,UAAU,CAAC,OAAO,kBAAkB,CAAC;KAC7C,GAAU,OAAO,CAAC,IAAI,CAAC,CAczB;CACF;uBAtWa,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;0BAN3C,oBAAoB;AAkB9C;;;GAGG;AACH,iDAHW,CAAG,GAAG,IAAC,MAAa,KAAK,CAAC,GAAG,CAAC,CAAA,GAAA,GAC5B,KAAK,CAAC,GAAG,CAAC,CAStB"}
|
package/build/src/logger.js
CHANGED
|
@@ -225,14 +225,11 @@ export default class Logger {
|
|
|
225
225
|
this._configuration = configuration;
|
|
226
226
|
this._loggingConfiguration = loggingConfiguration;
|
|
227
227
|
if (typeof object == "string") {
|
|
228
|
-
this._subject = object;
|
|
228
|
+
this._subject = object || "EmptyString";
|
|
229
229
|
}
|
|
230
230
|
else {
|
|
231
231
|
this._object = object;
|
|
232
|
-
this._subject = object.constructor.name;
|
|
233
|
-
}
|
|
234
|
-
if (!this._subject) {
|
|
235
|
-
throw new Error(`No subject given`);
|
|
232
|
+
this._subject = object.constructor.name || "UnknownClass";
|
|
236
233
|
}
|
|
237
234
|
}
|
|
238
235
|
/**
|
|
@@ -323,4 +320,4 @@ export default class Logger {
|
|
|
323
320
|
});
|
|
324
321
|
}
|
|
325
322
|
}
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUE7QUFDOUMsT0FBTyxtQkFBbUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUNwRSxPQUFPLGdCQUFnQixNQUFNLGlDQUFpQyxDQUFBO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQTtBQUV0RCxrRkFBa0Y7QUFFbEYsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyxPQUFPLEVBQUUsSUFBSTtJQUNiLElBQUksRUFBRSxLQUFLO0lBQ1gseUJBQXlCO0lBQ3pCLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO0NBQ2xDLENBQUE7QUFFRCx5QkFBeUI7QUFDekIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUV6RTs7O0dBR0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLEdBQUcsUUFBUTtJQUNyQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxH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QUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsUUFBUTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFBO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRO1FBQ3BCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQztRQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUMvQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsSUFBSSwyQkFBMkIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUVyRyxNQUFNLFFBQVEsQ0FBQztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixLQUFLO1lBQ0wsUUFBUTtZQUNSLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3ZCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ29uZmlndXJhdGlvbiBmcm9tIFwiLi9jb25maWd1cmF0aW9uLmpzXCJcbmltcG9ydCBMb2dnZXJDb25zb2xlT3V0cHV0IGZyb20gXCIuL2xvZ2dlci9vdXRwdXRzL2NvbnNvbGUtb3V0cHV0LmpzXCJcbmltcG9ydCBMb2dnZXJGaWxlT3V0cHV0IGZyb20gXCIuL2xvZ2dlci9vdXRwdXRzL2ZpbGUtb3V0cHV0LmpzXCJcbmltcG9ydCB7Zm9ybWF0VmFsdWV9IGZyb20gXCIuL3V0aWxzL2Zvcm1hdC12YWx1ZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKiogQHR5cGVkZWYge1wiZGVidWctbG93LWxldmVsXCIgfCBcImRlYnVnXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwifSBMb2dMZXZlbCAqL1xuXG5jb25zdCBERUZBVUxUX0xPR0dJTkdfQ09ORklHVVJBVElPTiA9IHtcbiAgY29uc29sZTogdHJ1ZSxcbiAgZmlsZTogZmFsc2UsXG4gIC8qKiBAdHlwZSB7TG9nTGV2ZWxbXX0gKi9cbiAgbGV2ZWxzOiBbXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdXG59XG5cbi8qKiBAdHlwZSB7TG9nTGV2ZWxbXX0gKi9cbmNvbnN0IExFVkVMX09SREVSID0gW1wiZGVidWctbG93LWxldmVsXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdXG5cbi8qKlxuICogQHBhcmFtIHsuLi5hbnl8ZnVuY3Rpb24oKSA6IEFycmF5PGFueT59IG1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gKiBAcmV0dXJucyB7QXJyYXk8YW55Pn0gLSBFaXRoZXIgdGhlIGZ1bmN0aW9uIHJlc3VsdCBvciB0aGUgbWVzc2FnZXNcbiAqL1xuZnVuY3Rpb24gZnVuY3Rpb25Pck1lc3NhZ2VzKC4uLm1lc3NhZ2VzKSB7XG4gIGlmIChtZXNzYWdlcy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIG1lc3NhZ2VzWzBdID09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IHJlc3VsdCA9IG1lc3NhZ2VzWzBdKClcbiAgICBtZXNzYWdlcyA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdCA6IFtyZXN1bHRdXG4gIH1cblxuICByZXR1cm4gbWVzc2FnZXNcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBtdWx0aXBsZSBtZXNzYWdlIHBhcnRzIGludG8gYSBzaW5nbGUgc3RyaW5nLlxuICogQHBhcmFtIHsuLi5hbnl9IG1lc3NhZ2VzIC0gUGFydHMgdG8gY29tYmluZSBpbnRvIGEgbWVzc2FnZVxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgbWVzc2FnZXMgdG8gbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gbWVzc2FnZXNUb01lc3NhZ2UoLi4ubWVzc2FnZXMpIHtcbiAgbGV0IG1lc3NhZ2UgPSBcIlwiXG5cbiAgZm9yIChjb25zdCBtZXNzYWdlUGFydEluZGV4IGluIG1lc3NhZ2VzKSB7XG4gICAgY29uc3QgbWVzc2FnZVBhcnQgPSBtZXNzYWdlc1ttZXNzYWdlUGFydEluZGV4XVxuXG4gICAgaWYgKE51bWJlcihtZXNzYWdlUGFydEluZGV4KSA+IDApIHtcbiAgICAgIG1lc3NhZ2UgKz0gXCIgXCJcbiAgICB9XG5cbiAgICBpZiAobWVzc2FnZVBhcnQgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbWVzc2FnZSArPSBgJHttZXNzYWdlUGFydC5tZXNzYWdlfVxcbiR7bWVzc2FnZVBhcnQuc3RhY2t9YFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1lc3NhZ2VQYXJ0ID09IFwib2JqZWN0XCIpIHtcbiAgICAgIG1lc3NhZ2UgKz0gZm9ybWF0VmFsdWUobWVzc2FnZVBhcnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIG1lc3NhZ2UgKz0gbWVzc2FnZVBhcnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVzc2FnZVxufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IGNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHJldHVybnMge1JlcXVpcmVkPFBpY2s8aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdDb25maWd1cmF0aW9uLCBcImNvbnNvbGVcIiB8IFwiZmlsZVwiIHwgXCJsZXZlbHNcIj4+ICYgUGFydGlhbDxQaWNrPGltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nQ29uZmlndXJhdGlvbiwgXCJmaWxlUGF0aFwiIHwgXCJvdXRwdXRzXCI+Pn0gLSBUaGUgbG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICovXG5mdW5jdGlvbiByZXNvbHZlTG9nZ2luZ0NvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikge1xuICBjb25zdCBkZWJ1Z0VuYWJsZWQgPSBjb25maWd1cmF0aW9uPy5kZWJ1ZyA9PT0gdHJ1ZVxuICBpZiAoY29uZmlndXJhdGlvbiAmJiB0eXBlb2YgY29uZmlndXJhdGlvbi5nZXRMb2dnaW5nQ29uZmlndXJhdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBjb25maWd1cmF0aW9uLmdldExvZ2dpbmdDb25maWd1cmF0aW9uKClcblxuICAgIGlmIChkZWJ1Z0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnJlc29sdmVkLFxuICAgICAgICBjb25zb2xlOiB0cnVlLFxuICAgICAgICBsZXZlbHM6IExFVkVMX09SREVSXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmVkXG4gIH1cblxuICBpZiAoZGVidWdFbmFibGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkRFRkFVTFRfTE9HR0lOR19DT05GSUdVUkFUSU9OLFxuICAgICAgY29uc29sZTogdHJ1ZSxcbiAgICAgIGxldmVsczogTEVWRUxfT1JERVJcbiAgICB9XG4gIH1cblxuICByZXR1cm4gREVGQVVMVF9MT0dHSU5HX0NPTkZJR1VSQVRJT05cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtMb2dMZXZlbH0gYXJncy5sZXZlbCAtIExldmVsLlxuICogQHBhcmFtIHtMb2dMZXZlbFtdfSBhcmdzLmFsbG93ZWRMZXZlbHMgLSBBbGxvd2VkIGxldmVscy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuZGVidWdGbGFnXSAtIFdoZXRoZXIgZGVidWcgZmxhZy5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgbGV2ZWwgYWxsb3dlZC5cbiAqL1xuZnVuY3Rpb24gaXNMZXZlbEFsbG93ZWQoe2xldmVsLCBhbGxvd2VkTGV2ZWxzLCBkZWJ1Z0ZsYWd9KSB7XG4gIGlmIChhbGxvd2VkTGV2ZWxzLmluY2x1ZGVzKGxldmVsKSkgcmV0dXJuIHRydWVcblxuICBpZiAoZGVidWdGbGFnICYmIExFVkVMX09SREVSLmluZGV4T2YobGV2ZWwpID49IExFVkVMX09SREVSLmluZGV4T2YoXCJkZWJ1Z1wiKSkgcmV0dXJuIHRydWVcblxuICByZXR1cm4gZmFsc2Vcbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ0NvbmZpZ3VyYXRpb259IGFyZ3MubG9nZ2luZ0NvbmZpZ3VyYXRpb24gLSBMb2dnaW5nIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHJldHVybnMge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nT3V0cHV0Q29uZmlnW119IC0gTG9nZ2luZyBvdXRwdXRzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlTG9nZ2luZ091dHB1dHMoe2xvZ2dpbmdDb25maWd1cmF0aW9uLCBjb25maWd1cmF0aW9ufSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShsb2dnaW5nQ29uZmlndXJhdGlvbi5vdXRwdXRzKSkgcmV0dXJuIGxvZ2dpbmdDb25maWd1cmF0aW9uLm91dHB1dHNcblxuICBpZiAoQXJyYXkuaXNBcnJheShsb2dnaW5nQ29uZmlndXJhdGlvbi5sb2dnZXJzKSkge1xuICAgIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdPdXRwdXRDb25maWdbXX0gKi9cbiAgICBjb25zdCBsb2dnZXJPdXRwdXRzID0gW11cblxuICAgIGZvciAoY29uc3QgbG9nZ2VyIG9mIGxvZ2dpbmdDb25maWd1cmF0aW9uLmxvZ2dlcnMpIHtcbiAgICAgIGlmICghbG9nZ2VyKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBsb2dnZXJDb25maWcgPSAvKiogQHR5cGUge2FueX0gKi8gKGxvZ2dlcilcblxuICAgICAgaWYgKHR5cGVvZiBsb2dnZXJDb25maWcudG9PdXRwdXRDb25maWcgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBsb2dnZXJPdXRwdXRzLnB1c2gobG9nZ2VyQ29uZmlnLnRvT3V0cHV0Q29uZmlnKHtjb25maWd1cmF0aW9ufSkpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmIChsb2dnZXJDb25maWcub3V0cHV0ICYmIHR5cGVvZiBsb2dnZXJDb25maWcub3V0cHV0LndyaXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgbG9nZ2VyT3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBvdXRwdXQ6IGxvZ2dlckNvbmZpZy5vdXRwdXQsXG4gICAgICAgICAgbGV2ZWxzOiBsb2dnZXJDb25maWcubGV2ZWxzXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgbG9nZ2VyQ29uZmlnLndyaXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgbG9nZ2VyT3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBvdXRwdXQ6IGxvZ2dlckNvbmZpZyxcbiAgICAgICAgICBsZXZlbHM6IGxvZ2dlckNvbmZpZy5sZXZlbHNcbiAgICAgICAgfSlcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgbG9nZ2VyTmFtZSA9IGxvZ2dlckNvbmZpZz8uY29uc3RydWN0b3I/Lm5hbWUgfHwgXCJVbmtub3duTG9nZ2VyXCJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTG9nZ2VyIG11c3QgaW1wbGVtZW50IHRvT3V0cHV0Q29uZmlnIG9yIHdyaXRlOiAke2xvZ2dlck5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gbG9nZ2VyT3V0cHV0c1xuICB9XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ091dHB1dENvbmZpZ1tdfSAqL1xuICBjb25zdCBvdXRwdXRzID0gW11cbiAgaWYgKGxvZ2dpbmdDb25maWd1cmF0aW9uLmNvbnNvbGUgIT09IGZhbHNlKSB7XG4gICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgIG91dHB1dDogbmV3IExvZ2dlckNvbnNvbGVPdXRwdXQoKSxcbiAgICAgIGxldmVsczogbG9nZ2luZ0NvbmZpZ3VyYXRpb24ubGV2ZWxzXG4gICAgfSlcbiAgfVxuXG4gIGlmIChsb2dnaW5nQ29uZmlndXJhdGlvbi5maWxlICE9PSBmYWxzZSAmJiBsb2dnaW5nQ29uZmlndXJhdGlvbi5maWxlUGF0aCkge1xuICAgIG91dHB1dHMucHVzaCh7XG4gICAgICBvdXRwdXQ6IG5ldyBMb2dnZXJGaWxlT3V0cHV0KHtcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgZ2V0Q29uZmlndXJhdGlvbjogKCkgPT4gY29uZmlndXJhdGlvbixcbiAgICAgICAgZmlsZVBhdGg6IGxvZ2dpbmdDb25maWd1cmF0aW9uLmZpbGVQYXRoXG4gICAgICB9KSxcbiAgICAgIGxldmVsczogbG9nZ2luZ0NvbmZpZ3VyYXRpb24ubGV2ZWxzXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBvdXRwdXRzXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7TG9nTGV2ZWx9IGFyZ3MubGV2ZWwgLSBMZXZlbC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdPdXRwdXRDb25maWd9IGFyZ3Mub3V0cHV0Q29uZmlnIC0gT3V0cHV0IGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nQ29uZmlndXJhdGlvbn0gYXJncy5sb2dnaW5nQ29uZmlndXJhdGlvbiAtIExvZ2dpbmcgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuZGVidWdGbGFnXSAtIFdoZXRoZXIgZGVidWcgZmxhZy5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgb3V0cHV0IHNob3VsZCBsb2cuXG4gKi9cbmZ1bmN0aW9uIGlzT3V0cHV0TGV2ZWxBbGxvd2VkKHtsZXZlbCwgb3V0cHV0Q29uZmlnLCBsb2dnaW5nQ29uZmlndXJhdGlvbiwgZGVidWdGbGFnfSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShvdXRwdXRDb25maWcubGV2ZWxzKSkge1xuICAgIHJldHVybiBpc0xldmVsQWxsb3dlZCh7bGV2ZWwsIGFsbG93ZWRMZXZlbHM6IG91dHB1dENvbmZpZy5sZXZlbHMsIGRlYnVnRmxhZzogZmFsc2V9KVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob3V0cHV0Q29uZmlnLm91dHB1dD8ubGV2ZWxzKSkge1xuICAgIHJldHVybiBpc0xldmVsQWxsb3dlZCh7bGV2ZWwsIGFsbG93ZWRMZXZlbHM6IG91dHB1dENvbmZpZy5vdXRwdXQubGV2ZWxzLCBkZWJ1Z0ZsYWc6IGZhbHNlfSlcbiAgfVxuXG4gIGNvbnN0IGFsbG93ZWRMZXZlbHMgPSBsb2dnaW5nQ29uZmlndXJhdGlvbi5sZXZlbHMgfHwgREVGQVVMVF9MT0dHSU5HX0NPTkZJR1VSQVRJT04ubGV2ZWxzXG5cbiAgcmV0dXJuIGlzTGV2ZWxBbGxvd2VkKHtsZXZlbCwgYWxsb3dlZExldmVscywgZGVidWdGbGFnfSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muc3ViamVjdCAtIExvZyBzdWJqZWN0LlxuICogQHBhcmFtIHtMb2dMZXZlbH0gYXJncy5sZXZlbCAtIExldmVsLlxuICogQHBhcmFtIHtQYXJhbWV0ZXJzPHR5cGVvZiBmdW5jdGlvbk9yTWVzc2FnZXM+fSBhcmdzLm1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ0NvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWR9IGFyZ3MubG9nZ2luZ0NvbmZpZ3VyYXRpb24gLSBMb2dnaW5nIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmRlYnVnRmxhZ10gLSBXaGV0aGVyIGRlYnVnIGZsYWcuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICovXG5hc3luYyBmdW5jdGlvbiB3cml0ZUxvZyh7c3ViamVjdCwgbGV2ZWwsIG1lc3NhZ2VzLCBjb25maWd1cmF0aW9uLCBsb2dnaW5nQ29uZmlndXJhdGlvbiwgZGVidWdGbGFnfSkge1xuICBjb25zdCByZXNvbHZlZExvZ2dpbmdDb25maWd1cmF0aW9uID0gbG9nZ2luZ0NvbmZpZ3VyYXRpb24gfHwgcmVzb2x2ZUxvZ2dpbmdDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pXG4gIGNvbnN0IG91dHB1dHMgPSByZXNvbHZlTG9nZ2luZ091dHB1dHMoe2xvZ2dpbmdDb25maWd1cmF0aW9uOiByZXNvbHZlZExvZ2dpbmdDb25maWd1cmF0aW9uLCBjb25maWd1cmF0aW9ufSlcblxuICBpZiAob3V0cHV0cy5sZW5ndGggPT09IDApIHJldHVyblxuXG4gIGNvbnN0IHdyaXRlcyA9IFtdXG4gIC8qKiBAdHlwZSB7QXJyYXk8YW55PiB8IHVuZGVmaW5lZH0gKi9cbiAgbGV0IHJlc29sdmVkTWVzc2FnZXNcbiAgLyoqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9ICovXG4gIGxldCBtZXNzYWdlXG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdPdXRwdXRQYXlsb2FkIHwgbnVsbH0gKi9cbiAgbGV0IHBheWxvYWQgPSBudWxsXG5cbiAgZm9yIChjb25zdCBvdXRwdXRDb25maWcgb2Ygb3V0cHV0cykge1xuICAgIGlmICghb3V0cHV0Q29uZmlnIHx8ICFvdXRwdXRDb25maWcub3V0cHV0IHx8IHR5cGVvZiBvdXRwdXRDb25maWcub3V0cHV0LndyaXRlICE9PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlXG4gICAgaWYgKCFpc091dHB1dExldmVsQWxsb3dlZCh7bGV2ZWwsIG91dHB1dENvbmZpZywgbG9nZ2luZ0NvbmZpZ3VyYXRpb246IHJlc29sdmVkTG9nZ2luZ0NvbmZpZ3VyYXRpb24sIGRlYnVnRmxhZ30pKSBjb250aW51ZVxuXG4gICAgaWYgKCFwYXlsb2FkKSB7XG4gICAgICByZXNvbHZlZE1lc3NhZ2VzID0gZnVuY3Rpb25Pck1lc3NhZ2VzKC4uLm1lc3NhZ2VzKVxuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2VzVG9NZXNzYWdlKHN1YmplY3QsIC4uLnJlc29sdmVkTWVzc2FnZXMpXG4gICAgICBwYXlsb2FkID0ge1xuICAgICAgICBsZXZlbCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgc3ViamVjdCxcbiAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVzLnB1c2gob3V0cHV0Q29uZmlnLm91dHB1dC53cml0ZShwYXlsb2FkKSlcbiAgfVxuXG4gIGlmICh3cml0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgYXdhaXQgd3JpdGVzWzBdXG4gIH0gZWxzZSBpZiAod3JpdGVzLmxlbmd0aCA+IDEpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbCh3cml0ZXMpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgb2JqZWN0fSBvYmplY3QgLSBPYmplY3QuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IFthcmdzLmNvbmZpZ3VyYXRpb25dIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z10gLSBXaGV0aGVyIGRlYnVnLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nQ29uZmlndXJhdGlvbn0gW2FyZ3MubG9nZ2luZ0NvbmZpZ3VyYXRpb25dIC0gTG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY29uc3RydWN0b3Iob2JqZWN0LCB7Y29uZmlndXJhdGlvbiwgZGVidWcgPSBmYWxzZSwgbG9nZ2luZ0NvbmZpZ3VyYXRpb24sIC4uLnJlc3RBcmdzfSA9IHt9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMuX2RlYnVnID0gZGVidWdcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMuX2xvZ2dpbmdDb25maWd1cmF0aW9uID0gbG9nZ2luZ0NvbmZpZ3VyYXRpb25cblxuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuX3N1YmplY3QgPSBvYmplY3RcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb2JqZWN0ID0gb2JqZWN0XG4gICAgICB0aGlzLl9zdWJqZWN0ID0gb2JqZWN0LmNvbnN0cnVjdG9yLm5hbWVcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX3N1YmplY3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3ViamVjdCBnaXZlbmApXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gLSBUaGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uKSB7XG4gICAgICBjb25zdCBvYmplY3RXaXRoQ29uZmlnID0gLyoqIEB0eXBlIHt7Y29uZmlndXJhdGlvbj86IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fX0gKi8gKHRoaXMuX29iamVjdClcbiAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBvYmplY3RXaXRoQ29uZmlnPy5jb25maWd1cmF0aW9uIHx8IENvbmZpZ3VyYXRpb24uY3VycmVudCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gVGhlIHNhZmUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIF9zYWZlQ29uZmlndXJhdGlvbigpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55W119IG1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBkZWJ1ZyguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJkZWJ1Z1wiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnlbXX0gbWVzc2FnZXMgLSBNZXNzYWdlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGluZm8oLi4ubWVzc2FnZXMpIHtcbiAgICBhd2FpdCB0aGlzLl93cml0ZSh7bGV2ZWw6IFwiaW5mb1wiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnlbXX0gbWVzc2FnZXMgLSBNZXNzYWdlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGRlYnVnTG93TGV2ZWwoLi4ubWVzc2FnZXMpIHtcbiAgICBhd2FpdCB0aGlzLl93cml0ZSh7bGV2ZWw6IFwiZGVidWctbG93LWxldmVsXCIsIG1lc3NhZ2VzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2FueVtdfSBtZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgbG9nKC4uLm1lc3NhZ2VzKSB7XG4gICAgYXdhaXQgdGhpcy5fd3JpdGUoe2xldmVsOiBcImluZm9cIiwgbWVzc2FnZXN9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55W119IG1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBlcnJvciguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJlcnJvclwiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtib29sZWFufSBuZXdWYWx1ZSAtIE5ldyB2YWx1ZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0RGVidWcobmV3VmFsdWUpIHtcbiAgICB0aGlzLl9kZWJ1ZyA9IG5ld1ZhbHVlXG4gIH1cblxuICAvKipcbiAgICogQHR5cGUgeyguLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBmdW5jdGlvbk9yTWVzc2FnZXM+KSA9PiBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgd2FybiguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJ3YXJuXCIsIG1lc3NhZ2VzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0xvZ0xldmVsfSBhcmdzLmxldmVsIC0gTGV2ZWwuXG4gICAqIEBwYXJhbSB7UGFyYW1ldGVyczx0eXBlb2YgZnVuY3Rpb25Pck1lc3NhZ2VzPn0gYXJncy5tZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgX3dyaXRlKHtsZXZlbCwgbWVzc2FnZXN9KSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuX3NhZmVDb25maWd1cmF0aW9uKClcbiAgICBjb25zdCBsb2dnaW5nQ29uZmlndXJhdGlvbiA9IHRoaXMuX2xvZ2dpbmdDb25maWd1cmF0aW9uIHx8IHJlc29sdmVMb2dnaW5nQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKVxuXG4gICAgYXdhaXQgd3JpdGVMb2coe1xuICAgICAgc3ViamVjdDogdGhpcy5fc3ViamVjdCxcbiAgICAgIGxldmVsLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgbG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG4gICAgICBkZWJ1Z0ZsYWc6IHRoaXMuX2RlYnVnXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUE7QUFDOUMsT0FBTyxtQkFBbUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUNwRSxPQUFPLGdCQUFnQixNQUFNLGlDQUFpQyxDQUFBO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQTtBQUV0RCxrRkFBa0Y7QUFFbEYsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyxPQUFPLEVBQUUsSUFBSTtJQUNiLElBQUksRUFBRSxLQUFLO0lBQ1gseUJBQXlCO0lBQ3pCLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO0NBQ2xDLENBQUE7QUFFRCx5QkFBeUI7QUFDekIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUV6RTs7O0dBR0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLEdBQUcsUUFBUTtJQUNyQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxH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TSxHQUFHLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUTtRQUNwQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUM7UUFDNUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLElBQUksMkJBQTJCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckcsTUFBTSxRQUFRLENBQUM7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdEIsS0FBSztZQUNMLFFBQVE7WUFDUixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN2QixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IENvbmZpZ3VyYXRpb24gZnJvbSBcIi4vY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgTG9nZ2VyQ29uc29sZU91dHB1dCBmcm9tIFwiLi9sb2dnZXIvb3V0cHV0cy9jb25zb2xlLW91dHB1dC5qc1wiXG5pbXBvcnQgTG9nZ2VyRmlsZU91dHB1dCBmcm9tIFwiLi9sb2dnZXIvb3V0cHV0cy9maWxlLW91dHB1dC5qc1wiXG5pbXBvcnQge2Zvcm1hdFZhbHVlfSBmcm9tIFwiLi91dGlscy9mb3JtYXQtdmFsdWUuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcblxuLyoqIEB0eXBlZGVmIHtcImRlYnVnLWxvdy1sZXZlbFwiIHwgXCJkZWJ1Z1wiIHwgXCJpbmZvXCIgfCBcIndhcm5cIiB8IFwiZXJyb3JcIn0gTG9nTGV2ZWwgKi9cblxuY29uc3QgREVGQVVMVF9MT0dHSU5HX0NPTkZJR1VSQVRJT04gPSB7XG4gIGNvbnNvbGU6IHRydWUsXG4gIGZpbGU6IGZhbHNlLFxuICAvKiogQHR5cGUge0xvZ0xldmVsW119ICovXG4gIGxldmVsczogW1wiaW5mb1wiLCBcIndhcm5cIiwgXCJlcnJvclwiXVxufVxuXG4vKiogQHR5cGUge0xvZ0xldmVsW119ICovXG5jb25zdCBMRVZFTF9PUkRFUiA9IFtcImRlYnVnLWxvdy1sZXZlbFwiLCBcImRlYnVnXCIsIFwiaW5mb1wiLCBcIndhcm5cIiwgXCJlcnJvclwiXVxuXG4vKipcbiAqIEBwYXJhbSB7Li4uYW55fGZ1bmN0aW9uKCkgOiBBcnJheTxhbnk+fSBtZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICogQHJldHVybnMge0FycmF5PGFueT59IC0gRWl0aGVyIHRoZSBmdW5jdGlvbiByZXN1bHQgb3IgdGhlIG1lc3NhZ2VzXG4gKi9cbmZ1bmN0aW9uIGZ1bmN0aW9uT3JNZXNzYWdlcyguLi5tZXNzYWdlcykge1xuICBpZiAobWVzc2FnZXMubGVuZ3RoID09PSAxICYmIHR5cGVvZiBtZXNzYWdlc1swXSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCByZXN1bHQgPSBtZXNzYWdlc1swXSgpXG4gICAgbWVzc2FnZXMgPSBBcnJheS5pc0FycmF5KHJlc3VsdCkgPyByZXN1bHQgOiBbcmVzdWx0XVxuICB9XG5cbiAgcmV0dXJuIG1lc3NhZ2VzXG59XG5cbi8qKlxuICogQ29udmVydHMgbXVsdGlwbGUgbWVzc2FnZSBwYXJ0cyBpbnRvIGEgc2luZ2xlIHN0cmluZy5cbiAqIEBwYXJhbSB7Li4uYW55fSBtZXNzYWdlcyAtIFBhcnRzIHRvIGNvbWJpbmUgaW50byBhIG1lc3NhZ2VcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIG1lc3NhZ2VzIHRvIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIG1lc3NhZ2VzVG9NZXNzYWdlKC4uLm1lc3NhZ2VzKSB7XG4gIGxldCBtZXNzYWdlID0gXCJcIlxuXG4gIGZvciAoY29uc3QgbWVzc2FnZVBhcnRJbmRleCBpbiBtZXNzYWdlcykge1xuICAgIGNvbnN0IG1lc3NhZ2VQYXJ0ID0gbWVzc2FnZXNbbWVzc2FnZVBhcnRJbmRleF1cblxuICAgIGlmIChOdW1iZXIobWVzc2FnZVBhcnRJbmRleCkgPiAwKSB7XG4gICAgICBtZXNzYWdlICs9IFwiIFwiXG4gICAgfVxuXG4gICAgaWYgKG1lc3NhZ2VQYXJ0IGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIG1lc3NhZ2UgKz0gYCR7bWVzc2FnZVBhcnQubWVzc2FnZX1cXG4ke21lc3NhZ2VQYXJ0LnN0YWNrfWBcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBtZXNzYWdlUGFydCA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBtZXNzYWdlICs9IGZvcm1hdFZhbHVlKG1lc3NhZ2VQYXJ0KVxuICAgIH0gZWxzZSB7XG4gICAgICBtZXNzYWdlICs9IG1lc3NhZ2VQYXJ0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSBjb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIHtSZXF1aXJlZDxQaWNrPGltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nQ29uZmlndXJhdGlvbiwgXCJjb25zb2xlXCIgfCBcImZpbGVcIiB8IFwibGV2ZWxzXCI+PiAmIFBhcnRpYWw8UGljazxpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ0NvbmZpZ3VyYXRpb24sIFwiZmlsZVBhdGhcIiB8IFwib3V0cHV0c1wiPj59IC0gVGhlIGxvZ2dpbmcgY29uZmlndXJhdGlvbi5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUxvZ2dpbmdDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pIHtcbiAgY29uc3QgZGVidWdFbmFibGVkID0gY29uZmlndXJhdGlvbj8uZGVidWcgPT09IHRydWVcbiAgaWYgKGNvbmZpZ3VyYXRpb24gJiYgdHlwZW9mIGNvbmZpZ3VyYXRpb24uZ2V0TG9nZ2luZ0NvbmZpZ3VyYXRpb24gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IHJlc29sdmVkID0gY29uZmlndXJhdGlvbi5nZXRMb2dnaW5nQ29uZmlndXJhdGlvbigpXG5cbiAgICBpZiAoZGVidWdFbmFibGVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXNvbHZlZCxcbiAgICAgICAgY29uc29sZTogdHJ1ZSxcbiAgICAgICAgbGV2ZWxzOiBMRVZFTF9PUkRFUlxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlZFxuICB9XG5cbiAgaWYgKGRlYnVnRW5hYmxlZCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5ERUZBVUxUX0xPR0dJTkdfQ09ORklHVVJBVElPTixcbiAgICAgIGNvbnNvbGU6IHRydWUsXG4gICAgICBsZXZlbHM6IExFVkVMX09SREVSXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIERFRkFVTFRfTE9HR0lOR19DT05GSUdVUkFUSU9OXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7TG9nTGV2ZWx9IGFyZ3MubGV2ZWwgLSBMZXZlbC5cbiAqIEBwYXJhbSB7TG9nTGV2ZWxbXX0gYXJncy5hbGxvd2VkTGV2ZWxzIC0gQWxsb3dlZCBsZXZlbHMuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmRlYnVnRmxhZ10gLSBXaGV0aGVyIGRlYnVnIGZsYWcuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGxldmVsIGFsbG93ZWQuXG4gKi9cbmZ1bmN0aW9uIGlzTGV2ZWxBbGxvd2VkKHtsZXZlbCwgYWxsb3dlZExldmVscywgZGVidWdGbGFnfSkge1xuICBpZiAoYWxsb3dlZExldmVscy5pbmNsdWRlcyhsZXZlbCkpIHJldHVybiB0cnVlXG5cbiAgaWYgKGRlYnVnRmxhZyAmJiBMRVZFTF9PUkRFUi5pbmRleE9mKGxldmVsKSA+PSBMRVZFTF9PUkRFUi5pbmRleE9mKFwiZGVidWdcIikpIHJldHVybiB0cnVlXG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdDb25maWd1cmF0aW9ufSBhcmdzLmxvZ2dpbmdDb25maWd1cmF0aW9uIC0gTG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ091dHB1dENvbmZpZ1tdfSAtIExvZ2dpbmcgb3V0cHV0cy5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUxvZ2dpbmdPdXRwdXRzKHtsb2dnaW5nQ29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbn0pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobG9nZ2luZ0NvbmZpZ3VyYXRpb24ub3V0cHV0cykpIHJldHVybiBsb2dnaW5nQ29uZmlndXJhdGlvbi5vdXRwdXRzXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobG9nZ2luZ0NvbmZpZ3VyYXRpb24ubG9nZ2VycykpIHtcbiAgICAvKiogQHR5cGUge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nT3V0cHV0Q29uZmlnW119ICovXG4gICAgY29uc3QgbG9nZ2VyT3V0cHV0cyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGxvZ2dlciBvZiBsb2dnaW5nQ29uZmlndXJhdGlvbi5sb2dnZXJzKSB7XG4gICAgICBpZiAoIWxvZ2dlcikgY29udGludWVcblxuICAgICAgY29uc3QgbG9nZ2VyQ29uZmlnID0gLyoqIEB0eXBlIHthbnl9ICovIChsb2dnZXIpXG5cbiAgICAgIGlmICh0eXBlb2YgbG9nZ2VyQ29uZmlnLnRvT3V0cHV0Q29uZmlnID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgbG9nZ2VyT3V0cHV0cy5wdXNoKGxvZ2dlckNvbmZpZy50b091dHB1dENvbmZpZyh7Y29uZmlndXJhdGlvbn0pKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAobG9nZ2VyQ29uZmlnLm91dHB1dCAmJiB0eXBlb2YgbG9nZ2VyQ29uZmlnLm91dHB1dC53cml0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGxvZ2dlck91dHB1dHMucHVzaCh7XG4gICAgICAgICAgb3V0cHV0OiBsb2dnZXJDb25maWcub3V0cHV0LFxuICAgICAgICAgIGxldmVsczogbG9nZ2VyQ29uZmlnLmxldmVsc1xuICAgICAgICB9KVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGxvZ2dlckNvbmZpZy53cml0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGxvZ2dlck91dHB1dHMucHVzaCh7XG4gICAgICAgICAgb3V0cHV0OiBsb2dnZXJDb25maWcsXG4gICAgICAgICAgbGV2ZWxzOiBsb2dnZXJDb25maWcubGV2ZWxzXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxvZ2dlck5hbWUgPSBsb2dnZXJDb25maWc/LmNvbnN0cnVjdG9yPy5uYW1lIHx8IFwiVW5rbm93bkxvZ2dlclwiXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYExvZ2dlciBtdXN0IGltcGxlbWVudCB0b091dHB1dENvbmZpZyBvciB3cml0ZTogJHtsb2dnZXJOYW1lfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIGxvZ2dlck91dHB1dHNcbiAgfVxuXG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdPdXRwdXRDb25maWdbXX0gKi9cbiAgY29uc3Qgb3V0cHV0cyA9IFtdXG4gIGlmIChsb2dnaW5nQ29uZmlndXJhdGlvbi5jb25zb2xlICE9PSBmYWxzZSkge1xuICAgIG91dHB1dHMucHVzaCh7XG4gICAgICBvdXRwdXQ6IG5ldyBMb2dnZXJDb25zb2xlT3V0cHV0KCksXG4gICAgICBsZXZlbHM6IGxvZ2dpbmdDb25maWd1cmF0aW9uLmxldmVsc1xuICAgIH0pXG4gIH1cblxuICBpZiAobG9nZ2luZ0NvbmZpZ3VyYXRpb24uZmlsZSAhPT0gZmFsc2UgJiYgbG9nZ2luZ0NvbmZpZ3VyYXRpb24uZmlsZVBhdGgpIHtcbiAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgb3V0cHV0OiBuZXcgTG9nZ2VyRmlsZU91dHB1dCh7XG4gICAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGdldENvbmZpZ3VyYXRpb246ICgpID0+IGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGZpbGVQYXRoOiBsb2dnaW5nQ29uZmlndXJhdGlvbi5maWxlUGF0aFxuICAgICAgfSksXG4gICAgICBsZXZlbHM6IGxvZ2dpbmdDb25maWd1cmF0aW9uLmxldmVsc1xuICAgIH0pXG4gIH1cblxuICByZXR1cm4gb3V0cHV0c1xufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge0xvZ0xldmVsfSBhcmdzLmxldmVsIC0gTGV2ZWwuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nT3V0cHV0Q29uZmlnfSBhcmdzLm91dHB1dENvbmZpZyAtIE91dHB1dCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ0NvbmZpZ3VyYXRpb259IGFyZ3MubG9nZ2luZ0NvbmZpZ3VyYXRpb24gLSBMb2dnaW5nIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmRlYnVnRmxhZ10gLSBXaGV0aGVyIGRlYnVnIGZsYWcuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIG91dHB1dCBzaG91bGQgbG9nLlxuICovXG5mdW5jdGlvbiBpc091dHB1dExldmVsQWxsb3dlZCh7bGV2ZWwsIG91dHB1dENvbmZpZywgbG9nZ2luZ0NvbmZpZ3VyYXRpb24sIGRlYnVnRmxhZ30pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob3V0cHV0Q29uZmlnLmxldmVscykpIHtcbiAgICByZXR1cm4gaXNMZXZlbEFsbG93ZWQoe2xldmVsLCBhbGxvd2VkTGV2ZWxzOiBvdXRwdXRDb25maWcubGV2ZWxzLCBkZWJ1Z0ZsYWc6IGZhbHNlfSlcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG91dHB1dENvbmZpZy5vdXRwdXQ/LmxldmVscykpIHtcbiAgICByZXR1cm4gaXNMZXZlbEFsbG93ZWQoe2xldmVsLCBhbGxvd2VkTGV2ZWxzOiBvdXRwdXRDb25maWcub3V0cHV0LmxldmVscywgZGVidWdGbGFnOiBmYWxzZX0pXG4gIH1cblxuICBjb25zdCBhbGxvd2VkTGV2ZWxzID0gbG9nZ2luZ0NvbmZpZ3VyYXRpb24ubGV2ZWxzIHx8IERFRkFVTFRfTE9HR0lOR19DT05GSUdVUkFUSU9OLmxldmVsc1xuXG4gIHJldHVybiBpc0xldmVsQWxsb3dlZCh7bGV2ZWwsIGFsbG93ZWRMZXZlbHMsIGRlYnVnRmxhZ30pXG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnN1YmplY3QgLSBMb2cgc3ViamVjdC5cbiAqIEBwYXJhbSB7TG9nTGV2ZWx9IGFyZ3MubGV2ZWwgLSBMZXZlbC5cbiAqIEBwYXJhbSB7UGFyYW1ldGVyczx0eXBlb2YgZnVuY3Rpb25Pck1lc3NhZ2VzPn0gYXJncy5tZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkxvZ2dpbmdDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkfSBhcmdzLmxvZ2dpbmdDb25maWd1cmF0aW9uIC0gTG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z0ZsYWddIC0gV2hldGhlciBkZWJ1ZyBmbGFnLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVMb2coe3N1YmplY3QsIGxldmVsLCBtZXNzYWdlcywgY29uZmlndXJhdGlvbiwgbG9nZ2luZ0NvbmZpZ3VyYXRpb24sIGRlYnVnRmxhZ30pIHtcbiAgY29uc3QgcmVzb2x2ZWRMb2dnaW5nQ29uZmlndXJhdGlvbiA9IGxvZ2dpbmdDb25maWd1cmF0aW9uIHx8IHJlc29sdmVMb2dnaW5nQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKVxuICBjb25zdCBvdXRwdXRzID0gcmVzb2x2ZUxvZ2dpbmdPdXRwdXRzKHtsb2dnaW5nQ29uZmlndXJhdGlvbjogcmVzb2x2ZWRMb2dnaW5nQ29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbn0pXG5cbiAgaWYgKG91dHB1dHMubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICBjb25zdCB3cml0ZXMgPSBbXVxuICAvKiogQHR5cGUge0FycmF5PGFueT4gfCB1bmRlZmluZWR9ICovXG4gIGxldCByZXNvbHZlZE1lc3NhZ2VzXG4gIC8qKiBAdHlwZSB7c3RyaW5nIHwgdW5kZWZpbmVkfSAqL1xuICBsZXQgbWVzc2FnZVxuICAvKiogQHR5cGUge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Mb2dnaW5nT3V0cHV0UGF5bG9hZCB8IG51bGx9ICovXG4gIGxldCBwYXlsb2FkID0gbnVsbFxuXG4gIGZvciAoY29uc3Qgb3V0cHV0Q29uZmlnIG9mIG91dHB1dHMpIHtcbiAgICBpZiAoIW91dHB1dENvbmZpZyB8fCAhb3V0cHV0Q29uZmlnLm91dHB1dCB8fCB0eXBlb2Ygb3V0cHV0Q29uZmlnLm91dHB1dC53cml0ZSAhPT0gXCJmdW5jdGlvblwiKSBjb250aW51ZVxuICAgIGlmICghaXNPdXRwdXRMZXZlbEFsbG93ZWQoe2xldmVsLCBvdXRwdXRDb25maWcsIGxvZ2dpbmdDb25maWd1cmF0aW9uOiByZXNvbHZlZExvZ2dpbmdDb25maWd1cmF0aW9uLCBkZWJ1Z0ZsYWd9KSkgY29udGludWVcblxuICAgIGlmICghcGF5bG9hZCkge1xuICAgICAgcmVzb2x2ZWRNZXNzYWdlcyA9IGZ1bmN0aW9uT3JNZXNzYWdlcyguLi5tZXNzYWdlcylcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlc1RvTWVzc2FnZShzdWJqZWN0LCAuLi5yZXNvbHZlZE1lc3NhZ2VzKVxuICAgICAgcGF5bG9hZCA9IHtcbiAgICAgICAgbGV2ZWwsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHN1YmplY3QsXG4gICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlcy5wdXNoKG91dHB1dENvbmZpZy5vdXRwdXQud3JpdGUocGF5bG9hZCkpXG4gIH1cblxuICBpZiAod3JpdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgIGF3YWl0IHdyaXRlc1swXVxuICB9IGVsc2UgaWYgKHdyaXRlcy5sZW5ndGggPiAxKSB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwod3JpdGVzKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvZ2dlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG9iamVjdH0gb2JqZWN0IC0gT2JqZWN0LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbYXJncy5jb25maWd1cmF0aW9uXSAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuZGVidWddIC0gV2hldGhlciBkZWJ1Zy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuTG9nZ2luZ0NvbmZpZ3VyYXRpb259IFthcmdzLmxvZ2dpbmdDb25maWd1cmF0aW9uXSAtIExvZ2dpbmcgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG9iamVjdCwge2NvbmZpZ3VyYXRpb24sIGRlYnVnID0gZmFsc2UsIGxvZ2dpbmdDb25maWd1cmF0aW9uLCAuLi5yZXN0QXJnc30gPSB7fSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICB0aGlzLl9kZWJ1ZyA9IGRlYnVnXG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLl9sb2dnaW5nQ29uZmlndXJhdGlvbiA9IGxvZ2dpbmdDb25maWd1cmF0aW9uXG5cbiAgICBpZiAodHlwZW9mIG9iamVjdCA9PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aGlzLl9zdWJqZWN0ID0gb2JqZWN0IHx8IFwiRW1wdHlTdHJpbmdcIlxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vYmplY3QgPSBvYmplY3RcbiAgICAgIHRoaXMuX3N1YmplY3QgPSBvYmplY3QuY29uc3RydWN0b3IubmFtZSB8fCBcIlVua25vd25DbGFzc1wiXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gLSBUaGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uKSB7XG4gICAgICBjb25zdCBvYmplY3RXaXRoQ29uZmlnID0gLyoqIEB0eXBlIHt7Y29uZmlndXJhdGlvbj86IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fX0gKi8gKHRoaXMuX29iamVjdClcbiAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBvYmplY3RXaXRoQ29uZmlnPy5jb25maWd1cmF0aW9uIHx8IENvbmZpZ3VyYXRpb24uY3VycmVudCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gVGhlIHNhZmUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIF9zYWZlQ29uZmlndXJhdGlvbigpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55W119IG1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBkZWJ1ZyguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJkZWJ1Z1wiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnlbXX0gbWVzc2FnZXMgLSBNZXNzYWdlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGluZm8oLi4ubWVzc2FnZXMpIHtcbiAgICBhd2FpdCB0aGlzLl93cml0ZSh7bGV2ZWw6IFwiaW5mb1wiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnlbXX0gbWVzc2FnZXMgLSBNZXNzYWdlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGRlYnVnTG93TGV2ZWwoLi4ubWVzc2FnZXMpIHtcbiAgICBhd2FpdCB0aGlzLl93cml0ZSh7bGV2ZWw6IFwiZGVidWctbG93LWxldmVsXCIsIG1lc3NhZ2VzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2FueVtdfSBtZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgbG9nKC4uLm1lc3NhZ2VzKSB7XG4gICAgYXdhaXQgdGhpcy5fd3JpdGUoe2xldmVsOiBcImluZm9cIiwgbWVzc2FnZXN9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55W119IG1lc3NhZ2VzIC0gTWVzc2FnZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBlcnJvciguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJlcnJvclwiLCBtZXNzYWdlc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtib29sZWFufSBuZXdWYWx1ZSAtIE5ldyB2YWx1ZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0RGVidWcobmV3VmFsdWUpIHtcbiAgICB0aGlzLl9kZWJ1ZyA9IG5ld1ZhbHVlXG4gIH1cblxuICAvKipcbiAgICogQHR5cGUgeyguLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBmdW5jdGlvbk9yTWVzc2FnZXM+KSA9PiBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgd2FybiguLi5tZXNzYWdlcykge1xuICAgIGF3YWl0IHRoaXMuX3dyaXRlKHtsZXZlbDogXCJ3YXJuXCIsIG1lc3NhZ2VzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0xvZ0xldmVsfSBhcmdzLmxldmVsIC0gTGV2ZWwuXG4gICAqIEBwYXJhbSB7UGFyYW1ldGVyczx0eXBlb2YgZnVuY3Rpb25Pck1lc3NhZ2VzPn0gYXJncy5tZXNzYWdlcyAtIE1lc3NhZ2VzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgX3dyaXRlKHtsZXZlbCwgbWVzc2FnZXN9KSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuX3NhZmVDb25maWd1cmF0aW9uKClcbiAgICBjb25zdCBsb2dnaW5nQ29uZmlndXJhdGlvbiA9IHRoaXMuX2xvZ2dpbmdDb25maWd1cmF0aW9uIHx8IHJlc29sdmVMb2dnaW5nQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uKVxuXG4gICAgYXdhaXQgd3JpdGVMb2coe1xuICAgICAgc3ViamVjdDogdGhpcy5fc3ViamVjdCxcbiAgICAgIGxldmVsLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgbG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG4gICAgICBkZWJ1Z0ZsYWc6IHRoaXMuX2RlYnVnXG4gICAgfSlcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"velocious": "build/bin/velocious.js"
|
|
4
4
|
},
|
|
5
5
|
"name": "velocious",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.311",
|
|
7
7
|
"main": "build/index.js",
|
|
8
8
|
"types": "build/index.d.ts",
|
|
9
9
|
"files": [
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"@types/strftime": "^0.9.8",
|
|
75
75
|
"chokidar-cli": "^3.0.0",
|
|
76
76
|
"cpy-cli": "^7.0.0",
|
|
77
|
-
"esbuild": "^0.
|
|
77
|
+
"esbuild": "^0.28.0",
|
|
78
78
|
"eslint": "^10.0.1",
|
|
79
79
|
"eslint-plugin-jsdoc": "^62.7.0",
|
|
80
80
|
"globals": "^17.0.0",
|