@fjall/components-infrastructure 0.59.4 → 0.59.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/app.js
CHANGED
|
@@ -100,29 +100,12 @@ class App extends aws_cdk_lib_1.App {
|
|
|
100
100
|
// environment the CDK is running in. When an account ID is available,
|
|
101
101
|
// use it to import the corresponding IPAM pool so CIDRs are allocated
|
|
102
102
|
// from a central pool instead of using the default 10.0.0.0/16 block.
|
|
103
|
-
// Get accountId from context first (passed by CLI), fallback to environment
|
|
104
103
|
const accountId = this.node.tryGetContext('accountId') || process.env.CDK_DEFAULT_ACCOUNT;
|
|
105
104
|
const region = process.env.CDK_DEFAULT_REGION;
|
|
106
|
-
|
|
107
|
-
const managedAccountContext = this.node.tryGetContext('managedAccount');
|
|
108
|
-
const isManagedAccount = managedAccountContext === true || managedAccountContext === 'true';
|
|
109
|
-
// Debug logging
|
|
110
|
-
console.log('[INFRA DEBUG] VPC Creation Context:', {
|
|
111
|
-
accountId,
|
|
112
|
-
region,
|
|
113
|
-
isManagedAccount,
|
|
114
|
-
contextAccountId: this.node.tryGetContext('accountId'),
|
|
115
|
-
contextManagedAccount: this.node.tryGetContext('managedAccount'),
|
|
116
|
-
envAccountId: process.env.CDK_DEFAULT_ACCOUNT
|
|
117
|
-
});
|
|
105
|
+
const isManagedAccount = this.node.tryGetContext('managedAccount') === 'true';
|
|
118
106
|
let ipv4IpamPoolId;
|
|
119
107
|
if (isManagedAccount && accountId) {
|
|
120
108
|
ipv4IpamPoolId = aws_cdk_lib_1.Fn.importValue(`IpamPoolId${accountId}`);
|
|
121
|
-
console.log(`[INFRA DEBUG] Using IPAM pool: IpamPoolId${accountId}`);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
ipv4IpamPoolId = undefined;
|
|
125
|
-
console.log('[INFRA DEBUG] Not using IPAM pool:', { isManagedAccount, accountId });
|
|
126
109
|
}
|
|
127
110
|
this.defaultVpc = vpc_1.VpcFactory.build(`${this.name}DefaultVpc`, {
|
|
128
111
|
accountId,
|
|
@@ -226,4 +209,4 @@ class App extends aws_cdk_lib_1.App {
|
|
|
226
209
|
exports.App = App;
|
|
227
210
|
App.instance = null;
|
|
228
211
|
exports.default = App;
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUQ7QUFFekQsd0RBQWlFO0FBR2pFLDJDQUF1QztBQUN2QyxxREFBOEQ7QUFHOUQsbUVBQWdFO0FBQ2hFLGlEQUE4QztBQUU5Qzs7OztHQUlHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsaUJBQU07SUFZN0IsWUFBb0IsSUFBYTtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQVRGLFdBQU0sR0FBZ0MsRUFBRSxDQUFDO1FBS3pDLGVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBQzNDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBS3JDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBYTtRQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQWE7UUFDckMsNkRBQTZEO1FBQzdELCtDQUErQztRQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFFBQVEsQ0FBQyxHQUFXLEVBQUUsWUFBb0M7UUFDL0Qsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENB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QUM7SUFHRDs7T0FFRztJQUNLLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25FLHVGQUF1RjtZQUN2RixxQkFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSx1Q0FBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE9BQU8sQ0FBQyxJQUErQjtRQUM1Qyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsSUFBSTtTQUNSLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBN1BILGtCQThQQztBQTdQZ0IsWUFBUSxHQUFlLElBQUksQUFBbkIsQ0FBb0I7QUErUDdDLGtCQUFlLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCBhcyBDZGtBcHAsIEZuLCBBc3BlY3RzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVnBjLCBWcGNGYWN0b3J5IH0gZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL3ZwY1wiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4vcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBFY3IsIEVjckZhY3RvcnkgfSBmcm9tIFwiLi9yZXNvdXJjZXMvYXdzL3N0b3JhZ2UvZWNyXCI7XG5cbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tIFwiLi9wYXR0ZXJucy9hd3Mvc3RvcmFnZVwiO1xuaW1wb3J0IHsgU3RhbmRhcmRUYWdzQXNwZWN0IH0gZnJvbSBcIi4vdXRpbHMvc3RhbmRhcmRUYWdzQXNwZWN0XCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi91dGlscy9nZXRDb25maWdcIjtcblxuLyoqXG4gKiBUaGUgYmFzaWMgY29ybmVyLXN0b25lIG9mIGFsbCBGamFsbC1ob3N0ZWQgYXBwbGljYXRpb25zLlxuICogIFRoaXMgY2xhc3MgaXMgYSBzaW5nbGV0b24gYW5kIHNob3VsZCBiZSB1c2VkIHRvIGNyZWF0ZSBhbmQgbWFuYWdlXG4gKiAgIGFsbCByZXNvdXJjZXMgaW4gYSBGamFsbCBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcCBleHRlbmRzIENka0FwcCB7XG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBBcHAgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBzdGFja3M6IHsgW2tleTogc3RyaW5nXTogQXdzU3RhY2sgfSA9IHt9O1xuXG4gIHByaXZhdGUgZGVmYXVsdFZwYzogSVZwYztcbiAgcHJpdmF0ZSBkZWZhdWx0RWNyOiBFY3I7XG4gIHByaXZhdGUgZXhpc3RpbmdWcGNJZD86IHN0cmluZztcbiAgcHJpdmF0ZSBnbG9iYWxUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIHByaXZhdGUgYXNwZWN0QXBwbGllZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IobmFtZT86IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAobmFtZSkgdGhpcy5uYW1lID0gbmFtZTtcbiAgICBlbHNlIHRoaXMubmFtZSA9IFwiRmphbGxBcHBcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQvQ3JlYXRlIGEgYmFzaWMgRmphbGwgQXBwbGljYXRpb24gd2l0aCBzdGFuZGFyZCB0YWdzIGFwcGxpZWRcbiAgICogQHBhcmFtIG5hbWUgQXBwbGljYXRpb24gbmFtZVxuICAgKiBAcmV0dXJucyB7QXBwfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBcHAobmFtZT86IHN0cmluZyk6IEFwcCB7XG4gICAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKG5hbWUpO1xuICAgIGFwcC5pbml0aWFsaXplU3RhbmRhcmRUYWdzKCk7XG4gICAgcmV0dXJuIGFwcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQvQ3JlYXRlIHRoZSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIEFwcFxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiBAcmV0dXJucyB7QXBwfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRJbnN0YW5jZShuYW1lPzogc3RyaW5nKTogQXBwIHtcbiAgICAvLyBEZXNwaXRlIHN1cHBvcnRpbmcgbXVsdGlwbGUgc3RhY2tzIHlvdSBjYW4gc3RpbGwgb25seSBldmVyXG4gICAgLy8gaGF2ZSBhIHNpbmdsZSBBcHBsaWNhdGlvbiBwZXIgQ0RLIGRlcGxveW1lbnRcbiAgICBpZiAoIUFwcC5pbnN0YW5jZSkge1xuICAgICAgQXBwLmluc3RhbmNlID0gbmV3IEFwcChuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQXBwLmluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgc3RhY2sgYnkga2V5LiBJZiB0aGUgc3RhY2sgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICogIERlcGVuZGVuY2llcyBhcmUgb25seSBhcHBsaWVkIHRoZSBmaXJzdCB0aW1lIGEgc3RhY2sgaXMgY3JlYXRlZC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHN0YWNrXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgLSBUaGUgc3RhY2socykgdGhhdCB0aGlzIHN0YWNrIGRlcGVuZHMgb25cbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldFN0YWNrKGtleTogc3RyaW5nLCBkZXBlbmRlbmNpZXM/OiBBd3NTdGFjayB8IEF3c1N0YWNrW10pOiBBd3NTdGFjayB7XG4gICAgLy8gQXBwbHkgdGhlIGFzcGVjdCBvbmNlIGJlZm9yZSBjcmVhdGluZyB0aGUgZmlyc3Qgc3RhY2tcbiAgICBpZiAoIXRoaXMuYXNwZWN0QXBwbGllZCAmJiBPYmplY3Qua2V5cyh0aGlzLnN0YWNrcykubGVuZ3RoID09PSAwICYmIE9iamVjdC5rZXlzKHRoaXMuZ2xvYmFsVGFncykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hcHBseVRhZ3NBc3BlY3QoKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCF0aGlzLnN0YWNrc1trZXldKSB7XG4gICAgICB0aGlzLnN0YWNrc1trZXldID0gbmV3IEF3c1N0YWNrKGtleSwgZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGFja3Nba2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IGNvbXB1dGUgc3RhY2sgLSBuYW1lZCBhcyBgJHt0aGlzLm5hbWV9Q29tcHV0ZWBcbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldERlZmF1bHRDb21wdXRlU3RhY2soKTogQXdzU3RhY2sge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrKGAke3RoaXMubmFtZX1Db21wdXRlYCwgW1xuICAgICAgdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCksXG4gICAgICB0aGlzLmdldERlZmF1bHRTdG9yYWdlU3RhY2soKVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGRlZmF1bHQgbmV0d29yayBzdGFjayAtIG5hbWVkIGFzIGAke3RoaXMubmFtZX1OZXR3b3JrYFxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfU5ldHdvcmtgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk6IEF3c1N0YWNrIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdGFjayhgJHt0aGlzLm5hbWV9U3RvcmFnZWAsIHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IHZwYy4gSWYgdGhlIFZQQyBkb2VzIG5vdCBleGlzdCBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqIEByZXR1cm5zIHtWcGN9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdFZwYygpOiBJVnBjIHtcbiAgICB2YXIgbmV0d29ya1N0YWNrID0gdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCk7XG5cbiAgICBpZiAoIXRoaXMuZGVmYXVsdFZwYykge1xuICAgICAgLy8gVXNlIGFuIGV4aXN0aW5nIGltcG9ydGVkIFZQQyBpZiBvbmUgd2FzIHN1cHBsaWVkXG4gICAgICBpZiAodGhpcy5leGlzdGluZ1ZwY0lkKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFZwYyA9IFZwYy5mcm9tTG9va3VwKFxuICAgICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpLFxuICAgICAgICAgIGAke3RoaXMubmFtZX1JbXBvcnRlZFZwY2AsXG4gICAgICAgICAgeyB2cGNJZDogdGhpcy5leGlzdGluZ1ZwY0lkIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBkZXJpdmUgdGhlIGFjY291bnQgYW5kIHJlZ2lvbiBmcm9tIHRoZVxuICAgICAgICAvLyBlbnZpcm9ubWVudCB0aGUgQ0RLIGlzIHJ1bm5pbmcgaW4uIFdoZW4gYW4gYWNjb3VudCBJRCBpcyBhdmFpbGFibGUsXG4gICAgICAgIC8vIHVzZSBpdCB0byBpbXBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgSVBBTSBwb29sIHNvIENJRFJzIGFyZSBhbGxvY2F0ZWRcbiAgICAgICAgLy8gZnJvbSBhIGNlbnRyYWwgcG9vbCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IDEwLjAuMC4wLzE2IGJsb2NrLlxuXG4gICAgICAgIC8vIEdldCBhY2NvdW50SWQgZnJvbSBjb250ZXh0IGZpcnN0IChwYXNzZWQgYnkgQ0xJKSwgZmFsbGJhY2sgdG8gZW52aXJvbm1lbnRcbiAgICAgICAgY29uc3QgYWNjb3VudElkID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoJ2FjY291bnRJZCcpIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQ7XG4gICAgICAgIGNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcbiAgICAgICAgLy8gQ0RLIGNvbnRleHQgdmFsdWVzIGNvbWUgYXMgc3RyaW5ncywgc28gY2hlY2sgZm9yICd0cnVlJyBzdHJpbmdcbiAgICAgICAgY29uc3QgbWFuYWdlZEFjY291bnRDb250ZXh0ID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoJ21hbmFnZWRBY2NvdW50Jyk7XG4gICAgICAgIGNvbnN0IGlzTWFuYWdlZEFjY291bnQgPSBtYW5hZ2VkQWNjb3VudENvbnRleHQgPT09IHRydWUgfHwgbWFuYWdlZEFjY291bnRDb250ZXh0ID09PSAndHJ1ZSc7XG5cbiAgICAgICAgLy8gRGVidWcgbG9nZ2luZ1xuICAgICAgICBjb25zb2xlLmxvZygnW0lORlJBIERFQlVHXSBWUEMgQ3JlYXRpb24gQ29udGV4dDonLCB7XG4gICAgICAgICAgYWNjb3VudElkLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBpc01hbmFnZWRBY2NvdW50LFxuICAgICAgICAgIGNvbnRleHRBY2NvdW50SWQ6IHRoaXMubm9kZS50cnlHZXRDb250ZXh0KCdhY2NvdW50SWQnKSxcbiAgICAgICAgICBjb250ZXh0TWFuYWdlZEFjY291bnQ6IHRoaXMubm9kZS50cnlHZXRDb250ZXh0KCdtYW5hZ2VkQWNjb3VudCcpLFxuICAgICAgICAgIGVudkFjY291bnRJZDogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVFxuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgaXB2NElwYW1Qb29sSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGlzTWFuYWdlZEFjY291bnQgJiYgYWNjb3VudElkKSB7XG4gICAgICAgICAgaXB2NElwYW1Qb29sSWQgPSBGbi5pbXBvcnRWYWx1ZShgSXBhbVBvb2xJZCR7YWNjb3VudElkfWApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBbSU5GUkEgREVCVUddIFVzaW5nIElQQU0gcG9vbDogSXBhbVBvb2xJZCR7YWNjb3VudElkfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlwdjRJcGFtUG9vbElkID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdbSU5GUkEgREVCVUddIE5vdCB1c2luZyBJUEFNIHBvb2w6JywgeyBpc01hbmFnZWRBY2NvdW50LCBhY2NvdW50SWQgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRlZmF1bHRWcGMgPSBWcGNGYWN0b3J5LmJ1aWxkKGAke3RoaXMubmFtZX1EZWZhdWx0VnBjYCwge1xuICAgICAgICAgIGFjY291bnRJZCxcbiAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgaXB2NElwYW1Qb29sSWRcbiAgICAgICAgfSkodGhpcywgbmV0d29ya1N0YWNrLmdldFN0YWNrKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRWcGM7XG4gIH1cblxuICAvKipcbiAgICogUmV1c2UgYW4gZXhpc3RpbmcgVlBDLlxuICAgKiBBY2NlcHRzIGVpdGhlciBhIFZwYyBvYmplY3Qgb3IgYSBwbGFpbiBWUEMgSUQgc3RyaW5nIGZvciBjb252ZW5pZW5jZS5cbiAgICovXG4gIHB1YmxpYyB1c2VFeGlzdGluZ1ZwYyh2cGNJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZwYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcInVzZUV4aXN0aW5nVnBjIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZGVmYXVsdCBWUEMgaGFzIGJlZW4gY3JlYXRlZFwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZXhpc3RpbmdWcGNJZCA9IHZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJlaXZlIHRoZSBkZWZhdWx0IGFwcGxpY2F0aW9uIGNvbnRhaW5lciByZWdpc3RyeS4gSWYgdGhlIHJlZ2lzdHJ5IGRvZXMgbm90IGV4aXN0XG4gICAqICBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdENvbnRhaW5lclJlZ2lzdHJ5KCk6IEVjciB7XG4gICAgaWYgKCF0aGlzLmRlZmF1bHRFY3IpIHtcbiAgICAgIHZhciBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcblxuICAgICAgdGhpcy5kZWZhdWx0RWNyID0gRWNyRmFjdG9yeS5idWlsZChgJHt0aGlzLm5hbWV9RWNyYCkoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRFY3I7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY29tcHV0ZSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBjb21wdXRlIHN0YWNrIHVzaW5nIHRoZSBmYWN0b3J5IHBhdHRlcm4uXG4gICAqL1xuICBwdWJsaWMgYWRkQ29tcHV0ZShmbjogKGFwcDogQXBwLCBzY29wZTogQ29uc3RydWN0KSA9PiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wdXRlU3RhY2sgPSB0aGlzLmdldERlZmF1bHRDb21wdXRlU3RhY2soKTtcbiAgICBjb21wdXRlU3RhY2suYWRkQ29uc3RydWN0KGZuKHRoaXMsIGNvbXB1dGVTdGFjay5nZXRTdGFjaygpKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgYWRkIGEgcmVzb3VyY2UgdG8gdGhlIGRlZmF1bHQgY29tcHV0ZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wdXRlUmVzb3VyY2UocmVzb3VyY2U6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXB1dGVTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdENvbXB1dGVTdGFjaygpO1xuICAgIGNvbXB1dGVTdGFjay5hZGRDb25zdHJ1Y3QocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBBZGQgYSBzdG9yYWdlIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IHN0b3JhZ2Ugc3RhY2sgdXNpbmcgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICovXG4gIHB1YmxpYyBhZGRTdG9yYWdlKGZuOiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IENvbnN0cnVjdCk6IFN0b3JhZ2Uge1xuICAgIGNvbnN0IHN0b3JhZ2VTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdFN0b3JhZ2VTdGFjaygpO1xuICAgIGNvbnN0IHN0b3JhZ2VDb25zdHJ1Y3QgPSBmbih0aGlzLCBzdG9yYWdlU3RhY2suZ2V0U3RhY2soKSk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChzdG9yYWdlQ29uc3RydWN0KTtcblxuICAgIHJldHVybiBzdG9yYWdlQ29uc3RydWN0IGFzIHVua25vd24gYXMgU3RvcmFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhZGQgYSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBzdG9yYWdlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIGFkZFN0b3JhZ2VSZXNvdXJjZShyZXNvdXJjZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmFnZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBzdGFuZGFyZCB0YWdzXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVTdGFuZGFyZFRhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgdGhpcy5nbG9iYWxUYWdzID0ge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBjb25maWcuZW52aXJvbm1lbnQsXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIjogdGhpcy5uYW1lXG4gICAgfTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEFwcGx5IGFsbCB0YWdzIGFzIGEgc2luZ2xlIGFzcGVjdFxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRhZ3NBc3BlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzcGVjdEFwcGxpZWQgJiYgT2JqZWN0LmtleXModGhpcy5nbG9iYWxUYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBBcHBseSBPTkUgYXNwZWN0IHdpdGggYWxsIHRhZ3MgdXNpbmcgdGhlIENESyB2Mi4yMDYuMCsgY29tcGF0aWJsZSBTdGFuZGFyZFRhZ3NBc3BlY3RcbiAgICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBTdGFuZGFyZFRhZ3NBc3BlY3QodGhpcy5nbG9iYWxUYWdzKSk7XG4gICAgICB0aGlzLmFzcGVjdEFwcGxpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY3VzdG9tIHRhZ3MgdG8gYWxsIHJlc291cmNlcyBpbiB0aGUgYXBwXG4gICAqIEBwYXJhbSB0YWdzIEN1c3RvbSB0YWdzIHRvIGFwcGx5IHRvIGFsbCByZXNvdXJjZXNcbiAgICogQGV4YW1wbGVcbiAgICogYXBwLmFkZFRhZ3Moe1xuICAgKiAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJwbGF0Zm9ybS10ZWFtXCIsXG4gICAqICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpjb3N0LWNlbnRlclwiOiBcIkNDLTEyM1wiLFxuICAgKiAgIFwidGVhbTpzbGFjay1jaGFubmVsXCI6IFwiI3BsYXRmb3JtLWFsZXJ0c1wiXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIGFkZFRhZ3ModGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IEFwcCB7XG4gICAgLy8gTWVyZ2UgdGFncyBidXQgZG9uJ3QgYXBwbHkgYXNwZWN0IHlldFxuICAgIHRoaXMuZ2xvYmFsVGFncyA9IHtcbiAgICAgIC4uLnRoaXMuZ2xvYmFsVGFncyxcbiAgICAgIC4uLnRhZ3NcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwcDtcbiJdfQ==
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUQ7QUFFekQsd0RBQWlFO0FBR2pFLDJDQUF1QztBQUN2QyxxREFBOEQ7QUFHOUQsbUVBQWdFO0FBQ2hFLGlEQUE4QztBQUU5Qzs7OztHQUlHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsaUJBQU07SUFZN0IsWUFBb0IsSUFBYTtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQVRGLFdBQU0sR0FBZ0MsRUFBRSxDQUFDO1FBS3pDLGVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBQzNDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBS3JDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBYTtRQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQWE7UUFDckMsNkRBQTZEO1FBQzdELCtDQUErQztRQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFFBQVEsQ0FBQyxHQUFXLEVBQUUsWUFBb0M7UUFDL0Qsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCBhcyBDZGtBcHAsIEZuLCBBc3BlY3RzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVnBjLCBWcGNGYWN0b3J5IH0gZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL3ZwY1wiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4vcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBFY3IsIEVjckZhY3RvcnkgfSBmcm9tIFwiLi9yZXNvdXJjZXMvYXdzL3N0b3JhZ2UvZWNyXCI7XG5cbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tIFwiLi9wYXR0ZXJucy9hd3Mvc3RvcmFnZVwiO1xuaW1wb3J0IHsgU3RhbmRhcmRUYWdzQXNwZWN0IH0gZnJvbSBcIi4vdXRpbHMvc3RhbmRhcmRUYWdzQXNwZWN0XCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi91dGlscy9nZXRDb25maWdcIjtcblxuLyoqXG4gKiBUaGUgYmFzaWMgY29ybmVyLXN0b25lIG9mIGFsbCBGamFsbC1ob3N0ZWQgYXBwbGljYXRpb25zLlxuICogIFRoaXMgY2xhc3MgaXMgYSBzaW5nbGV0b24gYW5kIHNob3VsZCBiZSB1c2VkIHRvIGNyZWF0ZSBhbmQgbWFuYWdlXG4gKiAgIGFsbCByZXNvdXJjZXMgaW4gYSBGamFsbCBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcCBleHRlbmRzIENka0FwcCB7XG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBBcHAgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBzdGFja3M6IHsgW2tleTogc3RyaW5nXTogQXdzU3RhY2sgfSA9IHt9O1xuXG4gIHByaXZhdGUgZGVmYXVsdFZwYzogSVZwYztcbiAgcHJpdmF0ZSBkZWZhdWx0RWNyOiBFY3I7XG4gIHByaXZhdGUgZXhpc3RpbmdWcGNJZD86IHN0cmluZztcbiAgcHJpdmF0ZSBnbG9iYWxUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIHByaXZhdGUgYXNwZWN0QXBwbGllZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IobmFtZT86IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAobmFtZSkgdGhpcy5uYW1lID0gbmFtZTtcbiAgICBlbHNlIHRoaXMubmFtZSA9IFwiRmphbGxBcHBcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQvQ3JlYXRlIGEgYmFzaWMgRmphbGwgQXBwbGljYXRpb24gd2l0aCBzdGFuZGFyZCB0YWdzIGFwcGxpZWRcbiAgICogQHBhcmFtIG5hbWUgQXBwbGljYXRpb24gbmFtZVxuICAgKiBAcmV0dXJucyB7QXBwfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBcHAobmFtZT86IHN0cmluZyk6IEFwcCB7XG4gICAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKG5hbWUpO1xuICAgIGFwcC5pbml0aWFsaXplU3RhbmRhcmRUYWdzKCk7XG4gICAgcmV0dXJuIGFwcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQvQ3JlYXRlIHRoZSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIEFwcFxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiBAcmV0dXJucyB7QXBwfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRJbnN0YW5jZShuYW1lPzogc3RyaW5nKTogQXBwIHtcbiAgICAvLyBEZXNwaXRlIHN1cHBvcnRpbmcgbXVsdGlwbGUgc3RhY2tzIHlvdSBjYW4gc3RpbGwgb25seSBldmVyXG4gICAgLy8gaGF2ZSBhIHNpbmdsZSBBcHBsaWNhdGlvbiBwZXIgQ0RLIGRlcGxveW1lbnRcbiAgICBpZiAoIUFwcC5pbnN0YW5jZSkge1xuICAgICAgQXBwLmluc3RhbmNlID0gbmV3IEFwcChuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQXBwLmluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgc3RhY2sgYnkga2V5LiBJZiB0aGUgc3RhY2sgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICogIERlcGVuZGVuY2llcyBhcmUgb25seSBhcHBsaWVkIHRoZSBmaXJzdCB0aW1lIGEgc3RhY2sgaXMgY3JlYXRlZC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHN0YWNrXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgLSBUaGUgc3RhY2socykgdGhhdCB0aGlzIHN0YWNrIGRlcGVuZHMgb25cbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldFN0YWNrKGtleTogc3RyaW5nLCBkZXBlbmRlbmNpZXM/OiBBd3NTdGFjayB8IEF3c1N0YWNrW10pOiBBd3NTdGFjayB7XG4gICAgLy8gQXBwbHkgdGhlIGFzcGVjdCBvbmNlIGJlZm9yZSBjcmVhdGluZyB0aGUgZmlyc3Qgc3RhY2tcbiAgICBpZiAoIXRoaXMuYXNwZWN0QXBwbGllZCAmJiBPYmplY3Qua2V5cyh0aGlzLnN0YWNrcykubGVuZ3RoID09PSAwICYmIE9iamVjdC5rZXlzKHRoaXMuZ2xvYmFsVGFncykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hcHBseVRhZ3NBc3BlY3QoKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCF0aGlzLnN0YWNrc1trZXldKSB7XG4gICAgICB0aGlzLnN0YWNrc1trZXldID0gbmV3IEF3c1N0YWNrKGtleSwgZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGFja3Nba2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IGNvbXB1dGUgc3RhY2sgLSBuYW1lZCBhcyBgJHt0aGlzLm5hbWV9Q29tcHV0ZWBcbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldERlZmF1bHRDb21wdXRlU3RhY2soKTogQXdzU3RhY2sge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrKGAke3RoaXMubmFtZX1Db21wdXRlYCwgW1xuICAgICAgdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCksXG4gICAgICB0aGlzLmdldERlZmF1bHRTdG9yYWdlU3RhY2soKVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGRlZmF1bHQgbmV0d29yayBzdGFjayAtIG5hbWVkIGFzIGAke3RoaXMubmFtZX1OZXR3b3JrYFxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfU5ldHdvcmtgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk6IEF3c1N0YWNrIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdGFjayhgJHt0aGlzLm5hbWV9U3RvcmFnZWAsIHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IHZwYy4gSWYgdGhlIFZQQyBkb2VzIG5vdCBleGlzdCBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqIEByZXR1cm5zIHtWcGN9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdFZwYygpOiBJVnBjIHtcbiAgICB2YXIgbmV0d29ya1N0YWNrID0gdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCk7XG5cbiAgICBpZiAoIXRoaXMuZGVmYXVsdFZwYykge1xuICAgICAgLy8gVXNlIGFuIGV4aXN0aW5nIGltcG9ydGVkIFZQQyBpZiBvbmUgd2FzIHN1cHBsaWVkXG4gICAgICBpZiAodGhpcy5leGlzdGluZ1ZwY0lkKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFZwYyA9IFZwYy5mcm9tTG9va3VwKFxuICAgICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpLFxuICAgICAgICAgIGAke3RoaXMubmFtZX1JbXBvcnRlZFZwY2AsXG4gICAgICAgICAgeyB2cGNJZDogdGhpcy5leGlzdGluZ1ZwY0lkIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBkZXJpdmUgdGhlIGFjY291bnQgYW5kIHJlZ2lvbiBmcm9tIHRoZVxuICAgICAgICAvLyBlbnZpcm9ubWVudCB0aGUgQ0RLIGlzIHJ1bm5pbmcgaW4uIFdoZW4gYW4gYWNjb3VudCBJRCBpcyBhdmFpbGFibGUsXG4gICAgICAgIC8vIHVzZSBpdCB0byBpbXBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgSVBBTSBwb29sIHNvIENJRFJzIGFyZSBhbGxvY2F0ZWRcbiAgICAgICAgLy8gZnJvbSBhIGNlbnRyYWwgcG9vbCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IDEwLjAuMC4wLzE2IGJsb2NrLlxuXG4gICAgICAgIGNvbnN0IGFjY291bnRJZCA9IHRoaXMubm9kZS50cnlHZXRDb250ZXh0KCdhY2NvdW50SWQnKSB8fCBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5UO1xuICAgICAgICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT047XG4gICAgICAgIGNvbnN0IGlzTWFuYWdlZEFjY291bnQgPSB0aGlzLm5vZGUudHJ5R2V0Q29udGV4dCgnbWFuYWdlZEFjY291bnQnKSA9PT0gJ3RydWUnO1xuXG4gICAgICAgIGxldCBpcHY0SXBhbVBvb2xJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAoaXNNYW5hZ2VkQWNjb3VudCAmJiBhY2NvdW50SWQpIHtcbiAgICAgICAgICBpcHY0SXBhbVBvb2xJZCA9IEZuLmltcG9ydFZhbHVlKGBJcGFtUG9vbElkJHthY2NvdW50SWR9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRlZmF1bHRWcGMgPSBWcGNGYWN0b3J5LmJ1aWxkKGAke3RoaXMubmFtZX1EZWZhdWx0VnBjYCwge1xuICAgICAgICAgIGFjY291bnRJZCxcbiAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgaXB2NElwYW1Qb29sSWRcbiAgICAgICAgfSkodGhpcywgbmV0d29ya1N0YWNrLmdldFN0YWNrKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRWcGM7XG4gIH1cblxuICAvKipcbiAgICogUmV1c2UgYW4gZXhpc3RpbmcgVlBDLlxuICAgKiBBY2NlcHRzIGVpdGhlciBhIFZwYyBvYmplY3Qgb3IgYSBwbGFpbiBWUEMgSUQgc3RyaW5nIGZvciBjb252ZW5pZW5jZS5cbiAgICovXG4gIHB1YmxpYyB1c2VFeGlzdGluZ1ZwYyh2cGNJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZwYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcInVzZUV4aXN0aW5nVnBjIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZGVmYXVsdCBWUEMgaGFzIGJlZW4gY3JlYXRlZFwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZXhpc3RpbmdWcGNJZCA9IHZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJlaXZlIHRoZSBkZWZhdWx0IGFwcGxpY2F0aW9uIGNvbnRhaW5lciByZWdpc3RyeS4gSWYgdGhlIHJlZ2lzdHJ5IGRvZXMgbm90IGV4aXN0XG4gICAqICBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdENvbnRhaW5lclJlZ2lzdHJ5KCk6IEVjciB7XG4gICAgaWYgKCF0aGlzLmRlZmF1bHRFY3IpIHtcbiAgICAgIHZhciBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcblxuICAgICAgdGhpcy5kZWZhdWx0RWNyID0gRWNyRmFjdG9yeS5idWlsZChgJHt0aGlzLm5hbWV9RWNyYCkoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRFY3I7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY29tcHV0ZSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBjb21wdXRlIHN0YWNrIHVzaW5nIHRoZSBmYWN0b3J5IHBhdHRlcm4uXG4gICAqL1xuICBwdWJsaWMgYWRkQ29tcHV0ZShmbjogKGFwcDogQXBwLCBzY29wZTogQ29uc3RydWN0KSA9PiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wdXRlU3RhY2sgPSB0aGlzLmdldERlZmF1bHRDb21wdXRlU3RhY2soKTtcbiAgICBjb21wdXRlU3RhY2suYWRkQ29uc3RydWN0KGZuKHRoaXMsIGNvbXB1dGVTdGFjay5nZXRTdGFjaygpKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgYWRkIGEgcmVzb3VyY2UgdG8gdGhlIGRlZmF1bHQgY29tcHV0ZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wdXRlUmVzb3VyY2UocmVzb3VyY2U6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXB1dGVTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdENvbXB1dGVTdGFjaygpO1xuICAgIGNvbXB1dGVTdGFjay5hZGRDb25zdHJ1Y3QocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBBZGQgYSBzdG9yYWdlIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IHN0b3JhZ2Ugc3RhY2sgdXNpbmcgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICovXG4gIHB1YmxpYyBhZGRTdG9yYWdlKGZuOiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IENvbnN0cnVjdCk6IFN0b3JhZ2Uge1xuICAgIGNvbnN0IHN0b3JhZ2VTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdFN0b3JhZ2VTdGFjaygpO1xuICAgIGNvbnN0IHN0b3JhZ2VDb25zdHJ1Y3QgPSBmbih0aGlzLCBzdG9yYWdlU3RhY2suZ2V0U3RhY2soKSk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChzdG9yYWdlQ29uc3RydWN0KTtcblxuICAgIHJldHVybiBzdG9yYWdlQ29uc3RydWN0IGFzIHVua25vd24gYXMgU3RvcmFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhZGQgYSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBzdG9yYWdlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIGFkZFN0b3JhZ2VSZXNvdXJjZShyZXNvdXJjZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmFnZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBzdGFuZGFyZCB0YWdzXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVTdGFuZGFyZFRhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgdGhpcy5nbG9iYWxUYWdzID0ge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBjb25maWcuZW52aXJvbm1lbnQsXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIjogdGhpcy5uYW1lXG4gICAgfTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEFwcGx5IGFsbCB0YWdzIGFzIGEgc2luZ2xlIGFzcGVjdFxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRhZ3NBc3BlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzcGVjdEFwcGxpZWQgJiYgT2JqZWN0LmtleXModGhpcy5nbG9iYWxUYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBBcHBseSBPTkUgYXNwZWN0IHdpdGggYWxsIHRhZ3MgdXNpbmcgdGhlIENESyB2Mi4yMDYuMCsgY29tcGF0aWJsZSBTdGFuZGFyZFRhZ3NBc3BlY3RcbiAgICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBTdGFuZGFyZFRhZ3NBc3BlY3QodGhpcy5nbG9iYWxUYWdzKSk7XG4gICAgICB0aGlzLmFzcGVjdEFwcGxpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY3VzdG9tIHRhZ3MgdG8gYWxsIHJlc291cmNlcyBpbiB0aGUgYXBwXG4gICAqIEBwYXJhbSB0YWdzIEN1c3RvbSB0YWdzIHRvIGFwcGx5IHRvIGFsbCByZXNvdXJjZXNcbiAgICogQGV4YW1wbGVcbiAgICogYXBwLmFkZFRhZ3Moe1xuICAgKiAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJwbGF0Zm9ybS10ZWFtXCIsXG4gICAqICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpjb3N0LWNlbnRlclwiOiBcIkNDLTEyM1wiLFxuICAgKiAgIFwidGVhbTpzbGFjay1jaGFubmVsXCI6IFwiI3BsYXRmb3JtLWFsZXJ0c1wiXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIGFkZFRhZ3ModGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IEFwcCB7XG4gICAgLy8gTWVyZ2UgdGFncyBidXQgZG9uJ3QgYXBwbHkgYXNwZWN0IHlldFxuICAgIHRoaXMuZ2xvYmFsVGFncyA9IHtcbiAgICAgIC4uLnRoaXMuZ2xvYmFsVGFncyxcbiAgICAgIC4uLnRhZ3NcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwcDtcbiJdfQ==
|
|
@@ -4,7 +4,6 @@ exports.Vpc = exports.VpcFactory = void 0;
|
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
5
|
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
6
6
|
const logGroup_1 = require("../logging/logGroup");
|
|
7
|
-
const tagResource_1 = require("../../../utils/tagResource");
|
|
8
7
|
class VpcFactory {
|
|
9
8
|
static build(id, props) {
|
|
10
9
|
return (app, scope) => {
|
|
@@ -28,12 +27,6 @@ class Vpc extends ec2.Vpc {
|
|
|
28
27
|
flowLogs: Vpc.flowLogs(scope, id, props),
|
|
29
28
|
ipAddresses: Vpc.ipAddresses(scope, id, props)
|
|
30
29
|
});
|
|
31
|
-
if (!!props?.accountId) {
|
|
32
|
-
// Required for the VPC to use the IPAM Pool to provision IP addresses
|
|
33
|
-
(0, tagResource_1.default)(this, {
|
|
34
|
-
"fjall:operations:pool": props?.accountId || "noPool"
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
30
|
}
|
|
38
31
|
static availabilityZones(scope) {
|
|
39
32
|
return aws_cdk_lib_1.Stack.of(scope).availabilityZones.slice(0, 3);
|
|
@@ -84,4 +77,4 @@ class Vpc extends ec2.Vpc {
|
|
|
84
77
|
}
|
|
85
78
|
}
|
|
86
79
|
exports.Vpc = Vpc;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQW1EO0FBQ25ELDJDQUEyQztBQUkzQyxrREFBK0M7QUFTL0MsTUFBYSxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEdBQVEsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDcEMsTUFBTSxRQUFRLEdBQUc7Z0JBQ2YsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLHNCQUFzQixFQUFFLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFO2lCQUNoRTthQUNGLENBQUM7WUFDRixPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBWkQsZ0NBWUM7QUFFRCxNQUFhLEdBQUksU0FBUSxHQUFHLENBQUMsR0FBRztJQUM5QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN4QixHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDcEIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUMvQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztZQUN4QyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWdCO1FBQ3ZDLE9BQU8sbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUM1RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLEVBQUU7Z0JBQ3BCLFdBQVcsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQ2xELElBQUksbUJBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtvQkFDdkMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUc7b0JBQ3hDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87aUJBQ3JDLENBQUMsQ0FDSDthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQy9ELElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDdkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsOEJBQThCLEVBQUUsRUFBRTtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFVLEVBQUUsS0FBZ0I7UUFDdkMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsRUFBVSxFQUNWLFlBQW9CO1FBRXBCLE9BQU8sQ0FBQyxFQUFnQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsR0FBRyxZQUFZLElBQUksRUFBRSxFQUFFO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQW5FRCxrQkFtRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi8uLi8uLi9hcHBcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gXCIuLi9sb2dnaW5nL2xvZ0dyb3VwXCI7XG5cbmludGVyZmFjZSBWcGNQcm9wcyBleHRlbmRzIGVjMi5WcGNQcm9wcyB7XG4gIHJlZ2lvbj86IHN0cmluZztcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhdmFpbGFiaWxpdHlab25lcz86IHN0cmluZ1tdO1xuICBpcHY0SXBhbVBvb2xJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFZwY0ZhY3Rvcnkge1xuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IFZwY1Byb3BzKSB7XG4gICAgcmV0dXJuIChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4ge1xuICAgICAgY29uc3QgdnBjUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjTmFtZTogYCR7YXBwLmdldERlZmF1bHROZXR3b3JrU3RhY2soKS5nZXRTdGFja05hbWUoKX0vJHtpZH1gXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gbmV3IFZwYyhzY29wZSwgaWQsIHZwY1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWcGMgZXh0ZW5kcyBlYzIuVnBjIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBWcGNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBgdnBjLSR7aWR9YCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICB2cGNOYW1lOiBgdnBjLSR7aWR9YCxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmVzOiBWcGMuYXZhaWxhYmlsaXR5Wm9uZXMoc2NvcGUpLFxuICAgICAgZmxvd0xvZ3M6IFZwYy5mbG93TG9ncyhzY29wZSwgaWQsIHByb3BzKSxcbiAgICAgIGlwQWRkcmVzc2VzOiBWcGMuaXBBZGRyZXNzZXMoc2NvcGUsIGlkLCBwcm9wcylcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBhdmFpbGFiaWxpdHlab25lcyhzY29wZTogQ29uc3RydWN0KSB7XG4gICAgcmV0dXJuIFN0YWNrLm9mKHNjb3BlKS5hdmFpbGFiaWxpdHlab25lcy5zbGljZSgwLCAzKTtcbiAgfVxuXG4gIHN0YXRpYyBmbG93TG9ncyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFZwY1Byb3BzKSB7XG4gICAgaWYgKCFwcm9wcyB8fCAhcHJvcHMuYWNjb3VudElkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFtgJHtpZH1WcGNGbG93TG9nc2BdOiB7XG4gICAgICAgIGRlc3RpbmF0aW9uOiBlYzIuRmxvd0xvZ0Rlc3RpbmF0aW9uLnRvQ2xvdWRXYXRjaExvZ3MoXG4gICAgICAgICAgbmV3IExvZ0dyb3VwKHNjb3BlLCBgJHtpZH1GbG93TG9nR3JvdXBgLCB7XG4gICAgICAgICAgICBsb2dHcm91cE5hbWU6IGAvdnBjL2Zsb3dsb2dzL3ZwYy0ke2lkfS9gLFxuICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgaXBBZGRyZXNzZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBWcGNQcm9wcykge1xuICAgIGlmICghcHJvcHM/LmFjY291bnRJZCB8fCAhcHJvcHM/LmlwdjRJcGFtUG9vbElkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBlYzIuSXBBZGRyZXNzZXMuYXdzSXBhbUFsbG9jYXRpb24oe1xuICAgICAgaXB2NElwYW1Qb29sSWQ6IHByb3BzLmlwdjRJcGFtUG9vbElkLFxuICAgICAgaXB2NE5ldG1hc2tMZW5ndGg6IDIwLFxuICAgICAgZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoOiAyM1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzPzogVnBjUHJvcHMpOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgcHJvcHMpO1xuICAgIH07XG4gIH1cbiAgLyoqXG4gICAqIEltcG9ydHMgYSBwcmUtZXhpc3RpbmcgVlBDIFJlc291cmNlIGludG8geW91ciBTdGFja1xuICAgKlxuICAgKiBCZWZvcmUgdXNpbmcgYW4gaW1wb3J0IG1ldGhvZCBlbnN1cmUgeW91IGhhdmUgc2V0IHRoZSBhY2NvdW50IGFuZCByZWdpb24gcHJvcHNcbiAgICogIHdoZW4gY3JlYXRpbmcgeW91ciBBd3NTdGFjay5cbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSB2cGNTdGFja05hbWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHN0YXRpYyBpbXBvcnQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICB2cGNTdGFja05hbWU6IHN0cmluZ1xuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIHJldHVybiBlYzIuVnBjLmZyb21Mb29rdXAoc2IuZ2V0U3RhY2soKSwgaWQsIHtcbiAgICAgICAgdnBjTmFtZTogYCR7dnBjU3RhY2tOYW1lfS8ke2lkfWBcbiAgICAgIH0pO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -441,32 +441,18 @@ class StandardTagsAspect {
|
|
|
441
441
|
}
|
|
442
442
|
buildTagsArray(resource) {
|
|
443
443
|
const tagMap = new Map();
|
|
444
|
-
//
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
444
|
+
// Add IPAM pool tag for VPCs with IPAM configuration
|
|
445
|
+
if (resource.cfnResourceType === 'AWS::EC2::VPC') {
|
|
446
|
+
const properties = resource.cfnProperties || {};
|
|
447
|
+
if (properties.ipv4IpamPoolId) {
|
|
448
|
+
const stack = aws_cdk_lib_1.Stack.of(resource);
|
|
449
|
+
const accountId = stack.node.tryGetContext('accountId');
|
|
450
|
+
if (accountId) {
|
|
451
|
+
tagMap.set('fjall:operations:pool', accountId);
|
|
451
452
|
}
|
|
452
|
-
else if (tag && typeof tag === 'object' && 'key' in tag && 'value' in tag) {
|
|
453
|
-
tagMap.set(tag.key, tag.value);
|
|
454
|
-
}
|
|
455
|
-
});
|
|
456
|
-
}
|
|
457
|
-
// Check for direct tags in metadata
|
|
458
|
-
const metadata = resource.node.metadata;
|
|
459
|
-
const directTagsMetadata = metadata.filter(m => m.type === 'fjall:direct-tags');
|
|
460
|
-
directTagsMetadata.forEach(m => {
|
|
461
|
-
if (m.data && typeof m.data === 'object') {
|
|
462
|
-
Object.entries(m.data).forEach(([key, value]) => {
|
|
463
|
-
if (typeof value === 'string') {
|
|
464
|
-
tagMap.set(key, value);
|
|
465
|
-
}
|
|
466
|
-
});
|
|
467
453
|
}
|
|
468
|
-
}
|
|
469
|
-
//
|
|
454
|
+
}
|
|
455
|
+
// Apply standard tags
|
|
470
456
|
Object.entries(this.requiredTags).forEach(([key, value]) => {
|
|
471
457
|
tagMap.set(key, value);
|
|
472
458
|
});
|
|
@@ -478,4 +464,4 @@ class StandardTagsAspect {
|
|
|
478
464
|
}
|
|
479
465
|
}
|
|
480
466
|
exports.StandardTagsAspect = StandardTagsAspect;
|
|
481
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEQ7QUFHMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksWUFBdUM7UUFGbEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRzNELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQXFCO1FBQzlDLDZGQUE2RjtRQUM3RixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsTUFBTTtZQUNOLGtDQUFrQztZQUVsQyxjQUFjO1lBQ2QsMEJBQTBCO1lBQzFCLGtDQUFrQztZQUNsQyw2QkFBNkI7WUFDN0Isb0NBQW9DO1lBQ3BDLHVDQUF1QztZQUN2QyxrQ0FBa0M7WUFDbEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZQUN4QixtQ0FBbUM7WUFDbkMsMkJBQTJCO1lBQzNCLCtCQUErQjtZQUMvQiwrQkFBK0I7WUFDL0IsK0JBQStCO1lBQy9CLGdDQUFnQztZQUNoQyx3Q0FBd0M7WUFDeEMsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixrQ0FBa0M7WUFFbEMsVUFBVTtZQUNWLDBCQUEwQjtZQUMxQixxQ0FBcUM7WUFDckMsd0JBQXdCO1lBRXhCLFNBQVM7WUFDVCxnQ0FBZ0M7WUFFaEMsaUJBQWlCO1lBQ2pCLHFDQUFxQztZQUNyQyw0QkFBNEI7WUFDNUIsMkNBQTJDO1lBQzNDLG9DQUFvQztZQUNwQyx3Q0FBd0M7WUFDeEMsZ0NBQWdDO1lBQ2hDLDZDQUE2QztZQUM3QyxzQ0FBc0M7WUFDdEMscUNBQXFDO1lBQ3JDLG9DQUFvQztZQUNwQywwQ0FBMEM7WUFFMUMsYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixrQ0FBa0M7WUFDbEMsaUNBQWlDO1lBQ2pDLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsK0JBQStCO1lBRS9CLFlBQVk7WUFDWiw2QkFBNkI7WUFDN0Isa0NBQWtDO1lBRWxDLGFBQWE7WUFDYixtQ0FBbUM7WUFFbkMsZUFBZTtZQUNmLHFDQUFxQztZQUNyQyw0QkFBNEI7WUFFNUIsVUFBVTtZQUNWLDBDQUEwQztZQUMxQyw4QkFBOEI7WUFDOUIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3Qix3Q0FBd0M7WUFDeEMsc0NBQXNDO1lBQ3RDLG1EQUFtRDtZQUNuRCxpREFBaUQ7WUFDakQsNEJBQTRCO1lBQzVCLDZDQUE2QztZQUU3QyxTQUFTO1lBQ1QsdUNBQXVDO1lBQ3ZDLHNDQUFzQztZQUN0Qyw4QkFBOEI7WUFDOUIsMENBQTBDO1lBQzFDLHVDQUF1QztZQUN2QywwQkFBMEI7WUFFMUIsV0FBVztZQUNYLDRCQUE0QjtZQUU1QixNQUFNO1lBQ04sb0NBQW9DO1lBQ3BDLDBCQUEwQjtZQUMxQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHFDQUFxQztZQUNyQywwQkFBMEI7WUFDMUIsZ0RBQWdEO1lBQ2hELG1CQUFtQjtZQUNuQix3Q0FBd0M7WUFDeEMsbUNBQW1DO1lBQ25DLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsc0NBQXNDO1lBQ3RDLDhDQUE4QztZQUM5QyxtQ0FBbUM7WUFDbkMsK0JBQStCO1lBQy9CLHNDQUFzQztZQUN0QyxzQ0FBc0M7WUFDdEMsMEJBQTBCO1lBQzFCLGlCQUFpQjtZQUNqQiwrQkFBK0I7WUFDL0IsZ0NBQWdDO1lBQ2hDLDJCQUEyQjtZQUMzQix1Q0FBdUM7WUFDdkMsdUNBQXVDO1lBQ3ZDLG9DQUFvQztZQUNwQyxpQ0FBaUM7WUFDakMseUNBQXlDO1lBQ3pDLG9EQUFvRDtZQUNwRCw4Q0FBOEM7WUFDOUMsOENBQThDO1lBQzlDLDJDQUEyQztZQUMzQywrQkFBK0I7WUFDL0Isb0NBQW9DO1lBQ3BDLCtDQUErQztZQUMvQywrQ0FBK0M7WUFDL0MsdUNBQXVDO1lBQ3ZDLGtDQUFrQztZQUNsQywrQkFBK0I7WUFDL0Isa0NBQWtDO1lBQ2xDLHVDQUF1QztZQUN2Qyw0QkFBNEI7WUFDNUIsd0JBQXdCO1lBQ3hCLHFDQUFxQztZQUNyQyw2Q0FBNkM7WUFDN0MsOEJBQThCO1lBQzlCLHlDQUF5QztZQUN6QyxnQ0FBZ0M7WUFDaEMsOEJBQThCO1lBQzlCLHNDQUFzQztZQUV0QyxNQUFNO1lBQ04sNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQywwQkFBMEI7WUFDMUIsb0NBQW9DO1lBRXBDLE1BQU07WUFDTiwwQkFBMEI7WUFDMUIsNEJBQTRCO1lBQzVCLCtDQUErQztZQUMvQywwQkFBMEI7WUFDMUIsbUJBQW1CO1lBRW5CLE1BQU07WUFDTix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBRXZCLE1BQU07WUFDTixpQkFBaUI7WUFDakIsMEJBQTBCO1lBQzFCLGtDQUFrQztZQUVsQyxjQUFjO1lBQ2Qsa0NBQWtDO1lBQ2xDLGlDQUFpQztZQUNqQyx3Q0FBd0M7WUFDeEMsK0JBQStCO1lBRS9CLG1CQUFtQjtZQUNuQiwyQ0FBMkM7WUFDM0MsOENBQThDO1lBRTlDLHlCQUF5QjtZQUN6Qix1Q0FBdUM7WUFDdkMsa0RBQWtEO1lBQ2xELDJDQUEyQztZQUMzQyxvREFBb0Q7WUFFcEQsdUJBQXVCO1lBQ3ZCLDZCQUE2QjtZQUM3QixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IsbUJBQW1CO1lBRW5CLE1BQU07WUFDTixxQ0FBcUM7WUFDckMsb0JBQW9CO1lBQ3BCLGlDQUFpQztZQUNqQyxrQkFBa0I7WUFFbEIsV0FBVztZQUNYLGdDQUFnQztZQUNoQyx5QkFBeUI7WUFFekIsT0FBTztZQUNQLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsMENBQTBDO1lBQzFDLHNCQUFzQjtZQUN0QiwwQkFBMEI7WUFDMUIsa0NBQWtDO1lBQ2xDLGtDQUFrQztZQUNsQyxrQkFBa0I7WUFDbEIsZ0NBQWdDO1lBRWhDLFlBQVk7WUFDWiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsd0JBQXdCO1lBQ3hCLGdDQUFnQztZQUVoQyxNQUFNO1lBQ04scUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsd0JBQXdCO1lBQ3hCLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0IsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBRTVCLE1BQU07WUFDTixxQ0FBcUM7WUFDckMsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLCtCQUErQjtZQUMvQix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsa0JBQWtCO1lBQ2xCLHFDQUFxQztZQUNyQyxnQ0FBZ0M7WUFDaEMsbUNBQW1DO1lBQ25DLHFCQUFxQjtZQUNyQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsb0NBQW9DO1lBQ3BDLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsZ0NBQWdDO1lBRWhDLE1BQU07WUFDTixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQUV0QixTQUFTO1lBQ1QsZ0NBQWdDO1lBQ2hDLGdDQUFnQztZQUNoQyxpQ0FBaUM7WUFDakMsMkJBQTJCO1lBQzNCLHFDQUFxQztZQUNyQyx5QkFBeUI7WUFDekIsMkNBQTJDO1lBQzNDLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFFdEIsT0FBTztZQUNQLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsNEJBQTRCO1lBQzVCLDJCQUEyQjtZQUMzQiwrQkFBK0I7WUFFL0IsUUFBUTtZQUNSLHVCQUF1QjtZQUN2QixrQ0FBa0M7WUFDbEMsNEJBQTRCO1lBQzVCLHFCQUFxQjtZQUVyQixVQUFVO1lBQ1YsdUNBQXVDO1lBQ3ZDLGdDQUFnQztZQUNoQyw2QkFBNkI7WUFFN0IsZ0JBQWdCO1lBQ2hCLDZCQUE2QjtZQUM3QixrQ0FBa0M7WUFDbEMsd0NBQXdDO1lBQ3hDLDRCQUE0QjtZQUM1QixvQ0FBb0M7WUFFcEMsTUFBTTtZQUNOLG1DQUFtQztZQUNuQyw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLGtDQUFrQztZQUNsQyx5QkFBeUI7WUFDekIsNkJBQTZCO1lBQzdCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFFdkIsV0FBVztZQUNYLHNDQUFzQztZQUN0QyxxQ0FBcUM7WUFDckMsNENBQTRDO1lBQzVDLG1DQUFtQztZQUNuQywrQkFBK0I7WUFDL0Isc0NBQXNDO1lBQ3RDLGtDQUFrQztZQUNsQyxnQ0FBZ0M7WUFFaEMsVUFBVTtZQUNWLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLDZCQUE2QjtZQUM3Qix5QkFBeUI7WUFDekIsOEJBQThCO1lBRTlCLGtCQUFrQjtZQUNsQiwwQ0FBMEM7WUFDMUMseUNBQXlDO1lBQ3pDLG9EQUFvRDtZQUNwRCxzQ0FBc0M7WUFDdEMsNENBQTRDO1lBQzVDLGtEQUFrRDtZQUNsRCw2REFBNkQ7WUFDN0Qsb0NBQW9DO1lBQ3BDLCtDQUErQztZQUUvQyxLQUFLO1lBQ0wsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixpQ0FBaUM7WUFDakMsdUNBQXVDO1lBQ3ZDLHNCQUFzQjtZQUV0QixNQUFNO1lBQ04sa0JBQWtCO1lBRWxCLGlCQUFpQjtZQUNqQixxQ0FBcUM7WUFDckMsdUNBQXVDO1lBQ3ZDLDZDQUE2QztZQUU3QyxjQUFjO1lBQ2QsdUJBQXVCO1lBRXZCLGlCQUFpQjtZQUNqQiw2Q0FBNkM7WUFDN0MsbURBQW1EO1lBQ25ELDJDQUEyQztZQUMzQywrQ0FBK0M7WUFDL0Msb0RBQW9EO1lBQ3BELGtEQUFrRDtZQUNsRCxxQ0FBcUM7WUFDckMsK0NBQStDO1lBQy9DLG9DQUFvQztZQUNwQywrQ0FBK0M7WUFDL0MseUNBQXlDO1lBQ3pDLGdDQUFnQztZQUNoQywyQ0FBMkM7WUFFM0MsTUFBTTtZQUNOLDRCQUE0QjtZQUM1Qiw0Q0FBNEM7WUFDNUMsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtZQUMzQix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUV6QixNQUFNO1lBQ04sd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUV2QixNQUFNO1lBQ04sdUJBQXVCO1lBRXZCLE1BQU07WUFDTix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3QixtQ0FBbUM7WUFDbkMsaUNBQWlDO1lBQ2pDLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUUxQixNQUFNO1lBQ04sc0JBQXNCO1lBQ3RCLHVEQUF1RDtZQUN2RCx5QkFBeUI7WUFFekIsZ0JBQWdCO1lBQ2hCLDhCQUE4QjtZQUU5QixZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsNkJBQTZCO1lBQzdCLGdDQUFnQztZQUNoQyxrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLGdDQUFnQztZQUNoQywrQkFBK0I7WUFDL0IseUJBQXlCO1lBQ3pCLGlDQUFpQztZQUNqQyxtQ0FBbUM7WUFDbkMsd0JBQXdCO1lBQ3hCLHFDQUFxQztZQUNyQyx3Q0FBd0M7WUFDeEMsMEJBQTBCO1lBQzFCLHFDQUFxQztZQUNyQywrQkFBK0I7WUFDL0IsbUJBQW1CO1lBQ25CLGtDQUFrQztZQUNsQyw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQiwrQkFBK0I7WUFFL0IsYUFBYTtZQUNiLHNCQUFzQjtZQUN0Qiw4QkFBOEI7WUFDOUIsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQiwrQkFBK0I7WUFDL0IsOEJBQThCO1lBQzlCLCtCQUErQjtTQUNoQyxDQUFDO1FBRUYsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDeEQsT0FBTztRQUNULENBQUM7UUFFRCw2REFBNkQ7UUFDN0QsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvQyxnREFBZ0Q7UUFDaEQsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFxQjtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUV6QyxzQ0FBc0M7UUFDdEMsTUFBTSxZQUFZLEdBQUksUUFBZ0IsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRWxELG1EQUFtRDtRQUNuRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUksR0FBRyxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDckUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzVFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hGLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUM5QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUM5QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDekIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBQ25DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RCxHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFqaEJELGdEQWloQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXNwZWN0LCBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIEFzcGVjdCB0byBlbmZvcmNlIGEgc3RhbmRhcmQgc2V0IG9mIHRhZ3Mgb24gZXZlcnkgdGFnLWNhcGFibGUgcmVzb3VyY2UgaW4gYSBjb25zdHJ1Y3QgdHJlZS5cbiAqIFxuICogVXBkYXRlZCBmb3IgQ0RLIHYyLjIwNi4wKyBjb21wYXRpYmlsaXR5OlxuICogLSBBdm9pZHMgdXNpbmcgYW55IHRhZ2dpbmcgQVBJcyBkdXJpbmcgYXNwZWN0IHZpc2l0YXRpb24gdG8gcHJldmVudCBpbmZpbml0ZSBsb29wc1xuICogLSBVc2VzIGEgc3ludGhlc2lzLXRpbWUgYXBwcm9hY2ggdG8gbW9kaWZ5IENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlc1xuICogLSBNYWludGFpbnMgdGhlIHNhbWUgY2xlYW4gQVBJIGFuZCBhdXRvbWF0aWMgdGFnZ2luZyBiZW5lZml0c1xuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWlyZWRUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwcml2YXRlIHJlYWRvbmx5IHRhZ2dlZFJlc291cmNlcyA9IG5ldyBXZWFrU2V0PElDb25zdHJ1Y3Q+KCk7XG5cbiAgY29uc3RydWN0b3IocmVxdWlyZWRUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgdGhpcy5yZXF1aXJlZFRhZ3MgPSByZXF1aXJlZFRhZ3M7XG4gIH1cblxuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgLy8gU2tpcCBpZiBhbHJlYWR5IHByb2Nlc3NlZFxuICAgIGlmICh0aGlzLnRhZ2dlZFJlc291cmNlcy5oYXMobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgLy8gUHJvY2VzcyBMMSAoQ0ZOKSByZXNvdXJjZXMgb25seVxuICAgIGlmIChDZm5SZXNvdXJjZS5pc0NmblJlc291cmNlKG5vZGUpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDZm5SZXNvdXJjZShub2RlIGFzIENmblJlc291cmNlKTtcbiAgICAgIHRoaXMudGFnZ2VkUmVzb3VyY2VzLmFkZChub2RlKTtcbiAgICB9XG4gIH1cbiAgXG4gIHByaXZhdGUgcHJvY2Vzc0NmblJlc291cmNlKHJlc291cmNlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIC8vIFNraXAgU2VjcmV0Um90YXRpb24gcmVzb3VyY2VzIGFzIHRoZXkgY3JlYXRlIG5lc3RlZCBzdGFja3Mgd2l0aCBkaWZmZXJlbnQgdGFnIHJlcXVpcmVtZW50c1xuICAgIGlmIChyZXNvdXJjZS5ub2RlLnBhdGguaW5jbHVkZXMoJ1NlY3JldFJvdGF0aW9uJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgLy8gQ29tcHJlaGVuc2l2ZSBsaXN0IG9mIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGVzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0YWdzXG4gICAgLy8gVGhpcyBsaXN0IGlzIGJhc2VkIG9uIEFXUyBDbG91ZEZvcm1hdGlvbiBkb2N1bWVudGF0aW9uIGFuZCBrbm93biBsaW1pdGF0aW9uc1xuICAgIGNvbnN0IHVuc3VwcG9ydGVkVHlwZXMgPSBbXG4gICAgICAvLyBBQ01cbiAgICAgICdBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6QWNjb3VudCcsXG4gICAgICBcbiAgICAgIC8vIEFQSSBHYXRld2F5XG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpBY2NvdW50JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkJhc2VQYXRoTWFwcGluZycsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpEZXBsb3ltZW50JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkRvY3VtZW50YXRpb25QYXJ0JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkRvY3VtZW50YXRpb25WZXJzaW9uJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkdhdGV3YXlSZXNwb25zZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpNZXRob2QnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheTo6TW9kZWwnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheTo6UmVxdWVzdFZhbGlkYXRvcicsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpSZXNvdXJjZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6OkFwaU1hcHBpbmcnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheVYyOjpBdXRob3JpemVyJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6RGVwbG95bWVudCcsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6OkludGVncmF0aW9uJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6SW50ZWdyYXRpb25SZXNwb25zZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6Ok1vZGVsJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6Um91dGUnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheVYyOjpSb3V0ZVJlc3BvbnNlJyxcbiAgICAgIFxuICAgICAgLy8gQXBwU3luY1xuICAgICAgJ0FXUzo6QXBwU3luYzo6RGF0YVNvdXJjZScsXG4gICAgICAnQVdTOjpBcHBTeW5jOjpGdW5jdGlvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0FXUzo6QXBwU3luYzo6UmVzb2x2ZXInLFxuICAgICAgXG4gICAgICAvLyBBdGhlbmFcbiAgICAgICdBV1M6OkF0aGVuYTo6UHJlcGFyZWRTdGF0ZW1lbnQnLFxuICAgICAgXG4gICAgICAvLyBDbG91ZEZvcm1hdGlvblxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OkN1c3RvbVJlc291cmNlJyxcbiAgICAgICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpNYWNybycsXG4gICAgICAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6TW9kdWxlRGVmYXVsdFZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246Ok1vZHVsZVZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlB1YmxpY1R5cGVWZXJzaW9uJyxcbiAgICAgICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpQdWJsaXNoZXInLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlRGVmYXVsdFZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlVmVyc2lvbicsXG4gICAgICAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6VHlwZUFjdGl2YXRpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb25IYW5kbGUnLFxuICAgICAgXG4gICAgICAvLyBDbG91ZFdhdGNoXG4gICAgICAnQVdTOjpDbG91ZFdhdGNoOjpBbGFybScsXG4gICAgICAnQVdTOjpDbG91ZFdhdGNoOjpBbm9tYWx5RGV0ZWN0b3InLFxuICAgICAgJ0FXUzo6Q2xvdWRXYXRjaDo6Q29tcG9zaXRlQWxhcm0nLFxuICAgICAgJ0FXUzo6Q2xvdWRXYXRjaDo6RGFzaGJvYXJkJyxcbiAgICAgICdBV1M6OkNsb3VkV2F0Y2g6Okluc2lnaHRSdWxlJyxcbiAgICAgICdBV1M6OkNsb3VkV2F0Y2g6Ok1ldHJpY1N0cmVhbScsXG4gICAgICBcbiAgICAgIC8vIENvZGVCdWlsZFxuICAgICAgJ0FXUzo6Q29kZUJ1aWxkOjpSZXBvcnRHcm91cCcsXG4gICAgICAnQVdTOjpDb2RlQnVpbGQ6OlNvdXJjZUNyZWRlbnRpYWwnLFxuICAgICAgXG4gICAgICAvLyBDb2RlRGVwbG95XG4gICAgICAnQVdTOjpDb2RlRGVwbG95OjpEZXBsb3ltZW50Q29uZmlnJyxcbiAgICAgIFxuICAgICAgLy8gQ29kZVBpcGVsaW5lXG4gICAgICAnQVdTOjpDb2RlUGlwZWxpbmU6OkN1c3RvbUFjdGlvblR5cGUnLFxuICAgICAgJ0FXUzo6Q29kZVBpcGVsaW5lOjpXZWJob29rJyxcbiAgICAgIFxuICAgICAgLy8gQ29nbml0b1xuICAgICAgJ0FXUzo6Q29nbml0bzo6SWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xDbGllbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xEb21haW4nLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xHcm91cCcsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbElkZW50aXR5UHJvdmlkZXInLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xSZXNvdXJjZVNlcnZlcicsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbFVJQ3VzdG9taXphdGlvbkF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xVc2VyJyxcbiAgICAgICdBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclRvR3JvdXBBdHRhY2htZW50JyxcbiAgICAgIFxuICAgICAgLy8gQ29uZmlnXG4gICAgICAnQVdTOjpDb25maWc6OkFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbicsXG4gICAgICAnQVdTOjpDb25maWc6OkNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6Q29uZm9ybWFuY2VQYWNrJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6UmVtZWRpYXRpb25Db25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6U3RvcmVkUXVlcnknLFxuICAgICAgXG4gICAgICAvLyBEeW5hbW9EQlxuICAgICAgJ0FXUzo6RHluYW1vREI6Okdsb2JhbFRhYmxlJyxcbiAgICAgIFxuICAgICAgLy8gRUMyXG4gICAgICAnQVdTOjpFQzI6OkNhcGFjaXR5UmVzZXJ2YXRpb25GbGVldCcsXG4gICAgICAnQVdTOjpFQzI6OkNhcnJpZXJHYXRld2F5JyxcbiAgICAgICdBV1M6OkVDMjo6REhDUE9wdGlvbnMnLFxuICAgICAgJ0FXUzo6RUMyOjpFQzJGbGVldCcsXG4gICAgICAnQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXknLFxuICAgICAgJ0FXUzo6RUMyOjpFSVBBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OkVuY2xhdmVDZXJ0aWZpY2F0ZUlhbVJvbGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OkZsb3dMb2cnLFxuICAgICAgJ0FXUzo6RUMyOjpHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OkVDMjo6SW5zdGFuY2VDb25uZWN0RW5kcG9pbnQnLFxuICAgICAgJ0FXUzo6RUMyOjpLZXlQYWlyJyxcbiAgICAgICdBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNBY2Nlc3NTY29wZScsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FjY2Vzc1Njb3BlQW5hbHlzaXMnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNBbmFseXNpcycsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c1BhdGgnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW50ZXJmYWNlQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnRlcmZhY2VQZXJtaXNzaW9uJyxcbiAgICAgICdBV1M6OkVDMjo6UGxhY2VtZW50R3JvdXAnLFxuICAgICAgJ0FXUzo6RUMyOjpSb3V0ZScsXG4gICAgICAnQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBFZ3Jlc3MnLFxuICAgICAgJ0FXUzo6RUMyOjpTZWN1cml0eUdyb3VwSW5ncmVzcycsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldENpZHJCbG9jaycsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldFJvdXRlVGFibGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5QXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Q29ubmVjdCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5TXVsdGljYXN0RG9tYWluJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3REb21haW5Bc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5TXVsdGljYXN0R3JvdXBNZW1iZXInLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheU11bHRpY2FzdEdyb3VwU291cmNlJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlQZWVyaW5nQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Um91dGUnLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUnLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50JyxcbiAgICAgICdBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NFbmRwb2ludCcsXG4gICAgICAnQVdTOjpFQzI6OlZlcmlmaWVkQWNjZXNzR3JvdXAnLFxuICAgICAgJ0FXUzo6RUMyOjpWZXJpZmllZEFjY2Vzc0luc3RhbmNlJyxcbiAgICAgICdBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyJyxcbiAgICAgICdBV1M6OkVDMjo6Vm9sdW1lQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0NpZHJCbG9jaycsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0RIQ1BPcHRpb25zQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludENvbm5lY3Rpb25Ob3RpZmljYXRpb24nLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2UnLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2VQZXJtaXNzaW9ucycsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0dhdGV3YXlBdHRhY2htZW50JyxcbiAgICAgICdBV1M6OkVDMjo6VlBOQ29ubmVjdGlvblJvdXRlJyxcbiAgICAgICdBV1M6OkVDMjo6VlBOR2F0ZXdheVJvdXRlUHJvcGFnYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBFQ1JcbiAgICAgICdBV1M6OkVDUjo6UHVibGljUmVwb3NpdG9yeScsXG4gICAgICAnQVdTOjpFQ1I6OlB1bGxUaHJvdWdoQ2FjaGVSdWxlJyxcbiAgICAgICdBV1M6OkVDUjo6UmVnaXN0cnlQb2xpY3knLFxuICAgICAgJ0FXUzo6RUNSOjpSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBFQ1NcbiAgICAgICdBV1M6OkVDUzo6QWNjb3VudFNldHRpbmcnLFxuICAgICAgJ0FXUzo6RUNTOjpDYXBhY2l0eVByb3ZpZGVyJyxcbiAgICAgICdBV1M6OkVDUzo6Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJBc3NvY2lhdGlvbnMnLFxuICAgICAgJ0FXUzo6RUNTOjpQcmltYXJ5VGFza1NldCcsXG4gICAgICAnQVdTOjpFQ1M6OlRhc2tTZXQnLFxuICAgICAgXG4gICAgICAvLyBFRlNcbiAgICAgICdBV1M6OkVGUzo6QWNjZXNzUG9pbnQnLFxuICAgICAgJ0FXUzo6RUZTOjpNb3VudFRhcmdldCcsXG4gICAgICBcbiAgICAgIC8vIEVLU1xuICAgICAgJ0FXUzo6RUtTOjpBZGRvbicsXG4gICAgICAnQVdTOjpFS1M6OkZhcmdhdGVQcm9maWxlJyxcbiAgICAgICdBV1M6OkVLUzo6SWRlbnRpdHlQcm92aWRlckNvbmZpZycsXG4gICAgICBcbiAgICAgIC8vIEVsYXN0aUNhY2hlXG4gICAgICAnQVdTOjpFbGFzdGlDYWNoZTo6UGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6RWxhc3RpQ2FjaGU6OlNlY3VyaXR5R3JvdXAnLFxuICAgICAgJ0FXUzo6RWxhc3RpQ2FjaGU6OlNlY3VyaXR5R3JvdXBJbmdyZXNzJyxcbiAgICAgICdBV1M6OkVsYXN0aUNhY2hlOjpTdWJuZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIEVsYXN0aWNCZWFuc3RhbGtcbiAgICAgICdBV1M6OkVsYXN0aWNCZWFuc3RhbGs6OkFwcGxpY2F0aW9uVmVyc2lvbicsXG4gICAgICAnQVdTOjpFbGFzdGljQmVhbnN0YWxrOjpDb25maWd1cmF0aW9uVGVtcGxhdGUnLFxuICAgICAgXG4gICAgICAvLyBFbGFzdGljTG9hZEJhbGFuY2luZ1YyXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lcicsXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lckNlcnRpZmljYXRlJyxcbiAgICAgICdBV1M6OkVsYXN0aWNMb2FkQmFsYW5jaW5nVjI6Okxpc3RlbmVyUnVsZScsXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpUYXJnZXRHcm91cEF0dGFjaG1lbnQnLFxuICAgICAgXG4gICAgICAvLyBFdmVudEJyaWRnZSAoRXZlbnRzKVxuICAgICAgJ0FXUzo6RXZlbnRzOjpBcGlEZXN0aW5hdGlvbicsXG4gICAgICAnQVdTOjpFdmVudHM6OkFyY2hpdmUnLFxuICAgICAgJ0FXUzo6RXZlbnRzOjpDb25uZWN0aW9uJyxcbiAgICAgICdBV1M6OkV2ZW50czo6RW5kcG9pbnQnLFxuICAgICAgJ0FXUzo6RXZlbnRzOjpFdmVudEJ1c1BvbGljeScsXG4gICAgICAnQVdTOjpFdmVudHM6OlJ1bGUnLFxuICAgICAgXG4gICAgICAvLyBGU3hcbiAgICAgICdBV1M6OkZTeDo6RGF0YVJlcG9zaXRvcnlBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpGU3g6OlNuYXBzaG90JyxcbiAgICAgICdBV1M6OkZTeDo6U3RvcmFnZVZpcnR1YWxNYWNoaW5lJyxcbiAgICAgICdBV1M6OkZTeDo6Vm9sdW1lJyxcbiAgICAgIFxuICAgICAgLy8gR2FtZUxpZnRcbiAgICAgICdBV1M6OkdhbWVMaWZ0OjpHYW1lU2VydmVyR3JvdXAnLFxuICAgICAgJ0FXUzo6R2FtZUxpZnQ6OkxvY2F0aW9uJyxcbiAgICAgIFxuICAgICAgLy8gR2x1ZVxuICAgICAgJ0FXUzo6R2x1ZTo6Q29ubmVjdGlvbicsXG4gICAgICAnQVdTOjpHbHVlOjpEYXRhYmFzZScsXG4gICAgICAnQVdTOjpHbHVlOjpEYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5ncycsXG4gICAgICAnQVdTOjpHbHVlOjpQYXJ0aXRpb24nLFxuICAgICAgJ0FXUzo6R2x1ZTo6U2NoZW1hVmVyc2lvbicsXG4gICAgICAnQVdTOjpHbHVlOjpTY2hlbWFWZXJzaW9uTWV0YWRhdGEnLFxuICAgICAgJ0FXUzo6R2x1ZTo6U2VjdXJpdHlDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OkdsdWU6OlRhYmxlJyxcbiAgICAgICdBV1M6OkdsdWU6OlVzZXJEZWZpbmVkRnVuY3Rpb24nLFxuICAgICAgXG4gICAgICAvLyBHdWFyZER1dHlcbiAgICAgICdBV1M6Okd1YXJkRHV0eTo6RGV0ZWN0b3InLFxuICAgICAgJ0FXUzo6R3VhcmREdXR5OjpGaWx0ZXInLFxuICAgICAgJ0FXUzo6R3VhcmREdXR5OjpJUFNldCcsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6Ok1hc3RlcicsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6Ok1lbWJlcicsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6OlRocmVhdEludGVsU2V0JyxcbiAgICAgIFxuICAgICAgLy8gSUFNXG4gICAgICAnQVdTOjpJQU06OkFjY2Vzc0tleScsXG4gICAgICAnQVdTOjpJQU06Okdyb3VwJyxcbiAgICAgICdBV1M6OklBTTo6R3JvdXBQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpJbnN0YW5jZVByb2ZpbGUnLFxuICAgICAgJ0FXUzo6SUFNOjpNYW5hZ2VkUG9saWN5JyxcbiAgICAgICdBV1M6OklBTTo6T0lEQ1Byb3ZpZGVyJyxcbiAgICAgICdBV1M6OklBTTo6UG9saWN5JyxcbiAgICAgICdBV1M6OklBTTo6Um9sZScsXG4gICAgICAnQVdTOjpJQU06OlJvbGVQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpTQU1MUHJvdmlkZXInLFxuICAgICAgJ0FXUzo6SUFNOjpTZXJ2ZXJDZXJ0aWZpY2F0ZScsXG4gICAgICAnQVdTOjpJQU06OlNlcnZpY2VMaW5rZWRSb2xlJyxcbiAgICAgICdBV1M6OklBTTo6VXNlcicsXG4gICAgICAnQVdTOjpJQU06OlVzZXJQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpVc2VyVG9Hcm91cEFkZGl0aW9uJyxcbiAgICAgICdBV1M6OklBTTo6VmlydHVhbE1GQURldmljZScsXG4gICAgICBcbiAgICAgIC8vIElvVFxuICAgICAgJ0FXUzo6SW9UOjpBY2NvdW50QXVkaXRDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OklvVDo6QXV0aG9yaXplcicsXG4gICAgICAnQVdTOjpJb1Q6OkNlcnRpZmljYXRlJyxcbiAgICAgICdBV1M6OklvVDo6Q3VzdG9tTWV0cmljJyxcbiAgICAgICdBV1M6OklvVDo6RGltZW5zaW9uJyxcbiAgICAgICdBV1M6OklvVDo6RG9tYWluQ29uZmlndXJhdGlvbicsXG4gICAgICAnQVdTOjpJb1Q6OkZsZWV0TWV0cmljJyxcbiAgICAgICdBV1M6OklvVDo6Sm9iVGVtcGxhdGUnLFxuICAgICAgJ0FXUzo6SW9UOjpMb2dnaW5nJyxcbiAgICAgICdBV1M6OklvVDo6TWl0aWdhdGlvbkFjdGlvbicsXG4gICAgICAnQVdTOjpJb1Q6OlBvbGljeScsXG4gICAgICAnQVdTOjpJb1Q6OlBvbGljeVByaW5jaXBhbEF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6SW9UOjpQcm92aXNpb25pbmdUZW1wbGF0ZScsXG4gICAgICAnQVdTOjpJb1Q6OlJlc291cmNlU3BlY2lmaWNMb2dnaW5nJyxcbiAgICAgICdBV1M6OklvVDo6Um9sZUFsaWFzJyxcbiAgICAgICdBV1M6OklvVDo6U2NoZWR1bGVkQXVkaXQnLFxuICAgICAgJ0FXUzo6SW9UOjpTZWN1cml0eVByb2ZpbGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZycsXG4gICAgICAnQVdTOjpJb1Q6OlRoaW5nR3JvdXAnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZ1ByaW5jaXBhbEF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZ1R5cGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUb3BpY1J1bGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUb3BpY1J1bGVEZXN0aW5hdGlvbicsXG4gICAgICBcbiAgICAgIC8vIEtNU1xuICAgICAgJ0FXUzo6S01TOjpBbGlhcycsXG4gICAgICAnQVdTOjpLTVM6OkdyYW50JyxcbiAgICAgICdBV1M6OktNUzo6UmVwbGljYUtleScsXG4gICAgICBcbiAgICAgIC8vIExhbWJkYVxuICAgICAgJ0FXUzo6TGFtYmRhOjpDb2RlU2lnbmluZ0NvbmZpZycsXG4gICAgICAnQVdTOjpMYW1iZGE6OkV2ZW50SW52b2tlQ29uZmlnJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6TGF5ZXJWZXJzaW9uJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6TGF5ZXJWZXJzaW9uUGVybWlzc2lvbicsXG4gICAgICAnQVdTOjpMYW1iZGE6OlBlcm1pc3Npb24nLFxuICAgICAgJ0FXUzo6TGFtYmRhOjpQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6VXJsJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6VmVyc2lvbicsXG4gICAgICBcbiAgICAgIC8vIExvZ3NcbiAgICAgICdBV1M6OkxvZ3M6OkFjY291bnRQb2xpY3knLFxuICAgICAgJ0FXUzo6TG9nczo6RGVzdGluYXRpb24nLFxuICAgICAgJ0FXUzo6TG9nczo6TG9nR3JvdXAnLFxuICAgICAgJ0FXUzo6TG9nczo6TG9nU3RyZWFtJyxcbiAgICAgICdBV1M6OkxvZ3M6Ok1ldHJpY0ZpbHRlcicsXG4gICAgICAnQVdTOjpMb2dzOjpRdWVyeURlZmluaXRpb24nLFxuICAgICAgJ0FXUzo6TG9nczo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgJ0FXUzo6TG9nczo6U3Vic2NyaXB0aW9uRmlsdGVyJyxcbiAgICAgIFxuICAgICAgLy8gTWFjaWVcbiAgICAgICdBV1M6Ok1hY2llOjpBbGxvd0xpc3QnLFxuICAgICAgJ0FXUzo6TWFjaWU6OkN1c3RvbURhdGFJZGVudGlmaWVyJyxcbiAgICAgICdBV1M6Ok1hY2llOjpGaW5kaW5nc0ZpbHRlcicsXG4gICAgICAnQVdTOjpNYWNpZTo6U2Vzc2lvbicsXG4gICAgICBcbiAgICAgIC8vIE5lcHR1bmVcbiAgICAgICdBV1M6Ok5lcHR1bmU6OkRCQ2x1c3RlclBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6Ok5lcHR1bmU6OkRCUGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6TmVwdHVuZTo6REJTdWJuZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIE9yZ2FuaXphdGlvbnNcbiAgICAgICdBV1M6Ok9yZ2FuaXphdGlvbnM6OkFjY291bnQnLFxuICAgICAgJ0FXUzo6T3JnYW5pemF0aW9uczo6T3JnYW5pemF0aW9uJyxcbiAgICAgICdBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvbmFsVW5pdCcsXG4gICAgICAnQVdTOjpPcmdhbml6YXRpb25zOjpQb2xpY3knLFxuICAgICAgJ0FXUzo6T3JnYW5pemF0aW9uczo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBSRFNcbiAgICAgICdBV1M6OlJEUzo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6UkRTOjpEQlBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6OlJEUzo6REJTZWN1cml0eUdyb3VwJyxcbiAgICAgICdBV1M6OlJEUzo6REJTZWN1cml0eUdyb3VwSW5ncmVzcycsXG4gICAgICAnQVdTOjpSRFM6OkRCU3VibmV0R3JvdXAnLFxuICAgICAgJ0FXUzo6UkRTOjpFdmVudFN1YnNjcmlwdGlvbicsXG4gICAgICAnQVdTOjpSRFM6Okdsb2JhbENsdXN0ZXInLFxuICAgICAgJ0FXUzo6UkRTOjpPcHRpb25Hcm91cCcsXG4gICAgICBcbiAgICAgIC8vIFJlZHNoaWZ0XG4gICAgICAnQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyU2VjdXJpdHlHcm91cCcsXG4gICAgICAnQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyU3VibmV0R3JvdXAnLFxuICAgICAgJ0FXUzo6UmVkc2hpZnQ6OkVuZHBvaW50QWNjZXNzJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEF1dGhvcml6YXRpb24nLFxuICAgICAgJ0FXUzo6UmVkc2hpZnQ6OkV2ZW50U3Vic2NyaXB0aW9uJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpTY2hlZHVsZWRBY3Rpb24nLFxuICAgICAgXG4gICAgICAvLyBSb3V0ZTUzXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpETlNTRUMnLFxuICAgICAgJ0FXUzo6Um91dGU1Mzo6SGVhbHRoQ2hlY2snLFxuICAgICAgJ0FXUzo6Um91dGU1Mzo6SG9zdGVkWm9uZScsXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpLZXlTaWduaW5nS2V5JyxcbiAgICAgICdBV1M6OlJvdXRlNTM6OlJlY29yZFNldCcsXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpSZWNvcmRTZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIFJvdXRlNTNSZXNvbHZlclxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbERvbWFpbkxpc3QnLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbFJ1bGVHcm91cCcsXG4gICAgICAnQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OkZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlckNvbmZpZycsXG4gICAgICAnQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyRE5TU0VDQ29uZmlnJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJRdWVyeUxvZ2dpbmdDb25maWcnLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclF1ZXJ5TG9nZ2luZ0NvbmZpZ0Fzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJSdWxlJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJSdWxlQXNzb2NpYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBTM1xuICAgICAgJ0FXUzo6UzM6OkFjY2Vzc1BvaW50JyxcbiAgICAgICdBV1M6OlMzOjpCdWNrZXRQb2xpY3knLFxuICAgICAgJ0FXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnQnLFxuICAgICAgJ0FXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnRQb2xpY3knLFxuICAgICAgJ0FXUzo6UzM6OlN0b3JhZ2VMZW5zJyxcbiAgICAgIFxuICAgICAgLy8gU0RCXG4gICAgICAnQVdTOjpTREI6OkRvbWFpbicsXG4gICAgICBcbiAgICAgIC8vIFNlY3JldHNNYW5hZ2VyXG4gICAgICAnQVdTOjpTZWNyZXRzTWFuYWdlcjo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgJ0FXUzo6U2VjcmV0c01hbmFnZXI6OlJvdGF0aW9uU2NoZWR1bGUnLFxuICAgICAgJ0FXUzo6U2VjcmV0c01hbmFnZXI6OlNlY3JldFRhcmdldEF0dGFjaG1lbnQnLFxuICAgICAgXG4gICAgICAvLyBTZWN1cml0eUh1YlxuICAgICAgJ0FXUzo6U2VjdXJpdHlIdWI6Okh1YicsXG4gICAgICBcbiAgICAgIC8vIFNlcnZpY2VDYXRhbG9nXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6QWNjZXB0ZWRQb3J0Zm9saW9TaGFyZScsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoTm90aWZpY2F0aW9uQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoUm9sZUNvbnN0cmFpbnQnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OkxhdW5jaFRlbXBsYXRlQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6UG9ydGZvbGlvUHJpbmNpcGFsQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1Byb2R1Y3RBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6UG9ydGZvbGlvU2hhcmUnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlJlc291cmNlVXBkYXRlQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvbkFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OlNlcnZpY2VDYXRhbG9nOjpTdGFja1NldENvbnN0cmFpbnQnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlRhZ09wdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6VGFnT3B0aW9uQXNzb2NpYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBTRVNcbiAgICAgICdBV1M6OlNFUzo6Q29uZmlndXJhdGlvblNldCcsXG4gICAgICAnQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uJyxcbiAgICAgICdBV1M6OlNFUzo6Q29udGFjdExpc3QnLFxuICAgICAgJ0FXUzo6U0VTOjpEZWRpY2F0ZWRJcFBvb2wnLFxuICAgICAgJ0FXUzo6U0VTOjpFbWFpbElkZW50aXR5JyxcbiAgICAgICdBV1M6OlNFUzo6UmVjZWlwdEZpbHRlcicsXG4gICAgICAnQVdTOjpTRVM6OlJlY2VpcHRSdWxlJyxcbiAgICAgICdBV1M6OlNFUzo6UmVjZWlwdFJ1bGVTZXQnLFxuICAgICAgJ0FXUzo6U0VTOjpUZW1wbGF0ZScsXG4gICAgICAnQVdTOjpTRVM6OlZkbUF0dHJpYnV0ZXMnLFxuICAgICAgXG4gICAgICAvLyBTTlNcbiAgICAgICdBV1M6OlNOUzo6U3Vic2NyaXB0aW9uJyxcbiAgICAgICdBV1M6OlNOUzo6VG9waWNQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBTUVNcbiAgICAgICdBV1M6OlNRUzo6UXVldWVQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBTU01cbiAgICAgICdBV1M6OlNTTTo6QXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6U1NNOjpEb2N1bWVudCcsXG4gICAgICAnQVdTOjpTU006Ok1haW50ZW5hbmNlV2luZG93JyxcbiAgICAgICdBV1M6OlNTTTo6TWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQnLFxuICAgICAgJ0FXUzo6U1NNOjpNYWludGVuYW5jZVdpbmRvd1Rhc2snLFxuICAgICAgJ0FXUzo6U1NNOjpQYXJhbWV0ZXInLFxuICAgICAgJ0FXUzo6U1NNOjpQYXRjaEJhc2VsaW5lJyxcbiAgICAgICdBV1M6OlNTTTo6UmVzb3VyY2VEYXRhU3luYycsXG4gICAgICAnQVdTOjpTU006OlJlc291cmNlUG9saWN5JyxcbiAgICAgIFxuICAgICAgLy8gU1NPXG4gICAgICAnQVdTOjpTU086OkFzc2lnbm1lbnQnLFxuICAgICAgJ0FXUzo6U1NPOjpJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OlNTTzo6UGVybWlzc2lvblNldCcsXG4gICAgICBcbiAgICAgIC8vIFN0ZXBGdW5jdGlvbnNcbiAgICAgICdBV1M6OlN0ZXBGdW5jdGlvbnM6OkFjdGl2aXR5JyxcbiAgICAgIFxuICAgICAgLy8gV0FGL1dBRnYyXG4gICAgICAnQVdTOjpXQUY6OkJ5dGVNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUY6OklQU2V0JyxcbiAgICAgICdBV1M6OldBRjo6UnVsZScsXG4gICAgICAnQVdTOjpXQUY6OlNpemVDb25zdHJhaW50U2V0JyxcbiAgICAgICdBV1M6OldBRjo6U3FsSW5qZWN0aW9uTWF0Y2hTZXQnLFxuICAgICAgJ0FXUzo6V0FGOjpXZWJBQ0wnLFxuICAgICAgJ0FXUzo6V0FGOjpYc3NNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6Qnl0ZU1hdGNoU2V0JyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpHZW9NYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6SVBTZXQnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlJhdGVCYXNlZFJ1bGUnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlJlZ2V4UGF0dGVyblNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6UnVsZScsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6U2l6ZUNvbnN0cmFpbnRTZXQnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlNxbEluamVjdGlvbk1hdGNoU2V0JyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpXZWJBQ0wnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OldlYkFDTEFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpYc3NNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZ2Mjo6SVBTZXQnLFxuICAgICAgJ0FXUzo6V0FGdjI6OkxvZ2dpbmdDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OldBRnYyOjpSZWdleFBhdHRlcm5TZXQnLFxuICAgICAgJ0FXUzo6V0FGdjI6OlJ1bGVHcm91cCcsXG4gICAgICAnQVdTOjpXQUZ2Mjo6V2ViQUNMJyxcbiAgICAgICdBV1M6OldBRnYyOjpXZWJBQ0xBc3NvY2lhdGlvbicsXG4gICAgICBcbiAgICAgIC8vIFNlcnZlcmxlc3NcbiAgICAgICdBV1M6OlNlcnZlcmxlc3M6OkFwaScsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpBcHBsaWNhdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpGdW5jdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpIdHRwQXBpJyxcbiAgICAgICdBV1M6OlNlcnZlcmxlc3M6OkxheWVyVmVyc2lvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpTaW1wbGVUYWJsZScsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpTdGF0ZU1hY2hpbmUnXG4gICAgXTtcbiAgICBcbiAgICBpZiAodW5zdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcyhyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFxuICAgIC8vIEFkZCBhIHN5bnRoZXNpcyBob29rIHRvIG1vZGlmeSB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGVcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHJlc291cmNlKTtcbiAgICBjb25zdCBsb2dpY2FsSWQgPSBzdGFjay5nZXRMb2dpY2FsSWQocmVzb3VyY2UpO1xuICAgIFxuICAgIC8vIFVzZSBhZGRUcmFuc2Zvcm0gdG8gYWRkIHRhZ3MgZHVyaW5nIHN5bnRoZXNpc1xuICAgIHJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1RhZ3MnLCB0aGlzLmJ1aWxkVGFnc0FycmF5KHJlc291cmNlKSk7XG4gIH1cbiAgXG4gIHByaXZhdGUgYnVpbGRUYWdzQXJyYXkocmVzb3VyY2U6IENmblJlc291cmNlKTogYW55W10ge1xuICAgIGNvbnN0IHRhZ01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgXG4gICAgLy8gR2V0IGFueSBleGlzdGluZyB0YWdzIGlmIHRoZXkgZXhpc3RcbiAgICBjb25zdCBleGlzdGluZ1RhZ3MgPSAocmVzb3VyY2UgYXMgYW55KS50YWdzIHx8IFtdO1xuICAgIFxuICAgIC8vIFByb2Nlc3MgZXhpc3RpbmcgdGFncyBpZiB0aGV5J3JlIGluIGFycmF5IGZvcm1hdFxuICAgIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nVGFncykpIHtcbiAgICAgIGV4aXN0aW5nVGFncy5mb3JFYWNoKCh0YWc6IGFueSkgPT4ge1xuICAgICAgICBpZiAodGFnICYmIHR5cGVvZiB0YWcgPT09ICdvYmplY3QnICYmICdLZXknIGluIHRhZyAmJiAnVmFsdWUnIGluIHRhZykge1xuICAgICAgICAgIHRhZ01hcC5zZXQodGFnLktleSwgdGFnLlZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWcgJiYgdHlwZW9mIHRhZyA9PT0gJ29iamVjdCcgJiYgJ2tleScgaW4gdGFnICYmICd2YWx1ZScgaW4gdGFnKSB7XG4gICAgICAgICAgdGFnTWFwLnNldCh0YWcua2V5LCB0YWcudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIGRpcmVjdCB0YWdzIGluIG1ldGFkYXRhXG4gICAgY29uc3QgbWV0YWRhdGEgPSByZXNvdXJjZS5ub2RlLm1ldGFkYXRhO1xuICAgIGNvbnN0IGRpcmVjdFRhZ3NNZXRhZGF0YSA9IG1ldGFkYXRhLmZpbHRlcihtID0+IG0udHlwZSA9PT0gJ2ZqYWxsOmRpcmVjdC10YWdzJyk7XG4gICAgZGlyZWN0VGFnc01ldGFkYXRhLmZvckVhY2gobSA9PiB7XG4gICAgICBpZiAobS5kYXRhICYmIHR5cGVvZiBtLmRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKG0uZGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRhZ01hcC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICAvLyBBZGQgcmVxdWlyZWQgdGFncyAob3ZlcndyaXRpbmcgaWYgdGhleSBleGlzdClcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLnJlcXVpcmVkVGFncykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICB0YWdNYXAuc2V0KGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICAgIFxuICAgIC8vIENvbnZlcnQgdG8gQ2xvdWRGb3JtYXRpb24gZm9ybWF0XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGFnTWFwLmVudHJpZXMoKSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICBLZXk6IGtleSxcbiAgICAgIFZhbHVlOiB2YWx1ZVxuICAgIH0pKTtcbiAgfVxufVxuIl19
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEQ7QUFHMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksWUFBdUM7UUFGbEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRzNELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQXFCO1FBQzlDLDZGQUE2RjtRQUM3RixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsTUFBTTtZQUNOLGtDQUFrQztZQUVsQyxjQUFjO1lBQ2QsMEJBQTBCO1lBQzFCLGtDQUFrQztZQUNsQyw2QkFBNkI7WUFDN0Isb0NBQW9DO1lBQ3BDLHVDQUF1QztZQUN2QyxrQ0FBa0M7WUFDbEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZ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Q0FBQztnQkFDOUIsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2pELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBQ25DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RCxHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFsZ0JELGdEQWtnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXNwZWN0LCBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIEFzcGVjdCB0byBlbmZvcmNlIGEgc3RhbmRhcmQgc2V0IG9mIHRhZ3Mgb24gZXZlcnkgdGFnLWNhcGFibGUgcmVzb3VyY2UgaW4gYSBjb25zdHJ1Y3QgdHJlZS5cbiAqIFxuICogVXBkYXRlZCBmb3IgQ0RLIHYyLjIwNi4wKyBjb21wYXRpYmlsaXR5OlxuICogLSBBdm9pZHMgdXNpbmcgYW55IHRhZ2dpbmcgQVBJcyBkdXJpbmcgYXNwZWN0IHZpc2l0YXRpb24gdG8gcHJldmVudCBpbmZpbml0ZSBsb29wc1xuICogLSBVc2VzIGEgc3ludGhlc2lzLXRpbWUgYXBwcm9hY2ggdG8gbW9kaWZ5IENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlc1xuICogLSBNYWludGFpbnMgdGhlIHNhbWUgY2xlYW4gQVBJIGFuZCBhdXRvbWF0aWMgdGFnZ2luZyBiZW5lZml0c1xuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWlyZWRUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwcml2YXRlIHJlYWRvbmx5IHRhZ2dlZFJlc291cmNlcyA9IG5ldyBXZWFrU2V0PElDb25zdHJ1Y3Q+KCk7XG5cbiAgY29uc3RydWN0b3IocmVxdWlyZWRUYWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgdGhpcy5yZXF1aXJlZFRhZ3MgPSByZXF1aXJlZFRhZ3M7XG4gIH1cblxuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgLy8gU2tpcCBpZiBhbHJlYWR5IHByb2Nlc3NlZFxuICAgIGlmICh0aGlzLnRhZ2dlZFJlc291cmNlcy5oYXMobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgLy8gUHJvY2VzcyBMMSAoQ0ZOKSByZXNvdXJjZXMgb25seVxuICAgIGlmIChDZm5SZXNvdXJjZS5pc0NmblJlc291cmNlKG5vZGUpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDZm5SZXNvdXJjZShub2RlIGFzIENmblJlc291cmNlKTtcbiAgICAgIHRoaXMudGFnZ2VkUmVzb3VyY2VzLmFkZChub2RlKTtcbiAgICB9XG4gIH1cbiAgXG4gIHByaXZhdGUgcHJvY2Vzc0NmblJlc291cmNlKHJlc291cmNlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIC8vIFNraXAgU2VjcmV0Um90YXRpb24gcmVzb3VyY2VzIGFzIHRoZXkgY3JlYXRlIG5lc3RlZCBzdGFja3Mgd2l0aCBkaWZmZXJlbnQgdGFnIHJlcXVpcmVtZW50c1xuICAgIGlmIChyZXNvdXJjZS5ub2RlLnBhdGguaW5jbHVkZXMoJ1NlY3JldFJvdGF0aW9uJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgLy8gQ29tcHJlaGVuc2l2ZSBsaXN0IG9mIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGVzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0YWdzXG4gICAgLy8gVGhpcyBsaXN0IGlzIGJhc2VkIG9uIEFXUyBDbG91ZEZvcm1hdGlvbiBkb2N1bWVudGF0aW9uIGFuZCBrbm93biBsaW1pdGF0aW9uc1xuICAgIGNvbnN0IHVuc3VwcG9ydGVkVHlwZXMgPSBbXG4gICAgICAvLyBBQ01cbiAgICAgICdBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6QWNjb3VudCcsXG4gICAgICBcbiAgICAgIC8vIEFQSSBHYXRld2F5XG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpBY2NvdW50JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkJhc2VQYXRoTWFwcGluZycsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpEZXBsb3ltZW50JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkRvY3VtZW50YXRpb25QYXJ0JyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkRvY3VtZW50YXRpb25WZXJzaW9uJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXk6OkdhdGV3YXlSZXNwb25zZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpNZXRob2QnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheTo6TW9kZWwnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheTo6UmVxdWVzdFZhbGlkYXRvcicsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5OjpSZXNvdXJjZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6OkFwaU1hcHBpbmcnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheVYyOjpBdXRob3JpemVyJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6RGVwbG95bWVudCcsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6OkludGVncmF0aW9uJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6SW50ZWdyYXRpb25SZXNwb25zZScsXG4gICAgICAnQVdTOjpBcGlHYXRld2F5VjI6Ok1vZGVsJyxcbiAgICAgICdBV1M6OkFwaUdhdGV3YXlWMjo6Um91dGUnLFxuICAgICAgJ0FXUzo6QXBpR2F0ZXdheVYyOjpSb3V0ZVJlc3BvbnNlJyxcbiAgICAgIFxuICAgICAgLy8gQXBwU3luY1xuICAgICAgJ0FXUzo6QXBwU3luYzo6RGF0YVNvdXJjZScsXG4gICAgICAnQVdTOjpBcHBTeW5jOjpGdW5jdGlvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ0FXUzo6QXBwU3luYzo6UmVzb2x2ZXInLFxuICAgICAgXG4gICAgICAvLyBBdGhlbmFcbiAgICAgICdBV1M6OkF0aGVuYTo6UHJlcGFyZWRTdGF0ZW1lbnQnLFxuICAgICAgXG4gICAgICAvLyBDbG91ZEZvcm1hdGlvblxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OkN1c3RvbVJlc291cmNlJyxcbiAgICAgICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpNYWNybycsXG4gICAgICAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6TW9kdWxlRGVmYXVsdFZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246Ok1vZHVsZVZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlB1YmxpY1R5cGVWZXJzaW9uJyxcbiAgICAgICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpQdWJsaXNoZXInLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlRGVmYXVsdFZlcnNpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlVmVyc2lvbicsXG4gICAgICAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6VHlwZUFjdGl2YXRpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb24nLFxuICAgICAgJ0FXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb25IYW5kbGUnLFxuICAgICAgXG4gICAgICAvLyBDbG91ZFdhdGNoXG4gICAgICAnQVdTOjpDbG91ZFdhdGNoOjpBbGFybScsXG4gICAgICAnQVdTOjpDbG91ZFdhdGNoOjpBbm9tYWx5RGV0ZWN0b3InLFxuICAgICAgJ0FXUzo6Q2xvdWRXYXRjaDo6Q29tcG9zaXRlQWxhcm0nLFxuICAgICAgJ0FXUzo6Q2xvdWRXYXRjaDo6RGFzaGJvYXJkJyxcbiAgICAgICdBV1M6OkNsb3VkV2F0Y2g6Okluc2lnaHRSdWxlJyxcbiAgICAgICdBV1M6OkNsb3VkV2F0Y2g6Ok1ldHJpY1N0cmVhbScsXG4gICAgICBcbiAgICAgIC8vIENvZGVCdWlsZFxuICAgICAgJ0FXUzo6Q29kZUJ1aWxkOjpSZXBvcnRHcm91cCcsXG4gICAgICAnQVdTOjpDb2RlQnVpbGQ6OlNvdXJjZUNyZWRlbnRpYWwnLFxuICAgICAgXG4gICAgICAvLyBDb2RlRGVwbG95XG4gICAgICAnQVdTOjpDb2RlRGVwbG95OjpEZXBsb3ltZW50Q29uZmlnJyxcbiAgICAgIFxuICAgICAgLy8gQ29kZVBpcGVsaW5lXG4gICAgICAnQVdTOjpDb2RlUGlwZWxpbmU6OkN1c3RvbUFjdGlvblR5cGUnLFxuICAgICAgJ0FXUzo6Q29kZVBpcGVsaW5lOjpXZWJob29rJyxcbiAgICAgIFxuICAgICAgLy8gQ29nbml0b1xuICAgICAgJ0FXUzo6Q29nbml0bzo6SWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xDbGllbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xEb21haW4nLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xHcm91cCcsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbElkZW50aXR5UHJvdmlkZXInLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xSZXNvdXJjZVNlcnZlcicsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpDb2duaXRvOjpVc2VyUG9vbFVJQ3VzdG9taXphdGlvbkF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6Q29nbml0bzo6VXNlclBvb2xVc2VyJyxcbiAgICAgICdBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclRvR3JvdXBBdHRhY2htZW50JyxcbiAgICAgIFxuICAgICAgLy8gQ29uZmlnXG4gICAgICAnQVdTOjpDb25maWc6OkFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbicsXG4gICAgICAnQVdTOjpDb25maWc6OkNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6Q29uZm9ybWFuY2VQYWNrJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6UmVtZWRpYXRpb25Db25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OkNvbmZpZzo6U3RvcmVkUXVlcnknLFxuICAgICAgXG4gICAgICAvLyBEeW5hbW9EQlxuICAgICAgJ0FXUzo6RHluYW1vREI6Okdsb2JhbFRhYmxlJyxcbiAgICAgIFxuICAgICAgLy8gRUMyXG4gICAgICAnQVdTOjpFQzI6OkNhcGFjaXR5UmVzZXJ2YXRpb25GbGVldCcsXG4gICAgICAnQVdTOjpFQzI6OkNhcnJpZXJHYXRld2F5JyxcbiAgICAgICdBV1M6OkVDMjo6REhDUE9wdGlvbnMnLFxuICAgICAgJ0FXUzo6RUMyOjpFQzJGbGVldCcsXG4gICAgICAnQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXknLFxuICAgICAgJ0FXUzo6RUMyOjpFSVBBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OkVuY2xhdmVDZXJ0aWZpY2F0ZUlhbVJvbGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OkZsb3dMb2cnLFxuICAgICAgJ0FXUzo6RUMyOjpHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OkVDMjo6SW5zdGFuY2VDb25uZWN0RW5kcG9pbnQnLFxuICAgICAgJ0FXUzo6RUMyOjpLZXlQYWlyJyxcbiAgICAgICdBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNBY2Nlc3NTY29wZScsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FjY2Vzc1Njb3BlQW5hbHlzaXMnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNBbmFseXNpcycsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c1BhdGgnLFxuICAgICAgJ0FXUzo6RUMyOjpOZXR3b3JrSW50ZXJmYWNlQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6Ok5ldHdvcmtJbnRlcmZhY2VQZXJtaXNzaW9uJyxcbiAgICAgICdBV1M6OkVDMjo6UGxhY2VtZW50R3JvdXAnLFxuICAgICAgJ0FXUzo6RUMyOjpSb3V0ZScsXG4gICAgICAnQVdTOjpFQzI6OlNlY3VyaXR5R3JvdXBFZ3Jlc3MnLFxuICAgICAgJ0FXUzo6RUMyOjpTZWN1cml0eUdyb3VwSW5ncmVzcycsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldENpZHJCbG9jaycsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldE5ldHdvcmtBY2xBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlN1Ym5ldFJvdXRlVGFibGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5QXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Q29ubmVjdCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5TXVsdGljYXN0RG9tYWluJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3REb21haW5Bc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5TXVsdGljYXN0R3JvdXBNZW1iZXInLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheU11bHRpY2FzdEdyb3VwU291cmNlJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlQZWVyaW5nQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Um91dGUnLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUnLFxuICAgICAgJ0FXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uJyxcbiAgICAgICdBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50JyxcbiAgICAgICdBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NFbmRwb2ludCcsXG4gICAgICAnQVdTOjpFQzI6OlZlcmlmaWVkQWNjZXNzR3JvdXAnLFxuICAgICAgJ0FXUzo6RUMyOjpWZXJpZmllZEFjY2Vzc0luc3RhbmNlJyxcbiAgICAgICdBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyJyxcbiAgICAgICdBV1M6OkVDMjo6Vm9sdW1lQXR0YWNobWVudCcsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0NpZHJCbG9jaycsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0RIQ1BPcHRpb25zQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludENvbm5lY3Rpb25Ob3RpZmljYXRpb24nLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2UnLFxuICAgICAgJ0FXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2VQZXJtaXNzaW9ucycsXG4gICAgICAnQVdTOjpFQzI6OlZQQ0dhdGV3YXlBdHRhY2htZW50JyxcbiAgICAgICdBV1M6OkVDMjo6VlBOQ29ubmVjdGlvblJvdXRlJyxcbiAgICAgICdBV1M6OkVDMjo6VlBOR2F0ZXdheVJvdXRlUHJvcGFnYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBFQ1JcbiAgICAgICdBV1M6OkVDUjo6UHVibGljUmVwb3NpdG9yeScsXG4gICAgICAnQVdTOjpFQ1I6OlB1bGxUaHJvdWdoQ2FjaGVSdWxlJyxcbiAgICAgICdBV1M6OkVDUjo6UmVnaXN0cnlQb2xpY3knLFxuICAgICAgJ0FXUzo6RUNSOjpSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBFQ1NcbiAgICAgICdBV1M6OkVDUzo6QWNjb3VudFNldHRpbmcnLFxuICAgICAgJ0FXUzo6RUNTOjpDYXBhY2l0eVByb3ZpZGVyJyxcbiAgICAgICdBV1M6OkVDUzo6Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJBc3NvY2lhdGlvbnMnLFxuICAgICAgJ0FXUzo6RUNTOjpQcmltYXJ5VGFza1NldCcsXG4gICAgICAnQVdTOjpFQ1M6OlRhc2tTZXQnLFxuICAgICAgXG4gICAgICAvLyBFRlNcbiAgICAgICdBV1M6OkVGUzo6QWNjZXNzUG9pbnQnLFxuICAgICAgJ0FXUzo6RUZTOjpNb3VudFRhcmdldCcsXG4gICAgICBcbiAgICAgIC8vIEVLU1xuICAgICAgJ0FXUzo6RUtTOjpBZGRvbicsXG4gICAgICAnQVdTOjpFS1M6OkZhcmdhdGVQcm9maWxlJyxcbiAgICAgICdBV1M6OkVLUzo6SWRlbnRpdHlQcm92aWRlckNvbmZpZycsXG4gICAgICBcbiAgICAgIC8vIEVsYXN0aUNhY2hlXG4gICAgICAnQVdTOjpFbGFzdGlDYWNoZTo6UGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6RWxhc3RpQ2FjaGU6OlNlY3VyaXR5R3JvdXAnLFxuICAgICAgJ0FXUzo6RWxhc3RpQ2FjaGU6OlNlY3VyaXR5R3JvdXBJbmdyZXNzJyxcbiAgICAgICdBV1M6OkVsYXN0aUNhY2hlOjpTdWJuZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIEVsYXN0aWNCZWFuc3RhbGtcbiAgICAgICdBV1M6OkVsYXN0aWNCZWFuc3RhbGs6OkFwcGxpY2F0aW9uVmVyc2lvbicsXG4gICAgICAnQVdTOjpFbGFzdGljQmVhbnN0YWxrOjpDb25maWd1cmF0aW9uVGVtcGxhdGUnLFxuICAgICAgXG4gICAgICAvLyBFbGFzdGljTG9hZEJhbGFuY2luZ1YyXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lcicsXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lckNlcnRpZmljYXRlJyxcbiAgICAgICdBV1M6OkVsYXN0aWNMb2FkQmFsYW5jaW5nVjI6Okxpc3RlbmVyUnVsZScsXG4gICAgICAnQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpUYXJnZXRHcm91cEF0dGFjaG1lbnQnLFxuICAgICAgXG4gICAgICAvLyBFdmVudEJyaWRnZSAoRXZlbnRzKVxuICAgICAgJ0FXUzo6RXZlbnRzOjpBcGlEZXN0aW5hdGlvbicsXG4gICAgICAnQVdTOjpFdmVudHM6OkFyY2hpdmUnLFxuICAgICAgJ0FXUzo6RXZlbnRzOjpDb25uZWN0aW9uJyxcbiAgICAgICdBV1M6OkV2ZW50czo6RW5kcG9pbnQnLFxuICAgICAgJ0FXUzo6RXZlbnRzOjpFdmVudEJ1c1BvbGljeScsXG4gICAgICAnQVdTOjpFdmVudHM6OlJ1bGUnLFxuICAgICAgXG4gICAgICAvLyBGU3hcbiAgICAgICdBV1M6OkZTeDo6RGF0YVJlcG9zaXRvcnlBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpGU3g6OlNuYXBzaG90JyxcbiAgICAgICdBV1M6OkZTeDo6U3RvcmFnZVZpcnR1YWxNYWNoaW5lJyxcbiAgICAgICdBV1M6OkZTeDo6Vm9sdW1lJyxcbiAgICAgIFxuICAgICAgLy8gR2FtZUxpZnRcbiAgICAgICdBV1M6OkdhbWVMaWZ0OjpHYW1lU2VydmVyR3JvdXAnLFxuICAgICAgJ0FXUzo6R2FtZUxpZnQ6OkxvY2F0aW9uJyxcbiAgICAgIFxuICAgICAgLy8gR2x1ZVxuICAgICAgJ0FXUzo6R2x1ZTo6Q29ubmVjdGlvbicsXG4gICAgICAnQVdTOjpHbHVlOjpEYXRhYmFzZScsXG4gICAgICAnQVdTOjpHbHVlOjpEYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5ncycsXG4gICAgICAnQVdTOjpHbHVlOjpQYXJ0aXRpb24nLFxuICAgICAgJ0FXUzo6R2x1ZTo6U2NoZW1hVmVyc2lvbicsXG4gICAgICAnQVdTOjpHbHVlOjpTY2hlbWFWZXJzaW9uTWV0YWRhdGEnLFxuICAgICAgJ0FXUzo6R2x1ZTo6U2VjdXJpdHlDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OkdsdWU6OlRhYmxlJyxcbiAgICAgICdBV1M6OkdsdWU6OlVzZXJEZWZpbmVkRnVuY3Rpb24nLFxuICAgICAgXG4gICAgICAvLyBHdWFyZER1dHlcbiAgICAgICdBV1M6Okd1YXJkRHV0eTo6RGV0ZWN0b3InLFxuICAgICAgJ0FXUzo6R3VhcmREdXR5OjpGaWx0ZXInLFxuICAgICAgJ0FXUzo6R3VhcmREdXR5OjpJUFNldCcsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6Ok1hc3RlcicsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6Ok1lbWJlcicsXG4gICAgICAnQVdTOjpHdWFyZER1dHk6OlRocmVhdEludGVsU2V0JyxcbiAgICAgIFxuICAgICAgLy8gSUFNXG4gICAgICAnQVdTOjpJQU06OkFjY2Vzc0tleScsXG4gICAgICAnQVdTOjpJQU06Okdyb3VwJyxcbiAgICAgICdBV1M6OklBTTo6R3JvdXBQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpJbnN0YW5jZVByb2ZpbGUnLFxuICAgICAgJ0FXUzo6SUFNOjpNYW5hZ2VkUG9saWN5JyxcbiAgICAgICdBV1M6OklBTTo6T0lEQ1Byb3ZpZGVyJyxcbiAgICAgICdBV1M6OklBTTo6UG9saWN5JyxcbiAgICAgICdBV1M6OklBTTo6Um9sZScsXG4gICAgICAnQVdTOjpJQU06OlJvbGVQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpTQU1MUHJvdmlkZXInLFxuICAgICAgJ0FXUzo6SUFNOjpTZXJ2ZXJDZXJ0aWZpY2F0ZScsXG4gICAgICAnQVdTOjpJQU06OlNlcnZpY2VMaW5rZWRSb2xlJyxcbiAgICAgICdBV1M6OklBTTo6VXNlcicsXG4gICAgICAnQVdTOjpJQU06OlVzZXJQb2xpY3knLFxuICAgICAgJ0FXUzo6SUFNOjpVc2VyVG9Hcm91cEFkZGl0aW9uJyxcbiAgICAgICdBV1M6OklBTTo6VmlydHVhbE1GQURldmljZScsXG4gICAgICBcbiAgICAgIC8vIElvVFxuICAgICAgJ0FXUzo6SW9UOjpBY2NvdW50QXVkaXRDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OklvVDo6QXV0aG9yaXplcicsXG4gICAgICAnQVdTOjpJb1Q6OkNlcnRpZmljYXRlJyxcbiAgICAgICdBV1M6OklvVDo6Q3VzdG9tTWV0cmljJyxcbiAgICAgICdBV1M6OklvVDo6RGltZW5zaW9uJyxcbiAgICAgICdBV1M6OklvVDo6RG9tYWluQ29uZmlndXJhdGlvbicsXG4gICAgICAnQVdTOjpJb1Q6OkZsZWV0TWV0cmljJyxcbiAgICAgICdBV1M6OklvVDo6Sm9iVGVtcGxhdGUnLFxuICAgICAgJ0FXUzo6SW9UOjpMb2dnaW5nJyxcbiAgICAgICdBV1M6OklvVDo6TWl0aWdhdGlvbkFjdGlvbicsXG4gICAgICAnQVdTOjpJb1Q6OlBvbGljeScsXG4gICAgICAnQVdTOjpJb1Q6OlBvbGljeVByaW5jaXBhbEF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6SW9UOjpQcm92aXNpb25pbmdUZW1wbGF0ZScsXG4gICAgICAnQVdTOjpJb1Q6OlJlc291cmNlU3BlY2lmaWNMb2dnaW5nJyxcbiAgICAgICdBV1M6OklvVDo6Um9sZUFsaWFzJyxcbiAgICAgICdBV1M6OklvVDo6U2NoZWR1bGVkQXVkaXQnLFxuICAgICAgJ0FXUzo6SW9UOjpTZWN1cml0eVByb2ZpbGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZycsXG4gICAgICAnQVdTOjpJb1Q6OlRoaW5nR3JvdXAnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZ1ByaW5jaXBhbEF0dGFjaG1lbnQnLFxuICAgICAgJ0FXUzo6SW9UOjpUaGluZ1R5cGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUb3BpY1J1bGUnLFxuICAgICAgJ0FXUzo6SW9UOjpUb3BpY1J1bGVEZXN0aW5hdGlvbicsXG4gICAgICBcbiAgICAgIC8vIEtNU1xuICAgICAgJ0FXUzo6S01TOjpBbGlhcycsXG4gICAgICAnQVdTOjpLTVM6OkdyYW50JyxcbiAgICAgICdBV1M6OktNUzo6UmVwbGljYUtleScsXG4gICAgICBcbiAgICAgIC8vIExhbWJkYVxuICAgICAgJ0FXUzo6TGFtYmRhOjpDb2RlU2lnbmluZ0NvbmZpZycsXG4gICAgICAnQVdTOjpMYW1iZGE6OkV2ZW50SW52b2tlQ29uZmlnJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6TGF5ZXJWZXJzaW9uJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6TGF5ZXJWZXJzaW9uUGVybWlzc2lvbicsXG4gICAgICAnQVdTOjpMYW1iZGE6OlBlcm1pc3Npb24nLFxuICAgICAgJ0FXUzo6TGFtYmRhOjpQcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlnJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6VXJsJyxcbiAgICAgICdBV1M6OkxhbWJkYTo6VmVyc2lvbicsXG4gICAgICBcbiAgICAgIC8vIExvZ3NcbiAgICAgICdBV1M6OkxvZ3M6OkFjY291bnRQb2xpY3knLFxuICAgICAgJ0FXUzo6TG9nczo6RGVzdGluYXRpb24nLFxuICAgICAgJ0FXUzo6TG9nczo6TG9nR3JvdXAnLFxuICAgICAgJ0FXUzo6TG9nczo6TG9nU3RyZWFtJyxcbiAgICAgICdBV1M6OkxvZ3M6Ok1ldHJpY0ZpbHRlcicsXG4gICAgICAnQVdTOjpMb2dzOjpRdWVyeURlZmluaXRpb24nLFxuICAgICAgJ0FXUzo6TG9nczo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgJ0FXUzo6TG9nczo6U3Vic2NyaXB0aW9uRmlsdGVyJyxcbiAgICAgIFxuICAgICAgLy8gTWFjaWVcbiAgICAgICdBV1M6Ok1hY2llOjpBbGxvd0xpc3QnLFxuICAgICAgJ0FXUzo6TWFjaWU6OkN1c3RvbURhdGFJZGVudGlmaWVyJyxcbiAgICAgICdBV1M6Ok1hY2llOjpGaW5kaW5nc0ZpbHRlcicsXG4gICAgICAnQVdTOjpNYWNpZTo6U2Vzc2lvbicsXG4gICAgICBcbiAgICAgIC8vIE5lcHR1bmVcbiAgICAgICdBV1M6Ok5lcHR1bmU6OkRCQ2x1c3RlclBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6Ok5lcHR1bmU6OkRCUGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6TmVwdHVuZTo6REJTdWJuZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIE9yZ2FuaXphdGlvbnNcbiAgICAgICdBV1M6Ok9yZ2FuaXphdGlvbnM6OkFjY291bnQnLFxuICAgICAgJ0FXUzo6T3JnYW5pemF0aW9uczo6T3JnYW5pemF0aW9uJyxcbiAgICAgICdBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvbmFsVW5pdCcsXG4gICAgICAnQVdTOjpPcmdhbml6YXRpb25zOjpQb2xpY3knLFxuICAgICAgJ0FXUzo6T3JnYW5pemF0aW9uczo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBSRFNcbiAgICAgICdBV1M6OlJEUzo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXAnLFxuICAgICAgJ0FXUzo6UkRTOjpEQlBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6OlJEUzo6REJTZWN1cml0eUdyb3VwJyxcbiAgICAgICdBV1M6OlJEUzo6REJTZWN1cml0eUdyb3VwSW5ncmVzcycsXG4gICAgICAnQVdTOjpSRFM6OkRCU3VibmV0R3JvdXAnLFxuICAgICAgJ0FXUzo6UkRTOjpFdmVudFN1YnNjcmlwdGlvbicsXG4gICAgICAnQVdTOjpSRFM6Okdsb2JhbENsdXN0ZXInLFxuICAgICAgJ0FXUzo6UkRTOjpPcHRpb25Hcm91cCcsXG4gICAgICBcbiAgICAgIC8vIFJlZHNoaWZ0XG4gICAgICAnQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclBhcmFtZXRlckdyb3VwJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyU2VjdXJpdHlHcm91cCcsXG4gICAgICAnQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyU3VibmV0R3JvdXAnLFxuICAgICAgJ0FXUzo6UmVkc2hpZnQ6OkVuZHBvaW50QWNjZXNzJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEF1dGhvcml6YXRpb24nLFxuICAgICAgJ0FXUzo6UmVkc2hpZnQ6OkV2ZW50U3Vic2NyaXB0aW9uJyxcbiAgICAgICdBV1M6OlJlZHNoaWZ0OjpTY2hlZHVsZWRBY3Rpb24nLFxuICAgICAgXG4gICAgICAvLyBSb3V0ZTUzXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpETlNTRUMnLFxuICAgICAgJ0FXUzo6Um91dGU1Mzo6SGVhbHRoQ2hlY2snLFxuICAgICAgJ0FXUzo6Um91dGU1Mzo6SG9zdGVkWm9uZScsXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpLZXlTaWduaW5nS2V5JyxcbiAgICAgICdBV1M6OlJvdXRlNTM6OlJlY29yZFNldCcsXG4gICAgICAnQVdTOjpSb3V0ZTUzOjpSZWNvcmRTZXRHcm91cCcsXG4gICAgICBcbiAgICAgIC8vIFJvdXRlNTNSZXNvbHZlclxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbERvbWFpbkxpc3QnLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbFJ1bGVHcm91cCcsXG4gICAgICAnQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OkZpcmV3YWxsUnVsZUdyb3VwQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlckNvbmZpZycsXG4gICAgICAnQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyRE5TU0VDQ29uZmlnJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJRdWVyeUxvZ2dpbmdDb25maWcnLFxuICAgICAgJ0FXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclF1ZXJ5TG9nZ2luZ0NvbmZpZ0Fzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJSdWxlJyxcbiAgICAgICdBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJSdWxlQXNzb2NpYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBTM1xuICAgICAgJ0FXUzo6UzM6OkFjY2Vzc1BvaW50JyxcbiAgICAgICdBV1M6OlMzOjpCdWNrZXRQb2xpY3knLFxuICAgICAgJ0FXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnQnLFxuICAgICAgJ0FXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnRQb2xpY3knLFxuICAgICAgJ0FXUzo6UzM6OlN0b3JhZ2VMZW5zJyxcbiAgICAgIFxuICAgICAgLy8gU0RCXG4gICAgICAnQVdTOjpTREI6OkRvbWFpbicsXG4gICAgICBcbiAgICAgIC8vIFNlY3JldHNNYW5hZ2VyXG4gICAgICAnQVdTOjpTZWNyZXRzTWFuYWdlcjo6UmVzb3VyY2VQb2xpY3knLFxuICAgICAgJ0FXUzo6U2VjcmV0c01hbmFnZXI6OlJvdGF0aW9uU2NoZWR1bGUnLFxuICAgICAgJ0FXUzo6U2VjcmV0c01hbmFnZXI6OlNlY3JldFRhcmdldEF0dGFjaG1lbnQnLFxuICAgICAgXG4gICAgICAvLyBTZWN1cml0eUh1YlxuICAgICAgJ0FXUzo6U2VjdXJpdHlIdWI6Okh1YicsXG4gICAgICBcbiAgICAgIC8vIFNlcnZpY2VDYXRhbG9nXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6QWNjZXB0ZWRQb3J0Zm9saW9TaGFyZScsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoTm90aWZpY2F0aW9uQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoUm9sZUNvbnN0cmFpbnQnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OkxhdW5jaFRlbXBsYXRlQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6UG9ydGZvbGlvUHJpbmNpcGFsQXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1Byb2R1Y3RBc3NvY2lhdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6UG9ydGZvbGlvU2hhcmUnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlJlc291cmNlVXBkYXRlQ29uc3RyYWludCcsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvbkFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OlNlcnZpY2VDYXRhbG9nOjpTdGFja1NldENvbnN0cmFpbnQnLFxuICAgICAgJ0FXUzo6U2VydmljZUNhdGFsb2c6OlRhZ09wdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6VGFnT3B0aW9uQXNzb2NpYXRpb24nLFxuICAgICAgXG4gICAgICAvLyBTRVNcbiAgICAgICdBV1M6OlNFUzo6Q29uZmlndXJhdGlvblNldCcsXG4gICAgICAnQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uJyxcbiAgICAgICdBV1M6OlNFUzo6Q29udGFjdExpc3QnLFxuICAgICAgJ0FXUzo6U0VTOjpEZWRpY2F0ZWRJcFBvb2wnLFxuICAgICAgJ0FXUzo6U0VTOjpFbWFpbElkZW50aXR5JyxcbiAgICAgICdBV1M6OlNFUzo6UmVjZWlwdEZpbHRlcicsXG4gICAgICAnQVdTOjpTRVM6OlJlY2VpcHRSdWxlJyxcbiAgICAgICdBV1M6OlNFUzo6UmVjZWlwdFJ1bGVTZXQnLFxuICAgICAgJ0FXUzo6U0VTOjpUZW1wbGF0ZScsXG4gICAgICAnQVdTOjpTRVM6OlZkbUF0dHJpYnV0ZXMnLFxuICAgICAgXG4gICAgICAvLyBTTlNcbiAgICAgICdBV1M6OlNOUzo6U3Vic2NyaXB0aW9uJyxcbiAgICAgICdBV1M6OlNOUzo6VG9waWNQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBTUVNcbiAgICAgICdBV1M6OlNRUzo6UXVldWVQb2xpY3knLFxuICAgICAgXG4gICAgICAvLyBTU01cbiAgICAgICdBV1M6OlNTTTo6QXNzb2NpYXRpb24nLFxuICAgICAgJ0FXUzo6U1NNOjpEb2N1bWVudCcsXG4gICAgICAnQVdTOjpTU006Ok1haW50ZW5hbmNlV2luZG93JyxcbiAgICAgICdBV1M6OlNTTTo6TWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQnLFxuICAgICAgJ0FXUzo6U1NNOjpNYWludGVuYW5jZVdpbmRvd1Rhc2snLFxuICAgICAgJ0FXUzo6U1NNOjpQYXJhbWV0ZXInLFxuICAgICAgJ0FXUzo6U1NNOjpQYXRjaEJhc2VsaW5lJyxcbiAgICAgICdBV1M6OlNTTTo6UmVzb3VyY2VEYXRhU3luYycsXG4gICAgICAnQVdTOjpTU006OlJlc291cmNlUG9saWN5JyxcbiAgICAgIFxuICAgICAgLy8gU1NPXG4gICAgICAnQVdTOjpTU086OkFzc2lnbm1lbnQnLFxuICAgICAgJ0FXUzo6U1NPOjpJbnN0YW5jZUFjY2Vzc0NvbnRyb2xBdHRyaWJ1dGVDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OlNTTzo6UGVybWlzc2lvblNldCcsXG4gICAgICBcbiAgICAgIC8vIFN0ZXBGdW5jdGlvbnNcbiAgICAgICdBV1M6OlN0ZXBGdW5jdGlvbnM6OkFjdGl2aXR5JyxcbiAgICAgIFxuICAgICAgLy8gV0FGL1dBRnYyXG4gICAgICAnQVdTOjpXQUY6OkJ5dGVNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUY6OklQU2V0JyxcbiAgICAgICdBV1M6OldBRjo6UnVsZScsXG4gICAgICAnQVdTOjpXQUY6OlNpemVDb25zdHJhaW50U2V0JyxcbiAgICAgICdBV1M6OldBRjo6U3FsSW5qZWN0aW9uTWF0Y2hTZXQnLFxuICAgICAgJ0FXUzo6V0FGOjpXZWJBQ0wnLFxuICAgICAgJ0FXUzo6V0FGOjpYc3NNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6Qnl0ZU1hdGNoU2V0JyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpHZW9NYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6SVBTZXQnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlJhdGVCYXNlZFJ1bGUnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlJlZ2V4UGF0dGVyblNldCcsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6UnVsZScsXG4gICAgICAnQVdTOjpXQUZSZWdpb25hbDo6U2l6ZUNvbnN0cmFpbnRTZXQnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OlNxbEluamVjdGlvbk1hdGNoU2V0JyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpXZWJBQ0wnLFxuICAgICAgJ0FXUzo6V0FGUmVnaW9uYWw6OldlYkFDTEFzc29jaWF0aW9uJyxcbiAgICAgICdBV1M6OldBRlJlZ2lvbmFsOjpYc3NNYXRjaFNldCcsXG4gICAgICAnQVdTOjpXQUZ2Mjo6SVBTZXQnLFxuICAgICAgJ0FXUzo6V0FGdjI6OkxvZ2dpbmdDb25maWd1cmF0aW9uJyxcbiAgICAgICdBV1M6OldBRnYyOjpSZWdleFBhdHRlcm5TZXQnLFxuICAgICAgJ0FXUzo6V0FGdjI6OlJ1bGVHcm91cCcsXG4gICAgICAnQVdTOjpXQUZ2Mjo6V2ViQUNMJyxcbiAgICAgICdBV1M6OldBRnYyOjpXZWJBQ0xBc3NvY2lhdGlvbicsXG4gICAgICBcbiAgICAgIC8vIFNlcnZlcmxlc3NcbiAgICAgICdBV1M6OlNlcnZlcmxlc3M6OkFwaScsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpBcHBsaWNhdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpGdW5jdGlvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpIdHRwQXBpJyxcbiAgICAgICdBV1M6OlNlcnZlcmxlc3M6OkxheWVyVmVyc2lvbicsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpTaW1wbGVUYWJsZScsXG4gICAgICAnQVdTOjpTZXJ2ZXJsZXNzOjpTdGF0ZU1hY2hpbmUnXG4gICAgXTtcbiAgICBcbiAgICBpZiAodW5zdXBwb3J0ZWRUeXBlcy5pbmNsdWRlcyhyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFxuICAgIC8vIEFkZCBhIHN5bnRoZXNpcyBob29rIHRvIG1vZGlmeSB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGVcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHJlc291cmNlKTtcbiAgICBjb25zdCBsb2dpY2FsSWQgPSBzdGFjay5nZXRMb2dpY2FsSWQocmVzb3VyY2UpO1xuICAgIFxuICAgIC8vIFVzZSBhZGRUcmFuc2Zvcm0gdG8gYWRkIHRhZ3MgZHVyaW5nIHN5bnRoZXNpc1xuICAgIHJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1RhZ3MnLCB0aGlzLmJ1aWxkVGFnc0FycmF5KHJlc291cmNlKSk7XG4gIH1cbiAgXG4gIHByaXZhdGUgYnVpbGRUYWdzQXJyYXkocmVzb3VyY2U6IENmblJlc291cmNlKTogYW55W10ge1xuICAgIGNvbnN0IHRhZ01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICAvLyBBZGQgSVBBTSBwb29sIHRhZyBmb3IgVlBDcyB3aXRoIElQQU0gY29uZmlndXJhdGlvblxuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09ICdBV1M6OkVDMjo6VlBDJykge1xuICAgICAgY29uc3QgcHJvcGVydGllcyA9IChyZXNvdXJjZSBhcyBhbnkpLmNmblByb3BlcnRpZXMgfHwge307XG4gICAgICBpZiAocHJvcGVydGllcy5pcHY0SXBhbVBvb2xJZCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHJlc291cmNlKTtcbiAgICAgICAgY29uc3QgYWNjb3VudElkID0gc3RhY2subm9kZS50cnlHZXRDb250ZXh0KCdhY2NvdW50SWQnKTtcbiAgICAgICAgaWYgKGFjY291bnRJZCkge1xuICAgICAgICAgIHRhZ01hcC5zZXQoJ2ZqYWxsOm9wZXJhdGlvbnM6cG9vbCcsIGFjY291bnRJZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBcHBseSBzdGFuZGFyZCB0YWdzXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5yZXF1aXJlZFRhZ3MpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgdGFnTWFwLnNldChrZXksIHZhbHVlKTtcbiAgICB9KTtcblxuICAgIC8vIENvbnZlcnQgdG8gQ2xvdWRGb3JtYXRpb24gZm9ybWF0XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGFnTWFwLmVudHJpZXMoKSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICBLZXk6IGtleSxcbiAgICAgIFZhbHVlOiB2YWx1ZVxuICAgIH0pKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.6",
|
|
4
4
|
"bin": {
|
|
5
5
|
"infrastructure": "bin/infrastructure.js"
|
|
6
6
|
},
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@aws-sdk/client-organizations": "^3.716.0",
|
|
35
|
-
"@fjall/util": "^0.59.
|
|
35
|
+
"@fjall/util": "^0.59.6",
|
|
36
36
|
"@pepperize/cdk-organizations": "^0.7.135",
|
|
37
37
|
"cdk-time-sleep": "^1.0.0",
|
|
38
38
|
"constructs": "^10.0.0",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"overrides": {
|
|
42
42
|
"@smithy/core": "2.5.5"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "bbe98141058e8a2bb48e656a796481461597579a",
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"aws-cdk": "^2.206.0",
|
|
47
47
|
"aws-cdk-lib": "^2.206.0",
|