@effect-aws/client-iam 1.5.0 → 1.7.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/lib/IAMService.js CHANGED
@@ -59,7 +59,11 @@ const commands = {
59
59
  DetachGroupPolicyCommand: client_iam_1.DetachGroupPolicyCommand,
60
60
  DetachRolePolicyCommand: client_iam_1.DetachRolePolicyCommand,
61
61
  DetachUserPolicyCommand: client_iam_1.DetachUserPolicyCommand,
62
+ DisableOrganizationsRootCredentialsManagementCommand: client_iam_1.DisableOrganizationsRootCredentialsManagementCommand,
63
+ DisableOrganizationsRootSessionsCommand: client_iam_1.DisableOrganizationsRootSessionsCommand,
62
64
  EnableMFADeviceCommand: client_iam_1.EnableMFADeviceCommand,
65
+ EnableOrganizationsRootCredentialsManagementCommand: client_iam_1.EnableOrganizationsRootCredentialsManagementCommand,
66
+ EnableOrganizationsRootSessionsCommand: client_iam_1.EnableOrganizationsRootSessionsCommand,
63
67
  GenerateCredentialReportCommand: client_iam_1.GenerateCredentialReportCommand,
64
68
  GenerateOrganizationsAccessReportCommand: client_iam_1.GenerateOrganizationsAccessReportCommand,
65
69
  GenerateServiceLastAccessedDetailsCommand: client_iam_1.GenerateServiceLastAccessedDetailsCommand,
@@ -105,6 +109,7 @@ const commands = {
105
109
  ListMFADevicesCommand: client_iam_1.ListMFADevicesCommand,
106
110
  ListOpenIDConnectProviderTagsCommand: client_iam_1.ListOpenIDConnectProviderTagsCommand,
107
111
  ListOpenIDConnectProvidersCommand: client_iam_1.ListOpenIDConnectProvidersCommand,
112
+ ListOrganizationsFeaturesCommand: client_iam_1.ListOrganizationsFeaturesCommand,
108
113
  ListPoliciesCommand: client_iam_1.ListPoliciesCommand,
109
114
  ListPoliciesGrantingServiceAccessCommand: client_iam_1.ListPoliciesGrantingServiceAccessCommand,
110
115
  ListPolicyTagsCommand: client_iam_1.ListPolicyTagsCommand,
@@ -244,4 +249,4 @@ exports.IAMServiceLayer = exports.BaseIAMServiceLayer.pipe(effect_1.Layer.provid
244
249
  * @deprecated use IAM.defaultLayer instead
245
250
  */
246
251
  exports.DefaultIAMServiceLayer = IAMService.defaultLayer;
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFNU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9JQU1TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQWllNkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQWdDa0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLHlDQUF5QyxFQUF6QyxzREFBeUM7SUFDekMsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsNEJBQTRCLEVBQTVCLHlDQUE0QjtJQUM1Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsbUJBQW1CLEVBQW5CLGdDQUFtQjtJQUNuQiwwQkFBMEIsRUFBMUIsdUNBQTBCO0lBQzFCLGlCQUFpQixFQUFqQiw4QkFBaUI7SUFDakIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLHNDQUFzQyxFQUF0QyxtREFBc0M7SUFDdEMsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQiw2QkFBNkIsRUFBN0IsMENBQTZCO0lBQzdCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQix3QkFBd0Is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LEVBQUUsQ0FDRixjQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSxzQkFBYyxDQUFDLENBQUMsSUFBSSxDQUNyQyxjQUFLLENBQUMsT0FBTyxDQUNYLGNBQUssQ0FBQyxNQUFNLENBQ1YscUNBQWlCLEVBQ2pCLGVBQU0sQ0FBQyxHQUFHLENBQUMsNERBQWtDLEVBQUUsUUFBUSxDQUFDLENBQ3pELENBQ0YsQ0FDRixBQVZzQixDQVVyQjtBQUdOOzs7O0dBSUc7QUFDVSxRQUFBLEdBQUcsR0FBRyxVQUFVLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsc0JBQWMsQ0FBQyxDQUFDO0FBRTVFOzs7O0dBSUc7QUFDVSxRQUFBLGVBQWUsR0FBRywyQkFBbUIsQ0FBQyxJQUFJLENBQ3JELGNBQUssQ0FBQyxPQUFPLENBQUMsMENBQXNCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBJQU1TZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIElBTUNsaWVudCxcbiAgdHlwZSBJQU1DbGllbnRDb25maWcsXG4gIEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIEFkZFVzZXJUb0dyb3VwQ29tbWFuZCxcbiAgdHlwZSBBZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRVc2VyVG9Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEF0dGFjaEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXR0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kLFxuICB0eXBlIEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXR0YWNoVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIENoYW5nZVBhc3N3b3JkQ29tbWFuZCxcbiAgdHlwZSBDaGFuZ2VQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDaGFuZ2VQYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWNjb3VudEFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJvbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUm9sZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZpY2VMaW5rZWRSb2xlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVVzZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVhY3RpdmF0ZU1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjY2Vzc0tleUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjY2Vzc0tleUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUdyb3VwUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJvbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUm9sZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZpY2VMaW5rZWRSb2xlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXRhY2hHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERldGFjaFJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERldGFjaFJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERldGFjaFVzZXJQb2xpY3lDb21tYW5kLFxuICB0eXBlIERldGFjaFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGV0YWNoVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEVuYWJsZU1GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgRW5hYmxlTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEVuYWJsZU1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmQsXG4gIHR5cGUgR2VuZXJhdGVDcmVkZW50aWFsUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmRPdXRwdXQsXG4gIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmQsXG4gIHR5cGUgR2VuZXJhdGVPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gIEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZCxcbiAgdHlwZSBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmRPdXRwdXQsXG4gIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZCxcbiAgdHlwZSBHZXRBY2NvdW50U3VtbWFyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50U3VtbWFyeUNvbW1hbmRPdXRwdXQsXG4gIEdldENvbnRleHRLZXlzRm9yQ3VzdG9tUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q3JlZGVudGlhbFJlcG9ydENvbW1hbmRPdXRwdXQsXG4gIEdldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBHZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIEdldEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIEdldExvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgR2V0TG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldExvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIEdldE1GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgR2V0TUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gIEdldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldFBvbGljeVZlcnNpb25Db21tYW5kLFxuICB0eXBlIEdldFBvbGljeVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIEdldFJvbGVDb21tYW5kLFxuICB0eXBlIEdldFJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Um9sZUNvbW1hbmRPdXRwdXQsXG4gIEdldFJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Um9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldFNBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgR2V0U0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIEdldFNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIHR5cGUgR2V0U1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzV2l0aEVudGl0aWVzQ29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kLFxuICB0eXBlIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldFVzZXJDb21tYW5kLFxuICB0eXBlIEdldFVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VXNlckNvbW1hbmRPdXRwdXQsXG4gIEdldFVzZXJQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RBY2Nlc3NLZXlzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWNjZXNzS2V5c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWNjZXNzS2V5c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RBY2NvdW50QWxpYXNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBY2NvdW50QWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEF0dGFjaGVkUm9sZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEF0dGFjaGVkVXNlclBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmQsXG4gIHR5cGUgTGlzdEVudGl0aWVzRm9yUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RHcm91cFBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RHcm91cHNDb21tYW5kLFxuICB0eXBlIExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RHcm91cHNGb3JVc2VyQ29tbWFuZCxcbiAgdHlwZSBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRPdXRwdXQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNRkFEZXZpY2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TUZBRGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TUZBRGV2aWNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQb2xpY3lUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0UG9saWN5VGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWN5VGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RSb2xlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RSb2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFJvbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RSb2xlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFJvbGVUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSb2xlVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RSb2xlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFJvbGVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSb2xlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U0FNTFByb3ZpZGVyVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U0FNTFByb3ZpZGVyVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTQU1MUHJvdmlkZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTU0hQdWJsaWNLZXlzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlcnZlckNlcnRpZmljYXRlVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlcnZlckNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTaWduaW5nQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RVc2VyUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RVc2VyUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFVzZXJQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RVc2VyVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RVc2VyVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RVc2Vyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RVc2Vyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZCxcbiAgdHlwZSBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0Um9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZCxcbiAgdHlwZSBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFVzZXJQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlVXNlckZyb21Hcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmQsXG4gIHR5cGUgUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gIFJlc3luY01GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgUmVzeW5jTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3luY01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIFNldERlZmF1bHRQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kLFxuICB0eXBlIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0U2VjdXJpdHlUb2tlblNlcnZpY2VQcmVmZXJlbmNlc0NvbW1hbmRPdXRwdXQsXG4gIFNpbXVsYXRlQ3VzdG9tUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBTaW11bGF0ZVByaW5jaXBhbFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTaW11bGF0ZVByaW5jaXBhbFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ01GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgVGFnTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFRhZ1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgVGFnUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFRhZ1JvbGVDb21tYW5kLFxuICB0eXBlIFRhZ1JvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUm9sZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVGFnU0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1NBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ1VzZXJDb21tYW5kLFxuICB0eXBlIFRhZ1VzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnVXNlckNvbW1hbmRPdXRwdXQsXG4gIFVudGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVbnRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUm9sZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUm9sZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnVXNlckNvbW1hbmQsXG4gIHR5cGUgVW50YWdVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnVXNlckNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVHcm91cENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVJvbGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlUm9sZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlUm9sZURlc2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVVzZXJDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIHR5cGUgVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtaWFtXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yLFxuICBEZWxldGVDb25mbGljdEVycm9yLFxuICBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUVycm9yLFxuICBEdXBsaWNhdGVTU0hQdWJsaWNLZXlFcnJvcixcbiAgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yLFxuICBJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXJyb3IsXG4gIEludmFsaWRDZXJ0aWZpY2F0ZUVycm9yLFxuICBJbnZhbGlkSW5wdXRFcnJvcixcbiAgSW52YWxpZFB1YmxpY0tleUVycm9yLFxuICBJbnZhbGlkVXNlclR5cGVFcnJvcixcbiAgS2V5UGFpck1pc21hdGNoRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgTWFsZm9ybWVkQ2VydGlmaWNhdGVFcnJvcixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvcixcbiAgTm9TdWNoRW50aXR5RXJyb3IsXG4gIE9wZW5JZElkcENvbW11bmljYXRpb25FcnJvcixcbiAgUGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FcnJvcixcbiAgUG9saWN5RXZhbHVhdGlvbkVycm9yLFxuICBQb2xpY3lOb3RBdHRhY2hhYmxlRXJyb3IsXG4gIFJlcG9ydEdlbmVyYXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFNlcnZpY2VGYWlsdXJlRXJyb3IsXG4gIFNlcnZpY2VOb3RTdXBwb3J0ZWRFcnJvcixcbiAgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3IsXG4gIFVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgSUFNQ2xpZW50SW5zdGFuY2UsIElBTUNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9JQU1DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdElBTUNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBJQU1DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vSUFNQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgQWRkVXNlclRvR3JvdXBDb21tYW5kLFxuICBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kLFxuICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kLFxuICBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICBDcmVhdGVHcm91cENvbW1hbmQsXG4gIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVSb2xlQ29tbWFuZCxcbiAgQ3JlYXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kLFxuICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZCxcbiAgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVSb2xlQ29tbWFuZCxcbiAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVVc2VyUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmQsXG4gIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmQsXG4gIERldGFjaFVzZXJQb2xpY3lDb21tYW5kLFxuICBFbmFibGVNRkFEZXZpY2VDb21tYW5kLFxuICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kLFxuICBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZCxcbiAgR2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kLFxuICBHZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHNDb21tYW5kLFxuICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICBHZXRBY2NvdW50U3VtbWFyeUNvbW1hbmQsXG4gIEdldENvbnRleHRLZXlzRm9yQ3VzdG9tUG9saWN5Q29tbWFuZCxcbiAgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kLFxuICBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZCxcbiAgR2V0R3JvdXBDb21tYW5kLFxuICBHZXRHcm91cFBvbGljeUNvbW1hbmQsXG4gIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIEdldExvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIEdldE1GQURldmljZUNvbW1hbmQsXG4gIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kLFxuICBHZXRQb2xpY3lDb21tYW5kLFxuICBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgR2V0Um9sZUNvbW1hbmQsXG4gIEdldFJvbGVQb2xpY3lDb21tYW5kLFxuICBHZXRTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBHZXRTU0hQdWJsaWNLZXlDb21tYW5kLFxuICBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZCxcbiAgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kLFxuICBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZCxcbiAgR2V0VXNlckNvbW1hbmQsXG4gIEdldFVzZXJQb2xpY3lDb21tYW5kLFxuICBMaXN0QWNjZXNzS2V5c0NvbW1hbmQsXG4gIExpc3RBY2NvdW50QWxpYXNlc0NvbW1hbmQsXG4gIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kLFxuICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kLFxuICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kLFxuICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kLFxuICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RHcm91cHNDb21tYW5kLFxuICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVUYWdzQ29tbWFuZCxcbiAgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kLFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGVDb21tYW5kLFxuICBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmQsXG4gIExpc3RNRkFEZXZpY2VzQ29tbWFuZCxcbiAgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kLFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIExpc3RQb2xpY3lUYWdzQ29tbWFuZCxcbiAgTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RSb2xlVGFnc0NvbW1hbmQsXG4gIExpc3RSb2xlc0NvbW1hbmQsXG4gIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kLFxuICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmQsXG4gIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kLFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZCxcbiAgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICBMaXN0VXNlclBvbGljaWVzQ29tbWFuZCxcbiAgTGlzdFVzZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFVzZXJzQ29tbWFuZCxcbiAgTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZCxcbiAgUHV0R3JvdXBQb2xpY3lDb21tYW5kLFxuICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFJvbGVQb2xpY3lDb21tYW5kLFxuICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFVzZXJQb2xpY3lDb21tYW5kLFxuICBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kLFxuICBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmQsXG4gIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kLFxuICBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZCxcbiAgVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVGFnTUZBRGV2aWNlQ29tbWFuZCxcbiAgVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgVGFnUG9saWN5Q29tbWFuZCxcbiAgVGFnUm9sZUNvbW1hbmQsXG4gIFRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIFRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVGFnVXNlckNvbW1hbmQsXG4gIFVudGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVW50YWdNRkFEZXZpY2VDb21tYW5kLFxuICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIFVudGFnUG9saWN5Q29tbWFuZCxcbiAgVW50YWdSb2xlQ29tbWFuZCxcbiAgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVW50YWdVc2VyQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZCxcbiAgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmQsXG4gIFVwZGF0ZVJvbGVDb21tYW5kLFxuICBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kLFxuICBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGRhdGVVc2VyQ29tbWFuZCxcbiAgVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIElBTVNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRVc2VyVG9Hcm91cENvbW1hbmR9XG4gICAqL1xuICBhZGRVc2VyVG9Hcm91cChcbiAgICBhcmdzOiBBZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hHcm91cFBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF0dGFjaEdyb3VwUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYXR0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXR0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBvbGljeU5vdEF0dGFjaGFibGVFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICAgIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXR0YWNoVXNlclBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hVc2VyUG9saWN5KFxuICAgIGFyZ3M6IEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKFxuICAgIGFyZ3M6IENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBQYXNzd29yZFBvbGljeVZpb2xhdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY2Nlc3NLZXkoXG4gICAgYXJnczogQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjb3VudEFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVHcm91cChcbiAgICBhcmdzOiBDcmVhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMb2dpblByb2ZpbGUoXG4gICAgYXJnczogQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVuSWRJZHBDb21tdW5pY2F0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVSb2xlKFxuICAgIGFyZ3M6IENyZWF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VydmljZUxpbmtlZFJvbGUoXG4gICAgYXJnczogQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsKFxuICAgIGFyZ3M6IENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVXNlcihcbiAgICBhcmdzOiBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVhY3RpdmF0ZU1GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICBkZWFjdGl2YXRlTUZBRGV2aWNlKFxuICAgIGFyZ3M6IERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY2Vzc0tleShcbiAgICBhcmdzOiBEZWxldGVBY2Nlc3NLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY2NvdW50QWxpYXMoXG4gICAgYXJnczogRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR3JvdXBQb2xpY3koXG4gICAgYXJnczogRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTG9naW5Qcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUxvZ2luUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlKFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNTSFB1YmxpY0tleShcbiAgICBhcmdzOiBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZXJ2aWNlTGlua2VkUm9sZShcbiAgICBhcmdzOiBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VMaW5rZWRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWwoXG4gICAgYXJnczogRGVsZXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeShcbiAgICBhcmdzOiBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXJQb2xpY3koXG4gICAgYXJnczogRGVsZXRlVXNlclBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBEZWxldGVDb25mbGljdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRldGFjaEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IERldGFjaEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoVXNlclBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlTUZBRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGVuYWJsZU1GQURldmljZShcbiAgICBhcmdzOiBFbmFibGVNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yXG4gICAgfCBJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2VuZXJhdGVDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydChcbiAgICBhcmdzOiBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0KFxuICAgIGFyZ3M6IEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXBvcnRHZW5lcmF0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc0tleUxhc3RVc2VkKFxuICAgIGFyZ3M6IEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHMoXG4gICAgYXJnczogR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRTdW1tYXJ5KFxuICAgIGFyZ3M6IEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeShcbiAgICBhcmdzOiBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENvbnRleHRLZXlzRm9yQ3VzdG9tUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5KFxuICAgIGFyZ3M6IEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdldENyZWRlbnRpYWxSZXBvcnQoXG4gICAgYXJnczogR2V0Q3JlZGVudGlhbFJlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwKFxuICAgIGFyZ3M6IEdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IEdldEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBnZXRJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dpblByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9naW5Qcm9maWxlKFxuICAgIGFyZ3M6IEdldExvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TUZBRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGdldE1GQURldmljZShcbiAgICBhcmdzOiBHZXRNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydChcbiAgICBhcmdzOiBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWN5KFxuICAgIGFyZ3M6IEdldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGdldFBvbGljeVZlcnNpb24oXG4gICAgYXJnczogR2V0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Um9sZUNvbW1hbmR9XG4gICAqL1xuICBnZXRSb2xlKFxuICAgIGFyZ3M6IEdldFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldFJvbGVQb2xpY3koXG4gICAgYXJnczogR2V0Um9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNBTUxQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogR2V0U0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U0FNTFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNTSFB1YmxpY0tleUNvbW1hbmR9XG4gICAqL1xuICBnZXRTU0hQdWJsaWNLZXkoXG4gICAgYXJnczogR2V0U1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U1NIUHVibGljS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgVW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXMoXG4gICAgYXJnczogR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1cyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVc2VyQ29tbWFuZH1cbiAgICovXG4gIGdldFVzZXIoXG4gICAgYXJnczogR2V0VXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVzZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0VXNlclBvbGljeShcbiAgICBhcmdzOiBHZXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc0tleXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjY2Vzc0tleXMoXG4gICAgYXJnczogTGlzdEFjY2Vzc0tleXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzS2V5c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2NvdW50QWxpYXNlcyhcbiAgICBhcmdzOiBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkUm9sZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFJvbGVQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkVXNlclBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFVzZXJQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEVudGl0aWVzRm9yUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGxpc3RFbnRpdGllc0ZvclBvbGljeShcbiAgICBhcmdzOiBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3JvdXBzKFxuICAgIGFyZ3M6IExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3Vwc0ZvclVzZXIoXG4gICAgYXJnczogTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZVRhZ3MoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZXMoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGUoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TUZBRGV2aWNlVGFncyhcbiAgICBhcmdzOiBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNRkFEZXZpY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNRkFEZXZpY2VzKFxuICAgIGFyZ3M6IExpc3RNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzKFxuICAgIGFyZ3M6IExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnMoXG4gICAgYXJnczogTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWNpZXMoXG4gICAgYXJnczogTGlzdFBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFBvbGljaWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2VzcyhcbiAgICBhcmdzOiBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWN5VGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWN5VGFncyhcbiAgICBhcmdzOiBMaXN0UG9saWN5VGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQb2xpY3lUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWN5VmVyc2lvbnMoXG4gICAgYXJnczogTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RSb2xlUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFJvbGVQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFJvbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJvbGVUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSb2xlVGFncyhcbiAgICBhcmdzOiBMaXN0Um9sZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0Um9sZVRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RSb2xlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0Um9sZXMoXG4gICAgYXJnczogTGlzdFJvbGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFJvbGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNBTUxQcm92aWRlclRhZ3MoXG4gICAgYXJnczogTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U0FNTFByb3ZpZGVyVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U0FNTFByb3ZpZGVycyhcbiAgICBhcmdzOiBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTQU1MUHJvdmlkZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNTSFB1YmxpY0tleXMoXG4gICAgYXJnczogTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3MoXG4gICAgYXJnczogTGlzdFNlcnZlckNlcnRpZmljYXRlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlcnZlckNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlcnZlckNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHMoXG4gICAgYXJnczogTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTaWduaW5nQ2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTaWduaW5nQ2VydGlmaWNhdGVzKFxuICAgIGFyZ3M6IExpc3RTaWduaW5nQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VyUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFVzZXJQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0VXNlclBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFVzZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2VyVGFncyhcbiAgICBhcmdzOiBMaXN0VXNlclRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VXNlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2Vyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlcnMoXG4gICAgYXJnczogTGlzdFVzZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFVzZXJzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWaXJ0dWFsTUZBRGV2aWNlcyhcbiAgICBhcmdzOiBMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IFB1dEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kfVxuICAgKi9cbiAgcHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnkoXG4gICAgYXJnczogUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBQb2xpY3lOb3RBdHRhY2hhYmxlRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0Um9sZVBvbGljeShcbiAgICBhcmdzOiBQdXRSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0Um9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICAgIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kfVxuICAgKi9cbiAgcHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnkoXG4gICAgYXJnczogUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBQb2xpY3lOb3RBdHRhY2hhYmxlRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0VXNlclBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRVc2VyUG9saWN5KFxuICAgIGFyZ3M6IFB1dFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRVc2VyUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlVXNlckZyb21Hcm91cChcbiAgICBhcmdzOiBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlVXNlckZyb21Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZH1cbiAgICovXG4gIHJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbChcbiAgICBhcmdzOiBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzeW5jTUZBRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIHJlc3luY01GQURldmljZShcbiAgICBhcmdzOiBSZXN5bmNNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEF1dGhlbnRpY2F0aW9uQ29kZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldERlZmF1bHRQb2xpY3lWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIHNldERlZmF1bHRQb2xpY3lWZXJzaW9uKFxuICAgIGFyZ3M6IFNldERlZmF1bHRQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0RGVmYXVsdFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0U2VjdXJpdHlUb2tlblNlcnZpY2VQcmVmZXJlbmNlcyhcbiAgICBhcmdzOiBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0U2VjdXJpdHlUb2tlblNlcnZpY2VQcmVmZXJlbmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNpbXVsYXRlQ3VzdG9tUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHNpbXVsYXRlQ3VzdG9tUG9saWN5KFxuICAgIGFyZ3M6IFNpbXVsYXRlQ3VzdG9tUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2ltdWxhdGVDdXN0b21Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBQb2xpY3lFdmFsdWF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgc2ltdWxhdGVQcmluY2lwYWxQb2xpY3koXG4gICAgYXJnczogU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTaW11bGF0ZVByaW5jaXBhbFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgUG9saWN5RXZhbHVhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICB0YWdJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ01GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICB0YWdNRkFEZXZpY2UoXG4gICAgYXJnczogVGFnTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB0YWdPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICB0YWdQb2xpY3koXG4gICAgYXJnczogVGFnUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1JvbGVDb21tYW5kfVxuICAgKi9cbiAgdGFnUm9sZShcbiAgICBhcmdzOiBUYWdSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdGFnU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IFRhZ1NBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1NBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB0YWdTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1VzZXJDb21tYW5kfVxuICAgKi9cbiAgdGFnVXNlcihcbiAgICBhcmdzOiBUYWdVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ0luc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ01GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ01GQURldmljZShcbiAgICBhcmdzOiBVbnRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ09wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1BvbGljeShcbiAgICBhcmdzOiBVbnRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1JvbGVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSb2xlKFxuICAgIGFyZ3M6IFVudGFnUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1NBTUxQcm92aWRlcihcbiAgICBhcmdzOiBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnU0FNTFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVW50YWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnVXNlckNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1VzZXIoXG4gICAgYXJnczogVW50YWdVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2Nlc3NLZXkoXG4gICAgYXJnczogVXBkYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjZXNzS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5KFxuICAgIGFyZ3M6IFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFzc3VtZVJvbGVQb2xpY3koXG4gICAgYXJnczogVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUdyb3VwKFxuICAgIGFyZ3M6IFVwZGF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTG9naW5Qcm9maWxlKFxuICAgIGFyZ3M6IFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnQoXG4gICAgYXJnczogVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVSb2xlKFxuICAgIGFyZ3M6IFVwZGF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvciB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVSb2xlRGVzY3JpcHRpb24oXG4gICAgYXJnczogVXBkYXRlUm9sZURlc2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUm9sZURlc2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvciB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogVXBkYXRlU0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU0FNTFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU1NIUHVibGljS2V5KFxuICAgIGFyZ3M6IFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsKFxuICAgIGFyZ3M6IFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTaWduaW5nQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVVzZXIoXG4gICAgYXJnczogVXBkYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmR9XG4gICAqL1xuICB1cGxvYWRTU0hQdWJsaWNLZXkoXG4gICAgYXJnczogVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEdXBsaWNhdGVTU0hQdWJsaWNLZXlFcnJvclxuICAgIHwgSW52YWxpZFB1YmxpY0tleUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBVbnJlY29nbml6ZWRQdWJsaWNLZXlFbmNvZGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFNlcnZlckNlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVwbG9hZFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgS2V5UGFpck1pc21hdGNoRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkQ2VydGlmaWNhdGVFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRDZXJ0aWZpY2F0ZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZENlcnRpZmljYXRlRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlSUFNU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKElBTUNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgSUFNU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxJQU1TZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBJQU1TZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgSUFNU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtaWFtL0lBTVNlcnZpY2VcIik8XG4gIElBTVNlcnZpY2UsXG4gIElBTVNlcnZpY2UkXG4+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VJQU1TZXJ2aWNlKS5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoSUFNQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0SUFNQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBJQU1DbGllbnRDb25maWcpID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VJQU1TZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShJQU1DbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBJQU1DbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgICAgICAgICBtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBJQU1DbGllbnRDb25maWcpID0+IElBTUNsaWVudCxcbiAgKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSUFNU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBJQU1DbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0SUFNQ2xpZW50SW5zdGFuY2VDb25maWcsIGV2YWx1YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBJQU1TZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBJQU0gPSBJQU1TZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElBTS5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZUlBTVNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChJQU1TZXJ2aWNlLCBtYWtlSUFNU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgSUFNLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IElBTVNlcnZpY2VMYXllciA9IEJhc2VJQU1TZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShJQU1DbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgSUFNLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0SUFNU2VydmljZUxheWVyID0gSUFNU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFNU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9JQU1TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQWdmNkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQXFDa0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLHlDQUF5QyxFQUF6QyxzREFBeUM7SUFDekMsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsNEJBQTRCLEVBQTVCLHlDQUE0QjtJQUM1Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsbUJBQW1CLEVBQW5CLGdDQUFtQjtJQUNuQiwwQkFBMEIsRUFBMUIsdUNBQTBCO0lBQzFCLGlCQUFpQixFQUFqQiw4QkFBaUI7SUFDakIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLHNDQUFzQyxFQUF0QyxtREFBc0M7SUFDdEMsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQiw2QkFBNkIsRUFBN0IsMENBQTZCO0lBQzdCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQywrQ0FBa0M7SUFDbEMsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQix3QkFBd0Is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QUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ2pFLENBQ0YsQ0FDRixDQUNGLEFBWGtCLENBV2pCO0FBQ1ksb0JBQVMsR0FBRyxDQUMxQixRQUF1RCxFQUN2RCxFQUFFLENBQ0YsY0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFJLEVBQUUsc0JBQWMsQ0FBQyxDQUFDLElBQUksQ0FDckMsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLHFDQUFpQixFQUNqQixlQUFNLENBQUMsR0FBRyxDQUFDLDREQUFrQyxFQUFFLFFBQVEsQ0FBQyxDQUN6RCxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsVUFBVSxDQUFDO0FBRTlCOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLHNCQUFjLENBQUMsQ0FBQztBQUU1RTs7OztHQUlHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsMkJBQW1CLENBQUMsSUFBSSxDQUNyRCxjQUFLLENBQUMsT0FBTyxDQUFDLDBDQUFzQixDQUFDLENBQ3RDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgSUFNU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBJQU1DbGllbnQsXG4gIHR5cGUgSUFNQ2xpZW50Q29uZmlnLFxuICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBBZGRVc2VyVG9Hcm91cENvbW1hbmQsXG4gIHR5cGUgQWRkVXNlclRvR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkVXNlclRvR3JvdXBDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQXR0YWNoR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXR0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDaGFuZ2VQYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgQ2hhbmdlUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2NvdW50QWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERldGFjaFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERldGFjaFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kLFxuICB0eXBlIERpc2FibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kT3V0cHV0LFxuICBFbmFibGVNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIEVuYWJsZU1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBFbmFibGVNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmQsXG4gIHR5cGUgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZCxcbiAgdHlwZSBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZElucHV0LFxuICB0eXBlIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZCxcbiAgdHlwZSBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmQsXG4gIHR5cGUgR2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHNDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50U3VtbWFyeUNvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kT3V0cHV0LFxuICBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZCxcbiAgdHlwZSBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgR2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBHZXRHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0R3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIEdldExvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBHZXRNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIEdldE1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBHZXRPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZCxcbiAgdHlwZSBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBHZXRSb2xlQ29tbWFuZCxcbiAgdHlwZSBHZXRSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJvbGVDb21tYW5kT3V0cHV0LFxuICBHZXRSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIEdldFNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBHZXRTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIEdldFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRVc2VyQ29tbWFuZCxcbiAgdHlwZSBHZXRVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJDb21tYW5kT3V0cHV0LFxuICBHZXRVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjZXNzS2V5c0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFjY2Vzc0tleXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY2Vzc0tleXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY2NvdW50QWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kLFxuICB0eXBlIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBMaXN0R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RHcm91cHNDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGVDb21tYW5kLFxuICB0eXBlIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGVDb21tYW5kT3V0cHV0LFxuICBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1GQURldmljZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE1GQURldmljZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0TUZBRGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1GQURldmljZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPcmdhbml6YXRpb25zRmVhdHVyZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWN5VGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBvbGljeVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFBvbGljeVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZVRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RSb2xlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Um9sZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0Um9sZXNDb21tYW5kLFxuICB0eXBlIExpc3RSb2xlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Um9sZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U0FNTFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kLFxuICB0eXBlIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlclBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlclBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlclRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RVc2VyVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VXNlcnNDb21tYW5kLFxuICB0eXBlIExpc3RVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kLFxuICB0eXBlIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VmlydHVhbE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICBQdXRHcm91cFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0R3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBQdXRSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIHR5cGUgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICBQdXRVc2VyUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21JbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICB0eXBlIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIFJlc3luY01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN5bmNNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgU2V0RGVmYXVsdFBvbGljeVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0RGVmYXVsdFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZCxcbiAgdHlwZSBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kT3V0cHV0LFxuICBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgU2ltdWxhdGVDdXN0b21Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2ltdWxhdGVDdXN0b21Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBTaW11bGF0ZVByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kLFxuICB0eXBlIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBUYWdNRkFEZXZpY2VDb21tYW5kLFxuICB0eXBlIFRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBUYWdQb2xpY3lDb21tYW5kLFxuICB0eXBlIFRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBUYWdSb2xlQ29tbWFuZCxcbiAgdHlwZSBUYWdSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICBUYWdTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFRhZ1NBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBUYWdVc2VyQ29tbWFuZCxcbiAgdHlwZSBUYWdVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ01GQURldmljZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgVW50YWdQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1JvbGVDb21tYW5kLFxuICB0eXBlIFVudGFnUm9sZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1VzZXJDb21tYW5kLFxuICB0eXBlIFVudGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVHcm91cENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUxvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVSb2xlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVSb2xlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJvbGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIHR5cGUgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICB0eXBlIFVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWlhbVwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvcixcbiAgQ2FsbGVySXNOb3RNYW5hZ2VtZW50QWNjb3VudEVycm9yLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3IsXG4gIENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yLFxuICBEZWxldGVDb25mbGljdEVycm9yLFxuICBEdXBsaWNhdGVDZXJ0aWZpY2F0ZUVycm9yLFxuICBEdXBsaWNhdGVTU0hQdWJsaWNLZXlFcnJvcixcbiAgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBFbnRpdHlUZW1wb3JhcmlseVVubW9kaWZpYWJsZUVycm9yLFxuICBJbnZhbGlkQXV0aGVudGljYXRpb25Db2RlRXJyb3IsXG4gIEludmFsaWRDZXJ0aWZpY2F0ZUVycm9yLFxuICBJbnZhbGlkSW5wdXRFcnJvcixcbiAgSW52YWxpZFB1YmxpY0tleUVycm9yLFxuICBJbnZhbGlkVXNlclR5cGVFcnJvcixcbiAgS2V5UGFpck1pc21hdGNoRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgTWFsZm9ybWVkQ2VydGlmaWNhdGVFcnJvcixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvcixcbiAgTm9TdWNoRW50aXR5RXJyb3IsXG4gIE9wZW5JZElkcENvbW11bmljYXRpb25FcnJvcixcbiAgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvcixcbiAgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvcixcbiAgUGFzc3dvcmRQb2xpY3lWaW9sYXRpb25FcnJvcixcbiAgUG9saWN5RXZhbHVhdGlvbkVycm9yLFxuICBQb2xpY3lOb3RBdHRhY2hhYmxlRXJyb3IsXG4gIFJlcG9ydEdlbmVyYXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3IsXG4gIFNlcnZpY2VGYWlsdXJlRXJyb3IsXG4gIFNlcnZpY2VOb3RTdXBwb3J0ZWRFcnJvcixcbiAgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3IsXG4gIFVucmVjb2duaXplZFB1YmxpY0tleUVuY29kaW5nRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgSUFNQ2xpZW50SW5zdGFuY2UsIElBTUNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9JQU1DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdElBTUNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBJQU1DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vSUFNQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgQWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgQWRkVXNlclRvR3JvdXBDb21tYW5kLFxuICBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmQsXG4gIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kLFxuICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZCxcbiAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kLFxuICBDcmVhdGVBY2Nlc3NLZXlDb21tYW5kLFxuICBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kLFxuICBDcmVhdGVHcm91cENvbW1hbmQsXG4gIENyZWF0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIENyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVSb2xlQ29tbWFuZCxcbiAgQ3JlYXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kLFxuICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZCxcbiAgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZUxvZ2luUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVSb2xlQ29tbWFuZCxcbiAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU0FNTFByb3ZpZGVyQ29tbWFuZCxcbiAgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kLFxuICBEZWxldGVVc2VyUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmQsXG4gIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmQsXG4gIERldGFjaFVzZXJQb2xpY3lDb21tYW5kLFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kLFxuICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIEVuYWJsZU1GQURldmljZUNvbW1hbmQsXG4gIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZCxcbiAgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmQsXG4gIEdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydENvbW1hbmQsXG4gIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmQsXG4gIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kLFxuICBHZXRBY2Nlc3NLZXlMYXN0VXNlZENvbW1hbmQsXG4gIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmQsXG4gIEdldEFjY291bnRQYXNzd29yZFBvbGljeUNvbW1hbmQsXG4gIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZCxcbiAgR2V0Q29udGV4dEtleXNGb3JDdXN0b21Qb2xpY3lDb21tYW5kLFxuICBHZXRDb250ZXh0S2V5c0ZvclByaW5jaXBhbFBvbGljeUNvbW1hbmQsXG4gIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kLFxuICBHZXRHcm91cENvbW1hbmQsXG4gIEdldEdyb3VwUG9saWN5Q29tbWFuZCxcbiAgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgR2V0TG9naW5Qcm9maWxlQ29tbWFuZCxcbiAgR2V0TUZBRGV2aWNlQ29tbWFuZCxcbiAgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmQsXG4gIEdldFBvbGljeUNvbW1hbmQsXG4gIEdldFBvbGljeVZlcnNpb25Db21tYW5kLFxuICBHZXRSb2xlQ29tbWFuZCxcbiAgR2V0Um9sZVBvbGljeUNvbW1hbmQsXG4gIEdldFNBTUxQcm92aWRlckNvbW1hbmQsXG4gIEdldFNTSFB1YmxpY0tleUNvbW1hbmQsXG4gIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kLFxuICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmQsXG4gIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kLFxuICBHZXRVc2VyQ29tbWFuZCxcbiAgR2V0VXNlclBvbGljeUNvbW1hbmQsXG4gIExpc3RBY2Nlc3NLZXlzQ29tbWFuZCxcbiAgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZCxcbiAgTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RBdHRhY2hlZFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RBdHRhY2hlZFVzZXJQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RFbnRpdGllc0ZvclBvbGljeUNvbW1hbmQsXG4gIExpc3RHcm91cFBvbGljaWVzQ29tbWFuZCxcbiAgTGlzdEdyb3Vwc0NvbW1hbmQsXG4gIExpc3RHcm91cHNGb3JVc2VyQ29tbWFuZCxcbiAgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kLFxuICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmQsXG4gIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmQsXG4gIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZCxcbiAgTGlzdE1GQURldmljZXNDb21tYW5kLFxuICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyVGFnc0NvbW1hbmQsXG4gIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJzQ29tbWFuZCxcbiAgTGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmQsXG4gIExpc3RQb2xpY3lUYWdzQ29tbWFuZCxcbiAgTGlzdFBvbGljeVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFJvbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RSb2xlVGFnc0NvbW1hbmQsXG4gIExpc3RSb2xlc0NvbW1hbmQsXG4gIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kLFxuICBMaXN0U1NIUHVibGljS2V5c0NvbW1hbmQsXG4gIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kLFxuICBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgTGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzQ29tbWFuZCxcbiAgTGlzdFNpZ25pbmdDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICBMaXN0VXNlclBvbGljaWVzQ29tbWFuZCxcbiAgTGlzdFVzZXJUYWdzQ29tbWFuZCxcbiAgTGlzdFVzZXJzQ29tbWFuZCxcbiAgTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZCxcbiAgUHV0R3JvdXBQb2xpY3lDb21tYW5kLFxuICBQdXRSb2xlUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFJvbGVQb2xpY3lDb21tYW5kLFxuICBQdXRVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmQsXG4gIFB1dFVzZXJQb2xpY3lDb21tYW5kLFxuICBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmQsXG4gIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICBSZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBSZXN5bmNNRkFEZXZpY2VDb21tYW5kLFxuICBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmQsXG4gIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kLFxuICBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmQsXG4gIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZCxcbiAgVGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVGFnTUZBRGV2aWNlQ29tbWFuZCxcbiAgVGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZCxcbiAgVGFnUG9saWN5Q29tbWFuZCxcbiAgVGFnUm9sZUNvbW1hbmQsXG4gIFRhZ1NBTUxQcm92aWRlckNvbW1hbmQsXG4gIFRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVGFnVXNlckNvbW1hbmQsXG4gIFVudGFnSW5zdGFuY2VQcm9maWxlQ29tbWFuZCxcbiAgVW50YWdNRkFEZXZpY2VDb21tYW5kLFxuICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmQsXG4gIFVudGFnUG9saWN5Q29tbWFuZCxcbiAgVW50YWdSb2xlQ29tbWFuZCxcbiAgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZCxcbiAgVW50YWdVc2VyQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzS2V5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZCxcbiAgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmQsXG4gIFVwZGF0ZVJvbGVDb21tYW5kLFxuICBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kLFxuICBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kLFxuICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kLFxuICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kLFxuICBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGRhdGVVc2VyQ29tbWFuZCxcbiAgVXBsb2FkU1NIUHVibGljS2V5Q29tbWFuZCxcbiAgVXBsb2FkU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kLFxuICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIElBTVNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkQ2xpZW50SURUb09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBhZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IEFkZENsaWVudElEVG9PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRDbGllbnRJRFRvT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9JbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRVc2VyVG9Hcm91cENvbW1hbmR9XG4gICAqL1xuICBhZGRVc2VyVG9Hcm91cChcbiAgICBhcmdzOiBBZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hHcm91cFBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF0dGFjaEdyb3VwUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF0dGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYXR0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBBdHRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXR0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBvbGljeU5vdEF0dGFjaGFibGVFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICAgIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXR0YWNoVXNlclBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBhdHRhY2hVc2VyUG9saWN5KFxuICAgIGFyZ3M6IEF0dGFjaFVzZXJQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBdHRhY2hVc2VyUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKFxuICAgIGFyZ3M6IENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBQYXNzd29yZFBvbGljeVZpb2xhdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjY2Vzc0tleUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY2Nlc3NLZXkoXG4gICAgYXJnczogQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWNjZXNzS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2NvdW50QWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjb3VudEFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVHcm91cChcbiAgICBhcmdzOiBDcmVhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxvZ2luUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMb2dpblByb2ZpbGUoXG4gICAgYXJnczogQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTG9naW5Qcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVuSWRJZHBDb21tdW5pY2F0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBDcmVhdGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVSb2xlKFxuICAgIGFyZ3M6IENyZWF0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VydmljZUxpbmtlZFJvbGUoXG4gICAgYXJnczogQ3JlYXRlU2VydmljZUxpbmtlZFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsKFxuICAgIGFyZ3M6IENyZWF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVXNlcihcbiAgICBhcmdzOiBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBDcmVhdGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVhY3RpdmF0ZU1GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICBkZWFjdGl2YXRlTUZBRGV2aWNlKFxuICAgIGFyZ3M6IERlYWN0aXZhdGVNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWFjdGl2YXRlTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjZXNzS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY2Vzc0tleShcbiAgICBhcmdzOiBEZWxldGVBY2Nlc3NLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2Nlc3NLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY2NvdW50QWxpYXMoXG4gICAgYXJnczogRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWNjb3VudEFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR3JvdXBQb2xpY3koXG4gICAgYXJnczogRGVsZXRlR3JvdXBQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVHcm91cFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5zdGFuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnN0YW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTG9naW5Qcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUxvZ2luUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9wZW5JRENvbm5lY3RQcm92aWRlcihcbiAgICBhcmdzOiBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVBvbGljeVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVQb2xpY3lWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUG9saWN5VmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlKFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IERlbGV0ZUNvbmZsaWN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUm9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yIHwgVW5tb2RpZmlhYmxlRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUm9sZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSb2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSb2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU1NIUHVibGljS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNTSFB1YmxpY0tleShcbiAgICBhcmdzOiBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogRGVsZXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZXJ2aWNlTGlua2VkUm9sZShcbiAgICBhcmdzOiBEZWxldGVTZXJ2aWNlTGlua2VkUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VMaW5rZWRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IExpbWl0RXhjZWVkZWRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWwoXG4gICAgYXJnczogRGVsZXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRGVsZXRlQ29uZmxpY3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeShcbiAgICBhcmdzOiBEZWxldGVVc2VyUGVybWlzc2lvbnNCb3VuZGFyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXJQb2xpY3koXG4gICAgYXJnczogRGVsZXRlVXNlclBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZpcnR1YWxNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVmlydHVhbE1GQURldmljZShcbiAgICBhcmdzOiBEZWxldGVWaXJ0dWFsTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVmlydHVhbE1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBEZWxldGVDb25mbGljdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRldGFjaEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IERldGFjaEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoR3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFJvbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoUm9sZVBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hSb2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoUm9sZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERldGFjaFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGV0YWNoVXNlclBvbGljeShcbiAgICBhcmdzOiBEZXRhY2hVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGV0YWNoVXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudChcbiAgICBhcmdzOiBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RDcmVkZW50aWFsc01hbmFnZW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY291bnROb3RNYW5hZ2VtZW50T3JEZWxlZ2F0ZWRBZG1pbmlzdHJhdG9yRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnMoXG4gICAgYXJnczogRGlzYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvclxuICAgIHwgU2VydmljZUFjY2Vzc05vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlTUZBRGV2aWNlKFxuICAgIGFyZ3M6IEVuYWJsZU1GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZU1GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IEludmFsaWRBdXRoZW50aWNhdGlvbkNvZGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmR9XG4gICAqL1xuICBlbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudChcbiAgICBhcmdzOiBFbmFibGVPcmdhbml6YXRpb25zUm9vdENyZWRlbnRpYWxzTWFuYWdlbWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZU9yZ2FuaXphdGlvbnNSb290Q3JlZGVudGlhbHNNYW5hZ2VtZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckVycm9yXG4gICAgfCBDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlT3JnYW5pemF0aW9uc1Jvb3RTZXNzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBlbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zKFxuICAgIGFyZ3M6IEVuYWJsZU9yZ2FuaXphdGlvbnNSb290U2Vzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVPcmdhbml6YXRpb25zUm9vdFNlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2NvdW50Tm90TWFuYWdlbWVudE9yRGVsZWdhdGVkQWRtaW5pc3RyYXRvckVycm9yXG4gICAgfCBDYWxsZXJJc05vdE1hbmFnZW1lbnRBY2NvdW50RXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEZvdW5kRXJyb3JcbiAgICB8IE9yZ2FuaXphdGlvbk5vdEluQWxsRmVhdHVyZXNNb2RlRXJyb3JcbiAgICB8IFNlcnZpY2VBY2Nlc3NOb3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2VuZXJhdGVDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdlbmVyYXRlQ3JlZGVudGlhbFJlcG9ydChcbiAgICBhcmdzOiBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZW5lcmF0ZUNyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZW5lcmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0KFxuICAgIGFyZ3M6IEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdlbmVyYXRlT3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXBvcnRHZW5lcmF0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlU2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZW5lcmF0ZVNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc0tleUxhc3RVc2VkKFxuICAgIGFyZ3M6IEdldEFjY2Vzc0tleUxhc3RVc2VkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QWNjZXNzS2V5TGFzdFVzZWRDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRBdXRob3JpemF0aW9uRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY2NvdW50QXV0aG9yaXphdGlvbkRldGFpbHMoXG4gICAgYXJnczogR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudEF1dGhvcml6YXRpb25EZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRTdW1tYXJ5KFxuICAgIGFyZ3M6IEdldEFjY291bnRTdW1tYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjb3VudFN1bW1hcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeShcbiAgICBhcmdzOiBHZXRDb250ZXh0S2V5c0ZvckN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENvbnRleHRLZXlzRm9yQ3VzdG9tUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5KFxuICAgIGFyZ3M6IEdldENvbnRleHRLZXlzRm9yUHJpbmNpcGFsUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0Q29udGV4dEtleXNGb3JQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRDcmVkZW50aWFsUmVwb3J0Q29tbWFuZH1cbiAgICovXG4gIGdldENyZWRlbnRpYWxSZXBvcnQoXG4gICAgYXJnczogR2V0Q3JlZGVudGlhbFJlcG9ydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldENyZWRlbnRpYWxSZXBvcnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnRFeHBpcmVkRXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RQcmVzZW50RXJyb3JcbiAgICB8IENyZWRlbnRpYWxSZXBvcnROb3RSZWFkeUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwKFxuICAgIGFyZ3M6IEdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEdyb3VwUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEdyb3VwUG9saWN5KFxuICAgIGFyZ3M6IEdldEdyb3VwUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3JvdXBQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEluc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICBnZXRJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0SW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dpblByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9naW5Qcm9maWxlKFxuICAgIGFyZ3M6IEdldExvZ2luUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ2luUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TUZBRGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGdldE1GQURldmljZShcbiAgICBhcmdzOiBHZXRNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNRkFEZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3BlbklEQ29ubmVjdFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9yZ2FuaXphdGlvbnNBY2Nlc3NSZXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydChcbiAgICBhcmdzOiBHZXRPcmdhbml6YXRpb25zQWNjZXNzUmVwb3J0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T3JnYW5pemF0aW9uc0FjY2Vzc1JlcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWN5KFxuICAgIGFyZ3M6IEdldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY3lWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGdldFBvbGljeVZlcnNpb24oXG4gICAgYXJnczogR2V0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljeVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Um9sZUNvbW1hbmR9XG4gICAqL1xuICBnZXRSb2xlKFxuICAgIGFyZ3M6IEdldFJvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldFJvbGVQb2xpY3koXG4gICAgYXJnczogR2V0Um9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNBTUxQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogR2V0U0FNTFByb3ZpZGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U0FNTFByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNTSFB1YmxpY0tleUNvbW1hbmR9XG4gICAqL1xuICBnZXRTU0hQdWJsaWNLZXkoXG4gICAgYXJnczogR2V0U1NIUHVibGljS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U1NIUHVibGljS2V5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgVW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBHZXRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlscyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlcnZpY2VMYXN0QWNjZXNzZWREZXRhaWxzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXMoXG4gICAgYXJnczogR2V0U2VydmljZUxhc3RBY2Nlc3NlZERldGFpbHNXaXRoRW50aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZXJ2aWNlTGFzdEFjY2Vzc2VkRGV0YWlsc1dpdGhFbnRpdGllc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlcnZpY2VMaW5rZWRSb2xlRGVsZXRpb25TdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1cyhcbiAgICBhcmdzOiBHZXRTZXJ2aWNlTGlua2VkUm9sZURlbGV0aW9uU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VydmljZUxpbmtlZFJvbGVEZWxldGlvblN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVc2VyQ29tbWFuZH1cbiAgICovXG4gIGdldFVzZXIoXG4gICAgYXJnczogR2V0VXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVzZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0VXNlclBvbGljeShcbiAgICBhcmdzOiBHZXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc0tleXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjY2Vzc0tleXMoXG4gICAgYXJnczogTGlzdEFjY2Vzc0tleXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzS2V5c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY291bnRBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2NvdW50QWxpYXNlcyhcbiAgICBhcmdzOiBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjb3VudEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QXR0YWNoZWRHcm91cFBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEF0dGFjaGVkR3JvdXBQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RBdHRhY2hlZEdyb3VwUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkUm9sZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFJvbGVQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEF0dGFjaGVkVXNlclBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBdHRhY2hlZFVzZXJQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QXR0YWNoZWRVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEVudGl0aWVzRm9yUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGxpc3RFbnRpdGllc0ZvclBvbGljeShcbiAgICBhcmdzOiBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RW50aXRpZXNGb3JQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3VwUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEdyb3VwUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3JvdXBzKFxuICAgIGFyZ3M6IExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyb3Vwc0ZvclVzZXIoXG4gICAgYXJnczogTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZVRhZ3MoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlUHJvZmlsZXMoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VQcm9maWxlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RJbnN0YW5jZVByb2ZpbGVzRm9yUm9sZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0SW5zdGFuY2VQcm9maWxlc0ZvclJvbGUoXG4gICAgYXJnczogTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEluc3RhbmNlUHJvZmlsZXNGb3JSb2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TUZBRGV2aWNlVGFncyhcbiAgICBhcmdzOiBMaXN0TUZBRGV2aWNlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNRkFEZXZpY2VUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNRkFEZXZpY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNRkFEZXZpY2VzKFxuICAgIGFyZ3M6IExpc3RNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1GQURldmljZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzKFxuICAgIGFyZ3M6IExpc3RPcGVuSURDb25uZWN0UHJvdmlkZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnMoXG4gICAgYXJnczogTGlzdE9wZW5JRENvbm5lY3RQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0T3BlbklEQ29ubmVjdFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcmdhbml6YXRpb25zRmVhdHVyZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlcyhcbiAgICBhcmdzOiBMaXN0T3JnYW5pemF0aW9uc0ZlYXR1cmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9yZ2FuaXphdGlvbnNGZWF0dXJlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjb3VudE5vdE1hbmFnZW1lbnRPckRlbGVnYXRlZEFkbWluaXN0cmF0b3JFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90Rm91bmRFcnJvclxuICAgIHwgT3JnYW5pemF0aW9uTm90SW5BbGxGZWF0dXJlc01vZGVFcnJvclxuICAgIHwgU2VydmljZUFjY2Vzc05vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RQb2xpY2llc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQb2xpY2llc0dyYW50aW5nU2VydmljZUFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UG9saWNpZXNHcmFudGluZ1NlcnZpY2VBY2Nlc3MoXG4gICAgYXJnczogTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFBvbGljaWVzR3JhbnRpbmdTZXJ2aWNlQWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBvbGljeVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljeVRhZ3MoXG4gICAgYXJnczogTGlzdFBvbGljeVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UG9saWN5VGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UG9saWN5VmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBvbGljeVZlcnNpb25zKFxuICAgIGFyZ3M6IExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQb2xpY3lWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Um9sZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSb2xlUG9saWNpZXMoXG4gICAgYXJnczogTGlzdFJvbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RSb2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RSb2xlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0Um9sZVRhZ3MoXG4gICAgYXJnczogTGlzdFJvbGVUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFJvbGVUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Um9sZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFJvbGVzKFxuICAgIGFyZ3M6IExpc3RSb2xlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RSb2xlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTQU1MUHJvdmlkZXJUYWdzKFxuICAgIGFyZ3M6IExpc3RTQU1MUHJvdmlkZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNBTUxQcm92aWRlclRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNBTUxQcm92aWRlcnMoXG4gICAgYXJnczogTGlzdFNBTUxQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U0FNTFByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTU0hQdWJsaWNLZXlzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTU0hQdWJsaWNLZXlzKFxuICAgIGFyZ3M6IExpc3RTU0hQdWJsaWNLZXlzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNTSFB1YmxpY0tleXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlcnZlckNlcnRpZmljYXRlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzKFxuICAgIGFyZ3M6IExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VydmVyQ2VydGlmaWNhdGVUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2VydmVyQ2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXMoXG4gICAgYXJnczogTGlzdFNlcnZlckNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTZXJ2ZXJDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxzKFxuICAgIGFyZ3M6IExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VOb3RTdXBwb3J0ZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2lnbmluZ0NlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBMaXN0U2lnbmluZ0NlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTaWduaW5nQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlclBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2VyUG9saWNpZXMoXG4gICAgYXJnczogTGlzdFVzZXJQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2VyUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VyVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlclRhZ3MoXG4gICAgYXJnczogTGlzdFVzZXJUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJUYWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFVzZXJzKFxuICAgIGFyZ3M6IExpc3RVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RVc2Vyc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWaXJ0dWFsTUZBRGV2aWNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VmlydHVhbE1GQURldmljZXMoXG4gICAgYXJnczogTGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFZpcnR1YWxNRkFEZXZpY2VzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRHcm91cFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRHcm91cFBvbGljeShcbiAgICBhcmdzOiBQdXRHcm91cFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEdyb3VwUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IFB1dFJvbGVQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0Um9sZVBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSb2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJvbGVQb2xpY3koXG4gICAgYXJnczogUHV0Um9sZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJvbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgICB8IFVubW9kaWZpYWJsZUVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZH1cbiAgICovXG4gIHB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5KFxuICAgIGFyZ3M6IFB1dFVzZXJQZXJtaXNzaW9uc0JvdW5kYXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0VXNlclBlcm1pc3Npb25zQm91bmRhcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgUG9saWN5Tm90QXR0YWNoYWJsZUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFVzZXJQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0VXNlclBvbGljeShcbiAgICBhcmdzOiBQdXRVc2VyUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0VXNlclBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVDbGllbnRJREZyb21PcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlQ2xpZW50SURGcm9tT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZUNsaWVudElERnJvbU9wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkSW5wdXRFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZShcbiAgICBhcmdzOiBSZW1vdmVSb2xlRnJvbUluc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJvbGVGcm9tSW5zdGFuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVVzZXJGcm9tR3JvdXAoXG4gICAgYXJnczogUmVtb3ZlVXNlckZyb21Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0U2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmR9XG4gICAqL1xuICByZXNldFNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWwoXG4gICAgYXJnczogUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXRTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE5vU3VjaEVudGl0eUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3luY01GQURldmljZUNvbW1hbmR9XG4gICAqL1xuICByZXN5bmNNRkFEZXZpY2UoXG4gICAgYXJnczogUmVzeW5jTUZBRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzeW5jTUZBRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRBdXRoZW50aWNhdGlvbkNvZGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBzZXREZWZhdWx0UG9saWN5VmVyc2lvbihcbiAgICBhcmdzOiBTZXREZWZhdWx0UG9saWN5VmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldERlZmF1bHRQb2xpY3lWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTZWN1cml0eVRva2VuU2VydmljZVByZWZlcmVuY2VzQ29tbWFuZH1cbiAgICovXG4gIHNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXMoXG4gICAgYXJnczogU2V0U2VjdXJpdHlUb2tlblNlcnZpY2VQcmVmZXJlbmNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFNlY3VyaXR5VG9rZW5TZXJ2aWNlUHJlZmVyZW5jZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBzaW11bGF0ZUN1c3RvbVBvbGljeShcbiAgICBhcmdzOiBTaW11bGF0ZUN1c3RvbVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNpbXVsYXRlQ3VzdG9tUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgUG9saWN5RXZhbHVhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHNpbXVsYXRlUHJpbmNpcGFsUG9saWN5KFxuICAgIGFyZ3M6IFNpbXVsYXRlUHJpbmNpcGFsUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2ltdWxhdGVQcmluY2lwYWxQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZElucHV0RXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFBvbGljeUV2YWx1YXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgdGFnSW5zdGFuY2VQcm9maWxlKFxuICAgIGFyZ3M6IFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnTUZBRGV2aWNlKFxuICAgIGFyZ3M6IFRhZ01GQURldmljZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdGFnT3BlbklEQ29ubmVjdFByb3ZpZGVyKFxuICAgIGFyZ3M6IFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdGFnUG9saWN5KFxuICAgIGFyZ3M6IFRhZ1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSb2xlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1JvbGUoXG4gICAgYXJnczogVGFnUm9sZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnU0FNTFByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIHRhZ1NBTUxQcm92aWRlcihcbiAgICBhcmdzOiBUYWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdTQU1MUHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdGFnU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdVc2VyQ29tbWFuZH1cbiAgICovXG4gIHRhZ1VzZXIoXG4gICAgYXJnczogVGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1VzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdJbnN0YW5jZVByb2ZpbGUoXG4gICAgYXJnczogVW50YWdJbnN0YW5jZVByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ0luc3RhbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdNRkFEZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdNRkFEZXZpY2UoXG4gICAgYXJnczogVW50YWdNRkFEZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ01GQURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXIoXG4gICAgYXJnczogVW50YWdPcGVuSURDb25uZWN0UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ09wZW5JRENvbm5lY3RQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdW50YWdQb2xpY3koXG4gICAgYXJnczogVW50YWdQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSb2xlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUm9sZShcbiAgICBhcmdzOiBVbnRhZ1JvbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1JvbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdTQU1MUHJvdmlkZXIoXG4gICAgYXJnczogVW50YWdTQU1MUHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1NBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkSW5wdXRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1NlcnZlckNlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVudGFnU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1NlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludmFsaWRJbnB1dEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1VzZXJDb21tYW5kfVxuICAgKi9cbiAgdW50YWdVc2VyKFxuICAgIGFyZ3M6IFVudGFnVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBY2Nlc3NLZXlDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQWNjZXNzS2V5KFxuICAgIGFyZ3M6IFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFjY2Vzc0tleUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjb3VudFBhc3N3b3JkUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY291bnRQYXNzd29yZFBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBY2NvdW50UGFzc3dvcmRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXNzdW1lUm9sZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBc3N1bWVSb2xlUG9saWN5KFxuICAgIGFyZ3M6IFVwZGF0ZUFzc3VtZVJvbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBc3N1bWVSb2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gICAgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVHcm91cENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVHcm91cChcbiAgICBhcmdzOiBVcGRhdGVHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbnRpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlTG9naW5Qcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUxvZ2luUHJvZmlsZShcbiAgICBhcmdzOiBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVMb2dpblByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVudGl0eVRlbXBvcmFyaWx5VW5tb2RpZmlhYmxlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFBhc3N3b3JkUG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlT3BlbklEQ29ubmVjdFByb3ZpZGVyVGh1bWJwcmludENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50KFxuICAgIGFyZ3M6IFVwZGF0ZU9wZW5JRENvbm5lY3RQcm92aWRlclRodW1icHJpbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVPcGVuSURDb25uZWN0UHJvdmlkZXJUaHVtYnByaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRJbnB1dEVycm9yIHwgTm9TdWNoRW50aXR5RXJyb3IgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVJvbGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUm9sZShcbiAgICBhcmdzOiBVcGRhdGVSb2xlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUm9sZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3IgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSb2xlRGVzY3JpcHRpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUm9sZURlc2NyaXB0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJvbGVEZXNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3IgfCBVbm1vZGlmaWFibGVFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTQU1MUHJvdmlkZXJDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU0FNTFByb3ZpZGVyKFxuICAgIGFyZ3M6IFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNBTUxQcm92aWRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU1NIUHVibGljS2V5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNTSFB1YmxpY0tleShcbiAgICBhcmdzOiBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTU0hQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoRW50aXR5RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmVyQ2VydGlmaWNhdGUoXG4gICAgYXJnczogVXBkYXRlU2VydmVyQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vU3VjaEVudGl0eUVycm9yXG4gICAgfCBTZXJ2aWNlRmFpbHVyZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VTcGVjaWZpY0NyZWRlbnRpYWxDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbChcbiAgICBhcmdzOiBVcGRhdGVTZXJ2aWNlU3BlY2lmaWNDcmVkZW50aWFsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZVNwZWNpZmljQ3JlZGVudGlhbENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2lnbmluZ0NlcnRpZmljYXRlKFxuICAgIGFyZ3M6IFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNpZ25pbmdDZXJ0aWZpY2F0ZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBMaW1pdEV4Y2VlZGVkRXJyb3IgfCBOb1N1Y2hFbnRpdHlFcnJvciB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyKFxuICAgIGFyZ3M6IFVwZGF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgRW50aXR5VGVtcG9yYXJpbHlVbm1vZGlmaWFibGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRTU0hQdWJsaWNLZXlDb21tYW5kfVxuICAgKi9cbiAgdXBsb2FkU1NIUHVibGljS2V5KFxuICAgIGFyZ3M6IFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwbG9hZFNTSFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRHVwbGljYXRlU1NIUHVibGljS2V5RXJyb3JcbiAgICB8IEludmFsaWRQdWJsaWNLZXlFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgVW5yZWNvZ25pemVkUHVibGljS2V5RW5jb2RpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmR9XG4gICAqL1xuICB1cGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBVcGxvYWRTZXJ2ZXJDZXJ0aWZpY2F0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwbG9hZFNlcnZlckNlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEVudGl0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgSW52YWxpZElucHV0RXJyb3JcbiAgICB8IEtleVBhaXJNaXNtYXRjaEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZENlcnRpZmljYXRlRXJyb3JcbiAgICB8IFNlcnZpY2VGYWlsdXJlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBsb2FkU2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGxvYWRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRHVwbGljYXRlQ2VydGlmaWNhdGVFcnJvclxuICAgIHwgRW50aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBJbnZhbGlkQ2VydGlmaWNhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRDZXJ0aWZpY2F0ZUVycm9yXG4gICAgfCBOb1N1Y2hFbnRpdHlFcnJvclxuICAgIHwgU2VydmljZUZhaWx1cmVFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUlBTVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhJQU1DbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIElBTVNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248SUFNU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgSUFNU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIElBTVNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LWlhbS9JQU1TZXJ2aWNlXCIpPFxuICBJQU1TZXJ2aWNlLFxuICBJQU1TZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSUFNU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKElBTUNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdElBTUNsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogSUFNQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlSUFNU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoSUFNQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgSUFNQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRJQU1DbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogSUFNQ2xpZW50Q29uZmlnKSA9PiBJQU1DbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUlBTVNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgSUFNQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdElBTUNsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgSUFNU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgSUFNID0gSUFNU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBJQU0uYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VJQU1TZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoSUFNU2VydmljZSwgbWFrZUlBTVNlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElBTS5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBJQU1TZXJ2aWNlTGF5ZXIgPSBCYXNlSUFNU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoSUFNQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIElBTS5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdElBTVNlcnZpY2VMYXllciA9IElBTVNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19