Comparing version 1.2.3 to 1.3.1
@@ -11,2 +11,3 @@ import { ClientChannel, ExecOptions, Client as SshClient } from "ssh2"; | ||
pwd?: string; | ||
env?: NodeJS.ProcessEnv; | ||
timeoutMillis?: number; | ||
@@ -17,2 +18,3 @@ sudo?: boolean; | ||
pwd: string; | ||
env: NodeJS.ProcessEnv | undefined; | ||
timeoutMillis: number; | ||
@@ -19,0 +21,0 @@ sudo: boolean; |
export const defaultCmdChannelSettings = { | ||
pwd: "/", | ||
env: undefined, | ||
timeoutMillis: -1, | ||
@@ -236,2 +237,2 @@ sudo: false, | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3NoRXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Tc2hFeGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBdUI7SUFDekQsR0FBRyxFQUFFLEdBQUc7SUFDUixhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLElBQUksRUFBRSxLQUFLO0NBQ2QsQ0FBQTtBQWdCRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsS0FBSztJQUcvQjtJQUZYLFlBQ0ksT0FBZSxFQUNSLElBQW9CO1FBRTNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUZQLFNBQUksR0FBSixJQUFJLENBQWdCO0lBRy9CLENBQUM7Q0FDSjtBQWNELE1BQU0sVUFBVSxZQUFZLENBQ3hCLE9BQXNCLEVBQ3RCLE1BQXdCO0lBRXhCLE1BQU0sVUFBVSxHQUFHLE9BQWMsQ0FBQTtJQUVqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQTtBQUNyQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLFNBQW9CLEVBQ3BCLEdBQVcsRUFDWCxPQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBdUI7UUFDakMsR0FBRyx5QkFBeUI7UUFDNUIsR0FBRyxPQUFPO0tBQ2IsQ0FBQTtJQUVELFFBQVEsQ0FBQyxHQUFHLEdBQUc7UUFDWCxHQUFHLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO0tBQ3BCLENBQUE7SUFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUN2QixDQUFDO0lBRUQs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LElBQUksbUJBQW1CLENBQ3ZCLHdDQUF3Qzt3QkFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FDVCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNkLElBQUksQ0FDUCxDQUFDLENBQUE7b0JBQ0YsT0FBTTtnQkFFVixDQUFDO1lBQ0wsQ0FBQztZQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO1FBR0YsT0FBTyxJQUFJLE9BQU8sQ0FDZCxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNYLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUNsQixPQUFNO1lBQ1YsQ0FBQztpQkFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ2xCLE9BQU07WUFDVixDQUFDO1lBRUQsR0FBRyxHQUFHLElBQUksQ0FBQTtZQUNWLEdBQUcsR0FBRyxJQUFJLENBQUE7UUFDZCxDQUFDLENBQ0osQ0FBQTtJQUNMLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRDaGFubmVsLCBFeGVjT3B0aW9ucywgQ2xpZW50IGFzIFNzaENsaWVudCB9IGZyb20gXCJzc2gyXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEF3YWl0YWJsZSB9IGZyb20gXCIuL3V0aWxzL2Jhc2UuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcnJheU9wdGlvbnMge1xuICAgIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAgIHNpZ25hbD86IEFib3J0U2lnbmFsO1xuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2Rpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsT3B0aW9ucyBleHRlbmRzIEV4ZWNPcHRpb25zIHtcbiAgICBwd2Q/OiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpcz86IG51bWJlcixcbiAgICBzdWRvPzogYm9vbGVhbixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbWRDaGFubmVsU2V0dGluZ3MgZXh0ZW5kcyBFeGVjT3B0aW9ucyB7XG4gICAgcHdkOiBzdHJpbmcsXG4gICAgdGltZW91dE1pbGxpczogbnVtYmVyLFxuICAgIHN1ZG86IGJvb2xlYW4sXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzOiBDbWRDaGFubmVsU2V0dGluZ3MgPSB7XG4gICAgcHdkOiBcIi9cIixcbiAgICB0aW1lb3V0TWlsbGlzOiAtMSxcbiAgICBzdWRvOiBmYWxzZSxcbn1cblxuZXhwb3J0IHR5cGUgQ21kRXhlY09wdGlvbnMgPSBDbWRDaGFubmVsT3B0aW9ucyAmIENoYW5uZWxUb1Byb21pc2VPcHRpb25zXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3NoQ2hhbm5lbEV4aXQge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIG91dDogc3RyaW5nLFxuICAgIGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSxcbiAgICBhbnlFcnI6IGJvb2xlYW4sXG4gICAgYW55U3RkOiBib29sZWFuLFxuICAgIGNvZGU6IG51bWJlcixcbiAgICBzaWduYWw/OiBzdHJpbmcsXG4gICAgZHVtcD86IHN0cmluZyxcbiAgICBkZXNjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTc2hDaGFubmVsRXhpdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBleGl0OiBTc2hDaGFubmVsRXhpdCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSlcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWxUb1Byb21pc2UgPSAob3B0aW9ucz86IENoYW5uZWxUb1Byb21pc2VPcHRpb25zKSA9PiBQcm9taXNlPFNzaENoYW5uZWxFeGl0PlxuXG5leHBvcnQgaW50ZXJmYWNlIFNzaENoYW5uZWxFeHRyYXMge1xuICAgIGNtZDogc3RyaW5nLFxuICAgIHRpbWVvdXQ/OiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzLFxuICAgIHN0ZG91dDogUmVhZGFibGUsXG4gICAgdG9Qcm9taXNlOiBTc2hDaGFubmVsVG9Qcm9taXNlXG59XG5cbmV4cG9ydCB0eXBlIFNzaENoYW5uZWwgPSBPbWl0PENsaWVudENoYW5uZWwsIFwic3Rkb3V0XCI+ICYgU3NoQ2hhbm5lbEV4dHJhc1xuXG5leHBvcnQgZnVuY3Rpb24gdG9Tc2hDaGFubmVsKFxuICAgIGNoYW5uZWw6IENsaWVudENoYW5uZWwsXG4gICAgZXh0cmFzOiBTc2hDaGFubmVsRXh0cmFzLFxuKTogU3NoQ2hhbm5lbCB7XG4gICAgY29uc3Qgc3NoQ2hhbm5lbCA9IGNoYW5uZWwgYXMgYW55XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QudHlwZWRLZXlzKGV4dHJhcykpIHtcbiAgICAgICAgc3NoQ2hhbm5lbFtrZXldID0gZXh0cmFzW2tleV1cbiAgICB9XG5cbiAgICByZXR1cm4gc3NoQ2hhbm5lbFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY1NzaENoYW5uZWwoXG4gICAgc3NoQ2xpZW50OiBTc2hDbGllbnQsXG4gICAgY21kOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENtZENoYW5uZWxPcHRpb25zXG4pOiBQcm9taXNlPFNzaENoYW5uZWw+IHtcbiAgICBjb25zdCBzZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzID0ge1xuICAgICAgICAuLi5kZWZhdWx0Q21kQ2hhbm5lbFNldHRpbmdzLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH1cblxuICAgIHNldHRpbmdzLmVudiA9IHtcbiAgICAgICAgLi4uc2V0dGluZ3MuZW52LFxuICAgICAgICBQV0Q6IHNldHRpbmdzLnB3ZCxcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3Muc3Vkbykge1xuICAgICAgICBjbWQgPSBcInN1ZG8gXCIgKyBjbWRcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlQ2hhbm5lbCA9IGF3YWl0IG5ldyBQcm9taXNlPENsaWVudENoYW5uZWw+KFxuICAgICAgICAocmVzLCByZWopID0+IHNzaENsaWVudC5leGVjKFxuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICAoZXJyLCBjaGFubmVsKSA9PlxuICAgICAgICAgICAgICAgIGVyciA/XG4gICAgICAgICAgICAgICAgICAgIHJlaihlcnIpIDpcbiAgICAgICAgICAgICAgICAgICAgcmVzKGNoYW5uZWwpXG4gICAgICAgIClcbiAgICApXG5cbiAgICBjb25zdCBjaGFubmVsID0gdG9Tc2hDaGFubmVsKFxuICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAge1xuICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgICAgICBzdGRvdXQ6IGJhc2VDaGFubmVsLnN0ZG91dCxcbiAgICAgICAgICAgIHRvUHJvbWlzZTogc3NoQ2hhbm5lbFRvUHJvbWlzZShcbiAgICAgICAgICAgICAgICBiYXNlQ2hhbm5lbCxcbiAgICAgICAgICAgICAgICBjbWQsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICApXG5cbiAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBzZXR0aW5ncy50aW1lb3V0TWlsbGlzID09IFwibnVtYmVyXCIgJiZcbiAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpcyA+IDBcbiAgICApIHtcblxuICAgICAgICBjaGFubmVsLnRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVGltZW91dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MudGltZW91dE1pbGxpc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldHRpbmdzLnRpbWVvdXRNaWxsaXNcbiAgICAgICAgKVxuICAgICAgICBjaGFubmVsLm9uY2UoXG4gICAgICAgICAgICBcImNsb3NlXCIsXG4gICAgICAgICAgICAoKSA9PiBjbGVhclRpbWVvdXQoXG4gICAgICAgICAgICAgICAgY2hhbm5lbC50aW1lb3V0XG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhbm5lbFxufVxuXG5leHBvcnQgdHlwZSBTdHJlYW1EYXRhTWFwcGVyID0gKFxuICAgIGRhdGE6IHN0cmluZyxcbiAgICBlcnI6IGJvb2xlYW5cbikgPT4gQXdhaXRhYmxlPHN0cmluZyB8IHVuZGVmaW5lZCB8IHZvaWQ+XG5cbmV4cG9ydCB0eXBlIFN0cmVhbURhdGFGaWx0ZXIgPSAoXG4gICAgZGF0YTogc3RyaW5nLFxuICAgIGVycjogYm9vbGVhbixcbiAgICBvcHRpb25zPzogUGljazxBcnJheU9wdGlvbnMsIFwic2lnbmFsXCI+XG4pID0+IEF3YWl0YWJsZTxib29sZWFuPlxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxUb1Byb21pc2VPcHRpb25zIHtcbiAgICBtYXBPdXQ/OiBTdHJlYW1EYXRhTWFwcGVyLFxuICAgIG1hcFN0ZE91dD86IFN0cmVhbURhdGFNYXBwZXIsXG4gICAgbWFwRXJyT3V0PzogU3RyZWFtRGF0YU1hcHBlcixcbiAgICBmaWx0ZXJPdXQ/OiBTdHJlYW1EYXRhRmlsdGVyLFxuICAgIGZpbHRlclN0ZE91dD86IFN0cmVhbURhdGFGaWx0ZXIsXG4gICAgZmlsdGVyRXJyT3V0PzogU3RyZWFtRGF0YUZpbHRlcixcbiAgICBmaWx0ZXJPdXRPcHRpb25zPzogQXJyYXlPcHRpb25zLFxuICAgIGZpbHRlclN0ZE91dE9wdGlvbnM/OiBBcnJheU9wdGlvbnMsXG4gICAgZmlsdGVyRXJyT3V0T3B0aW9ucz86IEFycmF5T3B0aW9ucyxcbiAgICB0aHJvd09uT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uU3RkT3V0PzogYm9vbGVhbixcbiAgICB0aHJvd09uRXJyT3V0PzogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlPzogbnVtYmVyIHwgbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzIHtcbiAgICBtYXBPdXQ6IFN0cmVhbURhdGFNYXBwZXIgfCB1bmRlZmluZWQsXG4gICAgbWFwU3RkT3V0OiBTdHJlYW1EYXRhTWFwcGVyIHwgdW5kZWZpbmVkLFxuICAgIG1hcEVyck91dDogU3RyZWFtRGF0YU1hcHBlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IFN0cmVhbURhdGFGaWx0ZXIgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0OiBTdHJlYW1EYXRhRmlsdGVyIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dDogU3RyZWFtRGF0YUZpbHRlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiBBcnJheU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IEFycmF5T3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIHRocm93T25TdGRPdXQ6IGJvb2xlYW4sXG4gICAgdGhyb3dPbkVyck91dDogYm9vbGVhbixcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBudW1iZXJbXSxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDaGFubmVsVG9Qcm9taXNlU2V0dGluZ3M6IENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyA9IHtcbiAgICBtYXBPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBtYXBFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJTdGRPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXQ6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJPdXRPcHRpb25zOiB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0T3B0aW9uczogdW5kZWZpbmVkLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM6IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uT3V0OiB1bmRlZmluZWQsXG4gICAgdGhyb3dPblN0ZE91dDogZmFsc2UsXG4gICAgdGhyb3dPbkVyck91dDogdHJ1ZSxcbiAgICBleHBlY3RlZEV4aXRDb2RlOiBbMF0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RhdGFDaHVuayhjaHVuazogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoY2h1bmsgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgcmV0dXJuIGNodW5rLnRvU3RyaW5nKFwidXRmOFwiKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJVbmV4cGVjdGVkIGNodW5rIHR5cGU6ICdcIiArIHR5cGVvZiBjaHVuayArIFwiJ1xcblwiICtcbiAgICAgICAgICAgIFwiVmFsdWU6ICdcIiArIGNodW5rICsgXCInXCJcbiAgICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gY2h1bmtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNzaENoYW5uZWxUb1Byb21pc2UoXG4gICAgY2hhbm5lbDogQ2xpZW50Q2hhbm5lbCxcbiAgICBjbWQ6IHN0cmluZyxcbik6IFNzaENoYW5uZWxUb1Byb21pc2Uge1xuICAgIHJldHVybiAoXG4gICAgICAgIG9wdGlvbnM/OiBDaGFubmVsVG9Qcm9taXNlT3B0aW9uc1xuICAgICkgPT4ge1xuICAgICAgICBsZXQgcmVzb2x2ZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgcmVzb2x2ZVZhbHVlOiBTc2hDaGFubmVsRXhpdCB8IFByb21pc2VMaWtlPFNzaENoYW5uZWxFeGl0PlxuXG4gICAgICAgIGxldCByZWplY3RlZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgICAgIGxldCByZWplY3RSZWFzb246IGFueVxuXG4gICAgICAgIGxldCByZXM6ICh2YWx1ZTogU3NoQ2hhbm5lbEV4aXQgfCBQcm9taXNlTGlrZTxTc2hDaGFubmVsRXhpdD4pID0+IHZvaWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChyZWplY3RlZCB8fCByZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZWQgPSB0cnVlXG4gICAgICAgICAgICByZXNvbHZlVmFsdWUgPSB2YWx1ZVxuICAgICAgICB9XG4gICAgICAgIGxldCByZWo6IChyZWFzb24/OiBhbnkpID0+IHZvaWQgPSAocmVhc29uKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVqZWN0ZWQgfHwgcmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgcmVqZWN0UmVhc29uID0gcmVhc29uXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXR0aW5nczogQ2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzID0ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBleHBlY3RlZEV4aXRDb2RlOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncy5leHBlY3RlZEV4aXRDb2RlID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHNldHRpbmdzLmV4cGVjdGVkRXhpdENvZGUgPSBbc2V0dGluZ3MuZXhwZWN0ZWRFeGl0Q29kZV1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNodW5rczogW2Jvb2xlYW4sIHN0cmluZ11bXSA9IFtdXG4gICAgICAgIGxldCBhbnlFcnI6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgYW55U3RkOiBib29sZWFuID0gZmFsc2VcbiAgICAgICAgbGV0IHN0ZG91dDogUmVhZGFibGUgPSBjaGFubmVsLnN0ZG91dFxuICAgICAgICBsZXQgc3RkZXJyOiBSZWFkYWJsZSA9IGNoYW5uZWwuc3RkZXJyXG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5ncyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyU3RkT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0ID0gc2V0dGluZ3MuZmlsdGVyT3V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyT3V0T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlclN0ZE91dE9wdGlvbnMgPSBzZXR0aW5ncy5maWx0ZXJPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9ucyA9IHNldHRpbmdzLmZpbHRlck91dE9wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy50aHJvd09uT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MudGhyb3dPblN0ZE91dCA9IHNldHRpbmdzLnRocm93T25PdXRcbiAgICAgICAgICAgICAgICBzZXR0aW5ncy50aHJvd09uRXJyT3V0ID0gc2V0dGluZ3MudGhyb3dPbk91dFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MubWFwT3V0KSB7XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwU3RkT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubWFwRXJyT3V0ID0gc2V0dGluZ3MubWFwT3V0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5maWx0ZXJTdGRPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJTdGRPdXQgPSBzZXR0aW5ncy5maWx0ZXJTdGRPdXRcbiAgICAgICAgICAgICAgICBzdGRvdXQuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoZGF0YSwgb3B0aW9ucykgPT4gZmlsdGVyU3RkT3V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5maWx0ZXJTdGRPdXRPcHRpb25zXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpbHRlckVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckVyck91dCA9IHNldHRpbmdzLmZpbHRlckVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhLCBvcHRpb25zKSA9PiBmaWx0ZXJFcnJPdXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyRXJyT3V0T3B0aW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcFN0ZE91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcFN0ZE91dCA9IHNldHRpbmdzLm1hcFN0ZE91dFxuICAgICAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwU3RkT3V0KGNodW5rLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaHVuayA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdGRvdXQub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcEVyck91dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcEVyck91dCA9IHNldHRpbmdzLm1hcEVyck91dFxuICAgICAgICAgICAgICAgIHN0ZGVyci5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gbWFwRXJyT3V0KGNodW5rLCB0cnVlKVxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNodW5rID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKFt0cnVlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbZmFsc2UsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBzdGRlcnIub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW3RydWUsIFwiXCIgKyBjaHVua10pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc3Rkb3V0Lm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlTdGQgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBhbnlFcnIgPSB0cnVlXG4gICAgICAgIH0pXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgICAgKGVycjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICByZWooZXJyKVxuICAgICAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbC5jbG9zZSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJjbG9zZVwiLFxuICAgICAgICAgICAgKC4uLnBhcmFtczogYW55W10pID0+IGNoYW5uZWwuZW1pdChcImV4aXRcIiwgLi4ucGFyYW1zKVxuICAgICAgICApXG5cbiAgICAgICAgY2hhbm5lbC5vbmNlKFwiZXhpdFwiLCAoXG4gICAgICAgICAgICBjb2RlOiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgICAgc2lnbmFsPzogc3RyaW5nLFxuICAgICAgICAgICAgZHVtcD86IHN0cmluZyxcbiAgICAgICAgICAgIGRlc2M/OiBzdHJpbmcsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaGFubmVsLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIGNoYW5uZWwuY2xvc2UoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBleGl0OiBTc2hDaGFubmVsRXhpdCA9IHtcbiAgICAgICAgICAgICAgICBjbWQsXG4gICAgICAgICAgICAgICAgY29kZTogY29kZSA9PT0gbnVsbCA/IC0xIDogY29kZSxcbiAgICAgICAgICAgICAgICBzaWduYWwsXG4gICAgICAgICAgICAgICAgZHVtcCxcbiAgICAgICAgICAgICAgICBkZXNjLFxuICAgICAgICAgICAgICAgIGNodW5rcyxcbiAgICAgICAgICAgICAgICBhbnlFcnIsXG4gICAgICAgICAgICAgICAgYW55U3RkLFxuICAgICAgICAgICAgICAgIG91dDogY2h1bmtzLm1hcCgodikgPT4gdlsxXSkuam9pbihcIlxcblwiKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50aHJvd09uRXJyT3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIGFueUVyclxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZWoobmV3IFNzaENoYW5uZWxFeGl0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlVuZXhwZWN0ZWQgZXJyb3Igc3RyZWFtIG91dHB1dDpcXG4gIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNodW5rcykgPT4gY2h1bmtzWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oXCJcXG4gIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXRcbiAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50aHJvd09uU3RkT3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIGFueVN0ZFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZWoobmV3IFNzaENoYW5uZWxFeGl0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlVuZXhwZWN0ZWQgc3RhbmRhcmQgc3RyZWFtIG91dHB1dDpcXG4gIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNodW5rcykgPT4gIWNodW5rc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKFwiXFxuICBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBleGl0XG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXMoZXhpdClcbiAgICAgICAgfSlcblxuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxTc2hDaGFubmVsRXhpdD4oXG4gICAgICAgICAgICAocmVzMiwgcmVqMikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXMyKHJlc29sdmVWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZWplY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICByZWoyKHJlamVjdFJlYXNvbilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzID0gcmVzMlxuICAgICAgICAgICAgICAgIHJlaiA9IHJlajJcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgIH1cbn0iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3NoRXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Tc2hFeGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBdUI7SUFDekQsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsU0FBUztJQUNkLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakIsSUFBSSxFQUFFLEtBQUs7Q0FDZCxDQUFBO0FBZ0JELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxLQUFLO0lBRy9CO0lBRlgsWUFDSSxPQUFlLEVBQ1IsSUFBb0I7UUFFM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRlAsU0FBSSxHQUFKLElBQUksQ0FBZ0I7SUFHL0IsQ0FBQztDQUNKO0FBY0QsTUFBTSxVQUFVLFlBQVksQ0FDeEIsT0FBc0IsRUFDdEIsTUFBd0I7SUFFeEIsTUFBTSxVQUFVLEdBQUcsT0FBYyxDQUFBO0lBRWpDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFBO0FBQ3JCLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDaEMsU0FBb0IsRUFDcEIsR0FBVyxFQUNYLE9BQTJCO0lBRTNCLE1BQU0sUUFBUSxHQUF1QjtRQUNqQyxHQUFHLHlCQUF5QjtRQUM1QixHQUFHLE9BQU87S0FDYixDQUFBO0lBRUQsUUFBUSxDQUFDLEdBQUcsR0FBRztRQUNYLEdBQUcsUUFBUSxDQUFDLEdBQUc7UUFDZixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUc7S0FDcEIsQ0FBQTtJQUVELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLEdBQUcsR0FBRyxPQUFPLEdBQUcsR0FBRyxD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Q0FBQztvQkFDQyxHQUFHLENBQUMsSUFBSSxtQkFBbUIsQ0FDdkIsd0NBQXdDO3dCQUN4QyxNQUFNLENBQUMsTUFBTSxDQUNULENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDekIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ2QsSUFBSSxDQUNQLENBQUMsQ0FBQTtvQkFDRixPQUFNO2dCQUVWLENBQUM7WUFDTCxDQUFDO1lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUE7UUFHRixPQUFPLElBQUksT0FBTyxDQUNkLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ1gsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBQ2xCLE9BQU07WUFDVixDQUFDO2lCQUFNLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFDbEIsT0FBTTtZQUNWLENBQUM7WUFFRCxHQUFHLEdBQUcsSUFBSSxDQUFBO1lBQ1YsR0FBRyxHQUFHLElBQUksQ0FBQTtRQUNkLENBQUMsQ0FDSixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudENoYW5uZWwsIEV4ZWNPcHRpb25zLCBDbGllbnQgYXMgU3NoQ2xpZW50IH0gZnJvbSBcInNzaDJcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQXdhaXRhYmxlIH0gZnJvbSBcIi4vdXRpbHMvYmFzZS5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5T3B0aW9ucyB7XG4gICAgY29uY3VycmVuY3k/OiBudW1iZXI7XG4gICAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gICAgZW5jb2Rpbmc/OiBCdWZmZXJFbmNvZGluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtZENoYW5uZWxPcHRpb25zIGV4dGVuZHMgRXhlY09wdGlvbnMge1xuICAgIHB3ZD86IHN0cmluZyxcbiAgICBlbnY/OiBOb2RlSlMuUHJvY2Vzc0VudixcbiAgICB0aW1lb3V0TWlsbGlzPzogbnVtYmVyLFxuICAgIHN1ZG8/OiBib29sZWFuLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENtZENoYW5uZWxTZXR0aW5ncyBleHRlbmRzIEV4ZWNPcHRpb25zIHtcbiAgICBwd2Q6IHN0cmluZyxcbiAgICBlbnY6IE5vZGVKUy5Qcm9jZXNzRW52IHwgdW5kZWZpbmVkLFxuICAgIHRpbWVvdXRNaWxsaXM6IG51bWJlcixcbiAgICBzdWRvOiBib29sZWFuLFxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdENtZENoYW5uZWxTZXR0aW5nczogQ21kQ2hhbm5lbFNldHRpbmdzID0ge1xuICAgIHB3ZDogXCIvXCIsXG4gICAgZW52OiB1bmRlZmluZWQsXG4gICAgdGltZW91dE1pbGxpczogLTEsXG4gICAgc3VkbzogZmFsc2UsXG59XG5cbmV4cG9ydCB0eXBlIENtZEV4ZWNPcHRpb25zID0gQ21kQ2hhbm5lbE9wdGlvbnMgJiBDaGFubmVsVG9Qcm9taXNlT3B0aW9uc1xuXG5leHBvcnQgaW50ZXJmYWNlIFNzaENoYW5uZWxFeGl0IHtcbiAgICBjbWQ6IHN0cmluZyxcbiAgICBvdXQ6IHN0cmluZyxcbiAgICBjaHVua3M6IFtib29sZWFuLCBzdHJpbmddW10sXG4gICAgYW55RXJyOiBib29sZWFuLFxuICAgIGFueVN0ZDogYm9vbGVhbixcbiAgICBjb2RlOiBudW1iZXIsXG4gICAgc2lnbmFsPzogc3RyaW5nLFxuICAgIGR1bXA/OiBzdHJpbmcsXG4gICAgZGVzYz86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgU3NoQ2hhbm5lbEV4aXRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgZXhpdDogU3NoQ2hhbm5lbEV4aXQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBTc2hDaGFubmVsVG9Qcm9taXNlID0gKG9wdGlvbnM/OiBDaGFubmVsVG9Qcm9taXNlT3B0aW9ucykgPT4gUHJvbWlzZTxTc2hDaGFubmVsRXhpdD5cblxuZXhwb3J0IGludGVyZmFjZSBTc2hDaGFubmVsRXh0cmFzIHtcbiAgICBjbWQ6IHN0cmluZyxcbiAgICB0aW1lb3V0PzogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWQsXG4gICAgc2V0dGluZ3M6IENtZENoYW5uZWxTZXR0aW5ncyxcbiAgICBzdGRvdXQ6IFJlYWRhYmxlLFxuICAgIHRvUHJvbWlzZTogU3NoQ2hhbm5lbFRvUHJvbWlzZVxufVxuXG5leHBvcnQgdHlwZSBTc2hDaGFubmVsID0gT21pdDxDbGllbnRDaGFubmVsLCBcInN0ZG91dFwiPiAmIFNzaENoYW5uZWxFeHRyYXNcblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3NoQ2hhbm5lbChcbiAgICBjaGFubmVsOiBDbGllbnRDaGFubmVsLFxuICAgIGV4dHJhczogU3NoQ2hhbm5lbEV4dHJhcyxcbik6IFNzaENoYW5uZWwge1xuICAgIGNvbnN0IHNzaENoYW5uZWwgPSBjaGFubmVsIGFzIGFueVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LnR5cGVkS2V5cyhleHRyYXMpKSB7XG4gICAgICAgIHNzaENoYW5uZWxba2V5XSA9IGV4dHJhc1trZXldXG4gICAgfVxuXG4gICAgcmV0dXJuIHNzaENoYW5uZWxcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4ZWNTc2hDaGFubmVsKFxuICAgIHNzaENsaWVudDogU3NoQ2xpZW50LFxuICAgIGNtZDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBDbWRDaGFubmVsT3B0aW9uc1xuKTogUHJvbWlzZTxTc2hDaGFubmVsPiB7XG4gICAgY29uc3Qgc2V0dGluZ3M6IENtZENoYW5uZWxTZXR0aW5ncyA9IHtcbiAgICAgICAgLi4uZGVmYXVsdENtZENoYW5uZWxTZXR0aW5ncyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBzZXR0aW5ncy5lbnYgPSB7XG4gICAgICAgIC4uLnNldHRpbmdzLmVudixcbiAgICAgICAgUFdEOiBzZXR0aW5ncy5wd2QsXG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLnN1ZG8pIHtcbiAgICAgICAgY21kID0gXCJzdWRvIFwiICsgY21kXG4gICAgfVxuXG4gICAgY29uc3QgYmFzZUNoYW5uZWwgPSBhd2FpdCBuZXcgUHJvbWlzZTxDbGllbnRDaGFubmVsPihcbiAgICAgICAgKHJlcywgcmVqKSA9PiBzc2hDbGllbnQuZXhlYyhcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIHNldHRpbmdzLFxuICAgICAgICAgICAgKGVyciwgY2hhbm5lbCkgPT5cbiAgICAgICAgICAgICAgICBlcnIgP1xuICAgICAgICAgICAgICAgICAgICByZWooZXJyKSA6XG4gICAgICAgICAgICAgICAgICAgIHJlcyhjaGFubmVsKVxuICAgICAgICApXG4gICAgKVxuXG4gICAgY29uc3QgY2hhbm5lbCA9IHRvU3NoQ2hhbm5lbChcbiAgICAgICAgYmFzZUNoYW5uZWwsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNtZCxcbiAgICAgICAgICAgIHNldHRpbmdzLFxuICAgICAgICAgICAgc3Rkb3V0OiBiYXNlQ2hhbm5lbC5zdGRvdXQsXG4gICAgICAgICAgICB0b1Byb21pc2U6IHNzaENoYW5uZWxUb1Byb21pc2UoXG4gICAgICAgICAgICAgICAgYmFzZUNoYW5uZWwsXG4gICAgICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgKVxuXG4gICAgaWYgKFxuICAgICAgICB0eXBlb2Ygc2V0dGluZ3MudGltZW91dE1pbGxpcyA9PSBcIm51bWJlclwiICYmXG4gICAgICAgIHNldHRpbmdzLnRpbWVvdXRNaWxsaXMgPiAwXG4gICAgKSB7XG5cbiAgICAgICAgY2hhbm5lbC50aW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNoYW5uZWwuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5uZWwuY2xvc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlRpbWVvdXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLnRpbWVvdXRNaWxsaXNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXR0aW5ncy50aW1lb3V0TWlsbGlzXG4gICAgICAgIClcbiAgICAgICAgY2hhbm5lbC5vbmNlKFxuICAgICAgICAgICAgXCJjbG9zZVwiLFxuICAgICAgICAgICAgKCkgPT4gY2xlYXJUaW1lb3V0KFxuICAgICAgICAgICAgICAgIGNoYW5uZWwudGltZW91dFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5uZWxcbn1cblxuZXhwb3J0IHR5cGUgU3RyZWFtRGF0YU1hcHBlciA9IChcbiAgICBkYXRhOiBzdHJpbmcsXG4gICAgZXJyOiBib29sZWFuXG4pID0+IEF3YWl0YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQgfCB2b2lkPlxuXG5leHBvcnQgdHlwZSBTdHJlYW1EYXRhRmlsdGVyID0gKFxuICAgIGRhdGE6IHN0cmluZyxcbiAgICBlcnI6IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IFBpY2s8QXJyYXlPcHRpb25zLCBcInNpZ25hbFwiPlxuKSA9PiBBd2FpdGFibGU8Ym9vbGVhbj5cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsVG9Qcm9taXNlT3B0aW9ucyB7XG4gICAgbWFwT3V0PzogU3RyZWFtRGF0YU1hcHBlcixcbiAgICBtYXBTdGRPdXQ/OiBTdHJlYW1EYXRhTWFwcGVyLFxuICAgIG1hcEVyck91dD86IFN0cmVhbURhdGFNYXBwZXIsXG4gICAgZmlsdGVyT3V0PzogU3RyZWFtRGF0YUZpbHRlcixcbiAgICBmaWx0ZXJTdGRPdXQ/OiBTdHJlYW1EYXRhRmlsdGVyLFxuICAgIGZpbHRlckVyck91dD86IFN0cmVhbURhdGFGaWx0ZXIsXG4gICAgZmlsdGVyT3V0T3B0aW9ucz86IEFycmF5T3B0aW9ucyxcbiAgICBmaWx0ZXJTdGRPdXRPcHRpb25zPzogQXJyYXlPcHRpb25zLFxuICAgIGZpbHRlckVyck91dE9wdGlvbnM/OiBBcnJheU9wdGlvbnMsXG4gICAgdGhyb3dPbk91dD86IGJvb2xlYW4sXG4gICAgdGhyb3dPblN0ZE91dD86IGJvb2xlYW4sXG4gICAgdGhyb3dPbkVyck91dD86IGJvb2xlYW4sXG4gICAgZXhwZWN0ZWRFeGl0Q29kZT86IG51bWJlciB8IG51bWJlcltdLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyB7XG4gICAgbWFwT3V0OiBTdHJlYW1EYXRhTWFwcGVyIHwgdW5kZWZpbmVkLFxuICAgIG1hcFN0ZE91dDogU3RyZWFtRGF0YU1hcHBlciB8IHVuZGVmaW5lZCxcbiAgICBtYXBFcnJPdXQ6IFN0cmVhbURhdGFNYXBwZXIgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyT3V0OiBTdHJlYW1EYXRhRmlsdGVyIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlclN0ZE91dDogU3RyZWFtRGF0YUZpbHRlciB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXQ6IFN0cmVhbURhdGFGaWx0ZXIgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyT3V0T3B0aW9uczogQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIGZpbHRlclN0ZE91dE9wdGlvbnM6IEFycmF5T3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXRPcHRpb25zOiBBcnJheU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgdGhyb3dPbk91dDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgICB0aHJvd09uU3RkT3V0OiBib29sZWFuLFxuICAgIHRocm93T25FcnJPdXQ6IGJvb2xlYW4sXG4gICAgZXhwZWN0ZWRFeGl0Q29kZTogbnVtYmVyW10sXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q2hhbm5lbFRvUHJvbWlzZVNldHRpbmdzOiBDaGFubmVsVG9Qcm9taXNlU2V0dGluZ3MgPSB7XG4gICAgbWFwT3V0OiB1bmRlZmluZWQsXG4gICAgbWFwU3RkT3V0OiB1bmRlZmluZWQsXG4gICAgbWFwRXJyT3V0OiB1bmRlZmluZWQsXG4gICAgZmlsdGVyT3V0OiB1bmRlZmluZWQsXG4gICAgZmlsdGVyU3RkT3V0OiB1bmRlZmluZWQsXG4gICAgZmlsdGVyRXJyT3V0OiB1bmRlZmluZWQsXG4gICAgZmlsdGVyT3V0T3B0aW9uczogdW5kZWZpbmVkLFxuICAgIGZpbHRlclN0ZE91dE9wdGlvbnM6IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJFcnJPdXRPcHRpb25zOiB1bmRlZmluZWQsXG4gICAgdGhyb3dPbk91dDogdW5kZWZpbmVkLFxuICAgIHRocm93T25TdGRPdXQ6IGZhbHNlLFxuICAgIHRocm93T25FcnJPdXQ6IHRydWUsXG4gICAgZXhwZWN0ZWRFeGl0Q29kZTogWzBdLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEYXRhQ2h1bmsoY2h1bms6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKGNodW5rIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgIHJldHVybiBjaHVuay50b1N0cmluZyhcInV0ZjhcIilcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjaHVuayAhPSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIFwiVW5leHBlY3RlZCBjaHVuayB0eXBlOiAnXCIgKyB0eXBlb2YgY2h1bmsgKyBcIidcXG5cIiArXG4gICAgICAgICAgICBcIlZhbHVlOiAnXCIgKyBjaHVuayArIFwiJ1wiXG4gICAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGNodW5rXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzc2hDaGFubmVsVG9Qcm9taXNlKFxuICAgIGNoYW5uZWw6IENsaWVudENoYW5uZWwsXG4gICAgY21kOiBzdHJpbmcsXG4pOiBTc2hDaGFubmVsVG9Qcm9taXNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBvcHRpb25zPzogQ2hhbm5lbFRvUHJvbWlzZU9wdGlvbnNcbiAgICApID0+IHtcbiAgICAgICAgbGV0IHJlc29sdmVkOiBib29sZWFuID0gZmFsc2VcbiAgICAgICAgbGV0IHJlc29sdmVWYWx1ZTogU3NoQ2hhbm5lbEV4aXQgfCBQcm9taXNlTGlrZTxTc2hDaGFubmVsRXhpdD5cblxuICAgICAgICBsZXQgcmVqZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICAgICBsZXQgcmVqZWN0UmVhc29uOiBhbnlcblxuICAgICAgICBsZXQgcmVzOiAodmFsdWU6IFNzaENoYW5uZWxFeGl0IHwgUHJvbWlzZUxpa2U8U3NoQ2hhbm5lbEV4aXQ+KSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVqZWN0ZWQgfHwgcmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc29sdmVkID0gdHJ1ZVxuICAgICAgICAgICAgcmVzb2x2ZVZhbHVlID0gdmFsdWVcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVqOiAocmVhc29uPzogYW55KSA9PiB2b2lkID0gKHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlamVjdGVkIHx8IHJlc29sdmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWplY3RlZCA9IHRydWVcbiAgICAgICAgICAgIHJlamVjdFJlYXNvbiA9IHJlYXNvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2V0dGluZ3M6IENoYW5uZWxUb1Byb21pc2VTZXR0aW5ncyA9IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRDaGFubmVsVG9Qcm9taXNlU2V0dGluZ3MsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgZXhwZWN0ZWRFeGl0Q29kZTogdW5kZWZpbmVkIGFzIGFueSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygc2V0dGluZ3MuZXhwZWN0ZWRFeGl0Q29kZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBzZXR0aW5ncy5leHBlY3RlZEV4aXRDb2RlID0gW3NldHRpbmdzLmV4cGVjdGVkRXhpdENvZGVdXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaHVua3M6IFtib29sZWFuLCBzdHJpbmddW10gPSBbXVxuICAgICAgICBsZXQgYW55RXJyOiBib29sZWFuID0gZmFsc2VcbiAgICAgICAgbGV0IGFueVN0ZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgICAgIGxldCBzdGRvdXQ6IFJlYWRhYmxlID0gY2hhbm5lbC5zdGRvdXRcbiAgICAgICAgbGV0IHN0ZGVycjogUmVhZGFibGUgPSBjaGFubmVsLnN0ZGVyclxuXG4gICAgICAgIGlmICh0eXBlb2Ygc2V0dGluZ3MgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpbHRlck91dCkge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlclN0ZE91dCA9IHNldHRpbmdzLmZpbHRlck91dFxuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlckVyck91dCA9IHNldHRpbmdzLmZpbHRlck91dFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpbHRlck91dE9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBzZXR0aW5ncy5maWx0ZXJTdGRPdXRPcHRpb25zID0gc2V0dGluZ3MuZmlsdGVyT3V0T3B0aW9uc1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlckVyck91dE9wdGlvbnMgPSBzZXR0aW5ncy5maWx0ZXJPdXRPcHRpb25zXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MudGhyb3dPbk91dCkge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLnRocm93T25TdGRPdXQgPSBzZXR0aW5ncy50aHJvd09uT3V0XG4gICAgICAgICAgICAgICAgc2V0dGluZ3MudGhyb3dPbkVyck91dCA9IHNldHRpbmdzLnRocm93T25PdXRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRpbmdzLm1hcE91dCkge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzLm1hcFN0ZE91dCA9IHNldHRpbmdzLm1hcE91dFxuICAgICAgICAgICAgICAgIHNldHRpbmdzLm1hcEVyck91dCA9IHNldHRpbmdzLm1hcE91dFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MuZmlsdGVyU3RkT3V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyU3RkT3V0ID0gc2V0dGluZ3MuZmlsdGVyU3RkT3V0XG4gICAgICAgICAgICAgICAgc3Rkb3V0LmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGRhdGEsIG9wdGlvbnMpID0+IGZpbHRlclN0ZE91dChcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuZmlsdGVyU3RkT3V0T3B0aW9uc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5maWx0ZXJFcnJPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJFcnJPdXQgPSBzZXR0aW5ncy5maWx0ZXJFcnJPdXRcbiAgICAgICAgICAgICAgICBzdGRlcnIuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoZGF0YSwgb3B0aW9ucykgPT4gZmlsdGVyRXJyT3V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmZpbHRlckVyck91dE9wdGlvbnNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5tYXBTdGRPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBTdGRPdXQgPSBzZXR0aW5ncy5tYXBTdGRPdXRcbiAgICAgICAgICAgICAgICBzdGRvdXQub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IG1hcFN0ZE91dChjaHVuaywgZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2h1bmsgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW2ZhbHNlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3Rkb3V0Lm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaGVja0RhdGFDaHVuayhjaHVuaylcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW2ZhbHNlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5tYXBFcnJPdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBFcnJPdXQgPSBzZXR0aW5ncy5tYXBFcnJPdXRcbiAgICAgICAgICAgICAgICBzdGRlcnIub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IG1hcEVyck91dChjaHVuaywgdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaHVuayA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChbdHJ1ZSwgXCJcIiArIGNodW5rXSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0ZGVyci5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKFt0cnVlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGRvdXQub24oXCJkYXRhXCIsIChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGNodW5rID0gY2hlY2tEYXRhQ2h1bmsoY2h1bmspXG4gICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goW2ZhbHNlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgc3RkZXJyLm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgICAgICAgICAgICBjaHVuayA9IGNoZWNrRGF0YUNodW5rKGNodW5rKVxuICAgICAgICAgICAgICAgIGNodW5rcy5wdXNoKFt0cnVlLCBcIlwiICsgY2h1bmtdKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHN0ZG91dC5vbihcImRhdGFcIiwgKCkgPT4ge1xuICAgICAgICAgICAgYW55U3RkID0gdHJ1ZVxuICAgICAgICB9KVxuXG4gICAgICAgIHN0ZGVyci5vbihcImRhdGFcIiwgKCkgPT4ge1xuICAgICAgICAgICAgYW55RXJyID0gdHJ1ZVxuICAgICAgICB9KVxuXG4gICAgICAgIGNoYW5uZWwub25jZShcbiAgICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICAgIChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVqKGVycilcbiAgICAgICAgICAgICAgICBpZiAoIWNoYW5uZWwuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5uZWwuY2xvc2UoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuXG4gICAgICAgIGNoYW5uZWwub25jZShcbiAgICAgICAgICAgIFwiY2xvc2VcIixcbiAgICAgICAgICAgICguLi5wYXJhbXM6IGFueVtdKSA9PiBjaGFubmVsLmVtaXQoXCJleGl0XCIsIC4uLnBhcmFtcylcbiAgICAgICAgKVxuXG4gICAgICAgIGNoYW5uZWwub25jZShcImV4aXRcIiwgKFxuICAgICAgICAgICAgY29kZTogbnVtYmVyIHwgbnVsbCxcbiAgICAgICAgICAgIHNpZ25hbD86IHN0cmluZyxcbiAgICAgICAgICAgIGR1bXA/OiBzdHJpbmcsXG4gICAgICAgICAgICBkZXNjPzogc3RyaW5nLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGlmICghY2hhbm5lbC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICBjaGFubmVsLmNsb3NlKClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZXhpdDogU3NoQ2hhbm5lbEV4aXQgPSB7XG4gICAgICAgICAgICAgICAgY21kLFxuICAgICAgICAgICAgICAgIGNvZGU6IGNvZGUgPT09IG51bGwgPyAtMSA6IGNvZGUsXG4gICAgICAgICAgICAgICAgc2lnbmFsLFxuICAgICAgICAgICAgICAgIGR1bXAsXG4gICAgICAgICAgICAgICAgZGVzYyxcbiAgICAgICAgICAgICAgICBjaHVua3MsXG4gICAgICAgICAgICAgICAgYW55RXJyLFxuICAgICAgICAgICAgICAgIGFueVN0ZCxcbiAgICAgICAgICAgICAgICBvdXQ6IGNodW5rcy5tYXAoKHYpID0+IHZbMV0pLmpvaW4oXCJcXG5cIilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudGhyb3dPbkVyck91dCAmJlxuICAgICAgICAgICAgICAgICAgICBhbnlFcnJcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqKG5ldyBTc2hDaGFubmVsRXhpdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJVbmV4cGVjdGVkIGVycm9yIHN0cmVhbSBvdXRwdXQ6XFxuICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaHVua3MpID0+IGNodW5rc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKFwiXFxuICBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBleGl0XG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMudGhyb3dPblN0ZE91dCAmJlxuICAgICAgICAgICAgICAgICAgICBhbnlTdGRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqKG5ldyBTc2hDaGFubmVsRXhpdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJVbmV4cGVjdGVkIHN0YW5kYXJkIHN0cmVhbSBvdXRwdXQ6XFxuICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBjaHVua3MuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaHVua3MpID0+ICFjaHVua3NbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICkuam9pbihcIlxcbiAgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhpdFxuICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzKGV4aXQpXG4gICAgICAgIH0pXG5cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8U3NoQ2hhbm5lbEV4aXQ+KFxuICAgICAgICAgICAgKHJlczIsIHJlajIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzMihyZXNvbHZlVmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVqZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqMihyZWplY3RSZWFzb24pXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlcyA9IHJlczJcbiAgICAgICAgICAgICAgICByZWogPSByZWoyXG4gICAgICAgICAgICB9XG4gICAgICAgIClcbiAgICB9XG59Il19 |
{ | ||
"name": "hivessh", | ||
"version": "1.2.3", | ||
"version": "1.3.1", | ||
"description": "HiveSsh is an innovative library designed to streamline SSH2 connections and simplify task execution on Linux servers.", | ||
@@ -71,2 +71,2 @@ "type": "module", | ||
} | ||
} | ||
} |
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
313362
2705
0