truemark-cdk-lib 1.22.10 → 1.22.12
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.
|
@@ -90,7 +90,7 @@ const DOCKER_BUILDX_SETUP_COMMANDS = [
|
|
|
90
90
|
*/
|
|
91
91
|
class CdkPipeline extends constructs_1.Construct {
|
|
92
92
|
constructor(scope, id, props) {
|
|
93
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
|
|
93
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10;
|
|
94
94
|
super(scope, id);
|
|
95
95
|
const encryptionKey = aws_kms_1.Key.fromKeyArn(this, 'EncryptionKey', props.keyArn);
|
|
96
96
|
const artifactBucket = new artifact_bucket_1.ArtifactBucket(this, 'ArtifactBucket', {
|
|
@@ -208,40 +208,38 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
208
208
|
}),
|
|
209
209
|
synthCodeBuildDefaults: {
|
|
210
210
|
partialBuildSpec: aws_codebuild_1.BuildSpec.fromObject({
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
],
|
|
224
|
-
},
|
|
211
|
+
...(((_u = props.computeType) === null || _u === void 0 ? void 0 : _u.includes('LAMBDA'))
|
|
212
|
+
? {}
|
|
213
|
+
: {
|
|
214
|
+
cache: {
|
|
215
|
+
paths: [
|
|
216
|
+
'/root/.npm/**/*',
|
|
217
|
+
'/root/.local/share/pnpm/store/**/*',
|
|
218
|
+
'/root/.pnpm-store/**/*',
|
|
219
|
+
'node_modules/**/*',
|
|
220
|
+
],
|
|
221
|
+
},
|
|
222
|
+
}),
|
|
225
223
|
phases: {
|
|
226
224
|
install: {
|
|
227
225
|
'runtime-versions': {
|
|
228
|
-
nodejs: (
|
|
226
|
+
nodejs: (_v = props.nodeVersion) !== null && _v !== void 0 ? _v : NodeVersion.NODE_24,
|
|
229
227
|
go: props.goVersion,
|
|
230
228
|
java: props.javaVersion,
|
|
231
229
|
dotnet: props.dotnetVersion,
|
|
232
230
|
python: props.pythonVersion,
|
|
233
231
|
},
|
|
234
232
|
'commands': ['npm config set fund false', 'npm -g i esbuild']
|
|
235
|
-
.concat((
|
|
233
|
+
.concat((_w = props.additionalInstallCommands) !== null && _w !== void 0 ? _w : [])
|
|
236
234
|
.concat(['node --version']),
|
|
237
235
|
},
|
|
238
236
|
},
|
|
239
237
|
}),
|
|
240
238
|
buildEnvironment: {
|
|
241
239
|
// Privileged mode is not allowed in lambda
|
|
242
|
-
privileged: !((
|
|
243
|
-
computeType: (
|
|
244
|
-
buildImage: (
|
|
240
|
+
privileged: !((_y = (_x = props.computeType) === null || _x === void 0 ? void 0 : _x.includes('LAMBDA')) !== null && _y !== void 0 ? _y : false),
|
|
241
|
+
computeType: (_z = props.computeType) !== null && _z !== void 0 ? _z : aws_codebuild_1.ComputeType.SMALL,
|
|
242
|
+
buildImage: (_0 = props.buildImage) !== null && _0 !== void 0 ? _0 : aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_5,
|
|
245
243
|
},
|
|
246
244
|
rolePolicy,
|
|
247
245
|
},
|
|
@@ -249,14 +247,14 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
249
247
|
partialBuildSpec: aws_codebuild_1.BuildSpec.fromObject({
|
|
250
248
|
env: {
|
|
251
249
|
variables: {
|
|
252
|
-
...(((
|
|
250
|
+
...(((_1 = props.enableDockerBuildxOnAssetPublish) !== null && _1 !== void 0 ? _1 : !((_3 = (_2 = props.computeType) === null || _2 === void 0 ? void 0 : _2.includes('LAMBDA')) !== null && _3 !== void 0 ? _3 : false))
|
|
253
251
|
? { CDK_DOCKER: '/usr/local/bin/buildx.sh' }
|
|
254
252
|
: {}),
|
|
255
253
|
},
|
|
256
254
|
},
|
|
257
255
|
phases: {
|
|
258
256
|
install: {
|
|
259
|
-
commands: ((
|
|
257
|
+
commands: ((_4 = props.enableDockerBuildxOnAssetPublish) !== null && _4 !== void 0 ? _4 : !((_6 = (_5 = props.computeType) === null || _5 === void 0 ? void 0 : _5.includes('LAMBDA')) !== null && _6 !== void 0 ? _6 : false))
|
|
260
258
|
? DOCKER_BUILDX_SETUP_COMMANDS
|
|
261
259
|
: [],
|
|
262
260
|
},
|
|
@@ -264,9 +262,9 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
264
262
|
}),
|
|
265
263
|
buildEnvironment: {
|
|
266
264
|
// Privileged mode is not allowed in lambda
|
|
267
|
-
privileged: !((
|
|
268
|
-
computeType: (
|
|
269
|
-
buildImage: (
|
|
265
|
+
privileged: !((_8 = (_7 = props.computeType) === null || _7 === void 0 ? void 0 : _7.includes('LAMBDA')) !== null && _8 !== void 0 ? _8 : false),
|
|
266
|
+
computeType: (_9 = props.computeType) !== null && _9 !== void 0 ? _9 : aws_codebuild_1.ComputeType.SMALL,
|
|
267
|
+
buildImage: (_10 = props.buildImage) !== null && _10 !== void 0 ? _10 : aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_5,
|
|
270
268
|
},
|
|
271
269
|
},
|
|
272
270
|
});
|
|
@@ -338,4 +336,4 @@ class CdkPipeline extends constructs_1.Construct {
|
|
|
338
336
|
}
|
|
339
337
|
}
|
|
340
338
|
exports.CdkPipeline = CdkPipeline;
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy1jb2RlcGlwZWxpbmUvbGliL2Nkay1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsbUVBS3NDO0FBQ3RDLGlEQUF3QztBQUN4Qyx1REFBaUQ7QUFDakQscURBUytCO0FBQy9CLDZEQUttQztBQUNuQyw2RUFBc0U7QUFDdEUsNkNBQThDO0FBQzlDLCtEQUFzRDtBQUN0RCxtQ0FBMkM7QUFDM0MsaURBQTREO0FBSTVEOzs7R0FHRztBQUNILElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQiw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtJQUNkLDZCQUFjLENBQUE7SUFDZCw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBTlcsV0FBVywyQkFBWCxXQUFXLFFBTXRCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSxTQWFYO0FBYkQsV0FBWSxTQUFTO0lBQ25CLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFiVyxTQUFTLHlCQUFULFNBQVMsUUFhcEI7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsbUNBQW9CLENBQUE7SUFDcEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQU5XLFdBQVcsMkJB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QUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVksRUFBRSxPQUFzQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVUsRUFBRSxPQUFxQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFuVEQsa0NBbVRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQ2ZuUGlwZWxpbmUsXG4gIEdpdFB1c2hGaWx0ZXIsXG4gIFBpcGVsaW5lLFxuICBQaXBlbGluZVR5cGUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUnO1xuaW1wb3J0IHtLZXl9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHtBcnRpZmFjdEJ1Y2tldH0gZnJvbSAnLi9hcnRpZmFjdC1idWNrZXQnO1xuaW1wb3J0IHtcbiAgQWRkU3RhZ2VPcHRzLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgSUZpbGVTZXRQcm9kdWNlcixcbiAgU2hlbGxTdGVwLFxuICBTdGFnZURlcGxveW1lbnQsXG4gIFdhdmUsXG4gIFdhdmVPcHRpb25zLFxufSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHtcbiAgQnVpbGRTcGVjLFxuICBDb21wdXRlVHlwZSxcbiAgSUJ1aWxkSW1hZ2UsXG4gIExpbnV4QnVpbGRJbWFnZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQge1BpcGVsaW5lTm90aWZpY2F0aW9uUnVsZX0gZnJvbSAnLi9waXBlbGluZS1ub3RpZmljYXRpb24tcnVsZSc7XG5pbXBvcnQge0FybiwgU3RhY2ssIFN0YWdlfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1JlcG9zaXRvcnl9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlY29tbWl0JztcbmltcG9ydCB7Tm9kZVBhY2thZ2VNYW5hZ2VyfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7RWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtJU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNoYXRib3QnO1xuaW1wb3J0IHtJVG9waWN9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuXG4vKipcbiAqIE5vZGUgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGViQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gTm9kZVZlcnNpb24ge1xuICBOT0RFXzE2ID0gJzE2JyxcbiAgTk9ERV8xOCA9ICcxOCcsXG4gIE5PREVfMjAgPSAnMjAnLFxuICBOT0RFXzIyID0gJzIyJyxcbiAgTk9ERV8yNCA9ICcyNCcsXG59XG5cbi8qKlxuICogR28gcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBHb1ZlcnNpb24ge1xuICBHT18xXzEyID0gJzEuMTInLFxuICBHT18xXzEzID0gJzEuMTMnLFxuICBHT18xXzE0ID0gJzEuMTQnLFxuICBHT18xXzE1ID0gJzEuMTUnLFxuICBHT18xXzE2ID0gJzEuMTYnLFxuICBHT18xXzE3ID0gJzEuMTcnLFxuICBHT18xXzE4ID0gJzEuMTgnLFxuICBHT18xXzIwID0gJzEuMjAnLFxuICBHT18xXzIxID0gJzEuMjEnLFxuICBHT18xXzIyID0gJzEuMjInLFxuICBHT18xXzIzID0gJzEuMjMnLFxuICBHT18xXzI0ID0gJzEuMjQnLFxufVxuXG4vKipcbiAqIEphdmEgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBKYXZhVmVyc2lvbiB7XG4gIEpBVkFfOCA9ICdjb3JyZXR0bzgnLFxuICBKQVZBXzExID0gJ2NvcnJldHRvMTEnLFxuICBKQVZBXzE2ID0gJ2NvcnJldHRvMTcnLFxuICBKQVZBXzIxID0gJ2NvcnJldHRvMjEnLFxuICBKQVZBXzI1ID0gJ2NvcnJldHRvMjUnLFxufVxuXG4vKipcbiAqIERvdG5ldCBydW50aW1lcyBzdXBwb3J0ZWQgYnkgQ29kZUJ1aWxkXG4gKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVidWlsZC9sYXRlc3QvdXNlcmd1aWRlL2F2YWlsYWJsZS1ydW50aW1lcy5odG1sZG90bmV0XG4gKi9cbmV4cG9ydCBlbnVtIERvdG5ldFZlcnNpb24ge1xuICBET1RORVRfM18xID0gJzMuMScsXG4gIERPVE5FVF81XzAgPSAnNS4wJyxcbiAgRE9UTkVUXzZfMCA9ICc2LjAnLFxuICBET1RORVRfOF8wID0gJzguMCcsXG59XG5cbmV4cG9ydCBlbnVtIFB5dGhvblZlcnNpb24ge1xuICBQWVRIT05fM183ID0gJzMuNycsXG4gIFBZVEhPTl8zXzggPSAnMy44JyxcbiAgUFlUSE9OXzNfOSA9ICczLjknLFxuICBQWVRIT05fM18xMCA9ICczLjEwJyxcbiAgUFlUSE9OXzNfMTEgPSAnMy4xMScsXG4gIFBZVEhPTl8zXzEyID0gJzMuMTInLFxuICBQWVRIT05fM18xMyA9ICczLjEzJyxcbiAgUFlUSE9OXzNfMTQgPSAnMy4xNCcsXG59XG5cbmNvbnN0IERPQ0tFUl9CVUlMRFhfU0VUVVBfQ09NTUFORFMgPSBbXG4gIFwiZWNobyAnIyEvYmluL2Jhc2gnID4gL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoXCIsXG4gICdlY2hvIFxcJ1tbIFwiJDFcIiA9PSBcImJ1aWxkXCIgXV0gJiYgZG9ja2VyIGJ1aWxkeCBidWlsZCAtLWxvYWQgXCIke0A6Mn1cIiB8fCBkb2NrZXIgXCIkQFwiXFwnID4+IC91c3IvbG9jYWwvYmluL2J1aWxkeC5zaCcsXG4gICdjaG1vZCAreCAvdXNyL2xvY2FsL2Jpbi9idWlsZHguc2gnLFxuICAnZWNobyBcIkFyY2hpdGVjdHVyZTogJCh1bmFtZSAtbSlcIicsXG4gICdkb2NrZXIgYnVpbGR4IGNyZWF0ZSAtLXVzZSAtLW5hbWUgbXVsdGktYXJjaC1idWlsZGVyJyxcbiAgJ2RvY2tlciBidWlsZHggbHMnLFxuXTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDZGtQaXBlbGluZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka1BpcGVsaW5lUHJvcHMge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgbmFtZSB0aGUgcGlwZWxpbmUuIFNldCB0aGlzIHRvIG92ZXJyaWRlIHRoZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHBpcGVsaW5lVHlwZT86IFBpcGVsaW5lVHlwZTtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgY3JlYXRlIEtNUyBrZXlzIGZvciBjcm9zcyBhY2NvdW50IGRlcGxveW1lbnRzLiBUaGlzXG4gICAqIGNhbiBiZSBjb3N0bHkgaWYgeW91IGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgcGlwZWxpbmVzLiBUaGlzIHByb3BlcnR5XG4gICAqIGFsbG93cyBhIGNvbW1vbiBrZXkgdG8gYmUgc2hhcmVkIGFjcm9zcyBwaXBlbGluZXMuXG4gICAqXG4gICAqIFlvdSBtdXN0IGNoYW5nZSBAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lOmNyb3NzQWNjb3VudEtleXNEZWZhdWx0VmFsdWVUb0ZhbHNlIHRvIGZhbHNlIGluIHlvdXIgY2RrLmpzb25cbiAgICogZmlsZSB0byBhdm9pZCBlcnJvcnMuXG4gICAqL1xuICByZWFkb25seSBrZXlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBhY2NvdW50IElEcyB0aGlzIHBpcGVsaW5lIHdpbGwgZGVwbG95IGludG8uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFybiBvZiB0aGUgQ29kZVN0YXIgY29ubmVjdGlvbiB1c2VkIHRvIGFjY2VzcyB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS4gSWYgbm90IHNldCwgdGhpc1xuICAgKiBjb25zdHJ1Y3QgYXNzdW1lcyB0aGUgcmVwb3NpdG9yeSBpcyBpbiBBV1MgQ29kZUNvbW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlbGYtbXV0YXRpb24uIFVzZWZ1bCBmb3IgY2RrIHBpcGVsaW5lIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgJ3N5bnRoJyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU3ludGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgc2VsZi1tdXRhdGUgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgY29tcHV0ZSB0byB1c2UgZm9yIHRoaXMgYnVpbGQuIERlZmF1bHQgaXMgQ29tcHV0ZVR5cGUuU01BTEwuXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuIElmIG5vbmUgaXMgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgZGVmaW5lZCBpbiBBV1MgQ0RLIGlzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlPzogSUJ1aWxkSW1hZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU2xhY2sgY2hhbm5lbCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybi5cbiAgICovXG4gIHJlYWRvbmx5IHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24/OiBJU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIFNOUyB0b3BpYyB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIG5vdGlmaWNhdGlvblRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uVG9waWNBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdG8gdXNlIGZvciBub3RpZmljYXRpb25zLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBub3RpZmljYXRpb25Ub3BpY0Fybi5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRvcGljPzogSVRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBub3RpZmljYXRpb24gZXZlbnRzIHRvIHJlY2VpdmUuRGVmYXVsdCBpcyBERUZBVUxUX0VWRU5UU1xuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kdGNvbnNvbGUvbGF0ZXN0L3VzZXJndWlkZS9jb25jZXB0cy5odG1sI2V2ZW50cy1yZWYtcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEZpbGVTZXRzIHRvIHB1dCBpbiBvdGhlciBkaXJlY3Rvcmllc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0cz86IFJlY29yZDxzdHJpbmcsIElGaWxlU2V0UHJvZHVjZXI+O1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbW1hbmRzIHRvIHJ1biBiZWZvcmUgaW5zdGFsbC4gSWYgeW91IG92ZXJyaWRlIHRoZSBjb21tYW5kcyBwcm9wZXJ0eSwgdGhpcyBoYXMgbm8gZWZmZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZGVmYXVsdCBjb21tYW5kcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBhc3NldHMgaW4gbXVsdGlwbGUgQ29kZUJ1aWxkIHByb2plY3RzLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaEFzc2V0c0luUGFyYWxsZWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlIG1hbmFnZXIgdG8gdXNlIHdoZW4gZXhlY3V0aW5nIENESy5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE1cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogTm9kZVBhY2thZ2VNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHRoZSBDREsgcHJvamVjdCBpcyBsb2NhdGVkIGluIHRoZSByZXBvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFwiLlwiXG4gICAqL1xuICByZWFkb25seSBjZGtEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvbGljeSBzdGF0ZW1lbnRzIHRvIGFkZCB0byB0aGUgcm9sZSB1c2VkIGJ5IHN5bnRoLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZVBvbGljeT86IFBvbGljeVN0YXRlbWVudFtdO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZCBhY2Nlc3MgdG8gdGhlIHByb3ZpZGVkIEFXUyBDb2RlQXJ0aWZhY3QgZG9tYWlucy5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdERvbWFpbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQgYWNjZXNzIHRvIHRoZSBwcm92aWRlZCBBV1MgQ29kZUFydGlmYWN0IHJlcG9zaXRvcmllcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIE5vZGUgdG8gdXNlIGluIHRoZSBwaXBlbGluZS4gRGVmYXVsdCBpcyBOT0RFXzIwXG4gICAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IE5vZGVWZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIEdvIHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGdvVmVyc2lvbj86IEdvVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBKYXZhIHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGphdmFWZXJzaW9uPzogSmF2YVZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgRG90bmV0IHRvIGluc3RhbGwuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvdG5ldFZlcnNpb24/OiBEb3RuZXRWZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIFB5dGhvbiB0byBpbnN0YWxsLiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBweXRob25WZXJzaW9uPzogUHl0aG9uVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gZHVyaW5nIHRoZSBpbnN0YWxsIHBoYXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbEluc3RhbGxDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNsb25lIHRoZSBDb2RlQ29tbWl0IHJlcG9zaXRvcnkgaW50byB0aGUgQ29kZUJ1aWxkIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRDbG9uZU91dHB1dD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIHVzZSBvZiBcImRvY2tlciBidWlsZHhcIiBpbiB0aGUgYXNzZXQgcHVibGlzaGluZyBzdGVwLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEb2NrZXJCdWlsZHhPbkFzc2V0UHVibGlzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYXV0b21hdGljIHRyaWdnZXJpbmcgb24gc291cmNlIGNvZGUgY2hhbmdlcy4gV2hlbiB0cnVlLCB0aGUgcGlwZWxpbmVcbiAgICogbXVzdCBiZSBtYW51YWxseSBzdGFydGVkLiBVc2VmdWwgZm9yIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgKGF1dG8tdHJpZ2dlciBlbmFibGVkKVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZUF1dG9UcmlnZ2VyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2l0IHB1c2ggZmlsdGVyIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwaXBlbGluZSB0cmlnZ2VyLlxuICAgKiBBbGxvd3MgZmlsdGVyaW5nIHdoaWNoIGdpdCBldmVudHMgdHJpZ2dlciB0aGUgcGlwZWxpbmUgYmFzZWQgb24gYnJhbmNoIHBhdHRlcm5zLFxuICAgKiBmaWxlIHBhdGhzLCBvciB0YWcgcGF0dGVybnMuIE9ubHkgYXBwbGljYWJsZSB3aGVuIHVzaW5nIENvZGVTdGFyIGNvbm5lY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZpbHRlcmluZywgYWxsIHB1c2hlcyB0byB0aGUgYnJhbmNoIHRyaWdnZXIgdGhlIHBpcGVsaW5lXG4gICAqL1xuICByZWFkb25seSBnaXRQdXNoRmlsdGVyPzogR2l0UHVzaEZpbHRlcltdO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXJ1biB0aGUgQVdTIENvZGVQaXBlbGluZSBwaXBlbGluZSBhZnRlciB5b3UgdXBkYXRlIGl0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiB0byBlYXNlIENESyBwaXBlbGluZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcGlwZWxpbmU6IENvZGVQaXBlbGluZTtcbiAgcmVhZG9ubHkgcGlwZWxpbmVOb3RpZmljYXRpb25SdWxlPzogUGlwZWxpbmVOb3RpZmljYXRpb25SdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDZGtQaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPSBLZXkuZnJvbUtleUFybih0aGlzLCAnRW5jcnlwdGlvbktleScsIHByb3BzLmtleUFybik7XG5cbiAgICBjb25zdCBhcnRpZmFjdEJ1Y2tldCA9IG5ldyBBcnRpZmFjdEJ1Y2tldCh0aGlzLCAnQXJ0aWZhY3RCdWNrZXQnLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5LFxuICAgICAgYWNjb3VudElkczogcHJvcHMuYWNjb3VudElkcyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHVuZGVybHlpbmdQaXBlbGluZSA9IG5ldyBQaXBlbGluZSh0aGlzLCAnUGlwZWxpbmUnLCB7XG4gICAgICBwaXBlbGluZVR5cGU6IHByb3BzLnBpcGVsaW5lVHlwZSA/PyBQaXBlbGluZVR5cGUuVjIsXG4gICAgICBhcnRpZmFjdEJ1Y2tldCxcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlOiBwcm9wcy5yZXN0YXJ0RXhlY3V0aW9uT25VcGRhdGUsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXQ6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgICBpZiAocHJvcHMuY29ubmVjdGlvbkFybiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb25uZWN0aW9uKHByb3BzLnJlcG9zaXRvcnksIHByb3BzLmJyYW5jaCwge1xuICAgICAgICBjb25uZWN0aW9uQXJuOiBwcm9wcy5jb25uZWN0aW9uQXJuLFxuICAgICAgICAvLyBVc2VkIHBlciB3b3JrYXJvdW5kIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTEzOTkjaXNzdWVjb21tZW50LTEzNjcxODA2OTZcbiAgICAgICAgY29kZUJ1aWxkQ2xvbmVPdXRwdXQ6IHByb3BzLmNvZGVCdWlsZENsb25lT3V0cHV0ID8/IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5yZXBvc2l0b3J5LnN0YXJ0c1dpdGgoJ2FybjonKVxuICAgICAgICA/IFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ1JlcG9zaXRvcnknLCBwcm9wcy5yZXBvc2l0b3J5KVxuICAgICAgICA6IFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlOYW1lKHRoaXMsICdSZXBvc2l0b3J5JywgcHJvcHMucmVwb3NpdG9yeSk7XG4gICAgICBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb2RlQ29tbWl0KHJlcG9zaXRvcnksIHByb3BzLmJyYW5jaCwge1xuICAgICAgICAvLyBVc2VkIHBlciB3b3JrYXJvdW5kIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTEzOTkjaXNzdWVjb21tZW50LTEzNjcxODA2OTZcbiAgICAgICAgY29kZUJ1aWxkQ2xvbmVPdXRwdXQ6IHByb3BzLmNvZGVCdWlsZENsb25lT3V0cHV0ID8/IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2tOYW1lID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIGNvbnN0IGNka0RpcmVjdG9yeSA9IHByb3BzLmNka0RpcmVjdG9yeSA/PyAnLic7XG5cbiAgICBsZXQgY29tbWFuZHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkID0gcHJvcHMuY29tbWFuZHM7XG4gICAgaWYgKFxuICAgICAgY29tbWFuZHMgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgcHJvcHMucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNXG4gICAgKSB7XG4gICAgICBjb21tYW5kcyA9IFtcbiAgICAgICAgYGNkICR7Y2RrRGlyZWN0b3J5ID8/ICcuJ31gLFxuICAgICAgICAnbnBtIC1nIGkgcG5wbScsXG4gICAgICAgICdwbnBtIGkgLS1mcm96ZW4tbG9ja2ZpbGUgLS1wcmVmZXItb2ZmbGluZScsXG4gICAgICAgIC4uLihwcm9wcy5wcmVCdWlsZENvbW1hbmRzID8/IFtdKSxcbiAgICAgICAgJ3BucG0gcnVuIGJ1aWxkJyxcbiAgICAgICAgJ3BucG0gcnVuIHRlc3QnLFxuICAgICAgICBgcG5weCBjZGsgc3ludGggJHtzdGFja05hbWV9YCxcbiAgICAgIF07XG4gICAgfSBlbHNlIGlmIChjb21tYW5kcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb21tYW5kcyA9IFtcbiAgICAgICAgYGNkICR7Y2RrRGlyZWN0b3J5ID8/ICcuJ31gLFxuICAgICAgICAnbnBtIGNpIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAuLi4ocHJvcHMucHJlQnVpbGRDb21tYW5kcyA/PyBbXSksXG4gICAgICAgICducG0gcnVuIGJ1aWxkJyxcbiAgICAgICAgJ25wbSBydW4gdGVzdCcsXG4gICAgICAgIGBucHggY2RrIHN5bnRoICR7c3RhY2tOYW1lfWAsXG4gICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICBjb25zdCBjb2RlQXJ0aWZhY3REb21haW5zID0gcHJvcHMuY29kZUFydGlmYWN0RG9tYWlucz8ubWFwKChkb21haW4pID0+IHtcbiAgICAgIHJldHVybiBkb21haW4uc3RhcnRzV2l0aCgnYXJuOmF3cycpXG4gICAgICAgID8gZG9tYWluXG4gICAgICAgIDogQXJuLmZvcm1hdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VydmljZTogJ2NvZGVhcnRpZmFjdCcsXG4gICAgICAgICAgICAgIHJlc291cmNlOiAnZG9tYWluJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBkb21haW4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcyA9IHByb3BzLmNvZGVBcnRpZmFjdFJlcG9zaXRvcmllcz8ubWFwKFxuICAgICAgKHJlcG9zaXRvcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpXG4gICAgICAgICAgPyByZXBvc2l0b3J5XG4gICAgICAgICAgOiBBcm4uZm9ybWF0KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2VydmljZTogJ2NvZGVhcnRpZmFjdCcsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXBvc2l0b3J5JyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHJlcG9zaXRvcnksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHN0YWNrLFxuICAgICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJvbGVQb2xpY3kgPSBwcm9wcy5yb2xlUG9saWN5ID8/IFtdO1xuICAgIGlmIChjb2RlQXJ0aWZhY3REb21haW5zKSB7XG4gICAgICByb2xlUG9saWN5LnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogY29kZUFydGlmYWN0RG9tYWlucyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ2NvZGVhcnRpZmFjdDpHZXRBdXRob3JpemF0aW9uVG9rZW4nXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgcm9sZVBvbGljeS5wdXNoKFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIGFjdGlvbnM6IFsnc3RzOkdldFNlcnZpY2VCZWFyZXJUb2tlbiddLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMpIHtcbiAgICAgIHJvbGVQb2xpY3kucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpEZXNjcmliZVBhY2thZ2VWZXJzaW9uJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6RGVzY3JpYmVSZXBvc2l0b3J5JyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6R2V0UGFja2FnZVZlcnNpb25SZWFkbWUnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpHZXRSZXBvc2l0b3J5RW5kcG9pbnQnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpMaXN0UGFja2FnZXMnLFxuICAgICAgICAgICAgJ2NvZGVhcnRpZmFjdDpMaXN0UGFja2FnZVZlcnNpb25zJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9uQXNzZXRzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9uRGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6UmVhZEZyb21SZXBvc2l0b3J5JyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5waXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgJ0NvZGVQaXBlbGluZScsIHtcbiAgICAgIGNvZGVQaXBlbGluZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgc2VsZk11dGF0aW9uOiBwcm9wcy5zZWxmTXV0YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTeW50aDpcbiAgICAgICAgcHJvcHMuZG9ja2VyRW5hYmxlZEZvclN5bnRoID8/XG4gICAgICAgICEocHJvcHMuY29tcHV0ZVR5cGU/LmluY2x1ZGVzKCdMQU1CREEnKSA/PyBmYWxzZSksXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uOlxuICAgICAgICBwcm9wcy5kb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uID8/XG4gICAgICAgICEocHJvcHMuY29tcHV0ZVR5cGU/LmluY2x1ZGVzKCdMQU1CREEnKSA/PyBmYWxzZSksXG4gICAgICBwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbDogcHJvcHMucHVibGlzaEFzc2V0c0luUGFyYWxsZWwgPz8gZmFsc2UsXG4gICAgICBzeW50aDogbmV3IFNoZWxsU3RlcCgnU3ludGgnLCB7XG4gICAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IGAke2Nka0RpcmVjdG9yeX0vY2RrLm91dGAsXG4gICAgICAgIGlucHV0LFxuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgYWRkaXRpb25hbElucHV0czogcHJvcHMuYWRkaXRpb25hbElucHV0cyA/PyB7fSxcbiAgICAgIH0pLFxuICAgICAgc3ludGhDb2RlQnVpbGREZWZhdWx0czoge1xuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgIHBhdGhzOiBbXG4gICAgICAgICAgICAgIC8vIEFic29sdXRlIHBhdGhzIChmb3Igc3RhbmRhcmQgY29tcHV0ZSB0eXBlcylcbiAgICAgICAgICAgICAgJy9yb290Ly5ucG0vKiovKicsXG4gICAgICAgICAgICAgICcvcm9vdC8ubG9jYWwvc2hhcmUvcG5wbS9zdG9yZS8qKi8qJyxcbiAgICAgICAgICAgICAgJy9yb290Ly5wbnBtLXN0b3JlLyoqLyonLFxuICAgICAgICAgICAgICAvLyBSZWxhdGl2ZSBwYXRocyAoZm9yIExhbWJkYSBjb21wdXRlIHR5cGVzKVxuICAgICAgICAgICAgICAnLm5wbS8qKi8qJyxcbiAgICAgICAgICAgICAgJy5sb2NhbC9zaGFyZS9wbnBtL3N0b3JlLyoqLyonLFxuICAgICAgICAgICAgICAnLnBucG0tc3RvcmUvKiovKicsXG4gICAgICAgICAgICAgIC8vIE5vZGUgbW9kdWxlcyAod29ya3MgZm9yIGJvdGgpXG4gICAgICAgICAgICAgICdub2RlX21vZHVsZXMvKiovKicsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgICdydW50aW1lLXZlcnNpb25zJzoge1xuICAgICAgICAgICAgICAgIG5vZGVqczogcHJvcHMubm9kZVZlcnNpb24gPz8gTm9kZVZlcnNpb24uTk9ERV8yNCxcbiAgICAgICAgICAgICAgICBnbzogcHJvcHMuZ29WZXJzaW9uLFxuICAgICAgICAgICAgICAgIGphdmE6IHByb3BzLmphdmFWZXJzaW9uLFxuICAgICAgICAgICAgICAgIGRvdG5ldDogcHJvcHMuZG90bmV0VmVyc2lvbixcbiAgICAgICAgICAgICAgICBweXRob246IHByb3BzLnB5dGhvblZlcnNpb24sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICdjb21tYW5kcyc6IFsnbnBtIGNvbmZpZyBzZXQgZnVuZCBmYWxzZScsICducG0gLWcgaSBlc2J1aWxkJ11cbiAgICAgICAgICAgICAgICAuY29uY2F0KHByb3BzLmFkZGl0aW9uYWxJbnN0YWxsQ29tbWFuZHMgPz8gW10pXG4gICAgICAgICAgICAgICAgLmNvbmNhdChbJ25vZGUgLS12ZXJzaW9uJ10pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIC8vIFByaXZpbGVnZWQgbW9kZSBpcyBub3QgYWxsb3dlZCBpbiBsYW1iZGFcbiAgICAgICAgICBwcml2aWxlZ2VkOiAhKHByb3BzLmNvbXB1dGVUeXBlPy5pbmNsdWRlcygnTEFNQkRBJykgPz8gZmFsc2UpLFxuICAgICAgICAgIGNvbXB1dGVUeXBlOiBwcm9wcy5jb21wdXRlVHlwZSA/PyBDb21wdXRlVHlwZS5TTUFMTCxcbiAgICAgICAgICBidWlsZEltYWdlOiBwcm9wcy5idWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl81LFxuICAgICAgICB9LFxuICAgICAgICByb2xlUG9saWN5LFxuICAgICAgfSxcbiAgICAgIGFzc2V0UHVibGlzaGluZ0NvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIHBhcnRpYWxCdWlsZFNwZWM6IEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAuLi4oKHByb3BzLmVuYWJsZURvY2tlckJ1aWxkeE9uQXNzZXRQdWJsaXNoID8/IHRydWUpXG4gICAgICAgICAgICAgICAgPyB7Q0RLX0RPQ0tFUjogJy91c3IvbG9jYWwvYmluL2J1aWxkeC5zaCd9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgIGNvbW1hbmRzOlxuICAgICAgICAgICAgICAgIChwcm9wcy5lbmFibGVEb2NrZXJCdWlsZHhPbkFzc2V0UHVibGlzaCA/PyB0cnVlKVxuICAgICAgICAgICAgICAgICAgPyBET0NLRVJfQlVJTERYX1NFVFVQX0NPTU1BTkRTXG4gICAgICAgICAgICAgICAgICA6IFtdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIC8vIFByaXZpbGVnZWQgbW9kZSBpcyBub3QgYWxsb3dlZCBpbiBsYW1iZGFcbiAgICAgICAgICBwcml2aWxlZ2VkOiAhKHByb3BzLmNvbXB1dGVUeXBlPy5pbmNsdWRlcygnTEFNQkRBJykgPz8gZmFsc2UpLFxuICAgICAgICAgIGNvbXB1dGVUeXBlOiBwcm9wcy5jb21wdXRlVHlwZSA/PyBDb21wdXRlVHlwZS5TTUFMTCxcbiAgICAgICAgICBidWlsZEltYWdlOiBwcm9wcy5idWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl81LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIERpc2FibGUgYXV0b21hdGljIHRyaWdnZXJpbmcgaWYgcmVxdWVzdGVkXG4gICAgaWYgKHByb3BzLmRpc2FibGVBdXRvVHJpZ2dlcikge1xuICAgICAgY29uc3QgY2ZuUGlwZWxpbmUgPSB1bmRlcmx5aW5nUGlwZWxpbmUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUGlwZWxpbmU7XG4gICAgICBjZm5QaXBlbGluZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFxuICAgICAgICAnU3RhZ2VzLjAuQWN0aW9ucy4wLkNvbmZpZ3VyYXRpb24uVHJpZ2dlckNvbmZpZ3VyYXRpb24nLFxuICAgICAgICB7XG4gICAgICAgICAgUHJvdmlkZXJUeXBlOiAnQ29kZVN0YXJTb3VyY2VDb25uZWN0aW9uJyxcbiAgICAgICAgICBUcmlnZ2VyRXZlbnRzOiAnTk9ORScsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEFwcGx5IEdpdFB1c2hGaWx0ZXIgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZ2l0UHVzaEZpbHRlciAmJiBwcm9wcy5naXRQdXNoRmlsdGVyLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNmblBpcGVsaW5lID0gdW5kZXJseWluZ1BpcGVsaW5lLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblBpcGVsaW5lO1xuICAgICAgY2ZuUGlwZWxpbmUuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgICAgJ1N0YWdlcy4wLkFjdGlvbnMuMC5Db25maWd1cmF0aW9uLlRyaWdnZXJDb25maWd1cmF0aW9uLkdpdENvbmZpZ3VyYXRpb24uUHVzaCcsXG4gICAgICAgIHByb3BzLmdpdFB1c2hGaWx0ZXIubWFwKChmaWx0ZXIpID0+ICh7XG4gICAgICAgICAgQnJhbmNoZXM6IGZpbHRlci5icmFuY2hlc0luY2x1ZGVzXG4gICAgICAgICAgICA/IHtJbmNsdWRlczogZmlsdGVyLmJyYW5jaGVzSW5jbHVkZXN9XG4gICAgICAgICAgICA6IGZpbHRlci5icmFuY2hlc0V4Y2x1ZGVzXG4gICAgICAgICAgICAgID8ge0V4Y2x1ZGVzOiBmaWx0ZXIuYnJhbmNoZXNFeGNsdWRlc31cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgRmlsZVBhdGhzOiBmaWx0ZXIuZmlsZVBhdGhzSW5jbHVkZXNcbiAgICAgICAgICAgID8ge0luY2x1ZGVzOiBmaWx0ZXIuZmlsZVBhdGhzSW5jbHVkZXN9XG4gICAgICAgICAgICA6IGZpbHRlci5maWxlUGF0aHNFeGNsdWRlc1xuICAgICAgICAgICAgICA/IHtFeGNsdWRlczogZmlsdGVyLmZpbGVQYXRoc0V4Y2x1ZGVzfVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBUYWdzOiBmaWx0ZXIudGFnc0luY2x1ZGVzXG4gICAgICAgICAgICA/IHtJbmNsdWRlczogZmlsdGVyLnRhZ3NJbmNsdWRlc31cbiAgICAgICAgICAgIDogZmlsdGVyLnRhZ3NFeGNsdWRlc1xuICAgICAgICAgICAgICA/IHtFeGNsdWRlczogZmlsdGVyLnRhZ3NFeGNsdWRlc31cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHBpcGVsaW5lIG5vdGlmaWNhdGlvbnNcbiAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiAmJiBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdPbmx5IG9uZSBvZiBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIGFuZCBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuIGNhbiBiZSBzcGVjaWZpZWQnLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm5vdGlmaWNhdGlvblRvcGljICYmIHByb3BzLm5vdGlmaWNhdGlvblRvcGljQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdPbmx5IG9uZSBvZiBub3RpZmljYXRpb25Ub3BpYyBhbmQgbm90aWZpY2F0aW9uVG9waWNBcm4gY2FuIGJlIHNwZWNpZmllZCcsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIHx8XG4gICAgICBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuIHx8XG4gICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0FybiB8fFxuICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNcbiAgICApIHtcbiAgICAgIHRoaXMucGlwZWxpbmVOb3RpZmljYXRpb25SdWxlID0gbmV3IFBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ05vdGlmaWNhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBldmVudHM6IHByb3BzLm5vdGlmaWNhdGlvbkV2ZW50cyxcbiAgICAgICAgICBzb3VyY2U6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRTbGFja0NoYW5uZWwoXG4gICAgICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRTbGFja0NoYW5uZWxBcm4oXG4gICAgICAgICAgJ1NsYWNrQ2hhbm5lbCcsXG4gICAgICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpYykge1xuICAgICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZS5hZGRUb3BpYyhwcm9wcy5ub3RpZmljYXRpb25Ub3BpYyk7XG4gICAgICAgIHByb3BzLm5vdGlmaWNhdGlvblRvcGljLmdyYW50UHVibGlzaCh1bmRlcmx5aW5nUGlwZWxpbmUucm9sZSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLm5vdGlmaWNhdGlvblRvcGljQXJuKSB7XG4gICAgICAgIGNvbnN0IHRvcGljID0gdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkVG9waWNBcm4oXG4gICAgICAgICAgJ05vdGlmaWNhdGlvblRvcGljJyxcbiAgICAgICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0FybixcbiAgICAgICAgKTtcbiAgICAgICAgdG9waWMuZ3JhbnRQdWJsaXNoKHVuZGVybHlpbmdQaXBlbGluZS5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRTdGFnZShzdGFnZTogU3RhZ2UsIG9wdGlvbnM/OiBBZGRTdGFnZU9wdHMpOiBTdGFnZURlcGxveW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFN0YWdlKHN0YWdlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFkZFdhdmUoaWQ6IHN0cmluZywgb3B0aW9ucz86IFdhdmVPcHRpb25zKTogV2F2ZSB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkV2F2ZShpZCwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy1jb2RlcGlwZWxpbmUvbGliL2Nkay1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsbUVBS3NDO0FBQ3RDLGlEQUF3QztBQUN4Qyx1REFBaUQ7QUFDakQscURBUytCO0FBQy9CLDZEQUttQztBQUNuQyw2RUFBc0U7QUFDdEUsNkNBQThDO0FBQzlDLCtEQUFzRDtBQUN0RCxtQ0FBMkM7QUFDM0MsaURBQTREO0FBSTVEOzs7R0FHRztBQUNILElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQiw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtJQUNkLDZCQUFjLENBQUE7SUFDZCw2QkFBYyxDQUFBO0lBQ2QsNkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBTlcsV0FBVywyQkFBWCxXQUFXLFFBTXRCO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSxTQWFYO0FBYkQsV0FBWSxTQUFTO0lBQ25CLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0lBQ2hCLDZCQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFiVyxTQUFTLHlCQUFULFNBQVMsUUFhcEI7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsbUNBQW9CLENBQUE7SUFDcEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7SUFDdEIscUNBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQU5XLFdBQVcsMkJB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QW9CLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FDckQsbUJBQW1CLEVBQ25CLEtBQUssQ0FBQyxvQkFBb0IsQ0FDM0IsQ0FBQztnQkFDRixLQUFLLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBc0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBblRELGtDQW1UQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIENmblBpcGVsaW5lLFxuICBHaXRQdXNoRmlsdGVyLFxuICBQaXBlbGluZSxcbiAgUGlwZWxpbmVUeXBlLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lJztcbmltcG9ydCB7S2V5fSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB7QXJ0aWZhY3RCdWNrZXR9IGZyb20gJy4vYXJ0aWZhY3QtYnVja2V0JztcbmltcG9ydCB7XG4gIEFkZFN0YWdlT3B0cyxcbiAgQ29kZVBpcGVsaW5lLFxuICBDb2RlUGlwZWxpbmVTb3VyY2UsXG4gIElGaWxlU2V0UHJvZHVjZXIsXG4gIFNoZWxsU3RlcCxcbiAgU3RhZ2VEZXBsb3ltZW50LFxuICBXYXZlLFxuICBXYXZlT3B0aW9ucyxcbn0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7XG4gIEJ1aWxkU3BlYyxcbiAgQ29tcHV0ZVR5cGUsXG4gIElCdWlsZEltYWdlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0IHtQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGV9IGZyb20gJy4vcGlwZWxpbmUtbm90aWZpY2F0aW9uLXJ1bGUnO1xuaW1wb3J0IHtBcm4sIFN0YWNrLCBTdGFnZX0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtSZXBvc2l0b3J5fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQge05vZGVQYWNrYWdlTWFuYWdlcn0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQge0VmZmVjdCwgUG9saWN5U3RhdGVtZW50fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7SVNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb259IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jaGF0Ym90JztcbmltcG9ydCB7SVRvcGljfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcblxuLyoqXG4gKiBOb2RlIHJ1bnRpbWVzIHN1cHBvcnRlZCBieSBDb2RlYkJ1aWxkXG4gKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVidWlsZC9sYXRlc3QvdXNlcmd1aWRlL2F2YWlsYWJsZS1ydW50aW1lcy5odG1sXG4gKi9cbmV4cG9ydCBlbnVtIE5vZGVWZXJzaW9uIHtcbiAgTk9ERV8xNiA9ICcxNicsXG4gIE5PREVfMTggPSAnMTgnLFxuICBOT0RFXzIwID0gJzIwJyxcbiAgTk9ERV8yMiA9ICcyMicsXG4gIE5PREVfMjQgPSAnMjQnLFxufVxuXG4vKipcbiAqIEdvIHJ1bnRpbWVzIHN1cHBvcnRlZCBieSBDb2RlQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gR29WZXJzaW9uIHtcbiAgR09fMV8xMiA9ICcxLjEyJyxcbiAgR09fMV8xMyA9ICcxLjEzJyxcbiAgR09fMV8xNCA9ICcxLjE0JyxcbiAgR09fMV8xNSA9ICcxLjE1JyxcbiAgR09fMV8xNiA9ICcxLjE2JyxcbiAgR09fMV8xNyA9ICcxLjE3JyxcbiAgR09fMV8xOCA9ICcxLjE4JyxcbiAgR09fMV8yMCA9ICcxLjIwJyxcbiAgR09fMV8yMSA9ICcxLjIxJyxcbiAgR09fMV8yMiA9ICcxLjIyJyxcbiAgR09fMV8yMyA9ICcxLjIzJyxcbiAgR09fMV8yNCA9ICcxLjI0Jyxcbn1cblxuLyoqXG4gKiBKYXZhIHJ1bnRpbWVzIHN1cHBvcnRlZCBieSBDb2RlQnVpbGRcbiAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZWJ1aWxkL2xhdGVzdC91c2VyZ3VpZGUvYXZhaWxhYmxlLXJ1bnRpbWVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gSmF2YVZlcnNpb24ge1xuICBKQVZBXzggPSAnY29ycmV0dG84JyxcbiAgSkFWQV8xMSA9ICdjb3JyZXR0bzExJyxcbiAgSkFWQV8xNiA9ICdjb3JyZXR0bzE3JyxcbiAgSkFWQV8yMSA9ICdjb3JyZXR0bzIxJyxcbiAgSkFWQV8yNSA9ICdjb3JyZXR0bzI1Jyxcbn1cblxuLyoqXG4gKiBEb3RuZXQgcnVudGltZXMgc3VwcG9ydGVkIGJ5IENvZGVCdWlsZFxuICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlYnVpbGQvbGF0ZXN0L3VzZXJndWlkZS9hdmFpbGFibGUtcnVudGltZXMuaHRtbGRvdG5ldFxuICovXG5leHBvcnQgZW51bSBEb3RuZXRWZXJzaW9uIHtcbiAgRE9UTkVUXzNfMSA9ICczLjEnLFxuICBET1RORVRfNV8wID0gJzUuMCcsXG4gIERPVE5FVF82XzAgPSAnNi4wJyxcbiAgRE9UTkVUXzhfMCA9ICc4LjAnLFxufVxuXG5leHBvcnQgZW51bSBQeXRob25WZXJzaW9uIHtcbiAgUFlUSE9OXzNfNyA9ICczLjcnLFxuICBQWVRIT05fM184ID0gJzMuOCcsXG4gIFBZVEhPTl8zXzkgPSAnMy45JyxcbiAgUFlUSE9OXzNfMTAgPSAnMy4xMCcsXG4gIFBZVEhPTl8zXzExID0gJzMuMTEnLFxuICBQWVRIT05fM18xMiA9ICczLjEyJyxcbiAgUFlUSE9OXzNfMTMgPSAnMy4xMycsXG4gIFBZVEhPTl8zXzE0ID0gJzMuMTQnLFxufVxuXG5jb25zdCBET0NLRVJfQlVJTERYX1NFVFVQX0NPTU1BTkRTID0gW1xuICBcImVjaG8gJyMhL2Jpbi9iYXNoJyA+IC91c3IvbG9jYWwvYmluL2J1aWxkeC5zaFwiLFxuICAnZWNobyBcXCdbWyBcIiQxXCIgPT0gXCJidWlsZFwiIF1dICYmIGRvY2tlciBidWlsZHggYnVpbGQgLS1sb2FkIFwiJHtAOjJ9XCIgfHwgZG9ja2VyIFwiJEBcIlxcJyA+PiAvdXNyL2xvY2FsL2Jpbi9idWlsZHguc2gnLFxuICAnY2htb2QgK3ggL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoJyxcbiAgJ2VjaG8gXCJBcmNoaXRlY3R1cmU6ICQodW5hbWUgLW0pXCInLFxuICAnZG9ja2VyIGJ1aWxkeCBjcmVhdGUgLS11c2UgLS1uYW1lIG11bHRpLWFyY2gtYnVpbGRlcicsXG4gICdkb2NrZXIgYnVpbGR4IGxzJyxcbl07XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQ2RrUGlwZWxpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtQaXBlbGluZVByb3BzIHtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIENESyB3aWxsIG5hbWUgdGhlIHBpcGVsaW5lLiBTZXQgdGhpcyB0byBvdmVycmlkZSB0aGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lTmFtZT86IHN0cmluZztcblxuICByZWFkb25seSBwaXBlbGluZVR5cGU/OiBQaXBlbGluZVR5cGU7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIENESyB3aWxsIGNyZWF0ZSBLTVMga2V5cyBmb3IgY3Jvc3MgYWNjb3VudCBkZXBsb3ltZW50cy4gVGhpc1xuICAgKiBjYW4gYmUgY29zdGx5IGlmIHlvdSBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIHBpcGVsaW5lcy4gVGhpcyBwcm9wZXJ0eVxuICAgKiBhbGxvd3MgYSBjb21tb24ga2V5IHRvIGJlIHNoYXJlZCBhY3Jvc3MgcGlwZWxpbmVzLlxuICAgKlxuICAgKiBZb3UgbXVzdCBjaGFuZ2UgQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpjcm9zc0FjY291bnRLZXlzRGVmYXVsdFZhbHVlVG9GYWxzZSB0byBmYWxzZSBpbiB5b3VyIGNkay5qc29uXG4gICAqIGZpbGUgdG8gYXZvaWQgZXJyb3JzLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgYWNjb3VudCBJRHMgdGhpcyBwaXBlbGluZSB3aWxsIGRlcGxveSBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBcm4gb2YgdGhlIENvZGVTdGFyIGNvbm5lY3Rpb24gdXNlZCB0byBhY2Nlc3MgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuIElmIG5vdCBzZXQsIHRoaXNcbiAgICogY29uc3RydWN0IGFzc3VtZXMgdGhlIHJlcG9zaXRvcnkgaXMgaW4gQVdTIENvZGVDb21taXQuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdXNlIGluc2lkZSB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzZWxmLW11dGF0aW9uLiBVc2VmdWwgZm9yIGNkayBwaXBlbGluZSBkZXZlbG9wbWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZk11dGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGRvY2tlciBmb3IgdGhlICdzeW50aCcgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclN5bnRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGRvY2tlciBmb3IgdGhlIHNlbGYtbXV0YXRlIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckVuYWJsZWRGb3JTZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGNvbXB1dGUgdG8gdXNlIGZvciB0aGlzIGJ1aWxkLiBEZWZhdWx0IGlzIENvbXB1dGVUeXBlLlNNQUxMLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHV0ZVR5cGU/OiBDb21wdXRlVHlwZTtcblxuICAvKipcbiAgICogVGhlIGltYWdlIHRvIHVzZSBmb3IgYnVpbGRzLiBJZiBub25lIGlzIHNlbGVjdGVkIHRoZSBkZWZhdWx0IGRlZmluZWQgaW4gQVdTIENESyBpcyB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZT86IElCdWlsZEltYWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBTbGFjayBjaGFubmVsIGNvbmZpZ3VyYXRpb24gdG8gdXNlIGZvciBub3RpZmljYXRpb25zLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4uXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uPzogSVNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdG8gdXNlIGZvciBub3RpZmljYXRpb25zLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBub3RpZmljYXRpb25Ub3BpYy5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRvcGljQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggbm90aWZpY2F0aW9uVG9waWNBcm4uXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25Ub3BpYz86IElUb3BpYztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygbm90aWZpY2F0aW9uIGV2ZW50cyB0byByZWNlaXZlLkRlZmF1bHQgaXMgREVGQVVMVF9FVkVOVFNcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZHRjb25zb2xlL2xhdGVzdC91c2VyZ3VpZGUvY29uY2VwdHMuaHRtbCNldmVudHMtcmVmLXBpcGVsaW5lXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25FdmVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBGaWxlU2V0cyB0byBwdXQgaW4gb3RoZXIgZGlyZWN0b3JpZXNcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxJbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCBJRmlsZVNldFByb2R1Y2VyPjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gYmVmb3JlIGluc3RhbGwuIElmIHlvdSBvdmVycmlkZSB0aGUgY29tbWFuZHMgcHJvcGVydHksIHRoaXMgaGFzIG5vIGVmZmVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHByZUJ1aWxkQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIGRlZmF1bHQgY29tbWFuZHMuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgYXNzZXRzIGluIG11bHRpcGxlIENvZGVCdWlsZCBwcm9qZWN0cy4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hBc3NldHNJblBhcmFsbGVsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGFja2FnZSBtYW5hZ2VyIHRvIHVzZSB3aGVuIGV4ZWN1dGluZyBDREsuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IE5vZGVQYWNrYWdlTWFuYWdlcjtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0aGUgQ0RLIHByb2plY3QgaXMgbG9jYXRlZCBpbiB0aGUgcmVwby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBcIi5cIlxuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb2xpY3kgc3RhdGVtZW50cyB0byBhZGQgdG8gdGhlIHJvbGUgdXNlZCBieSBzeW50aC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVQb2xpY3k/OiBQb2xpY3lTdGF0ZW1lbnRbXTtcblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQgYWNjZXNzIHRvIHRoZSBwcm92aWRlZCBBV1MgQ29kZUFydGlmYWN0IGRvbWFpbnMuXG4gICAqL1xuICByZWFkb25seSBjb2RlQXJ0aWZhY3REb21haW5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkIGFjY2VzcyB0byB0aGUgcHJvdmlkZWQgQVdTIENvZGVBcnRpZmFjdCByZXBvc2l0b3JpZXMuXG4gICAqL1xuICByZWFkb25seSBjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBOb2RlIHRvIHVzZSBpbiB0aGUgcGlwZWxpbmUuIERlZmF1bHQgaXMgTk9ERV8yMFxuICAgKi9cbiAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBOb2RlVmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBHbyB0byBpbnN0YWxsLiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBnb1ZlcnNpb24/OiBHb1ZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgSmF2YSB0byBpbnN0YWxsLiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBqYXZhVmVyc2lvbj86IEphdmFWZXJzaW9uIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIERvdG5ldCB0byBpbnN0YWxsLiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBkb3RuZXRWZXJzaW9uPzogRG90bmV0VmVyc2lvbiB8IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBQeXRob24gdG8gaW5zdGFsbC4gRGVmYXVsdCBpcyBub25lLlxuICAgKi9cbiAgcmVhZG9ubHkgcHl0aG9uVmVyc2lvbj86IFB5dGhvblZlcnNpb24gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29tbWFuZHMgdG8gcnVuIGR1cmluZyB0aGUgaW5zdGFsbCBwaGFzZS5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxJbnN0YWxsQ29tbWFuZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjbG9uZSB0aGUgQ29kZUNvbW1pdCByZXBvc2l0b3J5IGludG8gdGhlIENvZGVCdWlsZCBwcm9qZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUJ1aWxkQ2xvbmVPdXRwdXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSB1c2Ugb2YgXCJkb2NrZXIgYnVpbGR4XCIgaW4gdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RlcC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRG9ja2VyQnVpbGR4T25Bc3NldFB1Ymxpc2g/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIGF1dG9tYXRpYyB0cmlnZ2VyaW5nIG9uIHNvdXJjZSBjb2RlIGNoYW5nZXMuIFdoZW4gdHJ1ZSwgdGhlIHBpcGVsaW5lXG4gICAqIG11c3QgYmUgbWFudWFsbHkgc3RhcnRlZC4gVXNlZnVsIGZvciBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlIChhdXRvLXRyaWdnZXIgZW5hYmxlZClcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVBdXRvVHJpZ2dlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdpdCBwdXNoIGZpbHRlciBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUgdHJpZ2dlci5cbiAgICogQWxsb3dzIGZpbHRlcmluZyB3aGljaCBnaXQgZXZlbnRzIHRyaWdnZXIgdGhlIHBpcGVsaW5lIGJhc2VkIG9uIGJyYW5jaCBwYXR0ZXJucyxcbiAgICogZmlsZSBwYXRocywgb3IgdGFnIHBhdHRlcm5zLiBPbmx5IGFwcGxpY2FibGUgd2hlbiB1c2luZyBDb2RlU3RhciBjb25uZWN0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBmaWx0ZXJpbmcsIGFsbCBwdXNoZXMgdG8gdGhlIGJyYW5jaCB0cmlnZ2VyIHRoZSBwaXBlbGluZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0UHVzaEZpbHRlcj86IEdpdFB1c2hGaWx0ZXJbXTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gcmVydW4gdGhlIEFXUyBDb2RlUGlwZWxpbmUgcGlwZWxpbmUgYWZ0ZXIgeW91IHVwZGF0ZSBpdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc3RhcnRFeGVjdXRpb25PblVwZGF0ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gYWJzdHJhY3Rpb24gdG8gZWFzZSBDREsgcGlwZWxpbmUgY3JlYXRpb24gYW5kIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtQaXBlbGluZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHBpcGVsaW5lOiBDb2RlUGlwZWxpbmU7XG4gIHJlYWRvbmx5IHBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZT86IFBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2RrUGlwZWxpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBlbmNyeXB0aW9uS2V5ID0gS2V5LmZyb21LZXlBcm4odGhpcywgJ0VuY3J5cHRpb25LZXknLCBwcm9wcy5rZXlBcm4pO1xuXG4gICAgY29uc3QgYXJ0aWZhY3RCdWNrZXQgPSBuZXcgQXJ0aWZhY3RCdWNrZXQodGhpcywgJ0FydGlmYWN0QnVja2V0Jywge1xuICAgICAgZW5jcnlwdGlvbktleSxcbiAgICAgIGFjY291bnRJZHM6IHByb3BzLmFjY291bnRJZHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmRlcmx5aW5nUGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUodGhpcywgJ1BpcGVsaW5lJywge1xuICAgICAgcGlwZWxpbmVUeXBlOiBwcm9wcy5waXBlbGluZVR5cGUgPz8gUGlwZWxpbmVUeXBlLlYyLFxuICAgICAgYXJ0aWZhY3RCdWNrZXQsXG4gICAgICBwaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgIHJlc3RhcnRFeGVjdXRpb25PblVwZGF0ZTogcHJvcHMucmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlLFxuICAgIH0pO1xuXG4gICAgbGV0IGlucHV0OiBDb2RlUGlwZWxpbmVTb3VyY2U7XG4gICAgaWYgKHByb3BzLmNvbm5lY3Rpb25Bcm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihwcm9wcy5yZXBvc2l0b3J5LCBwcm9wcy5icmFuY2gsIHtcbiAgICAgICAgY29ubmVjdGlvbkFybjogcHJvcHMuY29ubmVjdGlvbkFybixcbiAgICAgICAgLy8gVXNlZCBwZXIgd29ya2Fyb3VuZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzExMzk5I2lzc3VlY29tbWVudC0xMzY3MTgwNjk2XG4gICAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBwcm9wcy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXBvc2l0b3J5ID0gcHJvcHMucmVwb3NpdG9yeS5zdGFydHNXaXRoKCdhcm46JylcbiAgICAgICAgPyBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5QXJuKHRoaXMsICdSZXBvc2l0b3J5JywgcHJvcHMucmVwb3NpdG9yeSlcbiAgICAgICAgOiBSZXBvc2l0b3J5LmZyb21SZXBvc2l0b3J5TmFtZSh0aGlzLCAnUmVwb3NpdG9yeScsIHByb3BzLnJlcG9zaXRvcnkpO1xuICAgICAgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29kZUNvbW1pdChyZXBvc2l0b3J5LCBwcm9wcy5icmFuY2gsIHtcbiAgICAgICAgLy8gVXNlZCBwZXIgd29ya2Fyb3VuZCBpbiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzExMzk5I2lzc3VlY29tbWVudC0xMzY3MTgwNjk2XG4gICAgICAgIGNvZGVCdWlsZENsb25lT3V0cHV0OiBwcm9wcy5jb2RlQnVpbGRDbG9uZU91dHB1dCA/PyBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrTmFtZSA9IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZTtcbiAgICBjb25zdCBjZGtEaXJlY3RvcnkgPSBwcm9wcy5jZGtEaXJlY3RvcnkgPz8gJy4nO1xuXG4gICAgbGV0IGNvbW1hbmRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IHByb3BzLmNvbW1hbmRzO1xuICAgIGlmIChcbiAgICAgIGNvbW1hbmRzID09PSB1bmRlZmluZWQgJiZcbiAgICAgIHByb3BzLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTVxuICAgICkge1xuICAgICAgY29tbWFuZHMgPSBbXG4gICAgICAgIGBjZCAke2Nka0RpcmVjdG9yeSA/PyAnLid9YCxcbiAgICAgICAgJ25wbSAtZyBpIHBucG0nLFxuICAgICAgICAncG5wbSBpIC0tZnJvemVuLWxvY2tmaWxlIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAuLi4ocHJvcHMucHJlQnVpbGRDb21tYW5kcyA/PyBbXSksXG4gICAgICAgICdwbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICdwbnBtIHJ1biB0ZXN0JyxcbiAgICAgICAgYHBucHggY2RrIHN5bnRoICR7c3RhY2tOYW1lfWAsXG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoY29tbWFuZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29tbWFuZHMgPSBbXG4gICAgICAgIGBjZCAke2Nka0RpcmVjdG9yeSA/PyAnLid9YCxcbiAgICAgICAgJ25wbSBjaSAtLXByZWZlci1vZmZsaW5lJyxcbiAgICAgICAgLi4uKHByb3BzLnByZUJ1aWxkQ29tbWFuZHMgPz8gW10pLFxuICAgICAgICAnbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICducG0gcnVuIHRlc3QnLFxuICAgICAgICBgbnB4IGNkayBzeW50aCAke3N0YWNrTmFtZX1gLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgY29uc3QgY29kZUFydGlmYWN0RG9tYWlucyA9IHByb3BzLmNvZGVBcnRpZmFjdERvbWFpbnM/Lm1hcCgoZG9tYWluKSA9PiB7XG4gICAgICByZXR1cm4gZG9tYWluLnN0YXJ0c1dpdGgoJ2Fybjphd3MnKVxuICAgICAgICA/IGRvbWFpblxuICAgICAgICA6IEFybi5mb3JtYXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgICByZXNvdXJjZTogJ2RvbWFpbicsXG4gICAgICAgICAgICAgIHJlc291cmNlTmFtZTogZG9tYWluLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YWNrLFxuICAgICAgICAgICk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXMgPSBwcm9wcy5jb2RlQXJ0aWZhY3RSZXBvc2l0b3JpZXM/Lm1hcChcbiAgICAgIChyZXBvc2l0b3J5KSA9PiB7XG4gICAgICAgIHJldHVybiByZXBvc2l0b3J5LnN0YXJ0c1dpdGgoJ2Fybjphd3MnKVxuICAgICAgICAgID8gcmVwb3NpdG9yeVxuICAgICAgICAgIDogQXJuLmZvcm1hdChcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgICAgIHJlc291cmNlOiAncmVwb3NpdG9yeScsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiByZXBvc2l0b3J5LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzdGFjayxcbiAgICAgICAgICAgICk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCByb2xlUG9saWN5ID0gcHJvcHMucm9sZVBvbGljeSA/PyBbXTtcbiAgICBpZiAoY29kZUFydGlmYWN0RG9tYWlucykge1xuICAgICAgcm9sZVBvbGljeS5wdXNoKFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IGNvZGVBcnRpZmFjdERvbWFpbnMsXG4gICAgICAgICAgYWN0aW9uczogWydjb2RlYXJ0aWZhY3Q6R2V0QXV0aG9yaXphdGlvblRva2VuJ10sXG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHJvbGVQb2xpY3kucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3N0czpHZXRTZXJ2aWNlQmVhcmVyVG9rZW4nXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY29kZUFydGlmYWN0UmVwb3NpdG9yaWVzKSB7XG4gICAgICByb2xlUG9saWN5LnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogY29kZUFydGlmYWN0UmVwb3NpdG9yaWVzLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6RGVzY3JpYmVQYWNrYWdlVmVyc2lvbicsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OkRlc2NyaWJlUmVwb3NpdG9yeScsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OkdldFBhY2thZ2VWZXJzaW9uUmVhZG1lJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6R2V0UmVwb3NpdG9yeUVuZHBvaW50JyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VzJyxcbiAgICAgICAgICAgICdjb2RlYXJ0aWZhY3Q6TGlzdFBhY2thZ2VWZXJzaW9ucycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0Okxpc3RQYWNrYWdlVmVyc2lvbkFzc2V0cycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0Okxpc3RQYWNrYWdlVmVyc2lvbkRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAnY29kZWFydGlmYWN0OlJlYWRGcm9tUmVwb3NpdG9yeScsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucGlwZWxpbmUgPSBuZXcgQ29kZVBpcGVsaW5lKHRoaXMsICdDb2RlUGlwZWxpbmUnLCB7XG4gICAgICBjb2RlUGlwZWxpbmU6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgIHNlbGZNdXRhdGlvbjogcHJvcHMuc2VsZk11dGF0aW9uID8/IHRydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU3ludGg6XG4gICAgICAgIHByb3BzLmRvY2tlckVuYWJsZWRGb3JTeW50aCA/P1xuICAgICAgICAhKHByb3BzLmNvbXB1dGVUeXBlPy5pbmNsdWRlcygnTEFNQkRBJykgPz8gZmFsc2UpLFxuICAgICAgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbjpcbiAgICAgICAgcHJvcHMuZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbiA/P1xuICAgICAgICAhKHByb3BzLmNvbXB1dGVUeXBlPy5pbmNsdWRlcygnTEFNQkRBJykgPz8gZmFsc2UpLFxuICAgICAgcHVibGlzaEFzc2V0c0luUGFyYWxsZWw6IHByb3BzLnB1Ymxpc2hBc3NldHNJblBhcmFsbGVsID8/IGZhbHNlLFxuICAgICAgc3ludGg6IG5ldyBTaGVsbFN0ZXAoJ1N5bnRoJywge1xuICAgICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiBgJHtjZGtEaXJlY3Rvcnl9L2Nkay5vdXRgLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgY29tbWFuZHMsXG4gICAgICAgIGFkZGl0aW9uYWxJbnB1dHM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dHMgPz8ge30sXG4gICAgICB9KSxcbiAgICAgIHN5bnRoQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIC4uLihwcm9wcy5jb21wdXRlVHlwZT8uaW5jbHVkZXMoJ0xBTUJEQScpXG4gICAgICAgICAgICA/IHt9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgICAgICAgcGF0aHM6IFtcbiAgICAgICAgICAgICAgICAgICAgJy9yb290Ly5ucG0vKiovKicsXG4gICAgICAgICAgICAgICAgICAgICcvcm9vdC8ubG9jYWwvc2hhcmUvcG5wbS9zdG9yZS8qKi8qJyxcbiAgICAgICAgICAgICAgICAgICAgJy9yb290Ly5wbnBtLXN0b3JlLyoqLyonLFxuICAgICAgICAgICAgICAgICAgICAnbm9kZV9tb2R1bGVzLyoqLyonLFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgJ3J1bnRpbWUtdmVyc2lvbnMnOiB7XG4gICAgICAgICAgICAgICAgbm9kZWpzOiBwcm9wcy5ub2RlVmVyc2lvbiA/PyBOb2RlVmVyc2lvbi5OT0RFXzI0LFxuICAgICAgICAgICAgICAgIGdvOiBwcm9wcy5nb1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgamF2YTogcHJvcHMuamF2YVZlcnNpb24sXG4gICAgICAgICAgICAgICAgZG90bmV0OiBwcm9wcy5kb3RuZXRWZXJzaW9uLFxuICAgICAgICAgICAgICAgIHB5dGhvbjogcHJvcHMucHl0aG9uVmVyc2lvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJ2NvbW1hbmRzJzogWyducG0gY29uZmlnIHNldCBmdW5kIGZhbHNlJywgJ25wbSAtZyBpIGVzYnVpbGQnXVxuICAgICAgICAgICAgICAgIC5jb25jYXQocHJvcHMuYWRkaXRpb25hbEluc3RhbGxDb21tYW5kcyA/PyBbXSlcbiAgICAgICAgICAgICAgICAuY29uY2F0KFsnbm9kZSAtLXZlcnNpb24nXSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgLy8gUHJpdmlsZWdlZCBtb2RlIGlzIG5vdCBhbGxvd2VkIGluIGxhbWJkYVxuICAgICAgICAgIHByaXZpbGVnZWQ6ICEocHJvcHMuY29tcHV0ZVR5cGU/LmluY2x1ZGVzKCdMQU1CREEnKSA/PyBmYWxzZSksXG4gICAgICAgICAgY29tcHV0ZVR5cGU6IHByb3BzLmNvbXB1dGVUeXBlID8/IENvbXB1dGVUeXBlLlNNQUxMLFxuICAgICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzLmJ1aWxkSW1hZ2UgPz8gTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzUsXG4gICAgICAgIH0sXG4gICAgICAgIHJvbGVQb2xpY3ksXG4gICAgICB9LFxuICAgICAgYXNzZXRQdWJsaXNoaW5nQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgIC4uLigocHJvcHMuZW5hYmxlRG9ja2VyQnVpbGR4T25Bc3NldFB1Ymxpc2ggPz9cbiAgICAgICAgICAgICAgIShwcm9wcy5jb21wdXRlVHlwZT8uaW5jbHVkZXMoJ0xBTUJEQScpID8/IGZhbHNlKSlcbiAgICAgICAgICAgICAgICA/IHtDREtfRE9DS0VSOiAnL3Vzci9sb2NhbC9iaW4vYnVpbGR4LnNoJ31cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgY29tbWFuZHM6XG4gICAgICAgICAgICAgICAgKHByb3BzLmVuYWJsZURvY2tlckJ1aWxkeE9uQXNzZXRQdWJsaXNoID8/XG4gICAgICAgICAgICAgICAgIShwcm9wcy5jb21wdXRlVHlwZT8uaW5jbHVkZXMoJ0xBTUJEQScpID8/IGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgID8gRE9DS0VSX0JVSUxEWF9TRVRVUF9DT01NQU5EU1xuICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAvLyBQcml2aWxlZ2VkIG1vZGUgaXMgbm90IGFsbG93ZWQgaW4gbGFtYmRhXG4gICAgICAgICAgcHJpdmlsZWdlZDogIShwcm9wcy5jb21wdXRlVHlwZT8uaW5jbHVkZXMoJ0xBTUJEQScpID8/IGZhbHNlKSxcbiAgICAgICAgICBjb21wdXRlVHlwZTogcHJvcHMuY29tcHV0ZVR5cGUgPz8gQ29tcHV0ZVR5cGUuU01BTEwsXG4gICAgICAgICAgYnVpbGRJbWFnZTogcHJvcHMuYnVpbGRJbWFnZSA/PyBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBEaXNhYmxlIGF1dG9tYXRpYyB0cmlnZ2VyaW5nIGlmIHJlcXVlc3RlZFxuICAgIGlmIChwcm9wcy5kaXNhYmxlQXV0b1RyaWdnZXIpIHtcbiAgICAgIGNvbnN0IGNmblBpcGVsaW5lID0gdW5kZXJseWluZ1BpcGVsaW5lLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblBpcGVsaW5lO1xuICAgICAgY2ZuUGlwZWxpbmUuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgICAgJ1N0YWdlcy4wLkFjdGlvbnMuMC5Db25maWd1cmF0aW9uLlRyaWdnZXJDb25maWd1cmF0aW9uJyxcbiAgICAgICAge1xuICAgICAgICAgIFByb3ZpZGVyVHlwZTogJ0NvZGVTdGFyU291cmNlQ29ubmVjdGlvbicsXG4gICAgICAgICAgVHJpZ2dlckV2ZW50czogJ05PTkUnLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseSBHaXRQdXNoRmlsdGVyIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmdpdFB1c2hGaWx0ZXIgJiYgcHJvcHMuZ2l0UHVzaEZpbHRlci5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjZm5QaXBlbGluZSA9IHVuZGVybHlpbmdQaXBlbGluZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5QaXBlbGluZTtcbiAgICAgIGNmblBpcGVsaW5lLmFkZFByb3BlcnR5T3ZlcnJpZGUoXG4gICAgICAgICdTdGFnZXMuMC5BY3Rpb25zLjAuQ29uZmlndXJhdGlvbi5UcmlnZ2VyQ29uZmlndXJhdGlvbi5HaXRDb25maWd1cmF0aW9uLlB1c2gnLFxuICAgICAgICBwcm9wcy5naXRQdXNoRmlsdGVyLm1hcCgoZmlsdGVyKSA9PiAoe1xuICAgICAgICAgIEJyYW5jaGVzOiBmaWx0ZXIuYnJhbmNoZXNJbmNsdWRlc1xuICAgICAgICAgICAgPyB7SW5jbHVkZXM6IGZpbHRlci5icmFuY2hlc0luY2x1ZGVzfVxuICAgICAgICAgICAgOiBmaWx0ZXIuYnJhbmNoZXNFeGNsdWRlc1xuICAgICAgICAgICAgICA/IHtFeGNsdWRlczogZmlsdGVyLmJyYW5jaGVzRXhjbHVkZXN9XG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIEZpbGVQYXRoczogZmlsdGVyLmZpbGVQYXRoc0luY2x1ZGVzXG4gICAgICAgICAgICA/IHtJbmNsdWRlczogZmlsdGVyLmZpbGVQYXRoc0luY2x1ZGVzfVxuICAgICAgICAgICAgOiBmaWx0ZXIuZmlsZVBhdGhzRXhjbHVkZXNcbiAgICAgICAgICAgICAgPyB7RXhjbHVkZXM6IGZpbHRlci5maWxlUGF0aHNFeGNsdWRlc31cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgVGFnczogZmlsdGVyLnRhZ3NJbmNsdWRlc1xuICAgICAgICAgICAgPyB7SW5jbHVkZXM6IGZpbHRlci50YWdzSW5jbHVkZXN9XG4gICAgICAgICAgICA6IGZpbHRlci50YWdzRXhjbHVkZXNcbiAgICAgICAgICAgICAgPyB7RXhjbHVkZXM6IGZpbHRlci50YWdzRXhjbHVkZXN9XG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBwaXBlbGluZSBub3RpZmljYXRpb25zXG4gICAgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24gJiYgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25seSBvbmUgb2Ygc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiBhbmQgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybiBjYW4gYmUgc3BlY2lmaWVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpYyAmJiBwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0Fybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25seSBvbmUgb2Ygbm90aWZpY2F0aW9uVG9waWMgYW5kIG5vdGlmaWNhdGlvblRvcGljQXJuIGNhbiBiZSBzcGVjaWZpZWQnLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbiB8fFxuICAgICAgcHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybiB8fFxuICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNBcm4gfHxcbiAgICAgIHByb3BzLm5vdGlmaWNhdGlvblRvcGljXG4gICAgKSB7XG4gICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZSA9IG5ldyBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgICdOb3RpZmljYXRpb24nLFxuICAgICAgICB7XG4gICAgICAgICAgZXZlbnRzOiBwcm9wcy5ub3RpZmljYXRpb25FdmVudHMsXG4gICAgICAgICAgc291cmNlOiB1bmRlcmx5aW5nUGlwZWxpbmUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkU2xhY2tDaGFubmVsKFxuICAgICAgICAgIHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb24sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4pIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkU2xhY2tDaGFubmVsQXJuKFxuICAgICAgICAgICdTbGFja0NoYW5uZWwnLFxuICAgICAgICAgIHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMubm90aWZpY2F0aW9uVG9waWMpIHtcbiAgICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUuYWRkVG9waWMocHJvcHMubm90aWZpY2F0aW9uVG9waWMpO1xuICAgICAgICBwcm9wcy5ub3RpZmljYXRpb25Ub3BpYy5ncmFudFB1Ymxpc2godW5kZXJseWluZ1BpcGVsaW5lLnJvbGUpO1xuICAgICAgfSBlbHNlIGlmIChwcm9wcy5ub3RpZmljYXRpb25Ub3BpY0Fybikge1xuICAgICAgICBjb25zdCB0b3BpYyA9IHRoaXMucGlwZWxpbmVOb3RpZmljYXRpb25SdWxlLmFkZFRvcGljQXJuKFxuICAgICAgICAgICdOb3RpZmljYXRpb25Ub3BpYycsXG4gICAgICAgICAgcHJvcHMubm90aWZpY2F0aW9uVG9waWNBcm4sXG4gICAgICAgICk7XG4gICAgICAgIHRvcGljLmdyYW50UHVibGlzaCh1bmRlcmx5aW5nUGlwZWxpbmUucm9sZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkU3RhZ2Uoc3RhZ2U6IFN0YWdlLCBvcHRpb25zPzogQWRkU3RhZ2VPcHRzKTogU3RhZ2VEZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5waXBlbGluZS5hZGRTdGFnZShzdGFnZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhZGRXYXZlKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBXYXZlT3B0aW9ucyk6IFdhdmUge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFdhdmUoaWQsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -3,10 +3,11 @@ import { Construct } from 'constructs';
|
|
|
3
3
|
import { StandardFunction, StandardFunctionOptions } from './standard-function';
|
|
4
4
|
import { DeployedFunctionOptions } from './extended-function';
|
|
5
5
|
import { FunctionAlarmsOptions } from './function-alarms';
|
|
6
|
+
import { FunctionLogOptions } from './function-log-options';
|
|
6
7
|
/**
|
|
7
8
|
* Properties for BundledPythonFunction.
|
|
8
9
|
*/
|
|
9
|
-
export interface BundledPythonFunctionProps extends FunctionOptions, FunctionAlarmsOptions, DeployedFunctionOptions, StandardFunctionOptions {
|
|
10
|
+
export interface BundledPythonFunctionProps extends FunctionOptions, FunctionAlarmsOptions, DeployedFunctionOptions, StandardFunctionOptions, FunctionLogOptions {
|
|
10
11
|
/**
|
|
11
12
|
* The path (relative to entry) to the index file containing the exported handler.
|
|
12
13
|
*
|
|
@@ -22,7 +23,7 @@ export interface BundledPythonFunctionProps extends FunctionOptions, FunctionAla
|
|
|
22
23
|
/**
|
|
23
24
|
* The runtime environment. Only runtimes of the Python family are supported.
|
|
24
25
|
*
|
|
25
|
-
* @default Runtime.
|
|
26
|
+
* @default Runtime.PYTHON_3_14
|
|
26
27
|
*/
|
|
27
28
|
readonly runtime?: Runtime;
|
|
28
29
|
}
|
|
@@ -20,7 +20,7 @@ class StandardPythonFunction extends standard_function_1.StandardFunction {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(scope, id, props) {
|
|
22
22
|
var _a, _b, _c;
|
|
23
|
-
const runtime = (_a = props.runtime) !== null && _a !== void 0 ? _a : aws_lambda_1.Runtime.
|
|
23
|
+
const runtime = (_a = props.runtime) !== null && _a !== void 0 ? _a : aws_lambda_1.Runtime.PYTHON_3_14;
|
|
24
24
|
if (runtime.family !== aws_lambda_1.RuntimeFamily.PYTHON) {
|
|
25
25
|
throw new Error('Runtime must be a Python runtime');
|
|
26
26
|
}
|
|
@@ -51,4 +51,4 @@ class StandardPythonFunction extends standard_function_1.StandardFunction {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
exports.StandardPythonFunction = StandardPythonFunction;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcHl0aG9uLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy1sYW1iZGEvbGliL3N0YW5kYXJkLXB5dGhvbi1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFNZ0M7QUFFaEMsNkNBQXFDO0FBQ3JDLG1EQUFtRDtBQUNuRCwrQ0FBZ0Q7QUFDaEQsMkRBQThFO0FBRzlFLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFtQ3pCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxvQ0FBZ0I7SUFDMUQsTUFBTSxDQUFDLHdCQUF3QjtRQUM3QixPQUFPLG1CQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7O1FBQ3pFLE1BQU0sT0FBTyxHQUFHLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksb0JBQU8sQ0FBQyxXQUFXLENBQUM7UUFDckQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLDBCQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxNQUFNLE9BQU8sR0FDWCxDQUFDLE1BQUEsS0FBSyxDQUFDLEtBQUssbUNBQUksVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDOUMsR0FBRztZQUNILENBQUMsTUFBQSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxTQUFTLENBQUMsQ0FBQztRQUMvQiwwQkFBMEI7UUFDMUIsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEVBQ3hFLE9BQU8sQ0FDUixDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZiwrQ0FBK0M7WUFDL0MsT0FBTyxFQUFFLG9CQUFPLENBQUMsWUFBWTtZQUM3QixZQUFZLEVBQUUsd0JBQWEsQ0FBQyxVQUFVO1lBQ3RDLFlBQVksRUFBRSx5QkFBWSxDQUFDLE1BQU07WUFDakMsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLEdBQUcsS0FBSztZQUNSLG1CQUFtQixFQUFFO2dCQUNuQixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2Qiw2QkFBNkIsRUFBRSxHQUFHO2dCQUNsQyxHQUFHLEtBQUssQ0FBQyxtQkFBbUI7YUFDN0I7WUFDRCxPQUFPO1lBQ1AsT0FBTztZQUNQLHFCQUFxQjtZQUNyQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsYUFBYTtZQUMzQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyx3QkFBd0I7U0FDMUUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNUNELHdEQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFyY2hpdGVjdHVyZSxcbiAgRnVuY3Rpb25PcHRpb25zLFxuICBSdW50aW1lLFxuICBSdW50aW1lRmFtaWx5LFxuICBUcmFjaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7RHVyYXRpb259IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7UmV0ZW50aW9uRGF5c30gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHtTaGVsbEhlbHBlcn0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleCc7XG5pbXBvcnQge1N0YW5kYXJkRnVuY3Rpb24sIFN0YW5kYXJkRnVuY3Rpb25PcHRpb25zfSBmcm9tICcuL3N0YW5kYXJkLWZ1bmN0aW9uJztcbmltcG9ydCB7RGVwbG95ZWRGdW5jdGlvbk9wdGlvbnN9IGZyb20gJy4vZXh0ZW5kZWQtZnVuY3Rpb24nO1xuaW1wb3J0IHtGdW5jdGlvbkFsYXJtc09wdGlvbnN9IGZyb20gJy4vZnVuY3Rpb24tYWxhcm1zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQge0Z1bmN0aW9uTG9nT3B0aW9uc30gZnJvbSAnLi9mdW5jdGlvbi1sb2ctb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQnVuZGxlZFB5dGhvbkZ1bmN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZWRQeXRob25GdW5jdGlvblByb3BzXG4gIGV4dGVuZHNcbiAgICBGdW5jdGlvbk9wdGlvbnMsXG4gICAgRnVuY3Rpb25BbGFybXNPcHRpb25zLFxuICAgIERlcGxveWVkRnVuY3Rpb25PcHRpb25zLFxuICAgIFN0YW5kYXJkRnVuY3Rpb25PcHRpb25zLFxuICAgIEZ1bmN0aW9uTG9nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCAocmVsYXRpdmUgdG8gZW50cnkpIHRvIHRoZSBpbmRleCBmaWxlIGNvbnRhaW5pbmcgdGhlIGV4cG9ydGVkIGhhbmRsZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdpbmRleC5weSdcbiAgICovXG4gIHJlYWRvbmx5IGluZGV4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZXhwb3J0ZWQgaGFuZGxlciBpbiB0aGUgaW5kZXggZmlsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2hhbmRsZXInXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBlbnZpcm9ubWVudC4gT25seSBydW50aW1lcyBvZiB0aGUgUHl0aG9uIGZhbWlseSBhcmUgc3VwcG9ydGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSdW50aW1lLlBZVEhPTl8zXzE0XG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogUnVudGltZTtcbn1cblxuLyoqXG4gKiBQeXRob24gYmFzZWQgTGFtYmRhIEZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFB5dGhvbkZ1bmN0aW9uIGV4dGVuZHMgU3RhbmRhcmRGdW5jdGlvbiB7XG4gIHN0YXRpYyBpc0xvY2FsQnVuZGxpbmdTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNoZWxsSGVscGVyLnB5dGhvblZlcnNpb24oKSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IExhbWJkYSBGdW5jdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1bmRsZWRQeXRob25GdW5jdGlvblByb3BzKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHByb3BzLnJ1bnRpbWUgPz8gUnVudGltZS5QWVRIT05fM18xNDtcbiAgICBpZiAocnVudGltZS5mYW1pbHkgIT09IFJ1bnRpbWVGYW1pbHkuUFlUSE9OKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bnRpbWUgbXVzdCBiZSBhIFB5dGhvbiBydW50aW1lJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlciA9XG4gICAgICAocHJvcHMuaW5kZXggPz8gJ2luZGV4LnB5JykucmVwbGFjZSgnLnB5JywgJycpICtcbiAgICAgICcuJyArXG4gICAgICAocHJvcHMuaGFuZGxlciA/PyAnaGFuZGxlcicpO1xuICAgIC8vIFRPRE8gVGhpcyBpc24ndCB3b3JraW5nXG4gICAgY29uc3QgZGVmYXVsdEJ1bmRsaW5nU2NyaXB0ID0gZnMucmVhZEZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKHBhdGguZGlybmFtZShmcy5yZWFscGF0aFN5bmMoX19maWxlbmFtZSkpLCAnYnVuZGxlLXB5dGhvbi5zaCcpLFxuICAgICAgJ3V0Zi04JyxcbiAgICApO1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAvLyBkZWZhdWx0cyB3aGljaCBtYXkgYmUgb3ZlcnJpZGRlbiBieSAuLi5wcm9wc1xuICAgICAgdHJhY2luZzogVHJhY2luZy5QQVNTX1RIUk9VR0gsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfREFZUyxcbiAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgIG1lbW9yeVNpemU6IDc2OCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBidW5kbGluZ0Vudmlyb25tZW50OiB7XG4gICAgICAgIFBJUF9QUk9HUkVTU19CQVI6ICdvZmYnLFxuICAgICAgICBQSVBfRElTQUJMRV9QSVBfVkVSU0lPTl9DSEVDSzogJzEnLFxuICAgICAgICAuLi5wcm9wcy5idW5kbGluZ0Vudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIHJ1bnRpbWUsXG4gICAgICBoYW5kbGVyLFxuICAgICAgZGVmYXVsdEJ1bmRsaW5nU2NyaXB0LFxuICAgICAgZGVmYXVsdEJ1bmRsaW5nSW1hZ2U6IHJ1bnRpbWUuYnVuZGxpbmdJbWFnZSxcbiAgICAgIGlzTG9jYWxCdW5kbGluZ1N1cHBvcnRlZDogU3RhbmRhcmRQeXRob25GdW5jdGlvbi5pc0xvY2FsQnVuZGxpbmdTdXBwb3J0ZWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
3
|
"description": "AWS CDK constructs created by TrueMark",
|
|
4
|
-
"version": "1.22.
|
|
4
|
+
"version": "1.22.12",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"typesVersions": {
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
"@eslint/js": "^9.39.4",
|
|
97
97
|
"@opensearch-project/opensearch": "^2.13.0",
|
|
98
98
|
"@types/node": "^22.19.2",
|
|
99
|
-
"esbuild": "^0.27.
|
|
99
|
+
"esbuild": "^0.27.4",
|
|
100
100
|
"eslint": "^9.39.4",
|
|
101
101
|
"prettier": "^3.8.1",
|
|
102
102
|
"ts-node": "^10.9.2",
|
|
103
103
|
"typescript": "~5.9.3",
|
|
104
|
-
"typescript-eslint": "^8.
|
|
105
|
-
"vitest": "4.
|
|
104
|
+
"typescript-eslint": "^8.57.2",
|
|
105
|
+
"vitest": "4.1.2"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
108
108
|
"@aws-sdk/credential-provider-node": "^3.947.0",
|
|
@@ -110,8 +110,8 @@
|
|
|
110
110
|
"@aws-cdk/aws-lambda-python-alpha": "^2.232.1-alpha.0",
|
|
111
111
|
"@aws-cdk/aws-redshift-alpha": "^2.232.1-alpha.0",
|
|
112
112
|
"aws-cdk-lib": "2.232.1",
|
|
113
|
-
"cdk-monitoring-constructs": "9.
|
|
114
|
-
"constructs": "^10.
|
|
113
|
+
"cdk-monitoring-constructs": "9.22.1",
|
|
114
|
+
"constructs": "^10.6.0"
|
|
115
115
|
},
|
|
116
116
|
"exports": {
|
|
117
117
|
".": {
|