construct-hub 0.4.414 → 0.4.415
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/.jsii +2 -2
- package/lib/construct-hub.js +1 -1
- package/lib/package-sources/code-artifact.js +1 -1
- package/lib/package-sources/npmjs/canary/npmjs-package-canary.lambda.bundle/index.js +3 -0
- package/lib/package-sources/npmjs/canary/npmjs-package-canary.lambda.bundle/index.js.map +2 -2
- package/lib/package-sources/npmjs/canary/npmjs-package-canary.lambda.js +4 -1
- package/lib/package-sources/npmjs.js +1 -1
- package/lib/package-tag/index.js +3 -3
- package/lib/package-tag-group/index.js +2 -2
- package/lib/preload-file/index.js +1 -1
- package/lib/s3/storage.js +1 -1
- package/lib/spdx-license.js +1 -1
- package/package.json +1 -1
@@ -266,6 +266,9 @@ class CanaryStateService {
|
|
266
266
|
console.log(`Fetching latest version information from NPM: ${packageName}`);
|
267
267
|
const version = (await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`)).version;
|
268
268
|
const publishedAt = (await getJSON(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`)).time[version];
|
269
|
+
if (publishedAt === undefined) {
|
270
|
+
throw new Error(`Latest version of ${packageName} is ${version} but publish time has not been reported.`);
|
271
|
+
}
|
269
272
|
console.log(`Package: ${packageName} | Version : ${version} | Published At: ${publishedAt}`);
|
270
273
|
return { version, publishedAt: new Date(publishedAt) };
|
271
274
|
}
|
@@ -373,4 +376,4 @@ function gunzip(readable) {
|
|
373
376
|
readable.pipe(gz, { end: true });
|
374
377
|
return gz;
|
375
378
|
}
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtanMtcGFja2FnZS1jYW5hcnkubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2Utc291cmNlcy9ucG1qcy9jYW5hcnkvbnBtanMtcGFja2FnZS1jYW5hcnkubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSwwQkF3S0M7QUFoTkQsK0JBQStCO0FBQy9CLHFEQUE2QztBQUU3QywrQkFBb0M7QUFDcEMsa0RBSTRCO0FBQzVCLCtEQUF3RTtBQUN4RSwyQ0FLcUI7QUFFckIsaUZBQXNFO0FBQ3RFLGlGQUF1RTtBQUV2RSxvQ0FBYSxDQUFDLFNBQVMsR0FBRyw2QkFBaUIsQ0FBQztBQUU1QyxNQUFNLDBCQUEwQixHQUFHLEtBQU0sQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQWM7SUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEQsTUFBTSxXQUFXLEdBQUcsSUFBQSw4QkFBVSxnREFBMEIsQ0FBQztJQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFBLDhCQUFVLDRFQUF3QyxDQUFDO0lBQ3ZFLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSw4QkFBVSxvRUFBb0MsQ0FBQztJQUU1RSxNQUFNLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFNUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFnQixDQUFDLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJO1lBQ25FLGtGQUFrRjtZQUNsRixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxNQUFNO2dCQUNULCtEQUErRDtnQkFDL0QsdUVBQXVFO2dCQUN2RSxxRUFBcUU7Z0JBQ3JFLG1FQUFtRTtnQkFDbkUsV0FBVyxFQUFFLENBQUMsTUFBTSxZQUFZLENBQUMsV0FBVyxDQUMxQyxXQUFXLEVBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FDZixDQUFDO29CQUNBLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVztvQkFDcEIsQ0FBQyxDQUFDLFNBQVM7YUFDZDtZQUNELE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFaEUsdUVBQXVFO1FBQ3ZFLG9CQUFvQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUEsa0NBQVcsRUFBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hDLDJIQUEySDtnQkFDM0gsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLFNBQVMsK0RBRWYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDckMsMkJBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztnQkFDRixPQUFPLENBQUMsU0FBUyx1REFFZixDQUFDLE1BQU0sWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9DLDJCQUFJLENBQUMsSUFBSSxDQUNWLENBQUM7WUFDSixDQUFDLENBQUMsRUFBRSxDQUFDO1lBRUwsS0FBSyxNQUFNLFlBQVksSUFBSTtnQkFDekIsS0FBSyxDQUFDLE1BQU07Z0JBQ1osR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2FBQ3RDLEVBQUUsQ0FBQztnQkFDRixPQUFPLENBQUMsR0FBRyxDQUNULHFCQUFxQixZQUFZLENBQUMsT0FBTyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQ25FLFlBQVksRUFDWixJQUFJLEVBQ0osQ0FBQyxDQUNGLEVBQUUsQ0FDSixDQUFDO2dCQUVGLE1BQU0sSUFBQSxrQ0FBVyxFQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDeEMsMkhBQTJIO29CQUMzSCxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMxQixPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVELE9BQU8sQ0FBQyxXQUFXLENBQ2pCLFVBQVUsRUFDVixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsT0FBTyxDQUM5QyxDQUFDO29CQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQzlCLElBQUksWUFBWSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUNsRCxJQUNFLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FDNUIsV0FBVyxFQUNYLFlBQVksQ0FBQyxPQUFPLENBQ3JCLEVBQ0QsQ0FBQztnQ0FDRCxZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7NEJBQ3hDLENBQUM7d0JBQ0gsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLHNGQUFzRjs0QkFDdEYscUZBQXFGOzRCQUNyRixJQUNFLE1BQU0sWUFBWSxDQUFDLDBCQUEwQixDQUMzQyxXQUFXLEVBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FDckIsRUFDRCxDQUFDO2dDQUNELFlBQVksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQzs0QkFDeEMsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUM7b0JBRUQsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQzdCLDZGQUE2Rjt3QkFDN0YsT0FBTyxDQUFDLFNBQVMsbURBRWYsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTs0QkFDakMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDbkMsSUFBSyxFQUNQLDJCQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7d0JBRUYscURBQXFEO3dCQUNyRCxJQUFJLFlBQVksQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUMxQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUM3QyxDQUFDO29CQUNILENBQUM7eUJBQU0sQ0FBQzt3QkFDTiw0RUFBNEU7d0JBQzVFLE9BQU8sQ0FBQyxTQUFTLDBDQUVmLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFLLEVBQ3pELDJCQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7b0JBQ0osQ0FBQztvQkFFRCx5RkFBeUY7b0JBQ3pGLGtFQUFrRTtvQkFDbEUsT0FBTyxDQUFDLFNBQVMsMkRBQWlDLENBQUMsRUFBRSwyQkFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsQ0FBQztRQUNILENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLElBQ0UsS0FBSyxZQUFZLFNBQVM7WUFDMUIsS0FBSyxDQUFDLGNBQWM7WUFDcEIsS0FBSyxDQUFDLGNBQWMsSUFBSSxHQUFHLEVBQzNCLENBQUM7WUFDRCwrRkFBK0Y7WUFDL0YsT0FBTyxDQUFDLEtBQUssQ0FDWCx5REFBeUQsRUFDekQsS0FBSyxDQUNOLENBQUM7WUFDRixNQUFNLElBQUEsa0NBQVcsRUFBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hDLDJIQUEySDtnQkFDM0gsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRW5ELE9BQU8sQ0FBQyxTQUFTLDJEQUFpQyxDQUFDLEVBQUUsMkJBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsZ0VBQWdFLEVBQ2hFLEtBQUssQ0FDTixDQUFDO1lBQ0YsTUFBTSxJQUFBLGtDQUFXLEVBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN4QywySEFBMkg7Z0JBQzNILE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3BELE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFbkQsdUZBQXVGO2dCQUN2RixtRkFBbUY7Z0JBQ25GLDRCQUE0QjtnQkFDNUIsT0FBTyxDQUFDLFNBQVMsMkRBQWlDLENBQUMsRUFBRSwyQkFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNOLDRFQUE0RTtZQUM1RSxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sWUFBWTtJQUdoQixZQUE2QixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUY1Qyx3Q0FBd0I7SUFFdUIsQ0FBQztJQUVoRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQ3RCLFdBQW1CLEVBQ25CLGNBQXNCO1FBRXRCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN0QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQ25FLENBQUM7UUFFRixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FDYiw4QkFBOEIsV0FBVyxJQUFJLGNBQWMsYUFBYSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQywwQkFBMEIsQ0FDckMsV0FBbUIsRUFDbkIsY0FBc0I7UUFFdEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUM1QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLFNBQVMsV0FBVyxLQUFLLGNBQWMscUJBQXFCLENBQUM7WUFDeEYsS0FBSztpQkFDRixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDM0IsaUVBQWlFO29CQUNqRSxzQ0FBc0M7b0JBQ3RDLE9BQU8sRUFBRSxDQUNQLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FDM0QsQ0FBQztnQkFDSixDQUFDO2dCQUNELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUN2QixHQUFHLENBQUMsVUFBVSxFQUNkLFFBQVEsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUMvRCxDQUFDO2dCQUNGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDO2lCQUNELEdBQUcsRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSx1QkFBQSxJQUFJLDZCQUFTLEVBQUUsQ0FBQztZQUNsQixPQUFPLHVCQUFBLElBQUksNkJBQVMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxDQUFDLHVCQUFBLElBQUkseUJBQVksTUFBTSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxlQUFlLENBQUMsTUFBQSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGOztBQUVELE1BQWEsa0JBQWtCO0lBQzdCLFlBQTZCLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFBRyxDQUFDO0lBRW5EOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFtQixFQUFFLEtBQWtCO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sNkJBQVMsQ0FBQyxJQUFJLENBQ2xCLElBQUksNEJBQWdCLENBQUM7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwQyxXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFtQjtRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRTFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLDZCQUFTLENBQUMsSUFBSSxDQUM5QixJQUFJLDRCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQ2xFLENBQUM7WUFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxHQUFHLEtBQUssYUFBYSxJQUFJLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQztvQkFDbkQsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxLQUFLLFlBQVkscUJBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFtQjtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sT0FBTyxHQUFHLENBQ2QsTUFBTSxPQUFPLENBQ1gsOEJBQThCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3ZFLENBQ0YsQ0FBQyxPQUFPLENBQUM7UUFDVixNQUFNLFdBQVcsR0FBRyxDQUNsQixNQUFNLE9BQU8sQ0FDWCw4QkFBOEIsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDaEUsQ0FDRixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoQixPQUFPLENBQUMsR0FBRyxDQUNULFlBQVksV0FBVyxnQkFBZ0IsT0FBTyxvQkFBb0IsV0FBVyxFQUFFLENBQ2hGLENBQUM7UUFFRixPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxDQUFDLDhCQUE4QixFQUFFO2dCQUM1QyxhQUFhLEVBQUUsMEJBQTBCO2FBQzFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRU8sR0FBRyxDQUFDLFdBQW1CO1FBQzdCLE9BQU8sR0FBRyw4Q0FBc0IsR0FBRyxXQUFXLEdBQUcsMENBQXNCLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRU8sR0FBRyxDQUFDLFdBQW1CO1FBQzdCLE9BQU8sUUFBUSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFqR0QsZ0RBaUdDO0FBRUQsTUFBYSxTQUFVLFNBQVEsS0FBSztJQUNsQyxZQUNrQixjQUFrQyxFQUNsRCxPQUFlO1FBRWYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBSWxELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBUkQsOEJBUUM7QUFFRCxNQUFhLFlBQWEsU0FBUSxLQUFLO0lBQ3JDLFlBQW1CLE9BQWU7UUFDaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUFMRCxvQ0FLQztBQThDRDs7Ozs7OztHQU9HO0FBQ0gsU0FBUyxPQUFPLENBQ2QsR0FBVyxFQUNYLEVBQUUsYUFBYSxLQUFzRCxFQUFFO0lBRXZFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDNUIsS0FBSzthQUNGLEdBQUcsQ0FDRixHQUFHLEVBQ0g7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsaUJBQWlCLEVBQUUsVUFBVTtnQkFDN0Isd0JBQXdCLEVBQUUsTUFBTSxFQUFFLG9GQUFvRjthQUN2SDtZQUNELE9BQU8sRUFBRSxhQUFhO1NBQ3ZCLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNOLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQ3pCLEdBQUcsQ0FBQyxVQUFVLEVBQ2QsT0FBTyxHQUFHLFdBQVcsR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsYUFBYSxHQUFHLENBQzdELENBQUM7Z0JBQ0YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUN2QixnREFBZ0Q7Z0JBQ2hELEVBQUUsQ0FDQSxJQUFJLFlBQVksQ0FDZCw0QkFDRSxhQUFhLElBQUksS0FDbkIsYUFBYSxHQUFHLEVBQUUsQ0FDbkIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFlBQVksR0FDaEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakUsT0FBTyxJQUFBLGdCQUFJLEVBQUMsWUFBWSxDQUFDO2lCQUN0QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFhLENBQUMsQ0FBQztpQkFDbkMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQ0Y7YUFDQSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNwQixnREFBZ0Q7WUFDaEQsRUFBRSxDQUNBLElBQUksWUFBWSxDQUNkLDRCQUE0QixhQUFhLElBQUksS0FBSyxhQUFhLEdBQUcsRUFBRSxDQUNyRSxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsb0JBQW9CLENBQzNCLEtBQWtCLEVBQ2xCLE1BQTZCO0lBRTdCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE9BQU87SUFDVCxDQUFDO0lBRUQsaUZBQWlGO0lBQ2pGLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7UUFDckMsc0ZBQXNGO1FBQ3RGLDRFQUE0RTtRQUM1RSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUc7WUFDcEMsR0FBRyxLQUFLLENBQUMsTUFBTTtZQUNmLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQVMsTUFBTSxDQUFDLFFBQWtCO0lBQ2hDLE1BQU0sRUFBRSxHQUFHLElBQUEsbUJBQVksR0FBRSxDQUFDO0lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IHsganNvbiB9IGZyb20gJ25vZGU6c3RyZWFtL2NvbnN1bWVycyc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBjcmVhdGVHdW56aXAgfSBmcm9tICd6bGliJztcbmltcG9ydCB7XG4gIEdldE9iamVjdENvbW1hbmQsXG4gIE5vU3VjaEtleSxcbiAgUHV0T2JqZWN0Q29tbWFuZCxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7IG1ldHJpY1Njb3BlLCBDb25maWd1cmF0aW9uLCBVbml0IH0gZnJvbSAnYXdzLWVtYmVkZGVkLW1ldHJpY3MnO1xuaW1wb3J0IHtcbiAgTUVUUklDU19OQU1FU1BBQ0UsXG4gIE1ldHJpY05hbWUsXG4gIEVudmlyb25tZW50LFxuICBPYmplY3RLZXksXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IENhdGFsb2dNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2JhY2tlbmQnO1xuaW1wb3J0IHsgUzNfQ0xJRU5UIH0gZnJvbSAnLi4vLi4vLi4vYmFja2VuZC9zaGFyZWQvYXdzLmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgcmVxdWlyZUVudiB9IGZyb20gJy4uLy4uLy4uL2JhY2tlbmQvc2hhcmVkL2Vudi5sYW1iZGEtc2hhcmVkJztcblxuQ29uZmlndXJhdGlvbi5uYW1lc3BhY2UgPSBNRVRSSUNTX05BTUVTUEFDRTtcblxuY29uc3QgUkVQTElDQV9SRVFVRVNUX1RJTUVPVVRfTVMgPSAzMF8wMDA7XG5cbi8qKlxuICogVGhpcyBwYWNrYWdlIGNhbmFyeSBtb25pdG9ycyB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSB2ZXJzaW9ucyBvZiBhIHNwZWNpZmllZFxuICogcGFja2FnZSBpbiB0aGUgQ29uc3RydWN0SHViIGNhdGFsb2cuIEl0IHB1Ymxpc2hlcyBtZXRyaWNzIHRoYXQgaGVscFxuICogdW5kZXJzdGFuZCBob3cgbXVjaCB0aW1lIHBhc3NlcyBiZXR3ZWVuIGEgcGFja2FnZSBhcHBlYXJpbmcgaW4gdGhlIHB1YmxpY1xuICogcmVnaXN0cnkgYW5kIGl0J3MgYXZhaWxhYmlsaXR5IGluIHRoZSBDb25zdHJ1Y3RIdWIgaW5zdGFuY2UuXG4gKlxuICogRnJvbSB0aGUgbW9tZW50IGEgcGFja2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQsIGFuZCB1bnRpbCBpdCBhcHBlYXJlZCBpblxuICogY2F0YWxvZywgdGhlIGBNZXRyaWNOYW1lLkRXRUxMX1RJTUVgIG1ldHJpYyBpcyBlbWl0dGVkLlxuICpcbiAqIE9uY2UgdGhlIHBhY2thZ2UgaGFzIGFwcGVhcmVkIGluIGNhdGFsb2csIGFuZCB1bnRpbCBhIG5ldyBwYWNrYWdlIHZlcnNpb24gaXNcbiAqIGlkZW50aWZpZWQgaW4gbnBtanMuY29tLCB0aGUgYE1ldHJpY05hbWUuVElNRV9UT19DQVRBTE9HYCBtZXRyaWMgaXMgZW1pdHRlZC5cbiAqXG4gKiBJZiBhIG5ldyBwYWNrYWdlIHZlcnNpb24gaXMgcHVibGlzaGVkIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lIGhhcyBhcHBlYXJlZFxuICogaW4gY2F0YWxvZywgYm90aCB2ZXJzaW9ucyB3aWxsIGJlIHRyYWNrZWQgYXQgdGhlIHNhbWUgdGltZSwgYW5kIHRoZSBtZXRyaWNzXG4gKiB3aWxsIHJlY2VpdmUgb25lIHNhbXBsZSBwZXIgdHJhY2tlZCB2ZXJzaW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zb2xlLmxvZyhgRXZlbnQ6ICR7SlNPTi5zdHJpbmdpZnkoZXZlbnQsIG51bGwsIDIpfWApO1xuXG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxdWlyZUVudihFbnZpcm9ubWVudC5QQUNLQUdFX05BTUUpO1xuICBjb25zdCBzdGF0ZUJ1Y2tldCA9IHJlcXVpcmVFbnYoRW52aXJvbm1lbnQuUEFDS0FHRV9DQU5BUllfQlVDS0VUX05BTUUpO1xuICBjb25zdCBjb25zdHJ1Y3RIdWJFbmRwb2ludCA9IHJlcXVpcmVFbnYoRW52aXJvbm1lbnQuQ09OU1RSVUNUX0hVQl9CQVNFX1VSTCk7XG5cbiAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gbmV3IENhbmFyeVN0YXRlU2VydmljZShzdGF0ZUJ1Y2tldCk7XG4gIGNvbnN0IGNvbnN0cnVjdEh1YiA9IG5ldyBDb25zdHJ1Y3RIdWIoY29uc3RydWN0SHViRW5kcG9pbnQpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgbGF0ZXN0ID0gYXdhaXQgc3RhdGVTZXJ2aWNlLmxhdGVzdChwYWNrYWdlTmFtZSk7XG4gICAgY29uc3Qgc3RhdGU6IENhbmFyeVN0YXRlID0gKGF3YWl0IHN0YXRlU2VydmljZS5sb2FkKHBhY2thZ2VOYW1lKSkgPz8ge1xuICAgICAgLy8gSWYgd2UgZGlkIG5vdCBoYXZlIGFueSBzdGF0ZSwgd2UnbGwgYm9vdHN0cmFwIHVzaW5nIHRoZSBjdXJyZW50IGxhdGVzdCB2ZXJzaW9uLlxuICAgICAgbGF0ZXN0OiB7XG4gICAgICAgIC4uLmxhdGVzdCxcbiAgICAgICAgLy8gSWYgdGhhdCBsYXRlc3QgdmVyc2lvbiBpcyBBTFJFQURZIGluIGNhdGFsb2csIHByZXRlbmQgaXQgd2FzXG4gICAgICAgIC8vIFwiaW5zdGFudGFuZW91c2x5XCIgdGhlcmUsIHNvIHdlIGF2b2lkIHBvc3NpYmx5IHJlcG9ydGluZyBhbiBicmVhY2ggb2ZcbiAgICAgICAgLy8gU0xBIGFsYXJtLCB3aGVuIHdlIHJlYWxseSBqdXN0IG9ic2VydmVkIHByZXNlbmNlIG9mIHRoZSBwYWNrYWdlIGluXG4gICAgICAgIC8vIGNhdGFsb2cgdG9vIGxhdGUsIGZvciBleGFtcGxlIG9uIGZpcnN0IGRlcGxveW1lbnQgb2YgdGhlIGNhbmFyeS5cbiAgICAgICAgYXZhaWxhYmxlQXQ6IChhd2FpdCBjb25zdHJ1Y3RIdWIuaXNJbkNhdGFsb2coXG4gICAgICAgICAgcGFja2FnZU5hbWUsXG4gICAgICAgICAgbGF0ZXN0LnZlcnNpb25cbiAgICAgICAgKSlcbiAgICAgICAgICA/IGxhdGVzdC5wdWJsaXNoZWRBdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIHBlbmRpbmc6IHt9LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZyhgSW5pdGlhbCBzdGF0ZTogJHtKU09OLnN0cmluZ2lmeShzdGF0ZSwgbnVsbCwgMil9YCk7XG5cbiAgICAvLyBJZiB0aGUgY3VycmVudCBcImxhdGVzdFwiIGlzbid0IHRoZSBvbmUgZnJvbSBzdGF0ZSwgaXQgbmVlZHMgdXBkYXRpbmcuXG4gICAgdXBkYXRlTGF0ZXN0SWZOZWVkZWQoc3RhdGUsIGxhdGVzdCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWV0cmljU2NvcGUoKG1ldHJpY3MpID0+IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gQ2xlYXIgb3V0IGRlZmF1bHQgZGltZW5zaW9ucyBhcyB3ZSBkb24ndCBuZWVkIHRob3NlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWVtYmVkZGVkLW1ldHJpY3Mtbm9kZS9pc3N1ZXMvNzMuXG4gICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgIE1ldHJpY05hbWUuVFJBQ0tFRF9WRVJTSU9OX0NPVU5ULFxuICAgICAgICAgIE9iamVjdC5rZXlzKHN0YXRlLnBlbmRpbmcpLmxlbmd0aCArIDEsXG4gICAgICAgICAgVW5pdC5Db3VudFxuICAgICAgICApO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICBNZXRyaWNOYW1lLk5QTV9SRVBMSUNBX0RPV04sXG4gICAgICAgICAgKGF3YWl0IHN0YXRlU2VydmljZS5pc05wbVJlcGxpY2FEb3duKCkpID8gMSA6IDAsXG4gICAgICAgICAgVW5pdC5Ob25lXG4gICAgICAgICk7XG4gICAgICB9KSgpO1xuXG4gICAgICBmb3IgKGNvbnN0IHZlcnNpb25TdGF0ZSBvZiBbXG4gICAgICAgIHN0YXRlLmxhdGVzdCxcbiAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhzdGF0ZS5wZW5kaW5nID8/IHt9KSxcbiAgICAgIF0pIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYENoZWNraW5nIHN0YXRlIG9mICR7dmVyc2lvblN0YXRlLnZlcnNpb259LCBjdXJyZW50OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgdmVyc2lvblN0YXRlLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApfWBcbiAgICAgICAgKTtcblxuICAgICAgICBhd2FpdCBtZXRyaWNTY29wZSgobWV0cmljcykgPT4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIC8vIENsZWFyIG91dCBkZWZhdWx0IGRpbWVuc2lvbnMgYXMgd2UgZG9uJ3QgbmVlZCB0aG9zZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1lbWJlZGRlZC1tZXRyaWNzLW5vZGUvaXNzdWVzLzczLlxuICAgICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnUGFja2FnZU5hbWUnLCBwYWNrYWdlTmFtZSk7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnUGFja2FnZVZlcnNpb24nLCB2ZXJzaW9uU3RhdGUudmVyc2lvbik7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICdJc0xhdGVzdCcsXG4gICAgICAgICAgICBzdGF0ZS5sYXRlc3QudmVyc2lvbiA9PT0gdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKCF2ZXJzaW9uU3RhdGUuYXZhaWxhYmxlQXQpIHtcbiAgICAgICAgICAgIGlmICh2ZXJzaW9uU3RhdGUudmVyc2lvbiA9PT0gc3RhdGUubGF0ZXN0LnZlcnNpb24pIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGF3YWl0IGNvbnN0cnVjdEh1Yi5pc0luQ2F0YWxvZyhcbiAgICAgICAgICAgICAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIE5vbi1jdXJyZW50IHZlcnNpb25zIHdpbGwgcHJvYmFibHkgbmV2ZXIgbWFrZSBpdCB0byBjYXRhbG9nICh0aGV5J3JlIG9sZGVyIHRoYW4gdGhlXG4gICAgICAgICAgICAgIC8vIGN1cnJlbnQgdmVyc2lvbiksIHNvIGluc3RlYWQsIHdlIGNoZWNrIHdoZXRoZXIgdGhleSBoYXZlIFR5cGVTY3JpcHQgZG9jdW1lbnRhdGlvbi5cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGF3YWl0IGNvbnN0cnVjdEh1Yi5oYXNUeXBlU2NyaXB0RG9jdW1lbnRhdGlvbihcbiAgICAgICAgICAgICAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodmVyc2lvblN0YXRlLmF2YWlsYWJsZUF0KSB7XG4gICAgICAgICAgICAvLyBUZWxscyB1cyBob3cgbG9uZyBpdCdzIHRha2VuIGZvciB0aGUgcGFja2FnZSB0byBtYWtlIGl0IHRvIGNhdGFsb2cgYWZ0ZXIgaXQgd2FzIHB1Ymxpc2hlZC5cbiAgICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgICBNZXRyaWNOYW1lLlRJTUVfVE9fQ0FUQUxPRyxcbiAgICAgICAgICAgICAgKHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdC5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5wdWJsaXNoZWRBdC5nZXRUaW1lKCkpIC9cbiAgICAgICAgICAgICAgICAxXzAwMCxcbiAgICAgICAgICAgICAgVW5pdC5TZWNvbmRzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBTdG9wIHRyYWNraW5nIHRoYXQgdmVyc2lvbiwgYXMgaXQncyBub3cgYXZhaWxhYmxlLlxuICAgICAgICAgICAgaWYgKHZlcnNpb25TdGF0ZS52ZXJzaW9uIGluIHN0YXRlLnBlbmRpbmcpIHtcbiAgICAgICAgICAgICAgZGVsZXRlIHN0YXRlLnBlbmRpbmdbdmVyc2lvblN0YXRlLnZlcnNpb25dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUZWxscyB1cyBob3cgbG9uZyB3ZSd2ZSBiZWVuIHdhaXRpbmcgZm9yIHRoaXMgdmVyc2lvbiB0byBzaG93IHVwLCBzbyBmYXIuXG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgICAgTWV0cmljTmFtZS5EV0VMTF9USU1FLFxuICAgICAgICAgICAgICAoRGF0ZS5ub3coKSAtIHZlcnNpb25TdGF0ZS5wdWJsaXNoZWRBdC5nZXRUaW1lKCkpIC8gMV8wMDAsXG4gICAgICAgICAgICAgIFVuaXQuU2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBOb3RpbmcgdGhhdCB3ZSBkaWQgbm90IGVub2N1bnRlciBhIGdhdGV3YXkgZXJyb3IsIHNvIHRoZSBtZXRyaWMgaGFzIGEgbmljZSBhbmQgY2xlYW4gMFxuICAgICAgICAgIC8vIHZhbHVlIGluc3RlYWQgb2YgaGF2aW5nIHRvIHRyZWF0IG1pc3NpbmcgZGF0YSBhcyBub3QgYnJlYWNoaW5nLlxuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKE1ldHJpY05hbWUuSFRUUF9HQVRFV0FZX0VSUk9SUywgMCwgVW5pdC5Db3VudCk7XG4gICAgICAgIH0pKCk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHN0YXRlU2VydmljZS5zYXZlKHBhY2thZ2VOYW1lLCBzdGF0ZSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIVFRQRXJyb3IgJiZcbiAgICAgIGVycm9yLmh0dHBTdGF0dXNDb2RlICYmXG4gICAgICBlcnJvci5odHRwU3RhdHVzQ29kZSA+PSA1MDBcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIHNvIHdlJ2xsIGxvZyB0aGlzIG91dCwgYW5kIHByZXRlbmQgaXQgZGlkIG5vdCBmYWlsLi4uXG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIGFzc3VtaW5nIHRoaXMgaXMgdHJhbnNpZW50OicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgICAgYXdhaXQgbWV0cmljU2NvcGUoKG1ldHJpY3MpID0+IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gQ2xlYXIgb3V0IGRlZmF1bHQgZGltZW5zaW9ucyBhcyB3ZSBkb24ndCBuZWVkIHRob3NlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWVtYmVkZGVkLW1ldHJpY3Mtbm9kZS9pc3N1ZXMvNzMuXG4gICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoJ0Vycm9yQ29kZScsIGVycm9yLmh0dHBTdGF0dXNDb2RlKTtcbiAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnRXJyb3JNZXNzYWdlJywgZXJyb3IubWVzc2FnZSk7XG5cbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoTWV0cmljTmFtZS5IVFRQX0dBVEVXQVlfRVJST1JTLCAxLCBVbml0LkNvdW50KTtcbiAgICAgIH0pKCk7XG4gICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFJlcXVlc3QgdGltZW91dCBmcm9tIGEgZGVwZW5kZW5jeSwgYXNzdW1pbmcgdGhpcyBpcyB0cmFuc2llbnQ6YCxcbiAgICAgICAgZXJyb3JcbiAgICAgICk7XG4gICAgICBhd2FpdCBtZXRyaWNTY29wZSgobWV0cmljcykgPT4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBDbGVhciBvdXQgZGVmYXVsdCBkaW1lbnNpb25zIGFzIHdlIGRvbid0IG5lZWQgdGhvc2UuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzbGFicy9hd3MtZW1iZWRkZWQtbWV0cmljcy1ub2RlL2lzc3Vlcy83My5cbiAgICAgICAgbWV0cmljcy5zZXREaW1lbnNpb25zKHt9KTtcbiAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnRXJyb3JDb2RlJywgJ1JFUVVFU1RfVElNRU9VVCcpO1xuICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KCdFcnJvck1lc3NhZ2UnLCBlcnJvci5tZXNzYWdlKTtcblxuICAgICAgICAvLyBUaGlzIGlzIHNsaWd0aGx5IGFidXNpdmUsIGJ1dC4uLiBIVFRQIDUwNCAoR2F0ZXdheSBUaW1lb3V0KSBmcm9tIHRoZSBucG0gcmVwbGljYSBhcmVcbiAgICAgICAgLy8gcmV0dXJuZWQgYWZ0ZXIgbW9yZSB0aGFuIDMwIHNlY29uZHMgaGFzIHBhc3NlZCBhbmQgdGhpcyBpcyB3YXkgdG9vIGxvbmcuLi4gc28gd2VcbiAgICAgICAgLy8gYXBwcm94aW1hdGUgYSBiaXQgaGVyZS4uLlxuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhNZXRyaWNOYW1lLkhUVFBfR0FURVdBWV9FUlJPUlMsIDEsIFVuaXQuQ291bnQpO1xuICAgICAgfSkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBub3QgYW4gSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIHNvIHdlJ2xsIGp1c3QgcmV0aHJvdyBhbmQgZmFpbC4uLlxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIENvbnN0cnVjdEh1YiB7XG4gICNjYXRhbG9nPzogQ2F0YWxvZ01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nKSB7fVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBwYWNrYWdlIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgY2F0YWxvZ1xuICAgKiBvYmplY3Qgb3Igbm90LlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgICAgdGhlIG5hbWUgb2YgdGhlIGNoZWNrZWQgcGFja2FnZS5cbiAgICogQHBhcmFtIHBhY2thZ2VWZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBjaGVja2VkIHBhY2thZ2UuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBJSUYgdGhlIGV4YWN0IHBhY2thZ2UgdmVyc2lvbiBpcyBmb3VuZCBpbiB0aGUgY2F0YWxvZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0luQ2F0YWxvZyhcbiAgICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2F0YWxvZyA9IGF3YWl0IHRoaXMuZ2V0Q2F0YWxvZygpO1xuICAgIGNvbnN0IGZpbHRlcmVkID0gY2F0YWxvZy5wYWNrYWdlcy5maWx0ZXIoXG4gICAgICAocDogYW55KSA9PiBwLm5hbWUgPT09IHBhY2thZ2VOYW1lICYmIHAudmVyc2lvbiA9PT0gcGFja2FnZVZlcnNpb25cbiAgICApO1xuXG4gICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEZvdW5kIG11bHRpcGxlIGVudHJpZXMgZm9yICR7cGFja2FnZU5hbWV9QCR7cGFja2FnZVZlcnNpb259IGluIGNhdGFsb2dgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZC5sZW5ndGggPT09IDE7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgVHlwZVNjcmlwdCBkb2N1bWVudGF0aW9uIGV4aXN0cyBpbiBDb25zdHJ1Y3RIdWIgZm9yIHRoZVxuICAgKiBzcGVjaWZpZWQgcGFja2FnZSB2ZXJzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgICAgdGhlIG5hbWUgb2YgdGhlIGNoZWNrZWQgcGFja2FnZS5cbiAgICogQHBhcmFtIHBhY2thZ2VWZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBjaGVja2VkIHBhY2thZ2UuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBJSUYgdGhlIGBkb2NzLXR5cGVzY3JpcHQubWRgIGRvY3VtZW50IGV4aXN0cyBmb3IgdGhlXG4gICAqICAgICAgICAgIHNwZWNpZmllZCBwYWNrYWdlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1R5cGVTY3JpcHREb2N1bWVudGF0aW9uKFxuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gICAgcGFja2FnZVZlcnNpb246IHN0cmluZ1xuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBrbykgPT4ge1xuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS9kYXRhLyR7cGFja2FnZU5hbWV9L3Yke3BhY2thZ2VWZXJzaW9ufS9kb2NzLXR5cGVzY3JpcHQubWRgO1xuICAgICAgaHR0cHNcbiAgICAgICAgLnJlcXVlc3QodXJsLCB7IG1ldGhvZDogJ0hFQUQnIH0sIChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgLy8gVGhpcyByZXR1cm5zIEhUVFAgMjAwIHdpdGggdGV4dC9odG1sIGlmIGl0J3MgYSA0MDQsIGR1ZSB0byBob3dcbiAgICAgICAgICAgIC8vIHdlIGNvbmZpZ3VyZWQgQ2xvdWRGcm9udCBiZWhhdmlvcnMuXG4gICAgICAgICAgICByZXR1cm4gb2soXG4gICAgICAgICAgICAgICEhcmVzLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddPy5zdGFydHNXaXRoKCd0ZXh0L21hcmtkb3duJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBIVFRQRXJyb3IoXG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIGBIRUFEICR7dXJsfSAtLSBIVFRQICR7cmVzLnN0YXR1c0NvZGV9ICgke3Jlcy5zdGF0dXNNZXNzYWdlfSlgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnIpO1xuICAgICAgICAgIGtvKGVycik7XG4gICAgICAgIH0pXG4gICAgICAgIC5lbmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q2F0YWxvZygpOiBQcm9taXNlPENhdGFsb2dNb2RlbD4ge1xuICAgIGlmICh0aGlzLiNjYXRhbG9nKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY2F0YWxvZztcbiAgICB9XG4gICAgcmV0dXJuICh0aGlzLiNjYXRhbG9nID0gYXdhaXQgZ2V0SlNPTihgJHt0aGlzLmJhc2VVcmx9L2NhdGFsb2cuanNvbmApKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2FuYXJ5U3RhdGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIFNhdmUgdGhlIHN0YXRlIHRvIHRoZSBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZShwYWNrYWdlTmFtZTogc3RyaW5nLCBzdGF0ZTogQ2FuYXJ5U3RhdGUpIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChwYWNrYWdlTmFtZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgU2F2aW5nIHRvICR7dXJsfTogJHtKU09OLnN0cmluZ2lmeShzdGF0ZSwgbnVsbCwgMil9YCk7XG4gICAgYXdhaXQgUzNfQ0xJRU5ULnNlbmQoXG4gICAgICBuZXcgUHV0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogdGhpcy5idWNrZXROYW1lLFxuICAgICAgICBLZXk6IHRoaXMua2V5KHBhY2thZ2VOYW1lKSxcbiAgICAgICAgQm9keTogSlNPTi5zdHJpbmdpZnkoc3RhdGUsIG51bGwsIDIpLFxuICAgICAgICBDb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHN0YXRlIGZpbGUgZm9yIHRoaXMgcGFja2FnZSBmcm9tIHRoZSBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZChwYWNrYWdlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDYW5hcnlTdGF0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIHN0YXRlIGZvciBwYWNrYWdlICcke3BhY2thZ2VOYW1lfSdgKTtcblxuICAgIGNvbnN0IG9iamVjdEtleSA9IHRoaXMua2V5KHBhY2thZ2VOYW1lKTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChwYWNrYWdlTmFtZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmc6ICR7dXJsfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBTM19DTElFTlQuc2VuZChcbiAgICAgICAgbmV3IEdldE9iamVjdENvbW1hbmQoeyBCdWNrZXQ6IHRoaXMuYnVja2V0TmFtZSwgS2V5OiBvYmplY3RLZXkgfSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZXM/LkJvZHk/LnRyYW5zZm9ybVRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBOb3QgZm91bmQ6ICR7dXJsfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGVkOiAke3VybH1gKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGNvbnRlbnQsIChrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdwdWJsaXNoZWRBdCcgfHwga2V5ID09PSAnYXZhaWxhYmxlQXQnKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBOb1N1Y2hLZXkgfHwgZXJyb3IubmFtZSA9PT0gJ05vU3VjaEtleScpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBzdGF0ZSBmcm9tIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsYXRlc3QocGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Q2FuYXJ5U3RhdGVbJ2xhdGVzdCddPiB7XG4gICAgY29uc29sZS5sb2coYEZldGNoaW5nIGxhdGVzdCB2ZXJzaW9uIGluZm9ybWF0aW9uIGZyb20gTlBNOiAke3BhY2thZ2VOYW1lfWApO1xuICAgIGNvbnN0IHZlcnNpb24gPSAoXG4gICAgICBhd2FpdCBnZXRKU09OKFxuICAgICAgICBgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJHtlbmNvZGVVUklDb21wb25lbnQocGFja2FnZU5hbWUpfS9sYXRlc3RgXG4gICAgICApXG4gICAgKS52ZXJzaW9uO1xuICAgIGNvbnN0IHB1Ymxpc2hlZEF0ID0gKFxuICAgICAgYXdhaXQgZ2V0SlNPTihcbiAgICAgICAgYGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhY2thZ2VOYW1lKX1gXG4gICAgICApXG4gICAgKS50aW1lW3ZlcnNpb25dO1xuXG4gICAgY29uc29sZS5sb2coXG4gICAgICBgUGFja2FnZTogJHtwYWNrYWdlTmFtZX0gfCBWZXJzaW9uIDogJHt2ZXJzaW9ufSB8IFB1Ymxpc2hlZCBBdDogJHtwdWJsaXNoZWRBdH1gXG4gICAgKTtcblxuICAgIHJldHVybiB7IHZlcnNpb24sIHB1Ymxpc2hlZEF0OiBuZXcgRGF0ZShwdWJsaXNoZWRBdCkgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpc05wbVJlcGxpY2FEb3duKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBnZXRKU09OKCdodHRwczovL3JlcGxpY2F0ZS5ucG1qcy5jb20vJywge1xuICAgICAgICB0aW1lb3V0TWlsbGlzOiBSRVBMSUNBX1JFUVVFU1RfVElNRU9VVF9NUyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUga2V5KHBhY2thZ2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtPYmplY3RLZXkuU1RBVEVfUFJFRklYfSR7cGFja2FnZU5hbWV9JHtPYmplY3RLZXkuU1RBVEVfU1VGRklYfWA7XG4gIH1cblxuICBwcml2YXRlIHVybChwYWNrYWdlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBzMzovLyR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMua2V5KHBhY2thZ2VOYW1lKX1gO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBIVFRQRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHR0cFN0YXR1c0NvZGU6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgSFRUUEVycm9yKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgVGltZW91dEVycm9yKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgQ2FuYXJ5U3RhdGUge1xuICAvKipcbiAgICogVGhlIGxhdGVzdCBwYWNrYWdlIHZlcnNpb24sIGFzIG9mIHRoZSBsYXN0IGV4ZWN1dGlvbiBvZiB0aGUgY2FuYXJ5LlxuICAgKi9cbiAgbGF0ZXN0OiB7XG4gICAgLyoqXG4gICAgICogVGhlIHZlcnNpb24gd2UgYXJlIHRyYWNraW5nLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwdWJsaXNoIGRhdGUgb2YgdGhlIHZlcnNpb24uXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHVibGlzaGVkQXQ6IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0ZSBhdCB3aGljaCB0aGUgdmVyc2lvbiBpcyBhdmFpbGFibGUgb24gdGhlIGh1Yi5cbiAgICAgKi9cbiAgICBhdmFpbGFibGVBdD86IERhdGU7XG4gIH07XG5cbiAgLyoqXG4gICAqIEVhY2ggZXhpc3RpbmcsIGJ1dCBub3QteWV0LWZvdW5kIHZlcnNpb25zIHRoYXQgYXJlIHN0aWxsIHRyYWNrZWQuXG4gICAqL1xuICBwZW5kaW5nOiB7XG4gICAgW3ZlcnNpb246IHN0cmluZ106IHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIHZlcnNpb24gd2UgYXJlIHRyYWNraW5nLlxuICAgICAgICovXG4gICAgICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIHB1Ymxpc2ggZGF0ZSBvZiB0aGUgdmVyc2lvbi5cbiAgICAgICAqL1xuICAgICAgcmVhZG9ubHkgcHVibGlzaGVkQXQ6IERhdGU7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlc2UgcGVuZGluZyBwYWNrYWdlcyBhcmUgTkVWRVIgYXZhaWxhYmxlIGF0IHRoaXMgcG9pbnQuXG4gICAgICAgKi9cbiAgICAgIGF2YWlsYWJsZUF0OiB1bmRlZmluZWQ7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBNYWtlcyBhIHJlcXVlc3QgdG8gdGhlIHByb3ZpZGVkIFVSTCBhbmQgcmV0dXJucyB0aGUgcmVzcG9uc2UgYWZ0ZXIgaGF2aW5nXG4gKiBwYXJzZWQgaXQgZnJvbSBKU09OLlxuICpcbiAqIEBwYXJhbSB1cmwgdGhlIFVSTCB0byBnZXQuXG4gKiBAcGFyYW0ganNvblBhdGggYSBKU09OIHBhdGggdG8gZXh0cmFjdCBvbmx5IGEgc3Vic2V0IG9mIHRoZSBvYmplY3QuXG4gKiBAcGFyYW0gdGltZW91dE1pbGxpcyB0aGUgc29ja2V0IHRpbWVvdXQsIGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZnVuY3Rpb24gZ2V0SlNPTihcbiAgdXJsOiBzdHJpbmcsXG4gIHsgdGltZW91dE1pbGxpcyB9OiB7IGpzb25QYXRoPzogc3RyaW5nW107IHRpbWVvdXRNaWxsaXM/OiBudW1iZXIgfSA9IHt9XG4pOiBQcm9taXNlPGFueT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBrbykgPT4ge1xuICAgIGh0dHBzXG4gICAgICAuZ2V0KFxuICAgICAgICB1cmwsXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICdBY2NlcHQtRW5jb2RpbmcnOiAnaWRlbnRpdHknLFxuICAgICAgICAgICAgJ25wbS1yZXBsaWNhdGlvbi1vcHQtaW4nOiAndHJ1ZScsIC8vIGNhbiBiZSBkZWxldGVkIGFmdGVyIE1heSAyOTogaHR0cHM6Ly9naXRodWIuY29tL29yZ3MvY29tbXVuaXR5L2Rpc2N1c3Npb25zLzE1MjUxNVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGltZW91dDogdGltZW91dE1pbGxpcyxcbiAgICAgICAgfSxcbiAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBIVFRQRXJyb3IoXG4gICAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICBgR0VUICR7dXJsfSAtIEhUVFAgJHtyZXMuc3RhdHVzQ29kZX0gKCR7cmVzLnN0YXR1c01lc3NhZ2V9KWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4ga28oZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlcy5vbmNlKCdlcnJvcicsIGtvKTtcblxuICAgICAgICAgIHJlcy5vbmNlKCd0aW1lb3V0JywgKCkgPT4ge1xuICAgICAgICAgICAgLy8gVXBvbiBzb2NrZXQgdGltZW91dCwgZmFpbCB3aXRoIGEgVGltZW91dEVycm9yXG4gICAgICAgICAgICBrbyhcbiAgICAgICAgICAgICAgbmV3IFRpbWVvdXRFcnJvcihcbiAgICAgICAgICAgICAgICBgUmVxdWVzdCB0aW1lZCBvdXQgKGFmdGVyICR7XG4gICAgICAgICAgICAgICAgICB0aW1lb3V0TWlsbGlzID8/ICdOL0EnXG4gICAgICAgICAgICAgICAgfSBtcyk6IEdFVCAke3VybH1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCBwbGFpblBheWxvYWQgPVxuICAgICAgICAgICAgcmVzLmhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXSA9PT0gJ2d6aXAnID8gZ3VuemlwKHJlcykgOiByZXM7XG4gICAgICAgICAgcmV0dXJuIGpzb24ocGxhaW5QYXlsb2FkKVxuICAgICAgICAgICAgLnRoZW4oKHBhcnNlZCkgPT4gb2socGFyc2VkIGFzIGFueSkpXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ga28oZXJyKSk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC5vbmNlKCd0aW1lb3V0JywgKCkgPT4ge1xuICAgICAgICAvLyBVcG9uIHNvY2tldCB0aW1lb3V0LCBmYWlsIHdpdGggYSBUaW1lb3V0RXJyb3JcbiAgICAgICAga28oXG4gICAgICAgICAgbmV3IFRpbWVvdXRFcnJvcihcbiAgICAgICAgICAgIGBSZXF1ZXN0IHRpbWVkIG91dCAoYWZ0ZXIgJHt0aW1lb3V0TWlsbGlzID8/ICdOL0EnfSBtcyk6IEdFVCAke3VybH1gXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGBsYXRlc3RgIHByb3BlcnR5IG9mIGBzdGF0ZWAgdGkgdGhlIHByb3ZpZGVkIGBsYXRlc3RgIHZhbHVlLFxuICogdW5sZXNzIHRoaXMgaXMgYWxyZWFkeSB0aGUgY3VycmVudCBsYXRlc3QuXG4gKlxuICogSWYgdGhlIHByZXZpb3VzIGxhdGVzdCB2ZXJzaW9uIGRvZXMgbm90IGhhdmUgdGhlIGBhdmFpbGFibGVBdGAgcHJvcGVydHksIGFkZHNcbiAqIHRoYXQgdG8gdGhlIGBwZW5kaW5nYCBzZXQuXG4gKlxuICogQHBhcmFtIHN0YXRlICB0aGUgc3RhdGUgdG8gYmUgdXBkYXRlZC5cbiAqIEBwYXJhbSBsYXRlc3QgdGhlIGN1cnJlbnQgXCJsYXRlc3RcIiB2ZXJzaW9uIG9mIHRoZSB0cmFja2VkIHBhY2thZ2UuXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZUxhdGVzdElmTmVlZGVkKFxuICBzdGF0ZTogQ2FuYXJ5U3RhdGUsXG4gIGxhdGVzdDogQ2FuYXJ5U3RhdGVbJ2xhdGVzdCddXG4pOiB2b2lkIHtcbiAgaWYgKHN0YXRlLmxhdGVzdC52ZXJzaW9uID09PSBsYXRlc3QudmVyc2lvbikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIElmIHRoZSBjdXJyZW50IFwibGF0ZXN0XCIgaXNuJ3QgYXZhaWxhYmxlIHlldCwgYWRkIGl0IHRvIHRoZSBgcGVuZGluZ2AgdmVyc2lvbnMuXG4gIGlmIChzdGF0ZS5sYXRlc3QuYXZhaWxhYmxlQXQgPT0gbnVsbCkge1xuICAgIC8vIFRoZSBUeXBlU2NyaXB0IHZlcnNpb24gb2YganNpaSBkb2Vzbid0IGRvIGNvbnRyb2wgZmxvdyBhbmFseXNpcyB3ZWxsIGVub3VnaCBoZXJlIHRvXG4gICAgLy8gZGV0ZXJtaW5lIHRoYXQgdGhlYGlmYCBicmFuY2ggZ3VhcmFudGVlcyBgYXZhaWxhYmxlQXRgIGlzIHVuZGVmaW5lZCBoZXJlLlxuICAgIHN0YXRlLnBlbmRpbmdbc3RhdGUubGF0ZXN0LnZlcnNpb25dID0ge1xuICAgICAgLi4uc3RhdGUubGF0ZXN0LFxuICAgICAgYXZhaWxhYmxlQXQ6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGUubGF0ZXN0ID0gbGF0ZXN0O1xufVxuXG5mdW5jdGlvbiBndW56aXAocmVhZGFibGU6IFJlYWRhYmxlKTogUmVhZGFibGUge1xuICBjb25zdCBneiA9IGNyZWF0ZUd1bnppcCgpO1xuICByZWFkYWJsZS5waXBlKGd6LCB7IGVuZDogdHJ1ZSB9KTtcbiAgcmV0dXJuIGd6O1xufVxuIl19
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtanMtcGFja2FnZS1jYW5hcnkubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2Utc291cmNlcy9ucG1qcy9jYW5hcnkvbnBtanMtcGFja2FnZS1jYW5hcnkubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSwwQkF3S0M7QUFoTkQsK0JBQStCO0FBQy9CLHFEQUE2QztBQUU3QywrQkFBb0M7QUFDcEMsa0RBSTRCO0FBQzVCLCtEQUF3RTtBQUN4RSwyQ0FLcUI7QUFFckIsaUZBQXNFO0FBQ3RFLGlGQUF1RTtBQUV2RSxvQ0FBYSxDQUFDLFNBQVMsR0FBRyw2QkFBaUIsQ0FBQztBQUU1QyxNQUFNLDBCQUEwQixHQUFHLEtBQU0sQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQWM7SUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEQsTUFBTSxXQUFXLEdBQUcsSUFBQSw4QkFBVSxnREFBMEIsQ0FBQztJQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFBLDhCQUFVLDRFQUF3QyxDQUFDO0lBQ3ZFLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSw4QkFBVSxvRUFBb0MsQ0FBQztJQUU1RSxNQUFNLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFNUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFnQixDQUFDLE1BQU0sWUFBWSxDQUFDLElBQUks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QUksRUFBRSxDQUFDLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IHsganNvbiB9IGZyb20gJ25vZGU6c3RyZWFtL2NvbnN1bWVycyc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgeyBjcmVhdGVHdW56aXAgfSBmcm9tICd6bGliJztcbmltcG9ydCB7XG4gIEdldE9iamVjdENvbW1hbmQsXG4gIE5vU3VjaEtleSxcbiAgUHV0T2JqZWN0Q29tbWFuZCxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7IG1ldHJpY1Njb3BlLCBDb25maWd1cmF0aW9uLCBVbml0IH0gZnJvbSAnYXdzLWVtYmVkZGVkLW1ldHJpY3MnO1xuaW1wb3J0IHtcbiAgTUVUUklDU19OQU1FU1BBQ0UsXG4gIE1ldHJpY05hbWUsXG4gIEVudmlyb25tZW50LFxuICBPYmplY3RLZXksXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IENhdGFsb2dNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2JhY2tlbmQnO1xuaW1wb3J0IHsgUzNfQ0xJRU5UIH0gZnJvbSAnLi4vLi4vLi4vYmFja2VuZC9zaGFyZWQvYXdzLmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgcmVxdWlyZUVudiB9IGZyb20gJy4uLy4uLy4uL2JhY2tlbmQvc2hhcmVkL2Vudi5sYW1iZGEtc2hhcmVkJztcblxuQ29uZmlndXJhdGlvbi5uYW1lc3BhY2UgPSBNRVRSSUNTX05BTUVTUEFDRTtcblxuY29uc3QgUkVQTElDQV9SRVFVRVNUX1RJTUVPVVRfTVMgPSAzMF8wMDA7XG5cbi8qKlxuICogVGhpcyBwYWNrYWdlIGNhbmFyeSBtb25pdG9ycyB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSB2ZXJzaW9ucyBvZiBhIHNwZWNpZmllZFxuICogcGFja2FnZSBpbiB0aGUgQ29uc3RydWN0SHViIGNhdGFsb2cuIEl0IHB1Ymxpc2hlcyBtZXRyaWNzIHRoYXQgaGVscFxuICogdW5kZXJzdGFuZCBob3cgbXVjaCB0aW1lIHBhc3NlcyBiZXR3ZWVuIGEgcGFja2FnZSBhcHBlYXJpbmcgaW4gdGhlIHB1YmxpY1xuICogcmVnaXN0cnkgYW5kIGl0J3MgYXZhaWxhYmlsaXR5IGluIHRoZSBDb25zdHJ1Y3RIdWIgaW5zdGFuY2UuXG4gKlxuICogRnJvbSB0aGUgbW9tZW50IGEgcGFja2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQsIGFuZCB1bnRpbCBpdCBhcHBlYXJlZCBpblxuICogY2F0YWxvZywgdGhlIGBNZXRyaWNOYW1lLkRXRUxMX1RJTUVgIG1ldHJpYyBpcyBlbWl0dGVkLlxuICpcbiAqIE9uY2UgdGhlIHBhY2thZ2UgaGFzIGFwcGVhcmVkIGluIGNhdGFsb2csIGFuZCB1bnRpbCBhIG5ldyBwYWNrYWdlIHZlcnNpb24gaXNcbiAqIGlkZW50aWZpZWQgaW4gbnBtanMuY29tLCB0aGUgYE1ldHJpY05hbWUuVElNRV9UT19DQVRBTE9HYCBtZXRyaWMgaXMgZW1pdHRlZC5cbiAqXG4gKiBJZiBhIG5ldyBwYWNrYWdlIHZlcnNpb24gaXMgcHVibGlzaGVkIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lIGhhcyBhcHBlYXJlZFxuICogaW4gY2F0YWxvZywgYm90aCB2ZXJzaW9ucyB3aWxsIGJlIHRyYWNrZWQgYXQgdGhlIHNhbWUgdGltZSwgYW5kIHRoZSBtZXRyaWNzXG4gKiB3aWxsIHJlY2VpdmUgb25lIHNhbXBsZSBwZXIgdHJhY2tlZCB2ZXJzaW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zb2xlLmxvZyhgRXZlbnQ6ICR7SlNPTi5zdHJpbmdpZnkoZXZlbnQsIG51bGwsIDIpfWApO1xuXG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxdWlyZUVudihFbnZpcm9ubWVudC5QQUNLQUdFX05BTUUpO1xuICBjb25zdCBzdGF0ZUJ1Y2tldCA9IHJlcXVpcmVFbnYoRW52aXJvbm1lbnQuUEFDS0FHRV9DQU5BUllfQlVDS0VUX05BTUUpO1xuICBjb25zdCBjb25zdHJ1Y3RIdWJFbmRwb2ludCA9IHJlcXVpcmVFbnYoRW52aXJvbm1lbnQuQ09OU1RSVUNUX0hVQl9CQVNFX1VSTCk7XG5cbiAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gbmV3IENhbmFyeVN0YXRlU2VydmljZShzdGF0ZUJ1Y2tldCk7XG4gIGNvbnN0IGNvbnN0cnVjdEh1YiA9IG5ldyBDb25zdHJ1Y3RIdWIoY29uc3RydWN0SHViRW5kcG9pbnQpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgbGF0ZXN0ID0gYXdhaXQgc3RhdGVTZXJ2aWNlLmxhdGVzdChwYWNrYWdlTmFtZSk7XG4gICAgY29uc3Qgc3RhdGU6IENhbmFyeVN0YXRlID0gKGF3YWl0IHN0YXRlU2VydmljZS5sb2FkKHBhY2thZ2VOYW1lKSkgPz8ge1xuICAgICAgLy8gSWYgd2UgZGlkIG5vdCBoYXZlIGFueSBzdGF0ZSwgd2UnbGwgYm9vdHN0cmFwIHVzaW5nIHRoZSBjdXJyZW50IGxhdGVzdCB2ZXJzaW9uLlxuICAgICAgbGF0ZXN0OiB7XG4gICAgICAgIC4uLmxhdGVzdCxcbiAgICAgICAgLy8gSWYgdGhhdCBsYXRlc3QgdmVyc2lvbiBpcyBBTFJFQURZIGluIGNhdGFsb2csIHByZXRlbmQgaXQgd2FzXG4gICAgICAgIC8vIFwiaW5zdGFudGFuZW91c2x5XCIgdGhlcmUsIHNvIHdlIGF2b2lkIHBvc3NpYmx5IHJlcG9ydGluZyBhbiBicmVhY2ggb2ZcbiAgICAgICAgLy8gU0xBIGFsYXJtLCB3aGVuIHdlIHJlYWxseSBqdXN0IG9ic2VydmVkIHByZXNlbmNlIG9mIHRoZSBwYWNrYWdlIGluXG4gICAgICAgIC8vIGNhdGFsb2cgdG9vIGxhdGUsIGZvciBleGFtcGxlIG9uIGZpcnN0IGRlcGxveW1lbnQgb2YgdGhlIGNhbmFyeS5cbiAgICAgICAgYXZhaWxhYmxlQXQ6IChhd2FpdCBjb25zdHJ1Y3RIdWIuaXNJbkNhdGFsb2coXG4gICAgICAgICAgcGFja2FnZU5hbWUsXG4gICAgICAgICAgbGF0ZXN0LnZlcnNpb25cbiAgICAgICAgKSlcbiAgICAgICAgICA/IGxhdGVzdC5wdWJsaXNoZWRBdFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIHBlbmRpbmc6IHt9LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZyhgSW5pdGlhbCBzdGF0ZTogJHtKU09OLnN0cmluZ2lmeShzdGF0ZSwgbnVsbCwgMil9YCk7XG5cbiAgICAvLyBJZiB0aGUgY3VycmVudCBcImxhdGVzdFwiIGlzbid0IHRoZSBvbmUgZnJvbSBzdGF0ZSwgaXQgbmVlZHMgdXBkYXRpbmcuXG4gICAgdXBkYXRlTGF0ZXN0SWZOZWVkZWQoc3RhdGUsIGxhdGVzdCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWV0cmljU2NvcGUoKG1ldHJpY3MpID0+IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gQ2xlYXIgb3V0IGRlZmF1bHQgZGltZW5zaW9ucyBhcyB3ZSBkb24ndCBuZWVkIHRob3NlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWVtYmVkZGVkLW1ldHJpY3Mtbm9kZS9pc3N1ZXMvNzMuXG4gICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgIE1ldHJpY05hbWUuVFJBQ0tFRF9WRVJTSU9OX0NPVU5ULFxuICAgICAgICAgIE9iamVjdC5rZXlzKHN0YXRlLnBlbmRpbmcpLmxlbmd0aCArIDEsXG4gICAgICAgICAgVW5pdC5Db3VudFxuICAgICAgICApO1xuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICBNZXRyaWNOYW1lLk5QTV9SRVBMSUNBX0RPV04sXG4gICAgICAgICAgKGF3YWl0IHN0YXRlU2VydmljZS5pc05wbVJlcGxpY2FEb3duKCkpID8gMSA6IDAsXG4gICAgICAgICAgVW5pdC5Ob25lXG4gICAgICAgICk7XG4gICAgICB9KSgpO1xuXG4gICAgICBmb3IgKGNvbnN0IHZlcnNpb25TdGF0ZSBvZiBbXG4gICAgICAgIHN0YXRlLmxhdGVzdCxcbiAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhzdGF0ZS5wZW5kaW5nID8/IHt9KSxcbiAgICAgIF0pIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYENoZWNraW5nIHN0YXRlIG9mICR7dmVyc2lvblN0YXRlLnZlcnNpb259LCBjdXJyZW50OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgdmVyc2lvblN0YXRlLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApfWBcbiAgICAgICAgKTtcblxuICAgICAgICBhd2FpdCBtZXRyaWNTY29wZSgobWV0cmljcykgPT4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIC8vIENsZWFyIG91dCBkZWZhdWx0IGRpbWVuc2lvbnMgYXMgd2UgZG9uJ3QgbmVlZCB0aG9zZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1lbWJlZGRlZC1tZXRyaWNzLW5vZGUvaXNzdWVzLzczLlxuICAgICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnUGFja2FnZU5hbWUnLCBwYWNrYWdlTmFtZSk7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnUGFja2FnZVZlcnNpb24nLCB2ZXJzaW9uU3RhdGUudmVyc2lvbik7XG4gICAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICdJc0xhdGVzdCcsXG4gICAgICAgICAgICBzdGF0ZS5sYXRlc3QudmVyc2lvbiA9PT0gdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKCF2ZXJzaW9uU3RhdGUuYXZhaWxhYmxlQXQpIHtcbiAgICAgICAgICAgIGlmICh2ZXJzaW9uU3RhdGUudmVyc2lvbiA9PT0gc3RhdGUubGF0ZXN0LnZlcnNpb24pIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGF3YWl0IGNvbnN0cnVjdEh1Yi5pc0luQ2F0YWxvZyhcbiAgICAgICAgICAgICAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIE5vbi1jdXJyZW50IHZlcnNpb25zIHdpbGwgcHJvYmFibHkgbmV2ZXIgbWFrZSBpdCB0byBjYXRhbG9nICh0aGV5J3JlIG9sZGVyIHRoYW4gdGhlXG4gICAgICAgICAgICAgIC8vIGN1cnJlbnQgdmVyc2lvbiksIHNvIGluc3RlYWQsIHdlIGNoZWNrIHdoZXRoZXIgdGhleSBoYXZlIFR5cGVTY3JpcHQgZG9jdW1lbnRhdGlvbi5cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGF3YWl0IGNvbnN0cnVjdEh1Yi5oYXNUeXBlU2NyaXB0RG9jdW1lbnRhdGlvbihcbiAgICAgICAgICAgICAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvblN0YXRlLnZlcnNpb25cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodmVyc2lvblN0YXRlLmF2YWlsYWJsZUF0KSB7XG4gICAgICAgICAgICAvLyBUZWxscyB1cyBob3cgbG9uZyBpdCdzIHRha2VuIGZvciB0aGUgcGFja2FnZSB0byBtYWtlIGl0IHRvIGNhdGFsb2cgYWZ0ZXIgaXQgd2FzIHB1Ymxpc2hlZC5cbiAgICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKFxuICAgICAgICAgICAgICBNZXRyaWNOYW1lLlRJTUVfVE9fQ0FUQUxPRyxcbiAgICAgICAgICAgICAgKHZlcnNpb25TdGF0ZS5hdmFpbGFibGVBdC5nZXRUaW1lKCkgLVxuICAgICAgICAgICAgICAgIHZlcnNpb25TdGF0ZS5wdWJsaXNoZWRBdC5nZXRUaW1lKCkpIC9cbiAgICAgICAgICAgICAgICAxXzAwMCxcbiAgICAgICAgICAgICAgVW5pdC5TZWNvbmRzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBTdG9wIHRyYWNraW5nIHRoYXQgdmVyc2lvbiwgYXMgaXQncyBub3cgYXZhaWxhYmxlLlxuICAgICAgICAgICAgaWYgKHZlcnNpb25TdGF0ZS52ZXJzaW9uIGluIHN0YXRlLnBlbmRpbmcpIHtcbiAgICAgICAgICAgICAgZGVsZXRlIHN0YXRlLnBlbmRpbmdbdmVyc2lvblN0YXRlLnZlcnNpb25dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUZWxscyB1cyBob3cgbG9uZyB3ZSd2ZSBiZWVuIHdhaXRpbmcgZm9yIHRoaXMgdmVyc2lvbiB0byBzaG93IHVwLCBzbyBmYXIuXG4gICAgICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhcbiAgICAgICAgICAgICAgTWV0cmljTmFtZS5EV0VMTF9USU1FLFxuICAgICAgICAgICAgICAoRGF0ZS5ub3coKSAtIHZlcnNpb25TdGF0ZS5wdWJsaXNoZWRBdC5nZXRUaW1lKCkpIC8gMV8wMDAsXG4gICAgICAgICAgICAgIFVuaXQuU2Vjb25kc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBOb3RpbmcgdGhhdCB3ZSBkaWQgbm90IGVub2N1bnRlciBhIGdhdGV3YXkgZXJyb3IsIHNvIHRoZSBtZXRyaWMgaGFzIGEgbmljZSBhbmQgY2xlYW4gMFxuICAgICAgICAgIC8vIHZhbHVlIGluc3RlYWQgb2YgaGF2aW5nIHRvIHRyZWF0IG1pc3NpbmcgZGF0YSBhcyBub3QgYnJlYWNoaW5nLlxuICAgICAgICAgIG1ldHJpY3MucHV0TWV0cmljKE1ldHJpY05hbWUuSFRUUF9HQVRFV0FZX0VSUk9SUywgMCwgVW5pdC5Db3VudCk7XG4gICAgICAgIH0pKCk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHN0YXRlU2VydmljZS5zYXZlKHBhY2thZ2VOYW1lLCBzdGF0ZSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIVFRQRXJyb3IgJiZcbiAgICAgIGVycm9yLmh0dHBTdGF0dXNDb2RlICYmXG4gICAgICBlcnJvci5odHRwU3RhdHVzQ29kZSA+PSA1MDBcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIHNvIHdlJ2xsIGxvZyB0aGlzIG91dCwgYW5kIHByZXRlbmQgaXQgZGlkIG5vdCBmYWlsLi4uXG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIGFzc3VtaW5nIHRoaXMgaXMgdHJhbnNpZW50OicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgICAgYXdhaXQgbWV0cmljU2NvcGUoKG1ldHJpY3MpID0+IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gQ2xlYXIgb3V0IGRlZmF1bHQgZGltZW5zaW9ucyBhcyB3ZSBkb24ndCBuZWVkIHRob3NlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWVtYmVkZGVkLW1ldHJpY3Mtbm9kZS9pc3N1ZXMvNzMuXG4gICAgICAgIG1ldHJpY3Muc2V0RGltZW5zaW9ucyh7fSk7XG4gICAgICAgIG1ldHJpY3Muc2V0UHJvcGVydHkoJ0Vycm9yQ29kZScsIGVycm9yLmh0dHBTdGF0dXNDb2RlKTtcbiAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnRXJyb3JNZXNzYWdlJywgZXJyb3IubWVzc2FnZSk7XG5cbiAgICAgICAgbWV0cmljcy5wdXRNZXRyaWMoTWV0cmljTmFtZS5IVFRQX0dBVEVXQVlfRVJST1JTLCAxLCBVbml0LkNvdW50KTtcbiAgICAgIH0pKCk7XG4gICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIFRpbWVvdXRFcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFJlcXVlc3QgdGltZW91dCBmcm9tIGEgZGVwZW5kZW5jeSwgYXNzdW1pbmcgdGhpcyBpcyB0cmFuc2llbnQ6YCxcbiAgICAgICAgZXJyb3JcbiAgICAgICk7XG4gICAgICBhd2FpdCBtZXRyaWNTY29wZSgobWV0cmljcykgPT4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBDbGVhciBvdXQgZGVmYXVsdCBkaW1lbnNpb25zIGFzIHdlIGRvbid0IG5lZWQgdGhvc2UuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzbGFicy9hd3MtZW1iZWRkZWQtbWV0cmljcy1ub2RlL2lzc3Vlcy83My5cbiAgICAgICAgbWV0cmljcy5zZXREaW1lbnNpb25zKHt9KTtcbiAgICAgICAgbWV0cmljcy5zZXRQcm9wZXJ0eSgnRXJyb3JDb2RlJywgJ1JFUVVFU1RfVElNRU9VVCcpO1xuICAgICAgICBtZXRyaWNzLnNldFByb3BlcnR5KCdFcnJvck1lc3NhZ2UnLCBlcnJvci5tZXNzYWdlKTtcblxuICAgICAgICAvLyBUaGlzIGlzIHNsaWd0aGx5IGFidXNpdmUsIGJ1dC4uLiBIVFRQIDUwNCAoR2F0ZXdheSBUaW1lb3V0KSBmcm9tIHRoZSBucG0gcmVwbGljYSBhcmVcbiAgICAgICAgLy8gcmV0dXJuZWQgYWZ0ZXIgbW9yZSB0aGFuIDMwIHNlY29uZHMgaGFzIHBhc3NlZCBhbmQgdGhpcyBpcyB3YXkgdG9vIGxvbmcuLi4gc28gd2VcbiAgICAgICAgLy8gYXBwcm94aW1hdGUgYSBiaXQgaGVyZS4uLlxuICAgICAgICBtZXRyaWNzLnB1dE1ldHJpYyhNZXRyaWNOYW1lLkhUVFBfR0FURVdBWV9FUlJPUlMsIDEsIFVuaXQuQ291bnQpO1xuICAgICAgfSkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBub3QgYW4gSFRUUCA1WFggZnJvbSBhIGRlcGVuZGVuY3ksIHNvIHdlJ2xsIGp1c3QgcmV0aHJvdyBhbmQgZmFpbC4uLlxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIENvbnN0cnVjdEh1YiB7XG4gICNjYXRhbG9nPzogQ2F0YWxvZ01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nKSB7fVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBwYWNrYWdlIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgY2F0YWxvZ1xuICAgKiBvYmplY3Qgb3Igbm90LlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgICAgdGhlIG5hbWUgb2YgdGhlIGNoZWNrZWQgcGFja2FnZS5cbiAgICogQHBhcmFtIHBhY2thZ2VWZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBjaGVja2VkIHBhY2thZ2UuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBJSUYgdGhlIGV4YWN0IHBhY2thZ2UgdmVyc2lvbiBpcyBmb3VuZCBpbiB0aGUgY2F0YWxvZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0luQ2F0YWxvZyhcbiAgICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2F0YWxvZyA9IGF3YWl0IHRoaXMuZ2V0Q2F0YWxvZygpO1xuICAgIGNvbnN0IGZpbHRlcmVkID0gY2F0YWxvZy5wYWNrYWdlcy5maWx0ZXIoXG4gICAgICAocDogYW55KSA9PiBwLm5hbWUgPT09IHBhY2thZ2VOYW1lICYmIHAudmVyc2lvbiA9PT0gcGFja2FnZVZlcnNpb25cbiAgICApO1xuXG4gICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEZvdW5kIG11bHRpcGxlIGVudHJpZXMgZm9yICR7cGFja2FnZU5hbWV9QCR7cGFja2FnZVZlcnNpb259IGluIGNhdGFsb2dgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZC5sZW5ndGggPT09IDE7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgVHlwZVNjcmlwdCBkb2N1bWVudGF0aW9uIGV4aXN0cyBpbiBDb25zdHJ1Y3RIdWIgZm9yIHRoZVxuICAgKiBzcGVjaWZpZWQgcGFja2FnZSB2ZXJzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgICAgdGhlIG5hbWUgb2YgdGhlIGNoZWNrZWQgcGFja2FnZS5cbiAgICogQHBhcmFtIHBhY2thZ2VWZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBjaGVja2VkIHBhY2thZ2UuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBJSUYgdGhlIGBkb2NzLXR5cGVzY3JpcHQubWRgIGRvY3VtZW50IGV4aXN0cyBmb3IgdGhlXG4gICAqICAgICAgICAgIHNwZWNpZmllZCBwYWNrYWdlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1R5cGVTY3JpcHREb2N1bWVudGF0aW9uKFxuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gICAgcGFja2FnZVZlcnNpb246IHN0cmluZ1xuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBrbykgPT4ge1xuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS9kYXRhLyR7cGFja2FnZU5hbWV9L3Yke3BhY2thZ2VWZXJzaW9ufS9kb2NzLXR5cGVzY3JpcHQubWRgO1xuICAgICAgaHR0cHNcbiAgICAgICAgLnJlcXVlc3QodXJsLCB7IG1ldGhvZDogJ0hFQUQnIH0sIChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgLy8gVGhpcyByZXR1cm5zIEhUVFAgMjAwIHdpdGggdGV4dC9odG1sIGlmIGl0J3MgYSA0MDQsIGR1ZSB0byBob3dcbiAgICAgICAgICAgIC8vIHdlIGNvbmZpZ3VyZWQgQ2xvdWRGcm9udCBiZWhhdmlvcnMuXG4gICAgICAgICAgICByZXR1cm4gb2soXG4gICAgICAgICAgICAgICEhcmVzLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddPy5zdGFydHNXaXRoKCd0ZXh0L21hcmtkb3duJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBIVFRQRXJyb3IoXG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIGBIRUFEICR7dXJsfSAtLSBIVFRQICR7cmVzLnN0YXR1c0NvZGV9ICgke3Jlcy5zdGF0dXNNZXNzYWdlfSlgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnIpO1xuICAgICAgICAgIGtvKGVycik7XG4gICAgICAgIH0pXG4gICAgICAgIC5lbmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q2F0YWxvZygpOiBQcm9taXNlPENhdGFsb2dNb2RlbD4ge1xuICAgIGlmICh0aGlzLiNjYXRhbG9nKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY2F0YWxvZztcbiAgICB9XG4gICAgcmV0dXJuICh0aGlzLiNjYXRhbG9nID0gYXdhaXQgZ2V0SlNPTihgJHt0aGlzLmJhc2VVcmx9L2NhdGFsb2cuanNvbmApKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2FuYXJ5U3RhdGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIFNhdmUgdGhlIHN0YXRlIHRvIHRoZSBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZShwYWNrYWdlTmFtZTogc3RyaW5nLCBzdGF0ZTogQ2FuYXJ5U3RhdGUpIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChwYWNrYWdlTmFtZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgU2F2aW5nIHRvICR7dXJsfTogJHtKU09OLnN0cmluZ2lmeShzdGF0ZSwgbnVsbCwgMil9YCk7XG4gICAgYXdhaXQgUzNfQ0xJRU5ULnNlbmQoXG4gICAgICBuZXcgUHV0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogdGhpcy5idWNrZXROYW1lLFxuICAgICAgICBLZXk6IHRoaXMua2V5KHBhY2thZ2VOYW1lKSxcbiAgICAgICAgQm9keTogSlNPTi5zdHJpbmdpZnkoc3RhdGUsIG51bGwsIDIpLFxuICAgICAgICBDb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHN0YXRlIGZpbGUgZm9yIHRoaXMgcGFja2FnZSBmcm9tIHRoZSBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZChwYWNrYWdlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDYW5hcnlTdGF0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIHN0YXRlIGZvciBwYWNrYWdlICcke3BhY2thZ2VOYW1lfSdgKTtcblxuICAgIGNvbnN0IG9iamVjdEtleSA9IHRoaXMua2V5KHBhY2thZ2VOYW1lKTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybChwYWNrYWdlTmFtZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmc6ICR7dXJsfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBTM19DTElFTlQuc2VuZChcbiAgICAgICAgbmV3IEdldE9iamVjdENvbW1hbmQoeyBCdWNrZXQ6IHRoaXMuYnVja2V0TmFtZSwgS2V5OiBvYmplY3RLZXkgfSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZXM/LkJvZHk/LnRyYW5zZm9ybVRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBOb3QgZm91bmQ6ICR7dXJsfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGVkOiAke3VybH1gKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGNvbnRlbnQsIChrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdwdWJsaXNoZWRBdCcgfHwga2V5ID09PSAnYXZhaWxhYmxlQXQnKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBOb1N1Y2hLZXkgfHwgZXJyb3IubmFtZSA9PT0gJ05vU3VjaEtleScpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBzdGF0ZSBmcm9tIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsYXRlc3QocGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Q2FuYXJ5U3RhdGVbJ2xhdGVzdCddPiB7XG4gICAgY29uc29sZS5sb2coYEZldGNoaW5nIGxhdGVzdCB2ZXJzaW9uIGluZm9ybWF0aW9uIGZyb20gTlBNOiAke3BhY2thZ2VOYW1lfWApO1xuICAgIGNvbnN0IHZlcnNpb24gPSAoXG4gICAgICBhd2FpdCBnZXRKU09OKFxuICAgICAgICBgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJHtlbmNvZGVVUklDb21wb25lbnQocGFja2FnZU5hbWUpfS9sYXRlc3RgXG4gICAgICApXG4gICAgKS52ZXJzaW9uO1xuICAgIGNvbnN0IHB1Ymxpc2hlZEF0ID0gKFxuICAgICAgYXdhaXQgZ2V0SlNPTihcbiAgICAgICAgYGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhY2thZ2VOYW1lKX1gXG4gICAgICApXG4gICAgKS50aW1lW3ZlcnNpb25dO1xuXG4gICAgaWYgKHB1Ymxpc2hlZEF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTGF0ZXN0IHZlcnNpb24gb2YgJHtwYWNrYWdlTmFtZX0gaXMgJHt2ZXJzaW9ufSBidXQgcHVibGlzaCB0aW1lIGhhcyBub3QgYmVlbiByZXBvcnRlZC5gKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBQYWNrYWdlOiAke3BhY2thZ2VOYW1lfSB8IFZlcnNpb24gOiAke3ZlcnNpb259IHwgUHVibGlzaGVkIEF0OiAke3B1Ymxpc2hlZEF0fWBcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgdmVyc2lvbiwgcHVibGlzaGVkQXQ6IG5ldyBEYXRlKHB1Ymxpc2hlZEF0KSB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzTnBtUmVwbGljYURvd24oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGdldEpTT04oJ2h0dHBzOi8vcmVwbGljYXRlLm5wbWpzLmNvbS8nLCB7XG4gICAgICAgIHRpbWVvdXRNaWxsaXM6IFJFUExJQ0FfUkVRVUVTVF9USU1FT1VUX01TLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBrZXkocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke09iamVjdEtleS5TVEFURV9QUkVGSVh9JHtwYWNrYWdlTmFtZX0ke09iamVjdEtleS5TVEFURV9TVUZGSVh9YDtcbiAgfVxuXG4gIHByaXZhdGUgdXJsKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYHMzOi8vJHt0aGlzLmJ1Y2tldE5hbWV9LyR7dGhpcy5rZXkocGFja2FnZU5hbWUpfWA7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhUVFBFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBodHRwU3RhdHVzQ29kZTogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCBIVFRQRXJyb3IpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCBUaW1lb3V0RXJyb3IpO1xuICB9XG59XG5cbmludGVyZmFjZSBDYW5hcnlTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IHBhY2thZ2UgdmVyc2lvbiwgYXMgb2YgdGhlIGxhc3QgZXhlY3V0aW9uIG9mIHRoZSBjYW5hcnkuXG4gICAqL1xuICBsYXRlc3Q6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiB3ZSBhcmUgdHJhY2tpbmcuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHB1Ymxpc2ggZGF0ZSBvZiB0aGUgdmVyc2lvbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBwdWJsaXNoZWRBdDogRGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRlIGF0IHdoaWNoIHRoZSB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBvbiB0aGUgaHViLlxuICAgICAqL1xuICAgIGF2YWlsYWJsZUF0PzogRGF0ZTtcbiAgfTtcblxuICAvKipcbiAgICogRWFjaCBleGlzdGluZywgYnV0IG5vdC15ZXQtZm91bmQgdmVyc2lvbnMgdGhhdCBhcmUgc3RpbGwgdHJhY2tlZC5cbiAgICovXG4gIHBlbmRpbmc6IHtcbiAgICBbdmVyc2lvbjogc3RyaW5nXToge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdmVyc2lvbiB3ZSBhcmUgdHJhY2tpbmcuXG4gICAgICAgKi9cbiAgICAgIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgcHVibGlzaCBkYXRlIG9mIHRoZSB2ZXJzaW9uLlxuICAgICAgICovXG4gICAgICByZWFkb25seSBwdWJsaXNoZWRBdDogRGF0ZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGVzZSBwZW5kaW5nIHBhY2thZ2VzIGFyZSBORVZFUiBhdmFpbGFibGUgYXQgdGhpcyBwb2ludC5cbiAgICAgICAqL1xuICAgICAgYXZhaWxhYmxlQXQ6IHVuZGVmaW5lZDtcbiAgICB9O1xuICB9O1xufVxuXG4vKipcbiAqIE1ha2VzIGEgcmVxdWVzdCB0byB0aGUgcHJvdmlkZWQgVVJMIGFuZCByZXR1cm5zIHRoZSByZXNwb25zZSBhZnRlciBoYXZpbmdcbiAqIHBhcnNlZCBpdCBmcm9tIEpTT04uXG4gKlxuICogQHBhcmFtIHVybCB0aGUgVVJMIHRvIGdldC5cbiAqIEBwYXJhbSBqc29uUGF0aCBhIEpTT04gcGF0aCB0byBleHRyYWN0IG9ubHkgYSBzdWJzZXQgb2YgdGhlIG9iamVjdC5cbiAqIEBwYXJhbSB0aW1lb3V0TWlsbGlzIHRoZSBzb2NrZXQgdGltZW91dCwgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5mdW5jdGlvbiBnZXRKU09OKFxuICB1cmw6IHN0cmluZyxcbiAgeyB0aW1lb3V0TWlsbGlzIH06IHsganNvblBhdGg/OiBzdHJpbmdbXTsgdGltZW91dE1pbGxpcz86IG51bWJlciB9ID0ge31cbik6IFByb21pc2U8YW55PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgob2ssIGtvKSA9PiB7XG4gICAgaHR0cHNcbiAgICAgIC5nZXQoXG4gICAgICAgIHVybCxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgJ0FjY2VwdC1FbmNvZGluZyc6ICdpZGVudGl0eScsXG4gICAgICAgICAgICAnbnBtLXJlcGxpY2F0aW9uLW9wdC1pbic6ICd0cnVlJywgLy8gY2FuIGJlIGRlbGV0ZWQgYWZ0ZXIgTWF5IDI5OiBodHRwczovL2dpdGh1Yi5jb20vb3Jncy9jb21tdW5pdHkvZGlzY3Vzc2lvbnMvMTUyNTE1XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lb3V0OiB0aW1lb3V0TWlsbGlzLFxuICAgICAgICB9LFxuICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlICE9PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEhUVFBFcnJvcihcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgIGBHRVQgJHt1cmx9IC0gSFRUUCAke3Jlcy5zdGF0dXNDb2RlfSAoJHtyZXMuc3RhdHVzTWVzc2FnZX0pYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBrbyhlcnJvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVzLm9uY2UoJ2Vycm9yJywga28pO1xuXG4gICAgICAgICAgcmVzLm9uY2UoJ3RpbWVvdXQnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyBVcG9uIHNvY2tldCB0aW1lb3V0LCBmYWlsIHdpdGggYSBUaW1lb3V0RXJyb3JcbiAgICAgICAgICAgIGtvKFxuICAgICAgICAgICAgICBuZXcgVGltZW91dEVycm9yKFxuICAgICAgICAgICAgICAgIGBSZXF1ZXN0IHRpbWVkIG91dCAoYWZ0ZXIgJHtcbiAgICAgICAgICAgICAgICAgIHRpbWVvdXRNaWxsaXMgPz8gJ04vQSdcbiAgICAgICAgICAgICAgICB9IG1zKTogR0VUICR7dXJsfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHBsYWluUGF5bG9hZCA9XG4gICAgICAgICAgICByZXMuaGVhZGVyc1snY29udGVudC1lbmNvZGluZyddID09PSAnZ3ppcCcgPyBndW56aXAocmVzKSA6IHJlcztcbiAgICAgICAgICByZXR1cm4ganNvbihwbGFpblBheWxvYWQpXG4gICAgICAgICAgICAudGhlbigocGFyc2VkKSA9PiBvayhwYXJzZWQgYXMgYW55KSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiBrbyhlcnIpKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLm9uY2UoJ3RpbWVvdXQnLCAoKSA9PiB7XG4gICAgICAgIC8vIFVwb24gc29ja2V0IHRpbWVvdXQsIGZhaWwgd2l0aCBhIFRpbWVvdXRFcnJvclxuICAgICAgICBrbyhcbiAgICAgICAgICBuZXcgVGltZW91dEVycm9yKFxuICAgICAgICAgICAgYFJlcXVlc3QgdGltZWQgb3V0IChhZnRlciAke3RpbWVvdXRNaWxsaXMgPz8gJ04vQSd9IG1zKTogR0VUICR7dXJsfWBcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgYGxhdGVzdGAgcHJvcGVydHkgb2YgYHN0YXRlYCB0aSB0aGUgcHJvdmlkZWQgYGxhdGVzdGAgdmFsdWUsXG4gKiB1bmxlc3MgdGhpcyBpcyBhbHJlYWR5IHRoZSBjdXJyZW50IGxhdGVzdC5cbiAqXG4gKiBJZiB0aGUgcHJldmlvdXMgbGF0ZXN0IHZlcnNpb24gZG9lcyBub3QgaGF2ZSB0aGUgYGF2YWlsYWJsZUF0YCBwcm9wZXJ0eSwgYWRkc1xuICogdGhhdCB0byB0aGUgYHBlbmRpbmdgIHNldC5cbiAqXG4gKiBAcGFyYW0gc3RhdGUgIHRoZSBzdGF0ZSB0byBiZSB1cGRhdGVkLlxuICogQHBhcmFtIGxhdGVzdCB0aGUgY3VycmVudCBcImxhdGVzdFwiIHZlcnNpb24gb2YgdGhlIHRyYWNrZWQgcGFja2FnZS5cbiAqL1xuZnVuY3Rpb24gdXBkYXRlTGF0ZXN0SWZOZWVkZWQoXG4gIHN0YXRlOiBDYW5hcnlTdGF0ZSxcbiAgbGF0ZXN0OiBDYW5hcnlTdGF0ZVsnbGF0ZXN0J11cbik6IHZvaWQge1xuICBpZiAoc3RhdGUubGF0ZXN0LnZlcnNpb24gPT09IGxhdGVzdC52ZXJzaW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gSWYgdGhlIGN1cnJlbnQgXCJsYXRlc3RcIiBpc24ndCBhdmFpbGFibGUgeWV0LCBhZGQgaXQgdG8gdGhlIGBwZW5kaW5nYCB2ZXJzaW9ucy5cbiAgaWYgKHN0YXRlLmxhdGVzdC5hdmFpbGFibGVBdCA9PSBudWxsKSB7XG4gICAgLy8gVGhlIFR5cGVTY3JpcHQgdmVyc2lvbiBvZiBqc2lpIGRvZXNuJ3QgZG8gY29udHJvbCBmbG93IGFuYWx5c2lzIHdlbGwgZW5vdWdoIGhlcmUgdG9cbiAgICAvLyBkZXRlcm1pbmUgdGhhdCB0aGVgaWZgIGJyYW5jaCBndWFyYW50ZWVzIGBhdmFpbGFibGVBdGAgaXMgdW5kZWZpbmVkIGhlcmUuXG4gICAgc3RhdGUucGVuZGluZ1tzdGF0ZS5sYXRlc3QudmVyc2lvbl0gPSB7XG4gICAgICAuLi5zdGF0ZS5sYXRlc3QsXG4gICAgICBhdmFpbGFibGVBdDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBzdGF0ZS5sYXRlc3QgPSBsYXRlc3Q7XG59XG5cbmZ1bmN0aW9uIGd1bnppcChyZWFkYWJsZTogUmVhZGFibGUpOiBSZWFkYWJsZSB7XG4gIGNvbnN0IGd6ID0gY3JlYXRlR3VuemlwKCk7XG4gIHJlYWRhYmxlLnBpcGUoZ3osIHsgZW5kOiB0cnVlIH0pO1xuICByZXR1cm4gZ3o7XG59XG4iXX0=
|
@@ -549,7 +549,7 @@ class NpmJs {
|
|
549
549
|
}
|
550
550
|
exports.NpmJs = NpmJs;
|
551
551
|
_a = JSII_RTTI_SYMBOL_1;
|
552
|
-
NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.
|
552
|
+
NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.415" };
|
553
553
|
/**
|
554
554
|
* How often 'rate' goes into 'duration' (rounded up)
|
555
555
|
*/
|
package/lib/package-tag/index.js
CHANGED
@@ -50,7 +50,7 @@ class TagCondition {
|
|
50
50
|
}
|
51
51
|
exports.TagCondition = TagCondition;
|
52
52
|
_a = JSII_RTTI_SYMBOL_1;
|
53
|
-
TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.
|
53
|
+
TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.415" };
|
54
54
|
/**
|
55
55
|
* Logic operators for performing specific conditional logic.
|
56
56
|
*/
|
@@ -130,7 +130,7 @@ class TagConditionField {
|
|
130
130
|
}
|
131
131
|
exports.TagConditionField = TagConditionField;
|
132
132
|
_b = JSII_RTTI_SYMBOL_1;
|
133
|
-
TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.
|
133
|
+
TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.415" };
|
134
134
|
/**
|
135
135
|
* Target the README of the package to dictate whether a tag is relevant.
|
136
136
|
*/
|
@@ -147,5 +147,5 @@ class TagConditionReadme {
|
|
147
147
|
}
|
148
148
|
exports.TagConditionReadme = TagConditionReadme;
|
149
149
|
_c = JSII_RTTI_SYMBOL_1;
|
150
|
-
TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.
|
150
|
+
TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.415" };
|
151
151
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE4RUEsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLG1EQUE2QixDQUFBO0lBQzdCLHVDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QjtBQXNCRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQXFCO1FBQ2pDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFxQjtRQUNoQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFxQjtRQUNqQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFjO1FBQzVCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O0FBdkNILG9DQTBDQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLHFCQU9YO0FBUEQsV0FBWSxxQkFBcUI7SUFDL0Isb0NBQVcsQ0FBQTtJQUNYLGtDQUFTLENB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b20gJy4uL3BhY2thZ2UtdGFnLWdyb3VwJztcblxuaW50ZXJmYWNlIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhlIHRhZyBiZWluZyBhcHBsaWVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaGV4IHZhbHVlIHN0cmluZyBmb3IgdGhlIGNvbG9yIG9mIHRoZSB0YWcgd2hlbiBkaXNwbGF5ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQgZXh0ZW5kcyBQYWNrYWdlVGFnUHJlc2VudGF0aW9uQmFzZSB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2hsaWdodCBleHRlbmRzIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIEljb24gZGlzcGxheWVkIG5leHQgdG8gaGlnaGxpZ2h0IG9uIHBhY2thZ2UgY2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWx0ZXIge1xuICAvKipcbiAgICogRGlzcGxheSBuYW1lIGZvciBmaWx0ZXJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiBncm91cCB0byBpbmNsdWRlIGZpbHRlciBpblxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdyb3VwYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBncm91cEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlVGFnR3JvdXAgdG8gaW5jbHVkZSBmaWx0ZXIgaW5cbiAgICovXG4gIHJlYWRvbmx5IGdyb3VwPzogUGFja2FnZVRhZ0dyb3VwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRhZywgdXNlZCBmb3Igc2VhcmNoLiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHRhZ3MuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBoaWdsaWdodGluZyB0YWcgb24gcGFja2FnZSBjYXJkXG4gICAqIEBkZWZhdWx0IGRvbid0IGhpZ2hsaWdodCB0YWdcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hsaWdodD86IEhpZ2hsaWdodDtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3Igc2hvd2luZyB0YWcgYXMga2V5d29yZFxuICAgKiBAZGVmYXVsdCBkb24ndCBzaG93IHRhZyBpbiBrZXl3b3JkIGxpc3RcbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBLZXl3b3JkO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBzaG93aW5nIHRhZyBhcyBzZWFyY2ggZmlsdGVyXG4gICAqIEBkZWZhdWx0IGRvbid0IHNob3cgdGFnIGluIHNlYXJjaCBmaWx0ZXJzXG4gICAqL1xuICByZWFkb25seSBzZWFyY2hGaWx0ZXI/OiBTZWFyY2hGaWx0ZXI7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYXBwbHlpbmcgY3VzdG9tIHRhZ3MgdG8gcmVsZXZhbnQgcGFja2FnZXMuIEN1c3RvbSB0YWdzIGFyZVxuICogZGlzcGxheWVkIG9uIHRoZSBwYWNrYWdlIGRldGFpbHMgcGFnZSwgYW5kIGNhbiBiZSB1c2VkIGZvciBzZWFyY2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZyBleHRlbmRzIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbG9naWMgdGhhdCBkaWN0YXRlcyB3aGV0aGVyIHRoZVxuICAgKiBwYWNrYWdlIGhhcyB0aGUgdGFnIGFwcGxpZWQuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gVGFnQ29uZGl0aW9uU291cmNlIHtcbiAgUEFDS0FHRV9KU09OID0gJ1BBQ0tBR0VfSlNPTicsXG4gIFJFQURNRSA9ICdSRUFETUUnLFxufVxuXG4vKipcbiAqIFNlcmlhbGl6ZWQgY29uZmlnIGZvciBhIHRhZyBjb25kaXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdDb25kaXRpb25Db25maWcge1xuICByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGU7XG4gIHJlYWRvbmx5IHNvdXJjZT86IFRhZ0NvbmRpdGlvblNvdXJjZTtcbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuICByZWFkb25seSBvcHRpb25zPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBUYWdDb25kaXRpb25Db25maWdbXTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVkIHRhZyBkZWNsYXJhdGlvbiB0byBiZSBwYXNzZWQgdG8gbGFtYmRhcyB2aWEgZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlVGFnQ29uZmlnIGV4dGVuZHMgUGFja2FnZVRhZ0Jhc2Uge1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBDb25kaXRpb24gZm9yIGFwcGx5aW5nIGEgY3VzdG9tIHRhZyB0byBhIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWdDb25kaXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlIGFuICYmIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIG9ubHkgd2hlbiBhbGwgY29uZGl0aW9uIGFyZ3VtZW50cyBhcmVcbiAgICogdHJ1ZS5cbiAgICovXG4gIHN0YXRpYyBhbmQoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5BTkQsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gfHwgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgYW55IG9mIHRoZSBjb25kaXRpb24gYXJndW1lbnRzIGFyZVxuICAgKiB0cnVlLlxuICAgKi9cbiAgc3RhdGljIG9yKC4uLmNvbmRzOiBUYWdDb25kaXRpb25bXSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25Mb2dpYyhUYWdDb25kaXRpb25Mb2dpY1R5cGUuT1IsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSAhIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBjb25kaXRpb24gYXJndW1lbnQgaXMgZmFsc2VcbiAgICovXG4gIHN0YXRpYyBub3QoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5OT1QsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXJnZXQgYSBmaWVsZCB3aXRoaW4gdGhlIGBwYWNrYWdlLmpzb25gIHRvIGFzc2VydCBhZ2FpbnN0LiBOZXN0ZWQgZmllbGRzXG4gICAqIGNhbiBiZSBhY2Nlc3NlZCBieSBwYXNzaW5nIG11bHRpcGxlIGtleXMuXG4gICAqIGBUYWdDb25kaXRpb24uZmllbGQoJ2tleTEnLCAna2V5MicpYCB3aWxsIGFjY2Vzc1xuICAgKiBgcGFja2FnZUpzb24/LmtleTE/LmtleTJgLlxuICAgKi9cbiAgc3RhdGljIGZpZWxkKC4uLmtleXM6IHN0cmluZ1tdKTogVGFnQ29uZGl0aW9uRmllbGQge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uRmllbGQoa2V5cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29uZGl0aW9uIHdpdGggbG9naWMgdGFyZ2V0aW5nIHRoZSBSRUFETUUgb2YgdGhlIHBhY2thZ2UuXG4gICAqL1xuICBzdGF0aWMgcmVhZG1lKCk6IFRhZ0NvbmRpdGlvblJlYWRtZSB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25SZWFkbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBMb2dpYyBvcGVyYXRvcnMgZm9yIHBlcmZvcm1pbmcgc3BlY2lmaWMgY29uZGl0aW9uYWwgbG9naWMuXG4gKi9cbmV4cG9ydCBlbnVtIFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZSB7XG4gIEFORCA9ICdBTkQnLFxuICBPUiA9ICdPUicsXG4gIE5PVCA9ICdOT1QnLFxuICBFUVVBTFMgPSAnRVFVQUxTJyxcbiAgSU5DTFVERVMgPSAnSU5DTFVERVMnLFxuICBTVEFSVFNfV0lUSCA9ICdTVEFSVFNfV0lUSCcsXG59XG5cbmNsYXNzIFRhZ0NvbmRpdGlvbkxvZ2ljIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzTG9naWMgPSB0cnVlO1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlbjogVGFnQ29uZGl0aW9uW11cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmNoaWxkcmVuLm1hcCgoY29uZCkgPT4gY29uZC5iaW5kKCkpLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgVGFnQ29uZGl0aW9uUHJlZGljYXRlIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzUHJlZGljYXRlID0gdHJ1ZTtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZTogVGFnQ29uZGl0aW9uTG9naWNUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlPzogVGFnQ29uZGl0aW9uU291cmNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5Pzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZT86IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM/OiBUYWdDb25kaXRpb25JbmNsdWRlc09wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRhcmdldCBhIGZpZWxkIHRvIHVzZSBpbiBsb2dpYyB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25GaWVsZCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmdbXSkge31cblxuICAvKipcbiAgICogQ3JlYXRlIGEgPT09IGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBzcGVjaWZpZWQgZmllbGQgd2l0aGluIHRoZVxuICAgKiBwYWNrYWdlJ3MgcGFja2FnZS5qc29uIGlzIGVxdWFsIHRvIHRoZSBwYXNzZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZXEodmFsdWU6IGFueSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuRVFVQUxTLFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIHNwZWNpZmllZFxuICAgKiBmaWVsZCB3aXRoaW4gdGhlIHBhY2thZ2UncyBwYWNrYWdlLmpzb24gaW5jbHVkZXMgdGhlIHZhbHVlLiBUaGlzIHdvcmtzIGZvclxuICAgKiBhcnJheXMgb3Igc3RyaW5ncy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUEFDS0FHRV9KU09OLFxuICAgICAgdGhpcy5maWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLnN0YXJ0c1dpdGgodmFsdWUpYCBjb25kaXRpb24gd2hpY2ggYXBwbGllcyBpZiB0aGUgc3BlY2lmaWVkXG4gICAqIGZpZWxkIHdpdGhpbiB0aGUgcGFja2FnZSdzIHBhY2thZ2UuanNvbiBiZWdpbnMgd2l0aCB0aGUgdmFsdWUuIFRoaXMgd29ya3NcbiAgICogb25seSBmb3Igc3RyaW5nIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyBzdGFydHNXaXRoKHZhbHVlOiBzdHJpbmcpOiBUYWdDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uUHJlZGljYXRlKFxuICAgICAgVGFnQ29uZGl0aW9uTG9naWNUeXBlLlNUQVJUU19XSVRILFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUYXJnZXQgdGhlIFJFQURNRSBvZiB0aGUgcGFja2FnZSB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25SZWFkbWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBgcmVhZG1lLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIFJFQURNRVxuICAgKiBpbmNsdWRlcyB0aGUgc3BlY2lmaWVkIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUkVBRE1FLFxuICAgICAgdW5kZWZpbmVkLCAvLyBubyBrZXlcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgaW5jbHVkZXNgIG9wZXJhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgbXVzdCBhcHBlYXIgYXQgbGVhc3QgdGhpcyBtYW55IHRpbWVzLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBhdExlYXN0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTdHJpbmcgbWF0Y2hlcyBtdXN0IG1hdGNoIHRoZSBjYXNpbmcgb2YgdGhlIG9yaWdpbmFsIHN0cmluZy4gVGhpcyBvcHRpb25cbiAgICogaXMgaWdub3JlZCBpZiB0aGUgdmFsdWUgd2UgYXJlIGNoZWNraW5nIGlzIGFuIGFycmF5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
|
@@ -13,7 +13,7 @@ class FilterType {
|
|
13
13
|
}
|
14
14
|
exports.FilterType = FilterType;
|
15
15
|
_a = JSII_RTTI_SYMBOL_1;
|
16
|
-
FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.
|
16
|
+
FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.415" };
|
17
17
|
class FilterTypeRadio extends FilterType {
|
18
18
|
bind() {
|
19
19
|
return { type: 'radio' };
|
@@ -45,5 +45,5 @@ class PackageTagGroup {
|
|
45
45
|
}
|
46
46
|
exports.PackageTagGroup = PackageTagGroup;
|
47
47
|
_b = JSII_RTTI_SYMBOL_1;
|
48
|
-
PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.
|
48
|
+
PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.415" };
|
49
49
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWctZ3JvdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxNQUFzQixVQUFVO0lBQzlCLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBUEgsZ0NBVUM7OztBQUVELE1BQU0sZUFBZ0IsU0FBUSxVQUFVO0lBQy9CLElBQUk7UUFDVCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sa0JBQW1CLFNBQVEsVUFBVTtJQUNsQyxJQUFJO1FBQ1QsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUF3QkQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFLMUIsWUFBNEIsRUFBVSxFQUFFLEtBQTRCO1FBQXhDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7O0FBbEJILDBDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyVHlwZVZhbHVlIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NoZWNrYm94JyB8ICdyYWRpbyc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJUeXBlIHtcbiAgc3RhdGljIGNoZWNrYm94KCk6IEZpbHRlclR5cGUge1xuICAgIHJldHVybiBuZXcgRmlsdGVyVHlwZUNoZWNrYm94KCk7XG4gIH1cblxuICBzdGF0aWMgcmFkaW8oKTogRmlsdGVyVHlwZSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJUeXBlUmFkaW8oKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZTtcbn1cblxuY2xhc3MgRmlsdGVyVHlwZVJhZGlvIGV4dGVuZHMgRmlsdGVyVHlwZSB7XG4gIHB1YmxpYyBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZSB7XG4gICAgcmV0dXJuIHsgdHlwZTogJ3JhZGlvJyB9O1xuICB9XG59XG5cbmNsYXNzIEZpbHRlclR5cGVDaGVja2JveCBleHRlbmRzIEZpbHRlclR5cGUge1xuICBwdWJsaWMgYmluZCgpOiBGaWx0ZXJUeXBlVmFsdWUge1xuICAgIHJldHVybiB7IHR5cGU6ICdjaGVja2JveCcgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIEdyb3VwIGxhYmVsIHRvIGRpc3BsYXkuIEZhbGxzIGJhY2sgdG8gaWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gc2hvdyB3aXRoaW4gYSB0b29sdGlwIG5leHQgdG8gdGhlIGZpbHRlciBsYWJlbFxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzcGVjaWZ5IHRoZSBncm91cCBmaWx0ZXIgdHlwZS4gRGVmYXVsdHMgdG8gY2hlY2tib3ggaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyVHlwZT86IEZpbHRlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvb2x0aXA/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGN1c3RvbSBwYWNrYWdlIHRhZyBncm91cFxuICovXG5leHBvcnQgY2xhc3MgUGFja2FnZVRhZ0dyb3VwIHtcbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsIHByb3BzPzogUGFja2FnZVRhZ0dyb3VwUHJvcHMpIHtcbiAgICB0aGlzLmxhYmVsID0gcHJvcHM/LmxhYmVsO1xuICAgIHRoaXMudG9vbHRpcCA9IHByb3BzPy50b29sdGlwO1xuICAgIHRoaXMuZmlsdGVyVHlwZSA9IChwcm9wcz8uZmlsdGVyVHlwZSA/PyBGaWx0ZXJUeXBlLmNoZWNrYm94KCkpLmJpbmQoKS50eXBlO1xuICB9XG5cbiAgcHVibGljIGJpbmQoKTogUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMuZmlsdGVyVHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
@@ -31,5 +31,5 @@ class PreloadFile {
|
|
31
31
|
}
|
32
32
|
exports.PreloadFile = PreloadFile;
|
33
33
|
_a = JSII_RTTI_SYMBOL_1;
|
34
|
-
PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.
|
34
|
+
PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.415" };
|
35
35
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlbG9hZC1maWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQWtDO0FBRWxDOzs7R0FHRztBQUNILE1BQWEsV0FBVztJQUN0Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUMxQixNQUFNLElBQUksR0FBRyxJQUFBLGlCQUFZLEVBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBNkIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDO0lBRXRDLElBQUk7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUFwQkgsa0NBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBqYXZhc2NyaXB0IGZpbGUgdG8gbG9hZCBiZWZvcmUgdGhlIHdlYmFwcC5cbiAqIFRoaXMgY2FuIGFsbG93IG9wZXJhdG9ycyB0byBhZGQgdGhlaXIgb3duIGNsaWVudCBtb25pdG9ycyBvciBhbmFseXRpY3MgaWYgdGhleSB3aXNoXG4gKi9cbmV4cG9ydCBjbGFzcyBQcmVsb2FkRmlsZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUHJlbG9hZEZpbGUgaW5zdGFuY2UgZnJvbSBhIGZpbGVwYXRoIHRvIGxvYWRcbiAgICovXG4gIHN0YXRpYyBmcm9tRmlsZShwYXRoOiBzdHJpbmcpOiBQcmVsb2FkRmlsZSB7XG4gICAgY29uc3QgZGF0YSA9IHJlYWRGaWxlU3luYyhwYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuICAgIHJldHVybiBuZXcgUHJlbG9hZEZpbGUoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFByZWxvYWRGaWxlIGluc3RhbmNlIGRpcmVjdGx5IGZyb20gc291cmNlIGNvZGVcbiAgICovXG4gIHN0YXRpYyBmcm9tQ29kZShjb2RlOiBzdHJpbmcpOiBQcmVsb2FkRmlsZSB7XG4gICAgcmV0dXJuIG5ldyBQcmVsb2FkRmlsZShjb2RlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0YTogc3RyaW5nKSB7fVxuXG4gIHB1YmxpYyBiaW5kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgfVxufVxuIl19
|
package/lib/s3/storage.js
CHANGED
@@ -52,6 +52,6 @@ class S3StorageFactory extends constructs_1.Construct {
|
|
52
52
|
}
|
53
53
|
exports.S3StorageFactory = S3StorageFactory;
|
54
54
|
_a = JSII_RTTI_SYMBOL_1;
|
55
|
-
S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.
|
55
|
+
S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.415" };
|
56
56
|
S3StorageFactory.UID = 'S3StorageFactory';
|
57
57
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zMy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXFEO0FBQ3JELHlDQUF5QztBQUN6QywyQ0FBdUM7QUFjdkM7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUN2QixLQUFnQixFQUNoQixRQUErQixFQUFFO1FBRWpDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBcUIsQ0FBQztJQUN4RSxDQUFDO0lBTUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsUUFBK0IsRUFBRTtRQUVqQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQ2QsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXNCO1FBRXRCLFNBQVMsV0FBVyxDQUFDLE1BQWlCO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRTNDLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQ3RDLFdBQVcsRUFBRSxZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUMzQyxLQUFLLEVBQUUsb0JBQW9CLE1BQU0sQ0FBQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFVBQVUsRUFBRTthQUM1RSxDQUFDLENBQUM7WUFDSCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFaEQsNkVBQTZFO1FBQzdFLGtGQUFrRjtRQUNsRix5QkFBeUI7UUFDekIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbEQsQ0FBQzs7QUE1REgsNENBNkRDOzs7QUEzQ3lCLG9CQUFHLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrLCBUYWdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGBTM1N0b3JhZ2VGYWN0b3J5YFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzU3RvcmFnZUZhY3RvcnlQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHRoZSBmYWN0b3J5IHdpbGwgcmV0dXJuIHRoZSBmYWlsb3ZlciBidWNrZXRzIGluc3RlYWQgb2YgdGhlIHByaW1hcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmYWlsb3Zlcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIHMzIHN0b3JhZ2UgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUzNTdG9yYWdlRmFjdG9yeSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBvciBjcmVhdGUgdGhlIHN0b3JhZ2UgZmFjdG9yeSBmb3IgdGhlIGN1cnJlbnQgc2NvcGUuXG4gICAqXG4gICAqIFRoaXMgaXMgc3RhY2sgc2luZ2xldG9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRPckNyZWF0ZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIHByb3BzOiBTM1N0b3JhZ2VGYWN0b3J5UHJvcHMgPSB7fVxuICApOiBTM1N0b3JhZ2VGYWN0b3J5IHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBjb25zdCBmYWN0b3J5ID0gc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoUzNTdG9yYWdlRmFjdG9yeS5VSUQpO1xuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgcmV0dXJuIG5ldyBTM1N0b3JhZ2VGYWN0b3J5KHN0YWNrLCBTM1N0b3JhZ2VGYWN0b3J5LlVJRCwgcHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gc3RhY2subm9kZS5maW5kQ2hpbGQoUzNTdG9yYWdlRmFjdG9yeS5VSUQpIGFzIFMzU3RvcmFnZUZhY3Rvcnk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVSUQgPSAnUzNTdG9yYWdlRmFjdG9yeSc7XG5cbiAgcHJpdmF0ZSBmYWlsb3ZlckFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUzNTdG9yYWdlRmFjdG9yeVByb3BzID0ge31cbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmZhaWxvdmVyQWN0aXZlID0gcHJvcHMuZmFpbG92ZXIgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGJ1Y2tldCBpbiBhIHN0b3JhZ2UgY29uZmlnIGF3YXJlIG1hbm5lci5cbiAgICpcbiAgICogQHJldHVybnMgczMuQnVja2V0XG4gICAqL1xuICBwdWJsaWMgbmV3QnVja2V0KFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wcz86IHMzLkJ1Y2tldFByb3BzXG4gICk6IHMzLkJ1Y2tldCB7XG4gICAgZnVuY3Rpb24gZmFpbG92ZXJGb3IoYnVja2V0OiBzMy5CdWNrZXQpOiBzMy5CdWNrZXQge1xuICAgICAgY29uc3QgX2ZhaWxvdmVyID0gbmV3IHMzLkJ1Y2tldChzY29wZSwgYEZhaWxvdmVyJHtpZH1gLCBwcm9wcyk7XG4gICAgICBUYWdzLm9mKF9mYWlsb3ZlcikuYWRkKCdmYWlsb3ZlcicsICd0cnVlJyk7XG5cbiAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsICdTbmFwc2hvdENvbW1hbmQnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgU25hcHNob3QgJHtidWNrZXQubm9kZS5wYXRofWAsXG4gICAgICAgIHZhbHVlOiBgYXdzIHMzIHN5bmMgczM6Ly8ke2J1Y2tldC5idWNrZXROYW1lfSBzMzovLyR7X2ZhaWxvdmVyLmJ1Y2tldE5hbWV9YCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIF9mYWlsb3ZlcjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltYXJ5ID0gbmV3IHMzLkJ1Y2tldChzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIG5vdGUgdGhhdCB3ZSBjcmVhdGUgdGhlIGZhaWxvdmVyIGJ1Y2tldCBldmVuIGlmIHdlIGRvbid0IGN1cnJlbnRseSB1c2UgaXQuXG4gICAgLy8gdGhpcyBpcyBiZWNhdXNlIGNvbmRpdGlvbmluZyBidWNrZXQgY3JlYXRpb24gd2lsbCBldmVudHVhbGx5IGZhaWwgc2luY2UgYnVja2V0c1xuICAgIC8vIGFyZSBub3JtYWxseSByZXRhaW5lZC5cbiAgICBjb25zdCBmYWlsb3ZlciA9IGZhaWxvdmVyRm9yKHByaW1hcnkpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmFpbG92ZXJBY3RpdmUgPyBmYWlsb3ZlciA6IHByaW1hcnk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/spdx-license.js
CHANGED
@@ -269,7 +269,7 @@ class SpdxLicense {
|
|
269
269
|
}
|
270
270
|
exports.SpdxLicense = SpdxLicense;
|
271
271
|
_a = JSII_RTTI_SYMBOL_1;
|
272
|
-
SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.
|
272
|
+
SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.415" };
|
273
273
|
SpdxLicense._ALL = new Map();
|
274
274
|
//#region Individual SPDX Licenses
|
275
275
|
/**
|