@bitgo-beta/sdk-api 1.10.1-beta.2058 → 1.10.1-beta.2059
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/package.json +8 -8
- package/dist/src/api.d.ts +10 -1
- package/dist/src/api.d.ts.map +1 -1
- package/dist/src/api.js +18 -1
- package/dist/src/bitgoAPI.js +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/test/unit/api.js +25 -1
- package/dist/test/unit/hmacStrategy.js +1 -1
- package/dist/test/unit/serializeRequestDataIntegration.d.ts +2 -0
- package/dist/test/unit/serializeRequestDataIntegration.d.ts.map +1 -0
- package/dist/test/unit/serializeRequestDataIntegration.js +115 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
package/dist/src/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type Agent } from 'http';
|
|
|
4
4
|
export type Constants = Record<string, any>;
|
|
5
5
|
declare const patchedRequestMethods: readonly ["get", "post", "put", "del", "patch", "options"];
|
|
6
6
|
export type RequestMethods = (typeof patchedRequestMethods)[number];
|
|
7
|
-
export type AdditionalHeadersCallback = (method: RequestMethods, url: string, data?: string) => Array<{
|
|
7
|
+
export type AdditionalHeadersCallback = (method: RequestMethods, url: string, data?: string | Buffer) => Array<{
|
|
8
8
|
key: string;
|
|
9
9
|
value: string;
|
|
10
10
|
}>;
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C,QAAA,MAAM,qBAAqB,4DAA6D,CAAC;AACzF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,yBAAyB,GAAG,CACtC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js
CHANGED
|
@@ -4,4 +4,4 @@ exports.supportedRequestMethods = void 0;
|
|
|
4
4
|
const patchedRequestMethods = ['get', 'post', 'put', 'del', 'patch', 'options'];
|
|
5
5
|
var sdk_hmac_1 = require("@bitgo-beta/sdk-hmac");
|
|
6
6
|
Object.defineProperty(exports, "supportedRequestMethods", { enumerable: true, get: function () { return sdk_hmac_1.supportedRequestMethods; } });
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFRekYsaURBVThCO0FBSDVCLG1IQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5jcnlwdGlvblZlcnNpb24sIEVudmlyb25tZW50TmFtZSwgSVJlcXVlc3RUcmFjZXIsIFYxTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEVDUGFpckludGVyZmFjZSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IHR5cGUgQWdlbnQgfSBmcm9tICdodHRwJztcblxuZXhwb3J0IHR5cGUgQ29uc3RhbnRzID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuY29uc3QgcGF0Y2hlZFJlcXVlc3RNZXRob2RzID0gWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsJywgJ3BhdGNoJywgJ29wdGlvbnMnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJlcXVlc3RNZXRob2RzID0gKHR5cGVvZiBwYXRjaGVkUmVxdWVzdE1ldGhvZHMpW251bWJlcl07XG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsSGVhZGVyc0NhbGxiYWNrID0gKFxuICBtZXRob2Q6IFJlcXVlc3RNZXRob2RzLFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YT86IHN0cmluZ1xuKSA9PiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+O1xuXG5leHBvcnQge1xuICBBdXRoVmVyc2lvbixcbiAgQ2FsY3VsYXRlSG1hY1N1YmplY3RPcHRpb25zLFxuICBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIbWFjT3B0aW9ucyxcbiAgSUhtYWNBdXRoU3RyYXRlZ3ksXG4gIFJlcXVlc3RIZWFkZXJzLFxuICBzdXBwb3J0ZWRSZXF1ZXN0TWV0aG9kcyxcbiAgVmVyaWZ5UmVzcG9uc2VJbmZvLFxuICBWZXJpZnlSZXNwb25zZU9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1obWFjJztcblxuaW1wb3J0IHR5cGUgeyBJSG1hY0F1dGhTdHJhdGVneSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1obWFjJztcblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb0FQSU9wdGlvbnMge1xuICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgYXV0aFZlcnNpb24/OiAyIHwgMztcbiAgaG1hY0F1dGhTdHJhdGVneT86IElIbWFjQXV0aFN0cmF0ZWd5O1xuICBjbGllbnRDb25zdGFudHM/OlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwge1xuICAgICAgICBjb25zdGFudHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgIH07XG4gIGN1c3RvbUJpdGNvaW5OZXR3b3JrPzogVjFOZXR3b3JrO1xuICBjdXN0b21Sb290VVJJPzogc3RyaW5nO1xuICBjdXN0b21TaWduaW5nQWRkcmVzcz86IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgZW52PzogRW52aXJvbm1lbnROYW1lO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgcG9seWdvbnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEFwaVRva2VuPzogc3RyaW5nO1xuICBhcmJpc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJzY3NjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgaG1hY1ZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIGN1c3RvbVByb3h5QWdlbnQ/OiBBZ2VudDtcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xuICBzZXJ2ZXJYcHViPzogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybD86IHN0cmluZztcbiAgdXNlUHJvZHVjdGlvbj86IGJvb2xlYW47XG4gIHVzZXJBZ2VudD86IHN0cmluZztcbiAgdmFsaWRhdGU/OiBib29sZWFuO1xuICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgZ2V0QWRkaXRpb25hbEhlYWRlcnNDYj86IEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2s7XG4gIHJlcXVlc3RJZFByZWZpeD86IHN0cmluZztcbiAgZXZtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgICBhcGlUb2tlbj86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuT3B0aW9ucyB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGluZ09wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0ZU9wdGlvbnMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRydXN0PzogbnVtYmVyO1xuICBmb3JjZVNNUz86IGJvb2xlYW47XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbnN1cmUgdGhhdCB0aGUgdXNlcidzIEVDREgga2V5Y2hhaW4gaXMgY3JlYXRlZC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBkZXNjcmlwdGlvbiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHVzZXIncyBFQ0RIIGtleWNoYWluIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBUaGUgZWNkaCBrZXljaGFpbiBpcyBhIHVzZXIgbGV2ZWwga2V5Y2hhaW4gdGhhdCBlbmFibGVzIHRoZSBzaGFyaW5nIG9mIHNlY3JldCBtYXRlcmlhbCxcbiAgICogcHJpbWFyaWx5IGZvciB3YWxsZXQgc2hhcmluZywgYXMgd2VsbCBhcyB0aGUgc2lnbmluZyBvZiBsZXNzIHByaXZhdGUgbWF0ZXJpYWwgc3VjaCBhcyB2YXJpb3VzIGNyeXB0b2dyYXBoaWMgY2hhbGxlbmdlcy5cbiAgICogSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhpcyBpcyBhbHdheXMgc2V0IHRvIGF2b2lkIGFueSBpc3N1ZXMgd2hlbiB1c2luZyBhIEJpdEdvIHdhbGxldFxuICAgKi9cbiAgZW5zdXJlRWNkaEtleWNoYWluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gdmVyc2lvbiB0byB1c2Ugd2hlbiBjcmVhdGluZyB0aGUgRUNESCBrZXljaGFpbiBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiBgZW5zdXJlRWNkaEtleWNoYWluYCBpcyB0cnVlIGFuZCBubyBFQ0RIIGtleWNoYWluIGV4aXN0cyBmb3IgdGhlIHVzZXIgeWV0LlxuICAgKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgZm9yUmVzZXQyRkE/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgc3RhZ2UgZmluZ2VycHJpbnQgaGFzaCB1c2VkIGZvciBkZXZpY2UgaWRlbnRpZmljYXRpb24gYW5kIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGdlbmVyYXRlZCBmcm9tIGRldmljZS1zcGVjaWZpYyBhdHRyaWJ1dGVzXG4gICAqL1xuICBpbml0aWFsSGFzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaW5hbCBzdGFnZSBmaW5nZXJwcmludCBoYXNoIHVzZWQgZm9yIHRydXN0ZWQgZGV2aWNlIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGRlcml2ZWQgZnJvbSB0aGUgaW5pdGlhbEhhc2ggYW5kIHZlcmlmaWNhdGlvbiBjb2RlXG4gICAqL1xuICBmaW5nZXJwcmludEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc2VkQXV0aGVudGljYXRpb25PcHRpb25zIHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgZm9yY2VTTVM6IGJvb2xlYW47XG4gIG90cD86IHN0cmluZztcbiAgdHJ1c3Q/OiBudW1iZXI7XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBleHRlbnNpb25BZGRyZXNzPzogc3RyaW5nO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIGZvclJlc2V0MkZBPzogYm9vbGVhbjtcbiAgaW5pdGlhbEhhc2g/OiBzdHJpbmc7XG4gIGZpbmdlcnByaW50SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb0pzb24ge1xuICB1c2VyPzogVXNlcjtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbktleT86IHN0cmluZztcbiAgZWNkaFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UGFzc3dvcmRPcHRpb25zIHtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZVJlc3BvbnNlIHtcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkVG9rZW46IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVjZGhYcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuU3BlbmRpbmdMaW1pdCB7XG4gIGNvaW46IHN0cmluZztcbiAgdHhDb3VudD86IG51bWJlcjtcbiAgdHhWYWx1ZT86IHN0cmluZztcbiAgdHhWYWx1ZUxpbWl0Pzogc3RyaW5nO1xuICBtYXhMaW1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgaXBSZXN0cmljdD86IHN0cmluZ1tdO1xuICB0eFZhbHVlTGltaXQ/OiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgc3BlbmRpbmdMaW1pdHM/OiBBY2Nlc3NUb2tlblNwZW5kaW5nTGltaXRbXTtcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRBY2Nlc3NUb2tlblJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY2xpZW50OiBzdHJpbmc7XG4gIHVzZXI6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZ1tdO1xuICBjcmVhdGVkOiBzdHJpbmc7XG4gIGV4cGlyZXM6IHN0cmluZztcbiAgaXA6IHN0cmluZztcbiAgaXBSZXN0cmljdDogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpc0V4dGVuc2libGU6IGJvb2xlYW47XG4gIGVuY3J5cHRlZFRva2VuOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbkFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmxvY2tPcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kVG9rZW5PcHRpb25zIHtcbiAgZHVyYXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXByZWNhdGVkVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0T3B0aW9ucyB7XG4gIHNlZWQ6IHN0cmluZztcbiAgcGFzc3dvcmRzOiBzdHJpbmdbXTtcbiAgbTogbnVtYmVyO1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0IHtcbiAgeHB1Yjogc3RyaW5nO1xuICBtOiBudW1iZXI7XG4gIG46IG51bWJlcjtcbiAgc2VlZFNoYXJlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZVNlY3JldE9wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZWRTZWNyZXQge1xuICB4cHViOiBzdHJpbmc7XG4gIHhwcnY6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVNoYXJkc09wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xuICBtOiBudW1iZXI7XG4gIHhwdWI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRFY2RoU2VjcmV0T3B0aW9ucyB7XG4gIG90aGVyUHViS2V5SGV4OiBzdHJpbmc7XG4gIGVja2V5OiBFQ1BhaXJJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRPcHRpb25zIHtcbiAgb2xkUGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEVudmVsb3BlIHZlcnNpb24gdG8gZW1pdCBmb3IgdGhlIHJlLWVuY3J5cHRlZCBrZXljaGFpbnMuIERlZmF1bHRzIHRvIHByZXNlcnZpbmcgZWFjaFxuICAgKiBrZXljaGFpbidzIGV4aXN0aW5nIGVudmVsb3BlIHZlcnNpb24gKG5vIGZvcmNlZCBtaWdyYXRpb24pLiBQYXNzIGAyYCB0byBvcHQgaW4gdG8gdGhlXG4gICAqIEFyZ29uMmlkIHVwZ3JhZGUgZm9yIHYxIChTSkNMKSBrZXljaGFpbnMgb25jZSB0aGUgY2FsbGVyIGlzIHJlYWR5LlxuICAgKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVzdGltYXRlRmVlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBpbnB1dHM/OiBzdHJpbmdbXTtcbiAgdHhTaXplPzogbnVtYmVyO1xuICBjcGZwQXdhcmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViaG9va09wdGlvbnMge1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RXZWJob29rTm90aWZpY2F0aW9uc09wdGlvbnMge1xuICBwcmV2SWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZDogc3RyaW5nO1xuICBibG9ja0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRlV2l0aEF1dGhDb2RlT3B0aW9ucyB7XG4gIGF1dGhDb2RlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlQdXNoVG9rZW5PcHRpb25zIHtcbiAgcHVzaFZlcmlmaWNhdGlvblRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclB1c2hUb2tlbk9wdGlvbnMge1xuICBwdXNoVG9rZW46IHVua25vd247XG4gIG9wZXJhdGluZ1N5c3RlbTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3BvbnNlIHtcbiAgLy8gVGhlIEFQSSBzZXNzaW9uIHJvdXRlIGRvZXMgbm90IHJldHVybiB0aGlzLiBJdCdzIGFubm90YXRlZCBieSB0aGUgU0RLXG4gIGFjY2Vzc190b2tlbj86IHN0cmluZztcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG4gIGVuY3J5cHRlZFRva2VuPzogc3RyaW5nO1xuICAvLyBVbml0IHRpbWVzdGFtcCBvZiBleHBpcmF0aW9uXG4gIGV4cGlyZXNfYXQ6IG51bWJlcjtcbiAgLy8gc2Vjb25kcyBpbiB3aGljaCB0aGUgdG9rZW4gd2lsbCBleHBpcmUgZnJvbSBpc3N1YW5jZVxuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgdG9rZW5fdHlwZTogc3RyaW5nO1xuICB1c2VyOiB1bmtub3duO1xufVxuIl19
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFRekYsaURBVThCO0FBSDVCLG1IQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5jcnlwdGlvblZlcnNpb24sIEVudmlyb25tZW50TmFtZSwgSVJlcXVlc3RUcmFjZXIsIFYxTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEVDUGFpckludGVyZmFjZSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IHR5cGUgQWdlbnQgfSBmcm9tICdodHRwJztcblxuZXhwb3J0IHR5cGUgQ29uc3RhbnRzID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuY29uc3QgcGF0Y2hlZFJlcXVlc3RNZXRob2RzID0gWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsJywgJ3BhdGNoJywgJ29wdGlvbnMnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFJlcXVlc3RNZXRob2RzID0gKHR5cGVvZiBwYXRjaGVkUmVxdWVzdE1ldGhvZHMpW251bWJlcl07XG5leHBvcnQgdHlwZSBBZGRpdGlvbmFsSGVhZGVyc0NhbGxiYWNrID0gKFxuICBtZXRob2Q6IFJlcXVlc3RNZXRob2RzLFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YT86IHN0cmluZyB8IEJ1ZmZlclxuKSA9PiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+O1xuXG5leHBvcnQge1xuICBBdXRoVmVyc2lvbixcbiAgQ2FsY3VsYXRlSG1hY1N1YmplY3RPcHRpb25zLFxuICBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIbWFjT3B0aW9ucyxcbiAgSUhtYWNBdXRoU3RyYXRlZ3ksXG4gIFJlcXVlc3RIZWFkZXJzLFxuICBzdXBwb3J0ZWRSZXF1ZXN0TWV0aG9kcyxcbiAgVmVyaWZ5UmVzcG9uc2VJbmZvLFxuICBWZXJpZnlSZXNwb25zZU9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1obWFjJztcblxuaW1wb3J0IHR5cGUgeyBJSG1hY0F1dGhTdHJhdGVneSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1obWFjJztcblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb0FQSU9wdGlvbnMge1xuICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgYXV0aFZlcnNpb24/OiAyIHwgMztcbiAgaG1hY0F1dGhTdHJhdGVneT86IElIbWFjQXV0aFN0cmF0ZWd5O1xuICBjbGllbnRDb25zdGFudHM/OlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwge1xuICAgICAgICBjb25zdGFudHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgIH07XG4gIGN1c3RvbUJpdGNvaW5OZXR3b3JrPzogVjFOZXR3b3JrO1xuICBjdXN0b21Sb290VVJJPzogc3RyaW5nO1xuICBjdXN0b21TaWduaW5nQWRkcmVzcz86IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgZW52PzogRW52aXJvbm1lbnROYW1lO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgcG9seWdvbnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEFwaVRva2VuPzogc3RyaW5nO1xuICBhcmJpc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJzY3NjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgaG1hY1ZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIGN1c3RvbVByb3h5QWdlbnQ/OiBBZ2VudDtcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xuICBzZXJ2ZXJYcHViPzogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybD86IHN0cmluZztcbiAgdXNlUHJvZHVjdGlvbj86IGJvb2xlYW47XG4gIHVzZXJBZ2VudD86IHN0cmluZztcbiAgdmFsaWRhdGU/OiBib29sZWFuO1xuICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgZ2V0QWRkaXRpb25hbEhlYWRlcnNDYj86IEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2s7XG4gIHJlcXVlc3RJZFByZWZpeD86IHN0cmluZztcbiAgZXZtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgICBhcGlUb2tlbj86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuT3B0aW9ucyB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGluZ09wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0ZU9wdGlvbnMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRydXN0PzogbnVtYmVyO1xuICBmb3JjZVNNUz86IGJvb2xlYW47XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbnN1cmUgdGhhdCB0aGUgdXNlcidzIEVDREgga2V5Y2hhaW4gaXMgY3JlYXRlZC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBkZXNjcmlwdGlvbiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHVzZXIncyBFQ0RIIGtleWNoYWluIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBUaGUgZWNkaCBrZXljaGFpbiBpcyBhIHVzZXIgbGV2ZWwga2V5Y2hhaW4gdGhhdCBlbmFibGVzIHRoZSBzaGFyaW5nIG9mIHNlY3JldCBtYXRlcmlhbCxcbiAgICogcHJpbWFyaWx5IGZvciB3YWxsZXQgc2hhcmluZywgYXMgd2VsbCBhcyB0aGUgc2lnbmluZyBvZiBsZXNzIHByaXZhdGUgbWF0ZXJpYWwgc3VjaCBhcyB2YXJpb3VzIGNyeXB0b2dyYXBoaWMgY2hhbGxlbmdlcy5cbiAgICogSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhpcyBpcyBhbHdheXMgc2V0IHRvIGF2b2lkIGFueSBpc3N1ZXMgd2hlbiB1c2luZyBhIEJpdEdvIHdhbGxldFxuICAgKi9cbiAgZW5zdXJlRWNkaEtleWNoYWluPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gdmVyc2lvbiB0byB1c2Ugd2hlbiBjcmVhdGluZyB0aGUgRUNESCBrZXljaGFpbiBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiBgZW5zdXJlRWNkaEtleWNoYWluYCBpcyB0cnVlIGFuZCBubyBFQ0RIIGtleWNoYWluIGV4aXN0cyBmb3IgdGhlIHVzZXIgeWV0LlxuICAgKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgZm9yUmVzZXQyRkE/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgc3RhZ2UgZmluZ2VycHJpbnQgaGFzaCB1c2VkIGZvciBkZXZpY2UgaWRlbnRpZmljYXRpb24gYW5kIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGdlbmVyYXRlZCBmcm9tIGRldmljZS1zcGVjaWZpYyBhdHRyaWJ1dGVzXG4gICAqL1xuICBpbml0aWFsSGFzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaW5hbCBzdGFnZSBmaW5nZXJwcmludCBoYXNoIHVzZWQgZm9yIHRydXN0ZWQgZGV2aWNlIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGRlcml2ZWQgZnJvbSB0aGUgaW5pdGlhbEhhc2ggYW5kIHZlcmlmaWNhdGlvbiBjb2RlXG4gICAqL1xuICBmaW5nZXJwcmludEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc2VkQXV0aGVudGljYXRpb25PcHRpb25zIHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgZm9yY2VTTVM6IGJvb2xlYW47XG4gIG90cD86IHN0cmluZztcbiAgdHJ1c3Q/OiBudW1iZXI7XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBleHRlbnNpb25BZGRyZXNzPzogc3RyaW5nO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIGZvclJlc2V0MkZBPzogYm9vbGVhbjtcbiAgaW5pdGlhbEhhc2g/OiBzdHJpbmc7XG4gIGZpbmdlcnByaW50SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb0pzb24ge1xuICB1c2VyPzogVXNlcjtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbktleT86IHN0cmluZztcbiAgZWNkaFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UGFzc3dvcmRPcHRpb25zIHtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZVJlc3BvbnNlIHtcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkVG9rZW46IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVjZGhYcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuU3BlbmRpbmdMaW1pdCB7XG4gIGNvaW46IHN0cmluZztcbiAgdHhDb3VudD86IG51bWJlcjtcbiAgdHhWYWx1ZT86IHN0cmluZztcbiAgdHhWYWx1ZUxpbWl0Pzogc3RyaW5nO1xuICBtYXhMaW1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgaXBSZXN0cmljdD86IHN0cmluZ1tdO1xuICB0eFZhbHVlTGltaXQ/OiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgc3BlbmRpbmdMaW1pdHM/OiBBY2Nlc3NUb2tlblNwZW5kaW5nTGltaXRbXTtcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRBY2Nlc3NUb2tlblJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY2xpZW50OiBzdHJpbmc7XG4gIHVzZXI6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZ1tdO1xuICBjcmVhdGVkOiBzdHJpbmc7XG4gIGV4cGlyZXM6IHN0cmluZztcbiAgaXA6IHN0cmluZztcbiAgaXBSZXN0cmljdDogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpc0V4dGVuc2libGU6IGJvb2xlYW47XG4gIGVuY3J5cHRlZFRva2VuOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbkFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmxvY2tPcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kVG9rZW5PcHRpb25zIHtcbiAgZHVyYXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXByZWNhdGVkVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0T3B0aW9ucyB7XG4gIHNlZWQ6IHN0cmluZztcbiAgcGFzc3dvcmRzOiBzdHJpbmdbXTtcbiAgbTogbnVtYmVyO1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0IHtcbiAgeHB1Yjogc3RyaW5nO1xuICBtOiBudW1iZXI7XG4gIG46IG51bWJlcjtcbiAgc2VlZFNoYXJlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZVNlY3JldE9wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZWRTZWNyZXQge1xuICB4cHViOiBzdHJpbmc7XG4gIHhwcnY6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVNoYXJkc09wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xuICBtOiBudW1iZXI7XG4gIHhwdWI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRFY2RoU2VjcmV0T3B0aW9ucyB7XG4gIG90aGVyUHViS2V5SGV4OiBzdHJpbmc7XG4gIGVja2V5OiBFQ1BhaXJJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRPcHRpb25zIHtcbiAgb2xkUGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEVudmVsb3BlIHZlcnNpb24gdG8gZW1pdCBmb3IgdGhlIHJlLWVuY3J5cHRlZCBrZXljaGFpbnMuIERlZmF1bHRzIHRvIHByZXNlcnZpbmcgZWFjaFxuICAgKiBrZXljaGFpbidzIGV4aXN0aW5nIGVudmVsb3BlIHZlcnNpb24gKG5vIGZvcmNlZCBtaWdyYXRpb24pLiBQYXNzIGAyYCB0byBvcHQgaW4gdG8gdGhlXG4gICAqIEFyZ29uMmlkIHVwZ3JhZGUgZm9yIHYxIChTSkNMKSBrZXljaGFpbnMgb25jZSB0aGUgY2FsbGVyIGlzIHJlYWR5LlxuICAgKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVzdGltYXRlRmVlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBpbnB1dHM/OiBzdHJpbmdbXTtcbiAgdHhTaXplPzogbnVtYmVyO1xuICBjcGZwQXdhcmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViaG9va09wdGlvbnMge1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RXZWJob29rTm90aWZpY2F0aW9uc09wdGlvbnMge1xuICBwcmV2SWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZDogc3RyaW5nO1xuICBibG9ja0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRlV2l0aEF1dGhDb2RlT3B0aW9ucyB7XG4gIGF1dGhDb2RlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlQdXNoVG9rZW5PcHRpb25zIHtcbiAgcHVzaFZlcmlmaWNhdGlvblRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclB1c2hUb2tlbk9wdGlvbnMge1xuICBwdXNoVG9rZW46IHVua25vd247XG4gIG9wZXJhdGluZ1N5c3RlbTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3BvbnNlIHtcbiAgLy8gVGhlIEFQSSBzZXNzaW9uIHJvdXRlIGRvZXMgbm90IHJldHVybiB0aGlzLiBJdCdzIGFubm90YXRlZCBieSB0aGUgU0RLXG4gIGFjY2Vzc190b2tlbj86IHN0cmluZztcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG4gIGVuY3J5cHRlZFRva2VuPzogc3RyaW5nO1xuICAvLyBVbml0IHRpbWVzdGFtcCBvZiBleHBpcmF0aW9uXG4gIGV4cGlyZXNfYXQ6IG51bWJlcjtcbiAgLy8gc2Vjb25kcyBpbiB3aGljaCB0aGUgdG9rZW4gd2lsbCBleHBpcmUgZnJvbSBpc3N1YW5jZVxuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgdG9rZW5fdHlwZTogc3RyaW5nO1xuICB1c2VyOiB1bmtub3duO1xufVxuIl19
|
package/dist/test/unit/api.js
CHANGED
|
@@ -184,6 +184,30 @@ describe('bitgo:api unit tests', function () {
|
|
|
184
184
|
// text/plain doesn't have a JSON serializer, so returns undefined
|
|
185
185
|
assert.strictEqual(result, undefined);
|
|
186
186
|
});
|
|
187
|
+
it('should return the multipart body buffer when _formData is present, without touching _data', function () {
|
|
188
|
+
const multipartBody = Buffer.from('--boundary\r\n...multipart body...\r\n--boundary--\r\n');
|
|
189
|
+
const mockReq = {
|
|
190
|
+
_formData: { getBuffer: () => multipartBody },
|
|
191
|
+
_data: undefined,
|
|
192
|
+
get: () => 'multipart/form-data; boundary=boundary',
|
|
193
|
+
};
|
|
194
|
+
const result = (0, src_1.serializeRequestData)(mockReq);
|
|
195
|
+
assert.ok(Buffer.isBuffer(result));
|
|
196
|
+
assert.strictEqual(result.toString('utf8'), multipartBody.toString('utf8'));
|
|
197
|
+
// _data must remain untouched: superagent throws if `.send()` and `.attach()` are mixed.
|
|
198
|
+
assert.strictEqual(mockReq._data, undefined);
|
|
199
|
+
});
|
|
200
|
+
it('should prefer _formData over _data when both are present', function () {
|
|
201
|
+
const multipartBody = Buffer.from('multipart-body');
|
|
202
|
+
const mockReq = {
|
|
203
|
+
_formData: { getBuffer: () => multipartBody },
|
|
204
|
+
_data: { shouldNot: 'be-serialized' },
|
|
205
|
+
get: () => 'application/json',
|
|
206
|
+
};
|
|
207
|
+
const result = (0, src_1.serializeRequestData)(mockReq);
|
|
208
|
+
assert.ok(Buffer.isBuffer(result));
|
|
209
|
+
assert.strictEqual(result.toString('utf8'), 'multipart-body');
|
|
210
|
+
});
|
|
187
211
|
});
|
|
188
212
|
describe('handleResponseResult', function () {
|
|
189
213
|
it('should return text for text-based responses', function () {
|
|
@@ -304,4 +328,4 @@ describe('bitgo:api unit tests', function () {
|
|
|
304
328
|
});
|
|
305
329
|
});
|
|
306
330
|
});
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQyxtQ0FBNEY7QUFFNUYsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtRQUMvQixFQUFFLENBQUMseURBQXlELEVBQUU7WUFDNUQsTUFBTSxVQUFVLEdBQUcsNkNBQTZDLENBQUM7WUFDakUsTUFBTSxPQUFPLEdBQVE7Z0JBQ25CLEtBQUssRUFBRSxVQUFVO2dCQUNqQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsa0JBQWtCO2FBQzlCLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLDBCQUFvQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLGdDQUFnQztZQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0NBQWtDLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQVE7Z0JBQ25CLEtBQUssRUFBRSxFQUFFO2dCQUNULEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0I7YUFDOUIsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLElBQUEsMEJBQW9CLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7WUFDM0QsTUFBTSxVQUFVLEdBQUcsd0NBQXdDLENBQUM7WUFDNUQsTUFBTSxVQUFVLEdBQUcs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QUksRUFBRSxrQkFBa0I7Z0JBQ3hCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFlBQVksRUFBRSxLQUFLO2dCQUNuQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNuQyxNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgaGFuZGxlUmVzcG9uc2VFcnJvciwgaGFuZGxlUmVzcG9uc2VSZXN1bHQsIHNlcmlhbGl6ZVJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ2JpdGdvOmFwaSB1bml0IHRlc3RzJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnc2VyaWFsaXplUmVxdWVzdERhdGEnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc3RyaW5nIGRhdGEgYXMtaXMgZm9yIHY0IHJhdyBib2R5IHN1cHBvcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJpbmdCb2R5ID0gJ3tcImFkZHJlc3NcIjogIFwidGIxcXRlc3RcIiwgICBcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgbW9ja1JlcTogYW55ID0ge1xuICAgICAgICBfZGF0YTogc3RyaW5nQm9keSxcbiAgICAgICAgZ2V0OiAoKSA9PiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHN0cmluZ0JvZHkpO1xuICAgICAgLy8gVmVyaWZ5IF9kYXRhIHdhcyBub3QgbW9kaWZpZWRcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtb2NrUmVxLl9kYXRhLCBzdHJpbmdCb2R5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVtcHR5IHN0cmluZyBhcy1pcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6ICcnLFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgJycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IEJ1ZmZlciB0byBVVEYtOCBzdHJpbmcgYW5kIG11dGF0ZSBfZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSAne1wiYWRkcmVzc1wiOlwidGIxcXRlc3RcIixcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgYnVmZmVyQm9keSA9IEJ1ZmZlci5mcm9tKGpzb25TdHJpbmcsICd1dGY4Jyk7XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBidWZmZXJCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIGpzb25TdHJpbmcpO1xuICAgICAgLy8gVmVyaWZ5IF9kYXRhIFdBUyBtdXRhdGVkIHRvIHN0cmluZyAtIGNyaXRpY2FsIGZvciBzdXBlcmFnZW50IHRvIHNlbmQgY29ycmVjdCBieXRlc1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgZW1wdHkgQnVmZmVyIHRvIGVtcHR5IHN0cmluZyBhbmQgbXV0YXRlIF9kYXRhJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbW9ja1JlcTogYW55ID0ge1xuICAgICAgICBfZGF0YTogQnVmZmVyLmZyb20oJycpLFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsICcnKTtcbiAgICAgIC8vIFZlcmlmeSBfZGF0YSBXQVMgbXV0YXRlZCB0byBzdHJpbmdcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgbW9ja1JlcS5fZGF0YSwgJ3N0cmluZycpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1vY2tSZXEuX2RhdGEsICcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBpZGVudGljYWwgcmVzdWx0cyBvbiByZXRyeSBmb3IgSE1BQyBjb25zaXN0ZW5jeScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSAne1wiYWRkcmVzc1wiOlwidGIxcXRlc3RcIixcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgYnVmZmVyQm9keSA9IEJ1ZmZlci5mcm9tKGpzb25TdHJpbmcsICd1dGY4Jyk7XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBidWZmZXJCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEZpcnN0IGNhbGwgKG9yaWdpbmFsIHJlcXVlc3QpIC0gY29udmVydHMgQnVmZmVyIHRvIHN0cmluZywgbXV0YXRlcyBfZGF0YVxuICAgICAgY29uc3QgcmVzdWx0MSA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDEsIGpzb25TdHJpbmcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG5cbiAgICAgIC8vIFNlY29uZCBjYWxsIChzaW11bGF0aW5nIHJldHJ5KSAtIF9kYXRhIGlzIG5vdyBhIHN0cmluZywgcmV0dXJucyBhcy1pc1xuICAgICAgY29uc3QgcmVzdWx0MiA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuXG4gICAgICAvLyBCb3RoIGNhbGxzIHNob3VsZCByZXR1cm4gaWRlbnRpY2FsIHN0cmluZ3MgZm9yIGNvbnNpc3RlbnQgSE1BQ1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDEsIHJlc3VsdDIpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDIsIGpzb25TdHJpbmcpO1xuICAgICAgLy8gX2RhdGEgc2hvdWxkIG5vdyBiZSBhIHN0cmluZyAobXV0YXRlZCBvbiBmaXJzdCBjYWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG11dGF0ZSBCdWZmZXIgdG8gcHJldmVudCBzdXBlcmFnZW50IEpTT04gc2VyaWFsaXphdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgY3JpdGljYWwgYmVoYXZpb3I6IGlmIHdlIGRvbid0IG11dGF0ZSBfZGF0YSBmcm9tIEJ1ZmZlciB0byBzdHJpbmcsXG4gICAgICAvLyBzdXBlcmFnZW50IHdpbGwgc2VyaWFsaXplIHRoZSBCdWZmZXIgYXMge1widHlwZVwiOlwiQnVmZmVyXCIsXCJkYXRhXCI6Wy4uLl19LCB3aGljaCB3b24ndCBtYXRjaFxuICAgICAgLy8gdGhlIEhNQUMgY2FsY3VsYXRlZCBvbiB0aGUgVVRGLTggc3RyaW5nLiBCeSBtdXRhdGluZyBfZGF0YSwgd2UgZW5zdXJlIHN1cGVyYWdlbnQgc2VuZHNcbiAgICAgIC8vIHRoZSBleGFjdCBieXRlcyB3ZSB1c2VkIGZvciBITUFDIGNhbGN1bGF0aW9uLlxuICAgICAgY29uc3QganNvblN0cmluZyA9ICd7XCJhZGRyZXNzXCI6XCJ0YjFxdGVzdFwiLFwiYW1vdW50XCI6MTAwMDAwfSc7XG4gICAgICBjb25zdCBidWZmZXJCb2R5ID0gQnVmZmVyLmZyb20oanNvblN0cmluZywgJ3V0ZjgnKTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IGJ1ZmZlckJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG5cbiAgICAgIC8vIEFmdGVyIHNlcmlhbGl6YXRpb24sIF9kYXRhIE1VU1QgYmUgYSBzdHJpbmcsIG5vdCBhIEJ1ZmZlclxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG5cbiAgICAgIC8vIFRoaXMgZW5zdXJlcyB3aGVuIHN1cGVyYWdlbnQgc2VuZHMgdGhlIHJlcXVlc3QsIGl0IHNlbmRzIHRoZSBVVEYtOCBzdHJpbmcsXG4gICAgICAvLyBub3QgdGhlIEpTT04tc2VyaWFsaXplZCBCdWZmZXIgcmVwcmVzZW50YXRpb24uXG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNlcmlhbGl6ZSBvYmplY3QgZGF0YSB0byBKU09OJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb2JqZWN0Qm9keSA9IHsgYWRkcmVzczogJ3RiMXF0ZXN0JywgYW1vdW50OiAxMDAwMDAgfTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG9iamVjdEJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgICAvLyBWZXJpZnkgX2RhdGEgd2FzIHVwZGF0ZWQgdG8gc2VyaWFsaXplZCBmb3JtXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwgSlNPTi5zdHJpbmdpZnkob2JqZWN0Qm9keSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgbmVzdGVkIG9iamVjdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBuZXN0ZWRCb2R5ID0geyBsZXZlbDE6IHsgbGV2ZWwyOiB7IHZhbHVlOiAnZGVlcCcgfSB9IH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBuZXN0ZWRCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgSlNPTi5zdHJpbmdpZnkobmVzdGVkQm9keSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIGZvciB1bmRlZmluZWQgZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2V0OiAoKSA9PiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIG51bGwgZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG51bGwsXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgQ29udGVudC1UeXBlIHdpdGggY2hhcnNldCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9iamVjdEJvZHkgPSB7IHRlc3Q6ICd2YWx1ZScgfTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG9iamVjdEJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24gY29udGVudCB0eXBlJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb2JqZWN0Qm9keSA9IHsgZGF0YTogJ3Rlc3QnIH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBvYmplY3RCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIHVuc3VwcG9ydGVkIGNvbnRlbnQgdHlwZSB3aXRob3V0IHNlcmlhbGl6ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvYmplY3RCb2R5ID0geyB0ZXN0OiAndmFsdWUnIH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBvYmplY3RCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICd0ZXh0L3BsYWluJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgLy8gdGV4dC9wbGFpbiBkb2Vzbid0IGhhdmUgYSBKU09OIHNlcmlhbGl6ZXIsIHNvIHJldHVybnMgdW5kZWZpbmVkXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaGFuZGxlUmVzcG9uc2VSZXN1bHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGV4dCBmb3IgdGV4dC1iYXNlZCByZXNwb25zZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjc3ZUZXh0ID0gYHRyYW5zYWN0aW9uSWQsZGF0ZSxhbW91bnQsY3VycmVuY3ksc3RhdHVzXG4gICAgICAgIDEyMzQ1LDIwMjUtMDEtMTUsMTAwLjAwLFVTRCxjb21wbGV0ZWRcbiAgICAgICAgNjc4OTAsMjAyNS0wMS0yMiw1MC41MCxFVVIsY29tcGxldGVkXG4gICAgICAgIDEzNTc5LDIwMjUtMDItMTAsMjAwLjAwLFVTRCxwZW5kaW5nXG4gICAgICAgIDI0NjgwLDIwMjUtMDItMjgsNzUuMjUsQlRDLGNvbXBsZXRlZGA7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L2NzdicgfSxcbiAgICAgICAgdGV4dDogY3N2VGV4dCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgcmVzcG9uc2UudGV4dCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIEpTT04gcmVzcG9uc2UgYW5kIHJldHVybiB0aGUgZW50aXJlIGJvZHkgaWYgbm8gZmllbGQgaXMgc3BlY2lmaWVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIGhlYWRlcjogeyAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IHsgZm9vOiAnYmFyJywgYmF6OiAxMjMgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXN1bHQsIHJlc3BvbnNlLmJvZHkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBKU09OIHJlc3BvbnNlIGFuZCByZXR1cm4gdGhlIHNwZWNpZmllZCBmaWVsZCBpZiBwcm92aWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgICBib2R5OiB7IGZvbzogJ2JhcicsIGJhejogMTIzIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVSZXNwb25zZVJlc3VsdCgnZm9vJykocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgJ2JhcicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGVudGlyZSByZXNwb25zZSBmb3Igbm9uLUpTT04gYW5kIG5vbi10ZXh0IHJlc3BvbnNlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICdpbWFnZS9wbmcnIH0sXG4gICAgICAgIGJsb2I6ICdhYmNkZWZnaGlqaycsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVSZXNwb25zZVJlc3VsdCgpKHJlc3BvbnNlKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBmdWxsIGJvZHkgaWYgdGhpcyBmaWVsZCBleGlzdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZXNwb25zZTogYW55ID0ge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgaGVhZGVyOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB9LFxuICAgICAgICBib2R5OiB7IGlycmVsZXZhbnQ6IHRydWUgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgcmVzcG9uc2UuYm9keSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdoYW5kbGVSZXNwb25zZUVycm9yJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgcmUtdGhyb3cgYW4gZXJyb3Igd2l0aG91dCByZXNwb25zZSBwcm9wZXJ0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRXJyb3IgPSBuZXcgRXJyb3IoJ0hhbiBzaG90IGZpcnN0Jyk7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHsgbmFtZTogJ0Vycm9yJywgbWVzc2FnZTogJ0hhbiBzaG90IGZpcnN0JyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdXNlIHRoZSBzdGF0dXMgY29kZSBpZiB0aGUgcmVzcG9uc2UgaGFzIG5vIGVycm9yIHRleHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbEVycm9yOiBhbnkgPSBuZXcgRXJyb3IoKTtcbiAgICAgIG9yaWdpbmFsRXJyb3IucmVzcG9uc2UgPSB7IHN0YXR1czogNDAwIH07XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnNDAwJyxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IGZhbHNlLFxuICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgc3RhdHVzOiA0MDAsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdXNlIHRoZSByZXNwb25zZSBib2R5LmVycm9yIHRleHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbEVycm9yOiBhbnkgPSBuZXcgRXJyb3IoKTtcbiAgICAgIG9yaWdpbmFsRXJyb3IucmVzcG9uc2UgPSB7IHN0YXR1czogNDAwLCBib2R5OiB7IGVycm9yOiAnSGFuIHNob3QgZmlyc3QnIH0gfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdIYW4gc2hvdCBmaXJzdCcsXG4gICAgICAgIGludmFsaWRUb2tlbjogZmFsc2UsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiBvcmlnaW5hbEVycm9yLnJlc3BvbnNlLmJvZHksXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIEhUTUwgY29kZSBmcm9tIHRoZSByZXNwb25zZSB0ZXh0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxFcnJvcjogYW55ID0gbmV3IEVycm9yKCk7XG4gICAgICBvcmlnaW5hbEVycm9yLnJlc3BvbnNlID0geyBzdGF0dXM6IDQwMCwgdGV4dDogJyA8Yj4gSGFuIHNob3QgZmlyc3QgPC9iPicgfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICc0MDBcXG5IYW4gc2hvdCBmaXJzdCcsXG4gICAgICAgIGludmFsaWRUb2tlbjogZmFsc2UsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFubm90YXRlIGludmFsaWRUb2tlbiBwcm9wZXJ0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRXJyb3I6IGFueSA9IG5ldyBFcnJvcigpO1xuICAgICAgb3JpZ2luYWxFcnJvci5yZXNwb25zZSA9IHsgc3RhdHVzOiA0MDAsIGhlYWRlcjogeyAneC1hdXRoLXJlcXVpcmVkJzogJ3RydWUnIH0gfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICc0MDAnLFxuICAgICAgICBpbnZhbGlkVG9rZW46IHRydWUsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFubm90YXRlIG5lZWRzT1RQIHByb3BlcnR5JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxFcnJvcjogYW55ID0gbmV3IEVycm9yKCk7XG4gICAgICBvcmlnaW5hbEVycm9yLnJlc3BvbnNlID0geyBzdGF0dXM6IDQwMCwgYm9keTogeyBuZWVkc09UUDogdHJ1ZSB9IH07XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnNDAwJyxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IHRydWUsXG4gICAgICAgIHJlc3VsdDogb3JpZ2luYWxFcnJvci5yZXNwb25zZS5ib2R5LFxuICAgICAgICBzdGF0dXM6IDQwMCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQyxtQ0FBNEY7QUFFNUYsUUFBUSxDQUFDLHNCQUFzQixFQUFFO0lBQy9CLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtRQUMvQixFQUFFLENBQUMseURBQXlELEVBQUU7WUFDNUQsTUFBTSxVQUFVLEdBQUcsNkNBQTZDLENBQUM7WUFDakUsTUFBTSxPQUFPLEdBQVE7Z0JBQ25CLEtBQUssRUFBRSxVQUFVO2dCQUNqQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsa0JBQWtCO2FBQzlCLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLDBCQUFvQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLGdDQUFnQztZQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0NBQWtDLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQVE7Z0JBQ25CLEtBQUssRUFBRSxFQUFFO2dCQUNULEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0I7YUFDOUIsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLElBQUEsMEJBQW9CLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7WUFDM0QsTUFBTSxVQUFVLEdBQUcsd0NBQXdDLENBQUM7WUFDNUQsTUFBTSxVQUFVLEdBQUcs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LEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuRSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEseUJBQW1CLEVBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3RELElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFlBQVksRUFBRSxLQUFLO2dCQUNuQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNuQyxNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgaGFuZGxlUmVzcG9uc2VFcnJvciwgaGFuZGxlUmVzcG9uc2VSZXN1bHQsIHNlcmlhbGl6ZVJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ2JpdGdvOmFwaSB1bml0IHRlc3RzJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnc2VyaWFsaXplUmVxdWVzdERhdGEnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc3RyaW5nIGRhdGEgYXMtaXMgZm9yIHY0IHJhdyBib2R5IHN1cHBvcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJpbmdCb2R5ID0gJ3tcImFkZHJlc3NcIjogIFwidGIxcXRlc3RcIiwgICBcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgbW9ja1JlcTogYW55ID0ge1xuICAgICAgICBfZGF0YTogc3RyaW5nQm9keSxcbiAgICAgICAgZ2V0OiAoKSA9PiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHN0cmluZ0JvZHkpO1xuICAgICAgLy8gVmVyaWZ5IF9kYXRhIHdhcyBub3QgbW9kaWZpZWRcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtb2NrUmVxLl9kYXRhLCBzdHJpbmdCb2R5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVtcHR5IHN0cmluZyBhcy1pcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6ICcnLFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgJycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IEJ1ZmZlciB0byBVVEYtOCBzdHJpbmcgYW5kIG11dGF0ZSBfZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSAne1wiYWRkcmVzc1wiOlwidGIxcXRlc3RcIixcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgYnVmZmVyQm9keSA9IEJ1ZmZlci5mcm9tKGpzb25TdHJpbmcsICd1dGY4Jyk7XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBidWZmZXJCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIGpzb25TdHJpbmcpO1xuICAgICAgLy8gVmVyaWZ5IF9kYXRhIFdBUyBtdXRhdGVkIHRvIHN0cmluZyAtIGNyaXRpY2FsIGZvciBzdXBlcmFnZW50IHRvIHNlbmQgY29ycmVjdCBieXRlc1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgZW1wdHkgQnVmZmVyIHRvIGVtcHR5IHN0cmluZyBhbmQgbXV0YXRlIF9kYXRhJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbW9ja1JlcTogYW55ID0ge1xuICAgICAgICBfZGF0YTogQnVmZmVyLmZyb20oJycpLFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsICcnKTtcbiAgICAgIC8vIFZlcmlmeSBfZGF0YSBXQVMgbXV0YXRlZCB0byBzdHJpbmdcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgbW9ja1JlcS5fZGF0YSwgJ3N0cmluZycpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1vY2tSZXEuX2RhdGEsICcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBpZGVudGljYWwgcmVzdWx0cyBvbiByZXRyeSBmb3IgSE1BQyBjb25zaXN0ZW5jeScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSAne1wiYWRkcmVzc1wiOlwidGIxcXRlc3RcIixcImFtb3VudFwiOjEwMDAwMH0nO1xuICAgICAgY29uc3QgYnVmZmVyQm9keSA9IEJ1ZmZlci5mcm9tKGpzb25TdHJpbmcsICd1dGY4Jyk7XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBidWZmZXJCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEZpcnN0IGNhbGwgKG9yaWdpbmFsIHJlcXVlc3QpIC0gY29udmVydHMgQnVmZmVyIHRvIHN0cmluZywgbXV0YXRlcyBfZGF0YVxuICAgICAgY29uc3QgcmVzdWx0MSA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDEsIGpzb25TdHJpbmcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG5cbiAgICAgIC8vIFNlY29uZCBjYWxsIChzaW11bGF0aW5nIHJldHJ5KSAtIF9kYXRhIGlzIG5vdyBhIHN0cmluZywgcmV0dXJucyBhcy1pc1xuICAgICAgY29uc3QgcmVzdWx0MiA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuXG4gICAgICAvLyBCb3RoIGNhbGxzIHNob3VsZCByZXR1cm4gaWRlbnRpY2FsIHN0cmluZ3MgZm9yIGNvbnNpc3RlbnQgSE1BQ1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDEsIHJlc3VsdDIpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdDIsIGpzb25TdHJpbmcpO1xuICAgICAgLy8gX2RhdGEgc2hvdWxkIG5vdyBiZSBhIHN0cmluZyAobXV0YXRlZCBvbiBmaXJzdCBjYWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG11dGF0ZSBCdWZmZXIgdG8gcHJldmVudCBzdXBlcmFnZW50IEpTT04gc2VyaWFsaXphdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgY3JpdGljYWwgYmVoYXZpb3I6IGlmIHdlIGRvbid0IG11dGF0ZSBfZGF0YSBmcm9tIEJ1ZmZlciB0byBzdHJpbmcsXG4gICAgICAvLyBzdXBlcmFnZW50IHdpbGwgc2VyaWFsaXplIHRoZSBCdWZmZXIgYXMge1widHlwZVwiOlwiQnVmZmVyXCIsXCJkYXRhXCI6Wy4uLl19LCB3aGljaCB3b24ndCBtYXRjaFxuICAgICAgLy8gdGhlIEhNQUMgY2FsY3VsYXRlZCBvbiB0aGUgVVRGLTggc3RyaW5nLiBCeSBtdXRhdGluZyBfZGF0YSwgd2UgZW5zdXJlIHN1cGVyYWdlbnQgc2VuZHNcbiAgICAgIC8vIHRoZSBleGFjdCBieXRlcyB3ZSB1c2VkIGZvciBITUFDIGNhbGN1bGF0aW9uLlxuICAgICAgY29uc3QganNvblN0cmluZyA9ICd7XCJhZGRyZXNzXCI6XCJ0YjFxdGVzdFwiLFwiYW1vdW50XCI6MTAwMDAwfSc7XG4gICAgICBjb25zdCBidWZmZXJCb2R5ID0gQnVmZmVyLmZyb20oanNvblN0cmluZywgJ3V0ZjgnKTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IGJ1ZmZlckJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG5cbiAgICAgIC8vIEFmdGVyIHNlcmlhbGl6YXRpb24sIF9kYXRhIE1VU1QgYmUgYSBzdHJpbmcsIG5vdCBhIEJ1ZmZlclxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBtb2NrUmVxLl9kYXRhLCAnc3RyaW5nJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwganNvblN0cmluZyk7XG5cbiAgICAgIC8vIFRoaXMgZW5zdXJlcyB3aGVuIHN1cGVyYWdlbnQgc2VuZHMgdGhlIHJlcXVlc3QsIGl0IHNlbmRzIHRoZSBVVEYtOCBzdHJpbmcsXG4gICAgICAvLyBub3QgdGhlIEpTT04tc2VyaWFsaXplZCBCdWZmZXIgcmVwcmVzZW50YXRpb24uXG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNlcmlhbGl6ZSBvYmplY3QgZGF0YSB0byBKU09OJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb2JqZWN0Qm9keSA9IHsgYWRkcmVzczogJ3RiMXF0ZXN0JywgYW1vdW50OiAxMDAwMDAgfTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG9iamVjdEJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgICAvLyBWZXJpZnkgX2RhdGEgd2FzIHVwZGF0ZWQgdG8gc2VyaWFsaXplZCBmb3JtXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobW9ja1JlcS5fZGF0YSwgSlNPTi5zdHJpbmdpZnkob2JqZWN0Qm9keSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgbmVzdGVkIG9iamVjdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBuZXN0ZWRCb2R5ID0geyBsZXZlbDE6IHsgbGV2ZWwyOiB7IHZhbHVlOiAnZGVlcCcgfSB9IH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBuZXN0ZWRCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgSlNPTi5zdHJpbmdpZnkobmVzdGVkQm9keSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdW5kZWZpbmVkIGZvciB1bmRlZmluZWQgZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2V0OiAoKSA9PiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIG51bGwgZGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG51bGwsXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgQ29udGVudC1UeXBlIHdpdGggY2hhcnNldCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9iamVjdEJvZHkgPSB7IHRlc3Q6ICd2YWx1ZScgfTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2RhdGE6IG9iamVjdEJvZHksXG4gICAgICAgIGdldDogKCkgPT4gJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24gY29udGVudCB0eXBlJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb2JqZWN0Qm9keSA9IHsgZGF0YTogJ3Rlc3QnIH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBvYmplY3RCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEobW9ja1JlcSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBKU09OLnN0cmluZ2lmeShvYmplY3RCb2R5KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIHVuc3VwcG9ydGVkIGNvbnRlbnQgdHlwZSB3aXRob3V0IHNlcmlhbGl6ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvYmplY3RCb2R5ID0geyB0ZXN0OiAndmFsdWUnIH07XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9kYXRhOiBvYmplY3RCb2R5LFxuICAgICAgICBnZXQ6ICgpID0+ICd0ZXh0L3BsYWluJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlcmlhbGl6ZVJlcXVlc3REYXRhKG1vY2tSZXEpO1xuICAgICAgLy8gdGV4dC9wbGFpbiBkb2Vzbid0IGhhdmUgYSBKU09OIHNlcmlhbGl6ZXIsIHNvIHJldHVybnMgdW5kZWZpbmVkXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIG11bHRpcGFydCBib2R5IGJ1ZmZlciB3aGVuIF9mb3JtRGF0YSBpcyBwcmVzZW50LCB3aXRob3V0IHRvdWNoaW5nIF9kYXRhJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbXVsdGlwYXJ0Qm9keSA9IEJ1ZmZlci5mcm9tKCctLWJvdW5kYXJ5XFxyXFxuLi4ubXVsdGlwYXJ0IGJvZHkuLi5cXHJcXG4tLWJvdW5kYXJ5LS1cXHJcXG4nKTtcbiAgICAgIGNvbnN0IG1vY2tSZXE6IGFueSA9IHtcbiAgICAgICAgX2Zvcm1EYXRhOiB7IGdldEJ1ZmZlcjogKCkgPT4gbXVsdGlwYXJ0Qm9keSB9LFxuICAgICAgICBfZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICBnZXQ6ICgpID0+ICdtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT1ib3VuZGFyeScsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5vayhCdWZmZXIuaXNCdWZmZXIocmVzdWx0KSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoKHJlc3VsdCBhcyBCdWZmZXIpLnRvU3RyaW5nKCd1dGY4JyksIG11bHRpcGFydEJvZHkudG9TdHJpbmcoJ3V0ZjgnKSk7XG4gICAgICAvLyBfZGF0YSBtdXN0IHJlbWFpbiB1bnRvdWNoZWQ6IHN1cGVyYWdlbnQgdGhyb3dzIGlmIGAuc2VuZCgpYCBhbmQgYC5hdHRhY2goKWAgYXJlIG1peGVkLlxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1vY2tSZXEuX2RhdGEsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByZWZlciBfZm9ybURhdGEgb3ZlciBfZGF0YSB3aGVuIGJvdGggYXJlIHByZXNlbnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBtdWx0aXBhcnRCb2R5ID0gQnVmZmVyLmZyb20oJ211bHRpcGFydC1ib2R5Jyk7XG4gICAgICBjb25zdCBtb2NrUmVxOiBhbnkgPSB7XG4gICAgICAgIF9mb3JtRGF0YTogeyBnZXRCdWZmZXI6ICgpID0+IG11bHRpcGFydEJvZHkgfSxcbiAgICAgICAgX2RhdGE6IHsgc2hvdWxkTm90OiAnYmUtc2VyaWFsaXplZCcgfSxcbiAgICAgICAgZ2V0OiAoKSA9PiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShtb2NrUmVxKTtcbiAgICAgIGFzc2VydC5vayhCdWZmZXIuaXNCdWZmZXIocmVzdWx0KSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoKHJlc3VsdCBhcyBCdWZmZXIpLnRvU3RyaW5nKCd1dGY4JyksICdtdWx0aXBhcnQtYm9keScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaGFuZGxlUmVzcG9uc2VSZXN1bHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGV4dCBmb3IgdGV4dC1iYXNlZCByZXNwb25zZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjc3ZUZXh0ID0gYHRyYW5zYWN0aW9uSWQsZGF0ZSxhbW91bnQsY3VycmVuY3ksc3RhdHVzXG4gICAgICAgIDEyMzQ1LDIwMjUtMDEtMTUsMTAwLjAwLFVTRCxjb21wbGV0ZWRcbiAgICAgICAgNjc4OTAsMjAyNS0wMS0yMiw1MC41MCxFVVIsY29tcGxldGVkXG4gICAgICAgIDEzNTc5LDIwMjUtMDItMTAsMjAwLjAwLFVTRCxwZW5kaW5nXG4gICAgICAgIDI0NjgwLDIwMjUtMDItMjgsNzUuMjUsQlRDLGNvbXBsZXRlZGA7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L2NzdicgfSxcbiAgICAgICAgdGV4dDogY3N2VGV4dCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgcmVzcG9uc2UudGV4dCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIEpTT04gcmVzcG9uc2UgYW5kIHJldHVybiB0aGUgZW50aXJlIGJvZHkgaWYgbm8gZmllbGQgaXMgc3BlY2lmaWVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVzcG9uc2U6IGFueSA9IHtcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIGhlYWRlcjogeyAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IHsgZm9vOiAnYmFyJywgYmF6OiAxMjMgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXN1bHQsIHJlc3BvbnNlLmJvZHkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBKU09OIHJlc3BvbnNlIGFuZCByZXR1cm4gdGhlIHNwZWNpZmllZCBmaWVsZCBpZiBwcm92aWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgICBib2R5OiB7IGZvbzogJ2JhcicsIGJhejogMTIzIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVSZXNwb25zZVJlc3VsdCgnZm9vJykocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgJ2JhcicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGVudGlyZSByZXNwb25zZSBmb3Igbm9uLUpTT04gYW5kIG5vbi10ZXh0IHJlc3BvbnNlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICBoZWFkZXI6IHsgJ2NvbnRlbnQtdHlwZSc6ICdpbWFnZS9wbmcnIH0sXG4gICAgICAgIGJsb2I6ICdhYmNkZWZnaGlqaycsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVSZXNwb25zZVJlc3VsdCgpKHJlc3BvbnNlKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHJlc3BvbnNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBmdWxsIGJvZHkgaWYgdGhpcyBmaWVsZCBleGlzdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZXNwb25zZTogYW55ID0ge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgaGVhZGVyOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB9LFxuICAgICAgICBib2R5OiB7IGlycmVsZXZhbnQ6IHRydWUgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVJlc3BvbnNlUmVzdWx0KCkocmVzcG9uc2UpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgcmVzcG9uc2UuYm9keSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdoYW5kbGVSZXNwb25zZUVycm9yJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgcmUtdGhyb3cgYW4gZXJyb3Igd2l0aG91dCByZXNwb25zZSBwcm9wZXJ0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRXJyb3IgPSBuZXcgRXJyb3IoJ0hhbiBzaG90IGZpcnN0Jyk7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHsgbmFtZTogJ0Vycm9yJywgbWVzc2FnZTogJ0hhbiBzaG90IGZpcnN0JyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdXNlIHRoZSBzdGF0dXMgY29kZSBpZiB0aGUgcmVzcG9uc2UgaGFzIG5vIGVycm9yIHRleHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbEVycm9yOiBhbnkgPSBuZXcgRXJyb3IoKTtcbiAgICAgIG9yaWdpbmFsRXJyb3IucmVzcG9uc2UgPSB7IHN0YXR1czogNDAwIH07XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnNDAwJyxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IGZhbHNlLFxuICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgc3RhdHVzOiA0MDAsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdXNlIHRoZSByZXNwb25zZSBib2R5LmVycm9yIHRleHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbEVycm9yOiBhbnkgPSBuZXcgRXJyb3IoKTtcbiAgICAgIG9yaWdpbmFsRXJyb3IucmVzcG9uc2UgPSB7IHN0YXR1czogNDAwLCBib2R5OiB7IGVycm9yOiAnSGFuIHNob3QgZmlyc3QnIH0gfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdIYW4gc2hvdCBmaXJzdCcsXG4gICAgICAgIGludmFsaWRUb2tlbjogZmFsc2UsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiBvcmlnaW5hbEVycm9yLnJlc3BvbnNlLmJvZHksXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhcnNlIEhUTUwgY29kZSBmcm9tIHRoZSByZXNwb25zZSB0ZXh0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxFcnJvcjogYW55ID0gbmV3IEVycm9yKCk7XG4gICAgICBvcmlnaW5hbEVycm9yLnJlc3BvbnNlID0geyBzdGF0dXM6IDQwMCwgdGV4dDogJyA8Yj4gSGFuIHNob3QgZmlyc3QgPC9iPicgfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICc0MDBcXG5IYW4gc2hvdCBmaXJzdCcsXG4gICAgICAgIGludmFsaWRUb2tlbjogZmFsc2UsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFubm90YXRlIGludmFsaWRUb2tlbiBwcm9wZXJ0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsRXJyb3I6IGFueSA9IG5ldyBFcnJvcigpO1xuICAgICAgb3JpZ2luYWxFcnJvci5yZXNwb25zZSA9IHsgc3RhdHVzOiA0MDAsIGhlYWRlcjogeyAneC1hdXRoLXJlcXVpcmVkJzogJ3RydWUnIH0gfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gaGFuZGxlUmVzcG9uc2VFcnJvcihvcmlnaW5hbEVycm9yKSwge1xuICAgICAgICBuYW1lOiAnQXBpUmVzcG9uc2VFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICc0MDAnLFxuICAgICAgICBpbnZhbGlkVG9rZW46IHRydWUsXG4gICAgICAgIG5lZWRzT1RQOiBmYWxzZSxcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFubm90YXRlIG5lZWRzT1RQIHByb3BlcnR5JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxFcnJvcjogYW55ID0gbmV3IEVycm9yKCk7XG4gICAgICBvcmlnaW5hbEVycm9yLnJlc3BvbnNlID0geyBzdGF0dXM6IDQwMCwgYm9keTogeyBuZWVkc09UUDogdHJ1ZSB9IH07XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGhhbmRsZVJlc3BvbnNlRXJyb3Iob3JpZ2luYWxFcnJvciksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnNDAwJyxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IHRydWUsXG4gICAgICAgIHJlc3VsdDogb3JpZ2luYWxFcnJvci5yZXNwb25zZS5ib2R5LFxuICAgICAgICBzdGF0dXM6IDQwMCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -133,4 +133,4 @@ describe('BitGoAPI HMAC Strategy Injection', function () {
|
|
|
133
133
|
});
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1hY1N0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2htYWNTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixnREFBd0I7QUFDeEIsaURBQThDO0FBUTlDLDhEQUFpQztBQUVqQyxNQUFNLFVBQVUsR0FBRyx1RUFBdUUsQ0FBQztBQUMzRixNQUFNLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQU0sb0JBQW9CO0lBQTFCO1FBQ1MsaUNBQTRCLEdBQXFDLEVBQUUsQ0FBQztRQUNwRSx3QkFBbUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2xELHVCQUFrQixHQUE0QyxFQUFFLENBQUM7SUEwQjFFLENBQUM7SUF4QkMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE1BQXNDO1FBQ2xFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsU0FBUyxFQUFFLGlCQUFpQjtTQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNkI7UUFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLGdCQUFnQixFQUFFLGNBQWM7WUFDaEMsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFF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UUFBUTtnQkFDYixhQUFhLEVBQUUsUUFBUTtnQkFDdkIsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQixDQUFDLENBQUM7WUFFSCxJQUFBLGNBQUksRUFBQyxRQUFRLENBQUM7aUJBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDO2lCQUM1QixLQUFLLENBQ0osR0FBRyxFQUNILEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFDakU7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO2FBQ2pDLENBQ0YsQ0FBQztZQUVKLE1BQU0sS0FBSyxDQUFDLFlBQVksQ0FBQztnQkFDdkIsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxZQUFZO2FBQ3ZCLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IG5vY2sgZnJvbSAnbm9jayc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJy4uLy4uL3NyYy9iaXRnb0FQSSc7XG5pbXBvcnQgdHlwZSB7XG4gIElIbWFjQXV0aFN0cmF0ZWd5LFxuICBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMsXG4gIFJlcXVlc3RIZWFkZXJzLFxuICBWZXJpZnlSZXNwb25zZU9wdGlvbnMsXG4gIFZlcmlmeVJlc3BvbnNlSW5mbyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWhtYWMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5cbmNvbnN0IFRFU1RfVE9LRU4gPSAndjJ4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZmFiJztcbmNvbnN0IFRFU1RfVVJJID0gJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnO1xuXG4vKipcbiAqIE1vY2sgc3RyYXRlZ3kgdGhhdCByZWNvcmRzIGNhbGxzIGFuZCByZXR1cm5zIHByZWRpY3RhYmxlIHZhbHVlcy5cbiAqL1xuY2xhc3MgTW9ja0htYWNBdXRoU3RyYXRlZ3kgaW1wbGVtZW50cyBJSG1hY0F1dGhTdHJhdGVneSB7XG4gIHB1YmxpYyBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc0NhbGxzOiBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnNbXSA9IFtdO1xuICBwdWJsaWMgdmVyaWZ5UmVzcG9uc2VDYWxsczogVmVyaWZ5UmVzcG9uc2VPcHRpb25zW10gPSBbXTtcbiAgcHVibGljIGNhbGN1bGF0ZUhNQUNDYWxsczogQXJyYXk8eyBrZXk6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0+ID0gW107XG5cbiAgYXN5bmMgY2FsY3VsYXRlUmVxdWVzdEhlYWRlcnMocGFyYW1zOiBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMpOiBQcm9taXNlPFJlcXVlc3RIZWFkZXJzPiB7XG4gICAgdGhpcy5jYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc0NhbGxzLnB1c2gocGFyYW1zKTtcbiAgICByZXR1cm4ge1xuICAgICAgaG1hYzogJ21vY2staG1hYy12YWx1ZScsXG4gICAgICB0aW1lc3RhbXA6IDE2NzI1MzEyMDAwMDAsXG4gICAgICB0b2tlbkhhc2g6ICdtb2NrLXRva2VuLWhhc2gnLFxuICAgIH07XG4gIH1cblxuICBhc3luYyB2ZXJpZnlSZXNwb25zZShwYXJhbXM6IFZlcmlmeVJlc3BvbnNlT3B0aW9ucyk6IFByb21pc2U8VmVyaWZ5UmVzcG9uc2VJbmZvPiB7XG4gICAgdGhpcy52ZXJpZnlSZXNwb25zZUNhbGxzLnB1c2gocGFyYW1zKTtcbiAgICByZXR1cm4ge1xuICAgICAgaXNWYWxpZDogdHJ1ZSxcbiAgICAgIGV4cGVjdGVkSG1hYzogJ21vY2staG1hYy12YWx1ZScsXG4gICAgICBzaWduYXR1cmVTdWJqZWN0OiAnbW9jay1zdWJqZWN0JyxcbiAgICAgIGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93OiB0cnVlLFxuICAgICAgdmVyaWZpY2F0aW9uVGltZTogRGF0ZS5ub3coKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgY2FsY3VsYXRlSE1BQyhrZXk6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0aGlzLmNhbGN1bGF0ZUhNQUNDYWxscy5wdXNoKHsga2V5LCBtZXNzYWdlIH0pO1xuICAgIHJldHVybiAnbW9jay1obWFjLXBhc3N3b3JkJztcbiAgfVxufVxuXG5kZXNjcmliZSgnQml0R29BUEkgSE1BQyBTdHJhdGVneSBJbmplY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgbm9jay5jbGVhbkFsbCgpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RydWN0b3InLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBhY2NlcHQgYSBjdXN0b20gaG1hY0F1dGhTdHJhdGVneScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gbmV3IE1vY2tIbWFjQXV0aFN0cmF0ZWd5KCk7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6IFRFU1RfVVJJLFxuICAgICAgICBobWFjQXV0aFN0cmF0ZWd5OiBzdHJhdGVneSxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuYmUub2soKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGVmYXVsdCB0byBEZWZhdWx0SG1hY0F1dGhTdHJhdGVneSB3aGVuIG5vbmUgaXMgcHJvdmlkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6IFRFU1RfVVJJLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvLnNob3VsZC5iZS5vaygpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVxdWVzdCBzaWduaW5nIHZpYSBzdHJhdGVneScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHVzZSB0aGUgY3VzdG9tIHN0cmF0ZWd5IGZvciBITUFDIGhlYWRlciBjYWxjdWxhdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gbmV3IE1vY2tIbWFjQXV0aFN0cmF0ZWd5KCk7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6IFRFU1RfVVJJLFxuICAgICAgICBhY2Nlc3NUb2tlbjogVEVTVF9UT0tFTixcbiAgICAgICAgaG1hY0F1dGhTdHJhdGVneTogc3RyYXRlZ3ksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKFRFU1RfVVJJKVxuICAgICAgICAuZ2V0KCcvYXBpL3YyL3dhbGxldCcpXG4gICAgICAgIC5tYXRjaEhlYWRlcignSE1BQycsICdtb2NrLWhtYWMtdmFsdWUnKVxuICAgICAgICAubWF0Y2hIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyIG1vY2stdG9rZW4taGFzaCcpXG4gICAgICAgIC5tYXRjaEhlYWRlcignQXV0aC1UaW1lc3RhbXAnLCAnMTY3MjUzMTIwMDAwMCcpXG4gICAgICAgIC5yZXBseShcbiAgICAgICAgICAyMDAsXG4gICAgICAgICAgeyB3YWxsZXRzOiBbXSB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhtYWM6ICdyZXNwb25zZS1obWFjJyxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKS50b1N0cmluZygpLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgYXdhaXQgYml0Z28uZ2V0KGJpdGdvLnVybCgnL3dhbGxldCcsIDIpKS5yZXN1bHQoKTtcblxuICAgICAgc3RyYXRlZ3kuY2FsY3VsYXRlUmVxdWVzdEhlYWRlcnNDYWxscy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgY29uc3QgY2FsbCA9IHN0cmF0ZWd5LmNhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzQ2FsbHNbMF07XG4gICAgICBjYWxsLnRva2VuLnNob3VsZC5lcXVhbChURVNUX1RPS0VOKTtcbiAgICAgIGNhbGwubWV0aG9kLnNob3VsZC5lcXVhbCgnZ2V0Jyk7XG5cbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHVzZSB0aGUgY3VzdG9tIHN0cmF0ZWd5IGZvciByZXNwb25zZSB2ZXJpZmljYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBNb2NrSG1hY0F1dGhTdHJhdGVneSgpO1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiBURVNUX1VSSSxcbiAgICAgICAgYWNjZXNzVG9rZW46IFRFU1RfVE9LRU4sXG4gICAgICAgIGhtYWNBdXRoU3RyYXRlZ3k6IHN0cmF0ZWd5LFxuICAgICAgfSk7XG5cbiAgICAgIG5vY2soVEVTVF9VUkkpLmdldCgnL2FwaS92Mi93YWxsZXQnKS5yZXBseShcbiAgICAgICAgMjAwLFxuICAgICAgICB7IHdhbGxldHM6IFtdIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBobWFjOiAnc2VydmVyLXJlc3BvbnNlLWhtYWMnLFxuICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKS50b1N0cmluZygpLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBhd2FpdCBiaXRnby5nZXQoYml0Z28udXJsKCcvd2FsbGV0JywgMikpLnJlc3VsdCgpO1xuXG4gICAgICBzdHJhdGVneS52ZXJpZnlSZXNwb25zZUNhbGxzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBjb25zdCBjYWxsID0gc3RyYXRlZ3kudmVyaWZ5UmVzcG9uc2VDYWxsc1swXTtcbiAgICAgIGNhbGwuaG1hYy5zaG91bGQuZXF1YWwoJ3NlcnZlci1yZXNwb25zZS1obWFjJyk7XG4gICAgICBhc3NlcnQoY2FsbC5zdGF0dXNDb2RlLCAnc3RhdHVzQ29kZSBpcyByZXF1aXJlZCcpO1xuICAgICAgY2FsbC5zdGF0dXNDb2RlLnNob3VsZC5lcXVhbCgyMDApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFzc3dvcmQgSE1BQyB2aWEgc3RyYXRlZ3knLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB1c2UgdGhlIGN1c3RvbSBzdHJhdGVneSBmb3IgcGFzc3dvcmQgaGFzaGluZyBpbiBwcmVwcm9jZXNzQXV0aGVudGljYXRpb25QYXJhbXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBNb2NrSG1hY0F1dGhTdHJhdGVneSgpO1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiBURVNUX1VSSSxcbiAgICAgICAgaG1hY0F1dGhTdHJhdGVneTogc3RyYXRlZ3ksXG4gICAgICB9KTtcblxuICAgICAgbm9jayhURVNUX1VSSSlcbiAgICAgICAgLnBvc3QoJy9hcGkvYXV0aC92MS9zZXNzaW9uJylcbiAgICAgICAgLnJlcGx5KFxuICAgICAgICAgIDIwMCxcbiAgICAgICAgICB7IGFjY2Vzc190b2tlbjogVEVTVF9UT0tFTiwgdXNlcjogeyB1c2VybmFtZTogJ3Rlc3RAdGVzdC5jb20nIH0gfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBobWFjOiAncmVzcC1obWFjJyxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKS50b1N0cmluZygpLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgYXdhaXQgYml0Z28uYXV0aGVudGljYXRlKHtcbiAgICAgICAgdXNlcm5hbWU6ICd0ZXN0QHRlc3QuY29tJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdteXBhc3N3b3JkJyxcbiAgICAgIH0pO1xuXG4gICAgICBzdHJhdGVneS5jYWxjdWxhdGVITUFDQ2FsbHMubGVuZ3RoLnNob3VsZC5iZS5ncmVhdGVyVGhhbigwKTtcbiAgICAgIGNvbnN0IGhtYWNDYWxsID0gc3RyYXRlZ3kuY2FsY3VsYXRlSE1BQ0NhbGxzWzBdO1xuICAgICAgaG1hY0NhbGwua2V5LnNob3VsZC5lcXVhbCgndGVzdEB0ZXN0LmNvbScpO1xuICAgICAgaG1hY0NhbGwubWVzc2FnZS5zaG91bGQuZXF1YWwoJ215cGFzc3dvcmQnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1hY1N0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2htYWNTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixnREFBd0I7QUFDeEIsaURBQThDO0FBUTlDLDhEQUFpQztBQUVqQyxNQUFNLFVBQVUsR0FBRyx1RUFBdUUsQ0FBQztBQUMzRixNQUFNLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQU0sb0JBQW9CO0lBQTFCO1FBQ1MsaUNBQTRCLEdBQXNELEVBQUUsQ0FBQztRQUNyRix3QkFBbUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2xELHVCQUFrQixHQUE0QyxFQUFFLENBQUM7SUEwQjFFLENBQUM7SUF4QkMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE1BQXVEO1FBQ25GLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsU0FBUyxFQUFFLGlCQUFpQjtTQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNkI7UUFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLGdCQUFnQixFQUFFLGNBQWM7WUFDaEMsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFF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UUFBUTtnQkFDYixhQUFhLEVBQUUsUUFBUTtnQkFDdkIsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQixDQUFDLENBQUM7WUFFSCxJQUFBLGNBQUksRUFBQyxRQUFRLENBQUM7aUJBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDO2lCQUM1QixLQUFLLENBQ0osR0FBRyxFQUNILEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFDakU7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO2FBQ2pDLENBQ0YsQ0FBQztZQUVKLE1BQU0sS0FBSyxDQUFDLFlBQVksQ0FBQztnQkFDdkIsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxZQUFZO2FBQ3ZCLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IG5vY2sgZnJvbSAnbm9jayc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJy4uLy4uL3NyYy9iaXRnb0FQSSc7XG5pbXBvcnQgdHlwZSB7XG4gIElIbWFjQXV0aFN0cmF0ZWd5LFxuICBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnMsXG4gIFJlcXVlc3RIZWFkZXJzLFxuICBWZXJpZnlSZXNwb25zZU9wdGlvbnMsXG4gIFZlcmlmeVJlc3BvbnNlSW5mbyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWhtYWMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5cbmNvbnN0IFRFU1RfVE9LRU4gPSAndjJ4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZmFiJztcbmNvbnN0IFRFU1RfVVJJID0gJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnO1xuXG4vKipcbiAqIE1vY2sgc3RyYXRlZ3kgdGhhdCByZWNvcmRzIGNhbGxzIGFuZCByZXR1cm5zIHByZWRpY3RhYmxlIHZhbHVlcy5cbiAqL1xuY2xhc3MgTW9ja0htYWNBdXRoU3RyYXRlZ3kgaW1wbGVtZW50cyBJSG1hY0F1dGhTdHJhdGVneSB7XG4gIHB1YmxpYyBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc0NhbGxzOiBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnM8c3RyaW5nIHwgQnVmZmVyPltdID0gW107XG4gIHB1YmxpYyB2ZXJpZnlSZXNwb25zZUNhbGxzOiBWZXJpZnlSZXNwb25zZU9wdGlvbnNbXSA9IFtdO1xuICBwdWJsaWMgY2FsY3VsYXRlSE1BQ0NhbGxzOiBBcnJheTx7IGtleTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfT4gPSBbXTtcblxuICBhc3luYyBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVycyhwYXJhbXM6IENhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzT3B0aW9uczxzdHJpbmcgfCBCdWZmZXI+KTogUHJvbWlzZTxSZXF1ZXN0SGVhZGVycz4ge1xuICAgIHRoaXMuY2FsY3VsYXRlUmVxdWVzdEhlYWRlcnNDYWxscy5wdXNoKHBhcmFtcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhtYWM6ICdtb2NrLWhtYWMtdmFsdWUnLFxuICAgICAgdGltZXN0YW1wOiAxNjcyNTMxMjAwMDAwLFxuICAgICAgdG9rZW5IYXNoOiAnbW9jay10b2tlbi1oYXNoJyxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5UmVzcG9uc2UocGFyYW1zOiBWZXJpZnlSZXNwb25zZU9wdGlvbnMpOiBQcm9taXNlPFZlcmlmeVJlc3BvbnNlSW5mbz4ge1xuICAgIHRoaXMudmVyaWZ5UmVzcG9uc2VDYWxscy5wdXNoKHBhcmFtcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICBleHBlY3RlZEhtYWM6ICdtb2NrLWhtYWMtdmFsdWUnLFxuICAgICAgc2lnbmF0dXJlU3ViamVjdDogJ21vY2stc3ViamVjdCcsXG4gICAgICBpc0luUmVzcG9uc2VWYWxpZGl0eVdpbmRvdzogdHJ1ZSxcbiAgICAgIHZlcmlmaWNhdGlvblRpbWU6IERhdGUubm93KCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGNhbGN1bGF0ZUhNQUMoa2V5OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdGhpcy5jYWxjdWxhdGVITUFDQ2FsbHMucHVzaCh7IGtleSwgbWVzc2FnZSB9KTtcbiAgICByZXR1cm4gJ21vY2staG1hYy1wYXNzd29yZCc7XG4gIH1cbn1cblxuZGVzY3JpYmUoJ0JpdEdvQVBJIEhNQUMgU3RyYXRlZ3kgSW5qZWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgIG5vY2suY2xlYW5BbGwoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvbnN0cnVjdG9yJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgYWNjZXB0IGEgY3VzdG9tIGhtYWNBdXRoU3RyYXRlZ3knLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBNb2NrSG1hY0F1dGhTdHJhdGVneSgpO1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiBURVNUX1VSSSxcbiAgICAgICAgaG1hY0F1dGhTdHJhdGVneTogc3RyYXRlZ3ksXG4gICAgICB9KTtcblxuICAgICAgYml0Z28uc2hvdWxkLmJlLm9rKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlZmF1bHQgdG8gRGVmYXVsdEhtYWNBdXRoU3RyYXRlZ3kgd2hlbiBub25lIGlzIHByb3ZpZGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiBURVNUX1VSSSxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuYmUub2soKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlcXVlc3Qgc2lnbmluZyB2aWEgc3RyYXRlZ3knLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB1c2UgdGhlIGN1c3RvbSBzdHJhdGVneSBmb3IgSE1BQyBoZWFkZXIgY2FsY3VsYXRpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IG5ldyBNb2NrSG1hY0F1dGhTdHJhdGVneSgpO1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiBURVNUX1VSSSxcbiAgICAgICAgYWNjZXNzVG9rZW46IFRFU1RfVE9LRU4sXG4gICAgICAgIGhtYWNBdXRoU3RyYXRlZ3k6IHN0cmF0ZWd5LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHNjb3BlID0gbm9jayhURVNUX1VSSSlcbiAgICAgICAgLmdldCgnL2FwaS92Mi93YWxsZXQnKVxuICAgICAgICAubWF0Y2hIZWFkZXIoJ0hNQUMnLCAnbW9jay1obWFjLXZhbHVlJylcbiAgICAgICAgLm1hdGNoSGVhZGVyKCdBdXRob3JpemF0aW9uJywgJ0JlYXJlciBtb2NrLXRva2VuLWhhc2gnKVxuICAgICAgICAubWF0Y2hIZWFkZXIoJ0F1dGgtVGltZXN0YW1wJywgJzE2NzI1MzEyMDAwMDAnKVxuICAgICAgICAucmVwbHkoXG4gICAgICAgICAgMjAwLFxuICAgICAgICAgIHsgd2FsbGV0czogW10gfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBobWFjOiAncmVzcG9uc2UtaG1hYycsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkudG9TdHJpbmcoKSxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgIGF3YWl0IGJpdGdvLmdldChiaXRnby51cmwoJy93YWxsZXQnLCAyKSkucmVzdWx0KCk7XG5cbiAgICAgIHN0cmF0ZWd5LmNhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzQ2FsbHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICAgIGNvbnN0IGNhbGwgPSBzdHJhdGVneS5jYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc0NhbGxzWzBdO1xuICAgICAgY2FsbC50b2tlbi5zaG91bGQuZXF1YWwoVEVTVF9UT0tFTik7XG4gICAgICBjYWxsLm1ldGhvZC5zaG91bGQuZXF1YWwoJ2dldCcpO1xuXG4gICAgICBzY29wZS5pc0RvbmUoKS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB1c2UgdGhlIGN1c3RvbSBzdHJhdGVneSBmb3IgcmVzcG9uc2UgdmVyaWZpY2F0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgc3RyYXRlZ3kgPSBuZXcgTW9ja0htYWNBdXRoU3RyYXRlZ3koKTtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogVEVTVF9VUkksXG4gICAgICAgIGFjY2Vzc1Rva2VuOiBURVNUX1RPS0VOLFxuICAgICAgICBobWFjQXV0aFN0cmF0ZWd5OiBzdHJhdGVneSxcbiAgICAgIH0pO1xuXG4gICAgICBub2NrKFRFU1RfVVJJKS5nZXQoJy9hcGkvdjIvd2FsbGV0JykucmVwbHkoXG4gICAgICAgIDIwMCxcbiAgICAgICAgeyB3YWxsZXRzOiBbXSB9LFxuICAgICAgICB7XG4gICAgICAgICAgaG1hYzogJ3NlcnZlci1yZXNwb25zZS1obWFjJyxcbiAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkudG9TdHJpbmcoKSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgYXdhaXQgYml0Z28uZ2V0KGJpdGdvLnVybCgnL3dhbGxldCcsIDIpKS5yZXN1bHQoKTtcblxuICAgICAgc3RyYXRlZ3kudmVyaWZ5UmVzcG9uc2VDYWxscy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgY29uc3QgY2FsbCA9IHN0cmF0ZWd5LnZlcmlmeVJlc3BvbnNlQ2FsbHNbMF07XG4gICAgICBjYWxsLmhtYWMuc2hvdWxkLmVxdWFsKCdzZXJ2ZXItcmVzcG9uc2UtaG1hYycpO1xuICAgICAgYXNzZXJ0KGNhbGwuc3RhdHVzQ29kZSwgJ3N0YXR1c0NvZGUgaXMgcmVxdWlyZWQnKTtcbiAgICAgIGNhbGwuc3RhdHVzQ29kZS5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Bhc3N3b3JkIEhNQUMgdmlhIHN0cmF0ZWd5JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgdXNlIHRoZSBjdXN0b20gc3RyYXRlZ3kgZm9yIHBhc3N3b3JkIGhhc2hpbmcgaW4gcHJlcHJvY2Vzc0F1dGhlbnRpY2F0aW9uUGFyYW1zJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgc3RyYXRlZ3kgPSBuZXcgTW9ja0htYWNBdXRoU3RyYXRlZ3koKTtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogVEVTVF9VUkksXG4gICAgICAgIGhtYWNBdXRoU3RyYXRlZ3k6IHN0cmF0ZWd5LFxuICAgICAgfSk7XG5cbiAgICAgIG5vY2soVEVTVF9VUkkpXG4gICAgICAgIC5wb3N0KCcvYXBpL2F1dGgvdjEvc2Vzc2lvbicpXG4gICAgICAgIC5yZXBseShcbiAgICAgICAgICAyMDAsXG4gICAgICAgICAgeyBhY2Nlc3NfdG9rZW46IFRFU1RfVE9LRU4sIHVzZXI6IHsgdXNlcm5hbWU6ICd0ZXN0QHRlc3QuY29tJyB9IH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaG1hYzogJ3Jlc3AtaG1hYycsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkudG9TdHJpbmcoKSxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgIGF3YWl0IGJpdGdvLmF1dGhlbnRpY2F0ZSh7XG4gICAgICAgIHVzZXJuYW1lOiAndGVzdEB0ZXN0LmNvbScsXG4gICAgICAgIHBhc3N3b3JkOiAnbXlwYXNzd29yZCcsXG4gICAgICB9KTtcblxuICAgICAgc3RyYXRlZ3kuY2FsY3VsYXRlSE1BQ0NhbGxzLmxlbmd0aC5zaG91bGQuYmUuZ3JlYXRlclRoYW4oMCk7XG4gICAgICBjb25zdCBobWFjQ2FsbCA9IHN0cmF0ZWd5LmNhbGN1bGF0ZUhNQUNDYWxsc1swXTtcbiAgICAgIGhtYWNDYWxsLmtleS5zaG91bGQuZXF1YWwoJ3Rlc3RAdGVzdC5jb20nKTtcbiAgICAgIGhtYWNDYWxsLm1lc3NhZ2Uuc2hvdWxkLmVxdWFsKCdteXBhc3N3b3JkJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeRequestDataIntegration.d.ts","sourceRoot":"","sources":["../../../test/unit/serializeRequestDataIntegration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const assert = __importStar(require("assert"));
|
|
40
|
+
const crypto_1 = require("crypto");
|
|
41
|
+
const http = __importStar(require("http"));
|
|
42
|
+
const nock_1 = __importDefault(require("nock"));
|
|
43
|
+
const superagent = __importStar(require("superagent"));
|
|
44
|
+
const src_1 = require("../../src");
|
|
45
|
+
function sha256Hex(data) {
|
|
46
|
+
return (0, crypto_1.createHash)('sha256').update(data).digest('hex');
|
|
47
|
+
}
|
|
48
|
+
function startCapturingServer() {
|
|
49
|
+
return new Promise((resolve) => {
|
|
50
|
+
const server = http.createServer((req, res) => {
|
|
51
|
+
const chunks = [];
|
|
52
|
+
req.on('data', (c) => chunks.push(c));
|
|
53
|
+
req.on('end', () => {
|
|
54
|
+
const rawBody = Buffer.concat(chunks);
|
|
55
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
56
|
+
res.end(JSON.stringify({ receivedBodySha256: sha256Hex(rawBody), receivedBytes: rawBody.length }));
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
server.listen(0, '127.0.0.1', () => resolve(server));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
describe('serializeRequestData integration (byte-level HMAC fidelity)', function () {
|
|
63
|
+
// These tests make real HTTP requests to a local server, so allow loopback
|
|
64
|
+
// connections (the rest of the suite disables net connect globally via nock).
|
|
65
|
+
before(function () {
|
|
66
|
+
nock_1.default.enableNetConnect('127.0.0.1');
|
|
67
|
+
});
|
|
68
|
+
after(function () {
|
|
69
|
+
nock_1.default.disableNetConnect();
|
|
70
|
+
});
|
|
71
|
+
it('signs the exact multipart bytes for .field() + .attach() uploads (binary-safe)', async function () {
|
|
72
|
+
const server = await startCapturingServer();
|
|
73
|
+
const { port } = server.address();
|
|
74
|
+
const baseUrl = `http://127.0.0.1:${port}`;
|
|
75
|
+
// Real binary content: JPEG SOI + JFIF marker plus invalid UTF-8 bytes
|
|
76
|
+
// (0x80, 0xff, 0xfe, 0xfd). toString('utf8') would corrupt these, so the
|
|
77
|
+
// returned Buffer must match the bytes actually transmitted on the wire.
|
|
78
|
+
const fakeImageBytes = Buffer.from([
|
|
79
|
+
0xff, 0xd8, 0xff, 0xe0, 0x00, 0x10, 0x4a, 0x46, 0x49, 0x46, 0x00, 0x01, 0x01, 0x00, 0x80, 0xff, 0xfe, 0xfd,
|
|
80
|
+
]);
|
|
81
|
+
try {
|
|
82
|
+
const req = superagent
|
|
83
|
+
.post(`${baseUrl}/document-upload`)
|
|
84
|
+
.field('selectedIdClass', 'dl')
|
|
85
|
+
.attach('frontPhoto', fakeImageBytes, { filename: 'id_front.jpg', contentType: 'image/jpeg' });
|
|
86
|
+
// serializeRequestData runs after .field()/.attach() and before the request
|
|
87
|
+
// is submitted (see requestPatch), so reading _formData here mirrors production.
|
|
88
|
+
const signedSubject = (0, src_1.serializeRequestData)(req);
|
|
89
|
+
const res = await req;
|
|
90
|
+
const receivedSha256 = res.body.receivedBodySha256;
|
|
91
|
+
assert.ok(Buffer.isBuffer(signedSubject), 'expected serializeRequestData to return a Buffer for multipart');
|
|
92
|
+
assert.strictEqual(sha256Hex(signedSubject), receivedSha256);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
server.close();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
it('still round-trips JSON bodies sent via .send() (no regression)', async function () {
|
|
99
|
+
const server = await startCapturingServer();
|
|
100
|
+
const { port } = server.address();
|
|
101
|
+
const baseUrl = `http://127.0.0.1:${port}`;
|
|
102
|
+
try {
|
|
103
|
+
const req = superagent.post(`${baseUrl}/normal-call`).send({ foo: 'bar' });
|
|
104
|
+
const signedSubject = (0, src_1.serializeRequestData)(req);
|
|
105
|
+
const res = await req;
|
|
106
|
+
const receivedSha256 = res.body.receivedBodySha256;
|
|
107
|
+
assert.strictEqual(typeof signedSubject, 'string');
|
|
108
|
+
assert.strictEqual(sha256Hex(signedSubject), receivedSha256);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
server.close();
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplUmVxdWVzdERhdGFJbnRlZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9zZXJpYWxpemVSZXF1ZXN0RGF0YUludGVncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBQ2pDLG1DQUFvQztBQUNwQywyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBQ3hCLHVEQUF5QztBQUN6QyxtQ0FBaUQ7QUFFakQsU0FBUyxTQUFTLENBQUMsSUFBcUI7SUFDdEMsT0FBTyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBUyxvQkFBb0I7SUFDM0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7Z0JBQzNELEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxF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QyxDQUFDO1lBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUEsMEJBQW9CLEVBQUMsR0FBRyxDQUFDLENBQUM7WUFFaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUM7WUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBNEIsQ0FBQztZQUU3RCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQXVCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6RSxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCBub2NrIGZyb20gJ25vY2snO1xuaW1wb3J0ICogYXMgc3VwZXJhZ2VudCBmcm9tICdzdXBlcmFnZW50JztcbmltcG9ydCB7IHNlcmlhbGl6ZVJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZnVuY3Rpb24gc2hhMjU2SGV4KGRhdGE6IHN0cmluZyB8IEJ1ZmZlcik6IHN0cmluZyB7XG4gIHJldHVybiBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoZGF0YSkuZGlnZXN0KCdoZXgnKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRDYXB0dXJpbmdTZXJ2ZXIoKTogUHJvbWlzZTxodHRwLlNlcnZlcj4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBzZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcigocmVxLCByZXMpID0+IHtcbiAgICAgIGNvbnN0IGNodW5rczogQnVmZmVyW10gPSBbXTtcbiAgICAgIHJlcS5vbignZGF0YScsIChjKSA9PiBjaHVua3MucHVzaChjKSk7XG4gICAgICByZXEub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmF3Qm9keSA9IEJ1ZmZlci5jb25jYXQoY2h1bmtzKTtcbiAgICAgICAgcmVzLndyaXRlSGVhZCgyMDAsIHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KTtcbiAgICAgICAgcmVzLmVuZChKU09OLnN0cmluZ2lmeSh7IHJlY2VpdmVkQm9keVNoYTI1Njogc2hhMjU2SGV4KHJhd0JvZHkpLCByZWNlaXZlZEJ5dGVzOiByYXdCb2R5Lmxlbmd0aCB9KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBzZXJ2ZXIubGlzdGVuKDAsICcxMjcuMC4wLjEnLCAoKSA9PiByZXNvbHZlKHNlcnZlcikpO1xuICB9KTtcbn1cblxuZGVzY3JpYmUoJ3NlcmlhbGl6ZVJlcXVlc3REYXRhIGludGVncmF0aW9uIChieXRlLWxldmVsIEhNQUMgZmlkZWxpdHkpJywgZnVuY3Rpb24gKCkge1xuICAvLyBUaGVzZSB0ZXN0cyBtYWtlIHJlYWwgSFRUUCByZXF1ZXN0cyB0byBhIGxvY2FsIHNlcnZlciwgc28gYWxsb3cgbG9vcGJhY2tcbiAgLy8gY29ubmVjdGlvbnMgKHRoZSByZXN0IG9mIHRoZSBzdWl0ZSBkaXNhYmxlcyBuZXQgY29ubmVjdCBnbG9iYWxseSB2aWEgbm9jaykuXG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgbm9jay5lbmFibGVOZXRDb25uZWN0KCcxMjcuMC4wLjEnKTtcbiAgfSk7XG4gIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICBub2NrLmRpc2FibGVOZXRDb25uZWN0KCk7XG4gIH0pO1xuXG4gIGl0KCdzaWducyB0aGUgZXhhY3QgbXVsdGlwYXJ0IGJ5dGVzIGZvciAuZmllbGQoKSArIC5hdHRhY2goKSB1cGxvYWRzIChiaW5hcnktc2FmZSknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgc2VydmVyID0gYXdhaXQgc3RhcnRDYXB0dXJpbmdTZXJ2ZXIoKTtcbiAgICBjb25zdCB7IHBvcnQgfSA9IHNlcnZlci5hZGRyZXNzKCkgYXMgeyBwb3J0OiBudW1iZXIgfTtcbiAgICBjb25zdCBiYXNlVXJsID0gYGh0dHA6Ly8xMjcuMC4wLjE6JHtwb3J0fWA7XG5cbiAgICAvLyBSZWFsIGJpbmFyeSBjb250ZW50OiBKUEVHIFNPSSArIEpGSUYgbWFya2VyIHBsdXMgaW52YWxpZCBVVEYtOCBieXRlc1xuICAgIC8vICgweDgwLCAweGZmLCAweGZlLCAweGZkKS4gdG9TdHJpbmcoJ3V0ZjgnKSB3b3VsZCBjb3JydXB0IHRoZXNlLCBzbyB0aGVcbiAgICAvLyByZXR1cm5lZCBCdWZmZXIgbXVzdCBtYXRjaCB0aGUgYnl0ZXMgYWN0dWFsbHkgdHJhbnNtaXR0ZWQgb24gdGhlIHdpcmUuXG4gICAgY29uc3QgZmFrZUltYWdlQnl0ZXMgPSBCdWZmZXIuZnJvbShbXG4gICAgICAweGZmLCAweGQ4LCAweGZmLCAweGUwLCAweDAwLCAweDEwLCAweDRhLCAweDQ2LCAweDQ5LCAweDQ2LCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweGZmLCAweGZlLCAweGZkLFxuICAgIF0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcSA9IHN1cGVyYWdlbnRcbiAgICAgICAgLnBvc3QoYCR7YmFzZVVybH0vZG9jdW1lbnQtdXBsb2FkYClcbiAgICAgICAgLmZpZWxkKCdzZWxlY3RlZElkQ2xhc3MnLCAnZGwnKVxuICAgICAgICAuYXR0YWNoKCdmcm9udFBob3RvJywgZmFrZUltYWdlQnl0ZXMsIHsgZmlsZW5hbWU6ICdpZF9mcm9udC5qcGcnLCBjb250ZW50VHlwZTogJ2ltYWdlL2pwZWcnIH0pO1xuXG4gICAgICAvLyBzZXJpYWxpemVSZXF1ZXN0RGF0YSBydW5zIGFmdGVyIC5maWVsZCgpLy5hdHRhY2goKSBhbmQgYmVmb3JlIHRoZSByZXF1ZXN0XG4gICAgICAvLyBpcyBzdWJtaXR0ZWQgKHNlZSByZXF1ZXN0UGF0Y2gpLCBzbyByZWFkaW5nIF9mb3JtRGF0YSBoZXJlIG1pcnJvcnMgcHJvZHVjdGlvbi5cbiAgICAgIGNvbnN0IHNpZ25lZFN1YmplY3QgPSBzZXJpYWxpemVSZXF1ZXN0RGF0YShyZXEpO1xuXG4gICAgICBjb25zdCByZXMgPSBhd2FpdCByZXE7XG4gICAgICBjb25zdCByZWNlaXZlZFNoYTI1NiA9IHJlcy5ib2R5LnJlY2VpdmVkQm9keVNoYTI1NiBhcyBzdHJpbmc7XG5cbiAgICAgIGFzc2VydC5vayhCdWZmZXIuaXNCdWZmZXIoc2lnbmVkU3ViamVjdCksICdleHBlY3RlZCBzZXJpYWxpemVSZXF1ZXN0RGF0YSB0byByZXR1cm4gYSBCdWZmZXIgZm9yIG11bHRpcGFydCcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHNoYTI1NkhleChzaWduZWRTdWJqZWN0IGFzIEJ1ZmZlciksIHJlY2VpdmVkU2hhMjU2KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2VydmVyLmNsb3NlKCk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc3RpbGwgcm91bmQtdHJpcHMgSlNPTiBib2RpZXMgc2VudCB2aWEgLnNlbmQoKSAobm8gcmVncmVzc2lvbiknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgc2VydmVyID0gYXdhaXQgc3RhcnRDYXB0dXJpbmdTZXJ2ZXIoKTtcbiAgICBjb25zdCB7IHBvcnQgfSA9IHNlcnZlci5hZGRyZXNzKCkgYXMgeyBwb3J0OiBudW1iZXIgfTtcbiAgICBjb25zdCBiYXNlVXJsID0gYGh0dHA6Ly8xMjcuMC4wLjE6JHtwb3J0fWA7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxID0gc3VwZXJhZ2VudC5wb3N0KGAke2Jhc2VVcmx9L25vcm1hbC1jYWxsYCkuc2VuZCh7IGZvbzogJ2JhcicgfSk7XG4gICAgICBjb25zdCBzaWduZWRTdWJqZWN0ID0gc2VyaWFsaXplUmVxdWVzdERhdGEocmVxKTtcblxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVxO1xuICAgICAgY29uc3QgcmVjZWl2ZWRTaGEyNTYgPSByZXMuYm9keS5yZWNlaXZlZEJvZHlTaGEyNTYgYXMgc3RyaW5nO1xuXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHNpZ25lZFN1YmplY3QsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChzaGEyNTZIZXgoc2lnbmVkU3ViamVjdCBhcyBzdHJpbmcpLCByZWNlaXZlZFNoYTI1Nik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNlcnZlci5jbG9zZSgpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
|