@effect-aws/client-cloudsearch 1.0.0 → 1.1.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.
- package/CHANGELOG.md +12 -0
- package/README.md +13 -40
- package/lib/CloudSearchService.d.ts +21 -5
- package/lib/CloudSearchService.js +24 -10
- package/lib/esm/CloudSearchService.js +23 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-aws/client-cloudsearch
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
|
|
8
|
+
|
|
9
|
+
## 1.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
|
|
14
|
+
|
|
3
15
|
## 1.0.0
|
|
4
16
|
|
|
5
17
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -14,13 +14,13 @@ npm install --save @effect-aws/client-cloudsearch
|
|
|
14
14
|
With default CloudSearchClient instance:
|
|
15
15
|
|
|
16
16
|
```typescript
|
|
17
|
-
import {
|
|
17
|
+
import { CloudSearch } from "@effect-aws/client-cloudsearch";
|
|
18
18
|
|
|
19
|
-
const program =
|
|
19
|
+
const program = CloudSearch.describeDomains(args);
|
|
20
20
|
|
|
21
21
|
const result = pipe(
|
|
22
22
|
program,
|
|
23
|
-
Effect.provide(
|
|
23
|
+
Effect.provide(CloudSearch.defaultLayer),
|
|
24
24
|
Effect.runPromise,
|
|
25
25
|
);
|
|
26
26
|
```
|
|
@@ -28,23 +28,15 @@ const result = pipe(
|
|
|
28
28
|
With custom CloudSearchClient instance:
|
|
29
29
|
|
|
30
30
|
```typescript
|
|
31
|
-
import {
|
|
32
|
-
CloudSearchService,
|
|
33
|
-
BaseCloudSearchServiceLayer,
|
|
34
|
-
CloudSearchClientInstance,
|
|
35
|
-
} from "@effect-aws/client-cloudsearch";
|
|
31
|
+
import { CloudSearch } from "@effect-aws/client-cloudsearch";
|
|
36
32
|
|
|
37
|
-
const program =
|
|
38
|
-
|
|
39
|
-
const CloudSearchClientInstanceLayer = Layer.succeed(
|
|
40
|
-
CloudSearchClientInstance,
|
|
41
|
-
new CloudSearchClient({ region: "eu-central-1" }),
|
|
42
|
-
);
|
|
33
|
+
const program = CloudSearch.describeDomains(args);
|
|
43
34
|
|
|
44
35
|
const result = await pipe(
|
|
45
36
|
program,
|
|
46
|
-
Effect.provide(
|
|
47
|
-
|
|
37
|
+
Effect.provide(
|
|
38
|
+
CloudSearch.baseLayer(() => new CloudSearchClient({ region: "eu-central-1" })),
|
|
39
|
+
),
|
|
48
40
|
Effect.runPromise,
|
|
49
41
|
);
|
|
50
42
|
```
|
|
@@ -52,34 +44,15 @@ const result = await pipe(
|
|
|
52
44
|
With custom CloudSearchClient configuration:
|
|
53
45
|
|
|
54
46
|
```typescript
|
|
55
|
-
import {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
DefaultCloudSearchClientConfigLayer,
|
|
59
|
-
CloudSearchClientInstance,
|
|
60
|
-
CloudSearchClientInstanceConfig,
|
|
61
|
-
} from "@effect-aws/client-cloudsearch";
|
|
62
|
-
|
|
63
|
-
const program = CloudSearchService.describeDomains(args);
|
|
64
|
-
|
|
65
|
-
const CloudSearchClientInstanceLayer = Layer.provide(
|
|
66
|
-
Layer.effect(
|
|
67
|
-
CloudSearchClientInstance,
|
|
68
|
-
CloudSearchClientInstanceConfig.pipe(
|
|
69
|
-
Effect.map(
|
|
70
|
-
(config) => new CloudSearchClient({ ...config, region: "eu-central-1" }),
|
|
71
|
-
),
|
|
72
|
-
),
|
|
73
|
-
),
|
|
74
|
-
DefaultCloudSearchClientConfigLayer,
|
|
75
|
-
);
|
|
47
|
+
import { CloudSearch } from "@effect-aws/client-cloudsearch";
|
|
48
|
+
|
|
49
|
+
const program = CloudSearch.describeDomains(args);
|
|
76
50
|
|
|
77
51
|
const result = await pipe(
|
|
78
52
|
program,
|
|
79
|
-
Effect.provide(
|
|
80
|
-
Effect.provide(CloudSearchClientInstanceLayer),
|
|
53
|
+
Effect.provide(CloudSearch.layer({ region: "eu-central-1" })),
|
|
81
54
|
Effect.runPromiseExit,
|
|
82
55
|
);
|
|
83
56
|
```
|
|
84
57
|
|
|
85
|
-
or
|
|
58
|
+
or use `CloudSearch.baseLayer((default) => new CloudSearchClient({ ...default, region: "eu-central-1" }))`
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { type BuildSuggestersCommandInput, type BuildSuggestersCommandOutput, type CreateDomainCommandInput, type CreateDomainCommandOutput, type DefineAnalysisSchemeCommandInput, type DefineAnalysisSchemeCommandOutput, type DefineExpressionCommandInput, type DefineExpressionCommandOutput, type DefineIndexFieldCommandInput, type DefineIndexFieldCommandOutput, type DefineSuggesterCommandInput, type DefineSuggesterCommandOutput, type DeleteAnalysisSchemeCommandInput, type DeleteAnalysisSchemeCommandOutput, type DeleteDomainCommandInput, type DeleteDomainCommandOutput, type DeleteExpressionCommandInput, type DeleteExpressionCommandOutput, type DeleteIndexFieldCommandInput, type DeleteIndexFieldCommandOutput, type DeleteSuggesterCommandInput, type DeleteSuggesterCommandOutput, type DescribeAnalysisSchemesCommandInput, type DescribeAnalysisSchemesCommandOutput, type DescribeAvailabilityOptionsCommandInput, type DescribeAvailabilityOptionsCommandOutput, type DescribeDomainEndpointOptionsCommandInput, type DescribeDomainEndpointOptionsCommandOutput, type DescribeDomainsCommandInput, type DescribeDomainsCommandOutput, type DescribeExpressionsCommandInput, type DescribeExpressionsCommandOutput, type DescribeIndexFieldsCommandInput, type DescribeIndexFieldsCommandOutput, type DescribeScalingParametersCommandInput, type DescribeScalingParametersCommandOutput, type DescribeServiceAccessPoliciesCommandInput, type DescribeServiceAccessPoliciesCommandOutput, type DescribeSuggestersCommandInput, type DescribeSuggestersCommandOutput, type IndexDocumentsCommandInput, type IndexDocumentsCommandOutput, type ListDomainNamesCommandInput, type ListDomainNamesCommandOutput, type UpdateAvailabilityOptionsCommandInput, type UpdateAvailabilityOptionsCommandOutput, type UpdateDomainEndpointOptionsCommandInput, type UpdateDomainEndpointOptionsCommandOutput, type UpdateScalingParametersCommandInput, type UpdateScalingParametersCommandOutput, type UpdateServiceAccessPoliciesCommandInput, type UpdateServiceAccessPoliciesCommandOutput } from "@aws-sdk/client-cloudsearch";
|
|
4
|
+
import { type CloudSearchClient, type CloudSearchClientConfig, type BuildSuggestersCommandInput, type BuildSuggestersCommandOutput, type CreateDomainCommandInput, type CreateDomainCommandOutput, type DefineAnalysisSchemeCommandInput, type DefineAnalysisSchemeCommandOutput, type DefineExpressionCommandInput, type DefineExpressionCommandOutput, type DefineIndexFieldCommandInput, type DefineIndexFieldCommandOutput, type DefineSuggesterCommandInput, type DefineSuggesterCommandOutput, type DeleteAnalysisSchemeCommandInput, type DeleteAnalysisSchemeCommandOutput, type DeleteDomainCommandInput, type DeleteDomainCommandOutput, type DeleteExpressionCommandInput, type DeleteExpressionCommandOutput, type DeleteIndexFieldCommandInput, type DeleteIndexFieldCommandOutput, type DeleteSuggesterCommandInput, type DeleteSuggesterCommandOutput, type DescribeAnalysisSchemesCommandInput, type DescribeAnalysisSchemesCommandOutput, type DescribeAvailabilityOptionsCommandInput, type DescribeAvailabilityOptionsCommandOutput, type DescribeDomainEndpointOptionsCommandInput, type DescribeDomainEndpointOptionsCommandOutput, type DescribeDomainsCommandInput, type DescribeDomainsCommandOutput, type DescribeExpressionsCommandInput, type DescribeExpressionsCommandOutput, type DescribeIndexFieldsCommandInput, type DescribeIndexFieldsCommandOutput, type DescribeScalingParametersCommandInput, type DescribeScalingParametersCommandOutput, type DescribeServiceAccessPoliciesCommandInput, type DescribeServiceAccessPoliciesCommandOutput, type DescribeSuggestersCommandInput, type DescribeSuggestersCommandOutput, type IndexDocumentsCommandInput, type IndexDocumentsCommandOutput, type ListDomainNamesCommandInput, type ListDomainNamesCommandOutput, type UpdateAvailabilityOptionsCommandInput, type UpdateAvailabilityOptionsCommandOutput, type UpdateDomainEndpointOptionsCommandInput, type UpdateDomainEndpointOptionsCommandOutput, type UpdateScalingParametersCommandInput, type UpdateScalingParametersCommandOutput, type UpdateServiceAccessPoliciesCommandInput, type UpdateServiceAccessPoliciesCommandOutput } from "@aws-sdk/client-cloudsearch";
|
|
5
5
|
import { Effect, Layer } from "effect";
|
|
6
6
|
import { CloudSearchClientInstance } from "./CloudSearchClientInstance";
|
|
7
|
+
import { CloudSearchClientInstanceConfig } from "./CloudSearchClientInstanceConfig";
|
|
7
8
|
import { BaseError, DisabledOperationError, InternalError, InvalidTypeError, LimitExceededError, ResourceAlreadyExistsError, ResourceNotFoundError, ValidationError, SdkError } from "./Errors";
|
|
8
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export interface HttpHandlerOptions {
|
|
9
13
|
/**
|
|
10
14
|
* The maximum time in milliseconds that the connection phase of a request
|
|
11
15
|
* may take before the connection attempt is abandoned.
|
|
@@ -119,6 +123,11 @@ interface CloudSearchService$ {
|
|
|
119
123
|
*/
|
|
120
124
|
updateServiceAccessPolicies(args: UpdateServiceAccessPoliciesCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateServiceAccessPoliciesCommandOutput, SdkError | BaseError | InternalError | InvalidTypeError | LimitExceededError | ResourceNotFoundError | ValidationError>;
|
|
121
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* @since 1.0.0
|
|
128
|
+
* @category constructors
|
|
129
|
+
*/
|
|
130
|
+
export declare const makeCloudSearchService: Effect.Effect<CloudSearchService$, never, CloudSearchClientInstance>;
|
|
122
131
|
declare const CloudSearchService_base: import("effect/Context").TagClass<CloudSearchService, "@effect-aws/client-cloudsearch/CloudSearchService", CloudSearchService$> & {
|
|
123
132
|
readonly _: Effect.Effect<CloudSearchService$["_"], never, CloudSearchService>;
|
|
124
133
|
buildSuggesters: (args: BuildSuggestersCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<BuildSuggestersCommandOutput, BaseError | InternalError | ResourceNotFoundError | ValidationError | SdkError, CloudSearchService>;
|
|
@@ -155,25 +164,32 @@ declare const CloudSearchService_base: import("effect/Context").TagClass<CloudSe
|
|
|
155
164
|
* @category models
|
|
156
165
|
*/
|
|
157
166
|
export declare class CloudSearchService extends CloudSearchService_base {
|
|
167
|
+
static readonly defaultLayer: Layer.Layer<CloudSearchService, never, never>;
|
|
168
|
+
static readonly layer: (config: CloudSearchClientConfig) => Layer.Layer<CloudSearchService, never, never>;
|
|
169
|
+
static readonly baseLayer: (evaluate: (defaultConfig: CloudSearchClientConfig) => CloudSearchClient) => Layer.Layer<CloudSearchService, never, never>;
|
|
158
170
|
}
|
|
159
171
|
/**
|
|
160
172
|
* @since 1.0.0
|
|
161
|
-
* @category
|
|
173
|
+
* @category models
|
|
174
|
+
* @alias CloudSearchService
|
|
162
175
|
*/
|
|
163
|
-
export declare const
|
|
176
|
+
export declare const CloudSearch: typeof CloudSearchService;
|
|
164
177
|
/**
|
|
165
178
|
* @since 1.0.0
|
|
166
179
|
* @category layers
|
|
180
|
+
* @deprecated use CloudSearch.baseLayer instead
|
|
167
181
|
*/
|
|
168
182
|
export declare const BaseCloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, CloudSearchClientInstance>;
|
|
169
183
|
/**
|
|
170
184
|
* @since 1.0.0
|
|
171
185
|
* @category layers
|
|
186
|
+
* @deprecated use CloudSearch.layer instead
|
|
172
187
|
*/
|
|
173
|
-
export declare const CloudSearchServiceLayer: Layer.Layer<CloudSearchService, never,
|
|
188
|
+
export declare const CloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, CloudSearchClientInstanceConfig>;
|
|
174
189
|
/**
|
|
175
190
|
* @since 1.0.0
|
|
176
191
|
* @category layers
|
|
192
|
+
* @deprecated use CloudSearch.defaultLayer instead
|
|
177
193
|
*/
|
|
178
194
|
export declare const DefaultCloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, never>;
|
|
179
195
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultCloudSearchServiceLayer = exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer = exports.
|
|
4
|
+
exports.DefaultCloudSearchServiceLayer = exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer = exports.CloudSearch = exports.CloudSearchService = exports.makeCloudSearchService = void 0;
|
|
4
5
|
/**
|
|
5
6
|
* @since 1.0.0
|
|
6
7
|
*/
|
|
@@ -37,13 +38,6 @@ const commands = {
|
|
|
37
38
|
UpdateScalingParametersCommand: client_cloudsearch_1.UpdateScalingParametersCommand,
|
|
38
39
|
UpdateServiceAccessPoliciesCommand: client_cloudsearch_1.UpdateServiceAccessPoliciesCommand,
|
|
39
40
|
};
|
|
40
|
-
/**
|
|
41
|
-
* @since 1.0.0
|
|
42
|
-
* @category models
|
|
43
|
-
*/
|
|
44
|
-
class CloudSearchService extends effect_1.Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
|
|
45
|
-
}
|
|
46
|
-
exports.CloudSearchService = CloudSearchService;
|
|
47
41
|
/**
|
|
48
42
|
* @since 1.0.0
|
|
49
43
|
* @category constructors
|
|
@@ -82,19 +76,39 @@ exports.makeCloudSearchService = effect_1.Effect.gen(function* (_) {
|
|
|
82
76
|
return { ...acc, [methodName]: methodImpl };
|
|
83
77
|
}, {});
|
|
84
78
|
});
|
|
79
|
+
/**
|
|
80
|
+
* @since 1.0.0
|
|
81
|
+
* @category models
|
|
82
|
+
*/
|
|
83
|
+
class CloudSearchService extends effect_1.Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
|
|
84
|
+
}
|
|
85
|
+
exports.CloudSearchService = CloudSearchService;
|
|
86
|
+
_a = CloudSearchService;
|
|
87
|
+
CloudSearchService.defaultLayer = effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer), effect_1.Layer.provide(CloudSearchClientInstanceConfig_1.DefaultCloudSearchClientConfigLayer));
|
|
88
|
+
CloudSearchService.layer = (config) => effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(CloudSearchClientInstanceConfig_1.CloudSearchClientInstanceConfig, CloudSearchClientInstanceConfig_1.makeDefaultCloudSearchClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
89
|
+
CloudSearchService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(CloudSearchClientInstance_1.CloudSearchClientInstance, effect_1.Effect.map(CloudSearchClientInstanceConfig_1.makeDefaultCloudSearchClientInstanceConfig, evaluate))));
|
|
90
|
+
/**
|
|
91
|
+
* @since 1.0.0
|
|
92
|
+
* @category models
|
|
93
|
+
* @alias CloudSearchService
|
|
94
|
+
*/
|
|
95
|
+
exports.CloudSearch = CloudSearchService;
|
|
85
96
|
/**
|
|
86
97
|
* @since 1.0.0
|
|
87
98
|
* @category layers
|
|
99
|
+
* @deprecated use CloudSearch.baseLayer instead
|
|
88
100
|
*/
|
|
89
101
|
exports.BaseCloudSearchServiceLayer = effect_1.Layer.effect(CloudSearchService, exports.makeCloudSearchService);
|
|
90
102
|
/**
|
|
91
103
|
* @since 1.0.0
|
|
92
104
|
* @category layers
|
|
105
|
+
* @deprecated use CloudSearch.layer instead
|
|
93
106
|
*/
|
|
94
107
|
exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer.pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer));
|
|
95
108
|
/**
|
|
96
109
|
* @since 1.0.0
|
|
97
110
|
* @category layers
|
|
111
|
+
* @deprecated use CloudSearch.defaultLayer instead
|
|
98
112
|
*/
|
|
99
|
-
exports.DefaultCloudSearchServiceLayer =
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILG9FQWdGcUM7QUFDckMsbUNBQXFEO0FBQ3JELDJFQUdxQztBQUNyQyx1RkFBd0Y7QUFDeEYscUNBWWtCO0FBVWxCLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0QixtQkFBbUIsRUFBbkIsd0NBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixnREFBMkI7SUFDM0IsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2Qix1QkFBdUIsRUFBdkIsNENBQXVCO0lBQ3ZCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsMkJBQTJCLEVBQTNCLGdEQUEyQjtJQUMzQixtQkFBbUIsRUFBbkIsd0NBQW1CO0lBQ25CLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2QixzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDhCQUE4QixFQUE5QixtREFBOEI7SUFDOUIsa0NBQWtDLEVBQWxDLHVEQUFrQztJQUNsQyxvQ0FBb0MsRUFBcEMseURBQW9DO0lBQ3BDLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsMEJBQTBCLEVBQTFCLCtDQUEwQjtJQUMxQiwwQkFBMEIsRUFBMUIsK0NBQTBCO0lBQzFCLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsb0NBQW9DLEVBQXBDLHlEQUFvQztJQUNwQyx5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLHFCQUFxQixFQUFyQiwwQ0FBcUI7SUFDckIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0QixnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsOEJBQThCLEVBQTlCLG1EQUE4QjtJQUM5QixrQ0FBa0MsRUFBbEMsdURBQWtD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b3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbixcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHNlYXJjaFwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0Nsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEJhc2VFcnJvcixcbiAgRGlzYWJsZWRPcGVyYXRpb25FcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgSW52YWxpZFR5cGVFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG5pbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kLFxuICBJbmRleERvY3VtZW50c0NvbW1hbmQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ2xvdWRTZWFyY2hTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBidWlsZFN1Z2dlc3RlcnMoXG4gICAgYXJnczogQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEb21haW4oXG4gICAgYXJnczogQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEb21haW4oXG4gICAgYXJnczogRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWxldGVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFuYWx5c2lzU2NoZW1lcyhcbiAgICBhcmdzOiBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHByZXNzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmRleEZpZWxkcyhcbiAgICBhcmdzOiBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluZGV4RG9jdW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGluZGV4RG9jdW1lbnRzKFxuICAgIGFyZ3M6IEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5kZXhEb2N1bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbk5hbWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REb21haW5OYW1lcyhcbiAgICBhcmdzOiBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEJhc2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkU2VhcmNoU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWNsb3Vkc2VhcmNoL0Nsb3VkU2VhcmNoU2VydmljZVwiLFxuKTxDbG91ZFNlYXJjaFNlcnZpY2UsIENsb3VkU2VhcmNoU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgQ2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFNlYXJjaFNlcnZpY2UsXG4gIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQ2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBCYXNlQ2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IENsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcbiJdfQ==
|
|
113
|
+
exports.DefaultCloudSearchServiceLayer = CloudSearchService.defaultLayer;
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCxvRUFrRnFDO0FBQ3JDLG1DQUFxRDtBQUNyRCwyRUFHcUM7QUFDckMsdUZBSTJDO0FBQzNDLHFDQVlrQjtBQWFsQixNQUFNLFFBQVEsR0FBRztJQUNmLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQiwyQkFBMkIsRUFBM0IsZ0RBQTJCO0lBQzNCLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2QixzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDJCQUEyQixFQUEzQixnREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQix1QkFBdUIsRUFBdkIsNENBQXVCO0lBQ3ZCLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0Qiw4QkFBOEIsRUFBOUIsbURBQThCO0lBQzlCLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsb0NBQW9DLEVBQXBDLHlEQUFvQztJQUNwQyxzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQiwrQ0FBMEI7SUFDMUIsMEJBQTBCLEVBQTFCLCtDQUEwQjtJQUMxQixnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLG9DQUFvQyxFQUFwQyx5REFBb0M7SUFDcEMseUJBQXlCLEVBQXpCLDhDQUF5QjtJQUN6QixxQkFBcUIsRUFBckIsMENBQXFCO0lBQ3JCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsZ0NBQWdDLEVBQWhDLHFEQUFnQztJQUNoQyxrQ0FBa0MsRUFBbEMsdURBQWtDO0lBQ2xDLDhCQUE4QixFQUE5QixtREFBOEI7SUFDOUIsa0NBQWtDLEVBQWxDLHVEQUFr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LEVBQy9CLDRFQUEwQyxDQUFDLElBQUksQ0FDN0MsZUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUNGLENBQ0YsQ0FDRixBQVhrQixDQVdqQjtBQUNZLDRCQUFTLEdBQUcsQ0FDMUIsUUFBdUUsRUFDdkUsRUFBRSxDQUNGLGNBQUssQ0FBQyxNQUFNLENBQUMsRUFBSSxFQUFFLDhCQUFzQixDQUFDLENBQUMsSUFBSSxDQUM3QyxjQUFLLENBQUMsT0FBTyxDQUNYLGNBQUssQ0FBQyxNQUFNLENBQ1YscURBQXlCLEVBQ3pCLGVBQU0sQ0FBQyxHQUFHLENBQUMsNEVBQTBDLEVBQUUsUUFBUSxDQUFDLENBQ2pFLENBQ0YsQ0FDRixBQVZzQixDQVVyQjtBQUdOOzs7O0dBSUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUU5Qzs7OztHQUlHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUNyRCxrQkFBa0IsRUFDbEIsOEJBQXNCLENBQ3ZCLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxtQ0FBMkIsQ0FBQyxJQUFJLENBQ3JFLGNBQUssQ0FBQyxPQUFPLENBQUMsMERBQThCLENBQUMsQ0FDOUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBDbG91ZFNlYXJjaENsaWVudCxcbiAgdHlwZSBDbG91ZFNlYXJjaENsaWVudENvbmZpZyxcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHNlYXJjaFwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBCYXNlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kLFxuICBDcmVhdGVEb21haW5Db21tYW5kLFxuICBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWxldGVEb21haW5Db21tYW5kLFxuICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbnNDb21tYW5kLFxuICBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBDbG91ZFNlYXJjaFNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGJ1aWxkU3VnZ2VzdGVycyhcbiAgICBhcmdzOiBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURvbWFpbihcbiAgICBhcmdzOiBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUFuYWx5c2lzU2NoZW1lKFxuICAgIGFyZ3M6IERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUV4cHJlc3Npb24oXG4gICAgYXJnczogRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUV4cHJlc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUluZGV4RmllbGQoXG4gICAgYXJnczogRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUluZGV4RmllbGRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlZmluZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFuYWx5c2lzU2NoZW1lKFxuICAgIGFyZ3M6IERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURvbWFpbihcbiAgICBhcmdzOiBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVFeHByZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUV4cHJlc3Npb24oXG4gICAgYXJnczogRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdWdnZXN0ZXIoXG4gICAgYXJnczogRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQW5hbHlzaXNTY2hlbWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4cHJlc3Npb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUluZGV4RmllbGRzKFxuICAgIGFyZ3M6IERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN1Z2dlc3RlcnMoXG4gICAgYXJnczogRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW5kZXhEb2N1bWVudHNDb21tYW5kfVxuICAgKi9cbiAgaW5kZXhEb2N1bWVudHMoXG4gICAgYXJnczogSW5kZXhEb2N1bWVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RG9tYWluTmFtZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERvbWFpbk5hbWVzKFxuICAgIGFyZ3M6IExpc3REb21haW5OYW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgQmFzZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zKFxuICAgIGFyZ3M6IFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUNsb3VkU2VhcmNoU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248Q2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBDbG91ZFNlYXJjaFNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFNlYXJjaFNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHNlYXJjaC9DbG91ZFNlYXJjaFNlcnZpY2VcIixcbik8Q2xvdWRTZWFyY2hTZXJ2aWNlLCBDbG91ZFNlYXJjaFNlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBDbG91ZFNlYXJjaENsaWVudENvbmZpZykgPT4gQ2xvdWRTZWFyY2hDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUNsb3VkU2VhcmNoU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBDbG91ZFNlYXJjaCA9IENsb3VkU2VhcmNoU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZFNlYXJjaC5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFNlYXJjaFNlcnZpY2UsXG4gIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIENsb3VkU2VhcmNoLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IENsb3VkU2VhcmNoU2VydmljZUxheWVyID0gQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRTZWFyY2guZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IENsb3VkU2VhcmNoU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
/**
|
|
2
3
|
* @since 1.0.0
|
|
3
4
|
*/
|
|
4
5
|
import { CloudSearchServiceException, BuildSuggestersCommand, CreateDomainCommand, DefineAnalysisSchemeCommand, DefineExpressionCommand, DefineIndexFieldCommand, DefineSuggesterCommand, DeleteAnalysisSchemeCommand, DeleteDomainCommand, DeleteExpressionCommand, DeleteIndexFieldCommand, DeleteSuggesterCommand, DescribeAnalysisSchemesCommand, DescribeAvailabilityOptionsCommand, DescribeDomainEndpointOptionsCommand, DescribeDomainsCommand, DescribeExpressionsCommand, DescribeIndexFieldsCommand, DescribeScalingParametersCommand, DescribeServiceAccessPoliciesCommand, DescribeSuggestersCommand, IndexDocumentsCommand, ListDomainNamesCommand, UpdateAvailabilityOptionsCommand, UpdateDomainEndpointOptionsCommand, UpdateScalingParametersCommand, UpdateServiceAccessPoliciesCommand, } from "@aws-sdk/client-cloudsearch";
|
|
5
6
|
import { Data, Effect, Layer, Record } from "effect";
|
|
6
7
|
import { CloudSearchClientInstance, CloudSearchClientInstanceLayer, } from "./CloudSearchClientInstance";
|
|
7
|
-
import { DefaultCloudSearchClientConfigLayer } from "./CloudSearchClientInstanceConfig";
|
|
8
|
+
import { DefaultCloudSearchClientConfigLayer, makeDefaultCloudSearchClientInstanceConfig, CloudSearchClientInstanceConfig, } from "./CloudSearchClientInstanceConfig";
|
|
8
9
|
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
9
10
|
const commands = {
|
|
10
11
|
BuildSuggestersCommand,
|
|
@@ -34,12 +35,6 @@ const commands = {
|
|
|
34
35
|
UpdateScalingParametersCommand,
|
|
35
36
|
UpdateServiceAccessPoliciesCommand,
|
|
36
37
|
};
|
|
37
|
-
/**
|
|
38
|
-
* @since 1.0.0
|
|
39
|
-
* @category models
|
|
40
|
-
*/
|
|
41
|
-
export class CloudSearchService extends Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
|
|
42
|
-
}
|
|
43
38
|
/**
|
|
44
39
|
* @since 1.0.0
|
|
45
40
|
* @category constructors
|
|
@@ -78,19 +73,38 @@ export const makeCloudSearchService = Effect.gen(function* (_) {
|
|
|
78
73
|
return { ...acc, [methodName]: methodImpl };
|
|
79
74
|
}, {});
|
|
80
75
|
});
|
|
76
|
+
/**
|
|
77
|
+
* @since 1.0.0
|
|
78
|
+
* @category models
|
|
79
|
+
*/
|
|
80
|
+
export class CloudSearchService extends Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
|
|
81
|
+
}
|
|
82
|
+
_a = CloudSearchService;
|
|
83
|
+
CloudSearchService.defaultLayer = Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(CloudSearchClientInstanceLayer), Layer.provide(DefaultCloudSearchClientConfigLayer));
|
|
84
|
+
CloudSearchService.layer = (config) => Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(CloudSearchClientInstanceLayer), Layer.provide(Layer.effect(CloudSearchClientInstanceConfig, makeDefaultCloudSearchClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
85
|
+
CloudSearchService.baseLayer = (evaluate) => Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(Layer.effect(CloudSearchClientInstance, Effect.map(makeDefaultCloudSearchClientInstanceConfig, evaluate))));
|
|
86
|
+
/**
|
|
87
|
+
* @since 1.0.0
|
|
88
|
+
* @category models
|
|
89
|
+
* @alias CloudSearchService
|
|
90
|
+
*/
|
|
91
|
+
export const CloudSearch = CloudSearchService;
|
|
81
92
|
/**
|
|
82
93
|
* @since 1.0.0
|
|
83
94
|
* @category layers
|
|
95
|
+
* @deprecated use CloudSearch.baseLayer instead
|
|
84
96
|
*/
|
|
85
97
|
export const BaseCloudSearchServiceLayer = Layer.effect(CloudSearchService, makeCloudSearchService);
|
|
86
98
|
/**
|
|
87
99
|
* @since 1.0.0
|
|
88
100
|
* @category layers
|
|
101
|
+
* @deprecated use CloudSearch.layer instead
|
|
89
102
|
*/
|
|
90
103
|
export const CloudSearchServiceLayer = BaseCloudSearchServiceLayer.pipe(Layer.provide(CloudSearchClientInstanceLayer));
|
|
91
104
|
/**
|
|
92
105
|
* @since 1.0.0
|
|
93
106
|
* @category layers
|
|
107
|
+
* @deprecated use CloudSearch.defaultLayer instead
|
|
94
108
|
*/
|
|
95
|
-
export const DefaultCloudSearchServiceLayer =
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLG1CQUFtQixFQUduQiwyQkFBMkIsRUFHM0IsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQix1QkFBdUIsRUFHdkIsdUJBQXVCLEVBR3ZCLHNCQUFzQixFQUd0Qiw4QkFBOEIsRUFHOUIsa0NBQWtDLEVBR2xDLG9DQUFvQyxFQUdwQyxzQkFBc0IsRUFHdEIsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQixnQ0FBZ0MsRUFHaEMsb0NBQW9DLEVBR3BDLHlCQUF5QixFQUd6QixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLGdDQUFnQyxFQUdoQyxrQ0FBa0MsRUFHbEMsOEJBQThCLEVBRzlCLGtDQUFrQyxHQUduQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw4QkFBOEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RixPQUFPLEVBQ0wsZ0JBQWdCLEVBU2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQVVsQixNQUFNLFFBQVEsR0FBRztJQUNmLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1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QUEyQixDQUFDLElBQUksQ0FDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUM5QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUN4RSxLQUFLLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24sXG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWRzZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBCYXNlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICBEZWxldGVJbmRleEZpZWxkQ29tbWFuZCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICBMaXN0RG9tYWluTmFtZXNDb21tYW5kLFxuICBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIENsb3VkU2VhcmNoU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgYnVpbGRTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRG9tYWluKFxuICAgIGFyZ3M6IENyZWF0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lQW5hbHlzaXNTY2hlbWUoXG4gICAgYXJnczogRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUV4cHJlc3Npb25Db21tYW5kfVxuICAgKi9cbiAgZGVmaW5lRXhwcmVzc2lvbihcbiAgICBhcmdzOiBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZVN1Z2dlc3RlckNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVTdWdnZXN0ZXIoXG4gICAgYXJnczogRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQW5hbHlzaXNTY2hlbWUoXG4gICAgYXJnczogRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRG9tYWluKFxuICAgIGFyZ3M6IERlbGV0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRXhwcmVzc2lvbihcbiAgICBhcmdzOiBEZWxldGVFeHByZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVJbmRleEZpZWxkQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUluZGV4RmllbGQoXG4gICAgYXJnczogRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUluZGV4RmllbGRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBbmFseXNpc1NjaGVtZXMoXG4gICAgYXJnczogRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWlucyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhwcmVzc2lvbnMoXG4gICAgYXJnczogRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW5kZXhGaWVsZHMoXG4gICAgYXJnczogRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3VnZ2VzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbmRleERvY3VtZW50c0NvbW1hbmR9XG4gICAqL1xuICBpbmRleERvY3VtZW50cyhcbiAgICBhcmdzOiBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REb21haW5OYW1lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RG9tYWluTmFtZXMoXG4gICAgYXJnczogTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBCYXNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zKFxuICAgIGFyZ3M6IFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFNlYXJjaFNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHNlYXJjaC9DbG91ZFNlYXJjaFNlcnZpY2VcIixcbik8Q2xvdWRTZWFyY2hTZXJ2aWNlLCBDbG91ZFNlYXJjaFNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIENsb3VkU2VhcmNoU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IENsb3VkU2VhcmNoU2VydmljZUxheWVyID0gQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBDbG91ZFNlYXJjaFNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRDbG91ZFNlYXJjaENsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
|
109
|
+
export const DefaultCloudSearchServiceLayer = CloudSearchService.defaultLayer;
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMkJBQTJCLEVBRzNCLHNCQUFzQixFQUd0QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFHdkIsc0JBQXNCLEVBR3RCLDJCQUEyQixFQUczQixtQkFBbUIsRUFHbkIsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsOEJBQThCLEVBRzlCLGtDQUFrQyxFQUdsQyxvQ0FBb0MsRUFHcEMsc0JBQXNCLEVBR3RCLDBCQUEwQixFQUcxQiwwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBR2hDLG9DQUFvQyxFQUdwQyx5QkFBeUIsRUFHekIscUJBQXFCLEVBR3JCLHNCQUFzQixFQUd0QixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLDhCQUE4QixFQUc5QixrQ0FBa0MsR0FHbkMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsOEJBQThCLEdBQy9CLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsK0JBQStCLEdBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLGdCQUFnQixFQVNoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFhbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsbUJB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LENBQUMsTUFBTSw4QkFBOEIsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgQ2xvdWRTZWFyY2hDbGllbnQsXG4gIHR5cGUgQ2xvdWRTZWFyY2hDbGllbnRDb25maWcsXG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWRzZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQmFzZUVycm9yLFxuICBEaXNhYmxlZE9wZXJhdGlvbkVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBJbnZhbGlkVHlwZUVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kLFxuICBJbmRleERvY3VtZW50c0NvbW1hbmQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ2xvdWRTZWFyY2hTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBidWlsZFN1Z2dlc3RlcnMoXG4gICAgYXJnczogQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEb21haW4oXG4gICAgYXJnczogQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEb21haW4oXG4gICAgYXJnczogRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWxldGVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFuYWx5c2lzU2NoZW1lcyhcbiAgICBhcmdzOiBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHByZXNzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmRleEZpZWxkcyhcbiAgICBhcmdzOiBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluZGV4RG9jdW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGluZGV4RG9jdW1lbnRzKFxuICAgIGFyZ3M6IEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5kZXhEb2N1bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbk5hbWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REb21haW5OYW1lcyhcbiAgICBhcmdzOiBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEJhc2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgQ2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRTZWFyY2hTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtY2xvdWRzZWFyY2gvQ2xvdWRTZWFyY2hTZXJ2aWNlXCIsXG4pPENsb3VkU2VhcmNoU2VydmljZSwgQ2xvdWRTZWFyY2hTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICApLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBDbG91ZFNlYXJjaENsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUNsb3VkU2VhcmNoU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogQ2xvdWRTZWFyY2hDbGllbnRDb25maWcpID0+IENsb3VkU2VhcmNoQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIENsb3VkU2VhcmNoU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgQ2xvdWRTZWFyY2ggPSBDbG91ZFNlYXJjaFNlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRTZWFyY2guYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZFNlYXJjaC5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIENsb3VkU2VhcmNoLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBDbG91ZFNlYXJjaFNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
|