@mavogel/awscdk-rootmail 0.0.293 → 0.0.294

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.
Files changed (117) hide show
  1. package/.jsii +2 -2
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +11 -11
  5. package/node_modules/@aws-sdk/client-route-53/package.json +11 -11
  6. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -0
  7. package/node_modules/@aws-sdk/client-s3/dist-es/protocols/Aws_restXml.js +1 -0
  8. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +13 -13
  9. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -11
  10. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +19 -19
  11. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +19 -19
  12. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +1 -0
  13. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +40 -40
  14. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +13 -13
  15. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +76 -71
  16. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +43 -43
  17. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.browser.d.ts +1 -0
  18. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.d.ts +1 -0
  19. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.native.d.ts +1 -0
  20. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +1 -0
  21. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -0
  22. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
  23. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -0
  24. package/node_modules/@aws-sdk/client-s3/package.json +16 -16
  25. package/node_modules/@aws-sdk/client-ses/package.json +11 -11
  26. package/node_modules/@aws-sdk/client-ssm/package.json +11 -11
  27. package/node_modules/@aws-sdk/client-sso/package.json +10 -10
  28. package/node_modules/@aws-sdk/core/package.json +3 -3
  29. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  30. package/node_modules/@aws-sdk/credential-provider-http/package.json +4 -4
  31. package/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
  32. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  33. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  34. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  35. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  36. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +14 -9
  37. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js +4 -1
  38. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js +1 -0
  39. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts +4 -0
  40. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/resolveFlexibleChecksumsConfig.d.ts +17 -0
  41. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/configuration.d.ts +1 -0
  42. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/resolveFlexibleChecksumsConfig.d.ts +2 -0
  43. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +3 -3
  44. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +2 -1
  45. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +2 -1
  46. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +5 -5
  47. package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
  48. package/node_modules/@aws-sdk/nested-clients/package.json +10 -10
  49. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  50. package/node_modules/@aws-sdk/token-providers/package.json +2 -2
  51. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  52. package/node_modules/@smithy/core/package.json +2 -2
  53. package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  54. package/node_modules/@smithy/middleware-retry/package.json +2 -2
  55. package/node_modules/@smithy/smithy-client/package.json +4 -4
  56. package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  57. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  58. package/node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js +35 -0
  59. package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js +61 -0
  60. package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js +104 -0
  61. package/node_modules/@smithy/util-stream/dist-cjs/index.js +9 -7
  62. package/node_modules/@smithy/util-stream/dist-es/ByteArrayCollector.js +31 -0
  63. package/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js +57 -0
  64. package/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js +95 -0
  65. package/node_modules/@smithy/util-stream/dist-es/index.js +4 -3
  66. package/node_modules/@smithy/util-stream/dist-types/ByteArrayCollector.d.ts +13 -0
  67. package/node_modules/@smithy/util-stream/dist-types/createBufferedReadable.d.ts +13 -0
  68. package/node_modules/@smithy/util-stream/dist-types/createBufferedReadableStream.d.ts +49 -0
  69. package/node_modules/@smithy/util-stream/dist-types/index.d.ts +4 -3
  70. package/node_modules/@smithy/util-stream/dist-types/ts3.4/ByteArrayCollector.d.ts +13 -0
  71. package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadable.d.ts +13 -0
  72. package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadableStream.d.ts +53 -0
  73. package/node_modules/@smithy/util-stream/dist-types/ts3.4/index.d.ts +4 -3
  74. package/node_modules/@smithy/util-stream/package.json +5 -2
  75. package/node_modules/cdk-nag/.jsii +42 -4
  76. package/node_modules/cdk-nag/API.md +29 -4
  77. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  78. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  79. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  80. package/node_modules/cdk-nag/lib/nag-rules.d.ts +11 -0
  81. package/node_modules/cdk-nag/lib/nag-rules.js +15 -2
  82. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  83. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  84. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  85. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  86. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  87. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  88. package/node_modules/cdk-nag/lib/rules/apigw/APIGWAssociatedWithWAF.js +4 -4
  89. package/node_modules/cdk-nag/lib/rules/apigw/APIGWRequestValidation.js +3 -3
  90. package/node_modules/cdk-nag/lib/rules/cloudfront/CloudFrontDistributionS3OriginAccessControl.js +4 -4
  91. package/node_modules/cdk-nag/lib/rules/dynamodb/DynamoDBAutoScalingEnabled.js +3 -3
  92. package/node_modules/cdk-nag/lib/rules/dynamodb/DynamoDBInBackupPlan.js +2 -2
  93. package/node_modules/cdk-nag/lib/rules/ec2/EC2EBSInBackupPlan.js +2 -2
  94. package/node_modules/cdk-nag/lib/rules/ec2/EC2EBSVolumeEncrypted.js +2 -2
  95. package/node_modules/cdk-nag/lib/rules/ec2/EC2IMDSv2Enabled.js +4 -4
  96. package/node_modules/cdk-nag/lib/rules/efs/EFSInBackupPlan.js +2 -2
  97. package/node_modules/cdk-nag/lib/rules/elb/ALBWAFEnabled.js +2 -2
  98. package/node_modules/cdk-nag/lib/rules/emr/EMREncryptionInTransit.js +3 -3
  99. package/node_modules/cdk-nag/lib/rules/emr/EMRLocalDiskEncryption.js +3 -3
  100. package/node_modules/cdk-nag/lib/rules/glue/GlueEncryptedCloudWatchLogs.js +4 -4
  101. package/node_modules/cdk-nag/lib/rules/glue/GlueJobBookmarkEncrypted.js +3 -3
  102. package/node_modules/cdk-nag/lib/rules/iam/IAMGroupHasUsers.js +2 -2
  103. package/node_modules/cdk-nag/lib/rules/lex/LexBotAliasEncryptedConversationLogs.js +3 -3
  104. package/node_modules/cdk-nag/lib/rules/rds/RDSInBackupPlan.js +2 -2
  105. package/node_modules/cdk-nag/lib/rules/redshift/RedshiftClusterUserActivityLogging.js +3 -3
  106. package/node_modules/cdk-nag/lib/rules/redshift/RedshiftRequireTlsSSL.js +3 -3
  107. package/node_modules/cdk-nag/lib/rules/s3/S3BucketLoggingEnabled.js +2 -2
  108. package/node_modules/cdk-nag/lib/rules/s3/S3BucketSSLRequestsOnly.js +4 -4
  109. package/node_modules/cdk-nag/lib/rules/s3/S3WebBucketOAIAccess.js +3 -3
  110. package/node_modules/cdk-nag/lib/rules/secretsmanager/SecretsManagerRotationEnabled.js +5 -5
  111. package/node_modules/cdk-nag/lib/rules/sns/SNSTopicSSLPublishOnly.js +3 -3
  112. package/node_modules/cdk-nag/lib/rules/sqs/SQSQueueDLQ.js +2 -2
  113. package/node_modules/cdk-nag/lib/rules/sqs/SQSQueueSSLRequestsOnly.js +3 -3
  114. package/node_modules/cdk-nag/lib/rules/vpc/VPCFlowLogsEnabled.js +3 -3
  115. package/node_modules/cdk-nag/lib/rules/waf/WAFv2LoggingEnabled.js +2 -2
  116. package/node_modules/cdk-nag/package.json +2 -2
  117. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ import { Logger } from "@smithy/types";
2
+ import { ByteArrayCollector } from "./ByteArrayCollector";
3
+ export type BufferStore = [
4
+ string,
5
+ ByteArrayCollector,
6
+ ByteArrayCollector?
7
+ ];
8
+ export type BufferUnion = string | Uint8Array;
9
+ export type Modes = 0 | 1 | 2;
10
+ /**
11
+ * @internal
12
+ * @param upstream - any ReadableStream.
13
+ * @param size - byte or character length minimum. Buffering occurs when a chunk fails to meet this value.
14
+ * @param onBuffer - for emitting warnings when buffering occurs.
15
+ * @returns another stream of the same data, but buffers chunks until
16
+ * the minimum size is met, except for the last chunk.
17
+ */
18
+ export declare function createBufferedReadableStream(upstream: ReadableStream, size: number, logger?: Logger): ReadableStream;
19
+ /**
20
+ * Replaces R/RS polymorphic implementation in environments with only ReadableStream.
21
+ * @internal
22
+ */
23
+ export declare const createBufferedReadable: typeof createBufferedReadableStream;
24
+ /**
25
+ * @internal
26
+ * @param buffers
27
+ * @param mode
28
+ * @param chunk
29
+ * @returns the new buffer size after merging the chunk with its appropriate buffer.
30
+ */
31
+ export declare function merge(buffers: BufferStore, mode: Modes, chunk: string | Uint8Array): number;
32
+ /**
33
+ * @internal
34
+ * @param buffers
35
+ * @param mode
36
+ * @returns the buffer matching the mode.
37
+ */
38
+ export declare function flush(buffers: BufferStore, mode: Modes | -1): BufferUnion;
39
+ /**
40
+ * @internal
41
+ * @param chunk
42
+ * @returns size of the chunk in bytes or characters.
43
+ */
44
+ export declare function sizeOf(chunk?: {
45
+ byteLength?: number;
46
+ length?: number;
47
+ }): number;
48
+ /**
49
+ * @internal
50
+ * @param chunk - from upstream Readable.
51
+ * @returns type index of the chunk.
52
+ */
53
+ export declare function modeOf(chunk: BufferUnion): Modes | -1;
@@ -1,8 +1,9 @@
1
1
  export * from "./blob/Uint8ArrayBlobAdapter";
2
+ export * from "./checksum/ChecksumStream";
3
+ export * from "./checksum/createChecksumStream";
4
+ export * from "./createBufferedReadable";
2
5
  export * from "./getAwsChunkedEncodingStream";
6
+ export * from "./headStream";
3
7
  export * from "./sdk-stream-mixin";
4
8
  export * from "./splitStream";
5
- export * from "./headStream";
6
9
  export * from "./stream-type-check";
7
- export * from "./checksum/createChecksumStream";
8
- export * from "./checksum/ChecksumStream";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-stream",
3
- "version": "4.0.2",
3
+ "version": "4.1.1",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline util-stream",
@@ -61,6 +61,7 @@
61
61
  "browser": {
62
62
  "./dist-es/checksum/ChecksumStream": "./dist-es/checksum/ChecksumStream.browser",
63
63
  "./dist-es/checksum/createChecksumStream": "./dist-es/checksum/createChecksumStream.browser",
64
+ "./dist-es/createBufferedReadable": "./dist-es/createBufferedReadableStream",
64
65
  "./dist-es/getAwsChunkedEncodingStream": "./dist-es/getAwsChunkedEncodingStream.browser",
65
66
  "./dist-es/headStream": "./dist-es/headStream.browser",
66
67
  "./dist-es/sdk-stream-mixin": "./dist-es/sdk-stream-mixin.browser",
@@ -73,12 +74,14 @@
73
74
  "./dist-es/sdk-stream-mixin": "./dist-es/sdk-stream-mixin.browser",
74
75
  "./dist-es/headStream": "./dist-es/headStream.browser",
75
76
  "./dist-es/splitStream": "./dist-es/splitStream.browser",
77
+ "./dist-es/createBufferedReadable": "./dist-es/createBufferedReadableStream",
76
78
  "./dist-cjs/checksum/createChecksumStream": "./dist-cjs/checksum/createChecksumStream.browser",
77
79
  "./dist-cjs/checksum/ChecksumStream": "./dist-cjs/checksum/ChecksumStream.browser",
78
80
  "./dist-cjs/getAwsChunkedEncodingStream": "./dist-cjs/getAwsChunkedEncodingStream.browser",
79
81
  "./dist-cjs/sdk-stream-mixin": "./dist-cjs/sdk-stream-mixin.browser",
80
82
  "./dist-cjs/headStream": "./dist-cjs/headStream.browser",
81
- "./dist-cjs/splitStream": "./dist-cjs/splitStream.browser"
83
+ "./dist-cjs/splitStream": "./dist-cjs/splitStream.browser",
84
+ "./dist-cjs/createBufferedReadable": "./dist-cjs/createBufferedReadableStream"
82
85
  },
83
86
  "homepage": "https://github.com/awslabs/smithy-typescript/tree/main/packages/util-stream",
84
87
  "repository": {
@@ -6445,6 +6445,44 @@
6445
6445
  },
6446
6446
  "static": true
6447
6447
  },
6448
+ {
6449
+ "docs": {
6450
+ "deprecated": "Use resolveResourceFromIntrinsic instead\n\nUse in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.",
6451
+ "returns": "Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.",
6452
+ "stability": "deprecated"
6453
+ },
6454
+ "locationInModule": {
6455
+ "filename": "src/nag-rules.ts",
6456
+ "line": 82
6457
+ },
6458
+ "name": "resolveResourceFromInstrinsic",
6459
+ "parameters": [
6460
+ {
6461
+ "docs": {
6462
+ "summary": "The CfnResource to check."
6463
+ },
6464
+ "name": "node",
6465
+ "type": {
6466
+ "fqn": "aws-cdk-lib.CfnResource"
6467
+ }
6468
+ },
6469
+ {
6470
+ "docs": {
6471
+ "summary": "The value to attempt to resolve."
6472
+ },
6473
+ "name": "parameter",
6474
+ "type": {
6475
+ "primitive": "any"
6476
+ }
6477
+ }
6478
+ ],
6479
+ "returns": {
6480
+ "type": {
6481
+ "primitive": "any"
6482
+ }
6483
+ },
6484
+ "static": true
6485
+ },
6448
6486
  {
6449
6487
  "docs": {
6450
6488
  "returns": "Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.",
@@ -6453,9 +6491,9 @@
6453
6491
  },
6454
6492
  "locationInModule": {
6455
6493
  "filename": "src/nag-rules.ts",
6456
- "line": 79
6494
+ "line": 93
6457
6495
  },
6458
- "name": "resolveResourceFromInstrinsic",
6496
+ "name": "resolveResourceFromIntrinsic",
6459
6497
  "parameters": [
6460
6498
  {
6461
6499
  "docs": {
@@ -7156,6 +7194,6 @@
7156
7194
  "symbolId": "src/ignore-suppression-conditions:SuppressionIgnoreOr"
7157
7195
  }
7158
7196
  },
7159
- "version": "2.35.14",
7160
- "fingerprint": "lYsWTIYQLp4PuZtKckgQxkeHWdAluuTMdfjFlXWRH50="
7197
+ "version": "2.35.22",
7198
+ "fingerprint": "yA0Fi/V67SHcvBp68XfJRIPxUgUrfRV3E3KAzA4uAc0="
7161
7199
  }
@@ -1736,7 +1736,8 @@ new NagRules()
1736
1736
  | **Name** | **Description** |
1737
1737
  | --- | --- |
1738
1738
  | <code><a href="#cdk-nag.NagRules.resolveIfPrimitive">resolveIfPrimitive</a></code> | Use in cases where a primitive value must be known to pass a rule. |
1739
- | <code><a href="#cdk-nag.NagRules.resolveResourceFromInstrinsic">resolveResourceFromInstrinsic</a></code> | Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule. |
1739
+ | <code><a href="#cdk-nag.NagRules.resolveResourceFromInstrinsic">resolveResourceFromInstrinsic</a></code> | *No description.* |
1740
+ | <code><a href="#cdk-nag.NagRules.resolveResourceFromIntrinsic">resolveResourceFromIntrinsic</a></code> | Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule. |
1740
1741
 
1741
1742
  ---
1742
1743
 
@@ -1768,7 +1769,7 @@ The value to attempt to resolve.
1768
1769
 
1769
1770
  ---
1770
1771
 
1771
- ##### `resolveResourceFromInstrinsic` <a name="resolveResourceFromInstrinsic" id="cdk-nag.NagRules.resolveResourceFromInstrinsic"></a>
1772
+ ##### ~~`resolveResourceFromInstrinsic`~~ <a name="resolveResourceFromInstrinsic" id="cdk-nag.NagRules.resolveResourceFromInstrinsic"></a>
1772
1773
 
1773
1774
  ```typescript
1774
1775
  import { NagRules } from 'cdk-nag'
@@ -1776,8 +1777,6 @@ import { NagRules } from 'cdk-nag'
1776
1777
  NagRules.resolveResourceFromInstrinsic(node: CfnResource, parameter: any)
1777
1778
  ```
1778
1779
 
1779
- Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
1780
-
1781
1780
  ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveResourceFromInstrinsic.parameter.node"></a>
1782
1781
 
1783
1782
  - *Type:* aws-cdk-lib.CfnResource
@@ -1794,6 +1793,32 @@ The value to attempt to resolve.
1794
1793
 
1795
1794
  ---
1796
1795
 
1796
+ ##### `resolveResourceFromIntrinsic` <a name="resolveResourceFromIntrinsic" id="cdk-nag.NagRules.resolveResourceFromIntrinsic"></a>
1797
+
1798
+ ```typescript
1799
+ import { NagRules } from 'cdk-nag'
1800
+
1801
+ NagRules.resolveResourceFromIntrinsic(node: CfnResource, parameter: any)
1802
+ ```
1803
+
1804
+ Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
1805
+
1806
+ ###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveResourceFromIntrinsic.parameter.node"></a>
1807
+
1808
+ - *Type:* aws-cdk-lib.CfnResource
1809
+
1810
+ The CfnResource to check.
1811
+
1812
+ ---
1813
+
1814
+ ###### `parameter`<sup>Required</sup> <a name="parameter" id="cdk-nag.NagRules.resolveResourceFromIntrinsic.parameter.parameter"></a>
1815
+
1816
+ - *Type:* any
1817
+
1818
+ The value to attempt to resolve.
1819
+
1820
+ ---
1821
+
1797
1822
 
1798
1823
 
1799
1824
  ### NagSuppressions <a name="NagSuppressions" id="cdk-nag.NagSuppressions"></a>
@@ -28,7 +28,7 @@ class SuppressionIgnoreAnd {
28
28
  }
29
29
  exports.SuppressionIgnoreAnd = SuppressionIgnoreAnd;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.35.14" };
31
+ SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.35.22" };
32
32
  /**
33
33
  * Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message
34
34
  */
@@ -52,7 +52,7 @@ class SuppressionIgnoreOr {
52
52
  }
53
53
  exports.SuppressionIgnoreOr = SuppressionIgnoreOr;
54
54
  _b = JSII_RTTI_SYMBOL_1;
55
- SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.35.14" };
55
+ SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.35.22" };
56
56
  /**
57
57
  * Always ignore the suppression
58
58
  */
@@ -69,7 +69,7 @@ class SuppressionIgnoreAlways {
69
69
  }
70
70
  exports.SuppressionIgnoreAlways = SuppressionIgnoreAlways;
71
71
  _c = JSII_RTTI_SYMBOL_1;
72
- SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.35.14" };
72
+ SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.35.22" };
73
73
  /**
74
74
  * Don't ignore the suppression
75
75
  */
@@ -80,7 +80,7 @@ class SuppressionIgnoreNever {
80
80
  }
81
81
  exports.SuppressionIgnoreNever = SuppressionIgnoreNever;
82
82
  _d = JSII_RTTI_SYMBOL_1;
83
- SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.35.14" };
83
+ SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.35.22" };
84
84
  /**
85
85
  * Ignore Suppressions for Rules with a NagMessageLevel.ERROR
86
86
  */
@@ -93,5 +93,5 @@ class SuppressionIgnoreErrors {
93
93
  }
94
94
  exports.SuppressionIgnoreErrors = SuppressionIgnoreErrors;
95
95
  _e = JSII_RTTI_SYMBOL_1;
96
- SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.35.14" };
96
+ SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.35.22" };
97
97
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwyQ0FBOEM7QUF5QjlDOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFHL0IsWUFBWSxHQUFHLHFCQUE4QztRQUMzRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxHQUFHLG9CQUE2QztRQUMxRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQXJCSCxrREFzQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFFbEMsWUFBWSxjQUFzQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsQ0FDM0QsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQThCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQVpILDBEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsc0JBQXNCO0lBQ2pDLGFBQWEsQ0FBQyxNQUE4QjtRQUMxQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBSEgsd0RBSUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDbEMsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSwyQkFBZSxDQUFDLEtBQUs7WUFDN0MsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sdURBQXVEO1lBQ3hFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDOztBQUxILDBEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5hZ01lc3NhZ2VMZXZlbCB9IGZyb20gJy4vbmFnLXJ1bGVzJztcblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgTmFnUnVsZSBhbmQgdGhlIHJlbGV2YW50IE5hZ1N1cHByZXNzaW9uIGZvciB0aGUgSU5hZ1N1cHByZXNzaW9uSWdub3JlXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIHJlc291cmNlIHRoZSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIHRvLlxuICogQHBhcmFtIHJlYXNvbiBUaGUgcmVhc29uIGdpdmVuIGZvciB0aGUgc3VwcHJlc3Npb24uXG4gKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gKiBAcGFyYW0gcnVsZUxldmVsIFRoZSBzZXZlcml0eSBsZXZlbCBvZiB0aGUgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdXBwcmVzc2lvbklnbm9yZUlucHV0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlO1xuICByZWFkb25seSByZWFzb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbmRpbmdJZDogc3RyaW5nO1xuICByZWFkb25seSBydWxlTGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIE5hZ1N1cHByZXNzaW9uIElnbm9yZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nO1xufVxuXG4vKipcbiAqIElnbm9yZSB0aGUgc3VwcHJlc3Npb24gaWYgYWxsIG9mIHRoZSBnaXZlbiBJTmFnU3VwcHJlc3Npb25JZ25vcmUgcmV0dXJuIGEgbm9uLWVtcHR5IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlQW5kIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBhbmRTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLlN1cHByZXNzaW9uSWdub3JlQW5kczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW10pIHtcbiAgICBpZiAoU3VwcHJlc3Npb25JZ25vcmVBbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVBbmQgbmVlZHMgYXQgbGVhc3Qgb25lIElOYWdTdXBwcmVzc2lvbklnbm9yZSdcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzID0gU3VwcHJlc3Npb25JZ25vcmVBbmRzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzKSB7XG4gICAgICBjb25zdCBtID0gaS5jcmVhdGVNZXNzYWdlKGlucHV0KTtcbiAgICAgIG1lc3NhZ2VzLnB1c2gobSk7XG4gICAgICBpZiAoIW0pIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMuam9pbignXFxuXFx0Jyk7XG4gIH1cbn1cblxuLyoqXG4gKiBJZ25vcmUgdGhlIHN1cHByZXNzaW9uIGlmIGFueSBvZiB0aGUgZ2l2ZW4gSU5hZ1N1cHByZXNzaW9uSWdub3JlIHJldHVybiBhIG5vbi1lbXB0eSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZU9yIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBTdXBwcmVzc2lvbklnbm9yZU9yczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW107XG5cbiAgY29uc3RydWN0b3IoLi4ub3JTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdKSB7XG4gICAgaWYgKG9yU3VwcHJlc3Npb25JZ25vcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVPciBuZWVkcyBhdCBsZWFzdCBvbmUgSU5hZ1N1cHByZXNzaW9uSWdub3JlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5TdXBwcmVzc2lvbklnbm9yZU9ycyA9IG9yU3VwcHJlc3Npb25JZ25vcmVzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuU3VwcHJlc3Npb25JZ25vcmVPcnMpIHtcbiAgICAgIGNvbnN0IG0gPSBpLmNyZWF0ZU1lc3NhZ2UoaW5wdXQpO1xuICAgICAgaWYgKG0pIHtcbiAgICAgICAgbWVzc2FnZXMucHVzaChtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzID8gbWVzc2FnZXMuam9pbignXFxuXFx0JykgOiAnJztcbiAgfVxufVxuXG4vKipcbiAqIEFsd2F5cyBpZ25vcmUgdGhlIHN1cHByZXNzaW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZUFsd2F5cyBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIHByaXZhdGUgdHJpZ2dlck1lc3NhZ2U6IHN0cmluZztcbiAgY29uc3RydWN0b3IodHJpZ2dlck1lc3NhZ2U6IHN0cmluZykge1xuICAgIGlmICh0cmlnZ2VyTWVzc2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3Byb3ZpZGUgYSB0cmlnZ2VyTWVzc2FnZSBmb3IgdGhlIFN1cHByZXNzaW9uSWdub3JlQWx3YXlzJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyTWVzc2FnZSA9IHRyaWdnZXJNZXNzYWdlO1xuICB9XG4gIGNyZWF0ZU1lc3NhZ2UoX2lucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyTWVzc2FnZTtcbiAgfVxufVxuXG4vKipcbiAqIERvbid0IGlnbm9yZSB0aGUgc3VwcHJlc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlTmV2ZXIgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKF9pbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8qKlxuICogSWdub3JlIFN1cHByZXNzaW9ucyBmb3IgUnVsZXMgd2l0aCBhIE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVFcnJvcnMgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5wdXQucnVsZUxldmVsID09IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICAgICAgPyBgJHtpbnB1dC5ydWxlSWR9IGlzIGNhdGVnb3JpemVkIGFzIGFuIEVSUk9SIGFuZCBtYXkgbm90IGJlIHN1cHByZXNzZWRgXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
@@ -61,7 +61,7 @@ class AnnotationLogger {
61
61
  }
62
62
  exports.AnnotationLogger = AnnotationLogger;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- AnnotationLogger[_a] = { fqn: "cdk-nag.AnnotationLogger", version: "2.35.14" };
64
+ AnnotationLogger[_a] = { fqn: "cdk-nag.AnnotationLogger", version: "2.35.22" };
65
65
  /**
66
66
  * Possible output formats of the NagReport
67
67
  */
@@ -196,5 +196,5 @@ class NagReportLogger {
196
196
  }
197
197
  exports.NagReportLogger = NagReportLogger;
198
198
  _b = JSII_RTTI_SYMBOL_1;
199
- NagReportLogger[_b] = { fqn: "cdk-nag.NagReportLogger", version: "2.35.14" };
199
+ NagReportLogger[_b] = { fqn: "cdk-nag.NagReportLogger", version: "2.35.22" };
200
200
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsMkJBQWlFO0FBQ2pFLCtCQUE0QjtBQUM1Qiw2Q0FBbUU7QUFDbkUsMkNBTXFCO0FBeUdyQjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCO0lBSTNCLFlBQVksS0FBNkI7UUFIekMsa0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQUlsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUE4QjtRQUN6QyxPQUFPO0lBQ1QsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFnQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNoQyxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksMkJBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1Qyx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksMkJBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFD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SyxDQUFDLElBQUksQ0FBQztvQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFDbkMsVUFBVTtvQkFDVixlQUFlO29CQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QixDQUFDLENBQUM7Z0JBQ0gsSUFBQSxrQkFBYSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEJBQThCLE1BQU0sMEJBQTBCLENBQy9ELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7O0FBaEpILDBDQWlKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgYXBwZW5kRmlsZVN5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBBcHAsIENmblJlc291cmNlLCBOYW1lcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIE5hZ01lc3NhZ2VMZXZlbCxcbiAgTmFnUnVsZUNvbXBsaWFuY2UsXG4gIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcyxcbiAgTmFnUnVsZVN0YXRlcyxcbiAgVkFMSURBVElPTl9GQUlMVVJFX0lELFxufSBmcm9tICcuL25hZy1ydWxlcyc7XG5cbi8qKlxuICogU2hhcmVkIGRhdGEgZm9yIGFsbCBJTmFnTG9nZ2VyIG1ldGhvZHNcbiAqIEBwYXJhbSBuYWdQYWNrTmFtZSBUaGUgbmFtZSBvZiB0aGUgTmFnUGFjayB0aGF0IHRoZSBydWxlIGJlbG9uZ3MgdG8uXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIHJlc291cmNlIHRoZSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIHRvLlxuICogQHBhcmFtIHJ1bGVJZCBUaGUgaWQgb2YgdGhlIHJ1bGUgdG8gaWdub3JlLlxuICogQHBhcmFtIHJ1bGVPcmlnaW5hbE5hbWUgT3JpZ2luYWwgbmFtZSBvZiB0aGUgcnVsZS5cbiAqIEBwYXJhbSBydWxlSW5mbyBXaHkgdGhlIHJ1bGUgd2FzIHRyaWdnZXJlZC5cbiAqIEBwYXJhbSBydWxlRXhwbGFuYXRpb24gV2h5IHRoZSBydWxlIGV4aXN0cy5cbiAqIEBwYXJhbSBydWxlTGV2ZWwgVGhlIHNldmVyaXR5IGxldmVsIG9mIHRoZSBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlckJhc2VEYXRhIHtcbiAgcmVhZG9ubHkgbmFnUGFja05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlO1xuICByZWFkb25seSBydWxlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZU9yaWdpbmFsTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBydWxlSW5mbzogc3RyaW5nO1xuICByZWFkb25seSBydWxlRXhwbGFuYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUxldmVsOiBOYWdNZXNzYWdlTGV2ZWw7XG59XG5cbi8qKlxuICogRGF0YSBmb3Igb25Db21wbGlhbmNlIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge31cbi8qKlxuICogRGF0YSBmb3Igb25Ob25Db21wbGlhbmNlIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICogQHBhcmFtIGZpbmRpbmdJZCBUaGUgaWQgb2YgdGhlIGZpbmRpbmcgdGhhdCBpcyBiZWluZyBjaGVja2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge1xuICByZWFkb25seSBmaW5kaW5nSWQ6IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25TdXBwcmVzc2VkIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICogQHBhcmFtIHN1cHByZXNzaW9uUmVhc29uIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSBzdXBwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSBleHRlbmRzIE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhIHtcbiAgcmVhZG9ubHkgc3VwcHJlc3Npb25SZWFzb246IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25FcnJvciBtZXRob2Qgb2YgYW4gSU5hZ0xvZ2dlci5cbiAqIEBwYXJhbSBlcnJvck1lc3NhZ2U6IFRoZSBlcnJvciB0aGF0IHdhcyB0aHJvd24uXG4gKiBAcGFyYW0gc2hvdWxkTG9nSWdub3JlZCBXaGV0aGVyIG9yIG5vdCB0aGUgTmFnUGFjayB1c2VyIGhhcyBpbmRpY2F0ZWQgdGhhdCB0aGV5IHdhbnQgdG8gbG9nIHN1cHByZXNzaW9uIGRldGFpbHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnTG9nZ2VyRXJyb3JEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge1xuICByZWFkb25seSBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25TdXBwcmVzc2VkRXJyb3IgbWV0aG9kIG9mIGFuIElOYWdMb2dnZXIuXG4gKiBAcGFyYW0gZXJyb3JTdXBwcmVzc2lvblJlYXNvbiBUaGUgcmVhc29uIGdpdmVuIGZvciB0aGUgdmFsaWRhdGlvbiBlcnJvciBzdXBwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJTdXBwcmVzc2VkRXJyb3JEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyRXJyb3JEYXRhIHtcbiAgcmVhZG9ubHkgZXJyb3JTdXBwcmVzc2lvblJlYXNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgZm9yIG9uTm90QXBwbGljYWJsZSBtZXRob2Qgb2YgYW4gSU5hZ0xvZ2dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJOb3RBcHBsaWNhYmxlRGF0YSBleHRlbmRzIE5hZ0xvZ2dlckJhc2VEYXRhIHt9XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBjcmVhdGluZyBOYWdTdXBwcmVzc2lvbiBJZ25vcmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5hZ0xvZ2dlciB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIENmblJlc291cmNlIHBhc3NlcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlLlxuICAgKi9cbiAgb25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgQ2ZuUmVzb3VyY2UgZG9lcyBub3QgcGFzcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlIGFuZCB0aGUgdGhlIHJ1bGUgdmlvbGF0aW9uIGlzIG5vdCBzdXBwcmVzc2VkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgQ2ZuUmVzb3VyY2UgZG9lcyBub3QgcGFzcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlIGFuZCB0aGUgcnVsZSB2aW9sYXRpb24gaXMgc3VwcHJlc3NlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgdGhyb3dzIGFuIGVycm9yIGR1cmluZyB3aGlsZSB2YWxpZGF0aW5nIGEgQ2ZuUmVzb3VyY2UgZm9yIGNvbXBsaWFuY2UuXG4gICAqL1xuICBvbkVycm9yKGRhdGE6IE5hZ0xvZ2dlckVycm9yRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgdGhyb3dzIGFuIGVycm9yIGR1cmluZyB3aGlsZSB2YWxpZGF0aW5nIGEgQ2ZuUmVzb3VyY2UgZm9yIGNvbXBsaWFuY2UgYW5kIHRoZSBlcnJvciBpcyBzdXBwcmVzc2VkLlxuICAgKi9cbiAgb25TdXBwcmVzc2VkRXJyb3IoZGF0YTogTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gdGhlIGdpdmVuIENmblJlc291cmNlLlxuICAgKi9cbiAgb25Ob3RBcHBsaWNhYmxlKGRhdGE6IE5hZ0xvZ2dlck5vdEFwcGxpY2FibGVEYXRhKTogdm9pZDtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIEFubm90YXRpb25Mb2dnZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uTG9nZ2VyUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIGV4dGVuZGVkIGV4cGxhbmF0b3J5IGRlc2NyaXB0aW9ucyBvbiB3YXJuaW5nLCBlcnJvciwgYW5kIGxvZ2dlZCBpZ25vcmUgbWVzc2FnZXMuXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbG9nIHN1cHByZXNzZWQgcnVsZSB2aW9sYXRpb25zIGFzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0lnbm9yZXM/OiBib29sZWFuO1xufVxuLyoqXG4gKiBBIE5hZ0xvZ2dlciB0aGF0IG91dHB1dHMgdG8gdGhlIENESyBBbm5vdGF0aW9ucyBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uTG9nZ2VyIGltcGxlbWVudHMgSU5hZ0xvZ2dlciB7XG4gIHN1cHByZXNzaW9uSWQgPSAnQ2RrTmFnU3VwcHJlc3Npb24nO1xuICByZWFkb25seSB2ZXJib3NlOiBib29sZWFuO1xuICByZWFkb25seSBsb2dJZ25vcmVzOiBib29sZWFuO1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IEFubm90YXRpb25Mb2dnZXJQcm9wcykge1xuICAgIHRoaXMudmVyYm9zZSA9IHByb3BzPy52ZXJib3NlID8/IGZhbHNlO1xuICAgIHRoaXMubG9nSWdub3JlcyA9IHByb3BzPy5sb2dJZ25vcmVzID8/IGZhbHNlO1xuICB9XG4gIG9uQ29tcGxpYW5jZShfZGF0YTogTmFnTG9nZ2VyQ29tcGxpYW5jZURhdGEpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY3JlYXRlTWVzc2FnZShcbiAgICAgIGRhdGEucnVsZUlkLFxuICAgICAgZGF0YS5maW5kaW5nSWQsXG4gICAgICBkYXRhLnJ1bGVJbmZvLFxuICAgICAgZGF0YS5ydWxlRXhwbGFuYXRpb24sXG4gICAgICB0aGlzLnZlcmJvc2VcbiAgICApO1xuICAgIGlmIChkYXRhLnJ1bGVMZXZlbCA9PSBOYWdNZXNzYWdlTGV2ZWwuRVJST1IpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5ydWxlTGV2ZWwgPT0gTmFnTWVzc2FnZUxldmVsLldBUk4pIHtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZFdhcm5pbmcobWVzc2FnZSk7XG4gICAgfVxuICB9XG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0lnbm9yZXMpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuc3VwcHJlc3Npb25JZCxcbiAgICAgICAgZGF0YS5maW5kaW5nSWQsXG4gICAgICAgIGAke2RhdGEucnVsZUlkfSB3YXMgdHJpZ2dlcmVkIGJ1dCBzdXBwcmVzc2VkLmAsXG4gICAgICAgIGBQcm92aWRlZCByZWFzb246IFwiJHtkYXRhLnN1cHByZXNzaW9uUmVhc29ufVwiYCxcbiAgICAgICAgdGhpcy52ZXJib3NlXG4gICAgICApO1xuICAgICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkSW5mbyhtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgb25FcnJvcihkYXRhOiBOYWdMb2dnZXJFcnJvckRhdGEpOiB2b2lkIHtcbiAgICBjb25zdCBpbmZvcm1hdGlvbiA9IGAnJHtkYXRhLnJ1bGVJZH0nIHRocmV3IGFuIGVycm9yIGR1cmluZyB2YWxpZGF0aW9uLiBUaGlzIGlzIGdlbmVyYWxseSBjYXVzZWQgYnkgYSBwYXJhbWV0ZXIgcmVmZXJlbmNpbmcgYW4gaW50cmluc2ljIGZ1bmN0aW9uLiBZb3UgY2FuIHN1cHByZXNzIHRoZSBcIiR7VkFMSURBVElPTl9GQUlMVVJFX0lEfVwiIHRvIGdldCByaWQgb2YgdGhpcyBlcnJvci4gRm9yIG1vcmUgZGV0YWlscyBlbmFibGUgdmVyYm9zZSBsb2dnaW5nLidgO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICBWQUxJREFUSU9OX0ZBSUxVUkVfSUQsXG4gICAgICBkYXRhLnJ1bGVJZCxcbiAgICAgIGluZm9ybWF0aW9uLFxuICAgICAgZGF0YS5lcnJvck1lc3NhZ2UsXG4gICAgICB0aGlzLnZlcmJvc2VcbiAgICApO1xuICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZFdhcm5pbmcobWVzc2FnZSk7XG4gIH1cbiAgb25TdXBwcmVzc2VkRXJyb3IoZGF0YTogTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0lnbm9yZXMgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuc3VwcHJlc3Npb25JZCxcbiAgICAgICAgZGF0YS5ydWxlSWQsXG4gICAgICAgIGAke1ZBTElEQVRJT05fRkFJTFVSRV9JRH0gd2FzIHRyaWdnZXJlZCBidXQgc3VwcHJlc3NlZC5gLFxuICAgICAgICBkYXRhLmVycm9yU3VwcHJlc3Npb25SZWFzb24sXG4gICAgICAgIHRoaXMudmVyYm9zZVxuICAgICAgKTtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZEluZm8obWVzc2FnZSk7XG4gICAgfVxuICB9XG4gIG9uTm90QXBwbGljYWJsZShfZGF0YTogTmFnTG9nZ2VyTm90QXBwbGljYWJsZURhdGEpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTWVzc2FnZShcbiAgICBydWxlSWQ6IHN0cmluZyxcbiAgICBmaW5kaW5nSWQ6IHN0cmluZyxcbiAgICBydWxlSW5mbzogc3RyaW5nLFxuICAgIHJ1bGVFeHBsYW5hdGlvbjogc3RyaW5nLFxuICAgIHZlcmJvc2U6IGJvb2xlYW5cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZSA9IGZpbmRpbmdJZFxuICAgICAgPyBgJHtydWxlSWR9WyR7ZmluZGluZ0lkfV06ICR7cnVsZUluZm99YFxuICAgICAgOiBgJHtydWxlSWR9OiAke3J1bGVJbmZvfWA7XG4gICAgcmV0dXJuIHZlcmJvc2UgPyBgJHttZXNzYWdlfSAke3J1bGVFeHBsYW5hdGlvbn1cXG5gIDogYCR7bWVzc2FnZX1cXG5gO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmFnUmVwb3J0U2NoZW1hIHtcbiAgcmVhZG9ubHkgbGluZXM6IE5hZ1JlcG9ydExpbmVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYWdSZXBvcnRMaW5lIHtcbiAgcmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogc3RyaW5nO1xuICByZWFkb25seSBleGNlcHRpb25SZWFzb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUxldmVsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVJbmZvOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUG9zc2libGUgb3V0cHV0IGZvcm1hdHMgb2YgdGhlIE5hZ1JlcG9ydFxuICovXG5leHBvcnQgZW51bSBOYWdSZXBvcnRGb3JtYXQge1xuICBDU1YgPSAnY3N2JyxcbiAgSlNPTiA9ICdqc29uJyxcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIE5hZ1JlcG9ydExvZ2dlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1JlcG9ydExvZ2dlclByb3BzIHtcbiAgcmVhZG9ubHkgZm9ybWF0czogTmFnUmVwb3J0Rm9ybWF0W107XG59XG5cbi8qKlxuICogQSBOYWdMb2dnZXIgdGhhdCBjcmVhdGVzIGNvbXBsaWFuY2UgcmVwb3J0c1xuICovXG5leHBvcnQgY2xhc3MgTmFnUmVwb3J0TG9nZ2VyIGltcGxlbWVudHMgSU5hZ0xvZ2dlciB7XG4gIHByaXZhdGUgcmVwb3J0U3RhY2tzID0gbmV3IE1hcDxOYWdSZXBvcnRGb3JtYXQsIEFycmF5PHN0cmluZz4+KCk7XG4gIHJlYWRvbmx5IGZvcm1hdHM6IE5hZ1JlcG9ydEZvcm1hdFtdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogTmFnUmVwb3J0TG9nZ2VyUHJvcHMpIHtcbiAgICBpZiAocHJvcHMuZm9ybWF0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGF0IGxlYXN0IDEgTmFnUmVwb3J0Rm9ybWF0LicpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1hdHMgPSBwcm9wcy5mb3JtYXRzO1xuICB9XG5cbiAgb25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gICAgdGhpcy53cml0ZVRvU3RhY2tDb21wbGlhbmNlUmVwb3J0KGRhdGEsIE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVCk7XG4gIH1cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gICAgdGhpcy53cml0ZVRvU3RhY2tDb21wbGlhbmNlUmVwb3J0KGRhdGEsIE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQpO1xuICB9XG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICAgIHRoaXMud3JpdGVUb1N0YWNrQ29tcGxpYW5jZVJlcG9ydChcbiAgICAgIGRhdGEsXG4gICAgICBOYWdSdWxlUG9zdFZhbGlkYXRpb25TdGF0ZXMuU1VQUFJFU1NFRFxuICAgICk7XG4gIH1cbiAgb25FcnJvcihkYXRhOiBOYWdMb2dnZXJFcnJvckRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgICBkYXRhLFxuICAgICAgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlVOS05PV05cbiAgICApO1xuICB9XG4gIG9uU3VwcHJlc3NlZEVycm9yKGRhdGE6IE5hZ0xvZ2dlclN1cHByZXNzZWRFcnJvckRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgICBkYXRhLFxuICAgICAgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlNVUFBSRVNTRURcbiAgICApO1xuICB9XG4gIG9uTm90QXBwbGljYWJsZShkYXRhOiBOYWdMb2dnZXJOb3RBcHBsaWNhYmxlRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldEZvcm1hdFN0YWNrcyhmb3JtYXQ6IE5hZ1JlcG9ydEZvcm1hdCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5yZXBvcnRTdGFja3MuZ2V0KGZvcm1hdCkgPz8gW107XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgcmVwb3J0IGZvciB0aGUgcnVsZSBwYWNrJ3MgY29tcGxpYW5jZSByZXBvcnQgZm9yIHRoZSByZXNvdXJjZSdzIFN0YWNrIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBpbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YTogTmFnTG9nZ2VyQmFzZURhdGEpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiB0aGlzLmZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHN0YWNrTmFtZSA9IGRhdGEucmVzb3VyY2Uuc3RhY2submVzdGVkXG4gICAgICAgID8gTmFtZXMudW5pcXVlSWQoZGF0YS5yZXNvdXJjZS5zdGFjaylcbiAgICAgICAgOiBkYXRhLnJlc291cmNlLnN0YWNrLnN0YWNrTmFtZTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7ZGF0YS5uYWdQYWNrTmFtZX0tJHtzdGFja05hbWV9LU5hZ1JlcG9ydC4ke2Zvcm1hdH1gO1xuICAgICAgY29uc3Qgc3RhY2tzID0gdGhpcy5nZXRGb3JtYXRTdGFja3MoZm9ybWF0KTtcbiAgICAgIGlmICghc3RhY2tzLmluY2x1ZGVzKGZpbGVOYW1lKSkge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4oQXBwLm9mKGRhdGEucmVzb3VyY2UpPy5vdXRkaXIgPz8gJycsIGZpbGVOYW1lKTtcbiAgICAgICAgdGhpcy5yZXBvcnRTdGFja3Muc2V0KGZvcm1hdCwgWy4uLnN0YWNrcywgZmlsZU5hbWVdKTtcbiAgICAgICAgbGV0IGJvZHkgPSAnJztcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gTmFnUmVwb3J0Rm9ybWF0LkNTVikge1xuICAgICAgICAgIGJvZHkgPVxuICAgICAgICAgICAgJ1J1bGUgSUQsUmVzb3VyY2UgSUQsQ29tcGxpYW5jZSxFeGNlcHRpb24gUmVhc29uLFJ1bGUgTGV2ZWwsUnVsZSBJbmZvXFxuJztcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IE5hZ1JlcG9ydEZvcm1hdC5KU09OKSB7XG4gICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHsgbGluZXM6IFtdIH0gYXMgTmFnUmVwb3J0U2NoZW1hKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVW5yZWNvZ25pemVkIG91dHB1dCBmb3JtYXQgJHtmb3JtYXR9IGZvciB0aGUgTmFnUmVwb3J0TG9nZ2VyYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgYm9keSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHdyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgZGF0YTogTmFnTG9nZ2VyQmFzZURhdGEsXG4gICAgY29tcGxpYW5jZTogTmFnUnVsZVN0YXRlc1xuICApOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiB0aGlzLmZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHN0YWNrTmFtZSA9IGRhdGEucmVzb3VyY2Uuc3RhY2submVzdGVkXG4gICAgICAgID8gTmFtZXMudW5pcXVlSWQoZGF0YS5yZXNvdXJjZS5zdGFjaylcbiAgICAgICAgOiBkYXRhLnJlc291cmNlLnN0YWNrLnN0YWNrTmFtZTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7ZGF0YS5uYWdQYWNrTmFtZX0tJHtzdGFja05hbWV9LU5hZ1JlcG9ydC4ke2Zvcm1hdH1gO1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBqb2luKEFwcC5vZihkYXRhLnJlc291cmNlKT8ub3V0ZGlyID8/ICcnLCBmaWxlTmFtZSk7XG4gICAgICBpZiAoZm9ybWF0ID09PSBOYWdSZXBvcnRGb3JtYXQuQ1NWKSB7XG4gICAgICAgIC8vfCBSdWxlIElEIHwgUmVzb3VyY2UgSUQgfCBDb21wbGlhbmNlIHwgRXhjZXB0aW9uIFJlYXNvbiB8IFJ1bGUgTGV2ZWwgfCBSdWxlIEluZm9cbiAgICAgICAgY29uc3QgbGluZSA9IEFycmF5PHN0cmluZz4oKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUlkKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucmVzb3VyY2Uubm9kZS5wYXRoKTtcbiAgICAgICAgaWYgKGNvbXBsaWFuY2UgPT09IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKSB7XG4gICAgICAgICAgbGluZS5wdXNoKE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZGF0YSBhcyBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSkuc3VwcHJlc3Npb25SZWFzb24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGluZS5wdXNoKChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKS5zdXBwcmVzc2lvblJlYXNvbik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmUucHVzaChcbiAgICAgICAgICAgICAgKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSkuZXJyb3JTdXBwcmVzc2lvblJlYXNvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGluZS5wdXNoKGNvbXBsaWFuY2UpO1xuICAgICAgICAgIGxpbmUucHVzaCgnTi9BJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUxldmVsKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUluZm8pO1xuICAgICAgICBhcHBlbmRGaWxlU3luYyhcbiAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICBsaW5lLm1hcCgoaSkgPT4gJ1wiJyArIGkucmVwbGFjZSgvXCIvZywgJ1wiXCInKSArICdcIicpLmpvaW4oJywnKSArICdcXG4nXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gTmFnUmVwb3J0Rm9ybWF0LkpTT04pIHtcbiAgICAgICAgY29uc3QgcmVwb3J0ID0gSlNPTi5wYXJzZShcbiAgICAgICAgICByZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGY4JylcbiAgICAgICAgKSBhcyBOYWdSZXBvcnRTY2hlbWE7XG4gICAgICAgIGxldCBleGNlcHRpb25SZWFzb24gPSAnTi9BJztcbiAgICAgICAgaWYgKGNvbXBsaWFuY2UgPT09IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZERhdGEpLnN1cHByZXNzaW9uUmVhc29uICE9PSB1bmRlZmluZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbiA9IChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKVxuICAgICAgICAgICAgICAuc3VwcHJlc3Npb25SZWFzb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbiA9IChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWRFcnJvckRhdGEpXG4gICAgICAgICAgICAgIC5lcnJvclN1cHByZXNzaW9uUmVhc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXBvcnQubGluZXMucHVzaCh7XG4gICAgICAgICAgcnVsZUlkOiBkYXRhLnJ1bGVJZCxcbiAgICAgICAgICByZXNvdXJjZUlkOiBkYXRhLnJlc291cmNlLm5vZGUucGF0aCxcbiAgICAgICAgICBjb21wbGlhbmNlLFxuICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbixcbiAgICAgICAgICBydWxlTGV2ZWw6IGRhdGEucnVsZUxldmVsLFxuICAgICAgICAgIHJ1bGVJbmZvOiBkYXRhLnJ1bGVJbmZvLFxuICAgICAgICB9KTtcbiAgICAgICAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkocmVwb3J0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFVucmVjb2duaXplZCBvdXRwdXQgZm9ybWF0ICR7Zm9ybWF0fSBmb3IgdGhlIE5hZ1JlcG9ydExvZ2dlcmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -160,5 +160,5 @@ class NagPack {
160
160
  }
161
161
  exports.NagPack = NagPack;
162
162
  _a = JSII_RTTI_SYMBOL_1;
163
- NagPack[_a] = { fqn: "cdk-nag.NagPack", version: "2.35.14" };
163
+ NagPack[_a] = { fqn: "cdk-nag.NagPack", version: "2.35.22" };
164
164
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXBhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFnLXBhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7O0VBR0U7QUFDRiw2Q0FBZ0U7QUFFaEUsbUZBSXlDO0FBRXpDLDZDQU1zQjtBQUN0QiwyQ0FNcUI7QUFDckIsMkVBQXNFO0FBd0V0RTs7R0FFRztBQUNILE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFvQjtRQUx0QixZQUFPLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBS3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSw2QkFBZ0IsQ0FBQztZQUNuQixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU87WUFDdkIsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVO1NBQzlCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxhQUFhO2dCQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWE7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDLDRCQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFPRDs7O09BR0c7SUFDTyxTQUFTLENBQUMsTUFBa0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sS0FBSyxDQUNULDRIQUE0SCxDQUM3SCxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sZUFBZSxHQUFHLDZDQUFvQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGtCQUFrQjtZQUMxQyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFzQjtZQUM5QixXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDMUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ3JCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2xDLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNyQixlQUFlLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDbkMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUM7WUFDSCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLGNBQWMsS0FBSyw2QkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNwRCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQ3ZDLGVBQWUsRUFDZixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsMEJBQTBCLENBQ2xDLENBQUM7b0JBQ0YsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO3dCQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3pCLENBQUMsQ0FBQyxZQUFZLENBQUM7NEJBQ2IsR0FBRyxJQUFJOzRCQUNQLGlCQUFpQjs0QkFDakIsU0FBUzt5QkFDVixDQUFDLENBQ0gsQ0FBQztvQkFDSixDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6QixDQUFDLENBQUMsZUFBZSxDQUFDOzRCQUNoQixHQUFHLElBQUk7NEJBQ1AsU0FBUzt5QkFDVixDQUFDLENBQ0gsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksY0FBYyxLQUFLLDZCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3pCLENBQUMsQ0FBQyxlQUFlLENBQUM7b0JBQ2hCLEdBQUcsSUFBSTtpQkFDUixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQzVCLGVBQWUsRUFDZixNQUFNLEVBQ04sRUFBRSxFQUNGLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsMEJBQTBCLEVBQ2pDLElBQUksQ0FDTCxDQUFDO1lBQ0YsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3pCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDbEIsR0FBRyxJQUFJO29CQUNQLFlBQVksRUFBRyxLQUFlLENBQUMsT0FBTztvQkFDdEMsc0JBQXNCLEVBQUUsTUFBTTtpQkFDL0IsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6QixDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNSLEdBQUcsSUFBSTtvQkFDUCxZQUFZLEVBQUcsS0FBZSxDQUFDLE9BQU87aUJBQ3ZDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxVQUFVLENBQ2xCLFlBQWtDLEVBQ2xDLE1BQWMsRUFDZCxTQUFpQixFQUNqQixRQUFxQixFQUNyQixLQUFzQixFQUN0QiwwQkFBa0QsRUFDbEQsb0JBQTZCLEtBQUs7UUFFbEMsS0FBSyxJQUFJLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNyQyxJQUNFLDZDQUFvQixDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztnQkFDOUQsMkZBQTJGO2dCQUMzRixDQUFDLGlCQUFpQjtvQkFDaEIsNkNBQW9CLENBQUMsU0FBUyxDQUM1QixXQUFXLEVBQ1gsaUNBQXFCLEVBQ3JCLE1BQU0sQ0FDUCxDQUFDLEVBQ0osQ0FBQztnQkFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLG1EQUFtQixDQUMzQyxJQUFJLENBQUMsMkJBQTJCLElBQUksSUFBSSxzREFBc0IsRUFBRSxFQUNoRSxJQUFJLENBQUMsMkJBQTJCLElBQUksSUFBSSxzREFBc0IsRUFBRSxFQUNoRSwwQkFBMEIsSUFBSSxJQUFJLHNEQUFzQixFQUFFLENBQzNELENBQUMsYUFBYSxDQUFDO29CQUNkLFFBQVE7b0JBQ1IsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO29CQUMxQixNQUFNO29CQUNOLFNBQVM7b0JBQ1QsU0FBUyxFQUFFLEtBQUs7aUJBQ2pCLENBQUMsQ0FBQztnQkFDSCxJQUFJLGFBQWEsRUFBRSxDQUFDO29CQUNsQixJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO29CQUM3RCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQzlCLHVCQUF1QixFQUFFLGdEQUFnRCxhQUFhLEVBQUUsQ0FDekYsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDM0IsZ0RBQWdEO3dCQUNoRCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUM7b0JBQzVCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLElBQUksU0FBUyxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDaEQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxjQUFjLENBQUMsVUFBeUI7UUFDOUMsT0FBTyxDQUNMLFVBQVUsS0FBSyw2QkFBaUIsQ0FBQyxhQUFhO1lBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLFVBQXlCO1FBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7O0FBck1ILDBCQXNNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIENmblJlc291cmNlLCBJQXNwZWN0IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICBTdXBwcmVzc2lvbklnbm9yZU5ldmVyLFxuICBTdXBwcmVzc2lvbklnbm9yZU9yLFxufSBmcm9tICcuL2lnbm9yZS1zdXBwcmVzc2lvbi1jb25kaXRpb25zJztcbmltcG9ydCB7IE5hZ1BhY2tTdXBwcmVzc2lvbiB9IGZyb20gJy4vbW9kZWxzL25hZy1zdXBwcmVzc2lvbic7XG5pbXBvcnQge1xuICBBbm5vdGF0aW9uTG9nZ2VyLFxuICBJTmFnTG9nZ2VyLFxuICBOYWdMb2dnZXJCYXNlRGF0YSxcbiAgTmFnUmVwb3J0Rm9ybWF0LFxuICBOYWdSZXBvcnRMb2dnZXIsXG59IGZyb20gJy4vbmFnLWxvZ2dlcic7XG5pbXBvcnQge1xuICBOYWdNZXNzYWdlTGV2ZWwsXG4gIE5hZ1J1bGVDb21wbGlhbmNlLFxuICBOYWdSdWxlRmluZGluZ3MsXG4gIE5hZ1J1bGVSZXN1bHQsXG4gIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbn0gZnJvbSAnLi9uYWctcnVsZXMnO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25IZWxwZXIgfSBmcm9tICcuL3V0aWxzL25hZy1zdXBwcmVzc2lvbi1oZWxwZXInO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgYSBOYWdQYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1BhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgZXh0ZW5kZWQgZXhwbGFuYXRvcnkgZGVzY3JpcHRpb25zIG9uIHdhcm5pbmcsIGVycm9yLCBhbmQgbG9nZ2VkIGlnbm9yZSBtZXNzYWdlcyAoZGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyYm9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGxvZyBzdXBwcmVzc2VkIHJ1bGUgdmlvbGF0aW9ucyBhcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIChkZWZhdWx0OiBmYWxzZSkuXG4gICAqL1xuICByZWFkb25seSBsb2dJZ25vcmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZ2VuZXJhdGUgY29tcGxpYW5jZSByZXBvcnRzIGZvciBhcHBsaWVkIFN0YWNrcyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogdHJ1ZSkuXG4gICAqL1xuICByZWFkb25seSByZXBvcnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgcmVwb3J0cyBhcmUgZW5hYmxlZCwgdGhlIG91dHB1dCBmb3JtYXRzIG9mIGNvbXBsaWFuY2UgcmVwb3J0cyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogb25seSBDU1YpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0Rm9ybWF0cz86IE5hZ1JlcG9ydEZvcm1hdFtdO1xuXG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IHByZXZlbnQgcnVsZXMgZnJvbSBiZWluZyBzdXBwcmVzc2VkIChkZWZhdWx0OiBubyB1c2VyIHByb3ZpZGVkIGNvbmRpdGlvbikuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2lvbklnbm9yZUNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBOYWdMb2dnZXJzIGZvciBsb2dnaW5nIHJ1bGUgdmFsaWRhdGlvbiBvdXRwdXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbExvZ2dlcnM/OiBJTmFnTG9nZ2VyW107XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBKU0lJIGludGVyb3BlcmFiaWxpdHkgZm9yIHBhc3NpbmcgcGFyYW1ldGVycyBhbmQgdGhlIFJ1bGUgQ2FsbGJhY2sgdG8gQGFwcGx5UnVsZSBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGx5UnVsZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBmb3IgdGhlIHN1ZmZpeCBvZiB0aGUgUnVsZSBJRCBmb3IgdGhpcyBydWxlXG4gICAqL1xuICBydWxlU3VmZml4T3ZlcnJpZGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaHkgdGhlIHJ1bGUgd2FzIHRyaWdnZXJlZC5cbiAgICovXG4gIGluZm86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoeSB0aGUgcnVsZSBleGlzdHMuXG4gICAqL1xuICBleHBsYW5hdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFubm90YXRpb25zIG1lc3NhZ2UgbGV2ZWwgdG8gYXBwbHkgdG8gdGhlIHJ1bGUgaWYgdHJpZ2dlcmVkLlxuICAgKi9cbiAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbiAgLyoqXG4gICAqIEEgY29uZGl0aW9uIGluIHdoaWNoIGEgc3VwcHJlc3Npb24gc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgLyoqXG4gICAqIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKi9cbiAgbm9kZTogQ2ZuUmVzb3VyY2U7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgdG8gdGhlIHJ1bGUuXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICovXG4gIHJ1bGUobm9kZTogQ2ZuUmVzb3VyY2UpOiBOYWdSdWxlUmVzdWx0O1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBydWxlIHBhY2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmFnUGFjayBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcm90ZWN0ZWQgbG9nZ2VycyA9IG5ldyBBcnJheTxJTmFnTG9nZ2VyPigpO1xuICBwcm90ZWN0ZWQgcGFja05hbWUgPSAnJztcbiAgcHJvdGVjdGVkIHVzZXJHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgcHJvdGVjdGVkIHBhY2tHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IE5hZ1BhY2tQcm9wcykge1xuICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID0gcHJvcHM/LnN1cHByZXNzaW9uSWdub3JlQ29uZGl0aW9uO1xuICAgIHRoaXMubG9nZ2Vycy5wdXNoKFxuICAgICAgbmV3IEFubm90YXRpb25Mb2dnZXIoe1xuICAgICAgICB2ZXJib3NlOiBwcm9wcz8udmVyYm9zZSxcbiAgICAgICAgbG9nSWdub3JlczogcHJvcHM/LmxvZ0lnbm9yZXMsXG4gICAgICB9KVxuICAgICk7XG4gICAgaWYgKHByb3BzPy5yZXBvcnRzID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHMgPSBwcm9wcz8ucmVwb3J0Rm9ybWF0c1xuICAgICAgICA/IHByb3BzLnJlcG9ydEZvcm1hdHNcbiAgICAgICAgOiBbTmFnUmVwb3J0Rm9ybWF0LkNTVl07XG4gICAgICB0aGlzLmxvZ2dlcnMucHVzaChuZXcgTmFnUmVwb3J0TG9nZ2VyKHsgZm9ybWF0cyB9KSk7XG4gICAgfVxuICAgIGlmIChwcm9wcz8uYWRkaXRpb25hbExvZ2dlcnMpIHtcbiAgICAgIHRoaXMubG9nZ2Vycy5wdXNoKC4uLnByb3BzLmFkZGl0aW9uYWxMb2dnZXJzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRQYWNrTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhY2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBhc3BlY3RzIGNhbiB2aXNpdCBhbiBJQ29uc3RydWN0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBydWxlIHRvIGJlIHVzZWQgaW4gdGhlIE5hZ1BhY2suXG4gICAqIEBwYXJhbSBwYXJhbXMgVGhlIEBJQXBwbHlSdWxlIGludGVyZmFjZSB3aXRoIHJ1bGUgZGV0YWlscy5cbiAgICovXG4gIHByb3RlY3RlZCBhcHBseVJ1bGUocGFyYW1zOiBJQXBwbHlSdWxlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFja05hbWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RoZSBOYWdQYWNrIGRvZXMgbm90IGhhdmUgYSBwYWNrIG5hbWUsIHRoZXJlZm9yZSB0aGUgcnVsZSBjb3VsZCBub3QgYmUgYXBwbGllZC4gU2V0IGEgcGFja05hbWUgaW4gdGhlIE5hZ1BhY2sgY29uc3RydWN0b3IuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYWxsU3VwcHJlc3Npb25zID0gTmFnU3VwcHJlc3Npb25IZWxwZXIuZ2V0U3VwcHJlc3Npb25zKHBhcmFtcy5ub2RlKTtcbiAgICBjb25zdCBydWxlU3VmZml4ID0gcGFyYW1zLnJ1bGVTdWZmaXhPdmVycmlkZVxuICAgICAgPyBwYXJhbXMucnVsZVN1ZmZpeE92ZXJyaWRlXG4gICAgICA6IHBhcmFtcy5ydWxlLm5hbWU7XG4gICAgY29uc3QgcnVsZUlkID0gYCR7dGhpcy5wYWNrTmFtZX0tJHtydWxlU3VmZml4fWA7XG4gICAgY29uc3QgYmFzZTogTmFnTG9nZ2VyQmFzZURhdGEgPSB7XG4gICAgICBuYWdQYWNrTmFtZTogdGhpcy5wYWNrTmFtZSxcbiAgICAgIHJlc291cmNlOiBwYXJhbXMubm9kZSxcbiAgICAgIHJ1bGVJZDogcnVsZUlkLFxuICAgICAgcnVsZU9yaWdpbmFsTmFtZTogcGFyYW1zLnJ1bGUubmFtZSxcbiAgICAgIHJ1bGVJbmZvOiBwYXJhbXMuaW5mbyxcbiAgICAgIHJ1bGVFeHBsYW5hdGlvbjogcGFyYW1zLmV4cGxhbmF0aW9uLFxuICAgICAgcnVsZUxldmVsOiBwYXJhbXMubGV2ZWwsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcnVsZUNvbXBsaWFuY2UgPSBwYXJhbXMucnVsZShwYXJhbXMubm9kZSk7XG4gICAgICBpZiAocnVsZUNvbXBsaWFuY2UgPT09IE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVCkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT4gdC5vbkNvbXBsaWFuY2UoYmFzZSkpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTm9uQ29tcGxpYW50KHJ1bGVDb21wbGlhbmNlKSkge1xuICAgICAgICBjb25zdCBmaW5kaW5ncyA9IHRoaXMuYXNGaW5kaW5ncyhydWxlQ29tcGxpYW5jZSk7XG4gICAgICAgIGZvciAoY29uc3QgZmluZGluZ0lkIG9mIGZpbmRpbmdzKSB7XG4gICAgICAgICAgY29uc3Qgc3VwcHJlc3Npb25SZWFzb24gPSB0aGlzLmlnbm9yZVJ1bGUoXG4gICAgICAgICAgICBhbGxTdXBwcmVzc2lvbnMsXG4gICAgICAgICAgICBydWxlSWQsXG4gICAgICAgICAgICBmaW5kaW5nSWQsXG4gICAgICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgICAgIHBhcmFtcy5sZXZlbCxcbiAgICAgICAgICAgIHBhcmFtcy5pZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvblxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHN1cHByZXNzaW9uUmVhc29uKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICAgICAgdC5vblN1cHByZXNzZWQoe1xuICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgc3VwcHJlc3Npb25SZWFzb24sXG4gICAgICAgICAgICAgICAgZmluZGluZ0lkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzLmZvckVhY2goKHQpID0+XG4gICAgICAgICAgICAgIHQub25Ob25Db21wbGlhbmNlKHtcbiAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJ1bGVDb21wbGlhbmNlID09PSBOYWdSdWxlQ29tcGxpYW5jZS5OT1RfQVBQTElDQUJMRSkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uTm90QXBwbGljYWJsZSh7XG4gICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IHJlYXNvbiA9IHRoaXMuaWdub3JlUnVsZShcbiAgICAgICAgYWxsU3VwcHJlc3Npb25zLFxuICAgICAgICBydWxlSWQsXG4gICAgICAgICcnLFxuICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgcGFyYW1zLmxldmVsLFxuICAgICAgICBwYXJhbXMuaWdub3JlU3VwcHJlc3Npb25Db25kaXRpb24sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBpZiAocmVhc29uKSB7XG4gICAgICAgIHRoaXMubG9nZ2Vycy5mb3JFYWNoKCh0KSA9PlxuICAgICAgICAgIHQub25TdXBwcmVzc2VkRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3JTdXBwcmVzc2lvblJlYXNvbjogcmVhc29uLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBzcGVjaWZpYyBydWxlIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gc3VwcHJlc3Npb25zIFRoZSBzdXBwcmVzc2lvbnMgbGlzdGVkIGluIHRoZSBjZGstbmFnIG1ldGFkYXRhLlxuICAgKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gICAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgYmVpbmcgZXZhbHVhdGVkLlxuICAgKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uRmFpbHVyZSBXaGV0aGVyIHRoZSBydWxlIGlzIGJlaW5nIGNoZWNrZWQgZHVlIHRvIGEgdmFsaWRhdGlvbiBmYWlsdXJlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVhc29uIHRoZSBydWxlIHdhcyBpZ25vcmVkLCBvciBhbiBlbXB0eSBzdHJpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgaWdub3JlUnVsZShcbiAgICBzdXBwcmVzc2lvbnM6IE5hZ1BhY2tTdXBwcmVzc2lvbltdLFxuICAgIHJ1bGVJZDogc3RyaW5nLFxuICAgIGZpbmRpbmdJZDogc3RyaW5nLFxuICAgIHJlc291cmNlOiBDZm5SZXNvdXJjZSxcbiAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLFxuICAgIGlnbm9yZVN1cHByZXNzaW9uQ29uZGl0aW9uPzogSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICAgIHZhbGlkYXRpb25GYWlsdXJlOiBib29sZWFuID0gZmFsc2VcbiAgKTogc3RyaW5nIHtcbiAgICBmb3IgKGxldCBzdXBwcmVzc2lvbiBvZiBzdXBwcmVzc2lvbnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuZG9lc0FwcGx5KHN1cHByZXNzaW9uLCBydWxlSWQsIGZpbmRpbmdJZCkgfHxcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBtYXJrZWQgYXMgYW4gZXhjZXB0aW9uLCBhbHNvIGNoZWNrIGZvciBhIHN1cHByZXNzaW9uIG9uIFZBTElEQVRJT05fRkFJTFVSRV9JRFxuICAgICAgICAodmFsaWRhdGlvbkZhaWx1cmUgJiZcbiAgICAgICAgICBOYWdTdXBwcmVzc2lvbkhlbHBlci5kb2VzQXBwbHkoXG4gICAgICAgICAgICBzdXBwcmVzc2lvbixcbiAgICAgICAgICAgIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbiAgICAgICAgICAgIHJ1bGVJZFxuICAgICAgICAgICkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgaWdub3JlTWVzc2FnZSA9IG5ldyBTdXBwcmVzc2lvbklnbm9yZU9yKFxuICAgICAgICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID8/IG5ldyBTdXBwcmVzc2lvbklnbm9yZU5ldmVyKCksXG4gICAgICAgICAgdGhpcy5wYWNrR2xvYmFsU3VwcHJlc3Npb25JZ25vcmUgPz8gbmV3IFN1cHByZXNzaW9uSWdub3JlTmV2ZXIoKSxcbiAgICAgICAgICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbiA/PyBuZXcgU3VwcHJlc3Npb25JZ25vcmVOZXZlcigpXG4gICAgICAgICkuY3JlYXRlTWVzc2FnZSh7XG4gICAgICAgICAgcmVzb3VyY2UsXG4gICAgICAgICAgcmVhc29uOiBzdXBwcmVzc2lvbi5yZWFzb24sXG4gICAgICAgICAgcnVsZUlkLFxuICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICBydWxlTGV2ZWw6IGxldmVsLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlnbm9yZU1lc3NhZ2UpIHtcbiAgICAgICAgICBsZXQgaWQgPSBmaW5kaW5nSWQgPyBgJHtydWxlSWR9WyR7ZmluZGluZ0lkfV1gIDogYCR7cnVsZUlkfWA7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YocmVzb3VyY2UpLmFkZEluZm8oXG4gICAgICAgICAgICBgVGhlIHN1cHByZXNzaW9uIGZvciAke2lkfSB3YXMgaWdub3JlZCBmb3IgdGhlIGZvbGxvd2luZyByZWFzb24ocykuXFxuXFx0JHtpZ25vcmVNZXNzYWdlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghc3VwcHJlc3Npb24uYXBwbGllc1RvKSB7XG4gICAgICAgICAgICAvLyB0aGUgcnVsZSBpcyBub3QgZ3JhbnVsYXIgc28gaXQgYWx3YXlzIGFwcGxpZXNcbiAgICAgICAgICAgIHJldHVybiBzdXBwcmVzc2lvbi5yZWFzb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgWyR7ZmluZGluZ0lkfV0gJHtzdXBwcmVzc2lvbi5yZWFzb259YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05vbkNvbXBsaWFudChydWxlUmVzdWx0OiBOYWdSdWxlUmVzdWx0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJ1bGVSZXN1bHQgPT09IE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQgfHxcbiAgICAgIEFycmF5LmlzQXJyYXkocnVsZVJlc3VsdClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc0ZpbmRpbmdzKHJ1bGVSZXN1bHQ6IE5hZ1J1bGVSZXN1bHQpOiBOYWdSdWxlRmluZGluZ3Mge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJ1bGVSZXN1bHQpKSB7XG4gICAgICByZXR1cm4gcnVsZVJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFsnJ107XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -46,10 +46,21 @@ export declare class NagRules {
46
46
  */
47
47
  static resolveIfPrimitive(node: CfnResource, parameter: any): any;
48
48
  /**
49
+ * @deprecated
50
+ * Use resolveResourceFromIntrinsic instead
51
+ *
49
52
  * Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
50
53
  * @param node The CfnResource to check.
51
54
  * @param parameter The value to attempt to resolve.
52
55
  * @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
53
56
  */
54
57
  static resolveResourceFromInstrinsic(node: CfnResource, parameter: any): any;
58
+ /**
59
+ *
60
+ * Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
61
+ * @param node The CfnResource to check.
62
+ * @param parameter The value to attempt to resolve.
63
+ * @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
64
+ */
65
+ static resolveResourceFromIntrinsic(node: CfnResource, parameter: any): any;
55
66
  }
@@ -55,12 +55,25 @@ class NagRules {
55
55
  }
56
56
  }
57
57
  /**
58
+ * @deprecated
59
+ * Use resolveResourceFromIntrinsic instead
60
+ *
58
61
  * Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
59
62
  * @param node The CfnResource to check.
60
63
  * @param parameter The value to attempt to resolve.
61
64
  * @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
62
65
  */
63
66
  static resolveResourceFromInstrinsic(node, parameter) {
67
+ return this.resolveResourceFromIntrinsic(node, parameter);
68
+ }
69
+ /**
70
+ *
71
+ * Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
72
+ * @param node The CfnResource to check.
73
+ * @param parameter The value to attempt to resolve.
74
+ * @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
75
+ */
76
+ static resolveResourceFromIntrinsic(node, parameter) {
64
77
  const resolvedValue = aws_cdk_lib_1.Stack.of(node).resolve(parameter);
65
78
  const ref = resolvedValue?.Ref;
66
79
  const getAtt = resolvedValue?.['Fn::GetAtt'];
@@ -75,5 +88,5 @@ class NagRules {
75
88
  }
76
89
  exports.NagRules = NagRules;
77
90
  _a = JSII_RTTI_SYMBOL_1;
78
- NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.35.14" };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25hZy1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7RUFHRTtBQUNGLDZDQUFpRDtBQUVwQyxRQUFBLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGVBQWUsK0JBQWYsZUFBZSxRQUcxQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLDRDQUF1QixDQUFBO0lBQ3ZCLG9EQUErQixDQUFBO0lBQy9CLDJDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFKVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUk1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSwyQkFHWDtBQUhELFdBQVksMkJBQTJCO0lBQ3JDLHdEQUF5QixDQUFBO0lBQ3pCLGtEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQUd0QztBQWlCRDs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBaUIsRUFBRSxTQUFjO1FBQ3pELE1BQU0sYUFBYSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLGFBQWEsS0FBSyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEtBQUssQ0FDVCx1REFBdUQsSUFBSSxDQUFDLFNBQVMsQ0FDbkUsYUFBYSxDQUNkLCtDQUErQyxDQUNqRCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQWlCLEVBQUUsU0FBYztRQUNwRSxNQUFNLGFBQWEsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNyQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs7QUFyQ0gsNEJBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmV4cG9ydCBjb25zdCBWQUxJREFUSU9OX0ZBSUxVUkVfSUQgPSAnQ2RrTmFnVmFsaWRhdGlvbkZhaWx1cmUnO1xuXG4vKipcbiAqIFRoZSBzZXZlcml0eSBsZXZlbCBvZiB0aGUgcnVsZS5cbiAqL1xuZXhwb3J0IGVudW0gTmFnTWVzc2FnZUxldmVsIHtcbiAgV0FSTiA9ICdXYXJuaW5nJyxcbiAgRVJST1IgPSAnRXJyb3InLFxufVxuXG4vKipcbiAqIFRoZSBjb21wbGlhbmNlIGxldmVsIG9mIGEgcmVzb3VyY2UgaW4gcmVsYXRpb24gdG8gYSBydWxlLlxuICovXG5leHBvcnQgZW51bSBOYWdSdWxlQ29tcGxpYW5jZSB7XG4gIENPTVBMSUFOVCA9ICdDb21wbGlhbnQnLFxuICBOT05fQ09NUExJQU5UID0gJ05vbi1Db21wbGlhbnQnLFxuICBOT1RfQVBQTElDQUJMRSA9ICdOL0EnLFxufVxuXG4vKipcbiAqIEFkZGl0aW9uYWwgc3RhdGVzIGEgcnVsZSBjYW4gYmUgaW4gcG9zdCBjb21wbGlhbmNlIHZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGVudW0gTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzIHtcbiAgU1VQUFJFU1NFRCA9ICdTdXBwcmVzc2VkJyxcbiAgVU5LTk9XTiA9ICdVTktOT1dOJyxcbn1cblxuLyoqXG4gKiBBbGwgc3RhdGVzIGEgcnVsZSBjYW4gYmUgaW4gcG9zdCBjb21wbGlhbmNlIHZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgTmFnUnVsZVN0YXRlcyA9IE5hZ1J1bGVDb21wbGlhbmNlIHwgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzO1xuXG5leHBvcnQgdHlwZSBOYWdSdWxlRmluZGluZyA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgTmFnUnVsZUZpbmRpbmdzID0gTmFnUnVsZUZpbmRpbmdbXTtcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGEgcnVsZSBjaGVjay4gQ2FuIGVpdGhlciBiZSBgTmFnUnVsZUNvbXBsaWFuY2VgXG4gKiBvciBhbiBhcnJheSBvZiBpbmRpdmlkdWFsIGZpbmRpbmdzXG4gKi9cbmV4cG9ydCB0eXBlIE5hZ1J1bGVSZXN1bHQgPSBOYWdSdWxlQ29tcGxpYW5jZSB8IE5hZ1J1bGVGaW5kaW5ncztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3Mgd2l0aCBtZXRob2RzIGZvciBydWxlIGNyZWF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBOYWdSdWxlcyB7XG4gIC8qKlxuICAgKiBVc2UgaW4gY2FzZXMgd2hlcmUgYSBwcmltaXRpdmUgdmFsdWUgbXVzdCBiZSBrbm93biB0byBwYXNzIGEgcnVsZS5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9HbG9zc2FyeS9QcmltaXRpdmVcbiAgICogQHBhcmFtIG5vZGUgVGhlIENmblJlc291cmNlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyIFRoZSB2YWx1ZSB0byBhdHRlbXB0IHRvIHJlc29sdmUuXG4gICAqIEByZXR1cm5zIFJldHVybiBhIHZhbHVlIGlmIHJlc29sdmVzIHRvIGEgcHJpbWl0aXZlIGRhdGEgdHlwZSwgb3RoZXJ3aXNlIHRocm93IGFuIGVycm9yLlxuICAgKi9cbiAgc3RhdGljIHJlc29sdmVJZlByaW1pdGl2ZShub2RlOiBDZm5SZXNvdXJjZSwgcGFyYW1ldGVyOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkVmFsdWUgPSBTdGFjay5vZihub2RlKS5yZXNvbHZlKHBhcmFtZXRlcik7XG4gICAgaWYgKHJlc29sdmVkVmFsdWUgPT09IE9iamVjdChyZXNvbHZlZFZhbHVlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBUaGUgcGFyYW1ldGVyIHJlc29sdmVkIHRvIHRvIGEgbm9uLXByaW1pdGl2ZSB2YWx1ZSBcIiR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgcmVzb2x2ZWRWYWx1ZVxuICAgICAgICApfVwiLCB0aGVyZWZvcmUgdGhlIHJ1bGUgY291bGQgbm90IGJlIHZhbGlkYXRlZC5gXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZWRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgdG9rZW4gcmVzb2x2ZXMgdG8gYW4gaW50cmluc2ljIGZ1bmN0aW9uIGFuZCB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZSBtdXN0IGJlIGtub3duIHRvIHBhc3MgYSBydWxlLlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXIgVGhlIHZhbHVlIHRvIGF0dGVtcHQgdG8gcmVzb2x2ZS5cbiAgICogQHJldHVybnMgUmV0dXJuIHRoZSBMb2dpY2FsIHJlc291cmNlIElkIGlmIHJlc29sdmVzIHRvIGEgaW50cmluc2ljIGZ1bmN0aW9uLCBvdGhlcndpc2UgdGhlIHJlc29sdmVkIHByb3ZpZGVkIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIHJlc29sdmVSZXNvdXJjZUZyb21JbnN0cmluc2ljKG5vZGU6IENmblJlc291cmNlLCBwYXJhbWV0ZXI6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWRWYWx1ZSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUocGFyYW1ldGVyKTtcbiAgICBjb25zdCByZWYgPSByZXNvbHZlZFZhbHVlPy5SZWY7XG4gICAgY29uc3QgZ2V0QXR0ID0gcmVzb2x2ZWRWYWx1ZT8uWydGbjo6R2V0QXR0J107XG4gICAgaWYgKHJlZiAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZWY7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGdldEF0dCkgJiYgZ2V0QXR0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBnZXRBdHRbMF07XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlZFZhbHVlO1xuICB9XG59XG4iXX0=
91
+ NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.35.22" };
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25hZy1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7RUFHRTtBQUNGLDZDQUFpRDtBQUVwQyxRQUFBLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGVBQWUsK0JBQWYsZUFBZSxRQUcxQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLDRDQUF1QixDQUFBO0lBQ3ZCLG9EQUErQixDQUFBO0lBQy9CLDJDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFKVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUk1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSwyQkFHWDtBQUhELFdBQVksMkJBQTJCO0lBQ3JDLHdEQUF5QixDQUFBO0lBQ3pCLGtEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQUd0QztBQWlCRDs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBaUIsRUFBRSxTQUFjO1FBQ3pELE1BQU0sYUFBYSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLGFBQWEsS0FBSyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEtBQUssQ0FDVCx1REFBdUQsSUFBSSxDQUFDLFNBQVMsQ0FDbkUsYUFBYSxDQUNkLCtDQUErQyxDQUNqRCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQWlCLEVBQUUsU0FBYztRQUNwRSxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxJQUFpQixFQUFFLFNBQWM7UUFDbkUsTUFBTSxhQUFhLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsSUFBSSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDckIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O0FBbkRILDRCQW9EQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9GQUlMVVJFX0lEID0gJ0Nka05hZ1ZhbGlkYXRpb25GYWlsdXJlJztcblxuLyoqXG4gKiBUaGUgc2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIHJ1bGUuXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ01lc3NhZ2VMZXZlbCB7XG4gIFdBUk4gPSAnV2FybmluZycsXG4gIEVSUk9SID0gJ0Vycm9yJyxcbn1cblxuLyoqXG4gKiBUaGUgY29tcGxpYW5jZSBsZXZlbCBvZiBhIHJlc291cmNlIGluIHJlbGF0aW9uIHRvIGEgcnVsZS5cbiAqL1xuZXhwb3J0IGVudW0gTmFnUnVsZUNvbXBsaWFuY2Uge1xuICBDT01QTElBTlQgPSAnQ29tcGxpYW50JyxcbiAgTk9OX0NPTVBMSUFOVCA9ICdOb24tQ29tcGxpYW50JyxcbiAgTk9UX0FQUExJQ0FCTEUgPSAnTi9BJyxcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcyB7XG4gIFNVUFBSRVNTRUQgPSAnU3VwcHJlc3NlZCcsXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG59XG5cbi8qKlxuICogQWxsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE5hZ1J1bGVTdGF0ZXMgPSBOYWdSdWxlQ29tcGxpYW5jZSB8IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcztcblxuZXhwb3J0IHR5cGUgTmFnUnVsZUZpbmRpbmcgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE5hZ1J1bGVGaW5kaW5ncyA9IE5hZ1J1bGVGaW5kaW5nW107XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBhIHJ1bGUgY2hlY2suIENhbiBlaXRoZXIgYmUgYE5hZ1J1bGVDb21wbGlhbmNlYFxuICogb3IgYW4gYXJyYXkgb2YgaW5kaXZpZHVhbCBmaW5kaW5nc1xuICovXG5leHBvcnQgdHlwZSBOYWdSdWxlUmVzdWx0ID0gTmFnUnVsZUNvbXBsaWFuY2UgfCBOYWdSdWxlRmluZGluZ3M7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIHdpdGggbWV0aG9kcyBmb3IgcnVsZSBjcmVhdGlvblxuICovXG5leHBvcnQgY2xhc3MgTmFnUnVsZXMge1xuICAvKipcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgcHJpbWl0aXZlIHZhbHVlIG11c3QgYmUga25vd24gdG8gcGFzcyBhIHJ1bGUuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvR2xvc3NhcnkvUHJpbWl0aXZlXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHBhcmFtZXRlciBUaGUgdmFsdWUgdG8gYXR0ZW1wdCB0byByZXNvbHZlLlxuICAgKiBAcmV0dXJucyBSZXR1cm4gYSB2YWx1ZSBpZiByZXNvbHZlcyB0byBhIHByaW1pdGl2ZSBkYXRhIHR5cGUsIG90aGVyd2lzZSB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlSWZQcmltaXRpdmUobm9kZTogQ2ZuUmVzb3VyY2UsIHBhcmFtZXRlcjogYW55KTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShwYXJhbWV0ZXIpO1xuICAgIGlmIChyZXNvbHZlZFZhbHVlID09PSBPYmplY3QocmVzb2x2ZWRWYWx1ZSkpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgVGhlIHBhcmFtZXRlciByZXNvbHZlZCB0byB0byBhIG5vbi1wcmltaXRpdmUgdmFsdWUgXCIke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHJlc29sdmVkVmFsdWVcbiAgICAgICAgKX1cIiwgdGhlcmVmb3JlIHRoZSBydWxlIGNvdWxkIG5vdCBiZSB2YWxpZGF0ZWQuYFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmVkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFVzZSByZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljIGluc3RlYWRcbiAgICpcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgdG9rZW4gcmVzb2x2ZXMgdG8gYW4gaW50cmluc2ljIGZ1bmN0aW9uIGFuZCB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZSBtdXN0IGJlIGtub3duIHRvIHBhc3MgYSBydWxlLlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXIgVGhlIHZhbHVlIHRvIGF0dGVtcHQgdG8gcmVzb2x2ZS5cbiAgICogQHJldHVybnMgUmV0dXJuIHRoZSBMb2dpY2FsIHJlc291cmNlIElkIGlmIHJlc29sdmVzIHRvIGEgaW50cmluc2ljIGZ1bmN0aW9uLCBvdGhlcndpc2UgdGhlIHJlc29sdmVkIHByb3ZpZGVkIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIHJlc29sdmVSZXNvdXJjZUZyb21JbnN0cmluc2ljKG5vZGU6IENmblJlc291cmNlLCBwYXJhbWV0ZXI6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhub2RlLCBwYXJhbWV0ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFVzZSBpbiBjYXNlcyB3aGVyZSBhIHRva2VuIHJlc29sdmVzIHRvIGFuIGludHJpbnNpYyBmdW5jdGlvbiBhbmQgdGhlIHJlZmVyZW5jZWQgcmVzb3VyY2UgbXVzdCBiZSBrbm93biB0byBwYXNzIGEgcnVsZS5cbiAgICogQHBhcmFtIG5vZGUgVGhlIENmblJlc291cmNlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyIFRoZSB2YWx1ZSB0byBhdHRlbXB0IHRvIHJlc29sdmUuXG4gICAqIEByZXR1cm5zIFJldHVybiB0aGUgTG9naWNhbCByZXNvdXJjZSBJZCBpZiByZXNvbHZlcyB0byBhIGludHJpbnNpYyBmdW5jdGlvbiwgb3RoZXJ3aXNlIHRoZSByZXNvbHZlZCBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKG5vZGU6IENmblJlc291cmNlLCBwYXJhbWV0ZXI6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWRWYWx1ZSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUocGFyYW1ldGVyKTtcbiAgICBjb25zdCByZWYgPSByZXNvbHZlZFZhbHVlPy5SZWY7XG4gICAgY29uc3QgZ2V0QXR0ID0gcmVzb2x2ZWRWYWx1ZT8uWydGbjo6R2V0QXR0J107XG4gICAgaWYgKHJlZiAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZWY7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGdldEF0dCkgJiYgZ2V0QXR0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBnZXRBdHRbMF07XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlZFZhbHVlO1xuICB9XG59XG4iXX0=
@@ -92,5 +92,5 @@ class NagSuppressions {
92
92
  }
93
93
  exports.NagSuppressions = NagSuppressions;
94
94
  _a = JSII_RTTI_SYMBOL_1;
95
- NagSuppressions[_a] = { fqn: "cdk-nag.NagSuppressions", version: "2.35.14" };
95
+ NagSuppressions[_a] = { fqn: "cdk-nag.NagSuppressions", version: "2.35.22" };
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXN1cHByZXNzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctc3VwcHJlc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsNkNBQWlEO0FBR2pELDJFQUFzRTtBQUV0RTs7R0FFRztBQUNILE1BQWEsZUFBZTtJQUMxQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsS0FBWSxFQUNaLFlBQWtDLEVBQ2xDLHNCQUErQixLQUFLO1FBRXBDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQjtZQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWMsRUFBRSxDQUFDLENBQUMsWUFBWSxtQkFBSyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25CLDZDQUFvQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDekQsUUFBUSxHQUFHLDZDQUFvQixDQUFDLGtCQUFrQixDQUNoRCxRQUFRLEVBQ1IsWUFBWSxDQUNiLENBQUM7WUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFDRCxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztP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Q0wsQ0FBQzs7QUEzR0gsMENBNEdDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBOYWdQYWNrU3VwcHJlc3Npb24gfSBmcm9tICcuL21vZGVscy9uYWctc3VwcHJlc3Npb24nO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25IZWxwZXIgfSBmcm9tICcuL3V0aWxzL25hZy1zdXBwcmVzc2lvbi1oZWxwZXInO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyB3aXRoIG1ldGhvZHMgdG8gYWRkIGNkay1uYWcgc3VwcHJlc3Npb25zIHRvIGNkayByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE5hZ1N1cHByZXNzaW9ucyB7XG4gIC8qKlxuICAgKiBBcHBseSBjZGstbmFnIHN1cHByZXNzaW9ucyB0byBhIFN0YWNrIGFuZCBvcHRpb25hbGx5IG5lc3RlZCBzdGFja3NcbiAgICogQHBhcmFtIHN0YWNrIFRoZSBTdGFjayB0byBhcHBseSB0aGUgc3VwcHJlc3Npb24gdG9cbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSBzdGFja1xuICAgKiBAcGFyYW0gYXBwbHlUb05lc3RlZFN0YWNrcyBBcHBseSB0aGUgc3VwcHJlc3Npb25zIHRvIGNoaWxkcmVuIHN0YWNrcyAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRTdGFja1N1cHByZXNzaW9ucyhcbiAgICBzdGFjazogU3RhY2ssXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvTmVzdGVkU3RhY2tzOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhY2tzID0gYXBwbHlUb05lc3RlZFN0YWNrc1xuICAgICAgPyBzdGFjay5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoKHgpOiB4IGlzIFN0YWNrID0+IHggaW5zdGFuY2VvZiBTdGFjaylcbiAgICAgIDogW3N0YWNrXTtcbiAgICBzdGFja3MuZm9yRWFjaCgocykgPT4ge1xuICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuYXNzZXJ0U3VwcHJlc3Npb25zQXJlVmFsaWQocy5ub2RlLmlkLCBzdXBwcmVzc2lvbnMpO1xuICAgICAgbGV0IG1ldGFkYXRhID0gcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGE/LmNka19uYWcgPz8ge307XG4gICAgICBtZXRhZGF0YSA9IE5hZ1N1cHByZXNzaW9uSGVscGVyLmFkZFJ1bGVzVG9NZXRhZGF0YShcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHN1cHByZXNzaW9uc1xuICAgICAgKTtcbiAgICAgIGlmICghcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGEpIHtcbiAgICAgICAgcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGEgPSB7fTtcbiAgICAgIH1cbiAgICAgIHMudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhLmNka19uYWcgPSBtZXRhZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY2RrLW5hZyBzdXBwcmVzc2lvbnMgdG8gYSBDZm5SZXNvdXJjZSBhbmQgb3B0aW9uYWxseSBpdHMgY2hpbGRyZW5cbiAgICogQHBhcmFtIGNvbnN0cnVjdCBUaGUgSUNvbnN0cnVjdChzKSB0byBhcHBseSB0aGUgc3VwcHJlc3Npb24gdG9cbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0gYXBwbHlUb0NoaWxkcmVuIEFwcGx5IHRoZSBzdXBwcmVzc2lvbnMgdG8gY2hpbGRyZW4gQ2ZuUmVzb3VyY2VzICAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QgfCBJQ29uc3RydWN0W10sXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RBcnJheTogSUNvbnN0cnVjdFtdID0gQXJyYXkuaXNBcnJheShjb25zdHJ1Y3QpXG4gICAgICA/IGNvbnN0cnVjdFxuICAgICAgOiBbY29uc3RydWN0XTtcbiAgICBpZiAoY29uc3RydWN0QXJyYXkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnN0cnVjdCBjYW5ub3QgYmUgYW4gZW1wdHkgYXJyYXkuYCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0QXJyYXkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuYXNzZXJ0U3VwcHJlc3Npb25zQXJlVmFsaWQoYy5ub2RlLmlkLCBzdXBwcmVzc2lvbnMpO1xuICAgICAgY29uc3QgY29uc3RydWN0cyA9IGFwcGx5VG9DaGlsZHJlbiA/IGMubm9kZS5maW5kQWxsKCkgOiBbY107XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbnN0cnVjdHMpIHtcbiAgICAgICAgY29uc3QgcG9zc2libGVMMSA9IGNoaWxkLm5vZGUuZGVmYXVsdENoaWxkXG4gICAgICAgICAgPyBjaGlsZC5ub2RlLmRlZmF1bHRDaGlsZFxuICAgICAgICAgIDogY2hpbGQ7XG4gICAgICAgIGlmIChwb3NzaWJsZUwxIGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UpIHtcbiAgICAgICAgICBjb25zdCByZXNvdXJjZSA9IHBvc3NpYmxlTDEgYXMgQ2ZuUmVzb3VyY2U7XG4gICAgICAgICAgbGV0IG1ldGFkYXRhID0gcmVzb3VyY2UuZ2V0TWV0YWRhdGEoJ2Nka19uYWcnKTtcbiAgICAgICAgICBtZXRhZGF0YSA9IE5hZ1N1cHByZXNzaW9uSGVscGVyLmFkZFJ1bGVzVG9NZXRhZGF0YShcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgc3VwcHJlc3Npb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXNvdXJjZS5hZGRNZXRhZGF0YSgnY2RrX25hZycsIG1ldGFkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBjZGstbmFnIHN1cHByZXNzaW9ucyB0byBhIENmblJlc291cmNlIGFuZCBvcHRpb25hbGx5IGl0cyBjaGlsZHJlbiB2aWEgaXRzIHBhdGhcbiAgICogQHBhcmFtIHN0YWNrIFRoZSBTdGFjayB0aGUgY29uc3RydWN0IGJlbG9uZ3MgdG9cbiAgICogQHBhcmFtIHBhdGggVGhlIHBhdGgocykgdG8gdGhlIGNvbnN0cnVjdCBpbiB0aGUgcHJvdmlkZWQgc3RhY2tcbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0gYXBwbHlUb0NoaWxkcmVuIEFwcGx5IHRoZSBzdXBwcmVzc2lvbnMgdG8gY2hpbGRyZW4gQ2ZuUmVzb3VyY2VzICAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRSZXNvdXJjZVN1cHByZXNzaW9uc0J5UGF0aChcbiAgICBzdGFjazogU3RhY2ssXG4gICAgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoQXJyYXk6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBbcGF0aF07XG4gICAgaWYgKHBhdGhBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCBjYW5ub3QgYmUgYW4gZW1wdHkgYXJyYXkuYCk7XG4gICAgfVxuXG4gICAgcGF0aEFycmF5LmZvckVhY2goKHApID0+IHtcbiAgICAgIGxldCBhZGRlZCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBzdGFjay5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgICBjb25zdCBmaXhlZFBhdGggPSBwLnJlcGxhY2UoL15cXC8vLCAnJyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjaGlsZC5ub2RlLnBhdGggPT09IGZpeGVkUGF0aCB8fFxuICAgICAgICAgIGNoaWxkLm5vZGUucGF0aCArICcvUmVzb3VyY2UnID09PSBmaXhlZFBhdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFJlc291cmNlU3VwcHJlc3Npb25zKFxuICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICBzdXBwcmVzc2lvbnMsXG4gICAgICAgICAgICBhcHBseVRvQ2hpbGRyZW5cbiAgICAgICAgICApO1xuICAgICAgICAgIGFkZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFhZGRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFN1cHByZXNzaW9uIHBhdGggXCIke3B9XCIgZGlkIG5vdCBtYXRjaCBhbnkgcmVzb3VyY2UuIFRoaXMgY2FuIG9jY3VyIHdoZW4gYSByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpZiBhIHN1cHByZXNzaW9uIGlzIGFwcGxpZWQgYmVmb3JlIGEgcmVzb3VyY2UgaXMgY3JlYXRlZC5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==