@effect-aws/client-cognito-identity-provider 1.0.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 +17 -0
- package/LICENSE +19 -0
- package/README.md +85 -0
- package/docgen.json +8 -0
- package/lib/CognitoIdentityProviderClientInstance.d.ts +31 -0
- package/lib/CognitoIdentityProviderClientInstance.js +57 -0
- package/lib/CognitoIdentityProviderClientInstanceConfig.d.ts +23 -0
- package/lib/CognitoIdentityProviderClientInstanceConfig.js +44 -0
- package/lib/CognitoIdentityProviderService.d.ts +564 -0
- package/lib/CognitoIdentityProviderService.js +177 -0
- package/lib/Errors.d.ts +54 -0
- package/lib/Errors.js +50 -0
- package/lib/esm/CognitoIdentityProviderClientInstance.js +30 -0
- package/lib/esm/CognitoIdentityProviderClientInstanceConfig.js +40 -0
- package/lib/esm/CognitoIdentityProviderService.js +173 -0
- package/lib/esm/Errors.js +47 -0
- package/lib/esm/index.js +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +21 -0
- package/package.json +54 -0
- package/project.json +77 -0
- package/vitest.config.ts +3 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { CognitoIdentityProviderServiceException, AddCustomAttributesCommand, AdminAddUserToGroupCommand, AdminConfirmSignUpCommand, AdminCreateUserCommand, AdminDeleteUserCommand, AdminDeleteUserAttributesCommand, AdminDisableProviderForUserCommand, AdminDisableUserCommand, AdminEnableUserCommand, AdminForgetDeviceCommand, AdminGetDeviceCommand, AdminGetUserCommand, AdminInitiateAuthCommand, AdminLinkProviderForUserCommand, AdminListDevicesCommand, AdminListGroupsForUserCommand, AdminListUserAuthEventsCommand, AdminRemoveUserFromGroupCommand, AdminResetUserPasswordCommand, AdminRespondToAuthChallengeCommand, AdminSetUserMFAPreferenceCommand, AdminSetUserPasswordCommand, AdminSetUserSettingsCommand, AdminUpdateAuthEventFeedbackCommand, AdminUpdateDeviceStatusCommand, AdminUpdateUserAttributesCommand, AdminUserGlobalSignOutCommand, AssociateSoftwareTokenCommand, ChangePasswordCommand, ConfirmDeviceCommand, ConfirmForgotPasswordCommand, ConfirmSignUpCommand, CreateGroupCommand, CreateIdentityProviderCommand, CreateResourceServerCommand, CreateUserImportJobCommand, CreateUserPoolCommand, CreateUserPoolClientCommand, CreateUserPoolDomainCommand, DeleteGroupCommand, DeleteIdentityProviderCommand, DeleteResourceServerCommand, DeleteUserCommand, DeleteUserAttributesCommand, DeleteUserPoolCommand, DeleteUserPoolClientCommand, DeleteUserPoolDomainCommand, DescribeIdentityProviderCommand, DescribeResourceServerCommand, DescribeRiskConfigurationCommand, DescribeUserImportJobCommand, DescribeUserPoolCommand, DescribeUserPoolClientCommand, DescribeUserPoolDomainCommand, ForgetDeviceCommand, ForgotPasswordCommand, GetCSVHeaderCommand, GetDeviceCommand, GetGroupCommand, GetIdentityProviderByIdentifierCommand, GetLogDeliveryConfigurationCommand, GetSigningCertificateCommand, GetUICustomizationCommand, GetUserCommand, GetUserAttributeVerificationCodeCommand, GetUserPoolMfaConfigCommand, GlobalSignOutCommand, InitiateAuthCommand, ListDevicesCommand, ListGroupsCommand, ListIdentityProvidersCommand, ListResourceServersCommand, ListTagsForResourceCommand, ListUserImportJobsCommand, ListUserPoolClientsCommand, ListUserPoolsCommand, ListUsersCommand, ListUsersInGroupCommand, ResendConfirmationCodeCommand, RespondToAuthChallengeCommand, RevokeTokenCommand, SetLogDeliveryConfigurationCommand, SetRiskConfigurationCommand, SetUICustomizationCommand, SetUserMFAPreferenceCommand, SetUserPoolMfaConfigCommand, SetUserSettingsCommand, SignUpCommand, StartUserImportJobCommand, StopUserImportJobCommand, TagResourceCommand, UntagResourceCommand, UpdateAuthEventFeedbackCommand, UpdateDeviceStatusCommand, UpdateGroupCommand, UpdateIdentityProviderCommand, UpdateResourceServerCommand, UpdateUserAttributesCommand, UpdateUserPoolCommand, UpdateUserPoolClientCommand, UpdateUserPoolDomainCommand, VerifySoftwareTokenCommand, VerifyUserAttributeCommand, } from "@aws-sdk/client-cognito-identity-provider";
|
|
5
|
+
import { Data, Effect, Layer, Record } from "effect";
|
|
6
|
+
import { CognitoIdentityProviderClientInstance, CognitoIdentityProviderClientInstanceLayer, } from "./CognitoIdentityProviderClientInstance";
|
|
7
|
+
import { DefaultCognitoIdentityProviderClientConfigLayer } from "./CognitoIdentityProviderClientInstanceConfig";
|
|
8
|
+
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
9
|
+
const commands = {
|
|
10
|
+
AddCustomAttributesCommand,
|
|
11
|
+
AdminAddUserToGroupCommand,
|
|
12
|
+
AdminConfirmSignUpCommand,
|
|
13
|
+
AdminCreateUserCommand,
|
|
14
|
+
AdminDeleteUserCommand,
|
|
15
|
+
AdminDeleteUserAttributesCommand,
|
|
16
|
+
AdminDisableProviderForUserCommand,
|
|
17
|
+
AdminDisableUserCommand,
|
|
18
|
+
AdminEnableUserCommand,
|
|
19
|
+
AdminForgetDeviceCommand,
|
|
20
|
+
AdminGetDeviceCommand,
|
|
21
|
+
AdminGetUserCommand,
|
|
22
|
+
AdminInitiateAuthCommand,
|
|
23
|
+
AdminLinkProviderForUserCommand,
|
|
24
|
+
AdminListDevicesCommand,
|
|
25
|
+
AdminListGroupsForUserCommand,
|
|
26
|
+
AdminListUserAuthEventsCommand,
|
|
27
|
+
AdminRemoveUserFromGroupCommand,
|
|
28
|
+
AdminResetUserPasswordCommand,
|
|
29
|
+
AdminRespondToAuthChallengeCommand,
|
|
30
|
+
AdminSetUserMFAPreferenceCommand,
|
|
31
|
+
AdminSetUserPasswordCommand,
|
|
32
|
+
AdminSetUserSettingsCommand,
|
|
33
|
+
AdminUpdateAuthEventFeedbackCommand,
|
|
34
|
+
AdminUpdateDeviceStatusCommand,
|
|
35
|
+
AdminUpdateUserAttributesCommand,
|
|
36
|
+
AdminUserGlobalSignOutCommand,
|
|
37
|
+
AssociateSoftwareTokenCommand,
|
|
38
|
+
ChangePasswordCommand,
|
|
39
|
+
ConfirmDeviceCommand,
|
|
40
|
+
ConfirmForgotPasswordCommand,
|
|
41
|
+
ConfirmSignUpCommand,
|
|
42
|
+
CreateGroupCommand,
|
|
43
|
+
CreateIdentityProviderCommand,
|
|
44
|
+
CreateResourceServerCommand,
|
|
45
|
+
CreateUserImportJobCommand,
|
|
46
|
+
CreateUserPoolCommand,
|
|
47
|
+
CreateUserPoolClientCommand,
|
|
48
|
+
CreateUserPoolDomainCommand,
|
|
49
|
+
DeleteGroupCommand,
|
|
50
|
+
DeleteIdentityProviderCommand,
|
|
51
|
+
DeleteResourceServerCommand,
|
|
52
|
+
DeleteUserCommand,
|
|
53
|
+
DeleteUserAttributesCommand,
|
|
54
|
+
DeleteUserPoolCommand,
|
|
55
|
+
DeleteUserPoolClientCommand,
|
|
56
|
+
DeleteUserPoolDomainCommand,
|
|
57
|
+
DescribeIdentityProviderCommand,
|
|
58
|
+
DescribeResourceServerCommand,
|
|
59
|
+
DescribeRiskConfigurationCommand,
|
|
60
|
+
DescribeUserImportJobCommand,
|
|
61
|
+
DescribeUserPoolCommand,
|
|
62
|
+
DescribeUserPoolClientCommand,
|
|
63
|
+
DescribeUserPoolDomainCommand,
|
|
64
|
+
ForgetDeviceCommand,
|
|
65
|
+
ForgotPasswordCommand,
|
|
66
|
+
GetCSVHeaderCommand,
|
|
67
|
+
GetDeviceCommand,
|
|
68
|
+
GetGroupCommand,
|
|
69
|
+
GetIdentityProviderByIdentifierCommand,
|
|
70
|
+
GetLogDeliveryConfigurationCommand,
|
|
71
|
+
GetSigningCertificateCommand,
|
|
72
|
+
GetUICustomizationCommand,
|
|
73
|
+
GetUserCommand,
|
|
74
|
+
GetUserAttributeVerificationCodeCommand,
|
|
75
|
+
GetUserPoolMfaConfigCommand,
|
|
76
|
+
GlobalSignOutCommand,
|
|
77
|
+
InitiateAuthCommand,
|
|
78
|
+
ListDevicesCommand,
|
|
79
|
+
ListGroupsCommand,
|
|
80
|
+
ListIdentityProvidersCommand,
|
|
81
|
+
ListResourceServersCommand,
|
|
82
|
+
ListTagsForResourceCommand,
|
|
83
|
+
ListUserImportJobsCommand,
|
|
84
|
+
ListUserPoolClientsCommand,
|
|
85
|
+
ListUserPoolsCommand,
|
|
86
|
+
ListUsersCommand,
|
|
87
|
+
ListUsersInGroupCommand,
|
|
88
|
+
ResendConfirmationCodeCommand,
|
|
89
|
+
RespondToAuthChallengeCommand,
|
|
90
|
+
RevokeTokenCommand,
|
|
91
|
+
SetLogDeliveryConfigurationCommand,
|
|
92
|
+
SetRiskConfigurationCommand,
|
|
93
|
+
SetUICustomizationCommand,
|
|
94
|
+
SetUserMFAPreferenceCommand,
|
|
95
|
+
SetUserPoolMfaConfigCommand,
|
|
96
|
+
SetUserSettingsCommand,
|
|
97
|
+
SignUpCommand,
|
|
98
|
+
StartUserImportJobCommand,
|
|
99
|
+
StopUserImportJobCommand,
|
|
100
|
+
TagResourceCommand,
|
|
101
|
+
UntagResourceCommand,
|
|
102
|
+
UpdateAuthEventFeedbackCommand,
|
|
103
|
+
UpdateDeviceStatusCommand,
|
|
104
|
+
UpdateGroupCommand,
|
|
105
|
+
UpdateIdentityProviderCommand,
|
|
106
|
+
UpdateResourceServerCommand,
|
|
107
|
+
UpdateUserAttributesCommand,
|
|
108
|
+
UpdateUserPoolCommand,
|
|
109
|
+
UpdateUserPoolClientCommand,
|
|
110
|
+
UpdateUserPoolDomainCommand,
|
|
111
|
+
VerifySoftwareTokenCommand,
|
|
112
|
+
VerifyUserAttributeCommand,
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* @since 1.0.0
|
|
116
|
+
* @category models
|
|
117
|
+
*/
|
|
118
|
+
export class CognitoIdentityProviderService extends Effect.Tag("@effect-aws/client-cognito-identity-provider/CognitoIdentityProviderService")() {
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @since 1.0.0
|
|
122
|
+
* @category constructors
|
|
123
|
+
*/
|
|
124
|
+
export const makeCognitoIdentityProviderService = Effect.gen(function* (_) {
|
|
125
|
+
const client = yield* _(CognitoIdentityProviderClientInstance);
|
|
126
|
+
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
127
|
+
const CommandCtor = commands[command];
|
|
128
|
+
const methodImpl = (args, options) => Effect.tryPromise({
|
|
129
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
130
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
131
|
+
abortSignal,
|
|
132
|
+
}),
|
|
133
|
+
catch: (e) => {
|
|
134
|
+
if (e instanceof CognitoIdentityProviderServiceException &&
|
|
135
|
+
AllServiceErrors.includes(e.name)) {
|
|
136
|
+
const ServiceException = Data.tagged(e.name);
|
|
137
|
+
return ServiceException({
|
|
138
|
+
...e,
|
|
139
|
+
message: e.message,
|
|
140
|
+
stack: e.stack,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (e instanceof Error) {
|
|
144
|
+
return SdkError({
|
|
145
|
+
...e,
|
|
146
|
+
name: "SdkError",
|
|
147
|
+
message: e.message,
|
|
148
|
+
stack: e.stack,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
throw e;
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
155
|
+
return { ...acc, [methodName]: methodImpl };
|
|
156
|
+
}, {});
|
|
157
|
+
});
|
|
158
|
+
/**
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category layers
|
|
161
|
+
*/
|
|
162
|
+
export const BaseCognitoIdentityProviderServiceLayer = Layer.effect(CognitoIdentityProviderService, makeCognitoIdentityProviderService);
|
|
163
|
+
/**
|
|
164
|
+
* @since 1.0.0
|
|
165
|
+
* @category layers
|
|
166
|
+
*/
|
|
167
|
+
export const CognitoIdentityProviderServiceLayer = BaseCognitoIdentityProviderServiceLayer.pipe(Layer.provide(CognitoIdentityProviderClientInstanceLayer));
|
|
168
|
+
/**
|
|
169
|
+
* @since 1.0.0
|
|
170
|
+
* @category layers
|
|
171
|
+
*/
|
|
172
|
+
export const DefaultCognitoIdentityProviderServiceLayer = CognitoIdentityProviderServiceLayer.pipe(Layer.provide(DefaultCognitoIdentityProviderClientConfigLayer));
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQix5QkFBeUIsRUFHekIsc0JBQXNCLEVBR3RCLHNCQUFzQixFQUd0QixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsd0JBQXdCLEVBR3hCLHFCQUFxQixFQUdyQixtQkFBbUIsRUFHbkIsd0JBQXdCLEVBR3hCLCtCQUErQixFQUcvQix1QkFBdUIsRUFHdkIsNkJBQTZCLEVBRzdCLDhCQUE4QixFQUc5QiwrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLGtDQUFrQyxFQUdsQyxnQ0FBZ0MsRUFHaEMsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixtQ0FBbUMsRUFHbkMsOEJBQThCLEVBRzlCLGdDQUFnQyxFQUdoQyw2QkFBNkIsRUFHN0IsNkJBQTZCLEVBRzdCLHFCQUFxQixFQUdyQixvQkFBb0IsRUFHcEIsNEJBQTRCLEVBRzVCLG9CQUFvQixFQUdwQixrQkFBa0IsRUFHbEIsNkJBQTZCLEVBRzdCLDJCQUEyQixFQUczQiwwQkFBMEIsRUFHMUIscUJBQXFCLEVBR3JCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0Isa0JBQWtCLEVBR2xCLDZCQUE2QixFQUc3QiwyQkFBMkIsRUFHM0IsaUJBQWlCLEVBR2pCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQiwrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLGdDQUFnQyxFQUdoQyw0QkFBNEIsRUFHNUIsdUJBQXVCLEVBR3ZCLDZCQUE2QixFQUc3Qiw2QkFBNkIsRUFHN0IsbUJBQW1CLEVBR25CLHFCQUFxQixFQUdyQixtQkFBbUIsRUFHbkIsZ0JBQWdCLEVBR2hCLGVBQWUsRUFHZixzQ0FBc0MsRUFHdEMsa0NBQWtDLEVBR2xDLDRCQUE0QixFQUc1Qix5QkFBeUIsRUFHekIsY0FBYyxFQUdkLHVDQUF1QyxFQUd2QywyQkFBMkIsRUFHM0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBR2pCLDRCQUE0QixFQUc1QiwwQkFBMEIsRUFHMUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QiwwQkFBMEIsRUFHMUIsb0JBQW9CLEVBR3BCLGdCQUFnQixFQUdoQix1QkFBdUIsRUFHdkIsNkJBQTZCLEVBRzdCLDZCQUE2QixFQUc3QixrQkFBa0IsRUFHbEIsa0NBQWtDLEVBR2xDLDJCQUEyQixFQUczQix5QkFBeUIsRUFHekIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixzQkFBc0IsRUFHdEIsYUFBYSxFQUdiLHlCQUF5QixFQUd6Qix3QkFBd0IsRUFHeEIsa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQiw4QkFBOEIsRUFHOUIseUJBQXlCLEVBR3pCLGtCQUFrQixFQUdsQiw2QkFBNkIsRUFHN0IsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQiwwQkFBMEIsRUFHMUIsMEJBQTBCLEdBRzNCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLDBDQUEwQyxHQUMzQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hILE9BQU8sRUFDTCxnQkFBZ0IsRUEyQ2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQVVsQixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsZ0NBQWdDO0lBQ2hDLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsbUNBQW1DO0lBQ25DLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysc0NBQXNDO0lBQ3RDLGtDQUFrQztJQUNsQyw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCx1Q0FBdUM7SUFDdkMsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLGtDQUFrQztJQUNsQywyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtDQUMzQixDQUFDO0FBMDZERjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDNUQsNkVBQTZFLENBQzlFLEVBQW1FO0NBQUc7QUFFdkU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRS9ELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLHVDQUF1QztvQkFDcEQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sUUFBUSxDQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBb0MsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2pFLDhCQUE4QixFQUM5QixrQ0FBa0MsQ0FDbkMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUM5Qyx1Q0FBdUMsQ0FBQyxJQUFJLENBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FDMUQsQ0FBQztBQUVKOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUNyRCxtQ0FBbUMsQ0FBQyxJQUFJLENBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsQ0FDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZUV4Y2VwdGlvbixcbiAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRDdXN0b21BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmQsXG4gIHR5cGUgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkRlbGV0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5EZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmQsXG4gIHR5cGUgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkRpc2FibGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5FbmFibGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkVuYWJsZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5FbmFibGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Gb3JnZXREZXZpY2VDb21tYW5kLFxuICB0eXBlIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5HZXREZXZpY2VDb21tYW5kLFxuICB0eXBlIEFkbWluR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5HZXRVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkdldFVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5HZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Jbml0aWF0ZUF1dGhDb21tYW5kLFxuICB0eXBlIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkxpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmQsXG4gIHR5cGUgQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0VXNlckF1dGhFdmVudHNDb21tYW5kLFxuICB0eXBlIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZCxcbiAgdHlwZSBBZG1pblJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIHR5cGUgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kLFxuICB0eXBlIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIHR5cGUgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVzZXJHbG9iYWxTaWduT3V0Q29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmQsXG4gIHR5cGUgQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBc3NvY2lhdGVTb2Z0d2FyZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIENoYW5nZVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybURldmljZUNvbW1hbmQsXG4gIHR5cGUgQ29uZmlybURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb25maXJtRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZCxcbiAgdHlwZSBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybVNpZ25VcENvbW1hbmQsXG4gIHR5cGUgQ29uZmlybVNpZ25VcENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb25maXJtU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRm9yZ2V0RGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBGb3JnZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRm9yZ2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgRm9yZ290UGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEZvcmdvdFBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0Q1NWSGVhZGVyQ29tbWFuZCxcbiAgdHlwZSBHZXRDU1ZIZWFkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q1NWSGVhZGVyQ29tbWFuZE91dHB1dCxcbiAgR2V0RGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBHZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgR2V0R3JvdXBDb21tYW5kLFxuICB0eXBlIEdldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmQsXG4gIHR5cGUgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlckNvbW1hbmQsXG4gIHR5cGUgR2V0VXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlckF0dHJpYnV0ZVZlcmlmaWNhdGlvbkNvZGVDb21tYW5kLFxuICB0eXBlIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICB0eXBlIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIHR5cGUgR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHbG9iYWxTaWduT3V0Q29tbWFuZE91dHB1dCxcbiAgSW5pdGlhdGVBdXRoQ29tbWFuZCxcbiAgdHlwZSBJbml0aWF0ZUF1dGhDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgTGlzdERldmljZXNDb21tYW5kLFxuICB0eXBlIExpc3REZXZpY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SWRlbnRpdHlQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UmVzb3VyY2VTZXJ2ZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlckltcG9ydEpvYnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJQb29sc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJQb29sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclBvb2xzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFVzZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJzSW5Hcm91cENvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJzSW5Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlcnNJbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmQsXG4gIHR5cGUgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZE91dHB1dCxcbiAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmQsXG4gIHR5cGUgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlVG9rZW5Db21tYW5kLFxuICB0eXBlIFJldm9rZVRva2VuQ29tbWFuZElucHV0LFxuICB0eXBlIFJldm9rZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0Umlza0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kLFxuICB0eXBlIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICB0eXBlIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlclNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBTZXRVc2VyU2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0VXNlclNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgU2lnblVwQ29tbWFuZCxcbiAgdHlwZSBTaWduVXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgdHlwZSBTdGFydFVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kLFxuICB0eXBlIFN0b3BVc2VySW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmQsXG4gIHR5cGUgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmQsXG4gIHR5cGUgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlVc2VyQXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2duaXRvLWlkZW50aXR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudEluc3RhbmNlLFxuICBDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWxpYXNFeGlzdHNFcnJvcixcbiAgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yLFxuICBDb2RlTWlzbWF0Y2hFcnJvcixcbiAgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yLFxuICBEdXBsaWNhdGVQcm92aWRlckVycm9yLFxuICBFbmFibGVTb2Z0d2FyZVRva2VuTUZBRXJyb3IsXG4gIEV4cGlyZWRDb2RlRXJyb3IsXG4gIEZvcmJpZGRlbkVycm9yLFxuICBHcm91cEV4aXN0c0Vycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3IsXG4gIEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yLFxuICBJbnZhbGlkT0F1dGhGbG93RXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFBhc3N3b3JkRXJyb3IsXG4gIEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3IsXG4gIEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvcixcbiAgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1GQU1ldGhvZE5vdEZvdW5kRXJyb3IsXG4gIE5vdEF1dGhvcml6ZWRFcnJvcixcbiAgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3IsXG4gIFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTY29wZURvZXNOb3RFeGlzdEVycm9yLFxuICBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFcnJvcixcbiAgVG9vTWFueUZhaWxlZEF0dGVtcHRzRXJyb3IsXG4gIFRvb01hbnlSZXF1ZXN0c0Vycm9yLFxuICBVbmF1dGhvcml6ZWRFcnJvcixcbiAgVW5leHBlY3RlZExhbWJkYUVycm9yLFxuICBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvcixcbiAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcixcbiAgVW5zdXBwb3J0ZWRUb2tlblR5cGVFcnJvcixcbiAgVW5zdXBwb3J0ZWRVc2VyU3RhdGVFcnJvcixcbiAgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvcixcbiAgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvcixcbiAgVXNlck5vdENvbmZpcm1lZEVycm9yLFxuICBVc2VyTm90Rm91bmRFcnJvcixcbiAgVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFcnJvcixcbiAgVXNlclBvb2xUYWdnaW5nRXJyb3IsXG4gIFVzZXJuYW1lRXhpc3RzRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG5pbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmQsXG4gIEFkbWluQWRkVXNlclRvR3JvdXBDb21tYW5kLFxuICBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kLFxuICBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kLFxuICBBZG1pbkRlbGV0ZVVzZXJDb21tYW5kLFxuICBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmQsXG4gIEFkbWluRW5hYmxlVXNlckNvbW1hbmQsXG4gIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZCxcbiAgQWRtaW5HZXREZXZpY2VDb21tYW5kLFxuICBBZG1pbkdldFVzZXJDb21tYW5kLFxuICBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmQsXG4gIEFkbWluTGlua1Byb3ZpZGVyRm9yVXNlckNvbW1hbmQsXG4gIEFkbWluTGlzdERldmljZXNDb21tYW5kLFxuICBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZCxcbiAgQWRtaW5MaXN0VXNlckF1dGhFdmVudHNDb21tYW5kLFxuICBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZCxcbiAgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZCxcbiAgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZCxcbiAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kLFxuICBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZCxcbiAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kLFxuICBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIEFzc29jaWF0ZVNvZnR3YXJlVG9rZW5Db21tYW5kLFxuICBDaGFuZ2VQYXNzd29yZENvbW1hbmQsXG4gIENvbmZpcm1EZXZpY2VDb21tYW5kLFxuICBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kLFxuICBDb25maXJtU2lnblVwQ29tbWFuZCxcbiAgQ3JlYXRlR3JvdXBDb21tYW5kLFxuICBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgQ3JlYXRlVXNlclBvb2xDb21tYW5kLFxuICBDcmVhdGVVc2VyUG9vbENsaWVudENvbW1hbmQsXG4gIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICBEZWxldGVVc2VyUG9vbENvbW1hbmQsXG4gIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kLFxuICBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZCxcbiAgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmQsXG4gIERlc2NyaWJlVXNlclBvb2xDb21tYW5kLFxuICBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmQsXG4gIEZvcmdldERldmljZUNvbW1hbmQsXG4gIEZvcmdvdFBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0Q1NWSGVhZGVyQ29tbWFuZCxcbiAgR2V0RGV2aWNlQ29tbWFuZCxcbiAgR2V0R3JvdXBDb21tYW5kLFxuICBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZCxcbiAgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZCxcbiAgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgR2V0VXNlckNvbW1hbmQsXG4gIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZCxcbiAgR2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICBHbG9iYWxTaWduT3V0Q29tbWFuZCxcbiAgSW5pdGlhdGVBdXRoQ29tbWFuZCxcbiAgTGlzdERldmljZXNDb21tYW5kLFxuICBMaXN0R3JvdXBzQ29tbWFuZCxcbiAgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZCxcbiAgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VXNlckltcG9ydEpvYnNDb21tYW5kLFxuICBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZCxcbiAgTGlzdFVzZXJQb29sc0NvbW1hbmQsXG4gIExpc3RVc2Vyc0NvbW1hbmQsXG4gIExpc3RVc2Vyc0luR3JvdXBDb21tYW5kLFxuICBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZCxcbiAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmQsXG4gIFJldm9rZVRva2VuQ29tbWFuZCxcbiAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgU2V0Umlza0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kLFxuICBTZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZCxcbiAgU2V0VXNlclNldHRpbmdzQ29tbWFuZCxcbiAgU2lnblVwQ29tbWFuZCxcbiAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmQsXG4gIFVwZGF0ZURldmljZVN0YXR1c0NvbW1hbmQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZCxcbiAgVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICBVcGRhdGVVc2VyUG9vbENvbW1hbmQsXG4gIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZCxcbiAgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZEN1c3RvbUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgYWRkQ3VzdG9tQXR0cmlidXRlcyhcbiAgICBhcmdzOiBBZGRDdXN0b21BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJJbXBvcnRJblByb2dyZXNzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmR9XG4gICAqL1xuICBhZG1pbkFkZFVzZXJUb0dyb3VwKFxuICAgIGFyZ3M6IEFkbWluQWRkVXNlclRvR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZH1cbiAgICovXG4gIGFkbWluQ29uZmlybVNpZ25VcChcbiAgICBhcmdzOiBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlGYWlsZWRBdHRlbXB0c0Vycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5DcmVhdGVVc2VyKFxuICAgIGFyZ3M6IEFkbWluQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUGFzc3dvcmRFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkVXNlclN0YXRlRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJuYW1lRXhpc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluRGVsZXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICBhZG1pbkRlbGV0ZVVzZXIoXG4gICAgYXJnczogQWRtaW5EZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5EZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBhZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEFkbWluRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRGlzYWJsZVByb3ZpZGVyRm9yVXNlcihcbiAgICBhcmdzOiBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkRpc2FibGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRGlzYWJsZVVzZXIoXG4gICAgYXJnczogQWRtaW5EaXNhYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluRGlzYWJsZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkVuYWJsZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5FbmFibGVVc2VyKFxuICAgIGFyZ3M6IEFkbWluRW5hYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluRW5hYmxlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRm9yZ2V0RGV2aWNlKFxuICAgIGFyZ3M6IEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5Gb3JnZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluR2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluR2V0RGV2aWNlKFxuICAgIGFyZ3M6IEFkbWluR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5HZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5HZXRVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluR2V0VXNlcihcbiAgICBhcmdzOiBBZG1pbkdldFVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkdldFVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmR9XG4gICAqL1xuICBhZG1pbkluaXRpYXRlQXV0aChcbiAgICBhcmdzOiBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBNRkFNZXRob2ROb3RGb3VuZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluTGlua1Byb3ZpZGVyRm9yVXNlcihcbiAgICBhcmdzOiBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluTGlzdERldmljZXNDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5MaXN0RGV2aWNlcyhcbiAgICBhcmdzOiBBZG1pbkxpc3REZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluTGlzdEdyb3Vwc0ZvclVzZXIoXG4gICAgYXJnczogQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkxpc3RVc2VyQXV0aEV2ZW50c0NvbW1hbmR9XG4gICAqL1xuICBhZG1pbkxpc3RVc2VyQXV0aEV2ZW50cyhcbiAgICBhcmdzOiBBZG1pbkxpc3RVc2VyQXV0aEV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgICB8IFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGFkbWluUmVtb3ZlVXNlckZyb21Hcm91cChcbiAgICBhcmdzOiBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGFkbWluUmVzZXRVc2VyUGFzc3dvcmQoXG4gICAgYXJnczogQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluUmVzZXRVc2VyUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlKFxuICAgIGFyZ3M6IEFkbWluUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEV4cGlyZWRDb2RlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBNRkFNZXRob2ROb3RGb3VuZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkSGlzdG9yeVBvbGljeVZpb2xhdGlvbkVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlck1GQVByZWZlcmVuY2UoXG4gICAgYXJnczogQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlclBhc3N3b3JkKFxuICAgIGFyZ3M6IEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5TZXRVc2VyUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlclNldHRpbmdzKFxuICAgIGFyZ3M6IEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFjayhcbiAgICBhcmdzOiBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGFkbWluVXBkYXRlRGV2aWNlU3RhdHVzKFxuICAgIGFyZ3M6IEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlcyhcbiAgICBhcmdzOiBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblVzZXJHbG9iYWxTaWduT3V0Q29tbWFuZH1cbiAgICovXG4gIGFkbWluVXNlckdsb2JhbFNpZ25PdXQoXG4gICAgYXJnczogQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluVXNlckdsb2JhbFNpZ25PdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVTb2Z0d2FyZVRva2VuQ29tbWFuZH1cbiAgICovXG4gIGFzc29jaWF0ZVNvZnR3YXJlVG9rZW4oXG4gICAgYXJnczogQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZVNvZnR3YXJlVG9rZW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKFxuICAgIGFyZ3M6IENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbmZpcm1EZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY29uZmlybURldmljZShcbiAgICBhcmdzOiBDb25maXJtRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29uZmlybURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJuYW1lRXhpc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1Gb3Jnb3RQYXNzd29yZChcbiAgICBhcmdzOiBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55RmFpbGVkQXR0ZW1wdHNFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb25maXJtU2lnblVwQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1TaWduVXAoXG4gICAgYXJnczogQ29uZmlybVNpZ25VcENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvbmZpcm1TaWduVXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueUZhaWxlZEF0dGVtcHRzRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdyb3VwRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IENyZWF0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEdXBsaWNhdGVQcm92aWRlckVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVJlc291cmNlU2VydmVyKFxuICAgIGFyZ3M6IENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VySW1wb3J0Sm9iKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQcmVjb25kaXRpb25Ob3RNZXRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyUG9vbChcbiAgICBhcmdzOiBDcmVhdGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJQb29sVGFnZ2luZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVVzZXJQb29sQ2xpZW50KFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlclBvb2xDbGllbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRPQXV0aEZsb3dFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTY29wZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyUG9vbERvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyUG9vbERvbWFpbihcbiAgICBhcmdzOiBDcmVhdGVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR3JvdXAoXG4gICAgYXJnczogRGVsZXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IERlbGV0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVNlcnZlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVXNlckF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUG9vbChcbiAgICBhcmdzOiBEZWxldGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9vbENsaWVudENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUG9vbENsaWVudChcbiAgICBhcmdzOiBEZWxldGVVc2VyUG9vbENsaWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXJQb29sRG9tYWluKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSWRlbnRpdHlQcm92aWRlcihcbiAgICBhcmdzOiBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJpc2tDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlUmlza0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVVc2VySW1wb3J0Sm9iKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJQb29sKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlclBvb2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlclBvb2xUYWdnaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJQb29sQ2xpZW50KFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlclBvb2xDbGllbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVXNlclBvb2xEb21haW4oXG4gICAgYXJnczogRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRm9yZ2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGZvcmdldERldmljZShcbiAgICBhcmdzOiBGb3JnZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGb3JnZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGb3Jnb3RQYXNzd29yZENvbW1hbmR9XG4gICAqL1xuICBmb3Jnb3RQYXNzd29yZChcbiAgICBhcmdzOiBGb3Jnb3RQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Q1NWSGVhZGVyQ29tbWFuZH1cbiAgICovXG4gIGdldENTVkhlYWRlcihcbiAgICBhcmdzOiBHZXRDU1ZIZWFkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRDU1ZIZWFkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERldmljZUNvbW1hbmR9XG4gICAqL1xuICBnZXREZXZpY2UoXG4gICAgYXJnczogR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZ2V0R3JvdXAoXG4gICAgYXJnczogR2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmR9XG4gICAqL1xuICBnZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyKFxuICAgIGFyZ3M6IEdldElkZW50aXR5UHJvdmlkZXJCeUlkZW50aWZpZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIGdldFNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0VUlDdXN0b21pemF0aW9uKFxuICAgIGFyZ3M6IEdldFVJQ3VzdG9taXphdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVJQ3VzdG9taXphdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VXNlckNvbW1hbmR9XG4gICAqL1xuICBnZXRVc2VyKFxuICAgIGFyZ3M6IEdldFVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZH1cbiAgICovXG4gIGdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlKFxuICAgIGFyZ3M6IEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXNlckF0dHJpYnV0ZVZlcmlmaWNhdGlvbkNvZGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvZGVEZWxpdmVyeUZhaWx1cmVFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRVc2VyUG9vbE1mYUNvbmZpZyhcbiAgICBhcmdzOiBHZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHbG9iYWxTaWduT3V0Q29tbWFuZH1cbiAgICovXG4gIGdsb2JhbFNpZ25PdXQoXG4gICAgYXJnczogR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdsb2JhbFNpZ25PdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbml0aWF0ZUF1dGhDb21tYW5kfVxuICAgKi9cbiAgaW5pdGlhdGVBdXRoKFxuICAgIGFyZ3M6IEluaXRpYXRlQXV0aENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEluaXRpYXRlQXV0aENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGV2aWNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGV2aWNlcyhcbiAgICBhcmdzOiBMaXN0RGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3JvdXBzKFxuICAgIGFyZ3M6IExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0SWRlbnRpdHlQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdElkZW50aXR5UHJvdmlkZXJzKFxuICAgIGFyZ3M6IExpc3RJZGVudGl0eVByb3ZpZGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RJZGVudGl0eVByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UmVzb3VyY2VTZXJ2ZXJzKFxuICAgIGFyZ3M6IExpc3RSZXNvdXJjZVNlcnZlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UmVzb3VyY2VTZXJ2ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VySW1wb3J0Sm9ic0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlckltcG9ydEpvYnMoXG4gICAgYXJnczogTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2VyUG9vbENsaWVudHMoXG4gICAgYXJnczogTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2VyUG9vbENsaWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VyUG9vbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFVzZXJQb29scyhcbiAgICBhcmdzOiBMaXN0VXNlclBvb2xzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJQb29sc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2Vyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlcnMoXG4gICAgYXJnczogTGlzdFVzZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlcnNJbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2Vyc0luR3JvdXAoXG4gICAgYXJnczogTGlzdFVzZXJzSW5Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2Vyc0luR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2VuZENvbmZpcm1hdGlvbkNvZGVDb21tYW5kfVxuICAgKi9cbiAgcmVzZW5kQ29uZmlybWF0aW9uQ29kZShcbiAgICBhcmdzOiBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kfVxuICAgKi9cbiAgcmVzcG9uZFRvQXV0aENoYWxsZW5nZShcbiAgICBhcmdzOiBSZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEV4cGlyZWRDb2RlRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgTUZBTWV0aG9kTm90Rm91bmRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU29mdHdhcmVUb2tlbk1GQU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlVG9rZW5Db21tYW5kfVxuICAgKi9cbiAgcmV2b2tlVG9rZW4oXG4gICAgYXJnczogUmV2b2tlVG9rZW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXZva2VUb2tlbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuYXV0aG9yaXplZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBVbnN1cHBvcnRlZFRva2VuVHlwZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzZXRSaXNrQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBTZXRSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHNldFVJQ3VzdG9taXphdGlvbihcbiAgICBhcmdzOiBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZH1cbiAgICovXG4gIHNldFVzZXJNRkFQcmVmZXJlbmNlKFxuICAgIGFyZ3M6IFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBzZXRVc2VyUG9vbE1mYUNvbmZpZyhcbiAgICBhcmdzOiBTZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0VXNlclNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIHNldFVzZXJTZXR0aW5ncyhcbiAgICBhcmdzOiBTZXRVc2VyU2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRVc2VyU2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTaWduVXBDb21tYW5kfVxuICAgKi9cbiAgc2lnblVwKFxuICAgIGFyZ3M6IFNpZ25VcENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNpZ25VcENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUGFzc3dvcmRFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VybmFtZUV4aXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0VXNlckltcG9ydEpvYkNvbW1hbmR9XG4gICAqL1xuICBzdGFydFVzZXJJbXBvcnRKb2IoXG4gICAgYXJnczogU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgc3RvcFVzZXJJbXBvcnRKb2IoXG4gICAgYXJnczogU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wVXNlckltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXV0aEV2ZW50RmVlZGJhY2soXG4gICAgYXJnczogVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURldmljZVN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEZXZpY2VTdGF0dXMoXG4gICAgYXJnczogVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlR3JvdXAoXG4gICAgYXJnczogVXBkYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IFVwZGF0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSZXNvdXJjZVNlcnZlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBVcGRhdGVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyQXR0cmlidXRlcyhcbiAgICBhcmdzOiBVcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBbGlhc0V4aXN0c0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyUG9vbChcbiAgICBhcmdzOiBVcGRhdGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvclxuICAgIHwgVXNlclBvb2xUYWdnaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlVXNlclBvb2xDbGllbnQoXG4gICAgYXJnczogVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVVc2VyUG9vbENsaWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkT0F1dGhGbG93RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNjb3BlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVVzZXJQb29sRG9tYWluKFxuICAgIGFyZ3M6IFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeVNvZnR3YXJlVG9rZW5Db21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5U29mdHdhcmVUb2tlbihcbiAgICBhcmdzOiBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEVuYWJsZVNvZnR3YXJlVG9rZW5NRkFFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWZXJpZnlVc2VyQXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIHZlcmlmeVVzZXJBdHRyaWJ1dGUoXG4gICAgYXJnczogVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZlcmlmeVVzZXJBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWNvZ25pdG8taWRlbnRpdHktcHJvdmlkZXIvQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlXCIsXG4pPENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSwgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlJD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUNvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKENvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248Q29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSxcbiAgbWFrZUNvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllciA9XG4gIEJhc2VDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllciA9XG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
export const AllServiceErrors = [
|
|
3
|
+
"AliasExistsException",
|
|
4
|
+
"CodeDeliveryFailureException",
|
|
5
|
+
"CodeMismatchException",
|
|
6
|
+
"ConcurrentModificationException",
|
|
7
|
+
"DuplicateProviderException",
|
|
8
|
+
"EnableSoftwareTokenMFAException",
|
|
9
|
+
"ExpiredCodeException",
|
|
10
|
+
"ForbiddenException",
|
|
11
|
+
"GroupExistsException",
|
|
12
|
+
"InternalErrorException",
|
|
13
|
+
"InvalidEmailRoleAccessPolicyException",
|
|
14
|
+
"InvalidLambdaResponseException",
|
|
15
|
+
"InvalidOAuthFlowException",
|
|
16
|
+
"InvalidParameterException",
|
|
17
|
+
"InvalidPasswordException",
|
|
18
|
+
"InvalidSmsRoleAccessPolicyException",
|
|
19
|
+
"InvalidSmsRoleTrustRelationshipException",
|
|
20
|
+
"InvalidUserPoolConfigurationException",
|
|
21
|
+
"LimitExceededException",
|
|
22
|
+
"MFAMethodNotFoundException",
|
|
23
|
+
"NotAuthorizedException",
|
|
24
|
+
"PasswordHistoryPolicyViolationException",
|
|
25
|
+
"PasswordResetRequiredException",
|
|
26
|
+
"PreconditionNotMetException",
|
|
27
|
+
"ResourceNotFoundException",
|
|
28
|
+
"ScopeDoesNotExistException",
|
|
29
|
+
"SoftwareTokenMFANotFoundException",
|
|
30
|
+
"TooManyFailedAttemptsException",
|
|
31
|
+
"TooManyRequestsException",
|
|
32
|
+
"UnauthorizedException",
|
|
33
|
+
"UnexpectedLambdaException",
|
|
34
|
+
"UnsupportedIdentityProviderException",
|
|
35
|
+
"UnsupportedOperationException",
|
|
36
|
+
"UnsupportedTokenTypeException",
|
|
37
|
+
"UnsupportedUserStateException",
|
|
38
|
+
"UserImportInProgressException",
|
|
39
|
+
"UserLambdaValidationException",
|
|
40
|
+
"UserNotConfirmedException",
|
|
41
|
+
"UserNotFoundException",
|
|
42
|
+
"UserPoolAddOnNotEnabledException",
|
|
43
|
+
"UserPoolTaggingException",
|
|
44
|
+
"UsernameExistsException",
|
|
45
|
+
];
|
|
46
|
+
export const SdkError = Data.tagged("SdkError");
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0Q0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2QixpQ0FBaUM7SUFDakMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsdUNBQXVDO0lBQ3ZDLGdDQUFnQztJQUNoQywyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQixxQ0FBcUM7SUFDckMsMENBQTBDO0lBQzFDLHVDQUF1QztJQUN2Qyx3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix5Q0FBeUM7SUFDekMsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQyxnQ0FBZ0M7SUFDaEMsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0Isc0NBQXNDO0lBQ3RDLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixrQ0FBa0M7SUFDbEMsMEJBQTBCO0lBQzFCLHlCQUF5QjtDQUMxQixDQUFDO0FBeUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGlhc0V4aXN0c0V4Y2VwdGlvbixcbiAgQ29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvbixcbiAgQ29kZU1pc21hdGNoRXhjZXB0aW9uLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uLFxuICBEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvbixcbiAgRW5hYmxlU29mdHdhcmVUb2tlbk1GQUV4Y2VwdGlvbixcbiAgRXhwaXJlZENvZGVFeGNlcHRpb24sXG4gIEZvcmJpZGRlbkV4Y2VwdGlvbixcbiAgR3JvdXBFeGlzdHNFeGNlcHRpb24sXG4gIEludGVybmFsRXJyb3JFeGNlcHRpb24sXG4gIEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb24sXG4gIEludmFsaWRMYW1iZGFSZXNwb25zZUV4Y2VwdGlvbixcbiAgSW52YWxpZE9BdXRoRmxvd0V4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbixcbiAgSW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uLFxuICBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUV4Y2VwdGlvbixcbiAgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEV4Y2VwdGlvbixcbiAgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgTUZBTWV0aG9kTm90Rm91bmRFeGNlcHRpb24sXG4gIE5vdEF1dGhvcml6ZWRFeGNlcHRpb24sXG4gIFBhc3N3b3JkSGlzdG9yeVBvbGljeVZpb2xhdGlvbkV4Y2VwdGlvbixcbiAgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb24sXG4gIFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24sXG4gIFNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uLFxuICBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFeGNlcHRpb24sXG4gIFRvb01hbnlGYWlsZWRBdHRlbXB0c0V4Y2VwdGlvbixcbiAgVG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uLFxuICBVbmF1dGhvcml6ZWRFeGNlcHRpb24sXG4gIFVuZXhwZWN0ZWRMYW1iZGFFeGNlcHRpb24sXG4gIFVuc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlckV4Y2VwdGlvbixcbiAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24sXG4gIFVuc3VwcG9ydGVkVG9rZW5UeXBlRXhjZXB0aW9uLFxuICBVbnN1cHBvcnRlZFVzZXJTdGF0ZUV4Y2VwdGlvbixcbiAgVXNlckltcG9ydEluUHJvZ3Jlc3NFeGNlcHRpb24sXG4gIFVzZXJMYW1iZGFWYWxpZGF0aW9uRXhjZXB0aW9uLFxuICBVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uLFxuICBVc2VyTm90Rm91bmRFeGNlcHRpb24sXG4gIFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXhjZXB0aW9uLFxuICBVc2VyUG9vbFRhZ2dpbmdFeGNlcHRpb24sXG4gIFVzZXJuYW1lRXhpc3RzRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZ25pdG8taWRlbnRpdHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkFsaWFzRXhpc3RzRXhjZXB0aW9uXCIsXG4gIFwiQ29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvblwiLFxuICBcIkNvZGVNaXNtYXRjaEV4Y2VwdGlvblwiLFxuICBcIkNvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb25cIixcbiAgXCJEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvblwiLFxuICBcIkVuYWJsZVNvZnR3YXJlVG9rZW5NRkFFeGNlcHRpb25cIixcbiAgXCJFeHBpcmVkQ29kZUV4Y2VwdGlvblwiLFxuICBcIkZvcmJpZGRlbkV4Y2VwdGlvblwiLFxuICBcIkdyb3VwRXhpc3RzRXhjZXB0aW9uXCIsXG4gIFwiSW50ZXJuYWxFcnJvckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkTGFtYmRhUmVzcG9uc2VFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkT0F1dGhGbG93RXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQYXNzd29yZEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FeGNlcHRpb25cIixcbiAgXCJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiTUZBTWV0aG9kTm90Rm91bmRFeGNlcHRpb25cIixcbiAgXCJOb3RBdXRob3JpemVkRXhjZXB0aW9uXCIsXG4gIFwiUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiUGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uXCIsXG4gIFwiUHJlY29uZGl0aW9uTm90TWV0RXhjZXB0aW9uXCIsXG4gIFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiLFxuICBcIlNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uXCIsXG4gIFwiU29mdHdhcmVUb2tlbk1GQU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueUZhaWxlZEF0dGVtcHRzRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uXCIsXG4gIFwiVW5hdXRob3JpemVkRXhjZXB0aW9uXCIsXG4gIFwiVW5leHBlY3RlZExhbWJkYUV4Y2VwdGlvblwiLFxuICBcIlVuc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlckV4Y2VwdGlvblwiLFxuICBcIlVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiVW5zdXBwb3J0ZWRUb2tlblR5cGVFeGNlcHRpb25cIixcbiAgXCJVbnN1cHBvcnRlZFVzZXJTdGF0ZUV4Y2VwdGlvblwiLFxuICBcIlVzZXJJbXBvcnRJblByb2dyZXNzRXhjZXB0aW9uXCIsXG4gIFwiVXNlckxhbWJkYVZhbGlkYXRpb25FeGNlcHRpb25cIixcbiAgXCJVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uXCIsXG4gIFwiVXNlck5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFeGNlcHRpb25cIixcbiAgXCJVc2VyUG9vbFRhZ2dpbmdFeGNlcHRpb25cIixcbiAgXCJVc2VybmFtZUV4aXN0c0V4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWxpYXNFeGlzdHNFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxBbGlhc0V4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb2RlTWlzbWF0Y2hFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDb2RlTWlzbWF0Y2hFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRHVwbGljYXRlUHJvdmlkZXJFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFbmFibGVTb2Z0d2FyZVRva2VuTUZBRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RW5hYmxlU29mdHdhcmVUb2tlbk1GQUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFeHBpcmVkQ29kZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEV4cGlyZWRDb2RlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEZvcmJpZGRlbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEZvcmJpZGRlbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBHcm91cEV4aXN0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEdyb3VwRXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludGVybmFsRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxFcnJvckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkTGFtYmRhUmVzcG9uc2VFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE9BdXRoRmxvd0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRPQXV0aEZsb3dFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlckVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhc3N3b3JkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPExpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTUZBTWV0aG9kTm90Rm91bmRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxNRkFNZXRob2ROb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBOb3RBdXRob3JpemVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm90QXV0aG9yaXplZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFByZWNvbmRpdGlvbk5vdE1ldEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBTY29wZURvZXNOb3RFeGlzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUb29NYW55RmFpbGVkQXR0ZW1wdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUb29NYW55RmFpbGVkQXR0ZW1wdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9vTWFueVJlcXVlc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVuYXV0aG9yaXplZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVuYXV0aG9yaXplZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbmV4cGVjdGVkTGFtYmRhRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VW5leHBlY3RlZExhbWJkYUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnN1cHBvcnRlZFRva2VuVHlwZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVuc3VwcG9ydGVkVG9rZW5UeXBlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVuc3VwcG9ydGVkVXNlclN0YXRlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5zdXBwb3J0ZWRVc2VyU3RhdGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VySW1wb3J0SW5Qcm9ncmVzc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJMYW1iZGFWYWxpZGF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJOb3RDb25maXJtZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJQb29sVGFnZ2luZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJQb29sVGFnZ2luZ0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VybmFtZUV4aXN0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJuYW1lRXhpc3RzRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./Errors";
|
|
2
|
+
export * from "./CognitoIdentityProviderClientInstance";
|
|
3
|
+
export * from "./CognitoIdentityProviderClientInstanceConfig";
|
|
4
|
+
export * from "./CognitoIdentityProviderService";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZVwiO1xuIl19
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Errors"), exports);
|
|
18
|
+
__exportStar(require("./CognitoIdentityProviderClientInstance"), exports);
|
|
19
|
+
__exportStar(require("./CognitoIdentityProviderClientInstanceConfig"), exports);
|
|
20
|
+
__exportStar(require("./CognitoIdentityProviderService"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QiwwRUFBd0Q7QUFDeEQsZ0ZBQThEO0FBQzlELG1FQUFpRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlXCI7XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-aws/client-cognito-identity-provider",
|
|
3
|
+
"author": {
|
|
4
|
+
"name": "Victor Korzunin",
|
|
5
|
+
"email": "ifloydrose@gmail.com",
|
|
6
|
+
"organization": false
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@types/node": "^18",
|
|
10
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
|
+
"@typescript-eslint/parser": "^7",
|
|
12
|
+
"aws-sdk-client-mock": "^4.0.2",
|
|
13
|
+
"aws-sdk-client-mock-vitest": "^4.0.0",
|
|
14
|
+
"effect": "3.0.0",
|
|
15
|
+
"eslint": "^8",
|
|
16
|
+
"eslint-config-prettier": "^9.1.0",
|
|
17
|
+
"eslint-import-resolver-typescript": "^3.6.1",
|
|
18
|
+
"eslint-plugin-import": "^2.29.1",
|
|
19
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
20
|
+
"prettier": "^3.2.5",
|
|
21
|
+
"typescript": "^5.4.2",
|
|
22
|
+
"vitest": "^2.0.5"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"effect": ">=3.0.0 <4.0.0"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@aws-sdk/client-cognito-identity-provider": "^3"
|
|
29
|
+
},
|
|
30
|
+
"main": "lib/index.js",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"homepage": "https://floydspace.github.io/effect-aws",
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"version": "1.0.0",
|
|
37
|
+
"types": "lib/index.d.ts",
|
|
38
|
+
"module": "lib/esm/index.js",
|
|
39
|
+
"sideEffects": [],
|
|
40
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "npx projen build",
|
|
43
|
+
"compile": "npx projen compile",
|
|
44
|
+
"default": "npx projen default",
|
|
45
|
+
"eslint": "npx projen eslint",
|
|
46
|
+
"package": "npx projen package",
|
|
47
|
+
"post-compile": "npx projen post-compile",
|
|
48
|
+
"pre-compile": "npx projen pre-compile",
|
|
49
|
+
"test": "npx projen test",
|
|
50
|
+
"test:watch": "npx projen test:watch",
|
|
51
|
+
"watch": "npx projen watch",
|
|
52
|
+
"docgen": "docgen"
|
|
53
|
+
}
|
|
54
|
+
}
|
package/project.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-aws/client-cognito-identity-provider",
|
|
3
|
+
"root": "packages/client-cognito-identity-provider",
|
|
4
|
+
"targets": {
|
|
5
|
+
"default": {
|
|
6
|
+
"executor": "nx:run-commands",
|
|
7
|
+
"options": {
|
|
8
|
+
"command": "pnpm exec projen default",
|
|
9
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"pre-compile": {
|
|
13
|
+
"executor": "nx:run-commands",
|
|
14
|
+
"options": {
|
|
15
|
+
"command": "pnpm exec projen pre-compile",
|
|
16
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"compile": {
|
|
20
|
+
"executor": "nx:run-commands",
|
|
21
|
+
"options": {
|
|
22
|
+
"command": "pnpm exec projen compile",
|
|
23
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"post-compile": {
|
|
27
|
+
"executor": "nx:run-commands",
|
|
28
|
+
"options": {
|
|
29
|
+
"command": "pnpm exec projen post-compile",
|
|
30
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"test": {
|
|
34
|
+
"executor": "nx:run-commands",
|
|
35
|
+
"options": {
|
|
36
|
+
"command": "pnpm exec projen test",
|
|
37
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"package": {
|
|
41
|
+
"executor": "nx:run-commands",
|
|
42
|
+
"options": {
|
|
43
|
+
"command": "pnpm exec projen package",
|
|
44
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"build": {
|
|
48
|
+
"executor": "nx:run-commands",
|
|
49
|
+
"options": {
|
|
50
|
+
"command": "pnpm exec projen build",
|
|
51
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"watch": {
|
|
55
|
+
"executor": "nx:run-commands",
|
|
56
|
+
"options": {
|
|
57
|
+
"command": "pnpm exec projen watch",
|
|
58
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"eslint": {
|
|
62
|
+
"executor": "nx:run-commands",
|
|
63
|
+
"options": {
|
|
64
|
+
"command": "pnpm exec projen eslint",
|
|
65
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"test:watch": {
|
|
69
|
+
"executor": "nx:run-commands",
|
|
70
|
+
"options": {
|
|
71
|
+
"command": "pnpm exec projen test:watch",
|
|
72
|
+
"cwd": "packages/client-cognito-identity-provider"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
77
|
+
}
|
package/vitest.config.ts
ADDED