@aws-cdk/aws-bedrock-agentcore-alpha 2.236.0-alpha.0 → 2.237.0-alpha.0

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 (42) hide show
  1. package/.jsii +663 -173
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +23 -1
  4. package/README.md +129 -4
  5. package/lib/common/types.d.ts +35 -0
  6. package/lib/common/types.js +41 -0
  7. package/lib/gateway/gateway-base.js +1 -1
  8. package/lib/gateway/gateway.js +1 -1
  9. package/lib/gateway/inbound-auth/authorizer.d.ts +25 -0
  10. package/lib/gateway/inbound-auth/authorizer.js +17 -7
  11. package/lib/gateway/inbound-auth/custom-claim.d.ts +50 -0
  12. package/lib/gateway/inbound-auth/custom-claim.js +127 -0
  13. package/lib/gateway/interceptor.js +1 -1
  14. package/lib/gateway/outbound-auth/api-key.js +1 -1
  15. package/lib/gateway/outbound-auth/credential-provider.js +1 -1
  16. package/lib/gateway/protocol.js +2 -2
  17. package/lib/gateway/targets/schema/api-schema.js +7 -6
  18. package/lib/gateway/targets/schema/tool-schema.js +7 -6
  19. package/lib/gateway/targets/target-base.js +1 -1
  20. package/lib/gateway/targets/target-configuration.js +5 -5
  21. package/lib/gateway/targets/target.js +1 -1
  22. package/lib/index.d.ts +4 -1
  23. package/lib/index.js +8 -2
  24. package/lib/memory/memory-strategy.js +1 -1
  25. package/lib/memory/memory.js +2 -2
  26. package/lib/memory/strategies/managed-strategy.js +1 -1
  27. package/lib/memory/strategies/self-managed-strategy.js +1 -1
  28. package/lib/network/network-configuration.js +4 -4
  29. package/lib/runtime/inbound-auth/custom-claim.d.ts +50 -0
  30. package/lib/runtime/inbound-auth/custom-claim.js +127 -0
  31. package/lib/runtime/{runtime-authorizer-configuration.d.ts → inbound-auth/runtime-authorizer-configuration.d.ts} +10 -3
  32. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +183 -0
  33. package/lib/runtime/runtime-artifact.js +1 -1
  34. package/lib/runtime/runtime-base.js +1 -1
  35. package/lib/runtime/runtime-endpoint-base.js +1 -1
  36. package/lib/runtime/runtime-endpoint.js +1 -1
  37. package/lib/runtime/runtime.d.ts +1 -1
  38. package/lib/runtime/runtime.js +2 -2
  39. package/lib/tools/browser.js +2 -2
  40. package/lib/tools/code-interpreter.js +2 -2
  41. package/package.json +9 -9
  42. package/lib/runtime/runtime-authorizer-configuration.js +0 -159
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewayCustomClaim = void 0;
4
+ const jsiiDeprecationWarnings = require("../../../.warnings.jsii.js");
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
10
+ * with the License. A copy of the License is located at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
15
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
16
+ * and limitations under the License.
17
+ */
18
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
19
+ const types_1 = require("../../common/types");
20
+ const validation_helpers_1 = require("../validation-helpers");
21
+ /**
22
+ * Represents a custom claim validation configuration for Gateway JWT authorizers.
23
+ * Custom claims allow you to validate additional fields in JWT tokens beyond
24
+ * the standard audience, client, and scope validations.
25
+ */
26
+ class GatewayCustomClaim {
27
+ name;
28
+ valueType;
29
+ operator;
30
+ value;
31
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCustomClaim", version: "2.237.0-alpha.0" };
32
+ /**
33
+ * Create a custom claim with a string value.
34
+ * String claims must use the EQUALS operator.
35
+ *
36
+ * @param name The name of the claim in the JWT token
37
+ * @param value The string value to match (must exactly equal)
38
+ * @returns A GatewayCustomClaim configured for string validation
39
+ */
40
+ static withStringValue(name, value) {
41
+ return new GatewayCustomClaim(name, types_1.CustomClaimValueType.STRING, types_1.CustomClaimOperator.EQUALS, value);
42
+ }
43
+ /**
44
+ * Create a custom claim with a string array value.
45
+ * String array claims can use CONTAINS (default) or CONTAINS_ANY operator.
46
+ *
47
+ * @param name The name of the claim in the JWT token
48
+ * @param values The array of string values to match. For CONTAINS operator, must contain exactly one value.
49
+ * @param operator The match operator (defaults to CONTAINS)
50
+ * @returns A GatewayCustomClaim configured for string array validation
51
+ */
52
+ static withStringArrayValue(name, values, operator = types_1.CustomClaimOperator.CONTAINS) {
53
+ try {
54
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator(operator);
55
+ }
56
+ catch (error) {
57
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
58
+ Error.captureStackTrace(error, this.withStringArrayValue);
59
+ }
60
+ throw error;
61
+ }
62
+ // Validate operator is valid for STRING_ARRAY type
63
+ if (operator !== types_1.CustomClaimOperator.CONTAINS && operator !== types_1.CustomClaimOperator.CONTAINS_ANY) {
64
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING_ARRAY type only supports CONTAINS or CONTAINS_ANY operators, got ${operator}`);
65
+ }
66
+ return new GatewayCustomClaim(name, types_1.CustomClaimValueType.STRING_ARRAY, operator, values);
67
+ }
68
+ constructor(name, valueType, operator, value) {
69
+ this.name = name;
70
+ this.valueType = valueType;
71
+ this.operator = operator;
72
+ this.value = value;
73
+ if (aws_cdk_lib_1.Token.isUnresolved(value)) {
74
+ return;
75
+ }
76
+ // Validate that value matches the valueType
77
+ if (valueType === types_1.CustomClaimValueType.STRING && typeof value !== 'string') {
78
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING type requires a string value, got ${typeof value}`);
79
+ }
80
+ if (valueType === types_1.CustomClaimValueType.STRING_ARRAY && !Array.isArray(value)) {
81
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING_ARRAY type requires an array value, got ${typeof value}`);
82
+ }
83
+ }
84
+ /**
85
+ * Render the custom claim as a CloudFormation property
86
+ * @internal
87
+ */
88
+ _render() {
89
+ // Build the claim match value based on operator and value type
90
+ let claimMatchValue;
91
+ if (this.valueType === types_1.CustomClaimValueType.STRING) {
92
+ // STRING type always uses matchValueString with EQUALS operator
93
+ claimMatchValue = {
94
+ matchValueString: this.value,
95
+ };
96
+ }
97
+ else {
98
+ // STRING_ARRAY type: CONTAINS uses matchValueString, CONTAINS_ANY uses matchValueStringList
99
+ if (this.operator === types_1.CustomClaimOperator.CONTAINS) {
100
+ // CONTAINS requires a single string value (check if claim array contains this string)
101
+ const values = this.value;
102
+ if (!aws_cdk_lib_1.Token.isUnresolved(values[0]) && values.length !== 1) {
103
+ throw new validation_helpers_1.ValidationError(`Custom claim '${this.name}': CONTAINS operator requires exactly one value, got ${values.length} values`);
104
+ }
105
+ claimMatchValue = {
106
+ matchValueString: values[0],
107
+ };
108
+ }
109
+ else {
110
+ // CONTAINS_ANY uses matchValueStringList
111
+ claimMatchValue = {
112
+ matchValueStringList: this.value,
113
+ };
114
+ }
115
+ }
116
+ return {
117
+ inboundTokenClaimName: this.name,
118
+ inboundTokenClaimValueType: this.valueType,
119
+ authorizingClaimMatchValue: {
120
+ claimMatchOperator: this.operator,
121
+ claimMatchValue: claimMatchValue,
122
+ },
123
+ };
124
+ }
125
+ }
126
+ exports.GatewayCustomClaim = GatewayCustomClaim;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3VzdG9tLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFFcEMsOENBQStFO0FBQy9FLDhEQUF3RDtBQUV4RDs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFxQ1Y7SUFDQTtJQUNBO0lBQ0E7O0lBdkNuQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN2RCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDckc7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLFdBQWdDLDJCQUFtQixDQUFDLFFBQVE7Ozs7Ozs7Ozs7UUFFNUQsbURBQW1EO1FBQ25ELElBQUksUUFBUSxLQUFLLDJCQUFtQixDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssMkJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0YsTUFBTSxJQUFJLG9DQUFlLENBQ3ZCLGlCQUFpQixJQUFJLDhFQUE4RSxRQUFRLEVBQUUsQ0FDOUcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDMUY7SUFFRCxZQUNtQixJQUFZLEVBQ1osU0FBK0IsRUFDL0IsUUFBNkIsRUFDN0IsS0FBd0I7UUFIeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBRXpDLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxJQUFJLFNBQVMsS0FBSyw0QkFBb0IsQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLG9DQUFlLENBQUMsaUJBQWlCLElBQUksK0NBQStDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssNEJBQW9CLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLGlCQUFpQixJQUFJLHFEQUFxRCxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEgsQ0FBQztLQUNGO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLCtEQUErRDtRQUMvRCxJQUFJLGVBQXVELENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLDRCQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25ELGdFQUFnRTtZQUNoRSxlQUFlLEdBQUc7Z0JBQ2hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFlO2FBQ3ZDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLDRGQUE0RjtZQUM1RixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssMkJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25ELHNGQUFzRjtnQkFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQWlCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxRCxNQUFNLElBQUksb0NBQWUsQ0FDdkIsaUJBQWlCLElBQUksQ0FBQyxJQUFJLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxTQUFTLENBQ3pHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxlQUFlLEdBQUc7b0JBQ2hCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzVCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUNBQXlDO2dCQUN6QyxlQUFlLEdBQUc7b0JBQ2hCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxLQUFpQjtpQkFDN0MsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTztZQUNMLHFCQUFxQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2hDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFDLDBCQUEwQixFQUFFO2dCQUMxQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDakMsZUFBZSxFQUFFLGVBQWU7YUFDakM7U0FDRixDQUFDO0tBQ0g7O0FBL0ZILGdEQWdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuR2F0ZXdheSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB7IEN1c3RvbUNsYWltT3BlcmF0b3IsIEN1c3RvbUNsYWltVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4uL3ZhbGlkYXRpb24taGVscGVycyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIEdhdGV3YXkgSldUIGF1dGhvcml6ZXJzLlxuICogQ3VzdG9tIGNsYWltcyBhbGxvdyB5b3UgdG8gdmFsaWRhdGUgYWRkaXRpb25hbCBmaWVsZHMgaW4gSldUIHRva2VucyBiZXlvbmRcbiAqIHRoZSBzdGFuZGFyZCBhdWRpZW5jZSwgY2xpZW50LCBhbmQgc2NvcGUgdmFsaWRhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHYXRld2F5Q3VzdG9tQ2xhaW0ge1xuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIGNsYWltIHdpdGggYSBzdHJpbmcgdmFsdWUuXG4gICAqIFN0cmluZyBjbGFpbXMgbXVzdCB1c2UgdGhlIEVRVUFMUyBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gbWF0Y2ggKG11c3QgZXhhY3RseSBlcXVhbClcbiAgICogQHJldHVybnMgQSBHYXRld2F5Q3VzdG9tQ2xhaW0gY29uZmlndXJlZCBmb3Igc3RyaW5nIHZhbGlkYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aFN0cmluZ1ZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IEdhdGV3YXlDdXN0b21DbGFpbSB7XG4gICAgcmV0dXJuIG5ldyBHYXRld2F5Q3VzdG9tQ2xhaW0obmFtZSwgQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HLCBDdXN0b21DbGFpbU9wZXJhdG9yLkVRVUFMUywgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGN1c3RvbSBjbGFpbSB3aXRoIGEgc3RyaW5nIGFycmF5IHZhbHVlLlxuICAgKiBTdHJpbmcgYXJyYXkgY2xhaW1zIGNhbiB1c2UgQ09OVEFJTlMgKGRlZmF1bHQpIG9yIENPTlRBSU5TX0FOWSBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2Ygc3RyaW5nIHZhbHVlcyB0byBtYXRjaC4gRm9yIENPTlRBSU5TIG9wZXJhdG9yLCBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgdmFsdWUuXG4gICAqIEBwYXJhbSBvcGVyYXRvciBUaGUgbWF0Y2ggb3BlcmF0b3IgKGRlZmF1bHRzIHRvIENPTlRBSU5TKVxuICAgKiBAcmV0dXJucyBBIEdhdGV3YXlDdXN0b21DbGFpbSBjb25maWd1cmVkIGZvciBzdHJpbmcgYXJyYXkgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoU3RyaW5nQXJyYXlWYWx1ZShcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSxcbiAgICBvcGVyYXRvcjogQ3VzdG9tQ2xhaW1PcGVyYXRvciA9IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlMsXG4gICk6IEdhdGV3YXlDdXN0b21DbGFpbSB7XG4gICAgLy8gVmFsaWRhdGUgb3BlcmF0b3IgaXMgdmFsaWQgZm9yIFNUUklOR19BUlJBWSB0eXBlXG4gICAgaWYgKG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TICYmIG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TX0FOWSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEN1c3RvbSBjbGFpbSAnJHtuYW1lfSc6IFNUUklOR19BUlJBWSB0eXBlIG9ubHkgc3VwcG9ydHMgQ09OVEFJTlMgb3IgQ09OVEFJTlNfQU5ZIG9wZXJhdG9ycywgZ290ICR7b3BlcmF0b3J9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgR2F0ZXdheUN1c3RvbUNsYWltKG5hbWUsIEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklOR19BUlJBWSwgb3BlcmF0b3IsIHZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVUeXBlOiBDdXN0b21DbGFpbVZhbHVlVHlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wZXJhdG9yOiBDdXN0b21DbGFpbU9wZXJhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICApIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHZhbHVlIG1hdGNoZXMgdGhlIHZhbHVlVHlwZVxuICAgIGlmICh2YWx1ZVR5cGUgPT09IEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklORyAmJiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkcgdHlwZSByZXF1aXJlcyBhIHN0cmluZyB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICBpZiAodmFsdWVUeXBlID09PSBDdXN0b21DbGFpbVZhbHVlVHlwZS5TVFJJTkdfQVJSQVkgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkdfQVJSQVkgdHlwZSByZXF1aXJlcyBhbiBhcnJheSB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGN1c3RvbSBjbGFpbSBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuR2F0ZXdheS5DdXN0b21DbGFpbVZhbGlkYXRpb25UeXBlUHJvcGVydHkge1xuICAgIC8vIEJ1aWxkIHRoZSBjbGFpbSBtYXRjaCB2YWx1ZSBiYXNlZCBvbiBvcGVyYXRvciBhbmQgdmFsdWUgdHlwZVxuICAgIGxldCBjbGFpbU1hdGNoVmFsdWU6IENmbkdhdGV3YXkuQ2xhaW1NYXRjaFZhbHVlVHlwZVByb3BlcnR5O1xuICAgIGlmICh0aGlzLnZhbHVlVHlwZSA9PT0gQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HKSB7XG4gICAgICAvLyBTVFJJTkcgdHlwZSBhbHdheXMgdXNlcyBtYXRjaFZhbHVlU3RyaW5nIHdpdGggRVFVQUxTIG9wZXJhdG9yXG4gICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgIG1hdGNoVmFsdWVTdHJpbmc6IHRoaXMudmFsdWUgYXMgc3RyaW5nLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU1RSSU5HX0FSUkFZIHR5cGU6IENPTlRBSU5TIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZywgQ09OVEFJTlNfQU5ZIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZ0xpc3RcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TKSB7XG4gICAgICAgIC8vIENPTlRBSU5TIHJlcXVpcmVzIGEgc2luZ2xlIHN0cmluZyB2YWx1ZSAoY2hlY2sgaWYgY2xhaW0gYXJyYXkgY29udGFpbnMgdGhpcyBzdHJpbmcpXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlc1swXSkgJiYgdmFsdWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICBgQ3VzdG9tIGNsYWltICcke3RoaXMubmFtZX0nOiBDT05UQUlOUyBvcGVyYXRvciByZXF1aXJlcyBleGFjdGx5IG9uZSB2YWx1ZSwgZ290ICR7dmFsdWVzLmxlbmd0aH0gdmFsdWVzYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNsYWltTWF0Y2hWYWx1ZSA9IHtcbiAgICAgICAgICBtYXRjaFZhbHVlU3RyaW5nOiB2YWx1ZXNbMF0sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDT05UQUlOU19BTlkgdXNlcyBtYXRjaFZhbHVlU3RyaW5nTGlzdFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgICAgbWF0Y2hWYWx1ZVN0cmluZ0xpc3Q6IHRoaXMudmFsdWUgYXMgc3RyaW5nW10sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluYm91bmRUb2tlbkNsYWltTmFtZTogdGhpcy5uYW1lLFxuICAgICAgaW5ib3VuZFRva2VuQ2xhaW1WYWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxuICAgICAgYXV0aG9yaXppbmdDbGFpbU1hdGNoVmFsdWU6IHtcbiAgICAgICAgY2xhaW1NYXRjaE9wZXJhdG9yOiB0aGlzLm9wZXJhdG9yLFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWU6IGNsYWltTWF0Y2hWYWx1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -34,7 +34,7 @@ var InterceptionPoint;
34
34
  * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html
35
35
  */
36
36
  class LambdaInterceptor {
37
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.236.0-alpha.0" };
37
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.237.0-alpha.0" };
38
38
  /**
39
39
  * Create a REQUEST interceptor that executes before the gateway calls the target
40
40
  *
@@ -19,7 +19,7 @@ var ApiKeyCredentialLocationType;
19
19
  * API Key location within the request
20
20
  */
21
21
  class ApiKeyCredentialLocation {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.236.0-alpha.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.237.0-alpha.0" };
23
23
  /**
24
24
  * Create a header-based API key credential location
25
25
  * @param config - Optional configuration for the credential location
@@ -31,7 +31,7 @@ var CredentialProviderType;
31
31
  * Factory class for creating different Gateway Credential Providers
32
32
  */
33
33
  class GatewayCredentialProvider {
34
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.236.0-alpha.0" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.237.0-alpha.0" };
35
35
  /**
36
36
  * Create an API key credential provider from Identity ARN
37
37
  * Use this method when you have the Identity ARN as a string
@@ -21,7 +21,7 @@ var GatewayProtocolType;
21
21
  * Factory class for instantiating Gateway Protocols
22
22
  */
23
23
  class GatewayProtocol {
24
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.236.0-alpha.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.237.0-alpha.0" };
25
25
  /**
26
26
  * Create an MCP protocol configuration
27
27
  * @param props - Optional MCP configuration properties
@@ -75,7 +75,7 @@ var McpGatewaySearchType;
75
75
  * MCP (Model Context Protocol) configuration implementation
76
76
  */
77
77
  class McpProtocolConfiguration {
78
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.236.0-alpha.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.237.0-alpha.0" };
79
79
  protocolType;
80
80
  /**
81
81
  * The supported MCP protocol versions
@@ -5,6 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
7
  const s3_assets = require("aws-cdk-lib/aws-s3-assets");
8
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
8
9
  const base_schema_1 = require("./base-schema");
9
10
  /**
10
11
  * Error thrown when an ApiSchema is not properly initialized.
@@ -24,7 +25,7 @@ class ApiSchemaError extends Error {
24
25
  * Represents the concept of an API Schema for a Gateway Target.
25
26
  */
26
27
  class ApiSchema extends base_schema_1.TargetSchema {
27
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.236.0-alpha.0" };
28
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.237.0-alpha.0" };
28
29
  /**
29
30
  * Creates an API Schema from a local file.
30
31
  * @param path - the path to the local file containing the OpenAPI schema for the action group
@@ -82,7 +83,7 @@ exports.ApiSchema = ApiSchema;
82
83
  class AssetApiSchema extends ApiSchema {
83
84
  path;
84
85
  options;
85
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.236.0-alpha.0" };
86
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.237.0-alpha.0" };
86
87
  asset;
87
88
  constructor(path, options = {}) {
88
89
  super();
@@ -108,7 +109,7 @@ class AssetApiSchema extends ApiSchema {
108
109
  if (!this.asset) {
109
110
  // Note: Validation is handled at the target configuration level where we know the schema type
110
111
  // and whether validation is enabled
111
- this.asset = new s3_assets.Asset(scope, 'Schema', {
112
+ this.asset = new s3_assets.Asset(scope, `Schema${(0, helpers_internal_1.md5hash)(this.path)}`, {
112
113
  path: this.path,
113
114
  ...this.options,
114
115
  });
@@ -144,7 +145,7 @@ exports.AssetApiSchema = AssetApiSchema;
144
145
  */
145
146
  class InlineApiSchema extends ApiSchema {
146
147
  schema;
147
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.236.0-alpha.0" };
148
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.237.0-alpha.0" };
148
149
  constructor(schema) {
149
150
  super(undefined, undefined, schema);
150
151
  this.schema = schema;
@@ -174,7 +175,7 @@ exports.InlineApiSchema = InlineApiSchema;
174
175
  class S3ApiSchema extends ApiSchema {
175
176
  location;
176
177
  bucketOwnerAccountId;
177
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.236.0-alpha.0" };
178
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.237.0-alpha.0" };
178
179
  constructor(location, bucketOwnerAccountId) {
179
180
  super(location, bucketOwnerAccountId, undefined);
180
181
  this.location = location;
@@ -204,4 +205,4 @@ class S3ApiSchema extends ApiSchema {
204
205
  }
205
206
  }
206
207
  exports.S3ApiSchema = S3ApiSchema;
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFwaS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQUFrQztBQUNsQyxpREFBbUQ7QUFFbkQsdURBQXVEO0FBRXZELCtDQUE2QztBQUU3Qzs7R0FFRztBQUNILE1BQU0sY0FBZSxTQUFRLEtBQUs7SUFDYTtJQUE3QyxZQUFZLE9BQWUsRUFBa0IsS0FBYztRQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFENEIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUV6RCxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO0tBQzlCO0NBQ0Y7QUFFRDs7K0VBRStFO0FBQy9FOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLDBCQUFZOztJQUNsRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQVk7UUFDdkMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUNyQyxPQUFPLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3BDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWUsRUFBRSxTQUFpQixFQUFFLG9CQUE2QjtRQUN4RixPQUFPLElBQUksV0FBVyxDQUNwQjtZQUNFLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtZQUM3QixTQUFTLEVBQUUsU0FBUztTQUNyQixFQUNELG9CQUFvQixDQUNyQixDQUFDO0tBQ0g7SUFFRDs7O09BR0c7SUFDYSxNQUFNLENBQVk7SUFFbEM7OztPQUdHO0lBQ2EsWUFBWSxDQUFVO0lBRXRDOztPQUVHO0lBQ2Esb0JBQW9CLENBQVU7SUFFOUMsWUFBc0IsTUFBaUIsRUFBRSxvQkFBNkIsRUFBRSxZQUFxQjtRQUMzRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUks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QUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXO1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxrQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBHcmFudCwgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElCdWNrZXQsIExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVGFyZ2V0U2NoZW1hIH0gZnJvbSAnLi9iYXNlLXNjaGVtYSc7XG5cbi8qKlxuICogRXJyb3IgdGhyb3duIHdoZW4gYW4gQXBpU2NoZW1hIGlzIG5vdCBwcm9wZXJseSBpbml0aWFsaXplZC5cbiAqL1xuY2xhc3MgQXBpU2NoZW1hRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0FwaVNjaGVtYUVycm9yJztcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgQVBJIFNDSEVNQSBDTEFTU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25jZXB0IG9mIGFuIEFQSSBTY2hlbWEgZm9yIGEgR2F0ZXdheSBUYXJnZXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTY2hlbWEgZXh0ZW5kcyBUYXJnZXRTY2hlbWEge1xuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBUEkgU2NoZW1hIGZyb20gYSBsb2NhbCBmaWxlLlxuICAgKiBAcGFyYW0gcGF0aCAtIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEFzc2V0KHBhdGg6IHN0cmluZyk6IEFzc2V0QXBpU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0QXBpU2NoZW1hKHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gQVBJIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gICAqIEBwYXJhbSBzY2hlbWEgLSB0aGUgSlNPTiBvciBZQU1MIHBheWxvYWQgZGVmaW5pbmcgdGhlIHNjaGVtYSAoT3BlbkFQSSBvciBTbWl0aHkpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoc2NoZW1hOiBzdHJpbmcpOiBJbmxpbmVBcGlTY2hlbWEge1xuICAgIHJldHVybiBuZXcgSW5saW5lQXBpU2NoZW1hKHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBUEkgU2NoZW1hIGZyb20gYW4gUzMgRmlsZVxuICAgKiBAcGFyYW0gYnVja2V0IC0gdGhlIGJ1Y2tldCBjb250YWluaW5nIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqIEBwYXJhbSBvYmplY3RLZXkgLSBvYmplY3Qga2V5IGluIHRoZSBidWNrZXRcbiAgICogQHBhcmFtIGJ1Y2tldE93bmVyQWNjb3VudElkIC0gb3B0aW9uYWwgVGhlIGFjY291bnQgSUQgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgb3duZXIuIFRoaXMgSUQgaXMgdXNlZCBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3MgdG8gdGhlIGJ1Y2tldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVMzRmlsZShidWNrZXQ6IElCdWNrZXQsIG9iamVjdEtleTogc3RyaW5nLCBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZyk6IFMzQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IFMzQXBpU2NoZW1hKFxuICAgICAge1xuICAgICAgICBidWNrZXROYW1lOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgb2JqZWN0S2V5OiBvYmplY3RLZXksXG4gICAgICB9LFxuICAgICAgYnVja2V0T3duZXJBY2NvdW50SWQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgUzMgbG9jYXRpb24gb2YgdGhlIEFQSSBzY2hlbWEgZmlsZSwgaWYgdXNpbmcgYW4gUzMtYmFzZWQgc2NoZW1hLlxuICAgKiBDb250YWlucyB0aGUgYnVja2V0IG5hbWUgYW5kIG9iamVjdCBrZXkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNGaWxlPzogTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpbmxpbmUgT3BlbkFQSSBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIHN0cmluZywgaWYgdXNpbmcgYW4gaW5saW5lIHNjaGVtYS5cbiAgICogQ2FuIGJlIGluIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5saW5lU2NoZW1hPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBJRCBvZiB0aGUgUzMgYnVja2V0IG93bmVyIGZvciBjcm9zcy1hY2NvdW50IGFjY2Vzc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzM0ZpbGU/OiBMb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcsIGlubGluZVNjaGVtYT86IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zM0ZpbGUgPSBzM0ZpbGU7XG4gICAgdGhpcy5pbmxpbmVTY2hlbWEgPSBpbmxpbmVTY2hlbWE7XG4gICAgdGhpcy5idWNrZXRPd25lckFjY291bnRJZCA9IGJ1Y2tldE93bmVyQWNjb3VudElkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhcyBDRk4gcHJvcGVydGllc1xuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBfcmVuZGVyKCk6IGFueTtcbn1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZyb20gYSBsb2NhbCBhc3NldC5cbiAqXG4gKiBUaGUgYXNzZXQgaXMgdXBsb2FkZWQgdG8gYW4gUzMgc3RhZ2luZyBidWNrZXQsIHRoZW4gbW92ZWQgdG8gaXRzIGZpbmFsIGxvY2F0aW9uXG4gKiBieSBDbG91ZEZvcm1hdGlvbiBkdXJpbmcgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0QXBpU2NoZW1hIGV4dGVuZHMgQXBpU2NoZW1hIHtcbiAgcHJpdmF0ZSBhc3NldD86IHMzX2Fzc2V0cy5Bc3NldDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhdGg6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBzM19hc3NldHMuQXNzZXRPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgcGF0aCBmb3IgaW50ZXJuYWwgdmFsaWRhdGlvbiBwdXJwb3Nlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfZ2V0RmlsZVBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoaXMgQVBJIHNjaGVtYSB0byBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICogVGhpcyBtZXRob2QgaW5pdGlhbGl6ZXMgdGhlIFMzIGFzc2V0IGlmIGl0IGhhc24ndCBiZWVuIGluaXRpYWxpemVkIHlldC5cbiAgICogTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgc2NoZW1hIGFzIENGTiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIHRvIGJpbmQgdG9cbiAgICovXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldEFwaVNjaGVtYSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgLy8gTm90ZTogVmFsaWRhdGlvbiBpcyBoYW5kbGVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbCB3aGVyZSB3ZSBrbm93IHRoZSBzY2hlbWEgdHlwZVxuICAgICAgLy8gYW5kIHdoZXRoZXIgdmFsaWRhdGlvbiBpcyBlbmFibGVkXG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHMzX2Fzc2V0cy5Bc3NldChzY29wZSwgJ1NjaGVtYScsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICAgIC8vIE5vdGU6IFBlcm1pc3Npb25zIHdpbGwgYmUgZ3JhbnRlZCBieSB0aGUgR2F0ZXdheSB0YXJnZXQgY29uc3RydWN0IHdoZW4gYWRkaW5nIHRoZSB0YXJnZXRcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IGFzIENGTiBwcm9wZXJ0aWVzXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBBcGlTY2hlbWFFcnJvcihcbiAgICAgICAgJ0FwaVNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICAgJ0Fzc2V0IG5vdCBpbml0aWFsaXplZCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzMzoge1xuICAgICAgICB1cmk6IGBzMzovLyR7dGhpcy5hc3NldC5zM0J1Y2tldE5hbWV9LyR7dGhpcy5hc3NldC5zM09iamVjdEtleX1gLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldC5ncmFudFJlYWQocm9sZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyoqXG4gKiBDbGFzcyB0byBkZWZpbmUgYW4gQVBJIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gKiBUaGUgc2NoZW1hIGNhbiBiZSBwcm92aWRlZCBkaXJlY3RseSBhcyBhIHN0cmluZy5cbiAqIFZhbGlkYXRpb24gaXMgcGVyZm9ybWVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbCB3aGVyZSB0aGUgc2NoZW1hIHR5cGUgaXMga25vd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVBcGlTY2hlbWEgZXh0ZW5kcyBBcGlTY2hlbWEge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVQYXlsb2FkOiB0aGlzLnNjaGVtYSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUoX3JvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgLy8gTm8tb3AgLSBJbmxpbmVBcGlTY2hlbWEgZG9lc24ndCBuZWVkIHBlcm1pc3Npb25zXG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKHNjb3BlKSB7XG4gICAgfVxuICAgIC8vIE5vLW9wIC0gdmFsaWRhdGlvbiBpcyBoYW5kbGVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbFxuICAgIC8vIHdoZXJlIHdlIGtub3cgd2hldGhlciB0aGlzIGlzIE9wZW5BUEkgb3IgU21pdGh5XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTMyBGaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGFuIEFQSSBTY2hlbWEgZnJvbSBhbiBTMyBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0FwaVNjaGVtYSBleHRlbmRzIEFwaVNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLCBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQsIHVuZGVmaW5lZCk7XG4gIH1cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMubG9jYXRpb24uYnVja2V0TmFtZX0vJHt0aGlzLmxvY2F0aW9uLm9iamVjdEtleX1gLFxuICAgICAgICAuLi4odGhpcy5idWNrZXRPd25lckFjY291bnRJZCAmJiB7IGJ1Y2tldE93bmVyQWNjb3VudElkOiB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiByb2xlLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgIHJlc291cmNlQXJuczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFwaS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQUFrQztBQUNsQyxpREFBbUQ7QUFFbkQsdURBQXVEO0FBQ3ZELDRFQUFnRTtBQUVoRSwrQ0FBNkM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLGNBQWUsU0FBUSxLQUFLO0lBQ2E7SUFBN0MsWUFBWSxPQUFlLEVBQWtCLEtBQWM7UUFDekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRDRCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFFekQsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztLQUM5QjtDQUNGO0FBRUQ7OytFQUUrRTtBQUMvRTs7R0FFRztBQUNILE1BQXNCLFNBQVUsU0FBUSwwQkFBWTs7SUFDbEQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQ3ZDLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDckMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNwQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFlLEVBQUUsU0FBaUIsRUFBRSxvQkFBNkI7UUFDeEYsT0FBTyxJQUFJLFdBQVcsQ0FDcEI7WUFDRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsU0FBUyxFQUFFLFNBQVM7U0FDckIsRUFDRCxvQkFBb0IsQ0FDckIsQ0FBQztLQUNIO0lBRUQ7OztPQUdHO0lBQ2EsTUFBTSxDQUFZO0lBRWxDOzs7T0FHRztJQUNhLFlBQVksQ0FBVTtJQUV0Qzs7T0FFRztJQUNhLG9CQUFvQixDQUFVO0lBRTlDLFlBQXNCLE1BQWlCLEVBQUUsb0JBQTZCLEVBQUUsWUFBcUI7UUFDM0YsS0FBSyxFQUFFLENB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bEUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXO1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxrQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBHcmFudCwgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElCdWNrZXQsIExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IG1kNWhhc2ggfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVGFyZ2V0U2NoZW1hIH0gZnJvbSAnLi9iYXNlLXNjaGVtYSc7XG5cbi8qKlxuICogRXJyb3IgdGhyb3duIHdoZW4gYW4gQXBpU2NoZW1hIGlzIG5vdCBwcm9wZXJseSBpbml0aWFsaXplZC5cbiAqL1xuY2xhc3MgQXBpU2NoZW1hRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0FwaVNjaGVtYUVycm9yJztcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgQVBJIFNDSEVNQSBDTEFTU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25jZXB0IG9mIGFuIEFQSSBTY2hlbWEgZm9yIGEgR2F0ZXdheSBUYXJnZXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTY2hlbWEgZXh0ZW5kcyBUYXJnZXRTY2hlbWEge1xuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBUEkgU2NoZW1hIGZyb20gYSBsb2NhbCBmaWxlLlxuICAgKiBAcGFyYW0gcGF0aCAtIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEFzc2V0KHBhdGg6IHN0cmluZyk6IEFzc2V0QXBpU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0QXBpU2NoZW1hKHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gQVBJIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gICAqIEBwYXJhbSBzY2hlbWEgLSB0aGUgSlNPTiBvciBZQU1MIHBheWxvYWQgZGVmaW5pbmcgdGhlIHNjaGVtYSAoT3BlbkFQSSBvciBTbWl0aHkpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoc2NoZW1hOiBzdHJpbmcpOiBJbmxpbmVBcGlTY2hlbWEge1xuICAgIHJldHVybiBuZXcgSW5saW5lQXBpU2NoZW1hKHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBUEkgU2NoZW1hIGZyb20gYW4gUzMgRmlsZVxuICAgKiBAcGFyYW0gYnVja2V0IC0gdGhlIGJ1Y2tldCBjb250YWluaW5nIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqIEBwYXJhbSBvYmplY3RLZXkgLSBvYmplY3Qga2V5IGluIHRoZSBidWNrZXRcbiAgICogQHBhcmFtIGJ1Y2tldE93bmVyQWNjb3VudElkIC0gb3B0aW9uYWwgVGhlIGFjY291bnQgSUQgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgb3duZXIuIFRoaXMgSUQgaXMgdXNlZCBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3MgdG8gdGhlIGJ1Y2tldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVMzRmlsZShidWNrZXQ6IElCdWNrZXQsIG9iamVjdEtleTogc3RyaW5nLCBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZyk6IFMzQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IFMzQXBpU2NoZW1hKFxuICAgICAge1xuICAgICAgICBidWNrZXROYW1lOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgb2JqZWN0S2V5OiBvYmplY3RLZXksXG4gICAgICB9LFxuICAgICAgYnVja2V0T3duZXJBY2NvdW50SWQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgUzMgbG9jYXRpb24gb2YgdGhlIEFQSSBzY2hlbWEgZmlsZSwgaWYgdXNpbmcgYW4gUzMtYmFzZWQgc2NoZW1hLlxuICAgKiBDb250YWlucyB0aGUgYnVja2V0IG5hbWUgYW5kIG9iamVjdCBrZXkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNGaWxlPzogTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpbmxpbmUgT3BlbkFQSSBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIHN0cmluZywgaWYgdXNpbmcgYW4gaW5saW5lIHNjaGVtYS5cbiAgICogQ2FuIGJlIGluIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5saW5lU2NoZW1hPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBJRCBvZiB0aGUgUzMgYnVja2V0IG93bmVyIGZvciBjcm9zcy1hY2NvdW50IGFjY2Vzc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzM0ZpbGU/OiBMb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcsIGlubGluZVNjaGVtYT86IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zM0ZpbGUgPSBzM0ZpbGU7XG4gICAgdGhpcy5pbmxpbmVTY2hlbWEgPSBpbmxpbmVTY2hlbWE7XG4gICAgdGhpcy5idWNrZXRPd25lckFjY291bnRJZCA9IGJ1Y2tldE93bmVyQWNjb3VudElkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhcyBDRk4gcHJvcGVydGllc1xuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBfcmVuZGVyKCk6IGFueTtcbn1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZyb20gYSBsb2NhbCBhc3NldC5cbiAqXG4gKiBUaGUgYXNzZXQgaXMgdXBsb2FkZWQgdG8gYW4gUzMgc3RhZ2luZyBidWNrZXQsIHRoZW4gbW92ZWQgdG8gaXRzIGZpbmFsIGxvY2F0aW9uXG4gKiBieSBDbG91ZEZvcm1hdGlvbiBkdXJpbmcgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0QXBpU2NoZW1hIGV4dGVuZHMgQXBpU2NoZW1hIHtcbiAgcHJpdmF0ZSBhc3NldD86IHMzX2Fzc2V0cy5Bc3NldDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhdGg6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBzM19hc3NldHMuQXNzZXRPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgcGF0aCBmb3IgaW50ZXJuYWwgdmFsaWRhdGlvbiBwdXJwb3Nlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfZ2V0RmlsZVBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoaXMgQVBJIHNjaGVtYSB0byBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICogVGhpcyBtZXRob2QgaW5pdGlhbGl6ZXMgdGhlIFMzIGFzc2V0IGlmIGl0IGhhc24ndCBiZWVuIGluaXRpYWxpemVkIHlldC5cbiAgICogTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgc2NoZW1hIGFzIENGTiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIHRvIGJpbmQgdG9cbiAgICovXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldEFwaVNjaGVtYSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgLy8gTm90ZTogVmFsaWRhdGlvbiBpcyBoYW5kbGVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbCB3aGVyZSB3ZSBrbm93IHRoZSBzY2hlbWEgdHlwZVxuICAgICAgLy8gYW5kIHdoZXRoZXIgdmFsaWRhdGlvbiBpcyBlbmFibGVkXG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHMzX2Fzc2V0cy5Bc3NldChzY29wZSwgYFNjaGVtYSR7bWQ1aGFzaCh0aGlzLnBhdGgpfWAsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICAgIC8vIE5vdGU6IFBlcm1pc3Npb25zIHdpbGwgYmUgZ3JhbnRlZCBieSB0aGUgR2F0ZXdheSB0YXJnZXQgY29uc3RydWN0IHdoZW4gYWRkaW5nIHRoZSB0YXJnZXRcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IGFzIENGTiBwcm9wZXJ0aWVzXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBBcGlTY2hlbWFFcnJvcihcbiAgICAgICAgJ0FwaVNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICAgJ0Fzc2V0IG5vdCBpbml0aWFsaXplZCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzMzoge1xuICAgICAgICB1cmk6IGBzMzovLyR7dGhpcy5hc3NldC5zM0J1Y2tldE5hbWV9LyR7dGhpcy5hc3NldC5zM09iamVjdEtleX1gLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldC5ncmFudFJlYWQocm9sZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyoqXG4gKiBDbGFzcyB0byBkZWZpbmUgYW4gQVBJIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gKiBUaGUgc2NoZW1hIGNhbiBiZSBwcm92aWRlZCBkaXJlY3RseSBhcyBhIHN0cmluZy5cbiAqIFZhbGlkYXRpb24gaXMgcGVyZm9ybWVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbCB3aGVyZSB0aGUgc2NoZW1hIHR5cGUgaXMga25vd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVBcGlTY2hlbWEgZXh0ZW5kcyBBcGlTY2hlbWEge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVQYXlsb2FkOiB0aGlzLnNjaGVtYSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUoX3JvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgLy8gTm8tb3AgLSBJbmxpbmVBcGlTY2hlbWEgZG9lc24ndCBuZWVkIHBlcm1pc3Npb25zXG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKHNjb3BlKSB7XG4gICAgfVxuICAgIC8vIE5vLW9wIC0gdmFsaWRhdGlvbiBpcyBoYW5kbGVkIGF0IHRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiBsZXZlbFxuICAgIC8vIHdoZXJlIHdlIGtub3cgd2hldGhlciB0aGlzIGlzIE9wZW5BUEkgb3IgU21pdGh5XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTMyBGaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGFuIEFQSSBTY2hlbWEgZnJvbSBhbiBTMyBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0FwaVNjaGVtYSBleHRlbmRzIEFwaVNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLCBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQsIHVuZGVmaW5lZCk7XG4gIH1cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMubG9jYXRpb24uYnVja2V0TmFtZX0vJHt0aGlzLmxvY2F0aW9uLm9iamVjdEtleX1gLFxuICAgICAgICAuLi4odGhpcy5idWNrZXRPd25lckFjY291bnRJZCAmJiB7IGJ1Y2tldE93bmVyQWNjb3VudElkOiB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiByb2xlLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgIHJlc291cmNlQXJuczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -5,6 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
7
  const s3_assets = require("aws-cdk-lib/aws-s3-assets");
8
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
8
9
  const base_schema_1 = require("./base-schema");
9
10
  /**
10
11
  * Schema definition types
@@ -39,7 +40,7 @@ class ToolSchemaError extends Error {
39
40
  * TOOL SCHEMA CLASS
40
41
  *****************************************************************************/
41
42
  class ToolSchema extends base_schema_1.TargetSchema {
42
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.236.0-alpha.0" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.237.0-alpha.0" };
43
44
  /**
44
45
  * Creates a tool Schema from a local file.
45
46
  * @param path - the path to the local file containing the function schema for the tool
@@ -97,7 +98,7 @@ exports.ToolSchema = ToolSchema;
97
98
  class AssetToolSchema extends ToolSchema {
98
99
  path;
99
100
  options;
100
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.236.0-alpha.0" };
101
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.237.0-alpha.0" };
101
102
  asset;
102
103
  constructor(path, options = {}) {
103
104
  super();
@@ -114,7 +115,7 @@ class AssetToolSchema extends ToolSchema {
114
115
  bind(scope) {
115
116
  // If the same AssetToolSchema is used multiple times, retain only the first instantiation
116
117
  if (!this.asset) {
117
- this.asset = new s3_assets.Asset(scope, 'Schema', {
118
+ this.asset = new s3_assets.Asset(scope, `Schema${(0, helpers_internal_1.md5hash)(this.path)}`, {
118
119
  path: this.path,
119
120
  ...this.options,
120
121
  });
@@ -150,7 +151,7 @@ exports.AssetToolSchema = AssetToolSchema;
150
151
  */
151
152
  class InlineToolSchema extends ToolSchema {
152
153
  schema;
153
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.236.0-alpha.0" };
154
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.237.0-alpha.0" };
154
155
  constructor(schema) {
155
156
  super(undefined, undefined, schema);
156
157
  this.schema = schema;
@@ -180,7 +181,7 @@ exports.InlineToolSchema = InlineToolSchema;
180
181
  class S3ToolSchema extends ToolSchema {
181
182
  location;
182
183
  bucketOwnerAccountId;
183
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.236.0-alpha.0" };
184
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.237.0-alpha.0" };
184
185
  constructor(location, bucketOwnerAccountId) {
185
186
  super(location, bucketOwnerAccountId, undefined);
186
187
  this.location = location;
@@ -210,4 +211,4 @@ class S3ToolSchema extends ToolSchema {
210
211
  }
211
212
  }
212
213
  exports.S3ToolSchema = S3ToolSchema;
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkNBQWtDO0FBQ2xDLGlEQUFtRDtBQUVuRCx1REFBdUQ7QUFFdkQsK0NBQTZDO0FBc0I3Qzs7R0FFRztBQUNILElBQVksb0JBYVg7QUFiRCxXQUFZLG9CQUFvQjtJQUM5QixrQkFBa0I7SUFDbEIseUNBQWlCLENBQUE7SUFDakIsa0JBQWtCO0lBQ2xCLHlDQUFpQixDQUFBO0lBQ2pCLGtCQUFrQjtJQUNsQix5Q0FBaUIsQ0FBQTtJQUNqQixpQkFBaUI7SUFDakIsdUNBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQiwyQ0FBbUIsQ0FBQTtJQUNuQixtQkFBbUI7SUFDbkIsMkNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQWJXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBYS9CO0FBMEVEOztHQUVHO0FBQ0gsTUFBTSxlQUFnQixTQUFRLEtBQUs7SUFDWTtJQUE3QyxZQUFZLE9BQWUsRUFBa0IsS0FBYztRQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFENEIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUV6RCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO0tBQy9CO0NBQ0Y7QUFFRDs7K0VBRStFO0FBQy9FLE1BQXNCLFVBQVcsU0FBUSwwQkFBWTs7SUFDbkQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQ3ZDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbEM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQXdCO1FBQy9DLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFlLEVBQUUsU0FBaUIsRUFBRSxvQkFBNkI7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QUFDO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBa0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFTO0tBRTdGO0lBQ0Q7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTztZQUNMLEVBQUUsRUFBRTtnQkFDRixHQUFHLEVBQUUsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXO1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBHcmFudCwgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElCdWNrZXQsIExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVGFyZ2V0U2NoZW1hIH0gZnJvbSAnLi9iYXNlLXNjaGVtYSc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb29sIFNjaGVtYSBDb25maWd1cmF0aW9uXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQWJzdHJhY3QgaW50ZXJmYWNlIGZvciB0b29sIHNjaGVtYSBjb25maWd1cmF0aW9uXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9vbFNjaGVtYUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbFNjaGVtYVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqL1xuICByZWFkb25seSBjb25maWd1cmF0aW9uOiBhbnk7XG59XG5cbi8qKlxuICogU2NoZW1hIGRlZmluaXRpb24gdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gU2NoZW1hRGVmaW5pdGlvblR5cGUge1xuICAvKiogU3RyaW5nIHR5cGUgKi9cbiAgU1RSSU5HID0gJ3N0cmluZycsXG4gIC8qKiBOdW1iZXIgdHlwZSAqL1xuICBOVU1CRVIgPSAnbnVtYmVyJyxcbiAgLyoqIE9iamVjdCB0eXBlICovXG4gIE9CSkVDVCA9ICdvYmplY3QnLFxuICAvKiogQXJyYXkgdHlwZSAqL1xuICBBUlJBWSA9ICdhcnJheScsXG4gIC8qKiBCb29sZWFuIHR5cGUgKi9cbiAgQk9PTEVBTiA9ICdib29sZWFuJyxcbiAgLyoqIEludGVnZXIgdHlwZSAqL1xuICBJTlRFR0VSID0gJ2ludGVnZXInLFxufVxuXG4vKipcbiAqIFNjaGVtYSBkZWZpbml0aW9uIGZvciB0b29sIGlucHV0L291dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYURlZmluaXRpb24ge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIHNwZWNpZmllcyB0aGUgZGF0YSB0eXBlIG9mIHRoZSBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBTY2hlbWFEZWZpbml0aW9uVHlwZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBkZXNjcmlwdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHVycG9zZSBhbmQgdXNhZ2Ugb2YgdGhlIHNjaGVtYS5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGRlc2NyaXB0aW9uIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIGFuZCB1c2FnZSBvZiB0aGUgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGl0ZW1zIGluIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBmaWVsZCBpcyB1c2VkIGZvciBhcnJheSB0eXBlcyB0byBkZWZpbmUgdGhlIHN0cnVjdHVyZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMuXG4gICAqL1xuICAvKipcbiAgICogVGhlIGl0ZW1zIGluIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBmaWVsZCBpcyB1c2VkIGZvciBhcnJheSB0eXBlcyB0byBkZWZpbmUgdGhlIHN0cnVjdHVyZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMuXG4gICAqIEBkZWZhdWx0IC0gTm8gaXRlbXMgZGVmaW5pdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM/OiBTY2hlbWFEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIHByb3BlcnRpZXMgZGVmaW5lIHRoZSBmaWVsZHMgaW4gdGhlIHNjaGVtYS5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIHByb3BlcnRpZXMgZGVmaW5lIHRoZSBmaWVsZHMgaW4gdGhlIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgLSBObyBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgU2NoZW1hRGVmaW5pdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSByZXF1aXJlZCBmaWVsZHMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGVzZSBmaWVsZHMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoZSBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVxdWlyZWQgZmllbGRzXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZD86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFRvb2wgZGVmaW5pdGlvbiBmb3IgaW5saW5lIHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdG9vbC4gVGhpcyBuYW1lIGlkZW50aWZpZXMgdGhlIHRvb2wgaW4gdGhlIE1vZGVsIENvbnRleHQgUHJvdG9jb2wuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgdG9vbC4gVGhpcyBkZXNjcmlwdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHVycG9zZSBhbmQgdXNhZ2Ugb2YgdGhlIHRvb2wuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnB1dCB0aGF0IHRoZSB0b29sIGFjY2VwdHMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dFNjaGVtYTogU2NoZW1hRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBzY2hlbWEgZm9yIHRoZSB0b29sLiBUaGlzIHNjaGVtYSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG91dHB1dCB0aGF0IHRoZSB0b29sIHByb2R1Y2VzLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBvdXRwdXQgdGhhdCB0aGUgdG9vbCBwcm9kdWNlcy5cbiAgICogQGRlZmF1bHQgLSBObyBvdXRwdXQgc2NoZW1hXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRTY2hlbWE/OiBTY2hlbWFEZWZpbml0aW9uO1xufVxuXG4vKipcbiAqIEVycm9yIHRocm93biB3aGVuIGEgVG9vbFNjaGVtYSBpcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWQuXG4gKi9cbmNsYXNzIFRvb2xTY2hlbWFFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgY2F1c2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVG9vbFNjaGVtYUVycm9yJztcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgVE9PTCBTQ0hFTUEgQ0xBU1NcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUb29sU2NoZW1hIGV4dGVuZHMgVGFyZ2V0U2NoZW1hIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0b29sIFNjaGVtYSBmcm9tIGEgbG9jYWwgZmlsZS5cbiAgICogQHBhcmFtIHBhdGggLSB0aGUgcGF0aCB0byB0aGUgbG9jYWwgZmlsZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbiBzY2hlbWEgZm9yIHRoZSB0b29sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEFzc2V0KHBhdGg6IHN0cmluZyk6IFRvb2xTY2hlbWEge1xuICAgIHJldHVybiBuZXcgQXNzZXRUb29sU2NoZW1hKHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBUb29sIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gICAqIEBwYXJhbSBzY2hlbWEgLSB0aGUgSlNPTiBvciBZQU1MIHBheWxvYWQgZGVmaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoc2NoZW1hOiBUb29sRGVmaW5pdGlvbltdKTogSW5saW5lVG9vbFNjaGVtYSB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVUb29sU2NoZW1hKHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFRvb2wgU2NoZW1hIGZyb20gYW4gUzMgRmlsZVxuICAgKiBAcGFyYW0gYnVja2V0IC0gdGhlIGJ1Y2tldCBjb250YWluaW5nIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqIEBwYXJhbSBvYmplY3RLZXkgLSBvYmplY3Qga2V5IGluIHRoZSBidWNrZXRcbiAgICogQHBhcmFtIGJ1Y2tldE93bmVyQWNjb3VudElkIC0gb3B0aW9uYWwgVGhlIGFjY291bnQgSUQgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgb3duZXIuIFRoaXMgSUQgaXMgdXNlZCBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3MgdG8gdGhlIGJ1Y2tldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVMzRmlsZShidWNrZXQ6IElCdWNrZXQsIG9iamVjdEtleTogc3RyaW5nLCBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZyk6IFMzVG9vbFNjaGVtYSB7XG4gICAgcmV0dXJuIG5ldyBTM1Rvb2xTY2hlbWEoXG4gICAgICB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IGJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IG9iamVjdEtleSxcbiAgICAgIH0sXG4gICAgICBidWNrZXRPd25lckFjY291bnRJZCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBTMyBsb2NhdGlvbiBvZiB0aGUgdG9vbCBzY2hlbWEgZmlsZSwgaWYgdXNpbmcgYW4gUzMtYmFzZWQgc2NoZW1hLlxuICAgKiBDb250YWlucyB0aGUgYnVja2V0IG5hbWUgYW5kIG9iamVjdCBrZXkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNGaWxlPzogTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpbmxpbmUgdG9vbCBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIHN0cmluZywgaWYgdXNpbmcgYW4gaW5saW5lIHNjaGVtYS5cbiAgICogQ2FuIGJlIGluIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5saW5lU2NoZW1hPzogVG9vbERlZmluaXRpb25bXTtcblxuICAvKipcbiAgICogVGhlIGFjY291bnQgSUQgb2YgdGhlIFMzIGJ1Y2tldCBvd25lciBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZztcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoczNGaWxlPzogTG9jYXRpb24sIGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nLCBpbmxpbmVTY2hlbWE/OiBUb29sRGVmaW5pdGlvbltdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnMzRmlsZSA9IHMzRmlsZTtcbiAgICB0aGlzLmlubGluZVNjaGVtYSA9IGlubGluZVNjaGVtYTtcbiAgICB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkID0gYnVja2V0T3duZXJBY2NvdW50SWQ7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IGFzIENGTiBwcm9wZXJ0aWVzXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXIoKTogYW55O1xufVxuXG4vKipcbiAqIFRvb2wgU2NoZW1hIGZyb20gYSBsb2NhbCBhc3NldC5cbiAqXG4gKiBUaGUgYXNzZXQgaXMgdXBsb2FkZWQgdG8gYW4gUzMgc3RhZ2luZyBidWNrZXQsIHRoZW4gbW92ZWQgdG8gaXRzIGZpbmFsIGxvY2F0aW9uXG4gKiBieSBDbG91ZEZvcm1hdGlvbiBkdXJpbmcgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0VG9vbFNjaGVtYSBleHRlbmRzIFRvb2xTY2hlbWEge1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhpcyB0b29sIHNjaGVtYSB0byBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICogVGhpcyBtZXRob2QgaW5pdGlhbGl6ZXMgdGhlIFMzIGFzc2V0IGlmIGl0IGhhc24ndCBiZWVuIGluaXRpYWxpemVkIHlldC5cbiAgICogTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgc2NoZW1hIGFzIENGTiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIHRvIGJpbmQgdG9cbiAgICovXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldFRvb2xTY2hlbWEgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb25cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgczNfYXNzZXRzLkFzc2V0KHNjb3BlLCAnU2NoZW1hJywge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgICAgLy8gTm90ZTogUGVybWlzc2lvbnMgd2lsbCBiZSBncmFudGVkIGJ5IHRoZSBHYXRld2F5IHRhcmdldCBjb25zdHJ1Y3Qgd2hlbiBhZGRpbmcgdGhlIHRhcmdldFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYXMgQ0ZOIHByb3BlcnRpZXNcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xTY2hlbWFFcnJvcihcbiAgICAgICAgJ1Rvb2xTY2hlbWEgbXVzdCBiZSBib3VuZCB0byBhIHNjb3BlIGJlZm9yZSByZW5kZXJpbmcuIENhbGwgYmluZCgpIGZpcnN0LicsXG4gICAgICAgICdBc3NldCBub3QgaW5pdGlhbGl6ZWQnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMuYXNzZXQuczNCdWNrZXROYW1lfS8ke3RoaXMuYXNzZXQuczNPYmplY3RLZXl9YCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudFBlcm1pc3Npb25zVG9Sb2xlKHJvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbFNjaGVtYUVycm9yKFxuICAgICAgICAnVG9vbFNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICAgJ0Fzc2V0IG5vdCBpbml0aWFsaXplZCcsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0LmdyYW50UmVhZChyb2xlKTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBpbmxpbmUgc3RyaW5nLlxuICogVGhlIHNjaGVtYSBjYW4gYmUgcHJvdmlkZWQgZGlyZWN0bHkgYXMgYSBzdHJpbmcgaW4gZWl0aGVyIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBUb29sRGVmaW5pdGlvbltdKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVQYXlsb2FkOiB0aGlzLnNjaGVtYSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUoX3JvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgLy8gTm8tb3AgLSBJbmxpbmVUb29sU2NoZW1hIGRvZXNuJ3QgbmVlZCBwZXJtaXNzaW9uc1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUzMgRmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIENsYXNzIHRvIGRlZmluZSBhIFRvb2wgU2NoZW1hIGZyb20gYW4gUzMgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgUzNUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLCBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQsIHVuZGVmaW5lZCk7XG4gIH1cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMubG9jYXRpb24uYnVja2V0TmFtZX0vJHt0aGlzLmxvY2F0aW9uLm9iamVjdEtleX1gLFxuICAgICAgICAuLi4odGhpcy5idWNrZXRPd25lckFjY291bnRJZCAmJiB7IGJ1Y2tldE93bmVyQWNjb3VudElkOiB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiByb2xlLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgIHJlc291cmNlQXJuczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkNBQWtDO0FBQ2xDLGlEQUFtRDtBQUVuRCx1REFBdUQ7QUFDdkQsNEVBQWdFO0FBRWhFLCtDQUE2QztBQXNCN0M7O0dBRUc7QUFDSCxJQUFZLG9CQWFYO0FBYkQsV0FBWSxvQkFBb0I7SUFDOUIsa0JBQWtCO0lBQ2xCLHlDQUFpQixDQUFBO0lBQ2pCLGtCQUFrQjtJQUNsQix5Q0FBaUIsQ0FBQTtJQUNqQixrQkFBa0I7SUFDbEIseUNBQWlCLENBQUE7SUFDakIsaUJBQWlCO0lBQ2pCLHVDQUFlLENBQUE7SUFDZixtQkFBbUI7SUFDbkIsMkNBQW1CLENBQUE7SUFDbkIsbUJBQW1CO0lBQ25CLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFiVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQWEvQjtBQTBFRDs7R0FFRztBQUNILE1BQU0sZUFBZ0IsU0FBUSxLQUFLO0lBQ1k7SUFBN0MsWUFBWSxPQUFlLEVBQWtCLEtBQWM7UUFDekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRDRCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFFekQsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztLQUMvQjtDQUNGO0FBRUQ7OytFQUUrRTtBQUMvRSxNQUFzQixVQUFXLFNBQVEsMEJBQVk7O0lBQ25EOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN2QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUF3QjtRQUMvQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBZSxFQUFFLFNBQWlC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QUE2QjtRQUM1RixLQUFLLENBQUMsUUFBUSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBa0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFTO0tBRTdGO0lBQ0Q7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTztZQUNMLEVBQUUsRUFBRTtnQkFDRixHQUFHLEVBQUUsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXO1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBHcmFudCwgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElCdWNrZXQsIExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IG1kNWhhc2ggfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVGFyZ2V0U2NoZW1hIH0gZnJvbSAnLi9iYXNlLXNjaGVtYSc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb29sIFNjaGVtYSBDb25maWd1cmF0aW9uXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQWJzdHJhY3QgaW50ZXJmYWNlIGZvciB0b29sIHNjaGVtYSBjb25maWd1cmF0aW9uXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9vbFNjaGVtYUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbFNjaGVtYVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqL1xuICByZWFkb25seSBjb25maWd1cmF0aW9uOiBhbnk7XG59XG5cbi8qKlxuICogU2NoZW1hIGRlZmluaXRpb24gdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gU2NoZW1hRGVmaW5pdGlvblR5cGUge1xuICAvKiogU3RyaW5nIHR5cGUgKi9cbiAgU1RSSU5HID0gJ3N0cmluZycsXG4gIC8qKiBOdW1iZXIgdHlwZSAqL1xuICBOVU1CRVIgPSAnbnVtYmVyJyxcbiAgLyoqIE9iamVjdCB0eXBlICovXG4gIE9CSkVDVCA9ICdvYmplY3QnLFxuICAvKiogQXJyYXkgdHlwZSAqL1xuICBBUlJBWSA9ICdhcnJheScsXG4gIC8qKiBCb29sZWFuIHR5cGUgKi9cbiAgQk9PTEVBTiA9ICdib29sZWFuJyxcbiAgLyoqIEludGVnZXIgdHlwZSAqL1xuICBJTlRFR0VSID0gJ2ludGVnZXInLFxufVxuXG4vKipcbiAqIFNjaGVtYSBkZWZpbml0aW9uIGZvciB0b29sIGlucHV0L291dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYURlZmluaXRpb24ge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIHNwZWNpZmllcyB0aGUgZGF0YSB0eXBlIG9mIHRoZSBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBTY2hlbWFEZWZpbml0aW9uVHlwZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBkZXNjcmlwdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHVycG9zZSBhbmQgdXNhZ2Ugb2YgdGhlIHNjaGVtYS5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGRlc2NyaXB0aW9uIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIGFuZCB1c2FnZSBvZiB0aGUgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGl0ZW1zIGluIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBmaWVsZCBpcyB1c2VkIGZvciBhcnJheSB0eXBlcyB0byBkZWZpbmUgdGhlIHN0cnVjdHVyZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMuXG4gICAqL1xuICAvKipcbiAgICogVGhlIGl0ZW1zIGluIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBmaWVsZCBpcyB1c2VkIGZvciBhcnJheSB0eXBlcyB0byBkZWZpbmUgdGhlIHN0cnVjdHVyZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMuXG4gICAqIEBkZWZhdWx0IC0gTm8gaXRlbXMgZGVmaW5pdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM/OiBTY2hlbWFEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIHByb3BlcnRpZXMgZGVmaW5lIHRoZSBmaWVsZHMgaW4gdGhlIHNjaGVtYS5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIHByb3BlcnRpZXMgZGVmaW5lIHRoZSBmaWVsZHMgaW4gdGhlIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgLSBObyBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgU2NoZW1hRGVmaW5pdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSByZXF1aXJlZCBmaWVsZHMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGVzZSBmaWVsZHMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoZSBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVxdWlyZWQgZmllbGRzXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZD86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFRvb2wgZGVmaW5pdGlvbiBmb3IgaW5saW5lIHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdG9vbC4gVGhpcyBuYW1lIGlkZW50aWZpZXMgdGhlIHRvb2wgaW4gdGhlIE1vZGVsIENvbnRleHQgUHJvdG9jb2wuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgdG9vbC4gVGhpcyBkZXNjcmlwdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHVycG9zZSBhbmQgdXNhZ2Ugb2YgdGhlIHRvb2wuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnB1dCB0aGF0IHRoZSB0b29sIGFjY2VwdHMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dFNjaGVtYTogU2NoZW1hRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBzY2hlbWEgZm9yIHRoZSB0b29sLiBUaGlzIHNjaGVtYSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG91dHB1dCB0aGF0IHRoZSB0b29sIHByb2R1Y2VzLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBvdXRwdXQgdGhhdCB0aGUgdG9vbCBwcm9kdWNlcy5cbiAgICogQGRlZmF1bHQgLSBObyBvdXRwdXQgc2NoZW1hXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRTY2hlbWE/OiBTY2hlbWFEZWZpbml0aW9uO1xufVxuXG4vKipcbiAqIEVycm9yIHRocm93biB3aGVuIGEgVG9vbFNjaGVtYSBpcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWQuXG4gKi9cbmNsYXNzIFRvb2xTY2hlbWFFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgY2F1c2U/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVG9vbFNjaGVtYUVycm9yJztcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgVE9PTCBTQ0hFTUEgQ0xBU1NcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUb29sU2NoZW1hIGV4dGVuZHMgVGFyZ2V0U2NoZW1hIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0b29sIFNjaGVtYSBmcm9tIGEgbG9jYWwgZmlsZS5cbiAgICogQHBhcmFtIHBhdGggLSB0aGUgcGF0aCB0byB0aGUgbG9jYWwgZmlsZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbiBzY2hlbWEgZm9yIHRoZSB0b29sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEFzc2V0KHBhdGg6IHN0cmluZyk6IFRvb2xTY2hlbWEge1xuICAgIHJldHVybiBuZXcgQXNzZXRUb29sU2NoZW1hKHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBUb29sIFNjaGVtYSBmcm9tIGFuIGlubGluZSBzdHJpbmcuXG4gICAqIEBwYXJhbSBzY2hlbWEgLSB0aGUgSlNPTiBvciBZQU1MIHBheWxvYWQgZGVmaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoc2NoZW1hOiBUb29sRGVmaW5pdGlvbltdKTogSW5saW5lVG9vbFNjaGVtYSB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVUb29sU2NoZW1hKHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFRvb2wgU2NoZW1hIGZyb20gYW4gUzMgRmlsZVxuICAgKiBAcGFyYW0gYnVja2V0IC0gdGhlIGJ1Y2tldCBjb250YWluaW5nIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIE9wZW5BUEkgc2NoZW1hIGZvciB0aGUgYWN0aW9uIGdyb3VwXG4gICAqIEBwYXJhbSBvYmplY3RLZXkgLSBvYmplY3Qga2V5IGluIHRoZSBidWNrZXRcbiAgICogQHBhcmFtIGJ1Y2tldE93bmVyQWNjb3VudElkIC0gb3B0aW9uYWwgVGhlIGFjY291bnQgSUQgb2YgdGhlIEFtYXpvbiBTMyBidWNrZXQgb3duZXIuIFRoaXMgSUQgaXMgdXNlZCBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3MgdG8gdGhlIGJ1Y2tldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVMzRmlsZShidWNrZXQ6IElCdWNrZXQsIG9iamVjdEtleTogc3RyaW5nLCBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZyk6IFMzVG9vbFNjaGVtYSB7XG4gICAgcmV0dXJuIG5ldyBTM1Rvb2xTY2hlbWEoXG4gICAgICB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IGJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IG9iamVjdEtleSxcbiAgICAgIH0sXG4gICAgICBidWNrZXRPd25lckFjY291bnRJZCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBTMyBsb2NhdGlvbiBvZiB0aGUgdG9vbCBzY2hlbWEgZmlsZSwgaWYgdXNpbmcgYW4gUzMtYmFzZWQgc2NoZW1hLlxuICAgKiBDb250YWlucyB0aGUgYnVja2V0IG5hbWUgYW5kIG9iamVjdCBrZXkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNGaWxlPzogTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpbmxpbmUgdG9vbCBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIHN0cmluZywgaWYgdXNpbmcgYW4gaW5saW5lIHNjaGVtYS5cbiAgICogQ2FuIGJlIGluIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5saW5lU2NoZW1hPzogVG9vbERlZmluaXRpb25bXTtcblxuICAvKipcbiAgICogVGhlIGFjY291bnQgSUQgb2YgdGhlIFMzIGJ1Y2tldCBvd25lciBmb3IgY3Jvc3MtYWNjb3VudCBhY2Nlc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZztcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoczNGaWxlPzogTG9jYXRpb24sIGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nLCBpbmxpbmVTY2hlbWE/OiBUb29sRGVmaW5pdGlvbltdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnMzRmlsZSA9IHMzRmlsZTtcbiAgICB0aGlzLmlubGluZVNjaGVtYSA9IGlubGluZVNjaGVtYTtcbiAgICB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkID0gYnVja2V0T3duZXJBY2NvdW50SWQ7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IGFzIENGTiBwcm9wZXJ0aWVzXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXIoKTogYW55O1xufVxuXG4vKipcbiAqIFRvb2wgU2NoZW1hIGZyb20gYSBsb2NhbCBhc3NldC5cbiAqXG4gKiBUaGUgYXNzZXQgaXMgdXBsb2FkZWQgdG8gYW4gUzMgc3RhZ2luZyBidWNrZXQsIHRoZW4gbW92ZWQgdG8gaXRzIGZpbmFsIGxvY2F0aW9uXG4gKiBieSBDbG91ZEZvcm1hdGlvbiBkdXJpbmcgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0VG9vbFNjaGVtYSBleHRlbmRzIFRvb2xTY2hlbWEge1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhpcyB0b29sIHNjaGVtYSB0byBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICogVGhpcyBtZXRob2QgaW5pdGlhbGl6ZXMgdGhlIFMzIGFzc2V0IGlmIGl0IGhhc24ndCBiZWVuIGluaXRpYWxpemVkIHlldC5cbiAgICogTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgc2NoZW1hIGFzIENGTiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIHRvIGJpbmQgdG9cbiAgICovXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldFRvb2xTY2hlbWEgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb25cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgczNfYXNzZXRzLkFzc2V0KHNjb3BlLCBgU2NoZW1hJHttZDVoYXNoKHRoaXMucGF0aCl9YCwge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgICAgLy8gTm90ZTogUGVybWlzc2lvbnMgd2lsbCBiZSBncmFudGVkIGJ5IHRoZSBHYXRld2F5IHRhcmdldCBjb25zdHJ1Y3Qgd2hlbiBhZGRpbmcgdGhlIHRhcmdldFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYXMgQ0ZOIHByb3BlcnRpZXNcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xTY2hlbWFFcnJvcihcbiAgICAgICAgJ1Rvb2xTY2hlbWEgbXVzdCBiZSBib3VuZCB0byBhIHNjb3BlIGJlZm9yZSByZW5kZXJpbmcuIENhbGwgYmluZCgpIGZpcnN0LicsXG4gICAgICAgICdBc3NldCBub3QgaW5pdGlhbGl6ZWQnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMuYXNzZXQuczNCdWNrZXROYW1lfS8ke3RoaXMuYXNzZXQuczNPYmplY3RLZXl9YCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudFBlcm1pc3Npb25zVG9Sb2xlKHJvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbFNjaGVtYUVycm9yKFxuICAgICAgICAnVG9vbFNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICAgJ0Fzc2V0IG5vdCBpbml0aWFsaXplZCcsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0LmdyYW50UmVhZChyb2xlKTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBpbmxpbmUgc3RyaW5nLlxuICogVGhlIHNjaGVtYSBjYW4gYmUgcHJvdmlkZWQgZGlyZWN0bHkgYXMgYSBzdHJpbmcgaW4gZWl0aGVyIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBUb29sRGVmaW5pdGlvbltdKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVQYXlsb2FkOiB0aGlzLnNjaGVtYSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUoX3JvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgLy8gTm8tb3AgLSBJbmxpbmVUb29sU2NoZW1hIGRvZXNuJ3QgbmVlZCBwZXJtaXNzaW9uc1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUzMgRmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIENsYXNzIHRvIGRlZmluZSBhIFRvb2wgU2NoZW1hIGZyb20gYW4gUzMgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgUzNUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLCBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQsIHVuZGVmaW5lZCk7XG4gIH1cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMubG9jYXRpb24uYnVja2V0TmFtZX0vJHt0aGlzLmxvY2F0aW9uLm9iamVjdEtleX1gLFxuICAgICAgICAuLi4odGhpcy5idWNrZXRPd25lckFjY291bnRJZCAmJiB7IGJ1Y2tldE93bmVyQWNjb3VudElkOiB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiByb2xlLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgIHJlc291cmNlQXJuczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -39,7 +39,7 @@ var McpTargetType;
39
39
  * permission management and property definitions.
40
40
  */
41
41
  class GatewayTargetBase extends aws_cdk_lib_1.Resource {
42
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.236.0-alpha.0" };
42
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.237.0-alpha.0" };
43
43
  /**
44
44
  * Grants IAM actions to the IAM Principal
45
45
  *
@@ -16,7 +16,7 @@ const validation_helpers_1 = require("../validation-helpers");
16
16
  * Provides common functionality for all MCP target types
17
17
  */
18
18
  class McpTargetConfiguration {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpTargetConfiguration", version: "2.236.0-alpha.0" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpTargetConfiguration", version: "2.237.0-alpha.0" };
20
20
  /**
21
21
  * Renders the configuration as CloudFormation properties
22
22
  * @internal
@@ -38,7 +38,7 @@ exports.McpTargetConfiguration = McpTargetConfiguration;
38
38
  * allowing the gateway to invoke the function to provide tool capabilities.
39
39
  */
40
40
  class LambdaTargetConfiguration extends McpTargetConfiguration {
41
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaTargetConfiguration", version: "2.236.0-alpha.0" };
41
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaTargetConfiguration", version: "2.237.0-alpha.0" };
42
42
  /**
43
43
  * Create a Lambda target configuration
44
44
  *
@@ -128,7 +128,7 @@ exports.LambdaTargetConfiguration = LambdaTargetConfiguration;
128
128
  * allowing the gateway to transform API operations into tool calls.
129
129
  */
130
130
  class OpenApiTargetConfiguration extends McpTargetConfiguration {
131
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.OpenApiTargetConfiguration", version: "2.236.0-alpha.0" };
131
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.OpenApiTargetConfiguration", version: "2.237.0-alpha.0" };
132
132
  /**
133
133
  * Create an OpenAPI target configuration
134
134
  *
@@ -246,7 +246,7 @@ exports.OpenApiTargetConfiguration = OpenApiTargetConfiguration;
246
246
  * allowing the gateway to transform Smithy operations into tool calls.
247
247
  */
248
248
  class SmithyTargetConfiguration extends McpTargetConfiguration {
249
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SmithyTargetConfiguration", version: "2.236.0-alpha.0" };
249
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SmithyTargetConfiguration", version: "2.237.0-alpha.0" };
250
250
  /**
251
251
  * Create a Smithy target configuration
252
252
  *
@@ -328,7 +328,7 @@ exports.SmithyTargetConfiguration = SmithyTargetConfiguration;
328
328
  * synchronization.
329
329
  */
330
330
  class McpServerTargetConfiguration extends McpTargetConfiguration {
331
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpServerTargetConfiguration", version: "2.236.0-alpha.0" };
331
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpServerTargetConfiguration", version: "2.237.0-alpha.0" };
332
332
  /**
333
333
  * Create an MCP server target configuration
334
334
  *
@@ -78,7 +78,7 @@ let GatewayTarget = (() => {
78
78
  GatewayTarget = _classThis = _classDescriptor.value;
79
79
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
80
80
  }
81
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTarget", version: "2.236.0-alpha.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTarget", version: "2.237.0-alpha.0" };
82
82
  /** Uniquely identifies this class. */
83
83
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.GatewayTarget';
84
84
  /**
package/lib/index.d.ts CHANGED
@@ -3,11 +3,13 @@ export * from './memory/strategies/managed-strategy';
3
3
  export * from './memory/strategies/self-managed-strategy';
4
4
  export * from './memory/memory-strategy';
5
5
  export * from './network/network-configuration';
6
+ export * from './common/types';
6
7
  export * from './runtime/perms';
7
8
  export * from './runtime/types';
8
9
  export * from './runtime/runtime-base';
9
10
  export * from './runtime/runtime-artifact';
10
- export * from './runtime/runtime-authorizer-configuration';
11
+ export * from './runtime/inbound-auth/custom-claim';
12
+ export * from './runtime/inbound-auth/runtime-authorizer-configuration';
11
13
  export * from './runtime/runtime-endpoint-base';
12
14
  export * from './runtime/runtime-endpoint';
13
15
  export * from './runtime/runtime';
@@ -19,6 +21,7 @@ export * from './gateway/interceptor';
19
21
  export * from './gateway/perms';
20
22
  export * from './gateway/protocol';
21
23
  export * from './gateway/inbound-auth/authorizer';
24
+ export * from './gateway/inbound-auth/custom-claim';
22
25
  export * from './gateway/outbound-auth/credential-provider';
23
26
  export * from './gateway/outbound-auth/api-key';
24
27
  export * from './gateway/outbound-auth/iam-role';
package/lib/index.js CHANGED
@@ -23,13 +23,18 @@ __exportStar(require("./memory/memory-strategy"), exports);
23
23
  // ===================================
24
24
  __exportStar(require("./network/network-configuration"), exports);
25
25
  // ===================================
26
+ // Common (shared types)
27
+ // ===================================
28
+ __exportStar(require("./common/types"), exports);
29
+ // ===================================
26
30
  // Runtime
27
31
  // ===================================
28
32
  __exportStar(require("./runtime/perms"), exports);
29
33
  __exportStar(require("./runtime/types"), exports);
30
34
  __exportStar(require("./runtime/runtime-base"), exports);
31
35
  __exportStar(require("./runtime/runtime-artifact"), exports);
32
- __exportStar(require("./runtime/runtime-authorizer-configuration"), exports);
36
+ __exportStar(require("./runtime/inbound-auth/custom-claim"), exports);
37
+ __exportStar(require("./runtime/inbound-auth/runtime-authorizer-configuration"), exports);
33
38
  __exportStar(require("./runtime/runtime-endpoint-base"), exports);
34
39
  __exportStar(require("./runtime/runtime-endpoint"), exports);
35
40
  __exportStar(require("./runtime/runtime"), exports);
@@ -50,6 +55,7 @@ __exportStar(require("./gateway/protocol"), exports);
50
55
  // Gateway - Inbound Auth
51
56
  // ===================================
52
57
  __exportStar(require("./gateway/inbound-auth/authorizer"), exports);
58
+ __exportStar(require("./gateway/inbound-auth/custom-claim"), exports);
53
59
  // ===================================
54
60
  // Gateway - Outbound Auth
55
61
  // ===================================
@@ -69,4 +75,4 @@ __exportStar(require("./gateway/targets/target-configuration"), exports);
69
75
  __exportStar(require("./gateway/targets/schema/base-schema"), exports);
70
76
  __exportStar(require("./gateway/targets/schema/api-schema"), exports);
71
77
  __exportStar(require("./gateway/targets/schema/tool-schema"), exports);
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHVFQUFxRDtBQUNyRCw0RUFBMEQ7QUFDMUQsMkRBQXlDO0FBQ3pDLHNDQUFzQztBQUN0Qyx3QkFBd0I7QUFDeEIsc0NBQXNDO0FBQ3RDLGtFQUFnRDtBQUVoRCxzQ0FBc0M7QUFDdEMsVUFBVTtBQUNWLHNDQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLHlEQUF1QztBQUN2Qyw2REFBMkM7QUFDM0MsNkVBQTJEO0FBQzNELGtFQUFnRDtBQUNoRCw2REFBMkM7QUFDM0Msb0RBQWtDO0FBQ2xDLFFBQVE7QUFDUixzQ0FBc0M7QUFDdEMsMkRBQXlDO0FBQ3pDLGtEQUFnQztBQUVoQyxzQ0FBc0M7QUFDdEMsVUFBVTtBQUNWLHNDQUFzQztBQUN0Qyx5REFBdUM7QUFDdkMsb0RBQWtDO0FBQ2xDLHdEQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMscURBQW1DO0FBQ25DLDRFQUE0RTtBQUU1RSxzQ0FBc0M7QUFDdEMseUJBQXlCO0FBQ3pCLHNDQUFzQztBQUN0QyxvRUFBa0Q7QUFFbEQsc0NBQXNDO0FBQ3RDLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsOEVBQTREO0FBQzVELGtFQUFnRDtBQUNoRCxtRUFBaUQ7QUFDakQsZ0VBQThDO0FBRTlDLHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLGdFQUE4QztBQUM5QywyREFBeUM7QUFDekMseUVBQXVEO0FBRXZELHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLHVFQUFxRDtBQUNyRCxzRUFBb0Q7QUFDcEQsdUVBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZW1vcnkvbWVtb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtb3J5L3N0cmF0ZWdpZXMvbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9zdHJhdGVnaWVzL3NlbGYtbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9tZW1vcnktc3RyYXRlZ3knO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5ldHdvcmsgQ29uZmlndXJhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yay9uZXR3b3JrLWNvbmZpZ3VyYXRpb24nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUnVudGltZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS9wZXJtcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1hcnRpZmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1hdXRob3JpemVyLWNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtZW5kcG9pbnQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZSc7XG4vLyBUb29sc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vdG9vbHMvY29kZS1pbnRlcnByZXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzL2Jyb3dzZXInO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9nYXRld2F5LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L2dhdGV3YXknO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L2ludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9wZXJtcyc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvcHJvdG9jb2wnO1xuLy8gdmFsaWRhdGlvbi1oZWxwZXJzIGNvbnRhaW5zIGludGVybmFsIHV0aWxpdGllcyBhbmQgc2hvdWxkIG5vdCBiZSBleHBvcnRlZFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheSAtIEluYm91bmQgQXV0aFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9pbmJvdW5kLWF1dGgvYXV0aG9yaXplcic7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gT3V0Ym91bmQgQXV0aFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9vdXRib3VuZC1hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L291dGJvdW5kLWF1dGgvYXBpLWtleSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvb3V0Ym91bmQtYXV0aC9pYW0tcm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvb3V0Ym91bmQtYXV0aC9vYXV0aCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gVGFyZ2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3RhcmdldC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3RhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy90YXJnZXQtY29uZmlndXJhdGlvbic7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gU2NoZW1hc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3NjaGVtYS9iYXNlLXNjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy9zY2hlbWEvYXBpLXNjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy9zY2hlbWEvdG9vbC1zY2hlbWEnO1xuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHVFQUFxRDtBQUNyRCw0RUFBMEQ7QUFDMUQsMkRBQXlDO0FBQ3pDLHNDQUFzQztBQUN0Qyx3QkFBd0I7QUFDeEIsc0NBQXNDO0FBQ3RDLGtFQUFnRDtBQUVoRCxzQ0FBc0M7QUFDdEMsd0JBQXdCO0FBQ3hCLHNDQUFzQztBQUN0QyxpREFBK0I7QUFFL0Isc0NBQXNDO0FBQ3RDLFVBQVU7QUFDVixzQ0FBc0M7QUFDdEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyx5REFBdUM7QUFDdkMsNkRBQTJDO0FBQzNDLHNFQUFvRDtBQUNwRCwwRkFBd0U7QUFDeEUsa0VBQWdEO0FBQ2hELDZEQUEyQztBQUMzQyxvREFBa0M7QUFDbEMsUUFBUTtBQUNSLHNDQUFzQztBQUN0QywyREFBeUM7QUFDekMsa0RBQWdDO0FBRWhDLHNDQUFzQztBQUN0QyxVQUFVO0FBQ1Ysc0NBQXNDO0FBQ3RDLHlEQUF1QztBQUN2QyxvREFBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLGtEQUFnQztBQUNoQyxxREFBbUM7QUFDbkMsNEVBQTRFO0FBRTVFLHNDQUFzQztBQUN0Qyx5QkFBeUI7QUFDekIsc0NBQXNDO0FBQ3RDLG9FQUFrRDtBQUNsRCxzRUFBb0Q7QUFFcEQsc0NBQXNDO0FBQ3RDLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsOEVBQTREO0FBQzVELGtFQUFnRDtBQUNoRCxtRUFBaUQ7QUFDakQsZ0VBQThDO0FBRTlDLHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLGdFQUE4QztBQUM5QywyREFBeUM7QUFDekMseUVBQXVEO0FBRXZELHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLHVFQUFxRDtBQUNyRCxzRUFBb0Q7QUFDcEQsdUVBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZW1vcnkvbWVtb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtb3J5L3N0cmF0ZWdpZXMvbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9zdHJhdGVnaWVzL3NlbGYtbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9tZW1vcnktc3RyYXRlZ3knO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5ldHdvcmsgQ29uZmlndXJhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yay9uZXR3b3JrLWNvbmZpZ3VyYXRpb24nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tbW9uIChzaGFyZWQgdHlwZXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUnVudGltZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS9wZXJtcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1hcnRpZmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvaW5ib3VuZC1hdXRoL2N1c3RvbS1jbGFpbSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvaW5ib3VuZC1hdXRoL3J1bnRpbWUtYXV0aG9yaXplci1jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS9ydW50aW1lLWVuZHBvaW50LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUnO1xuLy8gVG9vbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzL2NvZGUtaW50ZXJwcmV0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90b29scy9icm93c2VyJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdhdGV3YXlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvZ2F0ZXdheS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9nYXRld2F5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvcGVybXMnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L3Byb3RvY29sJztcbi8vIHZhbGlkYXRpb24taGVscGVycyBjb250YWlucyBpbnRlcm5hbCB1dGlsaXRpZXMgYW5kIHNob3VsZCBub3QgYmUgZXhwb3J0ZWRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdhdGV3YXkgLSBJbmJvdW5kIEF1dGhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvaW5ib3VuZC1hdXRoL2F1dGhvcml6ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L2luYm91bmQtYXV0aC9jdXN0b20tY2xhaW0nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheSAtIE91dGJvdW5kIEF1dGhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvb3V0Ym91bmQtYXV0aC9jcmVkZW50aWFsLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9vdXRib3VuZC1hdXRoL2FwaS1rZXknO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L291dGJvdW5kLWF1dGgvaWFtLXJvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L291dGJvdW5kLWF1dGgvb2F1dGgnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheSAtIFRhcmdldHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy90YXJnZXQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy90YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L3RhcmdldHMvdGFyZ2V0LWNvbmZpZ3VyYXRpb24nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheSAtIFNjaGVtYXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy9zY2hlbWEvYmFzZS1zY2hlbWEnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L3RhcmdldHMvc2NoZW1hL2FwaS1zY2hlbWEnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L3RhcmdldHMvc2NoZW1hL3Rvb2wtc2NoZW1hJztcbiJdfQ==
@@ -57,7 +57,7 @@ var MemoryStrategyType;
57
57
  * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-strategies.html
58
58
  */
59
59
  class MemoryStrategy {
60
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategy", version: "2.236.0-alpha.0" };
60
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryStrategy", version: "2.237.0-alpha.0" };
61
61
  /**
62
62
  * Default strategies for organizing and extracting memory data, each optimized for specific use cases.
63
63
  * This strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall.
@@ -99,7 +99,7 @@ const MEMORY_EXPIRATION_DAYS_MAX = 365;
99
99
  * Contains methods and attributes valid for Memories either created with CDK or imported.
100
100
  */
101
101
  class MemoryBase extends aws_cdk_lib_1.Resource {
102
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase", version: "2.236.0-alpha.0" };
102
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.MemoryBase", version: "2.237.0-alpha.0" };
103
103
  constructor(scope, id, props = {}) {
104
104
  super(scope, id, props);
105
105
  }
@@ -373,7 +373,7 @@ let Memory = (() => {
373
373
  Memory = _classThis = _classDescriptor.value;
374
374
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
375
375
  }
376
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Memory", version: "2.236.0-alpha.0" };
376
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Memory", version: "2.237.0-alpha.0" };
377
377
  /** Uniquely identifies this class. */
378
378
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Memory';
379
379
  /**