construct-hub 0.4.9 → 0.4.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"code-artifact-forwarder.lambda.d.ts","sourceRoot":"","sources":["../../../src/package-sources/codeartifact/code-artifact-forwarder.lambda.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkB5D,eAAO,MAAM,OAAO,+PA6InB,CAAC;AAEF;;GAEG;AACH,UAAU,kBAAkB;IAC1B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EACxB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAExC,QAAQ,CAAC,OAAO,EAAE;QAChB;;;WAGG;QACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAE7B;;WAEG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;WAEG;QACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;QAElC;;;WAGG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;;WAGG;QACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;KACjC,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC"}
1
+ {"version":3,"file":"code-artifact-forwarder.lambda.d.ts","sourceRoot":"","sources":["../../../src/package-sources/codeartifact/code-artifact-forwarder.lambda.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkB5D,eAAO,MAAM,OAAO,+PA4InB,CAAC;AAEF;;GAEG;AACH,UAAU,kBAAkB;IAC1B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EACxB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAExC,QAAQ,CAAC,OAAO,EAAE;QAChB;;;WAGG;QACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAE7B;;WAEG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;WAEG;QACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;QAElC;;;WAGG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;;WAGG;QACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;KACjC,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC"}
@@ -105,9 +105,8 @@ exports.handler = aws_embedded_metrics_1.metricScope((metrics) => async (event,
105
105
  },
106
106
  },
107
107
  MessageBody: JSON.stringify(message),
108
- MessageDeduplicationId: event.detail.eventDeduplicationId,
109
108
  QueueUrl: queueUrl,
110
109
  })
111
110
  .promise();
112
111
  });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hcnRpZmFjdC1mb3J3YXJkZXIubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhY2thZ2Utc291cmNlcy9jb2RlYXJ0aWZhY3QvY29kZS1hcnRpZmFjdC1mb3J3YXJkZXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUF5RDtBQUd6RCx1RkFBOEU7QUFDOUUsMEZBQW9GO0FBQ3BGLDhEQUE4RDtBQUM5RCw4RUFBb0U7QUFDcEUsMEZBQXlFO0FBQ3pFLHNGQUE0RTtBQUM1RSx1RUFNbUM7QUFFbkMsTUFBTSxXQUFXLEdBQUcsMkNBQW9ELENBQUM7QUFFNUQsUUFBQSxPQUFPLEdBQUcsa0NBQVcsQ0FDaEMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLEtBQUssRUFDSCxLQUErRCxFQUMvRCxPQUFnQixFQUNoQixFQUFFOztJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sYUFBYSxHQUFHLDhCQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEQsTUFBTSxRQUFRLEdBQUcsOEJBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV6QyxPQUFPLENBQUMsWUFBWSxDQUFDLDJDQUFpQixDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNwQixDQUFDLGdEQUFzQixDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQ2xELENBQUMsK0NBQXFCLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDaEQsQ0FBQyxtREFBeUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYztLQUN6RCxDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtRQUMvQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ2pFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUU3QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtRQUM1QyxPQUFPLENBQUMsR0FBRyxDQUNULG1DQUFtQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FDaEYsQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLHFDQUEyQixDQUFDLEVBQUUsMkJBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRCxPQUFPO0tBQ1I7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLHFDQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RSxJQUFJLE1BQU0sRUFBRTtRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQ1QsV0FBVyxXQUFXLElBQ3BCLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FDZixZQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUM5QyxDQUFDO1FBQ0YsT0FBTyxDQUFDLFNBQVMsNENBQStCLENBQUMsRUFBRSwyQkFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELE9BQU87S0FDUjtJQUVELE1BQU0sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLEdBQUc7U0FDaEQsWUFBWSxFQUFFO1NBQ2Qsc0JBQXNCLENBQUM7UUFDdEIsS0FBSyxFQUFFLGFBQWE7UUFDcEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVztRQUNyQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQy9CLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWM7UUFDdkMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYTtRQUNsQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDeEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVztRQUNqQyxjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjO0tBQzVDLENBQUM7U0FDRCxPQUFPLEVBQUUsQ0FBQztJQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBYSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLHNDQUFjLENBQUMsT0FBTyxFQUFFO1FBQ2xFLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7UUFDdkMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7S0FDOUQsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLFNBQVMscURBRWYsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDcEIsMkJBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNGLElBQUksWUFBWSxJQUFJLElBQUksRUFBRTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUNULFlBQVksV0FBVyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxxQ0FBcUMsQ0FDNUYsQ0FBQztRQUNGLE9BQU87S0FDUjtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNELE1BQU0sV0FBVyxHQUFHLE1BQU0sd0NBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLE1BQU0sT0FDeEMsUUFBUSxDQUFDLE9BQU8sbUNBQUksWUFBWSxDQUNqQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLFNBQVMsb0RBRWYsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdkIsMkJBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNGLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxZQUFZLFdBQVcsSUFDckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUNmLHdDQUNFLE1BQUEsUUFBUSxDQUFDLE9BQU8sbUNBQUksWUFDdEIsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxzQkFBc0IsY0FBYyxDQUFDO0lBQ3pHLE1BQU0sR0FBRztTQUNOLEVBQUUsRUFBRTtTQUNKLFNBQVMsQ0FBQztRQUNULE1BQU0sRUFBRSxhQUFhO1FBQ3JCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsMEJBQTBCO1FBQ3ZDLFFBQVEsRUFBRTtZQUNSLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ3hDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQzFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWTtTQUN0QztLQUNGLENBQUM7U0FDRCxPQUFPLEVBQUUsQ0FBQztJQUViLE1BQU0sT0FBTyxHQUFHLG1DQUFTLENBQ3ZCO1FBQ0UsVUFBVSxFQUFFLFFBQVEsYUFBYSxJQUFJLFVBQVUsRUFBRTtRQUNqRCxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0tBQ2pCLEVBQ0QsT0FBTyxDQUNSLENBQUM7SUFDRixPQUFPLEdBQUc7U0FDUCxHQUFHLEVBQUU7U0FDTCxXQUFXLENBQUM7UUFDWCxpQkFBaUIsRUFBRTtZQUNqQixjQUFjLEVBQUU7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWTthQUNsQztZQUNELGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ2xDO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWE7YUFDbkM7U0FDRjtRQUNELFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNwQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLG9CQUFvQjtRQUN6RCxRQUFRLEVBQUUsUUFBUTtLQUNuQixDQUFDO1NBQ0QsT0FBTyxFQUFFLENBQUM7QUFDZixDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ldHJpY1Njb3BlLCBVbml0IH0gZnJvbSAnYXdzLWVtYmVkZGVkLW1ldHJpY3MnO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0LCBFdmVudEJyaWRnZUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5cbmltcG9ydCB7IERlbnlMaXN0Q2xpZW50IH0gZnJvbSAnLi4vLi4vYmFja2VuZC9kZW55LWxpc3QvY2xpZW50LmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgTGljZW5zZUxpc3RDbGllbnQgfSBmcm9tICcuLi8uLi9iYWNrZW5kL2xpY2Vuc2UtbGlzdC9jbGllbnQubGFtYmRhLXNoYXJlZCc7XG5pbXBvcnQgKiBhcyBhd3MgZnJvbSAnLi4vLi4vYmFja2VuZC9zaGFyZWQvYXdzLmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgcmVxdWlyZUVudiB9IGZyb20gJy4uLy4uL2JhY2tlbmQvc2hhcmVkL2Vudi5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7IGludGVncml0eSB9IGZyb20gJy4uLy4uL2JhY2tlbmQvc2hhcmVkL2ludGVncml0eS5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7IGV4dHJhY3RPYmplY3RzIH0gZnJvbSAnLi4vLi4vYmFja2VuZC9zaGFyZWQvdGFyYmFsbC5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7XG4gIE1FVFJJQ1NfTkFNRVNQQUNFLFxuICBNZXRyaWNOYW1lLFxuICBET01BSU5fT1dORVJfRElNRU5TSU9OLFxuICBET01BSU5fTkFNRV9ESU1FTlNJT04sXG4gIFJFUE9TSVRPUllfTkFNRV9ESU1FTlNJT04sXG59IGZyb20gJy4vY29uc3RhbnRzLmxhbWJkYS1zaGFyZWQnO1xuXG5jb25zdCBERVRBSUxfVFlQRSA9ICdDb2RlQXJ0aWZhY3QgUGFja2FnZSBWZXJzaW9uIFN0YXRlIENoYW5nZScgYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gbWV0cmljU2NvcGUoXG4gIChtZXRyaWNzKSA9PlxuICAgIGFzeW5jIChcbiAgICAgIGV2ZW50OiBFdmVudEJyaWRnZUV2ZW50PHR5cGVvZiBERVRBSUxfVFlQRSwgQ29kZUFydGlmYWN0RGV0YWlsPixcbiAgICAgIGNvbnRleHQ6IENvbnRleHRcbiAgICApID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBFdmVudDogJHtKU09OLnN0cmluZ2lmeShldmVudCwgbnVsbCwgMil9YCk7XG5cbiAgICAgIGNvbnN0IHN0YWdpbmdCdWNrZXQgPSByZXF1aXJlRW52KCdCVUNLRVRfTkFNRScpO1xuICAgICAgY29uc3QgcXVldWVVcmwgPSByZXF1aXJlRW52KCdRVUVVRV9VUkwnKTtcblxuICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTUVUUklDU19OQU1FU1BBQ0UpO1xuICAgICAgbWV0cmljcy5zZXREaW1lbnNpb25zKHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwuZG9tYWluT3duZXIsXG4gICAgICAgIFtET01BSU5fTkFNRV9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwuZG9tYWluTmFtZSxcbiAgICAgICAgW1JFUE9TSVRPUllfTkFNRV9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwucmVwb3NpdG9yeU5hbWUsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcGFja2FnZU5hbWUgPSBldmVudC5kZXRhaWwucGFja2FnZU5hbWVzcGFjZVxuICAgICAgICA/IGBAJHtldmVudC5kZXRhaWwucGFja2FnZU5hbWVzcGFjZX0vJHtldmVudC5kZXRhaWwucGFja2FnZU5hbWV9YFxuICAgICAgICA6IGV2ZW50LmRldGFpbC5wYWNrYWdlTmFtZTtcblxuICAgICAgaWYgKGV2ZW50LmRldGFpbC5vcGVyYXRpb25UeXBlID09PSAnRGVsZXRlZCcpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYE9wZXJhdGlvbiB0eXBlIGlzIFwiRGVsZXRlZFwiIGZvciAke3BhY2thZ2VOYW1lfUAke2V2ZW50LmRldGFpbC5wYWNrYWdlVmVyc2lvbn1gXG4gICAgICAgICk7XG4gICAgICAgIG1ldHJpY3MucHV0TWV0cmljKE1ldHJpY05hbWUuREVMRVRFRF9DT1VOVCwgMSwgVW5pdC5Db3VudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVueUxpc3QgPSBhd2FpdCBEZW55TGlzdENsaWVudC5uZXdDbGllbnQoKTtcbiAgICAgIGNvbnN0IGRlbmllZCA9IGRlbnlMaXN0Lmxvb2t1cChwYWNrYWdlTmFtZSwgZXZlbnQuZGV0YWlsLnBhY2thZ2VWZXJzaW9uKTtcbiAgICAgIGlmIChkZW5pZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYFBhY2thZ2UgJHtwYWNrYWdlTmFtZX1AJHtcbiAgICAgICAgICAgIGV2ZW50LmRldGFpbC5wYWNrYWdlVmVyc2lvblxuICAgICAgICAgIH0gZGVuaWVkOiAke0pTT04uc3RyaW5naWZ5KGRlbmllZCwgbnVsbCwgMil9YFxuICAgICAgICApO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhNZXRyaWNOYW1lLkRFTllfTElTVEVEX0NPVU5ULCAxLCBVbml0LkNvdW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGFzc2V0LCBwYWNrYWdlVmVyc2lvblJldmlzaW9uIH0gPSBhd2FpdCBhd3NcbiAgICAgICAgLmNvZGVBcnRpZmFjdCgpXG4gICAgICAgIC5nZXRQYWNrYWdlVmVyc2lvbkFzc2V0KHtcbiAgICAgICAgICBhc3NldDogJ3BhY2thZ2UudGd6JywgLy8gQWx3YXlzIG5hbWVkIHRoaXMgd2F5IGZvciBucG0gcGFja2FnZXMhXG4gICAgICAgICAgZG9tYWluT3duZXI6IGV2ZW50LmRldGFpbC5kb21haW5Pd25lcixcbiAgICAgICAgICBkb21haW46IGV2ZW50LmRldGFpbC5kb21haW5OYW1lLFxuICAgICAgICAgIHJlcG9zaXRvcnk6IGV2ZW50LmRldGFpbC5yZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgICBmb3JtYXQ6IGV2ZW50LmRldGFpbC5wYWNrYWdlRm9ybWF0LFxuICAgICAgICAgIG5hbWVzcGFjZTogZXZlbnQuZGV0YWlsLnBhY2thZ2VOYW1lc3BhY2UsXG4gICAgICAgICAgcGFja2FnZTogZXZlbnQuZGV0YWlsLnBhY2thZ2VOYW1lLFxuICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb24sXG4gICAgICAgIH0pXG4gICAgICAgIC5wcm9taXNlKCk7XG4gICAgICBjb25zdCB0YXJiYWxsID0gQnVmZmVyLmZyb20oYXNzZXQhIGFzIGFueSk7XG5cbiAgICAgIGNvbnN0IHsgYXNzZW1ibHlKc29uLCBwYWNrYWdlSnNvbiB9ID0gYXdhaXQgZXh0cmFjdE9iamVjdHModGFyYmFsbCwge1xuICAgICAgICBhc3NlbWJseUpzb246IHsgcGF0aDogJ3BhY2thZ2UvLmpzaWknIH0sXG4gICAgICAgIHBhY2thZ2VKc29uOiB7IHBhdGg6ICdwYWNrYWdlL3BhY2thZ2UuanNvbicsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICB9KTtcbiAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICBNZXRyaWNOYW1lLk5PVF9KU0lJX0VOQUJMRURfQ09VTlQsXG4gICAgICAgIGFzc2VtYmx5SnNvbiA/IDAgOiAxLFxuICAgICAgICBVbml0LkNvdW50XG4gICAgICApO1xuICAgICAgaWYgKGFzc2VtYmx5SnNvbiA9PSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBQYWNrYWdlIFwiJHtwYWNrYWdlTmFtZX1AJHtldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb259XCIgZG9lcyBub3QgY29udGFpbiBhIC5qc2lpIGFzc2VtYmx5YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gSlNPTi5wYXJzZShwYWNrYWdlSnNvbi50b1N0cmluZygndXRmLTgnKSk7XG4gICAgICBjb25zdCBsaWNlbnNlTGlzdCA9IGF3YWl0IExpY2Vuc2VMaXN0Q2xpZW50Lm5ld0NsaWVudCgpO1xuICAgICAgY29uc3QgZWxpZ2libGVMaWNlbnNlID0gbGljZW5zZUxpc3QubG9va3VwKFxuICAgICAgICBtZXRhZGF0YS5saWNlbnNlID8/ICdVTkxJQ0VOU0VEJ1xuICAgICAgKTtcbiAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICBNZXRyaWNOYW1lLklORUxJR0lCTEVfTElDRU5TRSxcbiAgICAgICAgZWxpZ2libGVMaWNlbnNlID8gMCA6IDEsXG4gICAgICAgIFVuaXQuQ291bnRcbiAgICAgICk7XG4gICAgICBpZiAoIWVsaWdpYmxlTGljZW5zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgUGFja2FnZSBcIiR7cGFja2FnZU5hbWV9QCR7XG4gICAgICAgICAgICBldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb25cbiAgICAgICAgICB9XCIgZG9lcyBub3QgdXNlIGFsbG93LWxpc3RlZCBsaWNlbnNlOiAke1xuICAgICAgICAgICAgbWV0YWRhdGEubGljZW5zZSA/PyAnVU5MSUNFTlNFRCdcbiAgICAgICAgICB9YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YWdpbmdLZXkgPSBgJHtwYWNrYWdlTmFtZX0vJHtldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb259LyR7cGFja2FnZVZlcnNpb25SZXZpc2lvbn0vcGFja2FnZS50Z3pgO1xuICAgICAgYXdhaXQgYXdzXG4gICAgICAgIC5zMygpXG4gICAgICAgIC5wdXRPYmplY3Qoe1xuICAgICAgICAgIEJ1Y2tldDogc3RhZ2luZ0J1Y2tldCxcbiAgICAgICAgICBLZXk6IHN0YWdpbmdLZXksXG4gICAgICAgICAgQm9keTogYXNzZXQsXG4gICAgICAgICAgQ29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLFxuICAgICAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgICAgICAnTGFtYmRhLUxvZy1Hcm91cCc6IGNvbnRleHQubG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgJ0xhbWJkYS1Mb2ctU3RyZWFtJzogY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgICAgICAgICAgJ0xhbWJkYS1SdW4tSWQnOiBjb250ZXh0LmF3c1JlcXVlc3RJZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICAucHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gaW50ZWdyaXR5KFxuICAgICAgICB7XG4gICAgICAgICAgdGFyYmFsbFVyaTogYHMzOi8vJHtzdGFnaW5nQnVja2V0fS8ke3N0YWdpbmdLZXl9YCxcbiAgICAgICAgICBtZXRhZGF0YTogeyByZXNvdXJjZXM6IGV2ZW50LnJlc291cmNlcy5qb2luKCcsICcpIH0sXG4gICAgICAgICAgdGltZTogZXZlbnQudGltZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyYmFsbFxuICAgICAgKTtcbiAgICAgIHJldHVybiBhd3NcbiAgICAgICAgLnNxcygpXG4gICAgICAgIC5zZW5kTWVzc2FnZSh7XG4gICAgICAgICAgTWVzc2FnZUF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIEFXU19SRVFVRVNUX0lEOiB7XG4gICAgICAgICAgICAgIERhdGFUeXBlOiAnU3RyaW5nJyxcbiAgICAgICAgICAgICAgU3RyaW5nVmFsdWU6IGNvbnRleHQuYXdzUmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIExPR19HUk9VUF9OQU1FOiB7XG4gICAgICAgICAgICAgIERhdGFUeXBlOiAnU3RyaW5nJyxcbiAgICAgICAgICAgICAgU3RyaW5nVmFsdWU6IGNvbnRleHQubG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIExPR19TVFJFQU1fTkFNRToge1xuICAgICAgICAgICAgICBEYXRhVHlwZTogJ1N0cmluZycsXG4gICAgICAgICAgICAgIFN0cmluZ1ZhbHVlOiBjb250ZXh0LmxvZ1N0cmVhbU5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgTWVzc2FnZUJvZHk6IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpLFxuICAgICAgICAgIE1lc3NhZ2VEZWR1cGxpY2F0aW9uSWQ6IGV2ZW50LmRldGFpbC5ldmVudERlZHVwbGljYXRpb25JZCxcbiAgICAgICAgICBRdWV1ZVVybDogcXVldWVVcmwsXG4gICAgICAgIH0pXG4gICAgICAgIC5wcm9taXNlKCk7XG4gICAgfVxuKTtcblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYXJ0aWZhY3QvbGF0ZXN0L3VnL3NlcnZpY2UtZXZlbnQtZm9ybWF0LWV4YW1wbGUuaHRtbFxuICovXG5pbnRlcmZhY2UgQ29kZUFydGlmYWN0RGV0YWlsIHtcbiAgLyoqXG4gICAqIFRoZSBkb21haW4gdGhhdCBjb250YWlucyB0aGUgcmVwb3NpdG9yeSB0aGF0IGNvbnRhaW5zIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSUQgb2YgdGhlIG93bmVyIG9mIHRoZSBkb21haW4uXG4gICAqL1xuICByZWFkb25seSBkb21haW5Pd25lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSB0aGF0IGNvbnRhaW5zIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCBvZiB0aGUgcGFja2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlRm9ybWF0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2Ugb2YgdGhlIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBwYWNrYWdlIHZlcnNpb24gd2hlbiB0aGUgZXZlbnQgd2FzIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uU3RhdGU6XG4gICAgfCAnVW5maW5pc2hlZCdcbiAgICB8ICdQdWJsaXNoZWQnXG4gICAgfCAnVW5saXN0ZWQnXG4gICAgfCAnQXJjaGl2ZWQnXG4gICAgfCAnRGlzcG9zZWQnO1xuXG4gIC8qKlxuICAgKiBBIHZhbHVlIHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgc3RhdGUgb2YgdGhlIGFzc2V0cyBhbmQgbWV0YWRhdGEgb2YgdGhlIHBhY2thZ2UgdmVyc2lvbiB3aGVuIHRoZSBldmVudCB3YXNcbiAgICogdHJpZ2dlcmVkLiBJZiB0aGUgcGFja2FnZSB2ZXJzaW9uIGlzIG1vZGlmaWVkIChmb3IgZXhhbXBsZSwgYnkgYWRkaW5nIGFub3RoZXIgSkFSIGZpbGUgdG8gYSBNYXZlbiBwYWNrYWdlKSwgdGhlXG4gICAqIHBhY2thZ2VWZXJzaW9uUmV2aXNpb24gY2hhbmdlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uUmV2aXNpb246IHN0cmluZztcblxuICByZWFkb25seSBjaGFuZ2VzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBhc3NldHMgYWRkZWQgdG8gYSBwYWNrYWdlIHRoYXQgdHJpZ2dlcmVkIGFuIGV2ZW50LiBFeGFtcGxlcyBvZiBhbiBhc3NldCBhcmUgYSBNYXZlbiBKQVIgZmlsZSBvciBhXG4gICAgICogUHl0aG9uIHdoZWVsLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFzc2V0c0FkZGVkOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGFzc2V0cyByZW1vdmVkIGZyb20gYSBwYWNrYWdlIHRoYXQgdHJpZ2dlcmVkIGFuIGV2ZW50LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFzc2V0c1JlbW92ZWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgYXNzZXRzIG1vZGlmaWVkIGluIHRoZSBwYWNrYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudC5cbiAgICAgKi9cbiAgICByZWFkb25seSBtZXRhZGF0YVVwZGF0ZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBIGJvb2xlYW4gdmFsdWUgdGhhdCBpcyBzZXQgdG8gdHJ1ZSBpZiB0aGUgZXZlbnQgaW5jbHVkZXMgbW9kaWZpZWQgcGFja2FnZS1sZXZlbCBtZXRhZGF0YS4gRm9yIGV4YW1wbGUsIGFuIGV2ZW50XG4gICAgICogbWlnaHQgbW9kaWZ5IGEgTWF2ZW4gcG9tLnhtbCBmaWxlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFzc2V0c1VwZGF0ZWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEEgYm9vbGVhbiB2YWx1ZSB0aGF0IGlzIHNldCB0byB0cnVlIGlmIHRoZSBldmVudCdzIHBhY2thZ2VWZXJzaW9uU3RhdHVzIGlzIG1vZGlmaWVkKGZvciBleGFtcGxlLCBpZlxuICAgICAqIHBhY2thZ2VWZXJzaW9uU3RhdHVzIGNoYW5nZXMgZnJvbSBVbmZpbmlzaGVkIHRvIFB1Ymxpc2hlZCkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhdHVzQ2hhbmdlZDogYm9vbGVhbjtcbiAgfTtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBoaWdoLWxldmVsIHR5cGUgb2YgdGhlIHBhY2thZ2UgdmVyc2lvbiBjaGFuZ2UuXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25UeXBlOiAnQ3JlYXRlZCcgfCAnVXBkYXRlZCcgfCAnRGVsZXRlZCc7XG5cbiAgLyoqXG4gICAqIEFuIGludGVnZXIgdGhhdCBzcGVjaWZpZXMgYW4gZXZlbnQgbnVtYmVyIGZvciBhIHBhY2thZ2UuIEVhY2ggZXZlbnQgb24gYSBwYWNrYWdlIGluY3JlbWVudHMgdGhlIHNlcXVlbmNlTnVtYmVyIHNvXG4gICAqIGV2ZW50cyBjYW4gYmUgYXJyYW5nZWQgc2VxdWVudGlhbGx5LiBBbiBldmVudCBjYW4gaW5jcmVtZW50IHRoZSBzZXF1ZW5jZU51bWJlciBieSBhbnkgaW50ZWdlciBudW1iZXIuXG4gICAqL1xuICByZWFkb25seSBzZXF1ZW5jZU51bWJlcjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbiBJRCB1c2VkIHRvIGRpZmZlcmVudGlhdGUgZHVwbGljYXRlIEV2ZW50QnJpZGdlIGV2ZW50cy4gSW4gcmFyZSBjYXNlcywgRXZlbnRCcmlkZ2UgbWlnaHQgdHJpZ2dlciB0aGUgc2FtZSBydWxlXG4gICAqIG1vcmUgdGhhbiBvbmNlIGZvciBhIHNpbmdsZSBldmVudCBvciBzY2hlZHVsZWQgdGltZS4gT3IsIGl0IG1pZ2h0IGludm9rZSB0aGUgc2FtZSB0YXJnZXQgbW9yZSB0aGFuIG9uY2UgZm9yIGEgZ2l2ZW5cbiAgICogdHJpZ2dlcmVkIHJ1bGUuXG4gICAqL1xuICByZWFkb25seSBldmVudERlZHVwbGljYXRpb25JZDogc3RyaW5nO1xufVxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hcnRpZmFjdC1mb3J3YXJkZXIubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhY2thZ2Utc291cmNlcy9jb2RlYXJ0aWZhY3QvY29kZS1hcnRpZmFjdC1mb3J3YXJkZXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUF5RDtBQUd6RCx1RkFBOEU7QUFDOUUsMEZBQW9GO0FBQ3BGLDhEQUE4RDtBQUM5RCw4RUFBb0U7QUFDcEUsMEZBQXlFO0FBQ3pFLHNGQUE0RTtBQUM1RSx1RUFNbUM7QUFFbkMsTUFBTSxXQUFXLEdBQUcsMkNBQW9ELENBQUM7QUFFNUQsUUFBQSxPQUFPLEdBQUcsa0NBQVcsQ0FDaEMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLEtBQUssRUFDSCxLQUErRCxFQUMvRCxPQUFnQixFQUNoQixFQUFFOztJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sYUFBYSxHQUFHLDhCQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEQsTUFBTSxRQUFRLEdBQUcsOEJBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV6QyxPQUFPLENBQUMsWUFBWSxDQUFDLDJDQUFpQixDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNwQixDQUFDLGdEQUFzQixDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQ2xELENBQUMsK0NBQXFCLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDaEQsQ0FBQyxtREFBeUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYztLQUN6RCxDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFn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QUM7UUFDWCxpQkFBaUIsRUFBRTtZQUNqQixjQUFjLEVBQUU7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWTthQUNsQztZQUNELGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ2xDO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWE7YUFDbkM7U0FDRjtRQUNELFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNwQyxRQUFRLEVBQUUsUUFBUTtLQUNuQixDQUFDO1NBQ0QsT0FBTyxFQUFFLENBQUM7QUFDZixDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ldHJpY1Njb3BlLCBVbml0IH0gZnJvbSAnYXdzLWVtYmVkZGVkLW1ldHJpY3MnO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0LCBFdmVudEJyaWRnZUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5cbmltcG9ydCB7IERlbnlMaXN0Q2xpZW50IH0gZnJvbSAnLi4vLi4vYmFja2VuZC9kZW55LWxpc3QvY2xpZW50LmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgTGljZW5zZUxpc3RDbGllbnQgfSBmcm9tICcuLi8uLi9iYWNrZW5kL2xpY2Vuc2UtbGlzdC9jbGllbnQubGFtYmRhLXNoYXJlZCc7XG5pbXBvcnQgKiBhcyBhd3MgZnJvbSAnLi4vLi4vYmFja2VuZC9zaGFyZWQvYXdzLmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgcmVxdWlyZUVudiB9IGZyb20gJy4uLy4uL2JhY2tlbmQvc2hhcmVkL2Vudi5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7IGludGVncml0eSB9IGZyb20gJy4uLy4uL2JhY2tlbmQvc2hhcmVkL2ludGVncml0eS5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7IGV4dHJhY3RPYmplY3RzIH0gZnJvbSAnLi4vLi4vYmFja2VuZC9zaGFyZWQvdGFyYmFsbC5sYW1iZGEtc2hhcmVkJztcbmltcG9ydCB7XG4gIE1FVFJJQ1NfTkFNRVNQQUNFLFxuICBNZXRyaWNOYW1lLFxuICBET01BSU5fT1dORVJfRElNRU5TSU9OLFxuICBET01BSU5fTkFNRV9ESU1FTlNJT04sXG4gIFJFUE9TSVRPUllfTkFNRV9ESU1FTlNJT04sXG59IGZyb20gJy4vY29uc3RhbnRzLmxhbWJkYS1zaGFyZWQnO1xuXG5jb25zdCBERVRBSUxfVFlQRSA9ICdDb2RlQXJ0aWZhY3QgUGFja2FnZSBWZXJzaW9uIFN0YXRlIENoYW5nZScgYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gbWV0cmljU2NvcGUoXG4gIChtZXRyaWNzKSA9PlxuICAgIGFzeW5jIChcbiAgICAgIGV2ZW50OiBFdmVudEJyaWRnZUV2ZW50PHR5cGVvZiBERVRBSUxfVFlQRSwgQ29kZUFydGlmYWN0RGV0YWlsPixcbiAgICAgIGNvbnRleHQ6IENvbnRleHRcbiAgICApID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBFdmVudDogJHtKU09OLnN0cmluZ2lmeShldmVudCwgbnVsbCwgMil9YCk7XG5cbiAgICAgIGNvbnN0IHN0YWdpbmdCdWNrZXQgPSByZXF1aXJlRW52KCdCVUNLRVRfTkFNRScpO1xuICAgICAgY29uc3QgcXVldWVVcmwgPSByZXF1aXJlRW52KCdRVUVVRV9VUkwnKTtcblxuICAgICAgbWV0cmljcy5zZXROYW1lc3BhY2UoTUVUUklDU19OQU1FU1BBQ0UpO1xuICAgICAgbWV0cmljcy5zZXREaW1lbnNpb25zKHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwuZG9tYWluT3duZXIsXG4gICAgICAgIFtET01BSU5fTkFNRV9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwuZG9tYWluTmFtZSxcbiAgICAgICAgW1JFUE9TSVRPUllfTkFNRV9ESU1FTlNJT05dOiBldmVudC5kZXRhaWwucmVwb3NpdG9yeU5hbWUsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcGFja2FnZU5hbWUgPSBldmVudC5kZXRhaWwucGFja2FnZU5hbWVzcGFjZVxuICAgICAgICA/IGBAJHtldmVudC5kZXRhaWwucGFja2FnZU5hbWVzcGFjZX0vJHtldmVudC5kZXRhaWwucGFja2FnZU5hbWV9YFxuICAgICAgICA6IGV2ZW50LmRldGFpbC5wYWNrYWdlTmFtZTtcblxuICAgICAgaWYgKGV2ZW50LmRldGFpbC5vcGVyYXRpb25UeXBlID09PSAnRGVsZXRlZCcpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYE9wZXJhdGlvbiB0eXBlIGlzIFwiRGVsZXRlZFwiIGZvciAke3BhY2thZ2VOYW1lfUAke2V2ZW50LmRldGFpbC5wYWNrYWdlVmVyc2lvbn1gXG4gICAgICAgICk7XG4gICAgICAgIG1ldHJpY3MucHV0TWV0cmljKE1ldHJpY05hbWUuREVMRVRFRF9DT1VOVCwgMSwgVW5pdC5Db3VudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVueUxpc3QgPSBhd2FpdCBEZW55TGlzdENsaWVudC5uZXdDbGllbnQoKTtcbiAgICAgIGNvbnN0IGRlbmllZCA9IGRlbnlMaXN0Lmxvb2t1cChwYWNrYWdlTmFtZSwgZXZlbnQuZGV0YWlsLnBhY2thZ2VWZXJzaW9uKTtcbiAgICAgIGlmIChkZW5pZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYFBhY2thZ2UgJHtwYWNrYWdlTmFtZX1AJHtcbiAgICAgICAgICAgIGV2ZW50LmRldGFpbC5wYWNrYWdlVmVyc2lvblxuICAgICAgICAgIH0gZGVuaWVkOiAke0pTT04uc3RyaW5naWZ5KGRlbmllZCwgbnVsbCwgMil9YFxuICAgICAgICApO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhNZXRyaWNOYW1lLkRFTllfTElTVEVEX0NPVU5ULCAxLCBVbml0LkNvdW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGFzc2V0LCBwYWNrYWdlVmVyc2lvblJldmlzaW9uIH0gPSBhd2FpdCBhd3NcbiAgICAgICAgLmNvZGVBcnRpZmFjdCgpXG4gICAgICAgIC5nZXRQYWNrYWdlVmVyc2lvbkFzc2V0KHtcbiAgICAgICAgICBhc3NldDogJ3BhY2thZ2UudGd6JywgLy8gQWx3YXlzIG5hbWVkIHRoaXMgd2F5IGZvciBucG0gcGFja2FnZXMhXG4gICAgICAgICAgZG9tYWluT3duZXI6IGV2ZW50LmRldGFpbC5kb21haW5Pd25lcixcbiAgICAgICAgICBkb21haW46IGV2ZW50LmRldGFpbC5kb21haW5OYW1lLFxuICAgICAgICAgIHJlcG9zaXRvcnk6IGV2ZW50LmRldGFpbC5yZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgICBmb3JtYXQ6IGV2ZW50LmRldGFpbC5wYWNrYWdlRm9ybWF0LFxuICAgICAgICAgIG5hbWVzcGFjZTogZXZlbnQuZGV0YWlsLnBhY2thZ2VOYW1lc3BhY2UsXG4gICAgICAgICAgcGFja2FnZTogZXZlbnQuZGV0YWlsLnBhY2thZ2VOYW1lLFxuICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb24sXG4gICAgICAgIH0pXG4gICAgICAgIC5wcm9taXNlKCk7XG4gICAgICBjb25zdCB0YXJiYWxsID0gQnVmZmVyLmZyb20oYXNzZXQhIGFzIGFueSk7XG5cbiAgICAgIGNvbnN0IHsgYXNzZW1ibHlKc29uLCBwYWNrYWdlSnNvbiB9ID0gYXdhaXQgZXh0cmFjdE9iamVjdHModGFyYmFsbCwge1xuICAgICAgICBhc3NlbWJseUpzb246IHsgcGF0aDogJ3BhY2thZ2UvLmpzaWknIH0sXG4gICAgICAgIHBhY2thZ2VKc29uOiB7IHBhdGg6ICdwYWNrYWdlL3BhY2thZ2UuanNvbicsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICB9KTtcbiAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICBNZXRyaWNOYW1lLk5PVF9KU0lJX0VOQUJMRURfQ09VTlQsXG4gICAgICAgIGFzc2VtYmx5SnNvbiA/IDAgOiAxLFxuICAgICAgICBVbml0LkNvdW50XG4gICAgICApO1xuICAgICAgaWYgKGFzc2VtYmx5SnNvbiA9PSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBQYWNrYWdlIFwiJHtwYWNrYWdlTmFtZX1AJHtldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb259XCIgZG9lcyBub3QgY29udGFpbiBhIC5qc2lpIGFzc2VtYmx5YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gSlNPTi5wYXJzZShwYWNrYWdlSnNvbi50b1N0cmluZygndXRmLTgnKSk7XG4gICAgICBjb25zdCBsaWNlbnNlTGlzdCA9IGF3YWl0IExpY2Vuc2VMaXN0Q2xpZW50Lm5ld0NsaWVudCgpO1xuICAgICAgY29uc3QgZWxpZ2libGVMaWNlbnNlID0gbGljZW5zZUxpc3QubG9va3VwKFxuICAgICAgICBtZXRhZGF0YS5saWNlbnNlID8/ICdVTkxJQ0VOU0VEJ1xuICAgICAgKTtcbiAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICBNZXRyaWNOYW1lLklORUxJR0lCTEVfTElDRU5TRSxcbiAgICAgICAgZWxpZ2libGVMaWNlbnNlID8gMCA6IDEsXG4gICAgICAgIFVuaXQuQ291bnRcbiAgICAgICk7XG4gICAgICBpZiAoIWVsaWdpYmxlTGljZW5zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgUGFja2FnZSBcIiR7cGFja2FnZU5hbWV9QCR7XG4gICAgICAgICAgICBldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb25cbiAgICAgICAgICB9XCIgZG9lcyBub3QgdXNlIGFsbG93LWxpc3RlZCBsaWNlbnNlOiAke1xuICAgICAgICAgICAgbWV0YWRhdGEubGljZW5zZSA/PyAnVU5MSUNFTlNFRCdcbiAgICAgICAgICB9YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YWdpbmdLZXkgPSBgJHtwYWNrYWdlTmFtZX0vJHtldmVudC5kZXRhaWwucGFja2FnZVZlcnNpb259LyR7cGFja2FnZVZlcnNpb25SZXZpc2lvbn0vcGFja2FnZS50Z3pgO1xuICAgICAgYXdhaXQgYXdzXG4gICAgICAgIC5zMygpXG4gICAgICAgIC5wdXRPYmplY3Qoe1xuICAgICAgICAgIEJ1Y2tldDogc3RhZ2luZ0J1Y2tldCxcbiAgICAgICAgICBLZXk6IHN0YWdpbmdLZXksXG4gICAgICAgICAgQm9keTogYXNzZXQsXG4gICAgICAgICAgQ29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLFxuICAgICAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgICAgICAnTGFtYmRhLUxvZy1Hcm91cCc6IGNvbnRleHQubG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgJ0xhbWJkYS1Mb2ctU3RyZWFtJzogY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgICAgICAgICAgJ0xhbWJkYS1SdW4tSWQnOiBjb250ZXh0LmF3c1JlcXVlc3RJZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICAucHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gaW50ZWdyaXR5KFxuICAgICAgICB7XG4gICAgICAgICAgdGFyYmFsbFVyaTogYHMzOi8vJHtzdGFnaW5nQnVja2V0fS8ke3N0YWdpbmdLZXl9YCxcbiAgICAgICAgICBtZXRhZGF0YTogeyByZXNvdXJjZXM6IGV2ZW50LnJlc291cmNlcy5qb2luKCcsICcpIH0sXG4gICAgICAgICAgdGltZTogZXZlbnQudGltZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyYmFsbFxuICAgICAgKTtcbiAgICAgIHJldHVybiBhd3NcbiAgICAgICAgLnNxcygpXG4gICAgICAgIC5zZW5kTWVzc2FnZSh7XG4gICAgICAgICAgTWVzc2FnZUF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIEFXU19SRVFVRVNUX0lEOiB7XG4gICAgICAgICAgICAgIERhdGFUeXBlOiAnU3RyaW5nJyxcbiAgICAgICAgICAgICAgU3RyaW5nVmFsdWU6IGNvbnRleHQuYXdzUmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIExPR19HUk9VUF9OQU1FOiB7XG4gICAgICAgICAgICAgIERhdGFUeXBlOiAnU3RyaW5nJyxcbiAgICAgICAgICAgICAgU3RyaW5nVmFsdWU6IGNvbnRleHQubG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIExPR19TVFJFQU1fTkFNRToge1xuICAgICAgICAgICAgICBEYXRhVHlwZTogJ1N0cmluZycsXG4gICAgICAgICAgICAgIFN0cmluZ1ZhbHVlOiBjb250ZXh0LmxvZ1N0cmVhbU5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgTWVzc2FnZUJvZHk6IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpLFxuICAgICAgICAgIFF1ZXVlVXJsOiBxdWV1ZVVybCxcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKTtcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVhcnRpZmFjdC9sYXRlc3QvdWcvc2VydmljZS1ldmVudC1mb3JtYXQtZXhhbXBsZS5odG1sXG4gKi9cbmludGVyZmFjZSBDb2RlQXJ0aWZhY3REZXRhaWwge1xuICAvKipcbiAgICogVGhlIGRvbWFpbiB0aGF0IGNvbnRhaW5zIHRoZSByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlIHBhY2thZ2UuXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgYWNjb3VudCBJRCBvZiB0aGUgb3duZXIgb2YgdGhlIGRvbWFpbi5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk93bmVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlIHBhY2thZ2UuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IG9mIHRoZSBwYWNrYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VGb3JtYXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBvZiB0aGUgcGFja2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgcGFja2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIHBhY2thZ2UgdmVyc2lvbiB3aGVuIHRoZSBldmVudCB3YXMgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb25TdGF0ZTpcbiAgICB8ICdVbmZpbmlzaGVkJ1xuICAgIHwgJ1B1Ymxpc2hlZCdcbiAgICB8ICdVbmxpc3RlZCdcbiAgICB8ICdBcmNoaXZlZCdcbiAgICB8ICdEaXNwb3NlZCc7XG5cbiAgLyoqXG4gICAqIEEgdmFsdWUgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBzdGF0ZSBvZiB0aGUgYXNzZXRzIGFuZCBtZXRhZGF0YSBvZiB0aGUgcGFja2FnZSB2ZXJzaW9uIHdoZW4gdGhlIGV2ZW50IHdhc1xuICAgKiB0cmlnZ2VyZWQuIElmIHRoZSBwYWNrYWdlIHZlcnNpb24gaXMgbW9kaWZpZWQgKGZvciBleGFtcGxlLCBieSBhZGRpbmcgYW5vdGhlciBKQVIgZmlsZSB0byBhIE1hdmVuIHBhY2thZ2UpLCB0aGVcbiAgICogcGFja2FnZVZlcnNpb25SZXZpc2lvbiBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb25SZXZpc2lvbjogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGNoYW5nZXM6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGFzc2V0cyBhZGRlZCB0byBhIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgYW4gZXZlbnQuIEV4YW1wbGVzIG9mIGFuIGFzc2V0IGFyZSBhIE1hdmVuIEpBUiBmaWxlIG9yIGFcbiAgICAgKiBQeXRob24gd2hlZWwuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXNzZXRzQWRkZWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgYXNzZXRzIHJlbW92ZWQgZnJvbSBhIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgYW4gZXZlbnQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXNzZXRzUmVtb3ZlZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBhc3NldHMgbW9kaWZpZWQgaW4gdGhlIHBhY2thZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1ldGFkYXRhVXBkYXRlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEEgYm9vbGVhbiB2YWx1ZSB0aGF0IGlzIHNldCB0byB0cnVlIGlmIHRoZSBldmVudCBpbmNsdWRlcyBtb2RpZmllZCBwYWNrYWdlLWxldmVsIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgYW4gZXZlbnRcbiAgICAgKiBtaWdodCBtb2RpZnkgYSBNYXZlbiBwb20ueG1sIGZpbGUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXNzZXRzVXBkYXRlZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQSBib29sZWFuIHZhbHVlIHRoYXQgaXMgc2V0IHRvIHRydWUgaWYgdGhlIGV2ZW50J3MgcGFja2FnZVZlcnNpb25TdGF0dXMgaXMgbW9kaWZpZWQoZm9yIGV4YW1wbGUsIGlmXG4gICAgICogcGFja2FnZVZlcnNpb25TdGF0dXMgY2hhbmdlcyBmcm9tIFVuZmluaXNoZWQgdG8gUHVibGlzaGVkKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0dXNDaGFuZ2VkOiBib29sZWFuO1xuICB9O1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGhpZ2gtbGV2ZWwgdHlwZSBvZiB0aGUgcGFja2FnZSB2ZXJzaW9uIGNoYW5nZS5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvblR5cGU6ICdDcmVhdGVkJyB8ICdVcGRhdGVkJyB8ICdEZWxldGVkJztcblxuICAvKipcbiAgICogQW4gaW50ZWdlciB0aGF0IHNwZWNpZmllcyBhbiBldmVudCBudW1iZXIgZm9yIGEgcGFja2FnZS4gRWFjaCBldmVudCBvbiBhIHBhY2thZ2UgaW5jcmVtZW50cyB0aGUgc2VxdWVuY2VOdW1iZXIgc29cbiAgICogZXZlbnRzIGNhbiBiZSBhcnJhbmdlZCBzZXF1ZW50aWFsbHkuIEFuIGV2ZW50IGNhbiBpbmNyZW1lbnQgdGhlIHNlcXVlbmNlTnVtYmVyIGJ5IGFueSBpbnRlZ2VyIG51bWJlci5cbiAgICovXG4gIHJlYWRvbmx5IHNlcXVlbmNlTnVtYmVyOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFuIElEIHVzZWQgdG8gZGlmZmVyZW50aWF0ZSBkdXBsaWNhdGUgRXZlbnRCcmlkZ2UgZXZlbnRzLiBJbiByYXJlIGNhc2VzLCBFdmVudEJyaWRnZSBtaWdodCB0cmlnZ2VyIHRoZSBzYW1lIHJ1bGVcbiAgICogbW9yZSB0aGFuIG9uY2UgZm9yIGEgc2luZ2xlIGV2ZW50IG9yIHNjaGVkdWxlZCB0aW1lLiBPciwgaXQgbWlnaHQgaW52b2tlIHRoZSBzYW1lIHRhcmdldCBtb3JlIHRoYW4gb25jZSBmb3IgYSBnaXZlblxuICAgKiB0cmlnZ2VyZWQgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50RGVkdXBsaWNhdGlvbklkOiBzdHJpbmc7XG59XG4iXX0=
@@ -22,12 +22,12 @@ class NpmJsPackageCanary extends constructs_1.Construct {
22
22
  ["PACKAGE_NAME" /* PACKAGE_NAME */]: props.packageName,
23
23
  },
24
24
  memorySize: 10024,
25
- timeout: aws_cdk_lib_1.Duration.minutes(1),
25
+ timeout: aws_cdk_lib_1.Duration.minutes(5),
26
26
  });
27
27
  const grant = props.bucket.grantReadWrite(this.handler, `${"package-canary/" /* STATE_PREFIX */}*${".state.json" /* STATE_SUFFIX */}`);
28
28
  const schedule = new aws_events_1.Rule(this, 'Schedule', {
29
29
  description: 'Scheduled executions of the NpmJS package canary',
30
- schedule: aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.minutes(1)),
30
+ schedule: aws_events_1.Schedule.rate(aws_cdk_lib_1.Duration.minutes(5)),
31
31
  targets: [new aws_events_targets_1.LambdaFunction(this.handler)],
32
32
  });
33
33
  // Ensure we don't attempt to run before permissions have been granted.
@@ -35,7 +35,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
35
35
  }
36
36
  metricDwellTime(opts) {
37
37
  return new aws_cloudwatch_1.Metric({
38
- period: aws_cdk_lib_1.Duration.minutes(1),
38
+ period: aws_cdk_lib_1.Duration.minutes(5),
39
39
  statistic: aws_cloudwatch_1.Statistic.MAXIMUM,
40
40
  ...opts,
41
41
  metricName: "DwellTime" /* DWELL_TIME */,
@@ -44,7 +44,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
44
44
  }
45
45
  metricTimeToCatalog(opts) {
46
46
  return new aws_cloudwatch_1.Metric({
47
- period: aws_cdk_lib_1.Duration.minutes(1),
47
+ period: aws_cdk_lib_1.Duration.minutes(5),
48
48
  statistic: aws_cloudwatch_1.Statistic.MAXIMUM,
49
49
  ...opts,
50
50
  metricName: "TimeToCatalog" /* TIME_TO_CATALOG */,
@@ -53,7 +53,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
53
53
  }
54
54
  metricTrackedVersionCount(opts) {
55
55
  return new aws_cloudwatch_1.Metric({
56
- period: aws_cdk_lib_1.Duration.minutes(1),
56
+ period: aws_cdk_lib_1.Duration.minutes(5),
57
57
  statistic: aws_cloudwatch_1.Statistic.MAXIMUM,
58
58
  ...opts,
59
59
  metricName: "TrackedVersionCount" /* TRACKED_VERSION_COUNT */,
@@ -72,7 +72,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
72
72
  */
73
73
  metricEstimatedNpmReplicaLag(opts) {
74
74
  return new aws_cloudwatch_1.Metric({
75
- period: aws_cdk_lib_1.Duration.minutes(1),
75
+ period: aws_cdk_lib_1.Duration.minutes(5),
76
76
  statistic: aws_cloudwatch_1.Statistic.MAXIMUM,
77
77
  ...opts,
78
78
  metricName: "EstimatedNpmReplicaLag" /* NPM_REPLICA_LAG */,
@@ -86,7 +86,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
86
86
  */
87
87
  metricNpmReplicaIsDown(opts) {
88
88
  return new aws_cloudwatch_1.Metric({
89
- period: aws_cdk_lib_1.Duration.minutes(1),
89
+ period: aws_cdk_lib_1.Duration.minutes(5),
90
90
  statistic: aws_cloudwatch_1.Statistic.MAXIMUM,
91
91
  ...opts,
92
92
  metricName: "NpmReplicaIsDown" /* NPM_REPLICA_DOWN */,
@@ -100,7 +100,7 @@ class NpmJsPackageCanary extends constructs_1.Construct {
100
100
  */
101
101
  metricHttpGatewayErrors(opts) {
102
102
  return new aws_cloudwatch_1.Metric({
103
- period: aws_cdk_lib_1.Duration.minutes(1),
103
+ period: aws_cdk_lib_1.Duration.minutes(5),
104
104
  statistic: aws_cloudwatch_1.Statistic.SUM,
105
105
  ...opts,
106
106
  metricName: "HttpGatewayErrors" /* HTTP_GATEWAY_ERRORS */,
@@ -121,4 +121,4 @@ class NpmJsPackageCanary extends constructs_1.Construct {
121
121
  }
122
122
  }
123
123
  exports.NpmJsPackageCanary = NpmJsPackageCanary;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZS1zb3VyY2VzL25wbWpzL2NhbmFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFDdkMsK0RBQThFO0FBQzlFLHVEQUF3RDtBQUN4RCx1RUFBZ0U7QUFFaEUsMkNBQXVDO0FBQ3ZDLGdGQUFrRjtBQUNsRiwyQ0FLcUI7QUFDckIsaUVBQXVFO0FBUXZFLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFHL0MsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEI7UUFFOUIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUkseUNBQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzNDLFlBQVksRUFBRSxnREFBeUIsQ0FBQyxJQUFJLENBQUM7WUFDN0MsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixLQUFLLENBQUMsV0FBVyx3QkFBd0I7WUFDckcsV0FBVyxFQUFFO2dCQUNYLG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLHVEQUFvQyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQy9ELCtEQUF3QyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtnQkFDakUsbUNBQTBCLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDOUM7WUFDRCxVQUFVLEVBQUUsS0FBTTtZQUNsQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUN2QyxJQUFJLENBQUMsT0FBTyxFQUNaLEdBQUcsb0NBQXNCLElBQUksZ0NBQXNCLEVBQUUsQ0FDdEQsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFH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T0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQW9CO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBbklELGdEQW1JQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTWV0cmljT3B0aW9ucywgTWV0cmljLCBTdGF0aXN0aWMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBSdWxlLCBTY2hlZHVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGdyYXZpdG9uTGFtYmRhSWZBdmFpbGFibGUgfSBmcm9tICcuLi8uLi8uLi9iYWNrZW5kL19sYW1iZGEtYXJjaGl0ZWN0dXJlJztcbmltcG9ydCB7XG4gIEVudmlyb25tZW50LFxuICBPYmplY3RLZXksXG4gIE1FVFJJQ1NfTkFNRVNQQUNFLFxuICBNZXRyaWNOYW1lLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOcG1qc1BhY2thZ2VDYW5hcnkgYXMgSGFuZGxlciB9IGZyb20gJy4vbnBtanMtcGFja2FnZS1jYW5hcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5wbUpzUGFja2FnZUNhbmFyeVByb3BzIHtcbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuICByZWFkb25seSBjb25zdHJ1Y3RIdWJCYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhY2thZ2VOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBOcG1Kc1BhY2thZ2VDYW5hcnkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IEhhbmRsZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTnBtSnNQYWNrYWdlQ2FuYXJ5UHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuaGFuZGxlciA9IG5ldyBIYW5kbGVyKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGFyY2hpdGVjdHVyZTogZ3Jhdml0b25MYW1iZGFJZkF2YWlsYWJsZSh0aGlzKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgWyR7c2NvcGUubm9kZS5wYXRofS9QYWNrYWdlQ2FuYXJ5XSBNb25pdG9ycyAke3Byb3BzLnBhY2thZ2VOYW1lfSB2ZXJzaW9ucyBhdmFpbGFiaWxpdHlgLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgQVdTX0VNRl9FTlZJUk9OTUVOVDogJ0xvY2FsJyxcbiAgICAgICAgW0Vudmlyb25tZW50LkNPTlNUUlVDVF9IVUJfQkFTRV9VUkxdOiBwcm9wcy5jb25zdHJ1Y3RIdWJCYXNlVXJsLFxuICAgICAgICBbRW52aXJvbm1lbnQuUEFDS0FHRV9DQU5BUllfQlVDS0VUX05BTUVdOiBwcm9wcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgW0Vudmlyb25tZW50LlBBQ0tBR0VfTkFNRV06IHByb3BzLnBhY2thZ2VOYW1lLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeVNpemU6IDEwXzAyNCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgfSk7XG4gICAgY29uc3QgZ3JhbnQgPSBwcm9wcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoXG4gICAgICB0aGlzLmhhbmRsZXIsXG4gICAgICBgJHtPYmplY3RLZXkuU1RBVEVfUFJFRklYfSoke09iamVjdEtleS5TVEFURV9TVUZGSVh9YFxuICAgICk7XG5cbiAgICBjb25zdCBzY2hlZHVsZSA9IG5ldyBSdWxlKHRoaXMsICdTY2hlZHVsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2NoZWR1bGVkIGV4ZWN1dGlvbnMgb2YgdGhlIE5wbUpTIHBhY2thZ2UgY2FuYXJ5JyxcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yYXRlKER1cmF0aW9uLm1pbnV0ZXMoMSkpLFxuICAgICAgdGFyZ2V0czogW25ldyBMYW1iZGFGdW5jdGlvbih0aGlzLmhhbmRsZXIpXSxcbiAgICB9KTtcbiAgICAvLyBFbnN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byBydW4gYmVmb3JlIHBlcm1pc3Npb25zIGhhdmUgYmVlbiBncmFudGVkLlxuICAgIHNjaGVkdWxlLm5vZGUuYWRkRGVwZW5kZW5jeShncmFudCk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljRHdlbGxUaW1lKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5NQVhJTVVNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuRFdFTExfVElNRSxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljVGltZVRvQ2F0YWxvZyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLlRJTUVfVE9fQ0FUQUxPRyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljVHJhY2tlZFZlcnNpb25Db3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLlRSQUNLRURfVkVSU0lPTl9DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVzdGltYXRlZCBsYWcgYmV0d2VlbiB0aGUgbnBtIHJlZ2lzdHJ5IHJlcGxpY2EgKHJlcGxjYXRlLm5wbWpzLmNvbSkgYW5kXG4gICAqIHRoZSBwcmltYXJ5IHJlZ2lzdHJ5IChyZWdpc3RyeS5ucG1qcy5jb20pLlxuICAgKlxuICAgKiBJTVBPUlRBTlQgTk9URTogVGhpcyBpcyBiYXNlZCBvbiB0aGUgZGlmZmVyZW5jZSBpbiBtb2RpZmllZCB0aW1lc3RhbXBzIGZvclxuICAgKiB0aGUgcHJvYmUgcGFja2FnZSBiZXR3ZWVuIHRoZSB0d28gYW5kIGhlbmNlIGhhcyBhIGdyYW51bGFybHkgbm8gYmV0dGVyIHRoYW5cbiAgICogdGhlIHB1Ymxpc2hpbmcgaW50ZXJ2YWwgb2YgdGhpcy4gU2luY2UgdGhlIGNvbnN0cnVjdC1odWItcHJvYmUgcGFja2FnZSBpc1xuICAgKiBvbmx5IHB1Ymxpc2hlZCBldmVyeSAzIGhvdXJzIGFwcHJveGltYXRlbHksIHRoaXMgbWV0cmljIGhhcyBhIHJlc29sdXRpb25cbiAgICogdGhhdCBpcyBzdHJpY3RseSB3b3JzZSB0aGFuIDMgaG91cnMuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRXN0aW1hdGVkTnBtUmVwbGljYUxhZyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLk5QTV9SRVBMSUNBX0xBRyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRyaWMgdHJhY2tpbmcgd2hldGhlciB0aGUgbnBtIHJlZ2lzdHJ5IHJlcGxpY2EgKHJlcGxpY2F0ZS5ucG1qcy5jb20pXG4gICAqIGlzIGRvd24uIFRoZSB2YWx1ZSBpcyAxIHdoZW4gdGhlIHJlcGxpY2EgaXMgZGV0ZWN0ZWQgdG8gYmUgZG93biwgYW5kIDBcbiAgICogd2hlbiB0aGUgcmVwbGljYSBpcyBkZXRlY3RlZCB0byBiZSB1cC5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNOcG1SZXBsaWNhSXNEb3duKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5NQVhJTVVNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuTlBNX1JFUExJQ0FfRE9XTixcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRyaWMgdHJhY2tpbmcgSFRUUCBHYXRld2F5IGVycm9ycyBleHBlcmllbmNlZCB3aGlsZSB0aGUgY2FuYXJ5IGlzXG4gICAqIHJ1bm5pbmcuIFRob3NlIGFyZSB0eXBpY2FsbHkgY2F1c2VkIGJ5IHRoZSBucG0gcmVnaXN0cnkgc2VydmVycyBiZWluZ1xuICAgKiBvdmVybG9hZGVkIG9yIG90aGVyd2lzZSBpbXBhaXJlZCwgYW5kIHdvdWxkIGNhdXNlIGZhbHNlIGFsYXJtcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNIdHRwR2F0ZXdheUVycm9ycyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuSFRUUF9HQVRFV0FZX0VSUk9SUyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljRXJyb3JzKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVyLm1ldHJpY0Vycm9ycyhvcHRzKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9ucyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlci5tZXRyaWNJbnZvY2F0aW9ucyhvcHRzKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRyaWNUaHJvdHRsZXMob3B0cz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZXIubWV0cmljVGhyb3R0bGVzKG9wdHMpO1xuICB9XG5cbiAgcHVibGljIG1ldHJpY0R1cmF0aW9uKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVyLm1ldHJpY0R1cmF0aW9uKG9wdHMpO1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZS1zb3VyY2VzL25wbWpzL2NhbmFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFDdkMsK0RBQThFO0FBQzlFLHVEQUF3RDtBQUN4RCx1RUFBZ0U7QUFFaEUsMkNBQXVDO0FBQ3ZDLGdGQUFrRjtBQUNsRiwyQ0FLcUI7QUFDckIsaUVBQXVFO0FBUXZFLE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFHL0MsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEI7UUFFOUIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUkseUNBQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzNDLFlBQVksRUFBRSxnREFBeUIsQ0FBQyxJQUFJLENBQUM7WUFDN0MsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixLQUFLLENBQUMsV0FBVyx3QkFBd0I7WUFDckcsV0FBVyxFQUFFO2dCQUNYLG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLHVEQUFvQyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQy9ELCtEQUF3QyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtnQkFDakUsbUNBQTBCLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDOUM7WUFDRCxVQUFVLEVBQUUsS0FBTTtZQUNsQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUN2QyxJQUFJLENBQUMsT0FBTyxFQUNaLEdBQUcsb0NBQXNCLElBQUksZ0NBQXNCLEVBQUUsQ0FDdEQsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzFDLFdBQVcsRUFBRSxrREFBa0Q7WUFDL0QsUUFBUSxFQUFFLHFCQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxDQUFDLElBQUksbUNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUMsQ0FBQyxDQUFDO1FBQ0gsdUVBQXVFO1FBQ3ZFLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBb0I7UUFDekMsT0FBTyxJQUFJLHVCQUFNLENBQUM7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixTQUFTLEVBQUUsMEJBQVMsQ0FBQyxPQUFPO1lBQzVCLEdBQUcsSUFBSTtZQUNQLFVBQVUsOEJBQXVCO1lBQ2pDLFNBQVMsRUFBRSw2QkFBaUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLElBQW9CO1FBQzdDLE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsU0FBUyxFQUFFLDBCQUFTLENBQUMsT0FBTztZQUM1QixHQUFHLElBQUk7WUFDUCxVQUFVLHVDQUE0QjtZQUN0QyxTQUFTLEVBQUUsNkJBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxJQUFvQjtRQUNuRCxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSwwQkFBUyxDQUFDLE9BQU87WUFDNUIsR0FBRyxJQUFJO1lBQ1AsVUFBVSxtREFBa0M7WUFDNUMsU0FBUyxFQUFFLDZCQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksNEJBQTRCLENBQUMsSUFBb0I7UUFDdEQsT0FBTyxJQUFJLHVCQUFNLENBQUM7WUFDaEIsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixTQUFTLEVBQUUsMEJBQVMsQ0FBQyxPQUFPO1lBQzVCLEdBQUcsSUFBSTtZQUNQLFVBQVUsZ0RBQTRCO1lBQ3RDLFNBQVMsRUFBRSw2QkFBaUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0IsQ0FBQyxJQUFvQjtRQUNoRCxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSwwQkFBUyxDQUFDLE9BQU87WUFDNUIsR0FBRyxJQUFJO1lBQ1AsVUFBVSwyQ0FBNkI7WUFDdkMsU0FBUyxFQUFFLDZCQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUF1QixDQUFDLElBQW9CO1FBQ2pELE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsU0FBUyxFQUFFLDBCQUFTLENBQUMsR0FBRztZQUN4QixHQUFHLElBQUk7WUFDUCxVQUFVLCtDQUFnQztZQUMxQyxTQUFTLEVBQUUsNkJBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBb0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBb0I7UUFDekMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQW9CO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBbklELGdEQW1JQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTWV0cmljT3B0aW9ucywgTWV0cmljLCBTdGF0aXN0aWMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBSdWxlLCBTY2hlZHVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGdyYXZpdG9uTGFtYmRhSWZBdmFpbGFibGUgfSBmcm9tICcuLi8uLi8uLi9iYWNrZW5kL19sYW1iZGEtYXJjaGl0ZWN0dXJlJztcbmltcG9ydCB7XG4gIEVudmlyb25tZW50LFxuICBPYmplY3RLZXksXG4gIE1FVFJJQ1NfTkFNRVNQQUNFLFxuICBNZXRyaWNOYW1lLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOcG1qc1BhY2thZ2VDYW5hcnkgYXMgSGFuZGxlciB9IGZyb20gJy4vbnBtanMtcGFja2FnZS1jYW5hcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5wbUpzUGFja2FnZUNhbmFyeVByb3BzIHtcbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuICByZWFkb25seSBjb25zdHJ1Y3RIdWJCYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhY2thZ2VOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBOcG1Kc1BhY2thZ2VDYW5hcnkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IEhhbmRsZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTnBtSnNQYWNrYWdlQ2FuYXJ5UHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuaGFuZGxlciA9IG5ldyBIYW5kbGVyKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGFyY2hpdGVjdHVyZTogZ3Jhdml0b25MYW1iZGFJZkF2YWlsYWJsZSh0aGlzKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgWyR7c2NvcGUubm9kZS5wYXRofS9QYWNrYWdlQ2FuYXJ5XSBNb25pdG9ycyAke3Byb3BzLnBhY2thZ2VOYW1lfSB2ZXJzaW9ucyBhdmFpbGFiaWxpdHlgLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgQVdTX0VNRl9FTlZJUk9OTUVOVDogJ0xvY2FsJyxcbiAgICAgICAgW0Vudmlyb25tZW50LkNPTlNUUlVDVF9IVUJfQkFTRV9VUkxdOiBwcm9wcy5jb25zdHJ1Y3RIdWJCYXNlVXJsLFxuICAgICAgICBbRW52aXJvbm1lbnQuUEFDS0FHRV9DQU5BUllfQlVDS0VUX05BTUVdOiBwcm9wcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgW0Vudmlyb25tZW50LlBBQ0tBR0VfTkFNRV06IHByb3BzLnBhY2thZ2VOYW1lLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeVNpemU6IDEwXzAyNCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgfSk7XG4gICAgY29uc3QgZ3JhbnQgPSBwcm9wcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoXG4gICAgICB0aGlzLmhhbmRsZXIsXG4gICAgICBgJHtPYmplY3RLZXkuU1RBVEVfUFJFRklYfSoke09iamVjdEtleS5TVEFURV9TVUZGSVh9YFxuICAgICk7XG5cbiAgICBjb25zdCBzY2hlZHVsZSA9IG5ldyBSdWxlKHRoaXMsICdTY2hlZHVsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2NoZWR1bGVkIGV4ZWN1dGlvbnMgb2YgdGhlIE5wbUpTIHBhY2thZ2UgY2FuYXJ5JyxcbiAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5yYXRlKER1cmF0aW9uLm1pbnV0ZXMoNSkpLFxuICAgICAgdGFyZ2V0czogW25ldyBMYW1iZGFGdW5jdGlvbih0aGlzLmhhbmRsZXIpXSxcbiAgICB9KTtcbiAgICAvLyBFbnN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byBydW4gYmVmb3JlIHBlcm1pc3Npb25zIGhhdmUgYmVlbiBncmFudGVkLlxuICAgIHNjaGVkdWxlLm5vZGUuYWRkRGVwZW5kZW5jeShncmFudCk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljRHdlbGxUaW1lKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5NQVhJTVVNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuRFdFTExfVElNRSxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljVGltZVRvQ2F0YWxvZyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLlRJTUVfVE9fQ0FUQUxPRyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljVHJhY2tlZFZlcnNpb25Db3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLlRSQUNLRURfVkVSU0lPTl9DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVzdGltYXRlZCBsYWcgYmV0d2VlbiB0aGUgbnBtIHJlZ2lzdHJ5IHJlcGxpY2EgKHJlcGxjYXRlLm5wbWpzLmNvbSkgYW5kXG4gICAqIHRoZSBwcmltYXJ5IHJlZ2lzdHJ5IChyZWdpc3RyeS5ucG1qcy5jb20pLlxuICAgKlxuICAgKiBJTVBPUlRBTlQgTk9URTogVGhpcyBpcyBiYXNlZCBvbiB0aGUgZGlmZmVyZW5jZSBpbiBtb2RpZmllZCB0aW1lc3RhbXBzIGZvclxuICAgKiB0aGUgcHJvYmUgcGFja2FnZSBiZXR3ZWVuIHRoZSB0d28gYW5kIGhlbmNlIGhhcyBhIGdyYW51bGFybHkgbm8gYmV0dGVyIHRoYW5cbiAgICogdGhlIHB1Ymxpc2hpbmcgaW50ZXJ2YWwgb2YgdGhpcy4gU2luY2UgdGhlIGNvbnN0cnVjdC1odWItcHJvYmUgcGFja2FnZSBpc1xuICAgKiBvbmx5IHB1Ymxpc2hlZCBldmVyeSAzIGhvdXJzIGFwcHJveGltYXRlbHksIHRoaXMgbWV0cmljIGhhcyBhIHJlc29sdXRpb25cbiAgICogdGhhdCBpcyBzdHJpY3RseSB3b3JzZSB0aGFuIDMgaG91cnMuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRXN0aW1hdGVkTnBtUmVwbGljYUxhZyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLk5QTV9SRVBMSUNBX0xBRyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRyaWMgdHJhY2tpbmcgd2hldGhlciB0aGUgbnBtIHJlZ2lzdHJ5IHJlcGxpY2EgKHJlcGxpY2F0ZS5ucG1qcy5jb20pXG4gICAqIGlzIGRvd24uIFRoZSB2YWx1ZSBpcyAxIHdoZW4gdGhlIHJlcGxpY2EgaXMgZGV0ZWN0ZWQgdG8gYmUgZG93biwgYW5kIDBcbiAgICogd2hlbiB0aGUgcmVwbGljYSBpcyBkZXRlY3RlZCB0byBiZSB1cC5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNOcG1SZXBsaWNhSXNEb3duKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5NQVhJTVVNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuTlBNX1JFUExJQ0FfRE9XTixcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRyaWMgdHJhY2tpbmcgSFRUUCBHYXRld2F5IGVycm9ycyBleHBlcmllbmNlZCB3aGlsZSB0aGUgY2FuYXJ5IGlzXG4gICAqIHJ1bm5pbmcuIFRob3NlIGFyZSB0eXBpY2FsbHkgY2F1c2VkIGJ5IHRoZSBucG0gcmVnaXN0cnkgc2VydmVycyBiZWluZ1xuICAgKiBvdmVybG9hZGVkIG9yIG90aGVyd2lzZSBpbXBhaXJlZCwgYW5kIHdvdWxkIGNhdXNlIGZhbHNlIGFsYXJtcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNIdHRwR2F0ZXdheUVycm9ycyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuSFRUUF9HQVRFV0FZX0VSUk9SUyxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljRXJyb3JzKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVyLm1ldHJpY0Vycm9ycyhvcHRzKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9ucyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlci5tZXRyaWNJbnZvY2F0aW9ucyhvcHRzKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRyaWNUaHJvdHRsZXMob3B0cz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZXIubWV0cmljVGhyb3R0bGVzKG9wdHMpO1xuICB9XG5cbiAgcHVibGljIG1ldHJpY0R1cmF0aW9uKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVyLm1ldHJpY0R1cmF0aW9uKG9wdHMpO1xuICB9XG59XG4iXX0=
@@ -8077,6 +8077,7 @@ var npmjs_package_canary_lambda_exports = {};
8077
8077
  __export(npmjs_package_canary_lambda_exports, {
8078
8078
  CanaryStateService: () => CanaryStateService,
8079
8079
  HTTPError: () => HTTPError,
8080
+ TimeoutError: () => TimeoutError,
8080
8081
  handler: () => handler
8081
8082
  });
8082
8083
  module.exports = __toCommonJS(npmjs_package_canary_lambda_exports);
@@ -8114,6 +8115,7 @@ var METRICS_NAMESPACE = "ConstructHub/PackageCanary";
8114
8115
 
8115
8116
  // src/package-sources/npmjs/canary/npmjs-package-canary.lambda.ts
8116
8117
  import_aws_embedded_metrics.Configuration.namespace = METRICS_NAMESPACE;
8118
+ var REPLICA_REQUEST_TIMEOUT_MS = 3e4;
8117
8119
  async function handler(event) {
8118
8120
  console.log(`Event: ${JSON.stringify(event, null, 2)}`);
8119
8121
  const packageName = requireEnv("PACKAGE_NAME" /* PACKAGE_NAME */);
@@ -8185,6 +8187,14 @@ async function handler(event) {
8185
8187
  metrics.setProperty("ErrorMessage", error.message);
8186
8188
  metrics.putMetric("HttpGatewayErrors" /* HTTP_GATEWAY_ERRORS */, 1, import_aws_embedded_metrics.Unit.Count);
8187
8189
  })();
8190
+ } else if (error instanceof TimeoutError) {
8191
+ console.error(`Request timeout from a dependency, assuming this is transient:`, error);
8192
+ await (0, import_aws_embedded_metrics.metricScope)((metrics) => async () => {
8193
+ metrics.setDimensions();
8194
+ metrics.setProperty("ErrorCode", "REQUEST_TIMEOUT");
8195
+ metrics.setProperty("ErrorMessage", error.message);
8196
+ metrics.putMetric("HttpGatewayErrors" /* HTTP_GATEWAY_ERRORS */, 1, import_aws_embedded_metrics.Unit.Count);
8197
+ })();
8188
8198
  } else {
8189
8199
  throw error;
8190
8200
  }
@@ -8260,14 +8270,16 @@ var CanaryStateService = class {
8260
8270
  }
8261
8271
  async latest(packageName) {
8262
8272
  console.log(`Fetching latest version information from NPM: ${packageName}`);
8263
- const version = await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`, ["version"]);
8264
- const publishedAt = await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`, ["time", version]);
8273
+ const version = await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`, { jsonPath: ["version"] });
8274
+ const publishedAt = await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`, { jsonPath: ["time", version] });
8265
8275
  console.log(`Package: ${packageName} | Version : ${version} | Published At: ${publishedAt}`);
8266
8276
  return { version, publishedAt: new Date(publishedAt) };
8267
8277
  }
8268
8278
  async isNpmReplicaDown() {
8269
8279
  try {
8270
- await getJSON("https://replicate.npmjs.com/");
8280
+ await getJSON("https://replicate.npmjs.com/", {
8281
+ timeoutMillis: REPLICA_REQUEST_TIMEOUT_MS
8282
+ });
8271
8283
  return false;
8272
8284
  } catch (e) {
8273
8285
  return true;
@@ -8279,7 +8291,7 @@ var CanaryStateService = class {
8279
8291
  const primaryDate = await getModifiedTimestamp(`registry.npmjs.org`);
8280
8292
  let replicaDate;
8281
8293
  try {
8282
- replicaDate = await getModifiedTimestamp(`replicate.npmjs.com/registry`);
8294
+ replicaDate = await getModifiedTimestamp(`replicate.npmjs.com/registry`, REPLICA_REQUEST_TIMEOUT_MS);
8283
8295
  } catch (e) {
8284
8296
  if (e instanceof Error && e.message.includes("HTTP 504")) {
8285
8297
  console.log(`Warning: error fetching replicate.npmjs.com: ${e.toString()}`);
@@ -8292,8 +8304,8 @@ var CanaryStateService = class {
8292
8304
  console.log(`Timestamp on primary: ${primaryDate.toISOString()}`);
8293
8305
  console.log(`Timestamp on replica: ${replicaDate.toISOString()} (${deltaMs / 36e5} hours behind)`);
8294
8306
  return deltaMs / 1e3;
8295
- async function getModifiedTimestamp(baseUrl) {
8296
- const isoDate = await getJSON(`https://${baseUrl}/${encodedPackageName}`, ["time", "modified"]);
8307
+ async function getModifiedTimestamp(baseUrl, timeoutMillis) {
8308
+ const isoDate = await getJSON(`https://${baseUrl}/${encodedPackageName}`, { jsonPath: ["time", "modified"], timeoutMillis });
8297
8309
  return new Date(isoDate);
8298
8310
  }
8299
8311
  }
@@ -8311,10 +8323,23 @@ var HTTPError = class extends Error {
8311
8323
  Error.captureStackTrace(this, HTTPError);
8312
8324
  }
8313
8325
  };
8314
- function getJSON(url, jsonPath) {
8326
+ var TimeoutError = class extends Error {
8327
+ constructor(message) {
8328
+ super(message);
8329
+ Error.captureStackTrace(this, TimeoutError);
8330
+ }
8331
+ };
8332
+ function getJSON(url, {
8333
+ jsonPath,
8334
+ timeoutMillis
8335
+ } = {}) {
8315
8336
  return new Promise((ok, ko) => {
8316
8337
  https.get(url, {
8317
- headers: { Accept: "application/json", "Accept-Encoding": "identity" }
8338
+ headers: {
8339
+ Accept: "application/json",
8340
+ "Accept-Encoding": "identity"
8341
+ },
8342
+ timeout: timeoutMillis
8318
8343
  }, (res) => {
8319
8344
  if (res.statusCode !== 200) {
8320
8345
  const error = new HTTPError(res.statusCode, `GET ${url} - HTTP ${res.statusCode} (${res.statusMessage})`);
@@ -8322,11 +8347,16 @@ function getJSON(url, jsonPath) {
8322
8347
  return ko(error);
8323
8348
  }
8324
8349
  res.once("error", ko);
8350
+ res.once("timeout", () => {
8351
+ ko(new TimeoutError(`Request timed out (after ${timeoutMillis ?? "N/A"} ms): GET ${url}`));
8352
+ });
8325
8353
  const json = JSONStream.parse(jsonPath);
8326
8354
  json.once("data", ok);
8327
8355
  json.once("error", ko);
8328
8356
  const plainPayload = res.headers["content-encoding"] === "gzip" ? gunzip(res) : res;
8329
8357
  plainPayload.pipe(json, { end: true });
8358
+ }).once("timeout", () => {
8359
+ ko(new TimeoutError(`Request timed out (after ${timeoutMillis ?? "N/A"} ms): GET ${url}`));
8330
8360
  });
8331
8361
  });
8332
8362
  }
@@ -8350,6 +8380,7 @@ function gunzip(readable) {
8350
8380
  0 && (module.exports = {
8351
8381
  CanaryStateService,
8352
8382
  HTTPError,
8383
+ TimeoutError,
8353
8384
  handler
8354
8385
  });
8355
8386
  //# sourceMappingURL=index.js.map