@bitgo-beta/sdk-core 8.2.1-beta.904 → 8.2.1-beta.906
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/account-lib/baseCoin/enum.d.ts +3 -1
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +5 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +0 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -41,7 +41,9 @@ export declare enum TransactionType {
|
|
|
41
41
|
SingleNominatorWithdraw = 36,
|
|
42
42
|
SendToken = 37,
|
|
43
43
|
TrustLine = 38,
|
|
44
|
-
SendNFT = 39
|
|
44
|
+
SendNFT = 39,
|
|
45
|
+
DelegateResource = 40,
|
|
46
|
+
UnDelegateResource = 41
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* Generic list of encoding formats. Can be used as arguments for methods inputs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAA;IAEJ,UAAU,IAAA;IAEV,WAAW,IAAA;IAEX,oBAAoB,IAAA;IAEpB,qBAAqB,IAAA;IAErB,oCAAoC,IAAA;IAEpC,WAAW,IAAA;IAEX,UAAU,IAAA;IAEV,aAAa,IAAA;IAEb,aAAa,IAAA;IAEb,WAAW,KAAA;IAEX,WAAW,KAAA;IAEX,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,YAAY,KAAA;IAEZ,iBAAiB,KAAA;IAEjB,KAAK,KAAA;IAEL,YAAY,KAAA;IAGZ,YAAY,KAAA;IAGZ,YAAY,KAAA;IAEZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,wBAAwB,KAAA;IAExB,UAAU,KAAA;IAEV,aAAa,KAAA;IAEb,cAAc,KAAA;IAEd,gBAAgB,KAAA;IAEhB,mBAAmB,KAAA;IAEnB,eAAe,KAAA;IAEf,QAAQ,KAAA;IACR,iBAAiB,KAAA;IACjB,0BAA0B,KAAA;IAC1B,0BAA0B,KAAA;IAE1B,2BAA2B,KAAA;IAC3B,uBAAuB,KAAA;IAEvB,SAAS,KAAA;IAET,SAAS,KAAA;IAET,OAAO,KAAA;
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,IAAA;IAEJ,UAAU,IAAA;IAEV,WAAW,IAAA;IAEX,oBAAoB,IAAA;IAEpB,qBAAqB,IAAA;IAErB,oCAAoC,IAAA;IAEpC,WAAW,IAAA;IAEX,UAAU,IAAA;IAEV,aAAa,IAAA;IAEb,aAAa,IAAA;IAEb,WAAW,KAAA;IAEX,WAAW,KAAA;IAEX,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,aAAa,KAAA;IAEb,eAAe,KAAA;IAEf,YAAY,KAAA;IAEZ,iBAAiB,KAAA;IAEjB,KAAK,KAAA;IAEL,YAAY,KAAA;IAGZ,YAAY,KAAA;IAGZ,YAAY,KAAA;IAEZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,wBAAwB,KAAA;IAExB,UAAU,KAAA;IAEV,aAAa,KAAA;IAEb,cAAc,KAAA;IAEd,gBAAgB,KAAA;IAEhB,mBAAmB,KAAA;IAEnB,eAAe,KAAA;IAEf,QAAQ,KAAA;IACR,iBAAiB,KAAA;IACjB,0BAA0B,KAAA;IAC1B,0BAA0B,KAAA;IAE1B,2BAA2B,KAAA;IAC3B,uBAAuB,KAAA;IAEvB,SAAS,KAAA;IAET,SAAS,KAAA;IAET,OAAO,KAAA;IAEP,gBAAgB,KAAA;IAEhB,kBAAkB,KAAA;CACnB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAID,oBAAY,gBAAgB;IAE1B,SAAS,KAAK;IAEd,QAAQ,IAAI;CACb;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,QAAQ,IAAA;CACT"}
|
|
@@ -82,6 +82,10 @@ var TransactionType;
|
|
|
82
82
|
TransactionType[TransactionType["TrustLine"] = 38] = "TrustLine";
|
|
83
83
|
// Send Non Fungible Token (e.g. APT NFTs)
|
|
84
84
|
TransactionType[TransactionType["SendNFT"] = 39] = "SendNFT";
|
|
85
|
+
// Delegate resource (e.g. TRX)
|
|
86
|
+
TransactionType[TransactionType["DelegateResource"] = 40] = "DelegateResource";
|
|
87
|
+
// Un-delegate resource (e.g. TRX)
|
|
88
|
+
TransactionType[TransactionType["UnDelegateResource"] = 41] = "UnDelegateResource";
|
|
85
89
|
})(TransactionType || (exports.TransactionType = TransactionType = {}));
|
|
86
90
|
/**
|
|
87
91
|
* Generic list of encoding formats. Can be used as arguments for methods inputs.
|
|
@@ -111,4 +115,4 @@ var StakingOperationTypes;
|
|
|
111
115
|
StakingOperationTypes[StakingOperationTypes["UNLOCK"] = 4] = "UNLOCK";
|
|
112
116
|
StakingOperationTypes[StakingOperationTypes["WITHDRAW"] = 5] = "WITHDRAW";
|
|
113
117
|
})(StakingOperationTypes || (exports.StakingOperationTypes = StakingOperationTypes = {}));
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQWlGWDtBQWpGRCxXQUFZLGVBQWU7SUFDekIscURBQUksQ0FBQTtJQUNKLCtCQUErQjtJQUMvQixpRUFBVSxDQUFBO0lBQ1YsZ0NBQWdDO0lBQ2hDLG1FQUFXLENBQUE7SUFDWCxvRUFBb0U7SUFDcEUscUZBQW9CLENBQUE7SUFDcEIscUVBQXFFO0lBQ3JFLHVGQUFxQixDQUFBO0lBQ3JCLDBDQUEwQztJQUMxQyxxSEFBb0MsQ0FBQTtJQUNwQyw0REFBNEQ7SUFDNUQsbUVBQVcsQ0FBQTtJQUNYLHdFQUF3RTtJQUN4RSxpRUFBVSxDQUFBO0lBQ1Ysb0NBQW9DO0lBQ3BDLHVFQUFhLENBQUE7SUFDYiw4RUFBOEU7SUFDOUUsdUVBQWEsQ0FBQTtJQUNiLE9BQU87SUFDUCxvRUFBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG9FQUFXLENBQUE7SUFDWCxTQUFTO0lBQ1Qsd0VBQWEsQ0FBQTtJQUNiLFdBQVc7SUFDWCw0RUFBZSxDQUFBO0lBQ2YsU0FBUztJQUNULHdFQUFhLENBQUE7SUFDYixXQUFXO0lBQ1gsNEVBQWUsQ0FBQTtJQUNmLDhCQUE4QjtJQUM5QixzRUFBWSxDQUFBO0lBQ1osYUFBYTtJQUNiLGdGQUFpQixDQUFBO0lBQ2pCLG1FQUFtRTtJQUNuRSx3REFBSyxDQUFBO0lBQ0wsNEJBQTRCO0lBQzVCLHNFQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLHNFQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLHNFQUFZLENBQUE7SUFDWiwrQkFBK0I7SUFDL0IsMERBQU0sQ0FBQTtJQUNOLDBEQUFNLENBQUE7SUFDTiwyQ0FBMkM7SUFDM0MsOEZBQXdCLENBQUE7SUFDeEIsY0FBYztJQUNkLGtFQUFVLENBQUE7SUFDViw0QkFBNEI7SUFDNUIsd0VBQWEsQ0FBQTtJQUNiLDZCQUE2QjtJQUM3QiwwRUFBYyxDQUFBO0lBQ2QsK0JBQStCO0lBQy9CLDhFQUFnQixDQUFBO0lBQ2hCLGdEQUFnRDtJQUNoRCxvRkFBbUIsQ0FBQTtJQUNuQixXQUFXO0lBQ1gsNEVBQWUsQ0FBQTtJQUNmLGdDQUFnQztJQUNoQyw4REFBUSxDQUFBO0lBQ1IsZ0ZBQWlCLENBQUE7SUFDakIsa0dBQTBCLENBQUE7SUFDMUIsa0dBQTBCLENBQUE7SUFDMUIsaURBQWlEO0lBQ2pELG9HQUEyQixDQUFBO0lBQzNCLDRGQUF1QixDQUFBO0lBQ3ZCLGdDQUFnQztJQUNoQyxnRUFBUyxDQUFBO0lBQ1QsNkRBQTZEO0lBQzdELGdFQUFTLENBQUE7SUFDVCwwQ0FBMEM7SUFDMUMsNERBQU8sQ0FBQTtJQUNQLCtCQUErQjtJQUMvQiw4RUFBZ0IsQ0FBQTtJQUNoQixrQ0FBa0M7SUFDbEMsa0ZBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQWpGVyxlQUFlLCtCQUFmLGVBQWUsUUFpRjFCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDdkIsNEJBQVcsQ0FBQTtJQUNYLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0lBQ25CLG9DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxhQUFhLDZCQUFiLGFBQWEsUUFLeEI7QUFFRCx5REFBeUQ7QUFDekQsdURBQXVEO0FBQ3ZELElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQixtREFBbUQ7SUFDbkQsa0VBQWMsQ0FBQTtJQUNkLHdDQUF3QztJQUN4QywrREFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUxXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBSzNCO0FBSUQsSUFBWSxxQkFPWDtBQVBELFdBQVkscUJBQXFCO0lBQy9CLGlFQUFJLENBQUE7SUFDSixpRUFBSSxDQUFBO0lBQ0oscUVBQU0sQ0FBQTtJQUNOLHlFQUFRLENBQUE7SUFDUixxRUFBTSxDQUFBO0lBQ04seUVBQVEsQ0FBQTtBQUNWLENBQUMsRUFQVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQU9oQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZXJuYWwgbWV0YWRhdGEuIERlZmluZXMgdGhlIHR5cGUgb2YgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFRyYW5zYWN0aW9uVHlwZSB7XG4gIFNlbmQsXG4gIC8vIFNlbmQgRVJDNzIxIGNvbXBsaWFudCB0b2tlbnNcbiAgU2VuZEVSQzcyMSxcbiAgLy8gU2VuZCBFUkMxMTU1IGNvbXBsaWFudCB0b2tlbnNcbiAgU2VuZEVSQzExNTUsXG4gIC8vIEluaXRpYWxpemUgYSB3YWxsZXQgb24tY2hhaW4gKGUuZy4gTXVsdGktc2lnIGNvbnRyYWN0IGRlcGxveW1lbnQpXG4gIFdhbGxldEluaXRpYWxpemF0aW9uLFxuICAvLyBJbml0aWFsaXplIGFuIGFkZHJlc3Mgb24tY2hhaW4oZS5nLiBGb3J3YXJkZXIgY29udHJhY3QgZGVwbG95bWVudClcbiAgQWRkcmVzc0luaXRpYWxpemF0aW9uLFxuICAvLyBJbml0aWFsaXplZCBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnRcbiAgQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uLFxuICAvLyBGbHVzaCB0b2tlbnMgZnJvbSBhIGZvcndhcmRlciBhZGRyZXNzIHRvIGl0cyBiYXNlIGFkZHJlc3NcbiAgRmx1c2hUb2tlbnMsXG4gIC8vIEZsdXNoIG5hdGl2ZSBjb2lucyAoZWcuIEVUSCkgZnJvbSBhIGZvcndhcmRlciBhZGRyZXNzIHRvIGJhc2UgYWRkcmVzc1xuICBGbHVzaENvaW5zLFxuICAvLyBTZW5kIGEgcmF3IHNpbmdsZS1zaWcgdHJhbnNhY3Rpb25cbiAgU2luZ2xlU2lnU2VuZCxcbiAgLy8gVXBkYXRlIGFuIGFjY291bnQgb24tY2hhaW4gKGUuZy4gUHVibGljIGtleSByZXZlbGF0aW9uIG9wZXJhdGlvbiBmb3IgVGV6b3MpXG4gIEFjY291bnRVcGRhdGUsXG4gIC8vIExvY2tcbiAgU3Rha2luZ0xvY2ssXG4gIC8vIFZvdGVcbiAgU3Rha2luZ1ZvdGUsXG4gIC8vIFVudm90ZVxuICBTdGFraW5nVW52b3RlLFxuICAvLyBBY3RpdmF0ZVxuICBTdGFraW5nQWN0aXZhdGUsXG4gIC8vIFVubG9ja1xuICBTdGFraW5nVW5sb2NrLFxuICAvLyBXaXRoZHJhd1xuICBTdGFraW5nV2l0aGRyYXcsXG4gIC8vIEhhbmRsZSBzbWFydCBjb250cmFjdCBjYWxsc1xuICBDb250cmFjdENhbGwsXG4gIC8vIERlYWN0aXZhdGVcbiAgU3Rha2luZ0RlYWN0aXZhdGUsXG4gIC8vIEJhdGNoIG9mIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBicm9hZGNhc3QgYXMgYSBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgQmF0Y2gsXG4gIC8vIENsYWltIHRoZSBzdGFraW5nIHJld2FyZHNcbiAgU3Rha2luZ0NsYWltLFxuICAvLyBBZGQgZGVsZWdhdG9yIHRvIHAtY2hhaW5cbiAgLy8gQGRlcHJlY2F0ZWRcbiAgQWRkRGVsZWdhdG9yLFxuICAvLyBBZGQgdmFsaWRhdG9yIHRvIHAtY2hhaW5cbiAgLy8gQGRlcHJlY2F0ZWRcbiAgQWRkVmFsaWRhdG9yLFxuICAvLyBDcm9zcyBjaGFpbiB0cmFuc2ZlciBhdCBBdmF4XG4gIEV4cG9ydCxcbiAgSW1wb3J0LFxuICAvLyBDcm9zcyBjaGFpbiBSZWNvdmVyeSBmb3IgZXZtIGxpa2UgY2hhaW5zXG4gIFJlY292ZXJ5V2FsbGV0RGVwbG95bWVudCxcbiAgLy8gQWRkIHN0YWtpbmdcbiAgU3Rha2luZ0FkZCxcbiAgLy8gU3Rha2luZyBwbGVkZ2UgKGUuZy4gQURBKVxuICBTdGFraW5nUGxlZGdlLFxuICAvLyBEZWxlZ2F0aW5nIHZvdGUgKGUuZy4gQURBKVxuICBWb3RlRGVsZWdhdGlvbixcbiAgLy8gU3Rha2luZyBBdXRob3JpemUgKGUuZy4gU09MKVxuICBTdGFraW5nQXV0aG9yaXplLFxuICAvLyBTdGFraW5nIEF1dGhvcml6ZSBmcm9tIHJhdyBtZXNzYWdlIChlLmcuIFNPTClcbiAgU3Rha2luZ0F1dGhvcml6ZVJhdyxcbiAgLy8gRGVsZWdhdGVcbiAgU3Rha2luZ0RlbGVnYXRlLFxuICAvLyBDdXN0b20gdHJhbnNhY3Rpb24gKGUuZy4gU1VJKVxuICBDdXN0b21UeCxcbiAgU3Rha2luZ1JlZGVsZWdhdGUsXG4gIEFkZFBlcm1pc3Npb25sZXNzRGVsZWdhdG9yLFxuICBBZGRQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvcixcbiAgLy8gQ2xvc2luZyBhbiBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgKGUuZy4gU09MKVxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFNpbmdsZU5vbWluYXRvcldpdGhkcmF3LFxuICAvLyBTZW5kIFRva2VucyAoZS5nIFhSUEwgdG9rZW5zKVxuICBTZW5kVG9rZW4sXG4gIC8vIFNldHVwIGEgdHJ1c3RsaW5lIHdpdGggaXNzdWVyIG9mIGEgdG9rZW4gKGVnLiBYUlBMIHRva2VucylcbiAgVHJ1c3RMaW5lLFxuICAvLyBTZW5kIE5vbiBGdW5naWJsZSBUb2tlbiAoZS5nLiBBUFQgTkZUcylcbiAgU2VuZE5GVCxcbiAgLy8gRGVsZWdhdGUgcmVzb3VyY2UgKGUuZy4gVFJYKVxuICBEZWxlZ2F0ZVJlc291cmNlLFxuICAvLyBVbi1kZWxlZ2F0ZSByZXNvdXJjZSAoZS5nLiBUUlgpXG4gIFVuRGVsZWdhdGVSZXNvdXJjZSxcbn1cblxuLyoqXG4gKiBHZW5lcmljIGxpc3Qgb2YgZW5jb2RpbmcgZm9ybWF0cy4gQ2FuIGJlIHVzZWQgYXMgYXJndW1lbnRzIGZvciBtZXRob2RzIGlucHV0cy5cbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0Zvcm1hdCB7XG4gIGhleCA9ICdoZXgnLFxuICBiYXNlNTggPSAnYmFzZTU4JyxcbiAgbWFpbm5ldCA9ICdtYWlubmV0JyxcbiAgdGVzdG5ldCA9ICd0ZXN0bmV0Jyxcbn1cblxuLy8gVE9ETygpOiBjcmVhdGUgdW5pb24gdHlwZSBvZiBhbGwgYWRkcmVzcyBmb3JtYXRzIGVudW1zXG4vLyBsaXN0IG9mIHNzNTggZm9ybWF0IGVuY29kaW5nIHR5cGVzIGZvciBEb3QgZWNvc3lzdGVtXG5leHBvcnQgZW51bSBEb3RBZGRyZXNzRm9ybWF0IHtcbiAgLy8gZm9ybWF0IGZvciB3ZXN0ZW5kIChnZW5lcmljIHN1YnN0cmF0ZSkgYWRkcmVzc2VzXG4gIHN1YnN0cmF0ZSA9IDQyLFxuICAvLyBmb3JtYXQgZm9yIHBvbGthZG90IG1haW5uZXQgYWRkcmVzc2VzXG4gIHBvbGthZG90ID0gMCxcbn1cblxuZXhwb3J0IHR5cGUgRG90QXNzZXRUeXBlcyA9ICdkb3QnIHwgJ3Rkb3QnO1xuXG5leHBvcnQgZW51bSBTdGFraW5nT3BlcmF0aW9uVHlwZXMge1xuICBMT0NLLFxuICBWT1RFLFxuICBVTlZPVEUsXG4gIEFDVElWQVRFLFxuICBVTkxPQ0ssXG4gIFdJVEhEUkFXLFxufVxuIl19
|
|
@@ -363,7 +363,6 @@ export declare abstract class BaseCoin implements IBaseCoin {
|
|
|
363
363
|
* @param {string} params.prv - the decrypted private key
|
|
364
364
|
* @param {string} params.publicKey - the public key, or common keychain
|
|
365
365
|
* @param {string} params.multiSigType - the multi-sig type, if applicable
|
|
366
|
-
* @returns {AuditKeyResponse} - result of the audit
|
|
367
366
|
*/
|
|
368
367
|
abstract auditDecryptedKey(params: AuditDecryptedKeyParams): void;
|
|
369
368
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/baseCoin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"baseCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/baseCoin/baseCoin.ts"],"names":[],"mappings":"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"}
|
|
@@ -486,4 +486,4 @@ class BaseCoin {
|
|
|
486
486
|
}
|
|
487
487
|
exports.BaseCoin = BaseCoin;
|
|
488
488
|
BaseCoin._coinTokenPatternSeparator = ':';
|
|
489
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUNvaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vYmFzZUNvaW4vYmFzZUNvaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwrQ0FBaUM7QUFFakMsOERBQWdEO0FBQ2hELG1EQUE2QztBQUM3Qyx1REFBeUM7QUFDekMsK0NBQXlDO0FBQ3pDLGlEQUErRTtBQUcvRSw0Q0FBMkM7QUFDM0MsbURBQXdEO0FBRXhELDhDQUE0QztBQUM1QywwQ0FBb0Q7QUFDcEQsc0NBQW9DO0FBQ3BDLHdEQUFzRDtBQUN0RCxzQ0FBcUQ7QUFDckQsd0NBQXNDO0FBaUN0QyxNQUFzQixRQUFRO0lBWTVCLFlBQXNCLEtBQWdCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLG9CQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksa0JBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGtDQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHdCQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztR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Q0FBQztJQUN0RyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsNkJBQTZCLENBQUMsTUFBdUIsRUFBRSxNQUE0QztRQUNqRyxPQUFPO0lBQ1QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxNQUFzQjtRQUNyQyxJQUFJLFlBQW9CLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0gsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDOztBQXZrQkgsNEJBa2xCQztBQXprQjJCLG1DQUEwQixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgc2pjbCBmcm9tICdAYml0Z28tYmV0YS9zamNsJztcbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GZWF0dXJlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIH0gZnJvbSAnLi4vcmVjb3ZlcnknO1xuaW1wb3J0IHsgc2lnbk1lc3NhZ2UgfSBmcm9tICcuLi9iaXAzMnV0aWwnO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW5zLCBLZXlJbmRpY2VzIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBQZW5kaW5nQXBwcm92YWxzIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElXYWxsZXQsIFdhbGxldCwgV2FsbGV0cyB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2snO1xuaW1wb3J0IHtcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0LFxuICBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMsXG4gIERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyxcbiAgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMsXG4gIEZlZUVzdGltYXRlT3B0aW9ucyxcbiAgSUJhc2VDb2luLFxuICBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgS2V5Y2hhaW5zVHJpcGxldCxcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgUHJlY3JlYXRlQml0R29PcHRpb25zLFxuICBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbixcbiAgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsXG4gIFRva2VuRW5hYmxlbWVudENvbmZpZyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQXVkaXRLZXlQYXJhbXMsXG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxufSBmcm9tICcuL2lCYXNlQ29pbic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zLCBNUENUeHMsIFBvcHVsYXRlZEludGVudCwgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvaW4gaW1wbGVtZW50cyBJQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF91cmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lbnRlcnByaXNlczogRW50ZXJwcmlzZXM7XG4gIHByb3RlY3RlZCByZWFkb25seSBfd2FsbGV0czogV2FsbGV0cztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9rZXljaGFpbnM6IEtleWNoYWlucztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF93ZWJob29rczogV2ViaG9va3M7XG4gIHByb3RlY3RlZCByZWFkb25seSBfcGVuZGluZ0FwcHJvdmFsczogUGVuZGluZ0FwcHJvdmFscztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9tYXJrZXRzOiBNYXJrZXRzO1xuICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IF9jb2luVG9rZW5QYXR0ZXJuU2VwYXJhdG9yID0gJzonO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuX3VybCA9IHRoaXMuYml0Z28udXJsKCcvJywgMik7XG4gICAgdGhpcy5fd2FsbGV0cyA9IG5ldyBXYWxsZXRzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX2tleWNoYWlucyA9IG5ldyBLZXljaGFpbnModGhpcy5iaXRnbywgdGhpcyk7XG4gICAgdGhpcy5fd2ViaG9va3MgPSBuZXcgV2ViaG9va3ModGhpcy5iaXRnbywgdGhpcyk7XG4gICAgdGhpcy5fcGVuZGluZ0FwcHJvdmFscyA9IG5ldyBQZW5kaW5nQXBwcm92YWxzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX2VudGVycHJpc2VzID0gbmV3IEVudGVycHJpc2VzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX21hcmtldHMgPSBuZXcgTWFya2V0cyh0aGlzLmJpdGdvLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl91cmwgKyB0aGlzLmdldENoYWluKCkgKyBzdWZmaXg7XG4gIH1cblxuICBwdWJsaWMgd2FsbGV0cygpOiBXYWxsZXRzIHtcbiAgICByZXR1cm4gdGhpcy5fd2FsbGV0cztcbiAgfVxuXG4gIHB1YmxpYyBlbnRlcnByaXNlcygpOiBFbnRlcnByaXNlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGVycHJpc2VzO1xuICB9XG5cbiAgcHVibGljIGtleWNoYWlucygpOiBLZXljaGFpbnMge1xuICAgIHJldHVybiB0aGlzLl9rZXljaGFpbnM7XG4gIH1cblxuICBwdWJsaWMgd2ViaG9va3MoKTogV2ViaG9va3Mge1xuICAgIHJldHVybiB0aGlzLl93ZWJob29rcztcbiAgfVxuXG4gIHB1YmxpYyBwZW5kaW5nQXBwcm92YWxzKCk6IFBlbmRpbmdBcHByb3ZhbHMge1xuICAgIHJldHVybiB0aGlzLl9wZW5kaW5nQXBwcm92YWxzO1xuICB9XG5cbiAgcHVibGljIG1hcmtldHMoKTogTWFya2V0cyB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtldHM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBjb2luVG9rZW5QYXR0ZXJuU2VwYXJhdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvaW5Ub2tlblBhdHRlcm5TZXBhcmF0b3I7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGFpbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YXRpY3MgY29pbiBvYmplY3RcbiAgICogQHJldHVybnMge1JlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj59IHRoZSBzdGF0aWNzIGNvaW4gb2JqZWN0XG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGNoYWluIHdoaWNoIHN1cHBvcnRzIHRoaXMgY29pbiAoZWcsICdidGMnLCAnZXRoJylcbiAgICovXG4gIGFic3RyYWN0IGdldENoYWluKCk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29pbiBmYW1pbHkgKGVnLiBmb3IgdGJ0YywgdGhpcyB3b3VsZCBiZSBidGMpXG4gICAqL1xuICBhYnN0cmFjdCBnZXRGYW1pbHkoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIdW1hbiByZWFkYWJsZSBmdWxsIG5hbWUgZm9yIHRoZSBjb2luXG4gICAqL1xuICBhYnN0cmFjdCBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgdmFsdWUgb2YgMC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgb2theSB0byBzZW5kIDAgdmFsdWUsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdmFsdWVsZXNzVHJhbnNmZXJBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYHNlbmRNYW55KClgIHRvIHBlcmZvcm0gd2FsbGV0IHN3ZWVwLlxuICAgKiBGSVhNRShCRy0zOTczOCk6IGFkZCBjb2luLnN3ZWVwV2FsbGV0KCkgaW5zdGVhZFxuICAgKi9cbiAgc3dlZXBXaXRoU2VuZE1hbnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgZGF0YSBhbG9uZyB3aXRoIHRyYW5zYWN0aW9uc1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgdHggZGF0YSAoRVRIKSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGZvciBkZXRlcm1pbmluZyB3aGV0aGVyIHRoaXMgY29pbiBzdXBwb3J0cyBhY2NvdW50IGNvbnNvbGlkYXRpb25zXG4gICAqIGZyb20gaXRzIHJlY2VpdmUgYWRkcmVzc2VzIHRvIHRoZSByb290IGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gY29uc29saWRhdGUgb3ZlciB0aGlzIGNvaW47IGZhbHNlLCBvdGhlcndpc2VcbiAgICovXG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBjb25maWcgZm9yIGhvdyB0b2tlbiBlbmFibGVtZW50cyB3b3JrIGZvciB0aGlzIGNvaW5cbiAgICogQHJldHVybnNcbiAgICogICAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IFRydWUgaWYgdG9rZW5zIG5lZWQgdG8gYmUgZW5hYmxlZCBmb3IgdGhpcyBjb2luXG4gICAqICAgIHN1cHBvcnRzTXVsdGlwbGVUb2tlbkVuYWJsZW1lbnRzOiBUcnVlIGlmIG11bHRpcGxlIHRva2VucyBjYW4gYmUgZW5hYmxlZCBpbiBvbmUgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuRW5hYmxlbWVudENvbmZpZygpOiBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogZmFsc2UsXG4gICAgICBzdXBwb3J0c011bHRpcGxlVG9rZW5FbmFibGVtZW50czogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhpcyBjb2luIHN1cHBvcnRzIFRTUyB3YWxsZXRzLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBUU1MgV2FsbGV0cyBjYW4gYmUgY3JlYXRlZCBmb3IgdGhpcyBjb2luXG4gICAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIENvaW5GZWF0dXJlLk1VTFRJU0lHIGZyb20gc3RhdGljcyBpbnN0ZWFkXG4gICAqIEZsYWcgaW5kaWNhdGluZyBpZiB0aGlzIGNvaW4gc3VwcG9ydHMgTXVsdGlTaWcgd2FsbGV0cy5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBNdWx0aVNpZyB3YWxsZXRzIGNhbiBiZSBjcmVhdGVkIGZvciB0aGlzIGNvaW5cbiAgICovXG4gIHN1cHBvcnRzTXVsdGlzaWcoKTogYm9vbGVhbiB7XG4gICAgLy8gVXNlIHRoZSBzdGF0aWMgY29pbiBjb25maWd1cmF0aW9uIHRvIGNoZWNrIGlmIE1VTFRJU0lHIGlzIHN1cHBvcnRlZFxuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5NVUxUSVNJRyk7XG4gIH1cblxuICAvKipcbiAgICogSXQgd2lsbCByZXR1cm4gdGhlIGRlZmF1bHQgbXVsdGlzaWcgdHlwZSB2YWx1ZSBmb3IgY29pblxuICAgKiBAcmV0dXJuIHtNdWx0aXNpZ1R5cGV9IHJldHVybiAndHNzJyBpZiBjb2luIHN1cHBvcnRzIG9ubHkgVFNTIG5vdCBNdWx0aVNpZ1xuICAgKiBlbHNlIGlmIGNvaW4gc3VwcG9ydHMgTXVsdGlTaWcgcmV0dXJuICdvbmNoYWluJ1xuICAgKiBpZiBjb2luIHN1cHBvcnRzIGJvdGggcmV0dXJuICdvbmNoYWluJ1xuICAgKiBlbHNlIHVuZGVmaW5lZFxuICAgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBjb2luIHN1cHBvcnRzIGRlcml2aW5nIGEga2V5IHdpdGggYSBzZWVkIChrZXlJRClcbiAgICogdG8gdGhlIHVzZXIvYmFja3VwIGtleXMuXG4gICAqL1xuICBzdXBwb3J0c0Rlcml2ZUtleVdpdGhTZWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyBpZiB0aGlzIGJsb2NrY2hhaW4gcnVucyBvbiBFVk0gYXJjaGl0ZWN0dXJlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgYmxvY2tjaGFpbiBydW5zIG9uIEVWTSBhcmNoaXRlY3R1cmUuXG4gICAqL1xuICBpc0VWTSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRoaXMgY29pbiBzdXBwb3J0cyBCTFMtREtHIHdhbGxldHMuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIEJMUy1ES0cgV2FsbGV0cyBjYW4gYmUgY3JlYXRlZCBmb3IgdGhpcyBjb2luXG4gICAqL1xuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmFjdG9yIGJldHdlZW4gdGhlIGJhc2UgdW5pdCBhbmQgaXRzIHNtYWxsZXN0IHN1YmRpdmlzb25cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBjdXJyZW5jeSBhbW91bnQgcmVwcmVzZW50ZWQgaW4gYmFzZSB1bml0cyAoc2F0b3NoaSwgd2VpLCBhdG9tcywgZHJvcHMsIHN0cm9vcHMpXG4gICAqIHRvIGJpZyB1bml0cyAoYnRjLCBldGgsIHhycCwgeGxtKVxuICAgKi9cbiAgYmFzZVVuaXRzVG9CaWdVbml0cyhiYXNlVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgQmlnTnVtYmVyLnNldCh7IERFQ0lNQUxfUExBQ0VTOiAyNCB9KTtcbiAgICBjb25zdCBkaXZpZGVuZCA9IHRoaXMuZ2V0QmFzZUZhY3RvcigpO1xuICAgIGNvbnN0IGJpZ051bWJlciA9IG5ldyBCaWdOdW1iZXIoYmFzZVVuaXRzKS5kaXZpZGVkQnkoZGl2aWRlbmQpO1xuICAgIC8vIHNldCB0aGUgZm9ybWF0IHNvIGNvbW1hcyBhcmVuJ3QgYWRkZWQgdG8gbGFyZ2UgY29pbiBhbW91bnRzXG4gICAgcmV0dXJuIGJpZ051bWJlci50b0Zvcm1hdChudWxsIGFzIGFueSwgbnVsbCBhcyBhbnksIHsgZ3JvdXBTZXBhcmF0b3I6ICcnLCBkZWNpbWFsU2VwYXJhdG9yOiAnLicgfSk7XG4gIH1cblxuICBjaGVja1JlY2lwaWVudChyZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9KTogdm9pZCB7XG4gICAgaWYgKHJlY2lwaWVudC5hbW91bnQgIT09ICdtYXgnKSB7XG4gICAgICBjb25zdCBhbW91bnQgPSBuZXcgQmlnTnVtYmVyKHJlY2lwaWVudC5hbW91bnQpO1xuICAgICAgaWYgKGFtb3VudC5pc05lZ2F0aXZlKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IGZvciBhbW91bnQgLSBwb3NpdGl2ZSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8gb3IgbnVtZXJpYyBzdHJpbmcgZXhwZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy52YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKSAmJiBhbW91bnQuaXNaZXJvKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IGZvciBhbW91bnQgLSBwb3NpdGl2ZSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8gb3IgbnVtZXJpYyBzdHJpbmcgZXhwZWN0ZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIGN1cnJlbmN5IGFtb3VudCByZXByZXNlbnRlZCBpbiBiaWcgdW5pdHMgKGJ0YywgZXRoLCB4cnAsIHhsbSlcbiAgICogdG8gYmFzZSB1bml0cyAoc2F0b3NoaSwgd2VpLCBhdG9tcywgZHJvcHMsIHN0cm9vcHMpXG4gICAqIEBwYXJhbSBiaWdVbml0c1xuICAgKi9cbiAgYmlnVW5pdHNUb0Jhc2VVbml0cyhiaWdVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gdGhpcy5nZXRCYXNlRmFjdG9yKCk7XG4gICAgY29uc3QgYmlnTnVtYmVyID0gbmV3IEJpZ051bWJlcihiaWdVbml0cykudGltZXMobXVsdGlwbGllcik7XG4gICAgaWYgKCFiaWdOdW1iZXIuaXNJbnRlZ2VyKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm9uLWludGVnZXIgb3V0cHV0IHJlc3VsdGVkIGZyb20gbXVsdGlwbHlpbmcgJHtiaWdVbml0c30gYnkgJHttdWx0aXBsaWVyfWApO1xuICAgIH1cbiAgICByZXR1cm4gYmlnTnVtYmVyLnRvRml4ZWQoMCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcHJvY2VzcyB0aGUgYnVpbGQgcGFyYW1ldGVycyBiZWZvcmUgc2VuZGluZyB0byB0aGUgQVBJXG4gICAqIEBwYXJhbSBidWlsZFBhcmFtc1xuICAgKi9cbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIGJ1aWxkUGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gbWVzc2FnZSB3aXRoIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIGFzeW5jIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHJldHVybiBzaWduTWVzc2FnZShtZXNzYWdlLCBiaXAzMi5mcm9tQmFzZTU4KGtleS5wcnYpLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBzaWduYXR1cmVzIGZvciB0aGUgYmFja3VwIGFuZCBiaXRnbyBrZXlzIHVzaW5nIHRoZSB1c2VyIGtleS5cbiAgICogV2UgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlcyB3aGVuIGZldGNoaW5nIHRoZSBrZXlzIGZyb20gd2FsbGV0LXBsYXRmb3JtIGxhdGVyLlxuICAgKiBDdXJyZW50bHkgb25seSBgQWJzdHJhY3RVdHhvQ29pbmAgaW1wbGVtZW50cyBhbmQgdXNlcyB0aGUgY29tcGxlbWVudGFyeSBgdmVyaWZ5S2V5U2lnbmF0dXJlYCBtZXRob2QuXG4gICAqIEBwYXJhbSBwcnYgLSB0aGUgdXNlciBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0gYmFja3VwS2V5Y2hhaW4gLSBjb250YWlucyB0aGUgYmFja3VwIHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBjb250YWlucyB0aGUgYml0Z28gcHVibGljIGtleVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrdXA6IChhd2FpdCB0aGlzLnNpZ25NZXNzYWdlKHsgcHJ2IH0sIGJhY2t1cEtleWNoYWluLnB1YikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIGJpdGdvOiAoYXdhaXQgdGhpcy5zaWduTWVzc2FnZSh7IHBydiB9LCBiaXRnb0tleWNoYWluLnB1YikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29tcG9zZSBhIHJhdyB0cmFuc2FjdGlvbiBpbnRvIHVzZWZ1bCBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBjb2luLXNwZWNpZmljXG4gICAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24ob3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8SVRyYW5zYWN0aW9uRXhwbGFuYXRpb248YW55LCBzdHJpbmcgfCBudW1iZXI+IHwgdW5kZWZpbmVkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgdGhhdCBhIHRyYW5zYWN0aW9uIHByZWJ1aWxkIGNvbXBsaWVzIHdpdGggdGhlIG9yaWdpbmFsIGludGVudGlvblxuICAgKi9cbiAgYWJzdHJhY3QgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2Uge0BzZWUgaXNXYWxsZXRBZGRyZXNzfSBpbnN0ZWFkXG4gICAqL1xuICB2ZXJpZnlBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1dhbGxldEFkZHJlc3MocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEByZXR1cm4gdHJ1ZSBpZmYgYWRkcmVzcyBpcyBhIHdhbGxldCBhZGRyZXNzLiBNdXN0IHJldHVybiBmYWxzZSBpZiBhZGRyZXNzIGlzIG91dHNpZGUgd2FsbGV0LlxuICAgKi9cbiAgYWJzdHJhY3QgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBjb252ZXJ0IGFkZHJlc3MgaW50byBkZXNpcmVkIGFkZHJlc3MgZm9ybWF0LlxuICAgKiBAcGFyYW0gYWRkcmVzc1xuICAgKiBAcGFyYW0gZm9ybWF0XG4gICAqL1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0PzogdW5rbm93bik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgYmxvY2tUYXJnZXQgZm9yIHRyYW5zYWN0aW9ucyB0byBiZSBpbmNsdWRlZCBpblxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBjb2luIHN1cHBvcnRzIGxpZ2h0bmluZyB0cmFuc2FjdGlvbnNcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBzdXBwb3J0c0xpZ2h0bmluZygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgbWVzc2FnZSBzaWduaW5nXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgc3VwcG9ydHNNZXNzYWdlU2lnbmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgc2lnbmluZyBvZiBUeXBlZCBkYXRhXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIHRvIGFkZCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgdG8gdGhlIHdhbGxldCBnZW5lcmF0aW9uXG4gICAqIEBwYXJhbSB3YWxsZXRQYXJhbXNcbiAgICogQHBhcmFtIGtleWNoYWluc1xuICAgKiBAcmV0dXJuIHsqfVxuICAgKi9cbiAgc3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0KHdhbGxldFBhcmFtczogU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucywga2V5Y2hhaW5zOiBLZXljaGFpbnNUcmlwbGV0KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHdhbGxldFBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGV4dHJhIHBhcmFtZXRlcnMgZm9yIHByZWJ1aWxkaW5nIGEgdHguIEFkZCB0aGluZ3MgbGlrZSBob3AgdHJhbnNhY3Rpb24gcGFyYW1zXG4gICAqL1xuICBnZXRFeHRyYVByZWJ1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zOiBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZnkgcHJlYnVpbGQgYWZ0ZXIgcmVjZWl2aW5nIGl0IGZyb20gdGhlIHNlcnZlci4gQWRkIHRoaW5ncyBsaWtlIG5sb2NrdGltZVxuICAgKi9cbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwcmVidWlsZFJlc3BvbnNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIHRoaW5ncyBkb25lIGJlZm9yZSBzaWduaW5nIGEgdHJhbnNhY3Rpb24sIGkuZS4gdmVyaWZpY2F0aW9uXG4gICAqL1xuICBwcmVzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyB3YWxsZXQgb2JqZWN0IGZyb20gYSB3YWxsZXQgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIHdhbGxldFBhcmFtc1xuICAgKi9cbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogYW55KTogSVdhbGxldCB7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgdGhpcywgd2FsbGV0UGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBmZWUgZXN0aW1hdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgc2VydmVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgVGhlIHBhcmFtcyBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIHtJbnRlZ2VyfSBwYXJhbXMubnVtQmxvY2tzIFRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIHRhcmdldCBmb3IgY29uZm9ybWF0aW9uIChPbmx5IHdvcmtzIGZvciBidGMpXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBpbmZvIHJldHVybmVkIGZyb20gdGhlIG1lcmNoYW50IHNlcnZlclxuICAgKi9cbiAgYXN5bmMgZmVlRXN0aW1hdGUocGFyYW1zOiBGZWVFc3RpbWF0ZU9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSB7fTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5udW1CbG9ja3MpIHtcbiAgICAgIHF1ZXJ5Lm51bUJsb2NrcyA9IHBhcmFtcy5udW1CbG9ja3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCcvdHgvZmVlJykpLnF1ZXJ5KHF1ZXJ5KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29sZCB3YWxsZXQgdG9vbCB1c2VzIHRoaXMgZnVuY3Rpb24gdG8gZGVyaXZlIGFuIGV4dGVuZGVkIGtleSB0aGF0IGlzIGJhc2VkIG9uIHRoZSBwYXNzZWQga2V5IGFuZCBzZWVkXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIHNlZWRcbiAgICogQHJldHVybnMge3trZXk6IHN0cmluZywgZGVyaXZhdGlvblBhdGg6IHN0cmluZ319XG4gICAqL1xuICBzdGF0aWMgZGVyaXZlS2V5V2l0aFNlZWRCaXAzMihcbiAgICBrZXk6IHV0eG9saWIuQklQMzJJbnRlcmZhY2UsXG4gICAgc2VlZDogc3RyaW5nXG4gICk6IHtcbiAgICBrZXk6IHV0eG9saWIuQklQMzJJbnRlcmZhY2U7XG4gICAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgfSB7XG4gICAgZnVuY3Rpb24gc2hhMjU2KGlucHV0KSB7XG4gICAgICByZXR1cm4gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShpbnB1dCkuZGlnZXN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGRlcml2YXRpb25QYXRoSW5wdXQgPSBzaGEyNTYoc2hhMjU2KGAke3NlZWR9YCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBkZXJpdmF0aW9uUGF0aFBhcnRzID0gW1xuICAgICAgcGFyc2VJbnQoZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSgwLCA3KSwgMTYpLFxuICAgICAgcGFyc2VJbnQoZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSg3LCAxNCksIDE2KSxcbiAgICBdO1xuICAgIGNvbnN0IGRlcml2YXRpb25QYXRoID0gJ20vOTk5OTk5LycgKyBkZXJpdmF0aW9uUGF0aFBhcnRzLmpvaW4oJy8nKTtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBrZXkuZGVyaXZlUGF0aChkZXJpdmF0aW9uUGF0aCksXG4gICAgICBkZXJpdmF0aW9uUGF0aCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIHtAc2VlIGRlcml2ZUtleVdpdGhTZWVkQmlwMzJ9ICovXG4gIGRlcml2ZUtleVdpdGhTZWVkKHBhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKToge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IHsga2V5LCBkZXJpdmF0aW9uUGF0aCB9ID0gQmFzZUNvaW4uZGVyaXZlS2V5V2l0aFNlZWRCaXAzMihiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy5rZXkpLCBwYXJhbXMuc2VlZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleToga2V5LnRvQmFzZTU4KCksXG4gICAgICBkZXJpdmF0aW9uUGF0aCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGF0IGtleSB3ZSB3aWxsIG5lZWQgZm9yIHNpZ25pbmcgLSByaWdodCBub3cgd2UganVzdCBuZWVkIHRoZVxuICAgKiB1c2VyIGtleS5cbiAgICovXG4gIGtleUlkc0ZvclNpZ25pbmcoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBbS2V5SW5kaWNlcy5VU0VSXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGJlZm9yZSBhZGRpbmcgYSBiaXRnbyBrZXkuIEJhc2UgY29udHJvbGxlclxuICAgKiBpcyBhIG5vLW9wLCBidXQgY29pbi1zcGVjaWZpYyBjb250cm9sbGVyIG1heSBkbyBzb21ldGhpbmdcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgZ2V0QmlwMzJLZXlzKCkgaW4gY29uanVuY3Rpb24gd2l0aCBpc1ZhbGlkQWRkcmVzcyBpbnN0ZWFkXG4gICAqL1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZXByZWNhdGVkIG1ldGhvZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBpbiBQZW5kaW5nQXBwcm92YWwgZm9yIGNvbXBhcmluZyBQQVlHbyBmZWVzIHB1cnBvc2VcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25zIGZvciBwYXJzaW5nXG4gICAqL1xuICBhYnN0cmFjdCBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPjtcblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBrZXkgcGFpciBvbiB0aGUgY3VydmUgdXNlZCBieSB0aGUgY29pblxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIHNlZWQgdG8gdXNlIGZvciBrZXkgcGFpciBnZW5lcmF0aW9uXG4gICAqIEByZXR1cm5zIHtLZXlQYWlyfSB0aGUgZ2VuZXJhdGVkIGtleSBwYWlyXG4gICAqL1xuICBhYnN0cmFjdCBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcm9vdCBrZXkgcGFpciBvbiB0aGUgY3VydmUgdXNlZCBieSB0aGUgY29pblxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIHNlZWQgdG8gdXNlIGZvciBrZXkgcGFpciBnZW5lcmF0aW9uXG4gICAqIEByZXR1cm5zIHtLZXlQYWlyfSB0aGUgZ2VuZXJhdGVkIGtleSBwYWlyXG4gICAqL1xuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZ2VuZXJhdGVSb290S2V5UGFpciBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaW5wdXQgaXMgdmFsaWQgcHVibGljIGtleSBmb3IgdGhlIGNvaW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwdWIgdGhlIHB1YiB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm5zIHtCb29sZWFufSBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGFic3RyYWN0IGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2V0aGVyIHRoZSBnaXZlbiBtIG9mIG4gd2FsbGV0IHNpZ25lcnMvIGtleSBhbW91bnRzIGFyZSB2YWxpZCBmb3IgdGhlIGNvaW5cbiAgICovXG4gIGlzVmFsaWRNb2ZOU2V0dXAoeyBtLCBuIH06IHsgbT86IG51bWJlcjsgbj86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG0gPT09IDIgJiYgbiA9PT0gMztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBgYWRkcmVzc2AgaXMgYSBwbGF1c2libHkgdmFsaWQgYWRkcmVzcyBmb3IgdGhlIGdpdmVuIGNvaW4uXG4gICAqXG4gICAqIERvZXMgbm90IHZlcmlmeSB0aGF0IHRoZSBhZGRyZXNzIGJlbG9uZ3MgdG8gYSB3YWxsZXQuIEZvciB0aGF0LFxuICAgKiB1c2UgW1t2ZXJpZnlBZGRyZXNzXV1cbiAgICogQHBhcmFtIGFkZHJlc3NcbiAgICovXG4gIGFic3RyYWN0IGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNpZ24gYSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYWJzdHJhY3Qgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwb3J0aW9uIG9mIHRoZSB0cmFuc2FjdGlvbiB0aGF0IG5lZWRzIHRvIGJlIHNpZ25lZCBpbiBCdWZmZXIgZm9ybWF0LlxuICAgKiBPbmx5IG5lZWRlZCBmb3IgY29pbnMgdGhhdCBzdXBwb3J0IGFkZGluZyBzaWduYXR1cmVzIGRpcmVjdGx5IChlLmcuIFRTUykuXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBzZXJpYWxpemVkVHggLSB0aGUgdW5zaWduZWQgdHJhbnNhY3Rpb24gaW4gYnJvYWRjYXN0IGZvcm1hdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxCdWZmZXI+fSAtIHRoZSBwb3J0aW9uIG9mIHRoZSB0cmFuc2FjdGlvbiB0aGF0IG5lZWRzIHRvIGJlIHNpZ25lZFxuICAgKi9cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKHNlcmlhbGl6ZWRUeDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc2VyaWFsaXplZFR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBNUEMgYWxnb3JpdGhtIChlY2RzYSBvciBlZGRzYSkgdXNlZCBmb3IgY29pbnMgdGhhdCBzdXBwb3J0IFRTU1xuICAgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdubyBNUEMgYWxnb3JpdGhtIGlzIGRlZmluZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgYXN5bmMgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigncmVjb3ZlclRva2VuIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgZ2V0SW5zY3JpcHRpb25CdWlsZGVyKHdhbGxldDogV2FsbGV0KTogSUluc2NyaXB0aW9uQnVpbGRlciB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ0luc2NyaXB0aW9uIEJ1aWxkZXIgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZ2V0IGNvaW4gc3BlY2lmaWMgaGFzaCBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRyYW5zYWN0aW9uIGRpZ2VzdHMuXG4gICAqIEByZXR1cm5zIHtAc2VlIEhhc2h9IGhhc2ggZnVuY3Rpb24gaWYgaW1wbGVtZW50ZWQsIG90aGVyd2lzZSB0aHJvd3MgZXhjZXB0aW9uXG4gICAqL1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2dldEhhc2hGdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIGJ1aWxkTmZ0VHJhbnNmZXJEYXRhKHBhcmFtczogQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignYnVpbGROZnRUcmFuc2ZlckRhdGEgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogQnJvYWRjYXN0IGEgdHJhbnNhY3Rpb24gdG8gdGhlIG5ldHdvcmtcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25zIGZvciBicm9hZGNhc3RpbmdcbiAgICogQHJldHVybnMge1Byb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0Pn0gcmVzdWx0IG9mIGJyb2FkY2FzdFxuICAgKiBAdGhyb3dzIHtOb3RJbXBsZW1lbnRlZEVycm9yfSBpZiBub3QgaW1wbGVtZW50ZWRcbiAgICovXG4gIGJyb2FkY2FzdFRyYW5zYWN0aW9uKHBhcmFtczogQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2Jyb2FkY2FzdFRyYW5zYWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZnVuZHMgc3dlZXAgcmVjb3ZlcnkgdHJhbnNhY3Rpb24ocykgd2l0aG91dCBCaXRHb1xuICAgKlxuICAgKiBAcGFyYW0ge01QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zfSBwYXJhbXMgcGFyYW1ldGVycyBuZWVkZWQgdG8gY29tYmluZSB0aGUgc2lnbmF0dXJlc1xuICAgKiBhbmQgdHJhbnNhY3Rpb25zIHRvIGNyZWF0ZSBicm9hZGNhc3RhYmxlIHRyYW5zYWN0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJucyB7TVBDVHhzfSBhcnJheSBvZiB0aGUgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBoZXggc3RyaW5ncyBhbmQgaW5kaWNlc1xuICAgKiBvZiB0aGUgYWRkcmVzc2VzIGJlaW5nIHN3ZXB0XG4gICAqL1xuICBhc3luYyBjcmVhdGVCcm9hZGNhc3RhYmxlU3dlZXBUcmFuc2FjdGlvbihwYXJhbXM6IE1QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zKTogUHJvbWlzZTxNUENUeHM+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignY3JlYXRlQnJvYWRjYXN0YWJsZVN3ZWVwVHJhbnNhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjb2luc3BlY2lmaWMgZmllbGRzIGluIGludGVudCBmcm9tIGlucHV0IHBhcmFtcy5cbiAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gY29pbi1zcGVjaWZpYyBjbGFzc2VzXG4gICAqIHRvIGNvbmZpZ3VyZSB0aGVzZSBmaWVsZHMgaW4gdGhlIGludGVudFxuICAgKiBAcGFyYW0gaW50ZW50IC0gaW50ZW50IGluIHdoaWNoIGNvaW5zcGVjaWZpYyBmaWVsZHMgYXJlIHRvIGJlIHNldFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChpbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXNzZXJ0SXNWYWxpZEtleShwYXJhbXM6IEF1ZGl0S2V5UGFyYW1zKTogdm9pZCB7XG4gICAgbGV0IGRlY3J5cHRlZEtleTogc3RyaW5nO1xuXG4gICAgdHJ5IHtcbiAgICAgIGRlY3J5cHRlZEtleSA9IHNqY2wuZGVjcnlwdChwYXJhbXMud2FsbGV0UGFzc3BocmFzZSwgcGFyYW1zLmVuY3J5cHRlZFBydik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBmYWlsZWQgdG8gZGVjcnlwdCBwcnY6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgICB0aGlzLmF1ZGl0RGVjcnlwdGVkS2V5KHsgLi4ucGFyYW1zLCBwcnY6IGRlY3J5cHRlZEtleSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdWRpdCBpZiBhIGRlY3J5cHRlZCBrZXkgaXMgdmFsaWQuXG4gICAqIEBwYXJhbSB7QXVkaXREZWNyeXB0ZWRLZXlQYXJhbXN9IHBhcmFtcyAtIHBhcmFtZXRlcnMgZm9yIGF1ZGl0aW5nIHRoZSBkZWNyeXB0ZWQga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHJ2IC0gdGhlIGRlY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLnB1YmxpY0tleSAtIHRoZSBwdWJsaWMga2V5LCBvciBjb21tb24ga2V5Y2hhaW5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tdWx0aVNpZ1R5cGUgLSB0aGUgbXVsdGktc2lnIHR5cGUsIGlmIGFwcGxpY2FibGVcbiAgICogQHJldHVybnMge0F1ZGl0S2V5UmVzcG9uc2V9IC0gcmVzdWx0IG9mIHRoZSBhdWRpdFxuICAgKi9cbiAgYWJzdHJhY3QgYXVkaXREZWNyeXB0ZWRLZXkocGFyYW1zOiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQ7XG59XG4iXX0=
|
|
489
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUNvaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vYmFzZUNvaW4vYmFzZUNvaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwrQ0FBaUM7QUFFakMsOERBQWdEO0FBQ2hELG1EQUE2QztBQUM3Qyx1REFBeUM7QUFDekMsK0NBQXlDO0FBQ3pDLGlEQUErRTtBQUcvRSw0Q0FBMkM7QUFDM0MsbURBQXdEO0FBRXhELDhDQUE0QztBQUM1QywwQ0FBb0Q7QUFDcEQsc0NBQW9DO0FBQ3BDLHdEQUFzRDtBQUN0RCxzQ0FBcUQ7QUFDckQsd0NBQXNDO0FBaUN0QyxNQUFzQixRQUFRO0lBWTVCLFlBQXNCLEtBQWdCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLG9CQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksa0JBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGtDQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHdCQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztR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Q0FBQztJQUN0RyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsNkJBQTZCLENBQUMsTUFBdUIsRUFBRSxNQUE0QztRQUNqRyxPQUFPO0lBQ1QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixnQkFBZ0IsQ0FBQyxNQUFzQjtRQUNyQyxJQUFJLFlBQW9CLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0gsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDOztBQXZrQkgsNEJBaWxCQztBQXhrQjJCLG1DQUEwQixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgc2pjbCBmcm9tICdAYml0Z28tYmV0YS9zamNsJztcbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GZWF0dXJlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIH0gZnJvbSAnLi4vcmVjb3ZlcnknO1xuaW1wb3J0IHsgc2lnbk1lc3NhZ2UgfSBmcm9tICcuLi9iaXAzMnV0aWwnO1xuaW1wb3J0IHsgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW5zLCBLZXlJbmRpY2VzIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBQZW5kaW5nQXBwcm92YWxzIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElXYWxsZXQsIFdhbGxldCwgV2FsbGV0cyB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2snO1xuaW1wb3J0IHtcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0LFxuICBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMsXG4gIERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyxcbiAgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMsXG4gIEZlZUVzdGltYXRlT3B0aW9ucyxcbiAgSUJhc2VDb2luLFxuICBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgS2V5Y2hhaW5zVHJpcGxldCxcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgUHJlY3JlYXRlQml0R29PcHRpb25zLFxuICBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbixcbiAgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsXG4gIFRva2VuRW5hYmxlbWVudENvbmZpZyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQXVkaXRLZXlQYXJhbXMsXG4gIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zLFxufSBmcm9tICcuL2lCYXNlQ29pbic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zLCBNUENUeHMsIFBvcHVsYXRlZEludGVudCwgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvaW4gaW1wbGVtZW50cyBJQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF91cmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lbnRlcnByaXNlczogRW50ZXJwcmlzZXM7XG4gIHByb3RlY3RlZCByZWFkb25seSBfd2FsbGV0czogV2FsbGV0cztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9rZXljaGFpbnM6IEtleWNoYWlucztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF93ZWJob29rczogV2ViaG9va3M7XG4gIHByb3RlY3RlZCByZWFkb25seSBfcGVuZGluZ0FwcHJvdmFsczogUGVuZGluZ0FwcHJvdmFscztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9tYXJrZXRzOiBNYXJrZXRzO1xuICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IF9jb2luVG9rZW5QYXR0ZXJuU2VwYXJhdG9yID0gJzonO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuX3VybCA9IHRoaXMuYml0Z28udXJsKCcvJywgMik7XG4gICAgdGhpcy5fd2FsbGV0cyA9IG5ldyBXYWxsZXRzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX2tleWNoYWlucyA9IG5ldyBLZXljaGFpbnModGhpcy5iaXRnbywgdGhpcyk7XG4gICAgdGhpcy5fd2ViaG9va3MgPSBuZXcgV2ViaG9va3ModGhpcy5iaXRnbywgdGhpcyk7XG4gICAgdGhpcy5fcGVuZGluZ0FwcHJvdmFscyA9IG5ldyBQZW5kaW5nQXBwcm92YWxzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX2VudGVycHJpc2VzID0gbmV3IEVudGVycHJpc2VzKHRoaXMuYml0Z28sIHRoaXMpO1xuICAgIHRoaXMuX21hcmtldHMgPSBuZXcgTWFya2V0cyh0aGlzLmJpdGdvLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl91cmwgKyB0aGlzLmdldENoYWluKCkgKyBzdWZmaXg7XG4gIH1cblxuICBwdWJsaWMgd2FsbGV0cygpOiBXYWxsZXRzIHtcbiAgICByZXR1cm4gdGhpcy5fd2FsbGV0cztcbiAgfVxuXG4gIHB1YmxpYyBlbnRlcnByaXNlcygpOiBFbnRlcnByaXNlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGVycHJpc2VzO1xuICB9XG5cbiAgcHVibGljIGtleWNoYWlucygpOiBLZXljaGFpbnMge1xuICAgIHJldHVybiB0aGlzLl9rZXljaGFpbnM7XG4gIH1cblxuICBwdWJsaWMgd2ViaG9va3MoKTogV2ViaG9va3Mge1xuICAgIHJldHVybiB0aGlzLl93ZWJob29rcztcbiAgfVxuXG4gIHB1YmxpYyBwZW5kaW5nQXBwcm92YWxzKCk6IFBlbmRpbmdBcHByb3ZhbHMge1xuICAgIHJldHVybiB0aGlzLl9wZW5kaW5nQXBwcm92YWxzO1xuICB9XG5cbiAgcHVibGljIG1hcmtldHMoKTogTWFya2V0cyB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtldHM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBjb2luVG9rZW5QYXR0ZXJuU2VwYXJhdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvaW5Ub2tlblBhdHRlcm5TZXBhcmF0b3I7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGFpbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YXRpY3MgY29pbiBvYmplY3RcbiAgICogQHJldHVybnMge1JlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj59IHRoZSBzdGF0aWNzIGNvaW4gb2JqZWN0XG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGNoYWluIHdoaWNoIHN1cHBvcnRzIHRoaXMgY29pbiAoZWcsICdidGMnLCAnZXRoJylcbiAgICovXG4gIGFic3RyYWN0IGdldENoYWluKCk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29pbiBmYW1pbHkgKGVnLiBmb3IgdGJ0YywgdGhpcyB3b3VsZCBiZSBidGMpXG4gICAqL1xuICBhYnN0cmFjdCBnZXRGYW1pbHkoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIdW1hbiByZWFkYWJsZSBmdWxsIG5hbWUgZm9yIHRoZSBjb2luXG4gICAqL1xuICBhYnN0cmFjdCBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgdmFsdWUgb2YgMC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgb2theSB0byBzZW5kIDAgdmFsdWUsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdmFsdWVsZXNzVHJhbnNmZXJBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYHNlbmRNYW55KClgIHRvIHBlcmZvcm0gd2FsbGV0IHN3ZWVwLlxuICAgKiBGSVhNRShCRy0zOTczOCk6IGFkZCBjb2luLnN3ZWVwV2FsbGV0KCkgaW5zdGVhZFxuICAgKi9cbiAgc3dlZXBXaXRoU2VuZE1hbnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgZGF0YSBhbG9uZyB3aXRoIHRyYW5zYWN0aW9uc1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgdHggZGF0YSAoRVRIKSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB0cmFuc2FjdGlvbkRhdGFBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGZvciBkZXRlcm1pbmluZyB3aGV0aGVyIHRoaXMgY29pbiBzdXBwb3J0cyBhY2NvdW50IGNvbnNvbGlkYXRpb25zXG4gICAqIGZyb20gaXRzIHJlY2VpdmUgYWRkcmVzc2VzIHRvIHRoZSByb290IGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gY29uc29saWRhdGUgb3ZlciB0aGlzIGNvaW47IGZhbHNlLCBvdGhlcndpc2VcbiAgICovXG4gIGFsbG93c0FjY291bnRDb25zb2xpZGF0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBjb25maWcgZm9yIGhvdyB0b2tlbiBlbmFibGVtZW50cyB3b3JrIGZvciB0aGlzIGNvaW5cbiAgICogQHJldHVybnNcbiAgICogICAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IFRydWUgaWYgdG9rZW5zIG5lZWQgdG8gYmUgZW5hYmxlZCBmb3IgdGhpcyBjb2luXG4gICAqICAgIHN1cHBvcnRzTXVsdGlwbGVUb2tlbkVuYWJsZW1lbnRzOiBUcnVlIGlmIG11bHRpcGxlIHRva2VucyBjYW4gYmUgZW5hYmxlZCBpbiBvbmUgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuRW5hYmxlbWVudENvbmZpZygpOiBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogZmFsc2UsXG4gICAgICBzdXBwb3J0c011bHRpcGxlVG9rZW5FbmFibGVtZW50czogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhpcyBjb2luIHN1cHBvcnRzIFRTUyB3YWxsZXRzLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBUU1MgV2FsbGV0cyBjYW4gYmUgY3JlYXRlZCBmb3IgdGhpcyBjb2luXG4gICAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIENvaW5GZWF0dXJlLk1VTFRJU0lHIGZyb20gc3RhdGljcyBpbnN0ZWFkXG4gICAqIEZsYWcgaW5kaWNhdGluZyBpZiB0aGlzIGNvaW4gc3VwcG9ydHMgTXVsdGlTaWcgd2FsbGV0cy5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBNdWx0aVNpZyB3YWxsZXRzIGNhbiBiZSBjcmVhdGVkIGZvciB0aGlzIGNvaW5cbiAgICovXG4gIHN1cHBvcnRzTXVsdGlzaWcoKTogYm9vbGVhbiB7XG4gICAgLy8gVXNlIHRoZSBzdGF0aWMgY29pbiBjb25maWd1cmF0aW9uIHRvIGNoZWNrIGlmIE1VTFRJU0lHIGlzIHN1cHBvcnRlZFxuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mZWF0dXJlcy5pbmNsdWRlcyhDb2luRmVhdHVyZS5NVUxUSVNJRyk7XG4gIH1cblxuICAvKipcbiAgICogSXQgd2lsbCByZXR1cm4gdGhlIGRlZmF1bHQgbXVsdGlzaWcgdHlwZSB2YWx1ZSBmb3IgY29pblxuICAgKiBAcmV0dXJuIHtNdWx0aXNpZ1R5cGV9IHJldHVybiAndHNzJyBpZiBjb2luIHN1cHBvcnRzIG9ubHkgVFNTIG5vdCBNdWx0aVNpZ1xuICAgKiBlbHNlIGlmIGNvaW4gc3VwcG9ydHMgTXVsdGlTaWcgcmV0dXJuICdvbmNoYWluJ1xuICAgKiBpZiBjb2luIHN1cHBvcnRzIGJvdGggcmV0dXJuICdvbmNoYWluJ1xuICAgKiBlbHNlIHVuZGVmaW5lZFxuICAgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBjb2luIHN1cHBvcnRzIGRlcml2aW5nIGEga2V5IHdpdGggYSBzZWVkIChrZXlJRClcbiAgICogdG8gdGhlIHVzZXIvYmFja3VwIGtleXMuXG4gICAqL1xuICBzdXBwb3J0c0Rlcml2ZUtleVdpdGhTZWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyBpZiB0aGlzIGJsb2NrY2hhaW4gcnVucyBvbiBFVk0gYXJjaGl0ZWN0dXJlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgYmxvY2tjaGFpbiBydW5zIG9uIEVWTSBhcmNoaXRlY3R1cmUuXG4gICAqL1xuICBpc0VWTSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRoaXMgY29pbiBzdXBwb3J0cyBCTFMtREtHIHdhbGxldHMuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIEJMUy1ES0cgV2FsbGV0cyBjYW4gYmUgY3JlYXRlZCBmb3IgdGhpcyBjb2luXG4gICAqL1xuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmFjdG9yIGJldHdlZW4gdGhlIGJhc2UgdW5pdCBhbmQgaXRzIHNtYWxsZXN0IHN1YmRpdmlzb25cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBjdXJyZW5jeSBhbW91bnQgcmVwcmVzZW50ZWQgaW4gYmFzZSB1bml0cyAoc2F0b3NoaSwgd2VpLCBhdG9tcywgZHJvcHMsIHN0cm9vcHMpXG4gICAqIHRvIGJpZyB1bml0cyAoYnRjLCBldGgsIHhycCwgeGxtKVxuICAgKi9cbiAgYmFzZVVuaXRzVG9CaWdVbml0cyhiYXNlVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgQmlnTnVtYmVyLnNldCh7IERFQ0lNQUxfUExBQ0VTOiAyNCB9KTtcbiAgICBjb25zdCBkaXZpZGVuZCA9IHRoaXMuZ2V0QmFzZUZhY3RvcigpO1xuICAgIGNvbnN0IGJpZ051bWJlciA9IG5ldyBCaWdOdW1iZXIoYmFzZVVuaXRzKS5kaXZpZGVkQnkoZGl2aWRlbmQpO1xuICAgIC8vIHNldCB0aGUgZm9ybWF0IHNvIGNvbW1hcyBhcmVuJ3QgYWRkZWQgdG8gbGFyZ2UgY29pbiBhbW91bnRzXG4gICAgcmV0dXJuIGJpZ051bWJlci50b0Zvcm1hdChudWxsIGFzIGFueSwgbnVsbCBhcyBhbnksIHsgZ3JvdXBTZXBhcmF0b3I6ICcnLCBkZWNpbWFsU2VwYXJhdG9yOiAnLicgfSk7XG4gIH1cblxuICBjaGVja1JlY2lwaWVudChyZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9KTogdm9pZCB7XG4gICAgaWYgKHJlY2lwaWVudC5hbW91bnQgIT09ICdtYXgnKSB7XG4gICAgICBjb25zdCBhbW91bnQgPSBuZXcgQmlnTnVtYmVyKHJlY2lwaWVudC5hbW91bnQpO1xuICAgICAgaWYgKGFtb3VudC5pc05lZ2F0aXZlKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IGZvciBhbW91bnQgLSBwb3NpdGl2ZSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8gb3IgbnVtZXJpYyBzdHJpbmcgZXhwZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy52YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKSAmJiBhbW91bnQuaXNaZXJvKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IGZvciBhbW91bnQgLSBwb3NpdGl2ZSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8gb3IgbnVtZXJpYyBzdHJpbmcgZXhwZWN0ZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIGN1cnJlbmN5IGFtb3VudCByZXByZXNlbnRlZCBpbiBiaWcgdW5pdHMgKGJ0YywgZXRoLCB4cnAsIHhsbSlcbiAgICogdG8gYmFzZSB1bml0cyAoc2F0b3NoaSwgd2VpLCBhdG9tcywgZHJvcHMsIHN0cm9vcHMpXG4gICAqIEBwYXJhbSBiaWdVbml0c1xuICAgKi9cbiAgYmlnVW5pdHNUb0Jhc2VVbml0cyhiaWdVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gdGhpcy5nZXRCYXNlRmFjdG9yKCk7XG4gICAgY29uc3QgYmlnTnVtYmVyID0gbmV3IEJpZ051bWJlcihiaWdVbml0cykudGltZXMobXVsdGlwbGllcik7XG4gICAgaWYgKCFiaWdOdW1iZXIuaXNJbnRlZ2VyKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm9uLWludGVnZXIgb3V0cHV0IHJlc3VsdGVkIGZyb20gbXVsdGlwbHlpbmcgJHtiaWdVbml0c30gYnkgJHttdWx0aXBsaWVyfWApO1xuICAgIH1cbiAgICByZXR1cm4gYmlnTnVtYmVyLnRvRml4ZWQoMCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcHJvY2VzcyB0aGUgYnVpbGQgcGFyYW1ldGVycyBiZWZvcmUgc2VuZGluZyB0byB0aGUgQVBJXG4gICAqIEBwYXJhbSBidWlsZFBhcmFtc1xuICAgKi9cbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIGJ1aWxkUGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gbWVzc2FnZSB3aXRoIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIGFzeW5jIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICAgIHJldHVybiBzaWduTWVzc2FnZShtZXNzYWdlLCBiaXAzMi5mcm9tQmFzZTU4KGtleS5wcnYpLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBzaWduYXR1cmVzIGZvciB0aGUgYmFja3VwIGFuZCBiaXRnbyBrZXlzIHVzaW5nIHRoZSB1c2VyIGtleS5cbiAgICogV2UgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlcyB3aGVuIGZldGNoaW5nIHRoZSBrZXlzIGZyb20gd2FsbGV0LXBsYXRmb3JtIGxhdGVyLlxuICAgKiBDdXJyZW50bHkgb25seSBgQWJzdHJhY3RVdHhvQ29pbmAgaW1wbGVtZW50cyBhbmQgdXNlcyB0aGUgY29tcGxlbWVudGFyeSBgdmVyaWZ5S2V5U2lnbmF0dXJlYCBtZXRob2QuXG4gICAqIEBwYXJhbSBwcnYgLSB0aGUgdXNlciBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0gYmFja3VwS2V5Y2hhaW4gLSBjb250YWlucyB0aGUgYmFja3VwIHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBjb250YWlucyB0aGUgYml0Z28gcHVibGljIGtleVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrdXA6IChhd2FpdCB0aGlzLnNpZ25NZXNzYWdlKHsgcHJ2IH0sIGJhY2t1cEtleWNoYWluLnB1YikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIGJpdGdvOiAoYXdhaXQgdGhpcy5zaWduTWVzc2FnZSh7IHBydiB9LCBiaXRnb0tleWNoYWluLnB1YikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29tcG9zZSBhIHJhdyB0cmFuc2FjdGlvbiBpbnRvIHVzZWZ1bCBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBjb2luLXNwZWNpZmljXG4gICAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24ob3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8SVRyYW5zYWN0aW9uRXhwbGFuYXRpb248YW55LCBzdHJpbmcgfCBudW1iZXI+IHwgdW5kZWZpbmVkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgdGhhdCBhIHRyYW5zYWN0aW9uIHByZWJ1aWxkIGNvbXBsaWVzIHdpdGggdGhlIG9yaWdpbmFsIGludGVudGlvblxuICAgKi9cbiAgYWJzdHJhY3QgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2Uge0BzZWUgaXNXYWxsZXRBZGRyZXNzfSBpbnN0ZWFkXG4gICAqL1xuICB2ZXJpZnlBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1dhbGxldEFkZHJlc3MocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEByZXR1cm4gdHJ1ZSBpZmYgYWRkcmVzcyBpcyBhIHdhbGxldCBhZGRyZXNzLiBNdXN0IHJldHVybiBmYWxzZSBpZiBhZGRyZXNzIGlzIG91dHNpZGUgd2FsbGV0LlxuICAgKi9cbiAgYWJzdHJhY3QgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBjb252ZXJ0IGFkZHJlc3MgaW50byBkZXNpcmVkIGFkZHJlc3MgZm9ybWF0LlxuICAgKiBAcGFyYW0gYWRkcmVzc1xuICAgKiBAcGFyYW0gZm9ybWF0XG4gICAqL1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0PzogdW5rbm93bik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgYmxvY2tUYXJnZXQgZm9yIHRyYW5zYWN0aW9ucyB0byBiZSBpbmNsdWRlZCBpblxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBjb2luIHN1cHBvcnRzIGxpZ2h0bmluZyB0cmFuc2FjdGlvbnNcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBzdXBwb3J0c0xpZ2h0bmluZygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgbWVzc2FnZSBzaWduaW5nXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgc3VwcG9ydHNNZXNzYWdlU2lnbmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBhIGNvaW4gc3VwcG9ydHMgc2lnbmluZyBvZiBUeXBlZCBkYXRhXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIHRvIGFkZCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgdG8gdGhlIHdhbGxldCBnZW5lcmF0aW9uXG4gICAqIEBwYXJhbSB3YWxsZXRQYXJhbXNcbiAgICogQHBhcmFtIGtleWNoYWluc1xuICAgKiBAcmV0dXJuIHsqfVxuICAgKi9cbiAgc3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0KHdhbGxldFBhcmFtczogU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucywga2V5Y2hhaW5zOiBLZXljaGFpbnNUcmlwbGV0KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHdhbGxldFBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGV4dHJhIHBhcmFtZXRlcnMgZm9yIHByZWJ1aWxkaW5nIGEgdHguIEFkZCB0aGluZ3MgbGlrZSBob3AgdHJhbnNhY3Rpb24gcGFyYW1zXG4gICAqL1xuICBnZXRFeHRyYVByZWJ1aWxkUGFyYW1zKGJ1aWxkUGFyYW1zOiBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZnkgcHJlYnVpbGQgYWZ0ZXIgcmVjZWl2aW5nIGl0IGZyb20gdGhlIHNlcnZlci4gQWRkIHRoaW5ncyBsaWtlIG5sb2NrdGltZVxuICAgKi9cbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwcmVidWlsZFJlc3BvbnNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2luLXNwZWNpZmljIHRoaW5ncyBkb25lIGJlZm9yZSBzaWduaW5nIGEgdHJhbnNhY3Rpb24sIGkuZS4gdmVyaWZpY2F0aW9uXG4gICAqL1xuICBwcmVzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVzaWduVHJhbnNhY3Rpb25PcHRpb25zPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyB3YWxsZXQgb2JqZWN0IGZyb20gYSB3YWxsZXQgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIHdhbGxldFBhcmFtc1xuICAgKi9cbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogYW55KTogSVdhbGxldCB7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgdGhpcywgd2FsbGV0UGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBmZWUgZXN0aW1hdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgc2VydmVyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgVGhlIHBhcmFtcyBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIHtJbnRlZ2VyfSBwYXJhbXMubnVtQmxvY2tzIFRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIHRhcmdldCBmb3IgY29uZm9ybWF0aW9uIChPbmx5IHdvcmtzIGZvciBidGMpXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBpbmZvIHJldHVybmVkIGZyb20gdGhlIG1lcmNoYW50IHNlcnZlclxuICAgKi9cbiAgYXN5bmMgZmVlRXN0aW1hdGUocGFyYW1zOiBGZWVFc3RpbWF0ZU9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSB7fTtcbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5udW1CbG9ja3MpIHtcbiAgICAgIHF1ZXJ5Lm51bUJsb2NrcyA9IHBhcmFtcy5udW1CbG9ja3M7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCcvdHgvZmVlJykpLnF1ZXJ5KHF1ZXJ5KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29sZCB3YWxsZXQgdG9vbCB1c2VzIHRoaXMgZnVuY3Rpb24gdG8gZGVyaXZlIGFuIGV4dGVuZGVkIGtleSB0aGF0IGlzIGJhc2VkIG9uIHRoZSBwYXNzZWQga2V5IGFuZCBzZWVkXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIHNlZWRcbiAgICogQHJldHVybnMge3trZXk6IHN0cmluZywgZGVyaXZhdGlvblBhdGg6IHN0cmluZ319XG4gICAqL1xuICBzdGF0aWMgZGVyaXZlS2V5V2l0aFNlZWRCaXAzMihcbiAgICBrZXk6IHV0eG9saWIuQklQMzJJbnRlcmZhY2UsXG4gICAgc2VlZDogc3RyaW5nXG4gICk6IHtcbiAgICBrZXk6IHV0eG9saWIuQklQMzJJbnRlcmZhY2U7XG4gICAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgfSB7XG4gICAgZnVuY3Rpb24gc2hhMjU2KGlucHV0KSB7XG4gICAgICByZXR1cm4gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShpbnB1dCkuZGlnZXN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGRlcml2YXRpb25QYXRoSW5wdXQgPSBzaGEyNTYoc2hhMjU2KGAke3NlZWR9YCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBkZXJpdmF0aW9uUGF0aFBhcnRzID0gW1xuICAgICAgcGFyc2VJbnQoZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSgwLCA3KSwgMTYpLFxuICAgICAgcGFyc2VJbnQoZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSg3LCAxNCksIDE2KSxcbiAgICBdO1xuICAgIGNvbnN0IGRlcml2YXRpb25QYXRoID0gJ20vOTk5OTk5LycgKyBkZXJpdmF0aW9uUGF0aFBhcnRzLmpvaW4oJy8nKTtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiBrZXkuZGVyaXZlUGF0aChkZXJpdmF0aW9uUGF0aCksXG4gICAgICBkZXJpdmF0aW9uUGF0aCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIHtAc2VlIGRlcml2ZUtleVdpdGhTZWVkQmlwMzJ9ICovXG4gIGRlcml2ZUtleVdpdGhTZWVkKHBhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKToge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IHsga2V5LCBkZXJpdmF0aW9uUGF0aCB9ID0gQmFzZUNvaW4uZGVyaXZlS2V5V2l0aFNlZWRCaXAzMihiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy5rZXkpLCBwYXJhbXMuc2VlZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleToga2V5LnRvQmFzZTU4KCksXG4gICAgICBkZXJpdmF0aW9uUGF0aCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGF0IGtleSB3ZSB3aWxsIG5lZWQgZm9yIHNpZ25pbmcgLSByaWdodCBub3cgd2UganVzdCBuZWVkIHRoZVxuICAgKiB1c2VyIGtleS5cbiAgICovXG4gIGtleUlkc0ZvclNpZ25pbmcoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBbS2V5SW5kaWNlcy5VU0VSXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGJlZm9yZSBhZGRpbmcgYSBiaXRnbyBrZXkuIEJhc2UgY29udHJvbGxlclxuICAgKiBpcyBhIG5vLW9wLCBidXQgY29pbi1zcGVjaWZpYyBjb250cm9sbGVyIG1heSBkbyBzb21ldGhpbmdcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgZ2V0QmlwMzJLZXlzKCkgaW4gY29uanVuY3Rpb24gd2l0aCBpc1ZhbGlkQWRkcmVzcyBpbnN0ZWFkXG4gICAqL1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZXByZWNhdGVkIG1ldGhvZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBpbiBQZW5kaW5nQXBwcm92YWwgZm9yIGNvbXBhcmluZyBQQVlHbyBmZWVzIHB1cnBvc2VcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25zIGZvciBwYXJzaW5nXG4gICAqL1xuICBhYnN0cmFjdCBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPjtcblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBrZXkgcGFpciBvbiB0aGUgY3VydmUgdXNlZCBieSB0aGUgY29pblxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIHNlZWQgdG8gdXNlIGZvciBrZXkgcGFpciBnZW5lcmF0aW9uXG4gICAqIEByZXR1cm5zIHtLZXlQYWlyfSB0aGUgZ2VuZXJhdGVkIGtleSBwYWlyXG4gICAqL1xuICBhYnN0cmFjdCBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXI7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcm9vdCBrZXkgcGFpciBvbiB0aGUgY3VydmUgdXNlZCBieSB0aGUgY29pblxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIHNlZWQgdG8gdXNlIGZvciBrZXkgcGFpciBnZW5lcmF0aW9uXG4gICAqIEByZXR1cm5zIHtLZXlQYWlyfSB0aGUgZ2VuZXJhdGVkIGtleSBwYWlyXG4gICAqL1xuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZ2VuZXJhdGVSb290S2V5UGFpciBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgaW5wdXQgaXMgdmFsaWQgcHVibGljIGtleSBmb3IgdGhlIGNvaW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwdWIgdGhlIHB1YiB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm5zIHtCb29sZWFufSBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGFic3RyYWN0IGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2V0aGVyIHRoZSBnaXZlbiBtIG9mIG4gd2FsbGV0IHNpZ25lcnMvIGtleSBhbW91bnRzIGFyZSB2YWxpZCBmb3IgdGhlIGNvaW5cbiAgICovXG4gIGlzVmFsaWRNb2ZOU2V0dXAoeyBtLCBuIH06IHsgbT86IG51bWJlcjsgbj86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG0gPT09IDIgJiYgbiA9PT0gMztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBgYWRkcmVzc2AgaXMgYSBwbGF1c2libHkgdmFsaWQgYWRkcmVzcyBmb3IgdGhlIGdpdmVuIGNvaW4uXG4gICAqXG4gICAqIERvZXMgbm90IHZlcmlmeSB0aGF0IHRoZSBhZGRyZXNzIGJlbG9uZ3MgdG8gYSB3YWxsZXQuIEZvciB0aGF0LFxuICAgKiB1c2UgW1t2ZXJpZnlBZGRyZXNzXV1cbiAgICogQHBhcmFtIGFkZHJlc3NcbiAgICovXG4gIGFic3RyYWN0IGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNpZ24gYSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYWJzdHJhY3Qgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwb3J0aW9uIG9mIHRoZSB0cmFuc2FjdGlvbiB0aGF0IG5lZWRzIHRvIGJlIHNpZ25lZCBpbiBCdWZmZXIgZm9ybWF0LlxuICAgKiBPbmx5IG5lZWRlZCBmb3IgY29pbnMgdGhhdCBzdXBwb3J0IGFkZGluZyBzaWduYXR1cmVzIGRpcmVjdGx5IChlLmcuIFRTUykuXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBzZXJpYWxpemVkVHggLSB0aGUgdW5zaWduZWQgdHJhbnNhY3Rpb24gaW4gYnJvYWRjYXN0IGZvcm1hdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxCdWZmZXI+fSAtIHRoZSBwb3J0aW9uIG9mIHRoZSB0cmFuc2FjdGlvbiB0aGF0IG5lZWRzIHRvIGJlIHNpZ25lZFxuICAgKi9cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKHNlcmlhbGl6ZWRUeDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc2VyaWFsaXplZFR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBNUEMgYWxnb3JpdGhtIChlY2RzYSBvciBlZGRzYSkgdXNlZCBmb3IgY29pbnMgdGhhdCBzdXBwb3J0IFRTU1xuICAgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdubyBNUEMgYWxnb3JpdGhtIGlzIGRlZmluZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgYXN5bmMgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigncmVjb3ZlclRva2VuIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgZ2V0SW5zY3JpcHRpb25CdWlsZGVyKHdhbGxldDogV2FsbGV0KTogSUluc2NyaXB0aW9uQnVpbGRlciB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ0luc2NyaXB0aW9uIEJ1aWxkZXIgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZ2V0IGNvaW4gc3BlY2lmaWMgaGFzaCBmdW5jdGlvbiB1c2VkIHRvIGdlbmVyYXRlIHRyYW5zYWN0aW9uIGRpZ2VzdHMuXG4gICAqIEByZXR1cm5zIHtAc2VlIEhhc2h9IGhhc2ggZnVuY3Rpb24gaWYgaW1wbGVtZW50ZWQsIG90aGVyd2lzZSB0aHJvd3MgZXhjZXB0aW9uXG4gICAqL1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2dldEhhc2hGdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIGJ1aWxkTmZ0VHJhbnNmZXJEYXRhKHBhcmFtczogQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignYnVpbGROZnRUcmFuc2ZlckRhdGEgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogQnJvYWRjYXN0IGEgdHJhbnNhY3Rpb24gdG8gdGhlIG5ldHdvcmtcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25zIGZvciBicm9hZGNhc3RpbmdcbiAgICogQHJldHVybnMge1Byb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0Pn0gcmVzdWx0IG9mIGJyb2FkY2FzdFxuICAgKiBAdGhyb3dzIHtOb3RJbXBsZW1lbnRlZEVycm9yfSBpZiBub3QgaW1wbGVtZW50ZWRcbiAgICovXG4gIGJyb2FkY2FzdFRyYW5zYWN0aW9uKHBhcmFtczogQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8QmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2Jyb2FkY2FzdFRyYW5zYWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29pbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZnVuZHMgc3dlZXAgcmVjb3ZlcnkgdHJhbnNhY3Rpb24ocykgd2l0aG91dCBCaXRHb1xuICAgKlxuICAgKiBAcGFyYW0ge01QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zfSBwYXJhbXMgcGFyYW1ldGVycyBuZWVkZWQgdG8gY29tYmluZSB0aGUgc2lnbmF0dXJlc1xuICAgKiBhbmQgdHJhbnNhY3Rpb25zIHRvIGNyZWF0ZSBicm9hZGNhc3RhYmxlIHRyYW5zYWN0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJucyB7TVBDVHhzfSBhcnJheSBvZiB0aGUgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBoZXggc3RyaW5ncyBhbmQgaW5kaWNlc1xuICAgKiBvZiB0aGUgYWRkcmVzc2VzIGJlaW5nIHN3ZXB0XG4gICAqL1xuICBhc3luYyBjcmVhdGVCcm9hZGNhc3RhYmxlU3dlZXBUcmFuc2FjdGlvbihwYXJhbXM6IE1QQ1N3ZWVwUmVjb3ZlcnlPcHRpb25zKTogUHJvbWlzZTxNUENUeHM+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignY3JlYXRlQnJvYWRjYXN0YWJsZVN3ZWVwVHJhbnNhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjb2luJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjb2luc3BlY2lmaWMgZmllbGRzIGluIGludGVudCBmcm9tIGlucHV0IHBhcmFtcy5cbiAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIG92ZXJyaWRkZW4gaW4gY29pbi1zcGVjaWZpYyBjbGFzc2VzXG4gICAqIHRvIGNvbmZpZ3VyZSB0aGVzZSBmaWVsZHMgaW4gdGhlIGludGVudFxuICAgKiBAcGFyYW0gaW50ZW50IC0gaW50ZW50IGluIHdoaWNoIGNvaW5zcGVjaWZpYyBmaWVsZHMgYXJlIHRvIGJlIHNldFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBzZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChpbnRlbnQ6IFBvcHVsYXRlZEludGVudCwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXNzZXJ0SXNWYWxpZEtleShwYXJhbXM6IEF1ZGl0S2V5UGFyYW1zKTogdm9pZCB7XG4gICAgbGV0IGRlY3J5cHRlZEtleTogc3RyaW5nO1xuXG4gICAgdHJ5IHtcbiAgICAgIGRlY3J5cHRlZEtleSA9IHNqY2wuZGVjcnlwdChwYXJhbXMud2FsbGV0UGFzc3BocmFzZSwgcGFyYW1zLmVuY3J5cHRlZFBydik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBmYWlsZWQgdG8gZGVjcnlwdCBwcnY6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgICB0aGlzLmF1ZGl0RGVjcnlwdGVkS2V5KHsgLi4ucGFyYW1zLCBwcnY6IGRlY3J5cHRlZEtleSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdWRpdCBpZiBhIGRlY3J5cHRlZCBrZXkgaXMgdmFsaWQuXG4gICAqIEBwYXJhbSB7QXVkaXREZWNyeXB0ZWRLZXlQYXJhbXN9IHBhcmFtcyAtIHBhcmFtZXRlcnMgZm9yIGF1ZGl0aW5nIHRoZSBkZWNyeXB0ZWQga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHJ2IC0gdGhlIGRlY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLnB1YmxpY0tleSAtIHRoZSBwdWJsaWMga2V5LCBvciBjb21tb24ga2V5Y2hhaW5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tdWx0aVNpZ1R5cGUgLSB0aGUgbXVsdGktc2lnIHR5cGUsIGlmIGFwcGxpY2FibGVcbiAgICovXG4gIGFic3RyYWN0IGF1ZGl0RGVjcnlwdGVkS2V5KHBhcmFtczogQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMpOiB2b2lkO1xufVxuIl19
|