@pipeline-builder/pipeline-core 4.1.18 → 4.1.19
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/lib/pipeline/plugin-lookup.js +5 -1
- package/package.json +12 -12
|
@@ -303,7 +303,11 @@ export class PluginLookup extends Construct {
|
|
|
303
303
|
vulnHigh: null,
|
|
304
304
|
vulnMedium: null,
|
|
305
305
|
vulnLow: null,
|
|
306
|
+
vulnCriticalFixable: null,
|
|
307
|
+
vulnHighFixable: null,
|
|
306
308
|
scannedAt: null,
|
|
309
|
+
scanFlaggedAt: null,
|
|
310
|
+
scanFlag: null,
|
|
307
311
|
runAsRoot: null,
|
|
308
312
|
breaking: false,
|
|
309
313
|
frozenAt: null,
|
|
@@ -362,4 +366,4 @@ export class PluginLookup extends Construct {
|
|
|
362
366
|
};
|
|
363
367
|
}
|
|
364
368
|
}
|
|
365
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9wbHVnaW4tbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFMUMsMkVBQTJFO0FBQzNFLGlD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QVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixrQkFBa0IsRUFBRSxJQUFJO1NBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSyxRQUFRO1FBQ2QsT0FBTztZQUNMLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsdUlBQXVJO2dCQUN2SSxvSUFBb0k7Z0JBQ3BJLDJHQUEyRztnQkFDM0csUUFBUTthQUNUO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLFNBQVM7UUFDZCxPQUFPO1lBQ0wsR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFO1lBQzVCLElBQUksRUFBRSxXQUFXO1lBQ2pCLHNCQUFzQixFQUFFLFNBQVM7WUFDakMsUUFBUSxFQUFFO2dCQUNSLHlHQUF5RzthQUMxRztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIFNZU1RFTV9PUkdfSUQgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbkZpbHRlciwgUGx1Z2luIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YSc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgVG9rZW4sIER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBFZmZlY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWUsIEFyY2hpdGVjdHVyZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vc3RlcC10eXBlcy5qcyc7XG5pbXBvcnQgeyBDb25maWcsIENvcmVDb25zdGFudHMgfSBmcm9tICcuLi9jb25maWcvYXBwLWNvbmZpZy5qcyc7XG5pbXBvcnQgeyBVbmlxdWVJZCB9IGZyb20gJy4uL2NvcmUvaWQtZ2VuZXJhdG9yLmpzJztcbmltcG9ydCB7IHBsdWdpbkFydGlmYWN0QWxpYXMsIHBsdWdpbkxvb2t1cEZpbHRlciB9IGZyb20gJy4uL2NvcmUvcGx1Z2luLWNvbnRyYWN0LmpzJztcbmltcG9ydCB7IFBMQUNFSE9MREVSX1BMVUdJTl9JRCB9IGZyb20gJy4uL2NvcmUvc3RlcC1tYW5pZmVzdC5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcigncGx1Z2luLWxvb2t1cCcpO1xuXG4vLyBFU00tc2FmZSBtb2R1bGUgZGlyZWN0b3J5ICh0aGUgcGFja2FnZSBpcyBgdHlwZTogbW9kdWxlYDsgYF9fZGlybmFtZWAgaXNcbi8vIG5vdCBkZWZpbmVkIHVuZGVyIEVTIG1vZHVsZXMpLlxuY29uc3QgTU9EVUxFX0RJUiA9IGRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICByZWFkb25seSBiYXNlVVJMOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsdWdpbkZpbHRlcjogUGx1Z2luRmlsdGVyO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIFBsdWdpbkxvb2t1cCBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5Mb29rdXBQcm9wcyB7XG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsYXRmb3JtVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgLyoqIE9yZ2FuaXphdGlvbiBJRCBmb3IgcmVzb2x2aW5nIHBlci1vcmcgc2VjcmV0cyBmcm9tIFNlY3JldHMgTWFuYWdlciAqL1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcnVudGltZT86IFJ1bnRpbWU7XG4gIC8qKiBMYW1iZGEgdGltZW91dCAoZGVmYXVsdDogMzBzKSAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG4gIC8qKiBMYW1iZGEgbWVtb3J5IGluIE1CIChkZWZhdWx0OiA1MTIpICovXG4gIHJlYWRvbmx5IG1lbW9yeVNpemU/OiBudW1iZXI7XG4gIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZGVmYXVsdDogQVJNXzY0KSAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU/OiBBcmNoaXRlY3R1cmU7XG4gIC8qKiBSZXNlcnZlZCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBsb29rdXAgTGFtYmRhIChkZWZhdWx0OiAzMCkgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFBsdWdpbnMgcHJlLXJlc29sdmVkIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoYCBmcm9tIHRoZSBwbGF0Zm9ybSBBUEkuXG4gICAqIEtleWVkIGJ5IGBhbGlhcyB8fCBuYW1lYCAobWF0Y2hlcyB0aGUgY29uc3RydWN0J3Mgbm9ybWFsaXplKCkgb3V0cHV0KS5cbiAgICogV2hlbiBhIGxvb2t1cCBoaXRzIHRoaXMgbWFwLCBgcGx1Z2luKClgIHJldHVybnMgdGhlIHJlc29sdmVkIFBsdWdpblxuICAgKiBkaXJlY3RseSDigJQgbm8gY3VzdG9tIHJlc291cmNlIGlzIGNyZWF0ZWQuIFRoaXMgaXMgd2hhdCBtYWtlcyB0aGVcbiAgICogbmFtZSwgdmVyc2lvbiwgY29tbWFuZHMsIGVudiwgZXRjLiBhdmFpbGFibGUgYXQgc3ludGggdGltZSBzbyB0aGUgcmVzdWx0aW5nXG4gICAqIENGTiB0ZW1wbGF0ZSBzaGlwcyB3aXRoIHRoZSByZWFsIHZhbHVlcyBiYWtlZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmVkUGx1Z2lucz86IFJlY29yZDxzdHJpbmcsIFBsdWdpbj47XG59XG5cbi8qKlxuICogQ0RLIENvbnN0cnVjdCByZXNwb25zaWJsZSBmb3IgbG9va2luZyB1cCBwbHVnaW4gY29uZmlndXJhdGlvbnMgZnJvbSBhbiBleHRlcm5hbCBwbGF0Zm9ybVxuICogdXNpbmcgQVdTIENsb3VkRm9ybWF0aW9uIEN1c3RvbSBSZXNvdXJjZXMgYmFja2VkIGJ5IGEgTGFtYmRhIGZ1bmN0aW9uLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGNyZWF0ZXM6XG4gKiAtIEEgTGFtYmRhIGZ1bmN0aW9uIChwbHVnaW4tbG9va3VwLWhhbmRsZXIpIHRoYXQgZmV0Y2hlcyBwbHVnaW4gY29uZmlnc1xuICogLSBBIENsb3VkV2F0Y2ggTG9nIEdyb3VwIGZvciB0aGUgTGFtYmRhXG4gKiAtIEEgQ3VzdG9tIFJlc291cmNlIFByb3ZpZGVyIHRoYXQgaW52b2tlcyB0aGUgTGFtYmRhXG4gKiAtIEFuIElBTSBwb2xpY3kgZ3JhbnRpbmcgdGhlIExhbWJkYSBhY2Nlc3MgdG8gdGhlIGNyZWRlbnRpYWxzIHNlY3JldFxuICpcbiAqICMjIFByZXJlcXVpc2l0ZXNcbiAqXG4gKiBCZWZvcmUgZGVwbG95aW5nLCBzdG9yZSBhIEpXVCB0b2tlbiBpbiBTZWNyZXRzIE1hbmFnZXI6XG4gKiBgYGBzaFxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtLWRheXMgMzAgLS1yZWdpb24gPHJlZ2lvbj5cbiAqIGBgYFxuICpcbiAqIFRoZSBMYW1iZGEgcmVzb2x2ZXMgdGhlIHNlY3JldCBieSBuYW1lIGF0IHJ1bnRpbWU6XG4gKiBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gXG4gKlxuICogQHNlZSBoYW5kbGVycy9wbHVnaW4tbG9va3VwLWhhbmRsZXIudHMgZm9yIHRoZSBMYW1iZGEgaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkxvb2t1cCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvdmlkZXI6IFByb3ZpZGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybVVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ydW50aW1lOiBSdW50aW1lO1xuICBwcml2YXRlIHJlYWRvbmx5IF90aW1lb3V0OiBEdXJhdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVtb3J5U2l6ZTogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucz86IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3JnSWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc29sdmVkUGx1Z2lucz86IFJlY29yZDxzdHJpbmcsIFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBsdWdpbkxvb2t1cFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICghcHJvcHMub3JnYW5pemF0aW9uIHx8ICFwcm9wcy5wcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggb3JnYW5pemF0aW9uIGFuZCBwcm9qZWN0IGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl91bmlxdWVJZCA9IHByb3BzLnVuaXF1ZUlkO1xuICAgIHRoaXMuX3BsYXRmb3JtVXJsID0gcHJvcHMucGxhdGZvcm1Vcmw7XG4gICAgdGhpcy5fb3JnSWQgPSBwcm9wcy5vcmdJZDtcbiAgICB0aGlzLl9ydW50aW1lID0gcHJvcHMucnVudGltZSA/PyBSdW50aW1lLk5PREVKU18yNF9YO1xuICAgIHRoaXMuX3RpbWVvdXQgPSBwcm9wcy50aW1lb3V0ID8/IER1cmF0aW9uLnNlY29uZHMoMzApO1xuICAgIHRoaXMuX21lbW9yeVNpemUgPSBwcm9wcy5tZW1vcnlTaXplID8/IENvbmZpZy5nZXQoJ2F3cycpLmxhbWJkYS5tZW1vcnlTaXplO1xuICAgIHRoaXMuX2FyY2hpdGVjdHVyZSA9IHByb3BzLmFyY2hpdGVjdHVyZSA/PyBBcmNoaXRlY3R1cmUuQVJNXzY0O1xuICAgIHRoaXMuX3Jlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnMgPSBwcm9wcy5yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zO1xuICAgIHRoaXMuX3Jlc29sdmVkUGx1Z2lucyA9IHByb3BzLnJlc29sdmVkUGx1Z2lucztcblxuICAgIGNvbnN0IG9uRXZlbnRIYW5kbGVyID0gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvbigpO1xuXG4gICAgLy8gTG9nLWdyb3VwIHN0cmF0ZWd5OlxuICAgIC8vICAgUHJldmlvdXMgY29kZSBjcmVhdGVkIGFuIGBBV1M6OkxvZ3M6OkxvZ0dyb3VwYCByZXNvdXJjZSB3aXRoIGFuXG4gICAgLy8gICBFWFBMSUNJVCBuYW1lIChgL2F3cy9sYW1iZGEvcGx1Z2luLWxvb2t1cC1OYCkuIFRoYXQgYnJlYWtzIGV2ZXJ5XG4gICAgLy8gICByZS1kZXBsb3kgYWZ0ZXIgYSByb2xsZWQtYmFjayBzdGFjazogQVdTIGF1dG8tY3JlYXRlcyB0aGUgZ3JvdXAgb25cbiAgICAvLyAgIGZpcnN0IExhbWJkYSBpbnZvY2F0aW9uLCB0aGUgcm9sbGJhY2sgbGVhdmVzIGl0IGFzIGFuIG9ycGhhbiwgYW5kXG4gICAgLy8gICB0aGUgbmV4dCBDREsgcnVuIGZhaWxzIHdpdGggXCJSZXNvdXJjZSAuLi4gYWxyZWFkeSBleGlzdHNcIiBiZWNhdXNlXG4gICAgLy8gICB0aGUgZXhwbGljaXQgbmFtZSBjb2xsaWRlcyB3aXRoIHRoZSBvcnBoYW4uXG4gICAgLy9cbiAgICAvLyAgIEZpeDogdXNlIGBMb2dHcm91cC5mcm9tTG9nR3JvdXBOYW1lKClgIHRvIGFkb3B0LW9yLXBhc3MtdGhyb3VnaC5cbiAgICAvLyAgIElmIHRoZSBncm91cCBleGlzdHMsIENESyByZWZlcmVuY2VzIGl0IHdpdGhvdXQgdHJ5aW5nIHRvIHJlY3JlYXRlLlxuICAgIC8vICAgSWYgaXQgZG9lc24ndCwgQVdTIExhbWJkYSBhdXRvLWNyZWF0ZXMgaXQgb24gZmlyc3QgaW52b2NhdGlvbi5cbiAgICAvLyAgIFJldGVudGlvbiBpcyB0aGVuIHNldCB2aWEgYSBzZXBhcmF0ZSByZXRlbnRpb24tcG9saWN5IGN1c3RvbVxuICAgIC8vICAgcmVzb3VyY2Ugd2hpY2ggaXMgaWRlbXBvdGVudCAoc2FmZSB0byBhcHBseSB0byBleGlzdGluZyBncm91cHMpLlxuICAgIGNvbnN0IGxvZ0dyb3VwTmFtZSA9IGAvYXdzL2xhbWJkYS8ke3RoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdwbHVnaW46bG9va3VwJykucmVwbGFjZSgvOi9nLCAnLScpfWA7XG4gICAgY29uc3QgbG9nR3JvdXAgPSBMb2dHcm91cC5mcm9tTG9nR3JvdXBOYW1lKFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdsb2c6Z3JvdXAnKSxcbiAgICAgIGxvZ0dyb3VwTmFtZSxcbiAgICApO1xuXG4gICAgdGhpcy5fcHJvdmlkZXIgPSBuZXcgUHJvdmlkZXIodGhpcywgdGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUoJ3Jlc291cmNlOnByb3ZpZGVyJyksIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyLFxuICAgICAgbG9nR3JvdXAsXG4gICAgfSk7XG5cbiAgICBsb2cuZGVidWcoYFBsdWdpbkxvb2t1cCBpbml0aWFsaXplZCBmb3IgJHtwcm9wcy5vcmdhbml6YXRpb259LyR7cHJvcHMucHJvamVjdH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rcyB1cCBhbmQgcmVzb2x2ZXMgcGx1Z2luIGNvbmZpZ3VyYXRpb24gdXNpbmcgZWl0aGVyIGEgc2ltcGxlIG5hbWUgb3IgZnVsbCBQbHVnaW5PcHRpb25zIG9iamVjdFxuICAgKiBEdXJpbmcgc3ludGhlc2lzLCBpZiB0aGUgdmFsdWUgaXMgdW5yZXNvbHZlZCAodG9rZW4pLCByZXR1cm5zIGZhbGxiYWNrIHBsdWdpblxuICAgKiBEdXJpbmcgZGVwbG95bWVudCwgYXR0ZW1wdHMgdG8gcGFyc2UgdGhlIGFjdHVhbCB2YWx1ZSByZXR1cm5lZCBieSB0aGUgY3VzdG9tIHJlc291cmNlXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBQbHVnaW4gbmFtZSAoc3RyaW5nKSBvciBjb21wbGV0ZSBQbHVnaW5PcHRpb25zIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgUmVzb2x2ZWQgUGx1Z2luIG9iamVjdCBvciBmYWxsYmFjayBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBwbHVnaW4ocGx1Z2luOiBzdHJpbmcgfCBQbHVnaW5PcHRpb25zKTogUGx1Z2luIHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMubm9ybWFsaXplKHBsdWdpbik7XG5cbiAgICAvLyBQcmUtcmVzb2x2ZWQgYnkgYHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgc3ludGhgIGZyb20gdGhlIHBsYXRmb3JtIEFQSS5cbiAgICAvLyBTa2lwIHRoZSBjdXN0b20gcmVzb3VyY2UgZW50aXJlbHkg4oCUIHdlIGFscmVhZHkga25vdyB0aGUgcGx1Z2luJ3NcbiAgICAvLyBuYW1lLCB2ZXJzaW9uLCBjb21tYW5kcywgZW52LCBldGMuIGF0IHN5bnRoIHRpbWUsIHNvIHRoZSByZXN1bHRpbmcgQ0ZOXG4gICAgLy8gdGVtcGxhdGUgY2FuIHNoaXAgd2l0aCB0aGUgcmVhbCBDb2RlQnVpbGQgaW1hZ2UgYmFrZWQgaW4uXG4gICAgY29uc3QgY2FjaGVLZXkgPSBwcm9wcy5hbGlhcyB8fCBwcm9wcy5uYW1lO1xuICAgIGNvbnN0IHByZVJlc29sdmVkID0gdGhpcy5fcmVzb2x2ZWRQbHVnaW5zPy5bY2FjaGVLZXldIGFzIChQbHVnaW4gJiB7IHB1Ymxpc2hlcj86IHN0cmluZyB8IG51bGwgfSkgfCB1bmRlZmluZWQ7XG4gICAgLy8gVGhlIG1hcCBpcyBrZXllZCBieSBBTElBUywgc28gY2hlY2sgaXQgYWN0dWFsbHkgaG9sZHMgVEhJUyBwbHVnaW4uIFR3b1xuICAgIC8vIHN0ZXBzIHNoYXJpbmcgYW4gYWxpYXMgYWNyb3NzIGRpZmZlcmVudCBwbHVnaW5zIHdvdWxkIG90aGVyd2lzZSBnZXQgdGhlXG4gICAgLy8gZmlyc3Qgb25lJ3MgcmVjb3JkIGJhY2sg4oCUIHRoZSBzZWNvbmQgc3RlcCBzaWxlbnRseSBydW5uaW5nIHRoZSB3cm9uZ1xuICAgIC8vIGltYWdlIGFuZCBjb21tYW5kcy4gVGhlIENMSSByZWZ1c2VzIHN1Y2ggYSBwaXBlbGluZSB0b287IHRoaXMgY292ZXJzIGFueSBvdGhlclxuICAgIC8vIGNhbGxlciB0aGF0IHN1cHBsaWVzIGByZXNvbHZlZFBsdWdpbnNgLlxuICAgIC8vIENvbXBhcmUgYWdhaW5zdCB0aGUgbmFtZSB0aGUgbG9va3VwIGFjdHVhbGx5IFRBUkdFVEVEOiBhbiBleHBsaWNpdFxuICAgIC8vIGBmaWx0ZXIubmFtZWAgb3ZlcnJpZGVzIHRoZSByZWYncyBgbmFtZWAgYnkgZGVzaWduLCBhbmQgdGhhdCBpcyBub3QgYVxuICAgIC8vIGNvbGxpc2lvbi5cbiAgICBjb25zdCB0YXJnZXROYW1lID0gKHByb3BzLmZpbHRlciBhcyB7IG5hbWU/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCk/Lm5hbWUgPz8gcHJvcHMubmFtZTtcbiAgICBpZiAocHJlUmVzb2x2ZWQgJiYgcHJlUmVzb2x2ZWQubmFtZSAhPT0gdGFyZ2V0TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgUGx1Z2luIGFsaWFzIFwiJHtjYWNoZUtleX1cIiByZXNvbHZlcyB0byBcIiR7cHJlUmVzb2x2ZWQubmFtZX1cIiwgbm90IFwiJHt0YXJnZXROYW1lfVwiLiBgXG4gICAgICAgICsgJ0VhY2ggYWxpYXMgbXVzdCBuYW1lIGV4YWN0bHkgb25lIHBsdWdpbi4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gQSBxdWFsaWZpZWQgcmVmZXJlbmNlIG11c3QgaGF2ZSByZXNvbHZlZCB0byBUSEFUIHB1Ymxpc2hlcidzIGxpc3RpbmdcbiAgICAvLyAoYW4gdW5xdWFsaWZpZWQgb25lIG1heSByZXNvbHZlIHRvIHRoZSBvcmcncyBvd24gcGx1Z2luIG9yIHRoZSBPZmZpY2lhbFxuICAgIC8vIGxpc3RpbmcpLlxuICAgIGlmIChwcmVSZXNvbHZlZCAmJiBwcm9wcy5wdWJsaXNoZXIgJiYgcHJlUmVzb2x2ZWQucHVibGlzaGVyICE9PSBwcm9wcy5wdWJsaXNoZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFBsdWdpbiBhbGlhcyBcIiR7Y2FjaGVLZXl9XCIgcmVzb2x2ZXMgdG8gJHtwcmVSZXNvbHZlZC5wdWJsaXNoZXIgPyBgJHtwcmVSZXNvbHZlZC5wdWJsaXNoZXJ9L2AgOiAneW91ciBvcmdhbml6YXRpb25cXCdzICd9JHtwcmVSZXNvbHZlZC5uYW1lfSwgYFxuICAgICAgICArIGBub3QgJHtwcm9wcy5wdWJsaXNoZXJ9LyR7dGFyZ2V0TmFtZX0uIEVhY2ggYWxpYXMgbXVzdCBuYW1lIGV4YWN0bHkgb25lIHBsdWdpbi5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByZVJlc29sdmVkKSB7XG4gICAgICBsb2cuZGVidWcoYFBsdWdpbiBcIiR7cHJvcHMubmFtZX1cIiBwcmUtcmVzb2x2ZWQgKGFsaWFzPSR7Y2FjaGVLZXl9KSDigJQgc2tpcHBpbmcgY3VzdG9tIHJlc291cmNlYCk7XG4gICAgICByZXR1cm4gcHJlUmVzb2x2ZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgY3VzdG9tID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZShwcm9wcyk7XG4gICAgY29uc3QgZW5jb2RlZCA9IGN1c3RvbS5nZXRBdHRTdHJpbmcoJ1Jlc3VsdFZhbHVlJyk7XG5cbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGVuY29kZWQpKSB7XG4gICAgICBsb2cuZGVidWcoYFBsdWdpbiBcIiR7cHJvcHMubmFtZX1cIiB2YWx1ZSBpcyB1bnJlc29sdmVkICh0b2tlbikgZHVyaW5nIHN5bnRoZXNpcyDigJQgdXNpbmcgZmFsbGJhY2suIFRoZSBhY3R1YWwgcGx1Z2luIHdpbGwgYmUgcmVzb2x2ZWQgYXQgZGVwbG95bWVudCB0aW1lLmApO1xuICAgICAgcmV0dXJuIHRoaXMuZmFsbGJhY2soKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjb2RlZCA9IEJ1ZmZlci5mcm9tKGVuY29kZWQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGRlY29kZWQpO1xuXG4gICAgICBpZiAoIWRhdGEgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnIHx8ICFkYXRhLm5hbWUgfHwgIUFycmF5LmlzQXJyYXkoZGF0YS5jb21tYW5kcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBsdWdpbiByZXNwb25zZTogbWlzc2luZyByZXF1aXJlZCBmaWVsZHMgKG5hbWUsIGNvbW1hbmRzKScpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGF0YSBhcyBQbHVnaW47XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBwbHVnaW4gXCIke3Byb3BzLm5hbWV9XCIgZGF0YTogJHtlcnJvck1zZ31gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgc2VydmVzIGFzIHRoZSBldmVudCBoYW5kbGVyIGZvciB0aGUgY3VzdG9tIHJlc291cmNlIHByb3ZpZGVyLlxuICAgKlxuICAgKiBKV1QgdG9rZW4gaXMgc3RvcmVkIGluIGEgcHJlLWV4aXN0aW5nIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgYXRcbiAgICogYHtTRUNSRVRTX1BBVEhfUFJFRklYfS97b3JnSWR9L3BsYXRmb3JtYC4gVGhlIExhbWJkYSByZXNvbHZlcyB0aGVcbiAgICogc2VjcmV0IGJ5IG5hbWUgYXQgcnVudGltZSB1c2luZyBgQ29yZUNvbnN0YW50cy5TRUNSRVRTX1BBVEhfUFJFRklYYC5cbiAgICpcbiAgICogQ3JlYXRlIHRoZSBzZWNyZXQgYmVmb3JlIGRlcGxveWluZyB3aXRoOlxuICAgKiAgIHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1kYXlzIDMwIC0tcmVnaW9uIDxyZWdpb24+XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9uKCk6IE5vZGVqc0Z1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMuX29yZ0lkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29yZ0lkIGlzIHJlcXVpcmVkIGZvciBQbHVnaW5Mb29rdXAg4oCUIG5lZWRlZCB0byByZXNvbHZlIHRoZSBwZXItb3JnIHBsYXRmb3JtIHNlY3JldCcpO1xuICAgIH1cbiAgICBjb25zdCBzZWNyZXROYW1lID0gQ29yZUNvbnN0YW50cy5zZWNyZXRQYXRoKHRoaXMuX29yZ0lkLCAncGxhdGZvcm0nKTtcblxuICAgIGNvbnN0IGZuID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsIHRoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdvbmV2ZW50OmhhbmRsZXInKSwge1xuICAgICAgcnVudGltZTogdGhpcy5fcnVudGltZSxcbiAgICAgIHRpbWVvdXQ6IHRoaXMuX3RpbWVvdXQsXG4gICAgICBtZW1vcnlTaXplOiB0aGlzLl9tZW1vcnlTaXplLFxuICAgICAgYXJjaGl0ZWN0dXJlOiB0aGlzLl9hcmNoaXRlY3R1cmUsXG4gICAgICBlbnRyeTogam9pbihNT0RVTEVfRElSLCAnLy4uL2hhbmRsZXJzL3BsdWdpbi1sb29rdXAtaGFuZGxlci5qcycpLFxuICAgICAgZGVwc0xvY2tGaWxlUGF0aDogam9pbihNT0RVTEVfRElSLCAnLy4uL2hhbmRsZXJzL3BucG0tbG9jay55YW1sJyksXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiB0aGlzLl9yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUExBVEZPUk1fU0VDUkVUX05BTUU6IHNlY3JldE5hbWUsXG4gICAgICAgIC8vIEFsbG93IHNlbGYtc2lnbmVkIGNlcnRzIHdoZW4gcGxhdGZvcm0gdXNlcyBIVFRQUyB3aXRob3V0IGEgQ0Etc2lnbmVkIGNlcnRpZmljYXRlXG4gICAgICAgIC4uLihwcm9jZXNzLmVudi5OT0RFX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEID09PSAnMCcgJiYge1xuICAgICAgICAgIE5PREVfVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ6ICcwJyxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgICBzb3VyY2VNYXA6IGZhbHNlLFxuICAgICAgICB0YXJnZXQ6ICdlczIwMjInLFxuICAgICAgICBleHRlcm5hbE1vZHVsZXM6IFtcbiAgICAgICAgICAvLyBQcm92aWRlZCBieSB0aGUgTGFtYmRhIE5vZGUuanMgcnVudGltZSDigJQgbmV2ZXIgYnVuZGxlLlxuICAgICAgICAgICdAYXdzLXNkay8qJyxcbiAgICAgICAgICAvLyBTeW50aC1vbmx5IGxpYnJhcmllcyB0aGF0IG11c3QgTkVWRVIgZW5kIHVwIGluIGEgTGFtYmRhIGJ1bmRsZS5cbiAgICAgICAgICAvLyBUaGUgaGFuZGxlciBkb2Vzbid0IHVzZSB0aGVtOyB0aGlzIGlzIGEgZ3VhcmQgc28gYSBzdHJheSB0cmFuc2l0aXZlXG4gICAgICAgICAgLy8gaW1wb3J0IChlLmcuIHZpYSBhIGNvbmZpZyBtb2R1bGUgdGhhdCBwdWxscyBpbmZyYXN0cnVjdHVyZS1jb25maWcg4oaSXG4gICAgICAgICAgLy8gYXdzLWNkay1saWIpIGNhbid0IGRyYWcgdGhlIGVudGlyZSB+aHVuZHJlZHMtb2YtTUIgQ0RLIGludG8gdGhlXG4gICAgICAgICAgLy8gYnVuZGxlIGFuZCBPT00ta2lsbCBlc2J1aWxkIGR1cmluZyBjb2xkLXN0YXJ0IHN5bnRoLiBJZiBvbmUgb2YgdGhlc2VcbiAgICAgICAgICAvLyBpcyBldmVyIGdlbnVpbmVseSByZWFjaGVkIGF0IHJ1bnRpbWUgdGhlIExhbWJkYSB3aWxsIGZhaWwgbG91ZGx5IGF0XG4gICAgICAgICAgLy8gaW5pdCAobW9kdWxlIG5vdCBmb3VuZCkgcmF0aGVyIHRoYW4gc2lsZW50bHkgT09NIGF0IHN5bnRoIOKAlCB3aGljaCBpc1xuICAgICAgICAgIC8vIHRoZSBjb3JyZWN0IHNpZ25hbCwgc2luY2UgQ0RLIGhhcyBubyBidXNpbmVzcyBydW5uaW5nIGluIHRoaXMgTGFtYmRhLlxuICAgICAgICAgICdhd3MtY2RrLWxpYicsXG4gICAgICAgICAgJ2F3cy1jZGstbGliLyonLFxuICAgICAgICAgICdjb25zdHJ1Y3RzJyxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBHcmFudCB0aGUgTGFtYmRhIHBlcm1pc3Npb24gdG8gcmVhZCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBzZWNyZXQuXG4gICAgLy8gVGhlIHdpbGRjYXJkIHN1ZmZpeCBoYW5kbGVzIHRoZSA2LWNoYXIgcmFuZG9tIElEIHRoYXQgU2VjcmV0cyBNYW5hZ2VyIGFwcGVuZHMuXG4gICAgZm4uYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJ10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoqOio6c2VjcmV0OiR7c2VjcmV0TmFtZX0tKmBdLFxuICAgIH0pKTtcblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZGVmYXVsdCBwbHVnaW4gZmlsdGVyLlxuICAgKiBBY2Nlc3MgY29udHJvbCAob3JnSWQgc2NvcGluZywgcHVibGljL3ByaXZhdGUgdmlzaWJpbGl0eSkgaXMgaGFuZGxlZCBieVxuICAgKiB0aGUgcGxhdGZvcm0ncyBhY2Nlc3MgY29udHJvbCBxdWVyeSBidWlsZGVyIGJhc2VkIG9uIHRoZSBKV1QncyBvcmdhbml6YXRpb25JZC5cbiAgICovXG4gIHByaXZhdGUgbm9ybWFsaXplKHBsdWdpbjogc3RyaW5nIHwgUGx1Z2luT3B0aW9ucyk6IFBsdWdpbk9wdGlvbnMge1xuICAgIGNvbnN0IHJlZjogUGx1Z2luT3B0aW9ucyA9IHR5cGVvZiBwbHVnaW4gPT09ICdzdHJpbmcnID8geyBuYW1lOiBwbHVnaW4gfSA6IHBsdWdpbjtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogcmVmLm5hbWUsXG4gICAgICAuLi4ocmVmLnB1Ymxpc2hlciA/IHsgcHVibGlzaGVyOiByZWYucHVibGlzaGVyIH0gOiB7fSksXG4gICAgICAvLyBUaGUgcmVzb2x2ZXIgY2FjaGUga2V5OiB0aGUgZXhwbGljaXQgYWxpYXMsIGVsc2UgYFs8cHVibGlzaGVyPi1dPG5hbWU+LWFsaWFzYC5cbiAgICAgIGFsaWFzOiBwbHVnaW5BcnRpZmFjdEFsaWFzKHJlZiksXG4gICAgICAvLyBUaGUgc2FtZSBmaWx0ZXIgdGhlIENMSSBwcmUtcmVzb2x2ZXIgYW5kIHRoZSBwaXBlbGluZSBzZXJ2aWNlJ3NcbiAgICAgIC8vIGNvbnRyYWN0IGNoZWNrIHNlbmQgKGBwbHVnaW5Mb29rdXBGaWx0ZXJgKTogbmFtZSArIHB1Ymxpc2hlciwgdGhlblxuICAgICAgLy8gdGhlIHJlZmVyZW5jZSdzIG93biBmaWx0ZXIsIGVsc2UgdGhlIGRlZmF1bHQgdmVyc2lvbi5cbiAgICAgIGZpbHRlcjogcGx1Z2luTG9va3VwRmlsdGVyKHsgbmFtZTogcmVmLm5hbWUsIHB1Ymxpc2hlcjogcmVmLnB1Ymxpc2hlciwgZmlsdGVyOiByZWYuZmlsdGVyIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIH0pIGFzIFBsdWdpbkZpbHRlcixcbiAgICAgIG1ldGFkYXRhOiByZWYubWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3VzdG9tUmVzb3VyY2UgaW5zdGFuY2UgdGhhdCB0cmlnZ2VycyBwbHVnaW4gbG9va3VwIGR1cmluZyBkZXBsb3ltZW50XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUN1c3RvbVJlc291cmNlKHByb3BzOiBQbHVnaW5PcHRpb25zKTogQ3VzdG9tUmVzb3VyY2Uge1xuICAgIGNvbnN0IHJlc291cmNlSWQgPSB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZShwcm9wcy5hbGlhcyB8fCBwcm9wcy5uYW1lKTtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgcmVzb3VyY2VJZCwge1xuICAgICAgc2VydmljZVRva2VuOiB0aGlzLl9wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlBsdWdpbkxvb2t1cCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGJhc2VVUkw6IHRoaXMuX3BsYXRmb3JtVXJsLFxuICAgICAgICBwbHVnaW5GaWx0ZXI6IHByb3BzLmZpbHRlcixcbiAgICAgIH0gYXMgSW5wdXRQcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBCYXNlIHBsdWdpbiBzaGFwZSB3aXRoIG5vLW9wIGRlZmF1bHRzIGZvciBmaWVsZHMgQ0RLIGRvZXNuJ3QgdXNlLiAqL1xuICBwcml2YXRlIHN0YXRpYyBiYXNlUGx1Z2luKCk6IFBsdWdpbiB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IFBMQUNFSE9MREVSX1BMVUdJTl9JRCxcbiAgICAgIG9yZ0lkOiBTWVNURU1fT1JHX0lELFxuICAgICAgY3JlYXRlZEJ5OiAnc3lzdGVtJyxcbiAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgdXBkYXRlZEJ5OiAnc3lzdGVtJyxcbiAgICAgIHVwZGF0ZWRBdDogbm93LFxuICAgICAgbmFtZTogJ2ZhbGxiYWNrJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAga2V5d29yZHM6IFtdLFxuICAgICAgY2F0ZWdvcnk6ICd1bmtub3duJyxcbiAgICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgICBtZXRhZGF0YToge30sXG4gICAgICBwbHVnaW5UeXBlOiAnQ29kZUJ1aWxkU3RlcCcsXG4gICAgICBjb21wdXRlVHlwZTogJ1NNQUxMJyxcbiAgICAgIHRpbWVvdXQ6IG51bGwsXG4gICAgICBmYWlsdXJlQmVoYXZpb3I6ICdmYWlsJyxcbiAgICAgIHNlY3JldHM6IFtdLFxuICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJ2Nkay5vdXQnLFxuICAgICAgZW52OiB7fSxcbiAgICAgIGJ1aWxkQXJnczoge30sXG4gICAgICBpbnN0YWxsQ29tbWFuZHM6IFtdLFxuICAgICAgY29tbWFuZHM6IFtdLFxuICAgICAgZG9ja2VyZmlsZTogbnVsbCxcbiAgICAgIGJ1aWxkVHlwZTogJ21ldGFkYXRhX29ubHknLFxuICAgICAgaW1hZ2VEaWdlc3Q6IG51bGwsXG4gICAgICBpbWFnZVNvdXJjZTogbnVsbCxcbiAgICAgIG93bmVySWQ6IG51bGwsXG4gICAgICBvd25lclR5cGU6IG51bGwsXG4gICAgICBsaWZlY3ljbGU6ICdwcm9kdWN0aW9uJyxcbiAgICAgIGNyaXRpY2FsaXR5OiBudWxsLFxuICAgICAgbGFiZWxzOiB7fSxcbiAgICAgIGxpbmtzOiBbXSxcbiAgICAgIHZpc2liaWxpdHk6ICdwdWJsaWMnLFxuICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgZGVsZXRlZEF0OiBudWxsLFxuICAgICAgZGVsZXRlZEJ5OiBudWxsLFxuICAgICAgcHVyZ2VBZnRlcjogbnVsbCxcbiAgICAgIHF1b3RhUmVzZXRBdDogbnVsbCxcbiAgICAgIHN1bW1hcnk6IG51bGwsXG4gICAgICBkaXNwbGF5TmFtZTogbnVsbCxcbiAgICAgIGRvY3VtZW50YXRpb25Vcmw6IG51bGwsXG4gICAgICBtZXRhZGF0YVNvdXJjZXM6IHt9LFxuICAgICAgcmVxdWlyZWRNZXRhZGF0YTogW10sXG4gICAgICByZXF1aXJlZFZhcnM6IFtdLFxuICAgICAgbWV0YWRhdGFUeXBlczoge30sXG4gICAgICB2YXJzVHlwZXM6IHt9LFxuICAgICAgc21va2VUZXN0OiBudWxsLFxuICAgICAgbmV0d29ya0VncmVzczogW10sXG4gICAgICByZWFkbWVNZDogbnVsbCxcbiAgICAgIHJlYWRtZUh0bWw6IG51bGwsXG4gICAgICBsaWNlbnNlOiBudWxsLFxuICAgICAgY2hhbmdlbG9nOiBudWxsLFxuICAgICAgaG9tZXBhZ2VVcmw6IG51bGwsXG4gICAgICBzb3VyY2VVcmw6IG51bGwsXG4gICAgICBpY29uOiBudWxsLFxuICAgICAgdXBsb2FkZWRJY29uOiBudWxsLFxuICAgICAgdnVsbkNyaXRpY2FsOiBudWxsLFxuICAgICAgdnVsbkhpZ2g6IG51bGwsXG4gICAgICB2dWxuTWVkaXVtOiBudWxsLFxuICAgICAgdnVsbkxvdzogbnVsbCxcbiAgICAgIHNjYW5uZWRBdDogbnVsbCxcbiAgICAgIHJ1bkFzUm9vdDogbnVsbCxcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICAgIGZyb3plbkF0OiBudWxsLFxuICAgICAgeWFua2VkQXQ6IG51bGwsXG4gICAgICB5YW5rUmVhc29uOiBudWxsLFxuICAgICAgZGVwcmVjYXRlZEF0OiBudWxsLFxuICAgICAgZGVwcmVjYXRpb25NZXNzYWdlOiBudWxsLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRmFsbGJhY2sgZm9yIGEgcGx1Z2luIHdob3NlIGxvb2t1cCByZXR1cm5lZCBubyByZWNvcmQgKG5vdCBpbiB0aGUgcGxhdGZvcm1cbiAgICogY2F0YWxvZyBmb3IgdGhpcyBvcmcpIGFuZCBzbyBjb3VsZCBub3QgYmUgcHJlLXJlc29sdmVkIGF0IHN5bnRoLlxuICAgKlxuICAgKiBUaGlzIHN0ZXAgRkFJTFMgdGhlIGJ1aWxkIChleGl0IDEpIG9uIHB1cnBvc2UuIFRoZSBwcmV2aW91cyBiZWhhdmlvdXIg4oCUXG4gICAqIGBlY2hvIFwi4oCmXCIgJiYgZXhpdCAwYCDigJQgd2FzIGEgZmFsc2UgcG9zaXRpdmU6IGFuIHVucmVzb2x2ZWQgc2VjdXJpdHkvcXVhbGl0eVxuICAgKiBzdGVwIChkZXBlbmRlbmN5LWNoZWNrLCBzZW1ncmVwLCBzcG90YnVncywg4oCmKSByZXBvcnRlZCB0aGUgc3RhZ2UgZ3JlZW4gd2hpbGVcbiAgICogcnVubmluZyBub3RoaW5nLCBnaXZpbmcgZmFsc2UgYXNzdXJhbmNlIHRoYXQgc2NhbnMvYnVpbGRzIGhhZCBwYXNzZWQuIEFcbiAgICogcGx1Z2luIHN0ZXAgdGhhdCBjYW4ndCBydW4gaXRzIHBsdWdpbiBtdXN0IGdvIHJlZCwgY29uc2lzdGVudCB3aXRoXG4gICAqIGBiYXNlUGx1Z2luKCkuZmFpbHVyZUJlaGF2aW9yID09PSAnZmFpbCdgLiBUaGUgbWVzc2FnZSBpcyBhY3Rpb25hYmxlIHNvIHRoZVxuICAgKiBvcGVyYXRvciBrbm93cyB0aGUgY2F0YWxvZyBpcyBlbXB0eS9pbmNvbXBsZXRlLCBub3QgdGhhdCB0aGUgdG9vbCBjcmFzaGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBmYWxsYmFjaygpOiBQbHVnaW4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5QbHVnaW5Mb29rdXAuYmFzZVBsdWdpbigpLFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgJ2VjaG8gXCJFUlJPUjogcGx1Z2luIGxvb2t1cCByZXR1cm5lZCBubyByZWNvcmQg4oCUIHRoaXMgcGx1Z2luIGlzIG5vdCBpbiB0aGUgcGxhdGZvcm0gY2F0YWxvZyBmb3IgdGhpcyBvcmcsIHNvIHRoZSBzdGVwIGNhbm5vdCBydW4uXCIgPiYyJyxcbiAgICAgICAgJ2VjaG8gXCJUaGlzIHN0ZXAgZmFpbHMgaW5zdGVhZCBvZiBwYXNzaW5nIGFzIGEgbm8tb3AgKGFuIHVucmVzb2x2ZWQgcGx1Z2luIHJlcG9ydGluZyBzdWNjZXNzIHdvdWxkIGJlIGEgZmFsc2UtcG9zaXRpdmUgZ3JlZW4pLlwiID4mMicsXG4gICAgICAgICdlY2hvIFwiRml4OiBsb2FkIHRoZSBwbHVnaW4gaW50byB0aGUgcGxhdGZvcm0gKGRlcGxveS9iaW4vbG9hZC1wbHVnaW5zLnNoKSwgdGhlbiByZS1ydW4gdGhlIHBpcGVsaW5lLlwiID4mMicsXG4gICAgICAgICdleGl0IDEnLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRoIHBsdWdpbiB3aXRoIHBpcGVsaW5lLW1hbmFnZXIgY29tbWFuZHMuIENvbGQtc3RhcnQgYm9vdHN0cmFwIGZvclxuICAgKiB0aGUgc3ludGggc3RlcCB3aGVuIHByZS1yZXNvbHV0aW9uIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoL2RlcGxveWBcbiAgICogZGlkbid0IHBvcHVsYXRlIGByZXNvbHZlZFBsdWdpbnNgIGZvciB0aGUgc3ludGggcGx1Z2luLiBSdW5zIG9uIHRoZVxuICAgKiBjb25maWd1cmVkIGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRWAgKGRlZmF1bHQgYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgKVxuICAgKiBhbmQgc2VsZi1ib290c3RyYXBzIHRoZSByZWFsIHN5bnRoIHZpYVxuICAgKiBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aCAtLWlkICR7UElQRUxJTkVfSUR9YC5cbiAgICpcbiAgICogTm8gYGluc3RhbGxDb21tYW5kc2A6IHRoZSBkZWZhdWx0IGltYWdlIGFscmVhZHkgaGFzIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgKiBiYWtlZCBpbiAodGhhdCdzIHRoZSB3aG9sZSBwb2ludCBvZiBgcGlwZWxpbmUtYm9vdHN0cmFwOjEuMGApLiBJZiB0aGVcbiAgICogb3BlcmF0b3IgcG9pbnRzIENPREVCVUlMRF9ERUZBVUxUX0lNQUdFIGF0IGFuIGltYWdlIGxhY2tpbmcgaXQgKGUuZy5cbiAgICogdmFuaWxsYSBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjcuMCksIHRoaXMgc3RlcCBleGl0cyAxMjcg4oCUIGZpeCB0aGF0XG4gICAqIGJ5IHVzaW5nIGFuIGltYWdlIHdpdGggcGlwZWxpbmUtbWFuYWdlciByYXRoZXIgdGhhbiBwYXBlcmluZyBvdmVyIGl0XG4gICAqIHdpdGggYSBwZXItYnVpbGQgYG5wbSBpbnN0YWxsIC1nYC5cbiAgICovXG4gIHB1YmxpYyBib290c3RyYXAoKTogUGx1Z2luIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uUGx1Z2luTG9va3VwLmJhc2VQbHVnaW4oKSxcbiAgICAgIG5hbWU6ICdjZGstc3ludGgnLFxuICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJ2Nkay5vdXQnLFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgJ3BpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgc3ludGggLS1pZCAke1BJUEVMSU5FX0lEfSAtLXN0b3JlLXRva2VucyAtLXF1aWV0IC0tbm8tbm90aWNlcyAtLW5vLXZlcmlmeS1zc2wnLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9wbHVnaW4tbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFMUMsMkVBQTJFO0FBQzNFLGlD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ZixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsSUFBSTtZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsa0JBQWtCLEVBQUUsSUFBSTtTQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ssUUFBUTtRQUNkLE9BQU87WUFDTCxHQUFHLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDNUIsUUFBUSxFQUFFO2dCQUNSLHVJQUF1STtnQkFDdkksb0lBQW9JO2dCQUNwSSwyR0FBMkc7Z0JBQzNHLFFBQVE7YUFDVDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxTQUFTO1FBQ2QsT0FBTztZQUNMLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM1QixJQUFJLEVBQUUsV0FBVztZQUNqQixzQkFBc0IsRUFBRSxTQUFTO1lBQ2pDLFFBQVEsRUFBRTtnQkFDUix5R0FBeUc7YUFDMUc7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICd1cmwnO1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBTWVNURU1fT1JHX0lEIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5GaWx0ZXIsIFBsdWdpbiB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWRhdGEnO1xuaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIFRva2VuLCBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgRWZmZWN0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBSdW50aW1lLCBBcmNoaXRlY3R1cmUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgTG9nR3JvdXAgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3N0ZXAtdHlwZXMuanMnO1xuaW1wb3J0IHsgQ29uZmlnLCBDb3JlQ29uc3RhbnRzIH0gZnJvbSAnLi4vY29uZmlnL2FwcC1jb25maWcuanMnO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvci5qcyc7XG5pbXBvcnQgeyBwbHVnaW5BcnRpZmFjdEFsaWFzLCBwbHVnaW5Mb29rdXBGaWx0ZXIgfSBmcm9tICcuLi9jb3JlL3BsdWdpbi1jb250cmFjdC5qcyc7XG5pbXBvcnQgeyBQTEFDRUhPTERFUl9QTFVHSU5fSUQgfSBmcm9tICcuLi9jb3JlL3N0ZXAtbWFuaWZlc3QuanMnO1xuXG5jb25zdCBsb2cgPSBjcmVhdGVMb2dnZXIoJ3BsdWdpbi1sb29rdXAnKTtcblxuLy8gRVNNLXNhZmUgbW9kdWxlIGRpcmVjdG9yeSAodGhlIHBhY2thZ2UgaXMgYHR5cGU6IG1vZHVsZWA7IGBfX2Rpcm5hbWVgIGlzXG4vLyBub3QgZGVmaW5lZCB1bmRlciBFUyBtb2R1bGVzKS5cbmNvbnN0IE1PRFVMRV9ESVIgPSBkaXJuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKSk7XG5cbmludGVyZmFjZSBJbnB1dFByb3BzIHtcbiAgcmVhZG9ubHkgYmFzZVVSTDogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5GaWx0ZXI6IFBsdWdpbkZpbHRlcjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBQbHVnaW5Mb29rdXAgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luTG9va3VwUHJvcHMge1xuICByZWFkb25seSBvcmdhbml6YXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvamVjdDogc3RyaW5nO1xuICByZWFkb25seSBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICByZWFkb25seSB1bmlxdWVJZDogVW5pcXVlSWQ7XG4gIC8qKiBPcmdhbml6YXRpb24gSUQgZm9yIHJlc29sdmluZyBwZXItb3JnIHNlY3JldHMgZnJvbSBTZWNyZXRzIE1hbmFnZXIgKi9cbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBSdW50aW1lO1xuICAvKiogTGFtYmRhIHRpbWVvdXQgKGRlZmF1bHQ6IDMwcykgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuICAvKiogTGFtYmRhIG1lbW9yeSBpbiBNQiAoZGVmYXVsdDogNTEyKSAqL1xuICByZWFkb25seSBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKiogTGFtYmRhIENQVSBhcmNoaXRlY3R1cmUgKGRlZmF1bHQ6IEFSTV82NCkgKi9cbiAgcmVhZG9ubHkgYXJjaGl0ZWN0dXJlPzogQXJjaGl0ZWN0dXJlO1xuICAvKiogUmVzZXJ2ZWQgY29uY3VycmVudCBleGVjdXRpb25zIGZvciB0aGUgbG9va3VwIExhbWJkYSAoZGVmYXVsdDogMzApICovXG4gIHJlYWRvbmx5IHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBQbHVnaW5zIHByZS1yZXNvbHZlZCBieSBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aGAgZnJvbSB0aGUgcGxhdGZvcm0gQVBJLlxuICAgKiBLZXllZCBieSBgYWxpYXMgfHwgbmFtZWAgKG1hdGNoZXMgdGhlIGNvbnN0cnVjdCdzIG5vcm1hbGl6ZSgpIG91dHB1dCkuXG4gICAqIFdoZW4gYSBsb29rdXAgaGl0cyB0aGlzIG1hcCwgYHBsdWdpbigpYCByZXR1cm5zIHRoZSByZXNvbHZlZCBQbHVnaW5cbiAgICogZGlyZWN0bHkg4oCUIG5vIGN1c3RvbSByZXNvdXJjZSBpcyBjcmVhdGVkLiBUaGlzIGlzIHdoYXQgbWFrZXMgdGhlXG4gICAqIG5hbWUsIHZlcnNpb24sIGNvbW1hbmRzLCBlbnYsIGV0Yy4gYXZhaWxhYmxlIGF0IHN5bnRoIHRpbWUgc28gdGhlIHJlc3VsdGluZ1xuICAgKiBDRk4gdGVtcGxhdGUgc2hpcHMgd2l0aCB0aGUgcmVhbCB2YWx1ZXMgYmFrZWQgaW4uXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlZFBsdWdpbnM/OiBSZWNvcmQ8c3RyaW5nLCBQbHVnaW4+O1xufVxuXG4vKipcbiAqIENESyBDb25zdHJ1Y3QgcmVzcG9uc2libGUgZm9yIGxvb2tpbmcgdXAgcGx1Z2luIGNvbmZpZ3VyYXRpb25zIGZyb20gYW4gZXh0ZXJuYWwgcGxhdGZvcm1cbiAqIHVzaW5nIEFXUyBDbG91ZEZvcm1hdGlvbiBDdXN0b20gUmVzb3VyY2VzIGJhY2tlZCBieSBhIExhbWJkYSBmdW5jdGlvbi5cbiAqXG4gKiBUaGlzIGNvbnN0cnVjdCBjcmVhdGVzOlxuICogLSBBIExhbWJkYSBmdW5jdGlvbiAocGx1Z2luLWxvb2t1cC1oYW5kbGVyKSB0aGF0IGZldGNoZXMgcGx1Z2luIGNvbmZpZ3NcbiAqIC0gQSBDbG91ZFdhdGNoIExvZyBHcm91cCBmb3IgdGhlIExhbWJkYVxuICogLSBBIEN1c3RvbSBSZXNvdXJjZSBQcm92aWRlciB0aGF0IGludm9rZXMgdGhlIExhbWJkYVxuICogLSBBbiBJQU0gcG9saWN5IGdyYW50aW5nIHRoZSBMYW1iZGEgYWNjZXNzIHRvIHRoZSBjcmVkZW50aWFscyBzZWNyZXRcbiAqXG4gKiAjIyBQcmVyZXF1aXNpdGVzXG4gKlxuICogQmVmb3JlIGRlcGxveWluZywgc3RvcmUgYSBKV1QgdG9rZW4gaW4gU2VjcmV0cyBNYW5hZ2VyOlxuICogYGBgc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1kYXlzIDMwIC0tcmVnaW9uIDxyZWdpb24+XG4gKiBgYGBcbiAqXG4gKiBUaGUgTGFtYmRhIHJlc29sdmVzIHRoZSBzZWNyZXQgYnkgbmFtZSBhdCBydW50aW1lOlxuICogYHtTRUNSRVRTX1BBVEhfUFJFRklYfS97b3JnSWR9L3BsYXRmb3JtYFxuICpcbiAqIEBzZWUgaGFuZGxlcnMvcGx1Z2luLWxvb2t1cC1oYW5kbGVyLnRzIGZvciB0aGUgTGFtYmRhIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5Mb29rdXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IF91bmlxdWVJZDogVW5pcXVlSWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Byb3ZpZGVyOiBQcm92aWRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfcnVudGltZTogUnVudGltZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGltZW91dDogRHVyYXRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lbW9yeVNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM/OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29yZ0lkPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvbHZlZFBsdWdpbnM/OiBSZWNvcmQ8c3RyaW5nLCBQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQbHVnaW5Mb29rdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLm9yZ2FuaXphdGlvbiB8fCAhcHJvcHMucHJvamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3RoIG9yZ2FuaXphdGlvbiBhbmQgcHJvamVjdCBhcmUgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdW5pcXVlSWQgPSBwcm9wcy51bmlxdWVJZDtcbiAgICB0aGlzLl9wbGF0Zm9ybVVybCA9IHByb3BzLnBsYXRmb3JtVXJsO1xuICAgIHRoaXMuX29yZ0lkID0gcHJvcHMub3JnSWQ7XG4gICAgdGhpcy5fcnVudGltZSA9IHByb3BzLnJ1bnRpbWUgPz8gUnVudGltZS5OT0RFSlNfMjRfWDtcbiAgICB0aGlzLl90aW1lb3V0ID0gcHJvcHMudGltZW91dCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMwKTtcbiAgICB0aGlzLl9tZW1vcnlTaXplID0gcHJvcHMubWVtb3J5U2l6ZSA/PyBDb25maWcuZ2V0KCdhd3MnKS5sYW1iZGEubWVtb3J5U2l6ZTtcbiAgICB0aGlzLl9hcmNoaXRlY3R1cmUgPSBwcm9wcy5hcmNoaXRlY3R1cmUgPz8gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB0aGlzLl9yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zID0gcHJvcHMucmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucztcbiAgICB0aGlzLl9yZXNvbHZlZFBsdWdpbnMgPSBwcm9wcy5yZXNvbHZlZFBsdWdpbnM7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlciA9IHRoaXMuY3JlYXRlTGFtYmRhRnVuY3Rpb24oKTtcblxuICAgIC8vIExvZy1ncm91cCBzdHJhdGVneTpcbiAgICAvLyAgIFByZXZpb3VzIGNvZGUgY3JlYXRlZCBhbiBgQVdTOjpMb2dzOjpMb2dHcm91cGAgcmVzb3VyY2Ugd2l0aCBhblxuICAgIC8vICAgRVhQTElDSVQgbmFtZSAoYC9hd3MvbGFtYmRhL3BsdWdpbi1sb29rdXAtTmApLiBUaGF0IGJyZWFrcyBldmVyeVxuICAgIC8vICAgcmUtZGVwbG95IGFmdGVyIGEgcm9sbGVkLWJhY2sgc3RhY2s6IEFXUyBhdXRvLWNyZWF0ZXMgdGhlIGdyb3VwIG9uXG4gICAgLy8gICBmaXJzdCBMYW1iZGEgaW52b2NhdGlvbiwgdGhlIHJvbGxiYWNrIGxlYXZlcyBpdCBhcyBhbiBvcnBoYW4sIGFuZFxuICAgIC8vICAgdGhlIG5leHQgQ0RLIHJ1biBmYWlscyB3aXRoIFwiUmVzb3VyY2UgLi4uIGFscmVhZHkgZXhpc3RzXCIgYmVjYXVzZVxuICAgIC8vICAgdGhlIGV4cGxpY2l0IG5hbWUgY29sbGlkZXMgd2l0aCB0aGUgb3JwaGFuLlxuICAgIC8vXG4gICAgLy8gICBGaXg6IHVzZSBgTG9nR3JvdXAuZnJvbUxvZ0dyb3VwTmFtZSgpYCB0byBhZG9wdC1vci1wYXNzLXRocm91Z2guXG4gICAgLy8gICBJZiB0aGUgZ3JvdXAgZXhpc3RzLCBDREsgcmVmZXJlbmNlcyBpdCB3aXRob3V0IHRyeWluZyB0byByZWNyZWF0ZS5cbiAgICAvLyAgIElmIGl0IGRvZXNuJ3QsIEFXUyBMYW1iZGEgYXV0by1jcmVhdGVzIGl0IG9uIGZpcnN0IGludm9jYXRpb24uXG4gICAgLy8gICBSZXRlbnRpb24gaXMgdGhlbiBzZXQgdmlhIGEgc2VwYXJhdGUgcmV0ZW50aW9uLXBvbGljeSBjdXN0b21cbiAgICAvLyAgIHJlc291cmNlIHdoaWNoIGlzIGlkZW1wb3RlbnQgKHNhZmUgdG8gYXBwbHkgdG8gZXhpc3RpbmcgZ3JvdXBzKS5cbiAgICBjb25zdCBsb2dHcm91cE5hbWUgPSBgL2F3cy9sYW1iZGEvJHt0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgncGx1Z2luOmxvb2t1cCcpLnJlcGxhY2UoLzovZywgJy0nKX1gO1xuICAgIGNvbnN0IGxvZ0dyb3VwID0gTG9nR3JvdXAuZnJvbUxvZ0dyb3VwTmFtZShcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgnbG9nOmdyb3VwJyksXG4gICAgICBsb2dHcm91cE5hbWUsXG4gICAgKTtcblxuICAgIHRoaXMuX3Byb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsIHRoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdyZXNvdXJjZTpwcm92aWRlcicpLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcixcbiAgICAgIGxvZ0dyb3VwLFxuICAgIH0pO1xuXG4gICAgbG9nLmRlYnVnKGBQbHVnaW5Mb29rdXAgaW5pdGlhbGl6ZWQgZm9yICR7cHJvcHMub3JnYW5pemF0aW9ufS8ke3Byb3BzLnByb2plY3R9YCk7XG4gIH1cblxuICAvKipcbiAgICogTG9va3MgdXAgYW5kIHJlc29sdmVzIHBsdWdpbiBjb25maWd1cmF0aW9uIHVzaW5nIGVpdGhlciBhIHNpbXBsZSBuYW1lIG9yIGZ1bGwgUGx1Z2luT3B0aW9ucyBvYmplY3RcbiAgICogRHVyaW5nIHN5bnRoZXNpcywgaWYgdGhlIHZhbHVlIGlzIHVucmVzb2x2ZWQgKHRva2VuKSwgcmV0dXJucyBmYWxsYmFjayBwbHVnaW5cbiAgICogRHVyaW5nIGRlcGxveW1lbnQsIGF0dGVtcHRzIHRvIHBhcnNlIHRoZSBhY3R1YWwgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIGN1c3RvbSByZXNvdXJjZVxuICAgKiBAcGFyYW0gcGx1Z2luIC0gUGx1Z2luIG5hbWUgKHN0cmluZykgb3IgY29tcGxldGUgUGx1Z2luT3B0aW9ucyBjb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIFJlc29sdmVkIFBsdWdpbiBvYmplY3Qgb3IgZmFsbGJhY2sgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgcGx1Z2luKHBsdWdpbjogc3RyaW5nIHwgUGx1Z2luT3B0aW9ucyk6IFBsdWdpbiB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLm5vcm1hbGl6ZShwbHVnaW4pO1xuXG4gICAgLy8gUHJlLXJlc29sdmVkIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoYCBmcm9tIHRoZSBwbGF0Zm9ybSBBUEkuXG4gICAgLy8gU2tpcCB0aGUgY3VzdG9tIHJlc291cmNlIGVudGlyZWx5IOKAlCB3ZSBhbHJlYWR5IGtub3cgdGhlIHBsdWdpbidzXG4gICAgLy8gbmFtZSwgdmVyc2lvbiwgY29tbWFuZHMsIGVudiwgZXRjLiBhdCBzeW50aCB0aW1lLCBzbyB0aGUgcmVzdWx0aW5nIENGTlxuICAgIC8vIHRlbXBsYXRlIGNhbiBzaGlwIHdpdGggdGhlIHJlYWwgQ29kZUJ1aWxkIGltYWdlIGJha2VkIGluLlxuICAgIGNvbnN0IGNhY2hlS2V5ID0gcHJvcHMuYWxpYXMgfHwgcHJvcHMubmFtZTtcbiAgICBjb25zdCBwcmVSZXNvbHZlZCA9IHRoaXMuX3Jlc29sdmVkUGx1Z2lucz8uW2NhY2hlS2V5XSBhcyAoUGx1Z2luICYgeyBwdWJsaXNoZXI/OiBzdHJpbmcgfCBudWxsIH0pIHwgdW5kZWZpbmVkO1xuICAgIC8vIFRoZSBtYXAgaXMga2V5ZWQgYnkgQUxJQVMsIHNvIGNoZWNrIGl0IGFjdHVhbGx5IGhvbGRzIFRISVMgcGx1Z2luLiBUd29cbiAgICAvLyBzdGVwcyBzaGFyaW5nIGFuIGFsaWFzIGFjcm9zcyBkaWZmZXJlbnQgcGx1Z2lucyB3b3VsZCBvdGhlcndpc2UgZ2V0IHRoZVxuICAgIC8vIGZpcnN0IG9uZSdzIHJlY29yZCBiYWNrIOKAlCB0aGUgc2Vjb25kIHN0ZXAgc2lsZW50bHkgcnVubmluZyB0aGUgd3JvbmdcbiAgICAvLyBpbWFnZSBhbmQgY29tbWFuZHMuIFRoZSBDTEkgcmVmdXNlcyBzdWNoIGEgcGlwZWxpbmUgdG9vOyB0aGlzIGNvdmVycyBhbnkgb3RoZXJcbiAgICAvLyBjYWxsZXIgdGhhdCBzdXBwbGllcyBgcmVzb2x2ZWRQbHVnaW5zYC5cbiAgICAvLyBDb21wYXJlIGFnYWluc3QgdGhlIG5hbWUgdGhlIGxvb2t1cCBhY3R1YWxseSBUQVJHRVRFRDogYW4gZXhwbGljaXRcbiAgICAvLyBgZmlsdGVyLm5hbWVgIG92ZXJyaWRlcyB0aGUgcmVmJ3MgYG5hbWVgIGJ5IGRlc2lnbiwgYW5kIHRoYXQgaXMgbm90IGFcbiAgICAvLyBjb2xsaXNpb24uXG4gICAgY29uc3QgdGFyZ2V0TmFtZSA9IChwcm9wcy5maWx0ZXIgYXMgeyBuYW1lPzogc3RyaW5nIH0gfCB1bmRlZmluZWQpPy5uYW1lID8/IHByb3BzLm5hbWU7XG4gICAgaWYgKHByZVJlc29sdmVkICYmIHByZVJlc29sdmVkLm5hbWUgIT09IHRhcmdldE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFBsdWdpbiBhbGlhcyBcIiR7Y2FjaGVLZXl9XCIgcmVzb2x2ZXMgdG8gXCIke3ByZVJlc29sdmVkLm5hbWV9XCIsIG5vdCBcIiR7dGFyZ2V0TmFtZX1cIi4gYFxuICAgICAgICArICdFYWNoIGFsaWFzIG11c3QgbmFtZSBleGFjdGx5IG9uZSBwbHVnaW4uJyxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEEgcXVhbGlmaWVkIHJlZmVyZW5jZSBtdXN0IGhhdmUgcmVzb2x2ZWQgdG8gVEhBVCBwdWJsaXNoZXIncyBsaXN0aW5nXG4gICAgLy8gKGFuIHVucXVhbGlmaWVkIG9uZSBtYXkgcmVzb2x2ZSB0byB0aGUgb3JnJ3Mgb3duIHBsdWdpbiBvciB0aGUgT2ZmaWNpYWxcbiAgICAvLyBsaXN0aW5nKS5cbiAgICBpZiAocHJlUmVzb2x2ZWQgJiYgcHJvcHMucHVibGlzaGVyICYmIHByZVJlc29sdmVkLnB1Ymxpc2hlciAhPT0gcHJvcHMucHVibGlzaGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQbHVnaW4gYWxpYXMgXCIke2NhY2hlS2V5fVwiIHJlc29sdmVzIHRvICR7cHJlUmVzb2x2ZWQucHVibGlzaGVyID8gYCR7cHJlUmVzb2x2ZWQucHVibGlzaGVyfS9gIDogJ3lvdXIgb3JnYW5pemF0aW9uXFwncyAnfSR7cHJlUmVzb2x2ZWQubmFtZX0sIGBcbiAgICAgICAgKyBgbm90ICR7cHJvcHMucHVibGlzaGVyfS8ke3RhcmdldE5hbWV9LiBFYWNoIGFsaWFzIG11c3QgbmFtZSBleGFjdGx5IG9uZSBwbHVnaW4uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcmVSZXNvbHZlZCkge1xuICAgICAgbG9nLmRlYnVnKGBQbHVnaW4gXCIke3Byb3BzLm5hbWV9XCIgcHJlLXJlc29sdmVkIChhbGlhcz0ke2NhY2hlS2V5fSkg4oCUIHNraXBwaW5nIGN1c3RvbSByZXNvdXJjZWApO1xuICAgICAgcmV0dXJuIHByZVJlc29sdmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMuY3JlYXRlQ3VzdG9tUmVzb3VyY2UocHJvcHMpO1xuICAgIGNvbnN0IGVuY29kZWQgPSBjdXN0b20uZ2V0QXR0U3RyaW5nKCdSZXN1bHRWYWx1ZScpO1xuXG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChlbmNvZGVkKSkge1xuICAgICAgbG9nLmRlYnVnKGBQbHVnaW4gXCIke3Byb3BzLm5hbWV9XCIgdmFsdWUgaXMgdW5yZXNvbHZlZCAodG9rZW4pIGR1cmluZyBzeW50aGVzaXMg4oCUIHVzaW5nIGZhbGxiYWNrLiBUaGUgYWN0dWFsIHBsdWdpbiB3aWxsIGJlIHJlc29sdmVkIGF0IGRlcGxveW1lbnQgdGltZS5gKTtcbiAgICAgIHJldHVybiB0aGlzLmZhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQgPSBCdWZmZXIuZnJvbShlbmNvZGVkLCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcblxuICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JyB8fCAhZGF0YS5uYW1lIHx8ICFBcnJheS5pc0FycmF5KGRhdGEuY29tbWFuZHMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwbHVnaW4gcmVzcG9uc2U6IG1pc3NpbmcgcmVxdWlyZWQgZmllbGRzIChuYW1lLCBjb21tYW5kcyknKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGEgYXMgUGx1Z2luO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcGFyc2UgcGx1Z2luIFwiJHtwcm9wcy5uYW1lfVwiIGRhdGE6ICR7ZXJyb3JNc2d9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHNlcnZlcyBhcyB0aGUgZXZlbnQgaGFuZGxlciBmb3IgdGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlci5cbiAgICpcbiAgICogSldUIHRva2VuIGlzIHN0b3JlZCBpbiBhIHByZS1leGlzdGluZyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGF0XG4gICAqIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAuIFRoZSBMYW1iZGEgcmVzb2x2ZXMgdGhlXG4gICAqIHNlY3JldCBieSBuYW1lIGF0IHJ1bnRpbWUgdXNpbmcgYENvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWGAuXG4gICAqXG4gICAqIENyZWF0ZSB0aGUgc2VjcmV0IGJlZm9yZSBkZXBsb3lpbmcgd2l0aDpcbiAgICogICBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyAzMCAtLXJlZ2lvbiA8cmVnaW9uPlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvbigpOiBOb2RlanNGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLl9vcmdJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcmdJZCBpcyByZXF1aXJlZCBmb3IgUGx1Z2luTG9va3VwIOKAlCBuZWVkZWQgdG8gcmVzb2x2ZSB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBzZWNyZXQnKTtcbiAgICB9XG4gICAgY29uc3Qgc2VjcmV0TmFtZSA9IENvcmVDb25zdGFudHMuc2VjcmV0UGF0aCh0aGlzLl9vcmdJZCwgJ3BsYXRmb3JtJyk7XG5cbiAgICBjb25zdCBmbiA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgnb25ldmVudDpoYW5kbGVyJyksIHtcbiAgICAgIHJ1bnRpbWU6IHRoaXMuX3J1bnRpbWUsXG4gICAgICB0aW1lb3V0OiB0aGlzLl90aW1lb3V0LFxuICAgICAgbWVtb3J5U2l6ZTogdGhpcy5fbWVtb3J5U2l6ZSxcbiAgICAgIGFyY2hpdGVjdHVyZTogdGhpcy5fYXJjaGl0ZWN0dXJlLFxuICAgICAgZW50cnk6IGpvaW4oTU9EVUxFX0RJUiwgJy8uLi9oYW5kbGVycy9wbHVnaW4tbG9va3VwLWhhbmRsZXIuanMnKSxcbiAgICAgIGRlcHNMb2NrRmlsZVBhdGg6IGpvaW4oTU9EVUxFX0RJUiwgJy8uLi9oYW5kbGVycy9wbnBtLWxvY2sueWFtbCcpLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogdGhpcy5fcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBMQVRGT1JNX1NFQ1JFVF9OQU1FOiBzZWNyZXROYW1lLFxuICAgICAgICAvLyBBbGxvdyBzZWxmLXNpZ25lZCBjZXJ0cyB3aGVuIHBsYXRmb3JtIHVzZXMgSFRUUFMgd2l0aG91dCBhIENBLXNpZ25lZCBjZXJ0aWZpY2F0ZVxuICAgICAgICAuLi4ocHJvY2Vzcy5lbnYuTk9ERV9UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCA9PT0gJzAnICYmIHtcbiAgICAgICAgICBOT0RFX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEOiAnMCcsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgIG1pbmlmeTogdHJ1ZSxcbiAgICAgICAgc291cmNlTWFwOiBmYWxzZSxcbiAgICAgICAgdGFyZ2V0OiAnZXMyMDIyJyxcbiAgICAgICAgZXh0ZXJuYWxNb2R1bGVzOiBbXG4gICAgICAgICAgLy8gUHJvdmlkZWQgYnkgdGhlIExhbWJkYSBOb2RlLmpzIHJ1bnRpbWUg4oCUIG5ldmVyIGJ1bmRsZS5cbiAgICAgICAgICAnQGF3cy1zZGsvKicsXG4gICAgICAgICAgLy8gU3ludGgtb25seSBsaWJyYXJpZXMgdGhhdCBtdXN0IE5FVkVSIGVuZCB1cCBpbiBhIExhbWJkYSBidW5kbGUuXG4gICAgICAgICAgLy8gVGhlIGhhbmRsZXIgZG9lc24ndCB1c2UgdGhlbTsgdGhpcyBpcyBhIGd1YXJkIHNvIGEgc3RyYXkgdHJhbnNpdGl2ZVxuICAgICAgICAgIC8vIGltcG9ydCAoZS5nLiB2aWEgYSBjb25maWcgbW9kdWxlIHRoYXQgcHVsbHMgaW5mcmFzdHJ1Y3R1cmUtY29uZmlnIOKGklxuICAgICAgICAgIC8vIGF3cy1jZGstbGliKSBjYW4ndCBkcmFnIHRoZSBlbnRpcmUgfmh1bmRyZWRzLW9mLU1CIENESyBpbnRvIHRoZVxuICAgICAgICAgIC8vIGJ1bmRsZSBhbmQgT09NLWtpbGwgZXNidWlsZCBkdXJpbmcgY29sZC1zdGFydCBzeW50aC4gSWYgb25lIG9mIHRoZXNlXG4gICAgICAgICAgLy8gaXMgZXZlciBnZW51aW5lbHkgcmVhY2hlZCBhdCBydW50aW1lIHRoZSBMYW1iZGEgd2lsbCBmYWlsIGxvdWRseSBhdFxuICAgICAgICAgIC8vIGluaXQgKG1vZHVsZSBub3QgZm91bmQpIHJhdGhlciB0aGFuIHNpbGVudGx5IE9PTSBhdCBzeW50aCDigJQgd2hpY2ggaXNcbiAgICAgICAgICAvLyB0aGUgY29ycmVjdCBzaWduYWwsIHNpbmNlIENESyBoYXMgbm8gYnVzaW5lc3MgcnVubmluZyBpbiB0aGlzIExhbWJkYS5cbiAgICAgICAgICAnYXdzLWNkay1saWInLFxuICAgICAgICAgICdhd3MtY2RrLWxpYi8qJyxcbiAgICAgICAgICAnY29uc3RydWN0cycsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gR3JhbnQgdGhlIExhbWJkYSBwZXJtaXNzaW9uIHRvIHJlYWQgdGhlIHBlci1vcmcgcGxhdGZvcm0gc2VjcmV0LlxuICAgIC8vIFRoZSB3aWxkY2FyZCBzdWZmaXggaGFuZGxlcyB0aGUgNi1jaGFyIHJhbmRvbSBJRCB0aGF0IFNlY3JldHMgTWFuYWdlciBhcHBlbmRzLlxuICAgIGZuLmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZSddLFxuICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c2VjcmV0c21hbmFnZXI6KjoqOnNlY3JldDoke3NlY3JldE5hbWV9LSpgXSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gZm47XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIGRlZmF1bHQgcGx1Z2luIGZpbHRlci5cbiAgICogQWNjZXNzIGNvbnRyb2wgKG9yZ0lkIHNjb3BpbmcsIHB1YmxpYy9wcml2YXRlIHZpc2liaWxpdHkpIGlzIGhhbmRsZWQgYnlcbiAgICogdGhlIHBsYXRmb3JtJ3MgYWNjZXNzIGNvbnRyb2wgcXVlcnkgYnVpbGRlciBiYXNlZCBvbiB0aGUgSldUJ3Mgb3JnYW5pemF0aW9uSWQuXG4gICAqL1xuICBwcml2YXRlIG5vcm1hbGl6ZShwbHVnaW46IHN0cmluZyB8IFBsdWdpbk9wdGlvbnMpOiBQbHVnaW5PcHRpb25zIHtcbiAgICBjb25zdCByZWY6IFBsdWdpbk9wdGlvbnMgPSB0eXBlb2YgcGx1Z2luID09PSAnc3RyaW5nJyA/IHsgbmFtZTogcGx1Z2luIH0gOiBwbHVnaW47XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHJlZi5uYW1lLFxuICAgICAgLi4uKHJlZi5wdWJsaXNoZXIgPyB7IHB1Ymxpc2hlcjogcmVmLnB1Ymxpc2hlciB9IDoge30pLFxuICAgICAgLy8gVGhlIHJlc29sdmVyIGNhY2hlIGtleTogdGhlIGV4cGxpY2l0IGFsaWFzLCBlbHNlIGBbPHB1Ymxpc2hlcj4tXTxuYW1lPi1hbGlhc2AuXG4gICAgICBhbGlhczogcGx1Z2luQXJ0aWZhY3RBbGlhcyhyZWYpLFxuICAgICAgLy8gVGhlIHNhbWUgZmlsdGVyIHRoZSBDTEkgcHJlLXJlc29sdmVyIGFuZCB0aGUgcGlwZWxpbmUgc2VydmljZSdzXG4gICAgICAvLyBjb250cmFjdCBjaGVjayBzZW5kIChgcGx1Z2luTG9va3VwRmlsdGVyYCk6IG5hbWUgKyBwdWJsaXNoZXIsIHRoZW5cbiAgICAgIC8vIHRoZSByZWZlcmVuY2UncyBvd24gZmlsdGVyLCBlbHNlIHRoZSBkZWZhdWx0IHZlcnNpb24uXG4gICAgICBmaWx0ZXI6IHBsdWdpbkxvb2t1cEZpbHRlcih7IG5hbWU6IHJlZi5uYW1lLCBwdWJsaXNoZXI6IHJlZi5wdWJsaXNoZXIsIGZpbHRlcjogcmVmLmZpbHRlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB9KSBhcyBQbHVnaW5GaWx0ZXIsXG4gICAgICBtZXRhZGF0YTogcmVmLm1ldGFkYXRhLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEN1c3RvbVJlc291cmNlIGluc3RhbmNlIHRoYXQgdHJpZ2dlcnMgcGx1Z2luIGxvb2t1cCBkdXJpbmcgZGVwbG95bWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21SZXNvdXJjZShwcm9wczogUGx1Z2luT3B0aW9ucyk6IEN1c3RvbVJlc291cmNlIHtcbiAgICBjb25zdCByZXNvdXJjZUlkID0gdGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUocHJvcHMuYWxpYXMgfHwgcHJvcHMubmFtZSk7XG5cbiAgICByZXR1cm4gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIHJlc291cmNlSWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5fcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpQbHVnaW5Mb29rdXAnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBiYXNlVVJMOiB0aGlzLl9wbGF0Zm9ybVVybCxcbiAgICAgICAgcGx1Z2luRmlsdGVyOiBwcm9wcy5maWx0ZXIsXG4gICAgICB9IGFzIElucHV0UHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQmFzZSBwbHVnaW4gc2hhcGUgd2l0aCBuby1vcCBkZWZhdWx0cyBmb3IgZmllbGRzIENESyBkb2Vzbid0IHVzZS4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYmFzZVBsdWdpbigpOiBQbHVnaW4ge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBQTEFDRUhPTERFUl9QTFVHSU5fSUQsXG4gICAgICBvcmdJZDogU1lTVEVNX09SR19JRCxcbiAgICAgIGNyZWF0ZWRCeTogJ3N5c3RlbScsXG4gICAgICBjcmVhdGVkQXQ6IG5vdyxcbiAgICAgIHVwZGF0ZWRCeTogJ3N5c3RlbScsXG4gICAgICB1cGRhdGVkQXQ6IG5vdyxcbiAgICAgIG5hbWU6ICdmYWxsYmFjaycsXG4gICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgIGtleXdvcmRzOiBbXSxcbiAgICAgIGNhdGVnb3J5OiAndW5rbm93bicsXG4gICAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgICAgcGx1Z2luVHlwZTogJ0NvZGVCdWlsZFN0ZXAnLFxuICAgICAgY29tcHV0ZVR5cGU6ICdTTUFMTCcsXG4gICAgICB0aW1lb3V0OiBudWxsLFxuICAgICAgZmFpbHVyZUJlaGF2aW9yOiAnZmFpbCcsXG4gICAgICBzZWNyZXRzOiBbXSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6ICdjZGsub3V0JyxcbiAgICAgIGVudjoge30sXG4gICAgICBidWlsZEFyZ3M6IHt9LFxuICAgICAgaW5zdGFsbENvbW1hbmRzOiBbXSxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGRvY2tlcmZpbGU6IG51bGwsXG4gICAgICBidWlsZFR5cGU6ICdtZXRhZGF0YV9vbmx5JyxcbiAgICAgIGltYWdlRGlnZXN0OiBudWxsLFxuICAgICAgaW1hZ2VTb3VyY2U6IG51bGwsXG4gICAgICBvd25lcklkOiBudWxsLFxuICAgICAgb3duZXJUeXBlOiBudWxsLFxuICAgICAgbGlmZWN5Y2xlOiAncHJvZHVjdGlvbicsXG4gICAgICBjcml0aWNhbGl0eTogbnVsbCxcbiAgICAgIGxhYmVsczoge30sXG4gICAgICBsaW5rczogW10sXG4gICAgICB2aXNpYmlsaXR5OiAncHVibGljJyxcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGRlbGV0ZWRBdDogbnVsbCxcbiAgICAgIGRlbGV0ZWRCeTogbnVsbCxcbiAgICAgIHB1cmdlQWZ0ZXI6IG51bGwsXG4gICAgICBxdW90YVJlc2V0QXQ6IG51bGwsXG4gICAgICBzdW1tYXJ5OiBudWxsLFxuICAgICAgZGlzcGxheU5hbWU6IG51bGwsXG4gICAgICBkb2N1bWVudGF0aW9uVXJsOiBudWxsLFxuICAgICAgbWV0YWRhdGFTb3VyY2VzOiB7fSxcbiAgICAgIHJlcXVpcmVkTWV0YWRhdGE6IFtdLFxuICAgICAgcmVxdWlyZWRWYXJzOiBbXSxcbiAgICAgIG1ldGFkYXRhVHlwZXM6IHt9LFxuICAgICAgdmFyc1R5cGVzOiB7fSxcbiAgICAgIHNtb2tlVGVzdDogbnVsbCxcbiAgICAgIG5ldHdvcmtFZ3Jlc3M6IFtdLFxuICAgICAgcmVhZG1lTWQ6IG51bGwsXG4gICAgICByZWFkbWVIdG1sOiBudWxsLFxuICAgICAgbGljZW5zZTogbnVsbCxcbiAgICAgIGNoYW5nZWxvZzogbnVsbCxcbiAgICAgIGhvbWVwYWdlVXJsOiBudWxsLFxuICAgICAgc291cmNlVXJsOiBudWxsLFxuICAgICAgaWNvbjogbnVsbCxcbiAgICAgIHVwbG9hZGVkSWNvbjogbnVsbCxcbiAgICAgIHZ1bG5Dcml0aWNhbDogbnVsbCxcbiAgICAgIHZ1bG5IaWdoOiBudWxsLFxuICAgICAgdnVsbk1lZGl1bTogbnVsbCxcbiAgICAgIHZ1bG5Mb3c6IG51bGwsXG4gICAgICB2dWxuQ3JpdGljYWxGaXhhYmxlOiBudWxsLFxuICAgICAgdnVsbkhpZ2hGaXhhYmxlOiBudWxsLFxuICAgICAgc2Nhbm5lZEF0OiBudWxsLFxuICAgICAgc2NhbkZsYWdnZWRBdDogbnVsbCxcbiAgICAgIHNjYW5GbGFnOiBudWxsLFxuICAgICAgcnVuQXNSb290OiBudWxsLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgICAgZnJvemVuQXQ6IG51bGwsXG4gICAgICB5YW5rZWRBdDogbnVsbCxcbiAgICAgIHlhbmtSZWFzb246IG51bGwsXG4gICAgICBkZXByZWNhdGVkQXQ6IG51bGwsXG4gICAgICBkZXByZWNhdGlvbk1lc3NhZ2U6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWxsYmFjayBmb3IgYSBwbHVnaW4gd2hvc2UgbG9va3VwIHJldHVybmVkIG5vIHJlY29yZCAobm90IGluIHRoZSBwbGF0Zm9ybVxuICAgKiBjYXRhbG9nIGZvciB0aGlzIG9yZykgYW5kIHNvIGNvdWxkIG5vdCBiZSBwcmUtcmVzb2x2ZWQgYXQgc3ludGguXG4gICAqXG4gICAqIFRoaXMgc3RlcCBGQUlMUyB0aGUgYnVpbGQgKGV4aXQgMSkgb24gcHVycG9zZS4gVGhlIHByZXZpb3VzIGJlaGF2aW91ciDigJRcbiAgICogYGVjaG8gXCLigKZcIiAmJiBleGl0IDBgIOKAlCB3YXMgYSBmYWxzZSBwb3NpdGl2ZTogYW4gdW5yZXNvbHZlZCBzZWN1cml0eS9xdWFsaXR5XG4gICAqIHN0ZXAgKGRlcGVuZGVuY3ktY2hlY2ssIHNlbWdyZXAsIHNwb3RidWdzLCDigKYpIHJlcG9ydGVkIHRoZSBzdGFnZSBncmVlbiB3aGlsZVxuICAgKiBydW5uaW5nIG5vdGhpbmcsIGdpdmluZyBmYWxzZSBhc3N1cmFuY2UgdGhhdCBzY2Fucy9idWlsZHMgaGFkIHBhc3NlZC4gQVxuICAgKiBwbHVnaW4gc3RlcCB0aGF0IGNhbid0IHJ1biBpdHMgcGx1Z2luIG11c3QgZ28gcmVkLCBjb25zaXN0ZW50IHdpdGhcbiAgICogYGJhc2VQbHVnaW4oKS5mYWlsdXJlQmVoYXZpb3IgPT09ICdmYWlsJ2AuIFRoZSBtZXNzYWdlIGlzIGFjdGlvbmFibGUgc28gdGhlXG4gICAqIG9wZXJhdG9yIGtub3dzIHRoZSBjYXRhbG9nIGlzIGVtcHR5L2luY29tcGxldGUsIG5vdCB0aGF0IHRoZSB0b29sIGNyYXNoZWQuXG4gICAqL1xuICBwcml2YXRlIGZhbGxiYWNrKCk6IFBsdWdpbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlBsdWdpbkxvb2t1cC5iYXNlUGx1Z2luKCksXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnZWNobyBcIkVSUk9SOiBwbHVnaW4gbG9va3VwIHJldHVybmVkIG5vIHJlY29yZCDigJQgdGhpcyBwbHVnaW4gaXMgbm90IGluIHRoZSBwbGF0Zm9ybSBjYXRhbG9nIGZvciB0aGlzIG9yZywgc28gdGhlIHN0ZXAgY2Fubm90IHJ1bi5cIiA+JjInLFxuICAgICAgICAnZWNobyBcIlRoaXMgc3RlcCBmYWlscyBpbnN0ZWFkIG9mIHBhc3NpbmcgYXMgYSBuby1vcCAoYW4gdW5yZXNvbHZlZCBwbHVnaW4gcmVwb3J0aW5nIHN1Y2Nlc3Mgd291bGQgYmUgYSBmYWxzZS1wb3NpdGl2ZSBncmVlbikuXCIgPiYyJyxcbiAgICAgICAgJ2VjaG8gXCJGaXg6IGxvYWQgdGhlIHBsdWdpbiBpbnRvIHRoZSBwbGF0Zm9ybSAoZGVwbG95L2Jpbi9sb2FkLXBsdWdpbnMuc2gpLCB0aGVuIHJlLXJ1biB0aGUgcGlwZWxpbmUuXCIgPiYyJyxcbiAgICAgICAgJ2V4aXQgMScsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU3ludGggcGx1Z2luIHdpdGggcGlwZWxpbmUtbWFuYWdlciBjb21tYW5kcy4gQ29sZC1zdGFydCBib290c3RyYXAgZm9yXG4gICAqIHRoZSBzeW50aCBzdGVwIHdoZW4gcHJlLXJlc29sdXRpb24gYnkgYHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgc3ludGgvZGVwbG95YFxuICAgKiBkaWRuJ3QgcG9wdWxhdGUgYHJlc29sdmVkUGx1Z2luc2AgZm9yIHRoZSBzeW50aCBwbHVnaW4uIFJ1bnMgb24gdGhlXG4gICAqIGNvbmZpZ3VyZWQgYENPREVCVUlMRF9ERUZBVUxUX0lNQUdFYCAoZGVmYXVsdCBgcGlwZWxpbmUtYm9vdHN0cmFwOjEuMGApXG4gICAqIGFuZCBzZWxmLWJvb3RzdHJhcHMgdGhlIHJlYWwgc3ludGggdmlhXG4gICAqIGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoIC0taWQgJHtQSVBFTElORV9JRH1gLlxuICAgKlxuICAgKiBObyBgaW5zdGFsbENvbW1hbmRzYDogdGhlIGRlZmF1bHQgaW1hZ2UgYWxyZWFkeSBoYXMgYHBpcGVsaW5lLW1hbmFnZXJgXG4gICAqIGJha2VkIGluICh0aGF0J3MgdGhlIHdob2xlIHBvaW50IG9mIGBwaXBlbGluZS1ib290c3RyYXA6MS4wYCkuIElmIHRoZVxuICAgKiBvcGVyYXRvciBwb2ludHMgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0UgYXQgYW4gaW1hZ2UgbGFja2luZyBpdCAoZS5nLlxuICAgKiB2YW5pbGxhIGF3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6Ny4wKSwgdGhpcyBzdGVwIGV4aXRzIDEyNyDigJQgZml4IHRoYXRcbiAgICogYnkgdXNpbmcgYW4gaW1hZ2Ugd2l0aCBwaXBlbGluZS1tYW5hZ2VyIHJhdGhlciB0aGFuIHBhcGVyaW5nIG92ZXIgaXRcbiAgICogd2l0aCBhIHBlci1idWlsZCBgbnBtIGluc3RhbGwgLWdgLlxuICAgKi9cbiAgcHVibGljIGJvb3RzdHJhcCgpOiBQbHVnaW4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5QbHVnaW5Mb29rdXAuYmFzZVBsdWdpbigpLFxuICAgICAgbmFtZTogJ2Nkay1zeW50aCcsXG4gICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiAnY2RrLm91dCcsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAncGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aCAtLWlkICR7UElQRUxJTkVfSUR9IC0tc3RvcmUtdG9rZW5zIC0tcXVpZXQgLS1uby1ub3RpY2VzIC0tbm8tdmVyaWZ5LXNzbCcsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -6,35 +6,35 @@
|
|
|
6
6
|
"url": "git+https://github.com/mwashburn160/pipeline-builder.git"
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
|
-
"@aws-sdk/client-secrets-manager": "3.
|
|
10
|
-
"@jest/globals": "30.
|
|
9
|
+
"@aws-sdk/client-secrets-manager": "3.1136.0",
|
|
10
|
+
"@jest/globals": "30.5.2",
|
|
11
11
|
"@stylistic/eslint-plugin": "^2",
|
|
12
|
-
"@types/aws-lambda": "8.10.
|
|
12
|
+
"@types/aws-lambda": "8.10.163",
|
|
13
13
|
"@types/jsonwebtoken": "9.0.10",
|
|
14
14
|
"@types/node": "^24",
|
|
15
15
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
16
16
|
"@typescript-eslint/parser": "^8",
|
|
17
17
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
18
|
-
"aws-cdk-lib": "2.
|
|
19
|
-
"constructs": "10.
|
|
18
|
+
"aws-cdk-lib": "2.270.0",
|
|
19
|
+
"constructs": "10.8.1",
|
|
20
20
|
"copyfiles": "2.4.1",
|
|
21
21
|
"eslint": "^9",
|
|
22
|
-
"eslint-import-resolver-typescript": "^4.4.
|
|
22
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
23
23
|
"eslint-plugin-import": "^2.32.0",
|
|
24
|
-
"jest": "30.
|
|
24
|
+
"jest": "30.5.2",
|
|
25
25
|
"jest-junit": "^17",
|
|
26
26
|
"ts-jest": "29.4.12",
|
|
27
27
|
"typescript": "npm:@typescript/typescript6@^6.0.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"aws-cdk-lib": "^2.
|
|
30
|
+
"aws-cdk-lib": "^2.270.0",
|
|
31
31
|
"constructs": "^10.5.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"axios": "1.
|
|
34
|
+
"axios": "1.20.0",
|
|
35
35
|
"jsonwebtoken": "9.0.3",
|
|
36
|
-
"@pipeline-builder/api-core": "4.1.
|
|
37
|
-
"@pipeline-builder/pipeline-data": "4.1.
|
|
36
|
+
"@pipeline-builder/api-core": "4.1.17",
|
|
37
|
+
"@pipeline-builder/pipeline-data": "4.1.19"
|
|
38
38
|
},
|
|
39
39
|
"keywords": [
|
|
40
40
|
"ci-cd",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
]
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
-
"version": "4.1.
|
|
100
|
+
"version": "4.1.19",
|
|
101
101
|
"bugs": {
|
|
102
102
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
103
103
|
},
|