@nutanix-scratch/iam-js-client 4.1.1-beta.2 → 4.1.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (794) hide show
  1. package/README.md +3 -3
  2. package/dist/Ntnx-Iam-js-client-prod.js +1 -1
  3. package/dist/Ntnx-Iam-js-client.js +234 -234
  4. package/dist/es/ApiClient.d.ts +1 -1
  5. package/dist/es/ApiClient.js +4 -4
  6. package/dist/es/Paginable.d.ts +1 -1
  7. package/dist/es/Paginable.js +3 -3
  8. package/dist/es/apis/authorizationpolicies-endpoints.d.ts +2 -2
  9. package/dist/es/apis/authorizationpolicies-endpoints.js +4 -4
  10. package/dist/es/apis/certificateauthenticationproviders-endpoints.d.ts +2 -2
  11. package/dist/es/apis/certificateauthenticationproviders-endpoints.js +4 -4
  12. package/dist/es/apis/clients-endpoints.d.ts +1 -1
  13. package/dist/es/apis/clients-endpoints.js +3 -3
  14. package/dist/es/apis/directoryservices-endpoints.d.ts +2 -2
  15. package/dist/es/apis/directoryservices-endpoints.js +4 -4
  16. package/dist/es/apis/entities-endpoints.d.ts +2 -2
  17. package/dist/es/apis/entities-endpoints.js +4 -4
  18. package/dist/es/apis/loginproviders-endpoints.d.ts +2 -2
  19. package/dist/es/apis/loginproviders-endpoints.js +4 -4
  20. package/dist/es/apis/operations-endpoints.d.ts +2 -2
  21. package/dist/es/apis/operations-endpoints.js +4 -4
  22. package/dist/es/apis/roles-endpoints.d.ts +2 -2
  23. package/dist/es/apis/roles-endpoints.js +4 -4
  24. package/dist/es/apis/samlidentityproviders-endpoints.d.ts +2 -2
  25. package/dist/es/apis/samlidentityproviders-endpoints.js +4 -4
  26. package/dist/es/apis/usergroups-endpoints.d.ts +2 -2
  27. package/dist/es/apis/usergroups-endpoints.js +4 -4
  28. package/dist/es/apis/users-endpoints.d.ts +3 -3
  29. package/dist/es/apis/users-endpoints.js +5 -5
  30. package/dist/es/apis/welcomebanner-endpoints.d.ts +1 -1
  31. package/dist/es/apis/welcomebanner-endpoints.js +3 -3
  32. package/dist/es/models/common/v1/config/Flag.d.ts +1 -1
  33. package/dist/es/models/common/v1/config/Flag.js +3 -3
  34. package/dist/es/models/common/v1/config/KVPair.d.ts +1 -1
  35. package/dist/es/models/common/v1/config/KVPair.js +3 -3
  36. package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
  37. package/dist/es/models/common/v1/config/MapOfStringWrapper.js +3 -3
  38. package/dist/es/models/common/v1/config/Message.d.ts +1 -1
  39. package/dist/es/models/common/v1/config/Message.js +3 -3
  40. package/dist/es/models/common/v1/config/MessageSeverity.js +2 -2
  41. package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +1 -1
  42. package/dist/es/models/common/v1/config/TenantAwareModel.js +3 -3
  43. package/dist/es/models/common/v1/response/ApiLink.d.ts +1 -1
  44. package/dist/es/models/common/v1/response/ApiLink.js +3 -3
  45. package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
  46. package/dist/es/models/common/v1/response/ApiResponseMetadata.js +3 -3
  47. package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
  48. package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
  49. package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
  50. package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.js +3 -3
  51. package/dist/es/models/iam/v4/authn/AlgoType.js +2 -2
  52. package/dist/es/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
  53. package/dist/es/models/iam/v4/authn/ApiKeyDetails.js +3 -3
  54. package/dist/es/models/iam/v4/authn/AuthMethodType.js +2 -2
  55. package/dist/es/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
  56. package/dist/es/models/iam/v4/authn/AuthenticationResponse.js +3 -3
  57. package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
  58. package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.js +3 -3
  59. package/dist/es/models/iam/v4/authn/AuthnMigrationType.js +2 -2
  60. package/dist/es/models/iam/v4/authn/BucketsAccessKey.d.ts +1 -1
  61. package/dist/es/models/iam/v4/authn/BucketsAccessKey.js +3 -3
  62. package/dist/es/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
  63. package/dist/es/models/iam/v4/authn/CertAuthProvider.d.ts +1 -1
  64. package/dist/es/models/iam/v4/authn/CertAuthProvider.js +3 -3
  65. package/dist/es/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
  66. package/dist/es/models/iam/v4/authn/CertRevocationInfo.js +3 -3
  67. package/dist/es/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
  68. package/dist/es/models/iam/v4/authn/CertificateLoginRequest.js +3 -3
  69. package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
  70. package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +3 -3
  71. package/dist/es/models/iam/v4/authn/ClaimsType.js +2 -2
  72. package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
  73. package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +3 -3
  74. package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
  75. package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +3 -3
  76. package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
  77. package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +3 -3
  78. package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
  79. package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.js +3 -3
  80. package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
  81. package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +3 -3
  82. package/dist/es/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
  83. package/dist/es/models/iam/v4/authn/CreateUserApiResponse.js +3 -3
  84. package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
  85. package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.js +3 -3
  86. package/dist/es/models/iam/v4/authn/CreationType.js +2 -2
  87. package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
  88. package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +3 -3
  89. package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
  90. package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +3 -3
  91. package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
  92. package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +3 -3
  93. package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
  94. package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.js +3 -3
  95. package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
  96. package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.js +3 -3
  97. package/dist/es/models/iam/v4/authn/DirectoryService.d.ts +1 -1
  98. package/dist/es/models/iam/v4/authn/DirectoryService.js +3 -3
  99. package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
  100. package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +3 -3
  101. package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
  102. package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +3 -3
  103. package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
  104. package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.js +3 -3
  105. package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
  106. package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.js +3 -3
  107. package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
  108. package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.js +3 -3
  109. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
  110. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +3 -3
  111. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +1 -1
  112. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.js +3 -3
  113. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
  114. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.js +3 -3
  115. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
  116. package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.js +3 -3
  117. package/dist/es/models/iam/v4/authn/DirectoryType.js +2 -2
  118. package/dist/es/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
  119. package/dist/es/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
  120. package/dist/es/models/iam/v4/authn/DsServiceAccount.js +3 -3
  121. package/dist/es/models/iam/v4/authn/Federation.d.ts +1 -1
  122. package/dist/es/models/iam/v4/authn/Federation.js +3 -3
  123. package/dist/es/models/iam/v4/authn/FederationClaims.d.ts +1 -1
  124. package/dist/es/models/iam/v4/authn/FederationClaims.js +3 -3
  125. package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
  126. package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +3 -3
  127. package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
  128. package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +3 -3
  129. package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
  130. package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +3 -3
  131. package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
  132. package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +3 -3
  133. package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
  134. package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +3 -3
  135. package/dist/es/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
  136. package/dist/es/models/iam/v4/authn/GetUserApiResponse.js +3 -3
  137. package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
  138. package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.js +3 -3
  139. package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
  140. package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.js +3 -3
  141. package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
  142. package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +3 -3
  143. package/dist/es/models/iam/v4/authn/GrantType.js +2 -2
  144. package/dist/es/models/iam/v4/authn/Group.d.ts +1 -1
  145. package/dist/es/models/iam/v4/authn/Group.js +3 -3
  146. package/dist/es/models/iam/v4/authn/GroupSearchType.js +2 -2
  147. package/dist/es/models/iam/v4/authn/GroupType.js +2 -2
  148. package/dist/es/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
  149. package/dist/es/models/iam/v4/authn/IdpMetadata.js +3 -3
  150. package/dist/es/models/iam/v4/authn/IdpType.js +2 -2
  151. package/dist/es/models/iam/v4/authn/Key.d.ts +1 -1
  152. package/dist/es/models/iam/v4/authn/Key.js +3 -3
  153. package/dist/es/models/iam/v4/authn/KeyKind.js +2 -2
  154. package/dist/es/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
  155. package/dist/es/models/iam/v4/authn/KeyMigrationSpec.js +3 -3
  156. package/dist/es/models/iam/v4/authn/KeyStatus.js +2 -2
  157. package/dist/es/models/iam/v4/authn/KeyType.js +2 -2
  158. package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
  159. package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +3 -3
  160. package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
  161. package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +3 -3
  162. package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
  163. package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.js +3 -3
  164. package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
  165. package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +3 -3
  166. package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
  167. package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.js +3 -3
  168. package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
  169. package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.js +3 -3
  170. package/dist/es/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
  171. package/dist/es/models/iam/v4/authn/ListUsersApiResponse.js +3 -3
  172. package/dist/es/models/iam/v4/authn/LoginProvider.d.ts +1 -1
  173. package/dist/es/models/iam/v4/authn/LoginProvider.js +3 -3
  174. package/dist/es/models/iam/v4/authn/LoginRequest.d.ts +1 -1
  175. package/dist/es/models/iam/v4/authn/LoginRequest.js +3 -3
  176. package/dist/es/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
  177. package/dist/es/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
  178. package/dist/es/models/iam/v4/authn/ObjectKeyDetails.js +3 -3
  179. package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
  180. package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.js +3 -3
  181. package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
  182. package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.js +3 -3
  183. package/dist/es/models/iam/v4/authn/OidcKey.d.ts +1 -1
  184. package/dist/es/models/iam/v4/authn/OidcKey.js +3 -3
  185. package/dist/es/models/iam/v4/authn/OidcSubjectType.js +2 -2
  186. package/dist/es/models/iam/v4/authn/OidcUserinfo.d.ts +12 -1
  187. package/dist/es/models/iam/v4/authn/OidcUserinfo.js +39 -3
  188. package/dist/es/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
  189. package/dist/es/models/iam/v4/authn/OpenLdapConfig.js +3 -3
  190. package/dist/es/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
  191. package/dist/es/models/iam/v4/authn/PasswordChangeRequest.js +3 -3
  192. package/dist/es/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
  193. package/dist/es/models/iam/v4/authn/PasswordChangeResponse.js +3 -3
  194. package/dist/es/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
  195. package/dist/es/models/iam/v4/authn/PasswordResetRequest.js +3 -3
  196. package/dist/es/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
  197. package/dist/es/models/iam/v4/authn/PasswordResetResponse.js +3 -3
  198. package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
  199. package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.js +3 -3
  200. package/dist/es/models/iam/v4/authn/ResponseType.js +2 -2
  201. package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
  202. package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.js +3 -3
  203. package/dist/es/models/iam/v4/authn/SamlIdentityProvider.d.ts +1 -1
  204. package/dist/es/models/iam/v4/authn/SamlIdentityProvider.js +3 -3
  205. package/dist/es/models/iam/v4/authn/Scope.js +2 -2
  206. package/dist/es/models/iam/v4/authn/ScopesType.js +2 -2
  207. package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
  208. package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +3 -3
  209. package/dist/es/models/iam/v4/authn/SigningAlgoType.js +2 -2
  210. package/dist/es/models/iam/v4/authn/SubjectType.js +2 -2
  211. package/dist/es/models/iam/v4/authn/SystemConfig.d.ts +1 -1
  212. package/dist/es/models/iam/v4/authn/SystemConfig.js +3 -3
  213. package/dist/es/models/iam/v4/authn/Tenant.d.ts +1 -1
  214. package/dist/es/models/iam/v4/authn/Tenant.js +3 -3
  215. package/dist/es/models/iam/v4/authn/TokenRequest.d.ts +3 -7
  216. package/dist/es/models/iam/v4/authn/TokenRequest.js +5 -10
  217. package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
  218. package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +3 -3
  219. package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
  220. package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +3 -3
  221. package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
  222. package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +3 -3
  223. package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
  224. package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.js +3 -3
  225. package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
  226. package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +3 -3
  227. package/dist/es/models/iam/v4/authn/UseType.js +2 -2
  228. package/dist/es/models/iam/v4/authn/User.d.ts +12 -1
  229. package/dist/es/models/iam/v4/authn/User.js +39 -3
  230. package/dist/es/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
  231. package/dist/es/models/iam/v4/authn/UserConfiguration.js +3 -3
  232. package/dist/es/models/iam/v4/authn/UserGroup.d.ts +1 -1
  233. package/dist/es/models/iam/v4/authn/UserGroup.js +3 -3
  234. package/dist/es/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
  235. package/dist/es/models/iam/v4/authn/UserGroupConfiguration.js +3 -3
  236. package/dist/es/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
  237. package/dist/es/models/iam/v4/authn/UserStateUpdate.js +3 -3
  238. package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
  239. package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.js +3 -3
  240. package/dist/es/models/iam/v4/authn/UserStatusType.js +2 -2
  241. package/dist/es/models/iam/v4/authn/UserType.js +2 -2
  242. package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
  243. package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.js +3 -3
  244. package/dist/es/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
  245. package/dist/es/models/iam/v4/authn/WelcomeBanner.js +3 -3
  246. package/dist/es/models/iam/v4/authz/ApiVersion.js +2 -2
  247. package/dist/es/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
  248. package/dist/es/models/iam/v4/authz/AssociatedEndpoint.js +3 -3
  249. package/dist/es/models/iam/v4/authz/AttributeEntity.d.ts +1 -1
  250. package/dist/es/models/iam/v4/authz/AttributeEntity.js +3 -3
  251. package/dist/es/models/iam/v4/authz/AuthorizationPolicy.d.ts +1 -1
  252. package/dist/es/models/iam/v4/authz/AuthorizationPolicy.js +3 -3
  253. package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
  254. package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.js +3 -3
  255. package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
  256. package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.js +3 -3
  257. package/dist/es/models/iam/v4/authz/AuthorizationPolicyType.js +2 -2
  258. package/dist/es/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
  259. package/dist/es/models/iam/v4/authz/AuthorizationRequest.js +3 -3
  260. package/dist/es/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
  261. package/dist/es/models/iam/v4/authz/AuthorizationResponse.js +3 -3
  262. package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.d.ts +1 -1
  263. package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.js +3 -3
  264. package/dist/es/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
  265. package/dist/es/models/iam/v4/authz/AuthorizeEntity.js +3 -3
  266. package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.d.ts +1 -1
  267. package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.js +3 -3
  268. package/dist/es/models/iam/v4/authz/AuthzMigrationType.js +2 -2
  269. package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +1 -1
  270. package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.js +3 -3
  271. package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
  272. package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +3 -3
  273. package/dist/es/models/iam/v4/authz/BaseRole.d.ts +1 -1
  274. package/dist/es/models/iam/v4/authz/BaseRole.js +3 -3
  275. package/dist/es/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
  276. package/dist/es/models/iam/v4/authz/BaseRoleProjection.js +3 -3
  277. package/dist/es/models/iam/v4/authz/Client.d.ts +1 -1
  278. package/dist/es/models/iam/v4/authz/Client.js +3 -3
  279. package/dist/es/models/iam/v4/authz/ClientConfig.d.ts +1 -1
  280. package/dist/es/models/iam/v4/authz/ClientConfig.js +3 -3
  281. package/dist/es/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
  282. package/dist/es/models/iam/v4/authz/ConfigChangeset.js +3 -3
  283. package/dist/es/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
  284. package/dist/es/models/iam/v4/authz/ConfigChangesetData.js +3 -3
  285. package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
  286. package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.js +3 -3
  287. package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
  288. package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.js +3 -3
  289. package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
  290. package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.js +3 -3
  291. package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
  292. package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.js +3 -3
  293. package/dist/es/models/iam/v4/authz/ConfigType.js +2 -2
  294. package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +1 -1
  295. package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +3 -3
  296. package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.d.ts +1 -1
  297. package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.js +3 -3
  298. package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
  299. package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +3 -3
  300. package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
  301. package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.js +3 -3
  302. package/dist/es/models/iam/v4/authz/Entity.d.ts +1 -1
  303. package/dist/es/models/iam/v4/authz/Entity.js +3 -3
  304. package/dist/es/models/iam/v4/authz/EntityConfig.d.ts +1 -1
  305. package/dist/es/models/iam/v4/authz/EntityConfig.js +3 -3
  306. package/dist/es/models/iam/v4/authz/EntityFilter.d.ts +1 -1
  307. package/dist/es/models/iam/v4/authz/EntityFilter.js +3 -3
  308. package/dist/es/models/iam/v4/authz/EntityOperators.js +2 -2
  309. package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +1 -1
  310. package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +3 -3
  311. package/dist/es/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
  312. package/dist/es/models/iam/v4/authz/GetClientApiResponse.js +3 -3
  313. package/dist/es/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
  314. package/dist/es/models/iam/v4/authz/GetEntityApiResponse.js +3 -3
  315. package/dist/es/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
  316. package/dist/es/models/iam/v4/authz/GetOperationApiResponse.js +3 -3
  317. package/dist/es/models/iam/v4/authz/GetRoleApiResponse.d.ts +1 -1
  318. package/dist/es/models/iam/v4/authz/GetRoleApiResponse.js +3 -3
  319. package/dist/es/models/iam/v4/authz/HttpMethod.js +2 -2
  320. package/dist/es/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
  321. package/dist/es/models/iam/v4/authz/IdentityFilter.js +3 -3
  322. package/dist/es/models/iam/v4/authz/IdentityObject.d.ts +1 -1
  323. package/dist/es/models/iam/v4/authz/IdentityObject.js +3 -3
  324. package/dist/es/models/iam/v4/authz/IdentityType.js +2 -2
  325. package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
  326. package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +3 -3
  327. package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
  328. package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.js +3 -3
  329. package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
  330. package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.js +3 -3
  331. package/dist/es/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
  332. package/dist/es/models/iam/v4/authz/ListRolesApiResponse.js +3 -3
  333. package/dist/es/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
  334. package/dist/es/models/iam/v4/authz/MigrateRoleSpec.js +3 -3
  335. package/dist/es/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
  336. package/dist/es/models/iam/v4/authz/MigrationActionNotes.js +3 -3
  337. package/dist/es/models/iam/v4/authz/Operation.d.ts +1 -1
  338. package/dist/es/models/iam/v4/authz/Operation.js +3 -3
  339. package/dist/es/models/iam/v4/authz/OperationConfig.d.ts +1 -1
  340. package/dist/es/models/iam/v4/authz/OperationConfig.js +3 -3
  341. package/dist/es/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
  342. package/dist/es/models/iam/v4/authz/OperationType.js +2 -2
  343. package/dist/es/models/iam/v4/authz/RequestObject.d.ts +1 -1
  344. package/dist/es/models/iam/v4/authz/RequestObject.js +3 -3
  345. package/dist/es/models/iam/v4/authz/ResponseType.js +2 -2
  346. package/dist/es/models/iam/v4/authz/Role.d.ts +1 -1
  347. package/dist/es/models/iam/v4/authz/Role.js +3 -3
  348. package/dist/es/models/iam/v4/authz/RoleConfig.d.ts +1 -1
  349. package/dist/es/models/iam/v4/authz/RoleConfig.js +3 -3
  350. package/dist/es/models/iam/v4/authz/RoleProjection.d.ts +1 -1
  351. package/dist/es/models/iam/v4/authz/RoleProjection.js +3 -3
  352. package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
  353. package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +3 -3
  354. package/dist/es/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
  355. package/dist/es/models/iam/v4/authz/SeedConfigEntityList.js +3 -3
  356. package/dist/es/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
  357. package/dist/es/models/iam/v4/authz/SeedConfigOperationList.js +3 -3
  358. package/dist/es/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
  359. package/dist/es/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
  360. package/dist/es/models/iam/v4/authz/SeedConfigRequest.js +3 -3
  361. package/dist/es/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
  362. package/dist/es/models/iam/v4/authz/SeedConfigRoleList.js +3 -3
  363. package/dist/es/models/iam/v4/authz/SeedConfigType.js +2 -2
  364. package/dist/es/models/iam/v4/authz/Tenant.d.ts +1 -1
  365. package/dist/es/models/iam/v4/authz/Tenant.js +3 -3
  366. package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
  367. package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +3 -3
  368. package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
  369. package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.js +3 -3
  370. package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
  371. package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.js +3 -3
  372. package/dist/es/models/iam/v4/authz/UserRole.d.ts +1 -1
  373. package/dist/es/models/iam/v4/authz/UserRole.js +3 -3
  374. package/dist/es/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
  375. package/dist/es/models/iam/v4/authz/UserRoleProjection.js +3 -3
  376. package/dist/es/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
  377. package/dist/es/models/iam/v4/common/ActionBaseResponse.js +3 -3
  378. package/dist/es/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
  379. package/dist/es/models/iam/v4/common/SchemaValidationError.js +3 -3
  380. package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
  381. package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.js +3 -3
  382. package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
  383. package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.js +3 -3
  384. package/dist/es/models/iam/v4/common/SortOrderType.js +2 -2
  385. package/dist/es/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
  386. package/dist/es/models/iam/v4/common/ValidationErrorMessage.js +3 -3
  387. package/dist/es/models/iam/v4/error/AppMessage.d.ts +1 -1
  388. package/dist/es/models/iam/v4/error/AppMessage.js +3 -3
  389. package/dist/es/models/iam/v4/error/ErrorResponse.d.ts +1 -1
  390. package/dist/es/models/iam/v4/error/ErrorResponse.js +3 -3
  391. package/dist/es/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
  392. package/dist/es/models/iam/v4/error/SchemaValidationError.js +3 -3
  393. package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
  394. package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.js +3 -3
  395. package/dist/es/models/iam/v4/tenant/Tenant.d.ts +1 -1
  396. package/dist/es/models/iam/v4/tenant/Tenant.js +3 -3
  397. package/dist/es/models/validation/ValidationError.js +2 -2
  398. package/dist/es/utils/ValidationUtils.js +2 -2
  399. package/dist/lib/ApiClient.d.ts +1 -1
  400. package/dist/lib/ApiClient.js +4 -4
  401. package/dist/lib/Paginable.d.ts +1 -1
  402. package/dist/lib/Paginable.js +3 -3
  403. package/dist/lib/apis/authorizationpolicies-endpoints.d.ts +2 -2
  404. package/dist/lib/apis/authorizationpolicies-endpoints.js +4 -4
  405. package/dist/lib/apis/certificateauthenticationproviders-endpoints.d.ts +2 -2
  406. package/dist/lib/apis/certificateauthenticationproviders-endpoints.js +4 -4
  407. package/dist/lib/apis/clients-endpoints.d.ts +1 -1
  408. package/dist/lib/apis/clients-endpoints.js +3 -3
  409. package/dist/lib/apis/directoryservices-endpoints.d.ts +2 -2
  410. package/dist/lib/apis/directoryservices-endpoints.js +4 -4
  411. package/dist/lib/apis/entities-endpoints.d.ts +2 -2
  412. package/dist/lib/apis/entities-endpoints.js +4 -4
  413. package/dist/lib/apis/loginproviders-endpoints.d.ts +2 -2
  414. package/dist/lib/apis/loginproviders-endpoints.js +4 -4
  415. package/dist/lib/apis/operations-endpoints.d.ts +2 -2
  416. package/dist/lib/apis/operations-endpoints.js +4 -4
  417. package/dist/lib/apis/roles-endpoints.d.ts +2 -2
  418. package/dist/lib/apis/roles-endpoints.js +4 -4
  419. package/dist/lib/apis/samlidentityproviders-endpoints.d.ts +2 -2
  420. package/dist/lib/apis/samlidentityproviders-endpoints.js +4 -4
  421. package/dist/lib/apis/usergroups-endpoints.d.ts +2 -2
  422. package/dist/lib/apis/usergroups-endpoints.js +4 -4
  423. package/dist/lib/apis/users-endpoints.d.ts +3 -3
  424. package/dist/lib/apis/users-endpoints.js +5 -5
  425. package/dist/lib/apis/welcomebanner-endpoints.d.ts +1 -1
  426. package/dist/lib/apis/welcomebanner-endpoints.js +3 -3
  427. package/dist/lib/models/common/v1/config/Flag.d.ts +1 -1
  428. package/dist/lib/models/common/v1/config/Flag.js +3 -3
  429. package/dist/lib/models/common/v1/config/KVPair.d.ts +1 -1
  430. package/dist/lib/models/common/v1/config/KVPair.js +3 -3
  431. package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
  432. package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +3 -3
  433. package/dist/lib/models/common/v1/config/Message.d.ts +1 -1
  434. package/dist/lib/models/common/v1/config/Message.js +3 -3
  435. package/dist/lib/models/common/v1/config/MessageSeverity.js +2 -2
  436. package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +1 -1
  437. package/dist/lib/models/common/v1/config/TenantAwareModel.js +3 -3
  438. package/dist/lib/models/common/v1/response/ApiLink.d.ts +1 -1
  439. package/dist/lib/models/common/v1/response/ApiLink.js +3 -3
  440. package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
  441. package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +3 -3
  442. package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
  443. package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
  444. package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
  445. package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.js +3 -3
  446. package/dist/lib/models/iam/v4/authn/AlgoType.js +2 -2
  447. package/dist/lib/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
  448. package/dist/lib/models/iam/v4/authn/ApiKeyDetails.js +3 -3
  449. package/dist/lib/models/iam/v4/authn/AuthMethodType.js +2 -2
  450. package/dist/lib/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
  451. package/dist/lib/models/iam/v4/authn/AuthenticationResponse.js +3 -3
  452. package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
  453. package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.js +3 -3
  454. package/dist/lib/models/iam/v4/authn/AuthnMigrationType.js +2 -2
  455. package/dist/lib/models/iam/v4/authn/BucketsAccessKey.d.ts +1 -1
  456. package/dist/lib/models/iam/v4/authn/BucketsAccessKey.js +3 -3
  457. package/dist/lib/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
  458. package/dist/lib/models/iam/v4/authn/CertAuthProvider.d.ts +1 -1
  459. package/dist/lib/models/iam/v4/authn/CertAuthProvider.js +3 -3
  460. package/dist/lib/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
  461. package/dist/lib/models/iam/v4/authn/CertRevocationInfo.js +3 -3
  462. package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
  463. package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.js +3 -3
  464. package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
  465. package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +3 -3
  466. package/dist/lib/models/iam/v4/authn/ClaimsType.js +2 -2
  467. package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
  468. package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +3 -3
  469. package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
  470. package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +3 -3
  471. package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
  472. package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +3 -3
  473. package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
  474. package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.js +3 -3
  475. package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
  476. package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +3 -3
  477. package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
  478. package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.js +3 -3
  479. package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
  480. package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.js +3 -3
  481. package/dist/lib/models/iam/v4/authn/CreationType.js +2 -2
  482. package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
  483. package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +3 -3
  484. package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
  485. package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +3 -3
  486. package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
  487. package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +3 -3
  488. package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
  489. package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.js +3 -3
  490. package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
  491. package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.js +3 -3
  492. package/dist/lib/models/iam/v4/authn/DirectoryService.d.ts +1 -1
  493. package/dist/lib/models/iam/v4/authn/DirectoryService.js +3 -3
  494. package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
  495. package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +3 -3
  496. package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
  497. package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +3 -3
  498. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
  499. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.js +3 -3
  500. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
  501. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.js +3 -3
  502. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
  503. package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.js +3 -3
  504. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
  505. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +3 -3
  506. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +1 -1
  507. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.js +3 -3
  508. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
  509. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.js +3 -3
  510. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
  511. package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.js +3 -3
  512. package/dist/lib/models/iam/v4/authn/DirectoryType.js +2 -2
  513. package/dist/lib/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
  514. package/dist/lib/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
  515. package/dist/lib/models/iam/v4/authn/DsServiceAccount.js +3 -3
  516. package/dist/lib/models/iam/v4/authn/Federation.d.ts +1 -1
  517. package/dist/lib/models/iam/v4/authn/Federation.js +3 -3
  518. package/dist/lib/models/iam/v4/authn/FederationClaims.d.ts +1 -1
  519. package/dist/lib/models/iam/v4/authn/FederationClaims.js +3 -3
  520. package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
  521. package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +3 -3
  522. package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
  523. package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +3 -3
  524. package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
  525. package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +3 -3
  526. package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
  527. package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +3 -3
  528. package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
  529. package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +3 -3
  530. package/dist/lib/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
  531. package/dist/lib/models/iam/v4/authn/GetUserApiResponse.js +3 -3
  532. package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
  533. package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.js +3 -3
  534. package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
  535. package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.js +3 -3
  536. package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
  537. package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +3 -3
  538. package/dist/lib/models/iam/v4/authn/GrantType.js +2 -2
  539. package/dist/lib/models/iam/v4/authn/Group.d.ts +1 -1
  540. package/dist/lib/models/iam/v4/authn/Group.js +3 -3
  541. package/dist/lib/models/iam/v4/authn/GroupSearchType.js +2 -2
  542. package/dist/lib/models/iam/v4/authn/GroupType.js +2 -2
  543. package/dist/lib/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
  544. package/dist/lib/models/iam/v4/authn/IdpMetadata.js +3 -3
  545. package/dist/lib/models/iam/v4/authn/IdpType.js +2 -2
  546. package/dist/lib/models/iam/v4/authn/Key.d.ts +1 -1
  547. package/dist/lib/models/iam/v4/authn/Key.js +3 -3
  548. package/dist/lib/models/iam/v4/authn/KeyKind.js +2 -2
  549. package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
  550. package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.js +3 -3
  551. package/dist/lib/models/iam/v4/authn/KeyStatus.js +2 -2
  552. package/dist/lib/models/iam/v4/authn/KeyType.js +2 -2
  553. package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
  554. package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +3 -3
  555. package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
  556. package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +3 -3
  557. package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
  558. package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.js +3 -3
  559. package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
  560. package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +3 -3
  561. package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
  562. package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.js +3 -3
  563. package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
  564. package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.js +3 -3
  565. package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
  566. package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.js +3 -3
  567. package/dist/lib/models/iam/v4/authn/LoginProvider.d.ts +1 -1
  568. package/dist/lib/models/iam/v4/authn/LoginProvider.js +3 -3
  569. package/dist/lib/models/iam/v4/authn/LoginRequest.d.ts +1 -1
  570. package/dist/lib/models/iam/v4/authn/LoginRequest.js +3 -3
  571. package/dist/lib/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
  572. package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
  573. package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.js +3 -3
  574. package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
  575. package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.js +3 -3
  576. package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
  577. package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.js +3 -3
  578. package/dist/lib/models/iam/v4/authn/OidcKey.d.ts +1 -1
  579. package/dist/lib/models/iam/v4/authn/OidcKey.js +3 -3
  580. package/dist/lib/models/iam/v4/authn/OidcSubjectType.js +2 -2
  581. package/dist/lib/models/iam/v4/authn/OidcUserinfo.d.ts +12 -1
  582. package/dist/lib/models/iam/v4/authn/OidcUserinfo.js +39 -3
  583. package/dist/lib/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
  584. package/dist/lib/models/iam/v4/authn/OpenLdapConfig.js +3 -3
  585. package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
  586. package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.js +3 -3
  587. package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
  588. package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.js +3 -3
  589. package/dist/lib/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
  590. package/dist/lib/models/iam/v4/authn/PasswordResetRequest.js +3 -3
  591. package/dist/lib/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
  592. package/dist/lib/models/iam/v4/authn/PasswordResetResponse.js +3 -3
  593. package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
  594. package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.js +3 -3
  595. package/dist/lib/models/iam/v4/authn/ResponseType.js +2 -2
  596. package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
  597. package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.js +3 -3
  598. package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.d.ts +1 -1
  599. package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.js +3 -3
  600. package/dist/lib/models/iam/v4/authn/Scope.js +2 -2
  601. package/dist/lib/models/iam/v4/authn/ScopesType.js +2 -2
  602. package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
  603. package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +3 -3
  604. package/dist/lib/models/iam/v4/authn/SigningAlgoType.js +2 -2
  605. package/dist/lib/models/iam/v4/authn/SubjectType.js +2 -2
  606. package/dist/lib/models/iam/v4/authn/SystemConfig.d.ts +1 -1
  607. package/dist/lib/models/iam/v4/authn/SystemConfig.js +3 -3
  608. package/dist/lib/models/iam/v4/authn/Tenant.d.ts +1 -1
  609. package/dist/lib/models/iam/v4/authn/Tenant.js +3 -3
  610. package/dist/lib/models/iam/v4/authn/TokenRequest.d.ts +3 -7
  611. package/dist/lib/models/iam/v4/authn/TokenRequest.js +5 -10
  612. package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
  613. package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +3 -3
  614. package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
  615. package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +3 -3
  616. package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
  617. package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +3 -3
  618. package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
  619. package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.js +3 -3
  620. package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
  621. package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +3 -3
  622. package/dist/lib/models/iam/v4/authn/UseType.js +2 -2
  623. package/dist/lib/models/iam/v4/authn/User.d.ts +12 -1
  624. package/dist/lib/models/iam/v4/authn/User.js +39 -3
  625. package/dist/lib/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
  626. package/dist/lib/models/iam/v4/authn/UserConfiguration.js +3 -3
  627. package/dist/lib/models/iam/v4/authn/UserGroup.d.ts +1 -1
  628. package/dist/lib/models/iam/v4/authn/UserGroup.js +3 -3
  629. package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
  630. package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.js +3 -3
  631. package/dist/lib/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
  632. package/dist/lib/models/iam/v4/authn/UserStateUpdate.js +3 -3
  633. package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
  634. package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.js +3 -3
  635. package/dist/lib/models/iam/v4/authn/UserStatusType.js +2 -2
  636. package/dist/lib/models/iam/v4/authn/UserType.js +2 -2
  637. package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
  638. package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.js +3 -3
  639. package/dist/lib/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
  640. package/dist/lib/models/iam/v4/authn/WelcomeBanner.js +3 -3
  641. package/dist/lib/models/iam/v4/authz/ApiVersion.js +2 -2
  642. package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
  643. package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.js +3 -3
  644. package/dist/lib/models/iam/v4/authz/AttributeEntity.d.ts +1 -1
  645. package/dist/lib/models/iam/v4/authz/AttributeEntity.js +3 -3
  646. package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.d.ts +1 -1
  647. package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.js +3 -3
  648. package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
  649. package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.js +3 -3
  650. package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
  651. package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.js +3 -3
  652. package/dist/lib/models/iam/v4/authz/AuthorizationPolicyType.js +2 -2
  653. package/dist/lib/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
  654. package/dist/lib/models/iam/v4/authz/AuthorizationRequest.js +3 -3
  655. package/dist/lib/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
  656. package/dist/lib/models/iam/v4/authz/AuthorizationResponse.js +3 -3
  657. package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.d.ts +1 -1
  658. package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.js +3 -3
  659. package/dist/lib/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
  660. package/dist/lib/models/iam/v4/authz/AuthorizeEntity.js +3 -3
  661. package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.d.ts +1 -1
  662. package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.js +3 -3
  663. package/dist/lib/models/iam/v4/authz/AuthzMigrationType.js +2 -2
  664. package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +1 -1
  665. package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.js +3 -3
  666. package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
  667. package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +3 -3
  668. package/dist/lib/models/iam/v4/authz/BaseRole.d.ts +1 -1
  669. package/dist/lib/models/iam/v4/authz/BaseRole.js +3 -3
  670. package/dist/lib/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
  671. package/dist/lib/models/iam/v4/authz/BaseRoleProjection.js +3 -3
  672. package/dist/lib/models/iam/v4/authz/Client.d.ts +1 -1
  673. package/dist/lib/models/iam/v4/authz/Client.js +3 -3
  674. package/dist/lib/models/iam/v4/authz/ClientConfig.d.ts +1 -1
  675. package/dist/lib/models/iam/v4/authz/ClientConfig.js +3 -3
  676. package/dist/lib/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
  677. package/dist/lib/models/iam/v4/authz/ConfigChangeset.js +3 -3
  678. package/dist/lib/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
  679. package/dist/lib/models/iam/v4/authz/ConfigChangesetData.js +3 -3
  680. package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
  681. package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.js +3 -3
  682. package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
  683. package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.js +3 -3
  684. package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
  685. package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.js +3 -3
  686. package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
  687. package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.js +3 -3
  688. package/dist/lib/models/iam/v4/authz/ConfigType.js +2 -2
  689. package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +1 -1
  690. package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +3 -3
  691. package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.d.ts +1 -1
  692. package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.js +3 -3
  693. package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
  694. package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +3 -3
  695. package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
  696. package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.js +3 -3
  697. package/dist/lib/models/iam/v4/authz/Entity.d.ts +1 -1
  698. package/dist/lib/models/iam/v4/authz/Entity.js +3 -3
  699. package/dist/lib/models/iam/v4/authz/EntityConfig.d.ts +1 -1
  700. package/dist/lib/models/iam/v4/authz/EntityConfig.js +3 -3
  701. package/dist/lib/models/iam/v4/authz/EntityFilter.d.ts +1 -1
  702. package/dist/lib/models/iam/v4/authz/EntityFilter.js +3 -3
  703. package/dist/lib/models/iam/v4/authz/EntityOperators.js +2 -2
  704. package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +1 -1
  705. package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +3 -3
  706. package/dist/lib/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
  707. package/dist/lib/models/iam/v4/authz/GetClientApiResponse.js +3 -3
  708. package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
  709. package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.js +3 -3
  710. package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
  711. package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.js +3 -3
  712. package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.d.ts +1 -1
  713. package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.js +3 -3
  714. package/dist/lib/models/iam/v4/authz/HttpMethod.js +2 -2
  715. package/dist/lib/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
  716. package/dist/lib/models/iam/v4/authz/IdentityFilter.js +3 -3
  717. package/dist/lib/models/iam/v4/authz/IdentityObject.d.ts +1 -1
  718. package/dist/lib/models/iam/v4/authz/IdentityObject.js +3 -3
  719. package/dist/lib/models/iam/v4/authz/IdentityType.js +2 -2
  720. package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
  721. package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +3 -3
  722. package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
  723. package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.js +3 -3
  724. package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
  725. package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.js +3 -3
  726. package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
  727. package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.js +3 -3
  728. package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
  729. package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.js +3 -3
  730. package/dist/lib/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
  731. package/dist/lib/models/iam/v4/authz/MigrationActionNotes.js +3 -3
  732. package/dist/lib/models/iam/v4/authz/Operation.d.ts +1 -1
  733. package/dist/lib/models/iam/v4/authz/Operation.js +3 -3
  734. package/dist/lib/models/iam/v4/authz/OperationConfig.d.ts +1 -1
  735. package/dist/lib/models/iam/v4/authz/OperationConfig.js +3 -3
  736. package/dist/lib/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
  737. package/dist/lib/models/iam/v4/authz/OperationType.js +2 -2
  738. package/dist/lib/models/iam/v4/authz/RequestObject.d.ts +1 -1
  739. package/dist/lib/models/iam/v4/authz/RequestObject.js +3 -3
  740. package/dist/lib/models/iam/v4/authz/ResponseType.js +2 -2
  741. package/dist/lib/models/iam/v4/authz/Role.d.ts +1 -1
  742. package/dist/lib/models/iam/v4/authz/Role.js +3 -3
  743. package/dist/lib/models/iam/v4/authz/RoleConfig.d.ts +1 -1
  744. package/dist/lib/models/iam/v4/authz/RoleConfig.js +3 -3
  745. package/dist/lib/models/iam/v4/authz/RoleProjection.d.ts +1 -1
  746. package/dist/lib/models/iam/v4/authz/RoleProjection.js +3 -3
  747. package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
  748. package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +3 -3
  749. package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
  750. package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.js +3 -3
  751. package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
  752. package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.js +3 -3
  753. package/dist/lib/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
  754. package/dist/lib/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
  755. package/dist/lib/models/iam/v4/authz/SeedConfigRequest.js +3 -3
  756. package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
  757. package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.js +3 -3
  758. package/dist/lib/models/iam/v4/authz/SeedConfigType.js +2 -2
  759. package/dist/lib/models/iam/v4/authz/Tenant.d.ts +1 -1
  760. package/dist/lib/models/iam/v4/authz/Tenant.js +3 -3
  761. package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
  762. package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +3 -3
  763. package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
  764. package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.js +3 -3
  765. package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
  766. package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.js +3 -3
  767. package/dist/lib/models/iam/v4/authz/UserRole.d.ts +1 -1
  768. package/dist/lib/models/iam/v4/authz/UserRole.js +3 -3
  769. package/dist/lib/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
  770. package/dist/lib/models/iam/v4/authz/UserRoleProjection.js +3 -3
  771. package/dist/lib/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
  772. package/dist/lib/models/iam/v4/common/ActionBaseResponse.js +3 -3
  773. package/dist/lib/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
  774. package/dist/lib/models/iam/v4/common/SchemaValidationError.js +3 -3
  775. package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
  776. package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.js +3 -3
  777. package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
  778. package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.js +3 -3
  779. package/dist/lib/models/iam/v4/common/SortOrderType.js +2 -2
  780. package/dist/lib/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
  781. package/dist/lib/models/iam/v4/common/ValidationErrorMessage.js +3 -3
  782. package/dist/lib/models/iam/v4/error/AppMessage.d.ts +1 -1
  783. package/dist/lib/models/iam/v4/error/AppMessage.js +3 -3
  784. package/dist/lib/models/iam/v4/error/ErrorResponse.d.ts +1 -1
  785. package/dist/lib/models/iam/v4/error/ErrorResponse.js +3 -3
  786. package/dist/lib/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
  787. package/dist/lib/models/iam/v4/error/SchemaValidationError.js +3 -3
  788. package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
  789. package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.js +3 -3
  790. package/dist/lib/models/iam/v4/tenant/Tenant.d.ts +1 -1
  791. package/dist/lib/models/iam/v4/tenant/Tenant.js +3 -3
  792. package/dist/lib/models/validation/ValidationError.js +2 -2
  793. package/dist/lib/utils/ValidationUtils.js +2 -2
  794. package/package.json +1 -1
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Iam=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={19(e,t,n){"use strict";var i=n(897);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},340(e){e.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,u){var h;if(l+=1,"object"==typeof e&&null!==e){for(h=0;h<r.length;h++)if(r[h]===e)return void a(n,e,i,o);if(void 0!==u.depthLimit&&l>u.depthLimit)return void a(t,e,i,o);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(h=0;h<e.length;h++)d(e[h],h,h,r,e,l,u);else{var c=Object.keys(e);for(h=0;h<c.length;h++){var p=c[h];d(e[p],p,h,r,e,l,u)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,o){void 0===o&&(o=r());var a,d=h(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function h(e,s,r,o,d,u,c){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&u>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)h(e[p],p,p,o,e,u,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];h(e[v],v,p,o,e,u,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},545(){},548(){},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var r=n(960),o=n(340),a=n(695),d=n(388),l=n(19),u=n(619);function h(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var c=t=e.exports;t.Request=$,c.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!d(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){g(e,t,n)});else if(d(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&g(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function m(e){return/[/+]json($|[^-\w])/.test(e)}function w(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),o[i]=s);return o}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function $(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new w(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function f(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=y,c.parseString=v,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":y,"application/json":o},c.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},l(w.prototype),w.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&m(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},w.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},c.Response=w,r($.prototype),a($.prototype),$.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},$.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},$.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},$.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},$.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},$.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},$.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},$.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},$.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},$.prototype.ca=$.prototype.agent,$.prototype.buffer=$.prototype.ca,$.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},$.prototype.pipe=$.prototype.write,$.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},$.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||h,this._finalizeQueryString(),this._end()},$.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},$.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=c.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var s=this._header["content-type"],r=this._serializer||c.serialize[s?s.split(";")[0]:""];!r&&m(s)&&(r=c.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},c.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=f,c.delete=f,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},r.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},r.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&s(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},784(e,t,n){"use strict";var i="win32"===process.platform,s=n(818);function r(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}return n}function o(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,d=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=d.exec(i);return[n,s[1],s[2],s[3]]}function h(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function c(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var o;if(i>=0?o=arguments[i]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!s.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=h(o),d=a.device,l=a.isUnc,u=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=u),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=r(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=h(e),n=t.device,i=t.isUnc,s=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=r(o.split(/[\\\/]+/),!s).join("\\"))||s||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(s?"\\":"")+o},l.isAbsolute=function(e){return h(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),l.normalize(i)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=o(t.split("\\")),r=o(n.split("\\")),a=o(i.split("\\")),d=Math.min(r.length,a.length),u=d,h=0;h<d;h++)if(r[h]!==a[h]){u=h;break}if(0==u)return t;var c=[];for(h=u;h<r.length;h++)c.push("..");return(c=c.concat(s.slice(u))).join("\\")},l._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return u(e)[3]},l.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===l.sep?n+i:n+l.sep+i:i},l.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=u(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!s.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=r(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=r(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=o(e.split("/")),i=o(t.split("/")),s=Math.min(n.length,i.length),r=s,a=0;a<s;a++)if(n[a]!==i[a]){r=a;break}var d=[];for(a=r;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(r))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},y.sep="/",y.delimiter=":",e.exports=i?l:y,e.exports.posix=y,e.exports.win32=l},799(){},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!$(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var $,k="",j=!1,F=["{","}"];return c(n)&&(j=!0,F=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(k=" "+RegExp.prototype.toString.call(n)),f(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==o.length||j&&0!=n.length?i<0?w(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),$=j?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(h(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(h(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return h(e,n,i,a,t,j)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}($,k,F)):F[0]+k+F[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function w(e){return $(e)&&"[object RegExp]"===k(e)}function $(e){return"object"==typeof e&&null!==e}function f(e){return $(e)&&"[object Date]"===k(e)}function b(e){return $(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function j(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=w,t.isObject=$,t.isDate=f,t.isError=b,t.isFunction=T,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[j((e=new Date).getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":"),[e.getDate(),F[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!$(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var s=(n=n.slice(0)).length;i<s;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},965(){}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>xu});var e,t=n(585),s=n.n(t);class r{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new r,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=de.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}r.prototype.linkFirst=null,r.prototype.linkPrev=null,r.prototype.linkNext=null,r.prototype.linkLast=null,r.prototype.apiClient=null,r.prototype.page=null,r.prototype.resultsPerPage=null,r.prototype.resultsTotal=null;var o=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}const d=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var l=[],u=0;u<256;++u)l.push((u+256).toString(16).substr(1));const h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&d.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},c=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return h(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),m=n(799),w=n.n(m),$=n(784),f=n.n($),b=n(548);const T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const k=T;class j{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class F{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var O=new WeakSet;class E{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=O),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new E,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function C(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}E.prototype.name=void 0,E.prototype.value=!1,E.prototype.$reserved=void 0,E.prototype.$objectType=void 0,E.prototype.$unknownFields=void 0;var U=new WeakSet;class P{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=U),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new P,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(U,this,A).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(U,this,A).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("map","undefined or null")}}function A(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function I(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}P.prototype.map=void 0,P.prototype.$reserved=void 0,P.prototype.$objectType=void 0,P.prototype.$unknownFields=void 0;var D=new WeakSet;class N{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=D),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new N,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=P.constructFromObject(i[r],void 0),o.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(o)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)));break;default:throw"Unknown datatype "+a+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):I(D,this,R).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):I(D,this,R).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function R(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}N.prototype.name=void 0,N.prototype.value=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;const S={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(S).find(t=>S[t]===e);return null==t?S.$UNKNOWN:S[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case S.$UNKNOWN:case S.$REDACTED:case S.INFO:case S.WARNING:case S.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(S);const L=S;var M=new WeakSet;class x{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=M),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new x,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("severity","undefined or null"):new F("locale","undefined or null"):new F("message","undefined or null"):new F("code","undefined or null")}}x.prototype.code=void 0,x.prototype.message=void 0,x.prototype.locale="en_US",x.prototype.severity=void 0,x.prototype.$reserved=void 0,x.prototype.$objectType=void 0,x.prototype.$unknownFields=void 0;var J=new WeakSet;class _{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=J),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("rel","undefined or null"):new F("href","undefined or null")}}_.prototype.href=void 0,_.prototype.rel=void 0,_.prototype.$reserved=void 0,_.prototype.$objectType=void 0,_.prototype.$unknownFields=void 0;var K,W=new WeakSet;class q{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=W),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new q,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=E.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(o=[],i=e.messages,r=0;r<i.length;r++)s=x.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new F("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new F("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new F("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new F("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new F("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new F("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new F("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function B(e,t,n){z(e,t),t.set(e,n)}function z(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function G(e,t){return e.get(H(e,t))}function V(e,t,n){return e.set(H(e,t),n),n}function H(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}q.prototype.flags=void 0,q.prototype.links=void 0,q.prototype.totalAvailableResults=void 0,q.prototype.messages=void 0,q.prototype.extraInfo=void 0,q.prototype.$reserved=void 0,q.prototype.$objectType=void 0,q.prototype.$unknownFields=void 0,y()(s());var X=new WeakMap,Y=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakSet;class de{constructor(){var e;z(this,e=ae),e.add(this),B(this,X,void 0),B(this,Y,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,se,void 0),B(this,re,void 0),B(this,oe,void 0),V(oe,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",V(ie,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},V(ee,this,3e4),V(te,this,3e4),V(ne,this,108e5),this.readTimeout=G(te,this),this.connectTimeout=G(ee,this),this.cache=!0,V(Y,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(s().agent)),this.requestAgent=null,V(re,this,null),this.allowVersionNegotiation=!0,V(se,this,!1),this.debug=!1,V(Z,this,null),this.username=null,this.password=null,V(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),V(Q,this,e)}get verifySsl(){return G(Q,this)}set host(e){V(ie,this,e),V(se,this,!1),V(re,this,null)}get host(){return G(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=w().createWriteStream(e,{flags:"a"})),V(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&V(Y,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==G(re,this)&&null!==G(re,this)&&null!==G(re,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b2"!==G(re,this)){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Changing uri",e,"to negotiated version",G(re,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,G(re,this))}V(X,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==G(X,this)&&""!==this.host&&""!==this.port?i=G(X,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){let i=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return G(re,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===G(se,this)?this.callApiInternal("/api/iam/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,s="v4.1.b2";if(H(ae,this,we).call(this,H(ae,this,$e).call(this,i),H(ae,this,$e).call(this,s)))return H(ae,this,ke).call(this,G(oe,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),V(re,this,null),V(se,this,!1),void n(e);V(re,this,H(ae,this,me).call(this,"v4.1.b2",i)),V(se,this,!0),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Negotiated Version with server :",G(re,this)),n(e)}else H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}).catch(t=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,u){return this.negotiateVersion(this,a).then(function(h){return h.callApiInternal(e,t,n,i,s,r,o,a,d,l,u)})}callApiInternal(e,t,i,r,o,a,d,l,u,h,p){var y=this.buildUrl(e,i);const g="undefined"!=typeof window&&void 0!==window.document;let v=["application/octet-stream","application/pdf","application/zip"];if(h&&h.length>0&&h.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=H(ae,this,Ee).call(this,y,t,r,o,d,l,u,h);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),n(e)})});var m=s()(t,y);if(m.oldCallback=m.callback,m.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},H(ae,this,pe).call(this,m,l),"GET"===t.toUpperCase()&&!1===this.cache&&(r._=(new Date).getTime()),m.query(H(ae,this,ce).call(this,r)),m.set(this.defaultHeaders).set(H(ae,this,ce).call(this,o)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==o["NTNX-Request-Id"]&&void 0!==o["NTNX-Request-Id"])){let e=c();m.set(H(ae,this,ce).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",m.set(H(ae,this,ce).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.1-beta.2"}))),this.requestAgent&&m.agent(this.requestAgent);var $={};$.response=H(ae,this,fe).call(this,this.connectTimeout,G(ee,this)),$.deadline=H(ae,this,fe).call(this,this.readTimeout,G(te,this)),m.timeout($);var f=o.hasOwnProperty("Content-Type")?o["Content-Type"]:H(ae,this,ue).call(this,u);if(f?"multipart/form-data"!=f&&m.type(f):m.header["Content-Type"]||m.type("application/json"),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,y),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",void 0===m.header?"":m.header),"application/x-www-form-urlencoded"===f)m.send(H(ae,this,ce).call(this,a));else if("multipart/form-data"==f){var b=H(ae,this,ce).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(H(ae,this,he).call(this,b[T])?m.attach(T,b[T]):m.field(T,b[T]))}else{if("application/octet-stream"===f&&null!=d&&"function"==typeof d.pipe){if(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Piping octet-stream request"),"function"==typeof d.pipe)d.pipe(m);else{let e;try{e=n(965)}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error fetching steam/web")}d instanceof e.ReadableStream?d.pipeTo(new e.WritableStream({write(e){m.write(e)},close(){H(ae,this,ke).call(this,G(oe,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"READABLE STREAM ABORTED")}})):m.send(d)}return new Promise((t,n)=>{m.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{H(ae,this,Oe).call(this,i,e,r,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&d&&m.send(d)}"Blob"==typeof p?m.responseType("blob"):"String"===p&&m.responseType("string"),H(ae,this,Te).call(this,m),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",void 0===m._data?"":m._data);var k=o.hasOwnProperty("Accept")&&null!=o.Accept?o.Accept:h.join(", ");return k&&m.accept(k),new Promise((n,i)=>{m.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e)}).end((o,a)=>{if(o)H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error during the request!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),404===o.status&&(V(se,this,!1),V(re,this,null)),null!==o.response&&void 0!==o.response?o.data=H(ae,this,ge).call(this,o.response,p):o.data=H(ae,this,ye).call(this,o),i(o);else{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",a.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",a.headers);let o="";if(a.headers.hasOwnProperty("content-type")&&(o=a.headers["content-type"]),v.includes(o)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=w().createWriteStream(e);H(ae,this,Ce).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",r=this;H(ae,this,ke).call(this,G(oe,this).INFO,null,"Redirecting to :",a.headers.location);var d=s()(t,a.headers.location);d.set(m.header),a.headers.hasOwnProperty("x-redirect-token")&&(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Writing X-Redirect-Token into Cookie"),d.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&d.agent(this.requestAgent),d.redirects(0),d.withCredentials(this.withCredentials),d.buffer(!1);let o=w().createWriteStream(e);d.pipe(o),d.on("response",function(t){H(ae,r,ke).call(r,G(oe,r).INFO,null,"Received response after redirection :",t.status),H(ae,r,Ce).call(r,t,o,e,n,i,p)})}else H(ae,this,Oe).call(this,a,e,r,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return de.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>de.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=de.convertToType(r,i),d=de.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=de.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=de.convertToType(e[s],n))}}function le(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(H(ae,this,le).call(this,e[t]))return e[t];return e[0]}function he(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof b.Blob&&e instanceof b.Blob||"function"==typeof File&&e instanceof File}function ce(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];H(ae,this,he).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function pe(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ye(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ge(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(n=new t).data=new b.Blob([e.text],{type:e.headers["content-type"]});let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;return r.flags=s,n.metadata=r,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),K.convertToType(n,t)}function ve(e,t,n){if(!(e instanceof r))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function me(e,t){if(!e||!t)return e;let n=H(ae,this,$e).call(this,e),i=H(ae,this,$e).call(this,t);return!n.family===i.family||H(ae,this,we).call(this,n,i)?e:t}function we(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function $e(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function fe(e,t){return e<=0?e=t:e>G(ne,this)&&(e=G(ne,this)),e}function be(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}V(Y,this,t),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Retained cookie :",t)}else V(Y,this,null)}function Te(e){null!=G(Y,this)&&e.set(H(ae,this,ce).call(this,{Cookie:G(Y,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=G(oe,this).INFO),!H(ae,this,je).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==G(Z,this)&&null!==G(Z,this)&&"function"==typeof G(Z,this).log?G(Z,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===G(oe,this).DEBUG}function Fe(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function Oe(e,t,n,i,s,r){try{var o=H(ae,this,ge).call(this,e,i);H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",e.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",e.headers),H(ae,this,be).call(this,e||{}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),H(ae,this,ve).call(this,o,t,n),s({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error while processing response!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),e.data=H(ae,this,ye).call(this,e),r(e)}}function Ee(e,t,n,i,s,r,o,a){let d={};r.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);d.Authorization=`Basic ${t}`}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const l=H(ae,this,ce).call(this,n),u=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let h=e;u&&(h+=(h.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...H(ae,this,ce).call(this,i),...d};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=c();p["NTNX-Request-Id"]=e}null!=G(Y,this)&&(p.Cookie=H(ae,this,ce).call(this,{Cookie:G(Y,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:H(ae,this,ue).call(this,o);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,e),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",p),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",s||""),{url:h,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Ce(e,t,n,i,s,r){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=f().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.data={path:f().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;r.flags=s,o.metadata=r}e.on("end",()=>{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),0!==a.length?(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),w().renameSync(n,a),i({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),error.data=H(ae,this,ye).call(this,error),s(e)})}function Ue(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}K=de,de.instance=new de;var Pe=new WeakSet;class Ae{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pe),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ae,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ue(Pe,this,Ie).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ue(Pe,this,Ie).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("argumentsMap","undefined or null"):new F("errorGroup","undefined or null"):new F("locale","undefined or null"):new F("code","undefined or null"):new F("severity","undefined or null"):new F("message","undefined or null")}}function Ie(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ae.prototype.message=void 0,Ae.prototype.severity=void 0,Ae.prototype.code=void 0,Ae.prototype.locale="en_US",Ae.prototype.errorGroup=void 0,Ae.prototype.argumentsMap=void 0,Ae.prototype.$reserved=void 0,Ae.prototype.$objectType=void 0,Ae.prototype.$unknownFields=void 0;var De=new WeakSet;class Ne{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=De),t.add(e),this.$objectType="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ne,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributePath","undefined or null"):new F("message","undefined or null"):new F("location","undefined or null")}}function Re(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ne.prototype.location=void 0,Ne.prototype.message=void 0,Ne.prototype.attributePath=void 0,Ne.prototype.$reserved=void 0,Ne.prototype.$objectType=void 0,Ne.prototype.$unknownFields=void 0;var Se=new WeakSet;class Le{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Se),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Le,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ne.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Re(Se,this,Me).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("validationErrorMessages","undefined or null"):new F("path","undefined or null"):new F("error","undefined or null"):new F("statusCode","undefined or null"):new F("timestamp","undefined or null")}}function Me(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Le.prototype.timestamp=void 0,Le.prototype.statusCode=void 0,Le.prototype.error=void 0,Le.prototype.path=void 0,Le.prototype.validationErrorMessages=void 0,Le.prototype.$reserved=void 0,Le.prototype.$objectType=void 0,Le.prototype.$unknownFields=void 0;var Je=new WeakSet;class _e{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Je),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new _e,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("iam.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ae.constructFromObject(i[r],void 0),o.push(s)}t.setError(o)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Le.constructFromObject(e.error,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):xe(Je,this,Ke).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):xe(Je,this,Ke).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}function Ke(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function We(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_e.prototype.error=void 0,_e.prototype.$reserved=void 0,_e.prototype.$objectType=void 0,_e.prototype.$unknownFields=void 0;var qe=new WeakSet;class Be extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qe),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Be,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):We(qe,this,ze).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):We(qe,this,ze).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ze(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Be.prototype.metadata=void 0,Be.prototype.data=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ve{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ge),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ve,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ve.prototype.tenantId=void 0,Ve.prototype.$reserved=void 0,Ve.prototype.$objectType=void 0,Ve.prototype.$unknownFields=void 0;var He=new WeakSet;class Xe extends Ve{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=He),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xe,Ve.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new F("extId","undefined or null");if(null==e){if(!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===k.update&&!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}return new F(t,"no such property exists")}}Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ye=new WeakSet;class Ze{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ye),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ze,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new F("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new F("ocspResponder","undefined or null");if(!j.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new F("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new F("crlDps","undefined or null");if(!j.validateMaxItems(this.crlDps,10))return new F("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("globalCrlRefreshInterval","undefined or null")}}function Qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ze.prototype.isOcspEnabled=void 0,Ze.prototype.ocspResponder=void 0,Ze.prototype.isCrlEnabled=void 0,Ze.prototype.crlDps=void 0,Ze.prototype.globalCrlRefreshInterval=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var et=new WeakSet;class tt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=et),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(Ze.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Qe(et,this,nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Qe(et,this,nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new F("clientCaChain","undefined or null");if(!j.validateMinLength(this.clientCaChain,64))return new F("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new F("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new F("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new F("dirSvcExtID","undefined or null");if(!j.validatePattern(this.dirSvcExtID,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("dirSvcExtID","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new F("caCertFileName","undefined or null");if(!j.validateMaxLength(this.caCertFileName,255))return new F("caCertFileName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.caCertFileName,1))return new F("caCertFileName","does not satisfy required minLength constraint: 1")}return"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("certRevocationInfo","undefined or null")}}function nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function it(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}tt.prototype.name=void 0,tt.prototype.clientCaChain=void 0,tt.prototype.isCertAuthEnabled=void 0,tt.prototype.isCacEnabled=void 0,tt.prototype.dirSvcExtID=void 0,tt.prototype.caCertFileName=void 0,tt.prototype.certRevocationInfo=void 0,tt.prototype.createdTime=void 0,tt.prototype.lastUpdatedTime=void 0,tt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var st=new WeakSet;class rt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=st),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new rt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.CertAuthProvider"!==d)throw"Unknown list of type "+d+" in data";s=tt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):it(st,this,ot).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):it(st,this,ot).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ot(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function at(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rt.prototype.metadata=void 0,rt.prototype.data=void 0,rt.prototype.$reserved=void 0,rt.prototype.$objectType=void 0,rt.prototype.$unknownFields=void 0;var dt=new WeakSet;class lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):at(dt,this,ut).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):at(dt,this,ut).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ut(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ht(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lt.prototype.metadata=void 0,lt.prototype.data=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var ct=new WeakSet;class pt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ct),t.add(e),this.$objectType="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ht(ct,this,yt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ht(ct,this,yt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function yt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function gt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pt.prototype.metadata=void 0,pt.prototype.data=void 0,pt.prototype.$reserved=void 0,pt.prototype.$objectType=void 0,pt.prototype.$unknownFields=void 0;var vt=new WeakSet;class mt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vt),t.add(e),this.$objectType="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gt(vt,this,wt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gt(vt,this,wt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mt.prototype.metadata=void 0,mt.prototype.data=void 0,mt.prototype.$reserved=void 0,mt.prototype.$objectType=void 0,mt.prototype.$unknownFields=void 0;const $t={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($t).find(t=>$t[t]===e);return null==t?$t.$UNKNOWN:$t[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $t.$UNKNOWN:case $t.$REDACTED:case $t.ACTIVE_DIRECTORY:case $t.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze($t);const ft=$t;var bt=new WeakSet;class Tt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bt),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tt,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tt.prototype.username=void 0,Tt.prototype.password=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;const kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kt).find(t=>kt[t]===e);return null==t?kt.$UNKNOWN:kt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kt.$UNKNOWN:case kt.$REDACTED:case kt.NON_RECURSIVE:case kt.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(kt);const jt=kt;var Ft=new WeakSet;class Ot{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ft),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ot,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new F("userObjectClass","undefined or null");if(!j.validateMaxLength(this.userObjectClass,64))return new F("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new F("userSearchBase","undefined or null");if(!j.validateMaxLength(this.userSearchBase,200))return new F("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,64))return new F("usernameAttribute","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ot.prototype.userObjectClass=void 0,Ot.prototype.userSearchBase=void 0,Ot.prototype.usernameAttribute=void 0,Ot.prototype.$reserved=void 0,Ot.prototype.$objectType=void 0,Ot.prototype.$unknownFields=void 0;var Et=new WeakSet;class Ct{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Et),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new F("groupObjectClass","undefined or null");if(!j.validateMaxLength(this.groupObjectClass,64))return new F("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new F("groupSearchBase","undefined or null");if(!j.validateMaxLength(this.groupSearchBase,200))return new F("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new F("groupMemberAttribute","undefined or null");if(!j.validateMaxLength(this.groupMemberAttribute,64))return new F("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new F("groupMemberAttributeValue","undefined or null");if(!j.validateMaxLength(this.groupMemberAttributeValue,64))return new F("groupMemberAttributeValue","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ct.prototype.groupObjectClass=void 0,Ct.prototype.groupSearchBase=void 0,Ct.prototype.groupMemberAttribute=void 0,Ct.prototype.groupMemberAttributeValue=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;var Ut=new WeakSet;class Pt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ut),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pt,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(Ot.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(Ct.constructFromObject(e.userGroupConfiguration)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("userGroupConfiguration","undefined or null"):new F("userConfiguration","undefined or null")}}function At(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pt.prototype.userConfiguration=void 0,Pt.prototype.userGroupConfiguration=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;var It=new WeakSet;class Dt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=It),t.add(e),this.$objectType="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Dt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(ft.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Tt.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(Pt.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(jt.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:At(It,this,Nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:At(It,this,Nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new F("url","undefined or null");if(!j.validateMaxLength(this.url,2e3))return new F("url","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.url,3))return new F("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new F("secondaryUrls","undefined or null");if(!j.validateMaxItems(this.secondaryUrls,5))return new F("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new F("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new F("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new F("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new F("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new F("whiteListedGroups","undefined or null");if(!j.validateMaxItems(this.whiteListedGroups,1e3))return new F("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dt.prototype.name=void 0,Dt.prototype.url=void 0,Dt.prototype.secondaryUrls=void 0,Dt.prototype.domainName=void 0,Dt.prototype.directoryType=void 0,Dt.prototype.serviceAccount=void 0,Dt.prototype.openLdapConfiguration=void 0,Dt.prototype.groupSearchType=void 0,Dt.prototype.whiteListedGroups=void 0,Dt.prototype.createdTime=void 0,Dt.prototype.lastUpdatedTime=void 0,Dt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var St=new WeakSet;class Lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=St),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rt(St,this,Mt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rt(St,this,Mt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Lt.prototype.metadata=void 0,Lt.prototype.data=void 0,Lt.prototype.$reserved=void 0,Lt.prototype.$objectType=void 0,Lt.prototype.$unknownFields=void 0;var xt=new WeakSet;class Jt{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xt),n.add(t),this.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Jt,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new F("query","undefined or null");if(!j.validateMaxLength(this.query,2e3))return new F("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new F("searchedAttributes","undefined or null");if(!j.validateMaxItems(this.searchedAttributes,25))return new F("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new F("returnedAttributes","undefined or null");if(!j.validateMaxItems(this.returnedAttributes,25))return new F("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("isWildcardSearch","undefined or null")}}function _t(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Jt.prototype.query=void 0,Jt.prototype.searchedAttributes=void 0,Jt.prototype.returnedAttributes=void 0,Jt.prototype.isWildcardSearch=!0,Jt.prototype.$reserved=void 0,Jt.prototype.$objectType=void 0,Jt.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Kt),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):_t(Kt,this,qt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):_t(Kt,this,qt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function qt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var Bt=new WeakSet;class zt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Bt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zt,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValues(){return this.values}setValues(e){this.values=e}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new F("values","undefined or null");if(!j.validateMaxItems(this.values,25))return new F("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,1e3))return new F("name","does not satisfy required maxLength constraint: 1000")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}zt.prototype.values=void 0,zt.prototype.name=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Gt=new WeakSet;class Vt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Gt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Vt,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=zt.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new F("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new F("name","does not satisfy required maxLength constraint: 64")}if("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new F("attributes","undefined or null");if(!j.validateMaxItems(this.attributes,25))return new F("attributes","does not satisfy required maxItems constraint: 25")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Vt.prototype.entityType=void 0,Vt.prototype.name=void 0,Vt.prototype.attributes=void 0,Vt.prototype.$reserved=void 0,Vt.prototype.$objectType=void 0,Vt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Xt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ht),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xt,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Vt.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new F("searchResults","undefined or null");if(!j.validateMaxItems(this.searchResults,1e3))return new F("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xt.prototype.searchResults=void 0,Xt.prototype.domainName=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zt),t.add(e),this.$objectType="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Xt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Yt(Zt,this,en).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Yt(Zt,this,en).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function en(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function tn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Qt.prototype.metadata=void 0,Qt.prototype.data=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;var nn=new WeakSet;class sn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nn),t.add(e),this.$objectType="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):tn(nn,this,rn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):tn(nn,this,rn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function on(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;var an=new WeakSet;class dn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=an),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new dn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.DirectoryService"!==d)throw"Unknown list of type "+d+" in data";s=Dt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):on(an,this,ln).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):on(an,this,ln).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ln(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}dn.prototype.metadata=void 0,dn.prototype.data=void 0,dn.prototype.$reserved=void 0,dn.prototype.$objectType=void 0,dn.prototype.$unknownFields=void 0;var un=new WeakSet;class hn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=un),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hn,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}hn.prototype.message=void 0,hn.prototype.$reserved=void 0,hn.prototype.$objectType=void 0,hn.prototype.$unknownFields=void 0;class cn extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cn,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function pn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var yn=new WeakSet;class gn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yn),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(cn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):pn(yn,this,vn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):pn(yn,this,vn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function vn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function mn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}gn.prototype.metadata=void 0,gn.prototype.data=void 0,gn.prototype.$reserved=void 0,gn.prototype.$objectType=void 0,gn.prototype.$unknownFields=void 0;var wn=new WeakSet;class $n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=wn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):mn(wn,this,fn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):mn(wn,this,fn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function fn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$n.prototype.metadata=void 0,$n.prototype.data=void 0,$n.prototype.$reserved=void 0,$n.prototype.$objectType=void 0,$n.prototype.$unknownFields=void 0;var bn=new WeakSet;class Tn{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tn.prototype.username=void 0,Tn.prototype.password=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;const kn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kn).find(t=>kn[t]===e);return null==t?kn.$UNKNOWN:kn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kn.$UNKNOWN:case kn.$REDACTED:case kn.USER_DEFINED:case kn.SERVICE_DEFINED:case kn.PREDEFINED_READ_ONLY:case kn.PREDEFINED_UPDATE_IDENTITY_ONLY:case kn.SERVICE_DEFINED_READ_ONLY:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY }")}}};Object.freeze(kn);const jn=kn;var Fn=new WeakSet;class On{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fn),t.add(e),this.$objectType="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entityFilter","undefined or null")}}On.prototype.entityFilter=void 0,On.prototype.$reserved=void 0,On.prototype.$objectType=void 0,On.prototype.$unknownFields=void 0;var En=new WeakSet;class Cn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=En),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=On.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!j.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new F("role","undefined or null");if(!j.validateMaxLength(this.role,255))return new F("role","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.role,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("role","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new F(t,"no such property exists")}}Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Un=new WeakSet;class Pn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Un),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pn,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("identityFilter","undefined or null")}}function An(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pn.prototype.identityFilter=void 0,Pn.prototype.$reserved=void 0,Pn.prototype.$objectType=void 0,Pn.prototype.$unknownFields=void 0;var In=new WeakSet;class Dn extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=In),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Dn,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=Pn.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(jn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:An(In,this,Nn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:An(In,this,Nn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new F("identities","undefined or null");if(!j.validateMaxItems(this.identities,600))return new F("identities","does not satisfy required maxItems constraint: 600");if(!j.validateMinItems(this.identities,1))return new F("identities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new F(t,"no such property exists"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("authorizationPolicyType","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Sn=new WeakSet;class Ln extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Sn),t.add(e),this.$objectType="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ln,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rn(Sn,this,Mn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rn(Sn,this,Mn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function xn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ln.prototype.metadata=void 0,Ln.prototype.data=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Jn=new WeakSet;class _n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Jn),t.add(e),this.$objectType="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):xn(Jn,this,Kn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):xn(Jn,this,Kn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}_n.prototype.metadata=void 0,_n.prototype.data=void 0,_n.prototype.$reserved=void 0,_n.prototype.$objectType=void 0,_n.prototype.$unknownFields=void 0;var Wn=new WeakSet;class qn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Wn),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bn).find(t=>Bn[t]===e);return null==t?Bn.$UNKNOWN:Bn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bn.$UNKNOWN:case Bn.$REDACTED:case Bn.IMPACTED:case Bn.NOT_IMPACTED:case Bn.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(Bn);const zn=Bn;function Gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Vn=new WeakSet;class Hn extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vn),t.add(e),this.$objectType="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Hn,qn.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(zn.constructFromObject(e.operationSchemaChangeImpact)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gn(Vn,this,Xn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gn(Vn,this,Xn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new F("accessibleClients","undefined or null");if(!j.validateMaxItems(this.accessibleClients,50))return new F("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new F("accessibleEntityTypes","undefined or null");if(!j.validateMaxItems(this.accessibleEntityTypes,500))return new F("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}return"accessibleClientsCount"!==t||void 0!==this.accessibleClientsCount&&null!==this.accessibleClientsCount?"accessibleEntityTypesCount"!==t||void 0!==this.accessibleEntityTypesCount&&null!==this.accessibleEntityTypesCount?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new F(t,"no such property exists"):new F("operationSchemaChangeImpact","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("accessibleEntityTypesCount","undefined or null"):new F("accessibleClientsCount","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Yn extends Hn{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yn,Hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Zn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Qn=new WeakSet;class ei extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qn),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ei,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(Yn.constructFromObject(e.roleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Zn(Qn,this,ti).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Zn(Qn,this,ti).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ei.prototype.roleProjection=void 0,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ii=new WeakSet;class si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ii),t.add(e),this.$objectType="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.AuthorizationPolicy":s=Dn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=ei.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ni(ii,this,ri).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ni(ii,this,ri).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ri(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}si.prototype.metadata=void 0,si.prototype.data=void 0,si.prototype.$reserved=void 0,si.prototype.$objectType=void 0,si.prototype.$unknownFields=void 0;var ai=new WeakSet;class di extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ai),t.add(e),this.$objectType="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new di,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oi(ai,this,li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oi(ai,this,li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ui(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}di.prototype.metadata=void 0,di.prototype.data=void 0,di.prototype.$reserved=void 0,di.prototype.$objectType=void 0,di.prototype.$unknownFields=void 0;var hi=new WeakSet;class ci extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hi),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ci,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ui(hi,this,pi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ui(hi,this,pi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ci.prototype.metadata=void 0,ci.prototype.data=void 0,ci.prototype.$reserved=void 0,ci.prototype.$objectType=void 0,ci.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=gi),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yi(gi,this,mi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yi(gi,this,mi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new F("deploymentList","undefined or null");if(!j.validateMaxItems(this.deploymentList,5))return new F("deploymentList","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.deploymentList,1))return new F("deploymentList","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}function mi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function wi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var $i=new WeakSet;class fi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$i),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Client":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wi($i,this,bi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wi($i,this,bi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function bi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}fi.prototype.metadata=void 0,fi.prototype.data=void 0,fi.prototype.$reserved=void 0,fi.prototype.$objectType=void 0,fi.prototype.$unknownFields=void 0;const Ti={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ti).find(t=>Ti[t]===e);return null==t?Ti.$UNKNOWN:Ti[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ti.$UNKNOWN:case Ti.$REDACTED:case Ti.ALLOF:case Ti.ANYOF:case Ti.EQ:case Ti.NONEOF:case Ti.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Ti);const ki=Ti;var ji=new WeakSet;class Fi extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ji),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Fi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=ki.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^\\\"]*$/))return new F("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new F("supportedOperators","undefined or null");if(!j.validateMaxItems(this.supportedOperators,5))return new F("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new F("attributeValues","undefined or null");if(!j.validateMaxItems(this.attributeValues,25))return new F("attributeValues","does not satisfy required maxItems constraint: 25")}return new F(t,"no such property exists")}}function Oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fi.prototype.displayName=void 0,Fi.prototype.name=void 0,Fi.prototype.supportedOperators=void 0,Fi.prototype.attributeValues=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ei=new WeakSet;class Ci extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ei),t.add(e),this.$objectType="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ci,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=Fi.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Oi(Ei,this,Ui).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Oi(Ei,this,Ui).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new F("searchURL","undefined or null");if(!j.validateMaxLength(this.searchURL,2e3))return new F("searchURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.searchURL,3))return new F("searchURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new F("attributeList","undefined or null");if(!j.validateMaxItems(this.attributeList,10))return new F("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new F(t,"no such property exists"):new F("isLogicalAndSupportedForAttributes","undefined or null")}}function Ui(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Pi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ai=new WeakSet;class Ii extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ai),t.add(e),this.$objectType="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ii,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Entity"!==d)throw"Unknown list of type "+d+" in data";s=Ci.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Pi(Ai,this,Di).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Pi(Ai,this,Di).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Di(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ii.prototype.metadata=void 0,Ii.prototype.data=void 0,Ii.prototype.$reserved=void 0,Ii.prototype.$objectType=void 0,Ii.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ri),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Entity":t.setData(Ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ni(Ri,this,Li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ni(Ri,this,Li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Si.prototype.metadata=void 0,Si.prototype.data=void 0,Si.prototype.$reserved=void 0,Si.prototype.$objectType=void 0,Si.prototype.$unknownFields=void 0;const Mi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Mi).find(t=>Mi[t]===e);return null==t?Mi.$UNKNOWN:Mi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Mi.$UNKNOWN:case Mi.$REDACTED:case Mi.LOCAL:case Mi.SAML:case Mi.LDAP:case Mi.CERT:case Mi.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Mi);const xi=Mi;function Ji(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var _i=new WeakSet;class Ki extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_i),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ki,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(xi.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ji(_i,this,Wi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ji(_i,this,Wi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"type"!==t||void 0!==this.type&&null!==this.type?"isBrowserLoginSupported"!==t||void 0!==this.isBrowserLoginSupported&&null!==this.isBrowserLoginSupported?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isBrowserLoginSupported","undefined or null"):new F("type","undefined or null")}}function Wi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ki.prototype.name=void 0,Ki.prototype.type=void 0,Ki.prototype.isBrowserLoginSupported=void 0,Ki.prototype.createdTime=void 0,Ki.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Bi=new WeakSet;class zi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bi),t.add(e),this.$objectType="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new zi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.LoginProvider"!==d)throw"Unknown list of type "+d+" in data";s=Ki.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qi(Bi,this,Gi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qi(Bi,this,Gi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}zi.prototype.metadata=void 0,zi.prototype.data=void 0,zi.prototype.$reserved=void 0,zi.prototype.$objectType=void 0,zi.prototype.$unknownFields=void 0;const Vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vi).find(t=>Vi[t]===e);return null==t?Vi.$UNKNOWN:Vi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vi.$UNKNOWN:case Vi.$REDACTED:case Vi.V3:case Vi.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(Vi);const Hi=Vi,Xi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xi).find(t=>Xi[t]===e);return null==t?Xi.$UNKNOWN:Xi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xi.$UNKNOWN:case Xi.$REDACTED:case Xi.POST:case Xi.GET:case Xi.PUT:case Xi.PATCH:case Xi.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(Xi);const Yi=Xi;var Zi=new WeakSet;class Qi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Zi),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qi,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(Hi.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Yi.constructFromObject(e.httpMethod)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new F("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new F("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("httpMethod","undefined or null")}}Qi.prototype.apiVersion=void 0,Qi.prototype.endpointUrl=void 0,Qi.prototype.httpMethod=void 0,Qi.prototype.$reserved=void 0,Qi.prototype.$objectType=void 0,Qi.prototype.$unknownFields=void 0;var es=new WeakSet;class ts{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=es),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ts,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new F("notes","undefined or null");if(!j.validateMaxLength(this.notes,1e3))return new F("notes","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ts.prototype.notes=void 0,ts.prototype.$reserved=void 0,ts.prototype.$objectType=void 0,ts.prototype.$unknownFields=void 0;const ns={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ns).find(t=>ns[t]===e);return null==t?ns.$UNKNOWN:ns[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ns.$UNKNOWN:case ns.$REDACTED:case ns.INTERNAL:case ns.SYSTEM_DEFINED_ONLY:case ns.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(ns);const is=ns;function ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var rs=new WeakSet;class os extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=rs),t.add(e),this.$objectType="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new os,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(is.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=Qi.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(ts.constructFromObject(e.migrationActionNotes)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ss(rs,this,as).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ss(rs,this,as).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new F("entityType","undefined or null");if(!j.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new F("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new F("relatedOperationList","undefined or null");if(!j.validateMaxItems(this.relatedOperationList,1e3))return new F("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new F("associatedEndpointList","undefined or null");if(!j.validateMaxItems(this.associatedEndpointList,4))return new F("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new F(t,"no such property exists"):new F("migrationActionNotes","undefined or null")}}function as(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ds(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ls=new WeakSet;class us extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ls),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Operation"!==d)throw"Unknown list of type "+d+" in data";s=os.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ds(ls,this,hs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ds(ls,this,hs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}us.prototype.metadata=void 0,us.prototype.data=void 0,us.prototype.$reserved=void 0,us.prototype.$objectType=void 0,us.prototype.$unknownFields=void 0;var ps=new WeakSet;class ys extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ps),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ys,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Operation":t.setData(os.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):cs(ps,this,gs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):cs(ps,this,gs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ys.prototype.metadata=void 0,ys.prototype.data=void 0,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var ms=new WeakSet;class ws extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ms),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ws,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vs(ms,this,$s).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vs(ms,this,$s).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $s(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function fs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ws.prototype.metadata=void 0,ws.prototype.data=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=bs),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ts,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):fs(bs,this,ks).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):fs(bs,this,ks).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ks(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function js(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ts.prototype.metadata=void 0,Ts.prototype.data=void 0,Ts.prototype.$reserved=void 0,Ts.prototype.$objectType=void 0,Ts.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Os extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fs),t.add(e),this.$objectType="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Os,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):js(Fs,this,Es).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):js(Fs,this,Es).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Es(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Os.prototype.metadata=void 0,Os.prototype.data=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Us=new WeakSet;class Ps extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Us),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ps,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.Role":s=Hn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleProjection":s=Yn.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cs(Us,this,As).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cs(Us,this,As).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function As(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Is(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ps.prototype.metadata=void 0,Ps.prototype.data=void 0,Ps.prototype.$reserved=void 0,Ps.prototype.$objectType=void 0,Ps.prototype.$unknownFields=void 0;var Ds=new WeakSet;class Ns extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ds),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ns,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Is(Ds,this,Rs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Is(Ds,this,Rs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ns.prototype.metadata=void 0,Ns.prototype.data=void 0,Ns.prototype.$reserved=void 0,Ns.prototype.$objectType=void 0,Ns.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Ms extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ls),t.add(e),this.$objectType="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ss(Ls,this,xs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ss(Ls,this,xs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;const Js={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Js).find(t=>Js[t]===e);return null==t?Js.$UNKNOWN:Js[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Js.$UNKNOWN:case Js.$REDACTED:case Js.EMAILADDRESS:case Js.UNSPECIFIED:case Js.X509SUBJECTNAME:case Js.WINDOWSDOMAINQUALIFIEDNAME:case Js.ENCRYPTED:case Js.ENTITY:case Js.KERBEROS:case Js.PERSISTENT:case Js.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(Js);const _s=Js;var Ks=new WeakSet;class Ws{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ks),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ws,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(_s.constructFromObject(e.nameIdPolicyFormat)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!j.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new F("loginUrl","undefined or null");if(!j.validateMaxLength(this.loginUrl,2e3))return new F("loginUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.loginUrl,3))return new F("loginUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new F("logoutUrl","undefined or null");if(!j.validateMaxLength(this.logoutUrl,2e3))return new F("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.logoutUrl,3))return new F("logoutUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new F("errorUrl","undefined or null");if(!j.validateMaxLength(this.errorUrl,2e3))return new F("errorUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.errorUrl,3))return new F("errorUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new F("certificate","undefined or null");if(!j.validateMinLength(this.certificate,64))return new F("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nameIdPolicyFormat","undefined or null")}}function qs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ws.prototype.entityId=void 0,Ws.prototype.loginUrl=void 0,Ws.prototype.logoutUrl=void 0,Ws.prototype.errorUrl=void 0,Ws.prototype.certificate=void 0,Ws.prototype.nameIdPolicyFormat=void 0,Ws.prototype.$reserved=void 0,Ws.prototype.$objectType=void 0,Ws.prototype.$unknownFields=void 0;var Bs=new WeakSet;class zs extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bs),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(Ws.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qs(Bs,this,Gs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:qs(Bs,this,Gs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new F("idpMetadataUrl","undefined or null");if(!j.validateMaxLength(this.idpMetadataUrl,2e3))return new F("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.idpMetadataUrl,3))return new F("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new F("idpMetadataXml","undefined or null");if(!j.validateMinLength(this.idpMetadataXml,3))return new F("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new F("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,256))return new F("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.usernameAttribute,1))return new F("usernameAttribute","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new F("emailAttribute","undefined or null");if(!j.validateMaxLength(this.emailAttribute,256))return new F("emailAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.emailAttribute,3))return new F("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new F("groupsAttribute","undefined or null");if(!j.validateMaxLength(this.groupsAttribute,256))return new F("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.groupsAttribute,3))return new F("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new F("groupsDelim","undefined or null");if(!j.validateMaxLength(this.groupsDelim,3))return new F("groupsDelim","does not satisfy required maxLength constraint: 3");if(!j.validateMinLength(this.groupsDelim,1))return new F("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new F("redirectURL","undefined or null");if(!j.validateMaxLength(this.redirectURL,2e3))return new F("redirectURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.redirectURL,3))return new F("redirectURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new F("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new F("customAttributes","undefined or null");if(!j.validateMaxItems(this.customAttributes,25))return new F("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new F("entityIssuer","undefined or null");if(!j.validateMaxLength(this.entityIssuer,2e3))return new F("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityIssuer,3))return new F("entityIssuer","does not satisfy required minLength constraint: 3")}return"isSignedAuthnReqEnabled"!==t||void 0!==this.isSignedAuthnReqEnabled&&null!==this.isSignedAuthnReqEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSignedAuthnReqEnabled","undefined or null")}}function Gs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zs.prototype.idpMetadataUrl=void 0,zs.prototype.idpMetadataXml=void 0,zs.prototype.idpMetadata=void 0,zs.prototype.name=void 0,zs.prototype.usernameAttribute="name",zs.prototype.emailAttribute="email",zs.prototype.groupsAttribute=void 0,zs.prototype.groupsDelim=void 0,zs.prototype.redirectURL=void 0,zs.prototype.customAttributes=void 0,zs.prototype.entityIssuer=void 0,zs.prototype.isSignedAuthnReqEnabled=void 0,zs.prototype.createdTime=void 0,zs.prototype.lastUpdatedTime=void 0,zs.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Hs=new WeakSet;class Xs extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Hs),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Xs,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vs(Hs,this,Ys).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vs(Hs,this,Ys).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ys(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xs.prototype.metadata=void 0,Xs.prototype.data=void 0,Xs.prototype.$reserved=void 0,Xs.prototype.$objectType=void 0,Xs.prototype.$unknownFields=void 0;var Qs=new WeakSet;class er extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qs),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new er,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zs(Qs,this,tr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zs(Qs,this,tr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function tr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function nr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}er.prototype.metadata=void 0,er.prototype.data=void 0,er.prototype.$reserved=void 0,er.prototype.$objectType=void 0,er.prototype.$unknownFields=void 0;var ir=new WeakSet;class sr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ir),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):nr(ir,this,rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):nr(ir,this,rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function or(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sr.prototype.metadata=void 0,sr.prototype.data=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var ar=new WeakSet;class dr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ar),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):or(ar,this,lr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):or(ar,this,lr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function lr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ur(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dr.prototype.metadata=void 0,dr.prototype.data=void 0,dr.prototype.$reserved=void 0,dr.prototype.$objectType=void 0,dr.prototype.$unknownFields=void 0;var hr=new WeakSet;class cr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hr),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new cr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.SamlIdentityProvider"!==d)throw"Unknown list of type "+d+" in data";s=zs.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ur(hr,this,pr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ur(hr,this,pr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}cr.prototype.metadata=void 0,cr.prototype.data=void 0,cr.prototype.$reserved=void 0,cr.prototype.$objectType=void 0,cr.prototype.$unknownFields=void 0;var gr=new WeakSet;class vr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gr),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):yr(gr,this,mr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):yr(gr,this,mr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function mr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}vr.prototype.metadata=void 0,vr.prototype.data=void 0,vr.prototype.$reserved=void 0,vr.prototype.$objectType=void 0,vr.prototype.$unknownFields=void 0;const wr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wr).find(t=>wr[t]===e);return null==t?wr.$UNKNOWN:wr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wr.$UNKNOWN:case wr.$REDACTED:case wr.SAML:case wr.LDAP:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP }")}}};Object.freeze(wr);const $r=wr;function fr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var br=new WeakSet;class Tr extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=br),t.add(e),this.$objectType="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType($r.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:fr(br,this,kr).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:fr(br,this,kr).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new F("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new F("distinguishedName","undefined or null");if(!j.validateMaxLength(this.distinguishedName,255))return new F("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function kr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Tr.prototype.groupType=void 0,Tr.prototype.idpId=void 0,Tr.prototype.name=void 0,Tr.prototype.distinguishedName=void 0,Tr.prototype.createdTime=void 0,Tr.prototype.lastUpdatedTime=void 0,Tr.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fr=new WeakSet;class Or extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fr),t.add(e),this.$objectType="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Or,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):jr(Fr,this,Er).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):jr(Fr,this,Er).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Er(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Or.prototype.metadata=void 0,Or.prototype.data=void 0,Or.prototype.$reserved=void 0,Or.prototype.$objectType=void 0,Or.prototype.$unknownFields=void 0;var Ur=new WeakSet;class Pr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ur),t.add(e),this.$objectType="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Pr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.UserGroup"!==d)throw"Unknown list of type "+d+" in data";s=Tr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cr(Ur,this,Ar).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cr(Ur,this,Ar).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ir(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pr.prototype.metadata=void 0,Pr.prototype.data=void 0,Pr.prototype.$reserved=void 0,Pr.prototype.$objectType=void 0,Pr.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Nr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dr),t.add(e),this.$objectType="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ir(Dr,this,Rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ir(Dr,this,Rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Nr.prototype.metadata=void 0,Nr.prototype.data=void 0,Nr.prototype.$reserved=void 0,Nr.prototype.$objectType=void 0,Nr.prototype.$unknownFields=void 0;var Lr=new WeakSet;class Mr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lr),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sr(Lr,this,xr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sr(Lr,this,xr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Mr.prototype.metadata=void 0,Mr.prototype.data=void 0,Mr.prototype.$reserved=void 0,Mr.prototype.$objectType=void 0,Mr.prototype.$unknownFields=void 0;var Jr=new WeakSet;class _r{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Jr),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new F("apiKey","undefined or null");if(!j.validateMaxLength(this.apiKey,32))return new F("apiKey","does not satisfy required maxLength constraint: 32");if(!j.validateMinLength(this.apiKey,32))return new F("apiKey","does not satisfy required minLength constraint: 32")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}_r.prototype.apiKey=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;const Kr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Kr).find(t=>Kr[t]===e);return null==t?Kr.$UNKNOWN:Kr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Kr.$UNKNOWN:case Kr.$REDACTED:case Kr.PREDEFINED:case Kr.USERDEFINED:case Kr.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(Kr);const Wr=Kr,qr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qr).find(t=>qr[t]===e);return null==t?qr.$UNKNOWN:qr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qr.$UNKNOWN:case qr.$REDACTED:case qr.API_KEY:case qr.OBJECT_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY }")}}};Object.freeze(qr);const Br=qr,zr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zr).find(t=>zr[t]===e);return null==t?zr.$UNKNOWN:zr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zr.$UNKNOWN:case zr.$REDACTED:case zr.VALID:case zr.REVOKED:case zr.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(zr);const Gr=zr;var Vr=new WeakSet;class Hr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vr),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hr,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new F("secretKey","undefined or null");if(!j.validateMaxLength(this.secretKey,24))return new F("secretKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.secretKey,24))return new F("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new F("accessKey","undefined or null");if(!j.validateMaxLength(this.accessKey,24))return new F("accessKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.accessKey,24))return new F("accessKey","does not satisfy required minLength constraint: 24")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Xr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hr.prototype.secretKey=void 0,Hr.prototype.accessKey=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Yr=new WeakSet;class Zr extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Yr),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(Br.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Gr.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(_r.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Hr.constructFromObject(e.keyDetails,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xr(Yr,this,eo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xr(Yr,this,eo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Xr(Yr,this,eo).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xr(Yr,this,Qr).call(this,this.getKeyDetails(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new F("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new F(t,"no such property exists"):new F("keyDetails","undefined or null"):new F("lastUsedTime","undefined or null")}}function Qr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function eo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function to(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zr.prototype.name=void 0,Zr.prototype.description=void 0,Zr.prototype.keyType=void 0,Zr.prototype.createdTime=void 0,Zr.prototype.lastUpdatedBy=void 0,Zr.prototype.creationType=void 0,Zr.prototype.expiryTime=void 0,Zr.prototype.status=void 0,Zr.prototype.createdBy=void 0,Zr.prototype.lastUpdatedTime=void 0,Zr.prototype.assignedTo=void 0,Zr.prototype.lastUsedTime=void 0,Zr.prototype.keyDetails=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var no=new WeakSet;class io extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=no),t.add(e),this.$objectType="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new io,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):to(no,this,so).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):to(no,this,so).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function so(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}io.prototype.metadata=void 0,io.prototype.data=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;class ro extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ro,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function oo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ao=new WeakSet;class lo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ao),t.add(e),this.$objectType="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordResetResponse":t.setData(ro.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oo(ao,this,uo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oo(ao,this,uo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function uo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}lo.prototype.metadata=void 0,lo.prototype.data=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;const ho={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ho).find(t=>ho[t]===e);return null==t?ho.$UNKNOWN:ho[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ho.$UNKNOWN:case ho.$REDACTED:case ho.ACTIVE:case ho.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(ho);const co=ho;var po=new WeakSet;class yo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=po),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yo,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("status","undefined or null")}}yo.prototype.status=void 0,yo.prototype.$reserved=void 0,yo.prototype.$objectType=void 0,yo.prototype.$unknownFields=void 0;class go extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new go,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var mo=new WeakSet;class wo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mo),t.add(e),this.$objectType="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserStateUpdateResponse":t.setData(go.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vo(mo,this,$o).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vo(mo,this,$o).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $o(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}wo.prototype.metadata=void 0,wo.prototype.data=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;const fo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fo).find(t=>fo[t]===e);return null==t?fo.$UNKNOWN:fo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fo.$UNKNOWN:case fo.$REDACTED:case fo.VALID:case fo.REVOKED:case fo.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(fo);const bo=fo;function To(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ko=new WeakSet;class jo extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ko),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(bo.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:To(ko,this,Fo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:To(ko,this,Fo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new F("accessKeyName","undefined or null");if(!j.validateMaxLength(this.accessKeyName,255))return new F("accessKeyName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.accessKeyName,1))return new F("accessKeyName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null")}}function Fo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}jo.prototype.accessKeyName=void 0,jo.prototype.secretAccessKey=void 0,jo.prototype.userId=void 0,jo.prototype.createdTime=void 0,jo.prototype.lastUpdatedBy=void 0,jo.prototype.assignedTo=void 0,jo.prototype.creationType=void 0,jo.prototype.expiryTime=void 0,jo.prototype.status=void 0,jo.prototype.createdBy=void 0,jo.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oo).find(t=>Oo[t]===e);return null==t?Oo.$UNKNOWN:Oo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oo.$UNKNOWN:case Oo.$REDACTED:case Oo.LOCAL:case Oo.SAML:case Oo.LDAP:case Oo.EXTERNAL:case Oo.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT }")}}};Object.freeze(Oo);const Eo=Oo;function Co(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Uo=new WeakSet;class Po extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Uo),t.add(e),this.$objectType="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Po,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=jo.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:Co(Uo,this,Ao).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Co(Uo,this,Ao).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Co(Uo,this,Ao).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new F("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new F("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new F("additionalAttributes","undefined or null");if(!j.validateMaxItems(this.additionalAttributes,10))return new F("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new F("bucketsAccessKeys","undefined or null");if(!j.validateMaxItems(this.bucketsAccessKeys,5))return new F("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new F("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?new F(t,"no such property exists"):new F("creationType","undefined or null"):new F("description","undefined or null")}}function Ao(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Io(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Po.prototype.username=void 0,Po.prototype.userType=void 0,Po.prototype.idpId=void 0,Po.prototype.displayName=void 0,Po.prototype.firstName=void 0,Po.prototype.middleInitial=void 0,Po.prototype.lastName=void 0,Po.prototype.emailId=void 0,Po.prototype.locale=void 0,Po.prototype.region=void 0,Po.prototype.password=void 0,Po.prototype.isForceResetPasswordEnabled=void 0,Po.prototype.additionalAttributes=void 0,Po.prototype.status=void 0,Po.prototype.bucketsAccessKeys=void 0,Po.prototype.lastLoginTime=void 0,Po.prototype.createdTime=void 0,Po.prototype.lastUpdatedTime=void 0,Po.prototype.createdBy=void 0,Po.prototype.lastUpdatedBy=void 0,Po.prototype.description=void 0,Po.prototype.creationType=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Do=new WeakSet;class No extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Do),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new No,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.Key"!==d)throw"Unknown list of type "+d+" in data";s=Zr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Io(Do,this,Ro).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Io(Do,this,Ro).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ro(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function So(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}No.prototype.metadata=void 0,No.prototype.data=void 0,No.prototype.$reserved=void 0,No.prototype.$objectType=void 0,No.prototype.$unknownFields=void 0;var Lo=new WeakSet;class Mo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lo),t.add(e),this.$objectType="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.AppMessage":t.setData(Ae.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):So(Lo,this,xo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):So(Lo,this,xo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Jo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Mo.prototype.metadata=void 0,Mo.prototype.data=void 0,Mo.prototype.$reserved=void 0,Mo.prototype.$objectType=void 0,Mo.prototype.$unknownFields=void 0;var _o=new WeakSet;class Ko extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_o),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ko,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jo(_o,this,Wo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jo(_o,this,Wo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Wo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ko.prototype.metadata=void 0,Ko.prototype.data=void 0,Ko.prototype.$reserved=void 0,Ko.prototype.$objectType=void 0,Ko.prototype.$unknownFields=void 0;var Bo=new WeakSet;class zo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bo),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qo(Bo,this,Go).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qo(Bo,this,Go).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Go(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zo.prototype.metadata=void 0,zo.prototype.data=void 0,zo.prototype.$reserved=void 0,zo.prototype.$objectType=void 0,zo.prototype.$unknownFields=void 0;var Ho=new WeakSet;class Xo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ho),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Xo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.User"!==d)throw"Unknown list of type "+d+" in data";s=Po.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vo(Ho,this,Yo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vo(Ho,this,Yo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Yo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xo.prototype.metadata=void 0,Xo.prototype.data=void 0,Xo.prototype.$reserved=void 0,Xo.prototype.$objectType=void 0,Xo.prototype.$unknownFields=void 0;var Qo=new WeakSet;class ea extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qo),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ea,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zo(Qo,this,ta).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zo(Qo,this,ta).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ta(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function na(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ea.prototype.metadata=void 0,ea.prototype.data=void 0,ea.prototype.$reserved=void 0,ea.prototype.$objectType=void 0,ea.prototype.$unknownFields=void 0;var ia=new WeakSet;class sa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ia),t.add(e),this.$objectType="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):na(ia,this,ra).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):na(ia,this,ra).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}sa.prototype.metadata=void 0,sa.prototype.data=void 0,sa.prototype.$reserved=void 0,sa.prototype.$objectType=void 0,sa.prototype.$unknownFields=void 0;var oa=new WeakSet;class aa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=oa),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new aa,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null"):new F("oldPassword","undefined or null")}}function da(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}aa.prototype.username=void 0,aa.prototype.oldPassword=void 0,aa.prototype.newPassword=void 0,aa.prototype.$reserved=void 0,aa.prototype.$objectType=void 0,aa.prototype.$unknownFields=void 0;var la=new WeakSet;class ua extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=la),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):da(la,this,ha).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):da(la,this,ha).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ha(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ua.prototype.metadata=void 0,ua.prototype.data=void 0,ua.prototype.$reserved=void 0,ua.prototype.$objectType=void 0,ua.prototype.$unknownFields=void 0;var ca=new WeakSet;class pa{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ca),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pa,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null")}}pa.prototype.newPassword=void 0,pa.prototype.$reserved=void 0,pa.prototype.$objectType=void 0,pa.prototype.$unknownFields=void 0;class ya extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ya,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function ga(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var va=new WeakSet;class ma extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=va),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ma,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordChangeResponse":t.setData(ya.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ga(va,this,wa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ga(va,this,wa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function $a(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ma.prototype.metadata=void 0,ma.prototype.data=void 0,ma.prototype.$reserved=void 0,ma.prototype.$objectType=void 0,ma.prototype.$unknownFields=void 0;var fa=new WeakSet;class ba{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=fa),t.add(e),this.$objectType="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ba,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$a(fa,this,Ta).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$a(fa,this,Ta).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new F("content","undefined or null");if(!j.validateMaxLength(this.content,1e4))return new F("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isEnabled","undefined or null")}}function Ta(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ka(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ba.prototype.content=void 0,ba.prototype.isEnabled=!0,ba.prototype.createdTime=void 0,ba.prototype.lastUpdatedTime=void 0,ba.prototype.$reserved=void 0,ba.prototype.$objectType=void 0,ba.prototype.$unknownFields=void 0;var ja=new WeakSet;class Fa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ja),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ka(ja,this,Oa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ka(ja,this,Oa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Oa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ea(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fa.prototype.metadata=void 0,Fa.prototype.data=void 0,Fa.prototype.$reserved=void 0,Fa.prototype.$objectType=void 0,Fa.prototype.$unknownFields=void 0;var Ca=new WeakSet;class Ua extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ca),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ea(Ca,this,Pa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ea(Ca,this,Pa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Pa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ua.prototype.metadata=void 0,Ua.prototype.data=void 0,Ua.prototype.$reserved=void 0,Ua.prototype.$objectType=void 0,Ua.prototype.$unknownFields=void 0;const Aa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Aa).find(t=>Aa[t]===e);return null==t?Aa.$UNKNOWN:Aa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Aa.$UNKNOWN:case Aa.$REDACTED:case Aa.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(Aa);const Ia=Aa,Da={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Da).find(t=>Da[t]===e);return null==t?Da.$UNKNOWN:Da[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Da.$UNKNOWN:case Da.$REDACTED:case Da.CLIENT_SECRET_BASIC:case Da.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(Da);const Na=Da;var Ra=new WeakSet;class Sa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ra),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sa,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new F("authCodeUri","undefined or null");if(!j.validateMaxLength(this.authCodeUri,2e3))return new F("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Sa.prototype.authCodeUri=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;const La={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(La).find(t=>La[t]===e);return null==t?La.$UNKNOWN:La[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case La.$UNKNOWN:case La.$REDACTED:case La.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze(La);const Ma=La;var xa=new WeakSet;class Ja{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xa),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ja,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(Ma.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}Ja.prototype.migrationType=void 0,Ja.prototype.$reserved=void 0,Ja.prototype.$objectType=void 0,Ja.prototype.$unknownFields=void 0;var _a=new WeakSet;class Ka{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=_a),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ka,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new F("relayState","undefined or null");if(!j.validateMaxLength(this.relayState,255))return new F("relayState","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.relayState,1))return new F("relayState","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ka.prototype.relayState=void 0,Ka.prototype.$reserved=void 0,Ka.prototype.$objectType=void 0,Ka.prototype.$unknownFields=void 0;const Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wa).find(t=>Wa[t]===e);return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.UUID:case Wa.TENANT_UUID:case Wa.SUB:case Wa.EMAIL:case Wa.DISPLAY_NAME:case Wa.GROUPS:case Wa.ISS:case Wa.AUD:case Wa.EXP:case Wa.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(Wa);const qa=Wa;var Ba=new WeakSet;class za extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ba),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new za,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}za.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ga=new WeakSet;class Va extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ga),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Va,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}Va.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ha=new WeakSet;class Xa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ha),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xa,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=za.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Va.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,20))return new F("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new F("ous","undefined or null");if(!j.validateMaxItems(this.ous,20))return new F("ous","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xa.prototype.userId=void 0,Xa.prototype.groups=void 0,Xa.prototype.ous=void 0,Xa.prototype.$reserved=void 0,Xa.prototype.$objectType=void 0,Xa.prototype.$unknownFields=void 0;const Ya={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ya).find(t=>Ya[t]===e);return null==t?Ya.$UNKNOWN:Ya[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ya.$UNKNOWN:case Ya.$REDACTED:case Ya.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Ya);const Za=Ya;var Qa=new WeakSet;class ed{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Qa),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ed,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getEmail(){return this.email}setEmail(e){this.email=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,16))return new F("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,16))return new F("email","does not satisfy required maxLength constraint: 16")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function td(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ed.prototype.name=void 0,ed.prototype.email=void 0,ed.prototype.$reserved=void 0,ed.prototype.$objectType=void 0,ed.prototype.$unknownFields=void 0;var nd=new WeakSet;class id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nd),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(ed.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:td(nd,this,sd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:td(nd,this,sd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new F("wellKnownConfig","undefined or null");if(!j.validateMaxLength(this.wellKnownConfig,2e3))return new F("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.wellKnownConfig,3))return new F("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new F("cloudTenant","undefined or null");if(!j.validatePattern(this.cloudTenant,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("cloudTenant","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new F("cloudApiKey","undefined or null");if(!j.validateMaxLength(this.cloudApiKey,128))return new F("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("claimMap","undefined or null")}}function sd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}id.prototype.wellKnownConfig=void 0,id.prototype.idpId=void 0,id.prototype.cloudTenant=void 0,id.prototype.cloudApiKey=void 0,id.prototype.claimMap=void 0,id.prototype.createdTime=void 0,id.prototype.lastUpdatedTime=void 0,id.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const rd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(rd).find(t=>rd[t]===e);return null==t?rd.$UNKNOWN:rd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case rd.$UNKNOWN:case rd.$REDACTED:case rd.AUTHORIZATION_CODE:case rd.REFRESH_TOKEN:case rd.CLIENT_CREDENTIALS:case rd.PASSWORD:case rd.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(rd);const od=rd;var ad=new WeakSet;class dd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ad),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new dd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}dd.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ld=new WeakSet;class ud{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ld),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ud,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("maxKeyCount","undefined or null")}}ud.prototype.maxKeyCount=void 0,ud.prototype.$reserved=void 0,ud.prototype.$objectType=void 0,ud.prototype.$unknownFields=void 0;const hd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hd).find(t=>hd[t]===e);return null==t?hd.$UNKNOWN:hd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hd.$UNKNOWN:case hd.$REDACTED:case hd.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(hd);const cd=hd,pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pd).find(t=>pd[t]===e);return null==t?pd.$UNKNOWN:pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pd.$UNKNOWN:case pd.$REDACTED:case pd.ID_TOKEN:case pd.CODE:case pd.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(pd);const yd=pd,gd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(gd).find(t=>gd[t]===e);return null==t?gd.$UNKNOWN:gd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case gd.$UNKNOWN:case gd.$REDACTED:case gd.OPENID:case gd.PROFILE:case gd.EMAIL:case gd.OFFLINE_ACCESS:case gd.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(gd);const vd=gd;var md=new WeakSet;class wd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=md),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new wd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(yd.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=vd.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new F("clientId","undefined or null");if(!j.validatePattern(this.clientId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("clientId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new F("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxItems(this.scope,10))return new F("scope","does not satisfy required maxItems constraint: 10");if(!j.validateMinItems(this.scope,1))return new F("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validateMaxLength(this.redirectUri,2e3))return new F("redirectUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new F("nonce","undefined or null");if(!j.validateMaxLength(this.nonce,2e3))return new F("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new F("state","undefined or null");if(!j.validateMaxLength(this.state,2e3))return new F("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new F("audience","undefined or null");if(!j.validateMaxLength(this.audience,2e3))return new F("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new F("approvalPrompt","undefined or null");if(!j.validateMaxLength(this.approvalPrompt,2e3))return new F("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new F("loginProviderId","undefined or null");if(!j.validatePattern(this.loginProviderId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("loginProviderId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new F(t,"no such property exists"):new F("isServiceProviderEnabled","undefined or null"):new F("isUserLoggedIn","undefined or null")}}function $d(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wd.prototype.clientId=void 0,wd.prototype.responseType=void 0,wd.prototype.scope=void 0,wd.prototype.redirectUri=void 0,wd.prototype.nonce=void 0,wd.prototype.state=void 0,wd.prototype.audience=void 0,wd.prototype.approvalPrompt=void 0,wd.prototype.loginProviderId=void 0,wd.prototype.isUserLoggedIn=void 0,wd.prototype.isServiceProviderEnabled=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var fd=new WeakSet;class bd{constructor(e,t,n,i,s,r,o,a,d,l){var u,h;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(u=this,h=fd),h.add(u),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bd,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new F("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Td(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}bd.prototype.secretAccessKey=void 0,bd.prototype.emailId=void 0,bd.prototype.userId=void 0,bd.prototype.userType=void 0,bd.prototype.tenantId=void 0,bd.prototype.idpId=void 0,bd.prototype.username=void 0,bd.prototype.creationType=void 0,bd.prototype.customClaims=void 0,bd.prototype.assignedTo=void 0,bd.prototype.$reserved=void 0,bd.prototype.$objectType=void 0,bd.prototype.$unknownFields=void 0;var kd=new WeakSet;class jd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=kd),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jd,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("accessKey","undefined or null")}}jd.prototype.accessKey=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;const Fd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fd).find(t=>Fd[t]===e);return null==t?Fd.$UNKNOWN:Fd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fd.$UNKNOWN:case Fd.$REDACTED:case Fd.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(Fd);const Od=Fd;var Ed=new WeakSet;class Cd{constructor(e,t,n,i,s,r,o){(function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)})(this,Ed),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cd,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(Ia.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(Od.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(cd.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("e","undefined or null"):new F("n","undefined or null"):new F("x5c","undefined or null"):new F("kid","undefined or null"):new F("kty","undefined or null"):new F("use","undefined or null"):new F("alg","undefined or null")}}Cd.prototype.alg=void 0,Cd.prototype.use=void 0,Cd.prototype.kty=void 0,Cd.prototype.kid=void 0,Cd.prototype.x5c=void 0,Cd.prototype.n=void 0,Cd.prototype.e=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;const Ud={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ud).find(t=>Ud[t]===e);return null==t?Ud.$UNKNOWN:Ud[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ud.$UNKNOWN:case Ud.$REDACTED:case Ud.LOCAL:case Ud.LDAP:case Ud.SAML:case Ud.CERT:case Ud.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Ud);const Pd=Ud;var Ad=new WeakSet;class Id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ad),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function Dd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Id.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Nd=new WeakSet;class Rd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Nd),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Rd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(Pd.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=dd.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(Id.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new F("iss","undefined or null");if(!j.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new F("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new F("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new F("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new F("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,255))return new F("email","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new F("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new F("connectorId","undefined or null");if(!j.validatePattern(this.connectorId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("connectorId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,25))return new F("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new F("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new F("legacyRoles","undefined or null");if(!j.validateMaxItems(this.legacyRoles,5))return new F("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"locale"!==t||void 0!==this.locale&&null!==this.locale?"region"!==t||void 0!==this.region&&null!==this.region?"status"!==t||void 0!==this.status&&null!==this.status?new F(t,"no such property exists"):new F("status","undefined or null"):new F("region","undefined or null"):new F("locale","undefined or null")}}function Sd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Rd.prototype.iss=void 0,Rd.prototype.sub=void 0,Rd.prototype.subType=void 0,Rd.prototype.exp=void 0,Rd.prototype.iat=void 0,Rd.prototype.email=void 0,Rd.prototype.isEmailVerified=void 0,Rd.prototype.name=void 0,Rd.prototype.userId=void 0,Rd.prototype.connectorId=void 0,Rd.prototype.groups=void 0,Rd.prototype.tenant=void 0,Rd.prototype.customClaims=void 0,Rd.prototype.legacyRoles=void 0,Rd.prototype.firstName=void 0,Rd.prototype.middleInitial=void 0,Rd.prototype.lastName=void 0,Rd.prototype.locale=void 0,Rd.prototype.region=void 0,Rd.prototype.status=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ld={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ld).find(t=>Ld[t]===e);return null==t?Ld.$UNKNOWN:Ld[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ld.$UNKNOWN:case Ld.$REDACTED:case Ld.OPENID:case Ld.PROFILE:case Ld.EMAIL:case Ld.GROUPS:case Ld.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze(Ld);const Md=Ld,xd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xd).find(t=>xd[t]===e);return null==t?xd.$UNKNOWN:xd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xd.$UNKNOWN:case xd.$REDACTED:case xd.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(xd);const Jd=xd,_d={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(_d).find(t=>_d[t]===e);return null==t?_d.$UNKNOWN:_d[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case _d.$UNKNOWN:case _d.$REDACTED:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(_d);const Kd=_d;function Wd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var qd=new WeakSet;class Bd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=qd),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Bd,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wd(qd,this,zd).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new F("nameValuePair","undefined or null");if(!j.validateMaxItems(this.nameValuePair,10))return new F("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null")}}function zd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bd.prototype.nameValuePair=void 0,Bd.prototype.lastUpdatedTime=void 0,Bd.prototype.$reserved=void 0,Bd.prototype.$objectType=void 0,Bd.prototype.$unknownFields=void 0;var Gd=new WeakSet;class Vd{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Gd),s.add(i),this.grantType=e,this.scope=t,this.clientId=n,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vd,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(od.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(Kd.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["grantType","scope","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new F("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new F("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxLength(this.scope,100))return new F("scope","does not satisfy required maxLength constraint: 100");if(!j.validateMinLength(this.scope,1))return new F("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new F("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new F("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new F("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new F("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nonTenantIssuer","undefined or null"):new F("subjectTokenType","undefined or null"):new F("subjectToken","undefined or null"):new F("audience","undefined or null")}}Vd.prototype.grantType=void 0,Vd.prototype.code=void 0,Vd.prototype.connectorId=void 0,Vd.prototype.scope=void 0,Vd.prototype.refreshToken=void 0,Vd.prototype.clientId=void 0,Vd.prototype.clientAssertionType=void 0,Vd.prototype.clientAssertion=void 0,Vd.prototype.redirectUri=void 0,Vd.prototype.audience=void 0,Vd.prototype.subjectToken=void 0,Vd.prototype.subjectTokenType=void 0,Vd.prototype.nonTenantIssuer=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;var Hd=new WeakSet;class Xd{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Hd),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xd,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new F("password","undefined or null");if(!j.validateMaxLength(this.password,255))return new F("password","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.password,1))return new F("password","does not satisfy required minLength constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xd.prototype.username=void 0,Xd.prototype.password=void 0,Xd.prototype.$reserved=void 0,Xd.prototype.$objectType=void 0,Xd.prototype.$unknownFields=void 0;var Zd=new WeakSet;class Qd extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zd),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qd,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Yd(Zd,this,el).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Yd(Zd,this,el).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("opaquedata","undefined or null")}}function el(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qd.prototype.opaquedata=void 0,Qd.prototype.isInternal=!1,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const tl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(tl).find(t=>tl[t]===e);return null==t?tl.$UNKNOWN:tl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case tl.$UNKNOWN:case tl.$REDACTED:case tl.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(tl);const nl=tl;var il=new WeakSet;class sl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=il),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new sl,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(nl.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("identityType","undefined or null")}}sl.prototype.identityType=void 0,sl.prototype.attributes=void 0,sl.prototype.$reserved=void 0,sl.prototype.$objectType=void 0,sl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=rl),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ol,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("operation","undefined or null"):new F("type","undefined or null")}}ol.prototype.type=void 0,ol.prototype.operation=void 0,ol.prototype.attributes=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;const al={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(al).find(t=>al[t]===e);return null==t?al.$UNKNOWN:al[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case al.$UNKNOWN:case al.$REDACTED:case al.BOOLEANRESPONSE:case al.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(al);const dl=al;var ll=new WeakSet;class ul{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=ll),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ul,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(ol.constructFromObject(e.entity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entity","undefined or null"):new F("responseType","undefined or null"):new F("requestID","undefined or null")}}ul.prototype.requestID=void 0,ul.prototype.responseType=void 0,ul.prototype.entity=void 0,ul.prototype.$reserved=void 0,ul.prototype.$objectType=void 0,ul.prototype.$unknownFields=void 0;var hl=new WeakSet;class cl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=hl),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cl,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(sl.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=ul.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new F("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new F("requestList","undefined or null");if(!j.validateMaxItems(this.requestList,25))return new F("requestList","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.requestList,1))return new F("requestList","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cl.prototype.identity=void 0,cl.prototype.requestList=void 0,cl.prototype.$reserved=void 0,cl.prototype.$objectType=void 0,cl.prototype.$unknownFields=void 0;var pl=new WeakSet;class yl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=pl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yl,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("filters","undefined or null"):new F("authorized","undefined or null"):new F("responseType","undefined or null"):new F("requestId","undefined or null")}}yl.prototype.requestId=void 0,yl.prototype.responseType=void 0,yl.prototype.authorized=void 0,yl.prototype.filters=void 0,yl.prototype.$reserved=void 0,yl.prototype.$objectType=void 0,yl.prototype.$unknownFields=void 0;var gl=new WeakSet;class vl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new vl,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=yl.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new F("response","undefined or null");if(!j.validateMaxItems(this.response,25))return new F("response","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.response,1))return new F("response","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}vl.prototype.response=void 0,vl.prototype.$reserved=void 0,vl.prototype.$objectType=void 0,vl.prototype.$unknownFields=void 0;const ml={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ml).find(t=>ml[t]===e);return null==t?ml.$UNKNOWN:ml[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ml.$UNKNOWN:case ml.$REDACTED:case ml.REMOVE_AP_TENANT_ID_FILTERS:case ml.NC_USER_AP_TO_USER_DEFINED:case ml.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case ml.REMOVE_CLIENT_FOUNDATION_CENTRAL:case ml.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case ml.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION }")}}};Object.freeze(ml);const wl=ml;var $l=new WeakSet;class fl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=$l),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fl,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(wl.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}fl.prototype.migrationType=void 0,fl.prototype.$reserved=void 0,fl.prototype.$objectType=void 0,fl.prototype.$unknownFields=void 0;class bl extends qn{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bl,qn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tl=new WeakSet;class kl extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tl),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kl,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(bl.constructFromObject(e.baseRoleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new F(t,"no such property exists"):new F("baseRoleProjection","undefined or null")}}function jl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}kl.prototype.baseRoleProjection=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fl=new WeakSet;class Ol extends vi{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Fl),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ol,vi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:jl(Fl,this,El).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:jl(Fl,this,El).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new F(t,"no such property exists"):new F("legacyClientName","undefined or null")}}function El(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ol.prototype.legacyClientName=void 0,vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Cl=new WeakSet;class Ul{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ul,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new F("addedObjects","undefined or null");if(!j.validateMaxItems(this.addedObjects,20))return new F("addedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedObjects,1))return new F("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new F("removedObjects","undefined or null");if(!j.validateMaxItems(this.removedObjects,20))return new F("removedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedObjects,1))return new F("removedObjects","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ul.prototype.addedObjects=void 0,Ul.prototype.removedObjects=void 0,Ul.prototype.$reserved=void 0,Ul.prototype.$objectType=void 0,Ul.prototype.$unknownFields=void 0;var Pl=new WeakSet;class Al{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Al,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new F("addedOperations","undefined or null");if(!j.validateMaxItems(this.addedOperations,20))return new F("addedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedOperations,1))return new F("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new F("removedOperations","undefined or null");if(!j.validateMaxItems(this.removedOperations,20))return new F("removedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedOperations,1))return new F("removedOperations","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Al.prototype.addedOperations=void 0,Al.prototype.removedOperations=void 0,Al.prototype.$reserved=void 0,Al.prototype.$objectType=void 0,Al.prototype.$unknownFields=void 0;var Il=new WeakSet;class Dl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Il),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Dl,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new F("newDisplayName","undefined or null");if(!j.validateMaxLength(this.newDisplayName,255))return new F("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new F("previousDisplayName","undefined or null");if(!j.validateMaxLength(this.previousDisplayName,255))return new F("previousDisplayName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Dl.prototype.newDisplayName=void 0,Dl.prototype.previousDisplayName=void 0,Dl.prototype.$reserved=void 0,Dl.prototype.$objectType=void 0,Dl.prototype.$unknownFields=void 0;var Nl=new WeakSet;class Rl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Nl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Rl,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(Dl.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(Ul.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset(Al.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset(Al.constructFromObject(e.legacyParentOperationListChangeset)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("legacyParentOperationListChangeset","undefined or null"):new F("legacyOperationListChangeset","undefined or null"):new F("legacyObjectListChangeset","undefined or null"):new F("displayNameChangeset","undefined or null")}}Rl.prototype.displayNameChangeset=void 0,Rl.prototype.legacyObjectListChangeset=void 0,Rl.prototype.legacyOperationListChangeset=void 0,Rl.prototype.legacyParentOperationListChangeset=void 0,Rl.prototype.$reserved=void 0,Rl.prototype.$objectType=void 0,Rl.prototype.$unknownFields=void 0;const Sl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Sl).find(t=>Sl[t]===e);return null==t?Sl.$UNKNOWN:Sl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Sl.$UNKNOWN:case Sl.$REDACTED:case Sl.OPERATION:case Sl.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(Sl);const Ll=Sl;function Ml(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var xl=new WeakSet;class Jl extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Jl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(Ll.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Rl.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ml(xl,this,_l).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ml(xl,this,_l).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("changeset","undefined or null"):new F("configType","undefined or null")}}function _l(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Jl.prototype.displayName=void 0,Jl.prototype.clientName=void 0,Jl.prototype.configType=void 0,Jl.prototype.changeset=void 0,Jl.prototype.createdTime=void 0,Jl.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Kl extends Jl{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kl,Jl.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Wl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ql=new WeakSet;class Bl extends Ci{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ql),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Bl,Ci.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Wl(ql,this,zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wl(ql,this,zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyObjectList","undefined or null")}}function zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bl.prototype.legacyObjectList=void 0,Bl.prototype.isInternal=void 0,Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Gl=new WeakSet;class Vl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Gl),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vl,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("shouldIncludeRelatedOperations","undefined or null")}}function Hl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vl.prototype.shouldIncludeRelatedOperations=void 0,Vl.prototype.$reserved=void 0,Vl.prototype.$objectType=void 0,Vl.prototype.$unknownFields=void 0;var Xl=new WeakSet;class Yl extends os{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Xl),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Yl,os.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Hl(Xl,this,Zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Hl(Xl,this,Zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new F(t,"no such property exists"):new F("legacyParentOperationList","undefined or null"):new F("legacyOperationList","undefined or null"):new F("isInternal","undefined or null")}}function Zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ql(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yl.prototype.isInternal=void 0,Yl.prototype.legacyOperationList=void 0,Yl.prototype.legacyParentOperationList=void 0,os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var eu=new WeakSet;class tu extends Hn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=eu),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tu,Hn.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ql(eu,this,nu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ql(eu,this,nu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyRole","undefined or null")}}function nu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}tu.prototype.legacyRole=void 0,tu.prototype.isInternal=void 0,Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var iu=new WeakSet;class su{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=iu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new su,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Qd.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new F("authorizationPolicies","undefined or null");if(!j.validateMaxItems(this.authorizationPolicies,50))return new F("authorizationPolicies","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}su.prototype.authorizationPolicies=void 0,su.prototype.$reserved=void 0,su.prototype.$objectType=void 0,su.prototype.$unknownFields=void 0;var ru=new WeakSet;class ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ru),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ou,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Bl.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,200))return new F("entities","does not satisfy required maxItems constraint: 200")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ou.prototype.entities=void 0,ou.prototype.$reserved=void 0,ou.prototype.$objectType=void 0,ou.prototype.$unknownFields=void 0;var au=new WeakSet;class du{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=au),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new du,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Yl.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,500))return new F("operations","does not satisfy required maxItems constraint: 500")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}du.prototype.operations=void 0,du.prototype.$reserved=void 0,du.prototype.$objectType=void 0,du.prototype.$unknownFields=void 0;const lu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(lu).find(t=>lu[t]===e);return null==t?lu.$UNKNOWN:lu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case lu.$UNKNOWN:case lu.$REDACTED:case lu.CREATE:case lu.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(lu);const uu=lu;var hu=new WeakSet;class cu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=hu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cu,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=tu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new F("roles","undefined or null");if(!j.validateMaxItems(this.roles,50))return new F("roles","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cu.prototype.roles=void 0,cu.prototype.$reserved=void 0,cu.prototype.$objectType=void 0,cu.prototype.$unknownFields=void 0;const pu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pu).find(t=>pu[t]===e);return null==t?pu.$UNKNOWN:pu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pu.$UNKNOWN:case pu.$REDACTED:case pu.CLIENT:case pu.ENTITY:case pu.OPERATION:case pu.ROLE:case pu.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(pu);const yu=pu;function gu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var vu=new WeakSet;class mu{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=vu),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mu,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(yu.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(uu.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(Ol.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(ou.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(du.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(cu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(su.constructFromObject(e.configList,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):gu(vu,this,wu).call(this,this.getConfigList(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):gu(vu,this,wu).call(this,this.getConfigList())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new F("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("configList","undefined or null"):new F("operationType","undefined or null")}}function wu(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mu.prototype.configType=void 0,mu.prototype.tenantId=void 0,mu.prototype.clientName=void 0,mu.prototype.operationType=void 0,mu.prototype.configList=void 0,mu.prototype.$reserved=void 0,mu.prototype.$objectType=void 0,mu.prototype.$unknownFields=void 0;var $u=new WeakSet;class fu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$u),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}fu.prototype.tenantName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class bu extends Cn{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bu,Cn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tu=new WeakSet;class ku extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tu),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ku,qn.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}ku.prototype.operations=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class ju extends ku{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ju,ku.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Fu=new WeakSet;class Ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fu),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ou,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}function Eu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ou.prototype.message=void 0,Ou.prototype.$reserved=void 0,Ou.prototype.$objectType=void 0,Ou.prototype.$unknownFields=void 0;var Cu=new WeakSet;class Uu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cu),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Uu,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ou.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Eu(Cu,this,Pu).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new F("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new F("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new F("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new F("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new F("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new F("validationErrorMessages","undefined or null");if(!j.validateMaxItems(this.validationErrorMessages,20))return new F("validationErrorMessages","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Pu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Uu.prototype.code=void 0,Uu.prototype.error=void 0,Uu.prototype.errorGroup=void 0,Uu.prototype.path=void 0,Uu.prototype.statusCode=void 0,Uu.prototype.timestamp=void 0,Uu.prototype.validationErrorMessages=void 0,Uu.prototype.$reserved=void 0,Uu.prototype.$objectType=void 0,Uu.prototype.$unknownFields=void 0;var Au=new WeakSet;class Iu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Au),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Iu,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(Uu.constructFromObject(e.error)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}Iu.prototype.error=void 0,Iu.prototype.$reserved=void 0,Iu.prototype.$objectType=void 0,Iu.prototype.$unknownFields=void 0;var Du=new WeakSet;class Nu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Du),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(Iu.constructFromObject(e.data)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new F(t,"no such property exists"):new F("data","undefined or null")}}Nu.prototype.data=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ru={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ru).find(t=>Ru[t]===e);return null==t?Ru.$UNKNOWN:Ru[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ru.$UNKNOWN:case Ru.$REDACTED:case Ru.ASC:case Ru.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Ru);const Su=Ru;var Lu=new WeakSet;class Mu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lu),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new F(t,"no such property exists"):new F("tenantDescription","undefined or null")}}Mu.prototype.tenantName=void 0,Mu.prototype.tenantDescription=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const xu={ApiClient:de,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},u={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId},h=mt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","POST",{},{},l,u,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],h)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Be;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=pt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=rt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let u={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(u[e]=d[e])});const h={...u},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId},p=lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","PUT",l,{},h,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Tn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=gn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=$n;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Wt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Jt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Qt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ci;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=_n;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ln;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=di;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=fi;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ii;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zi;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ys;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Hn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ts;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ws;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Os;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ps;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Hn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ns;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof zs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=sr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=er;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=vr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Ms;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=cr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof zs&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Xs;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tr&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Nr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Or;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Mr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Pr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof aa&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ma;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Po&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Zr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ko;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=ea;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=io;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=No;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Xo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof pa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=lo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Mo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Po&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=zo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof yo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=wo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Fa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ba&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:E,KVPair:N,MapOfStringWrapper:P,Message:x,MessageSeverity:L,TenantAwareModel:Ve,ApiLink:_,ApiResponseMetadata:q,ExternalizableAbstractModel:Xe,ActivateUserApiResponse:wo,AlgoType:Ia,ApiKeyDetails:_r,AuthMethodType:Na,AuthenticationResponse:Sa,AuthnMigrationRequest:Ja,AuthnMigrationType:Ma,BucketsAccessKey:jo,BucketsAccessKeyStatusType:bo,CertAuthProvider:tt,CertRevocationInfo:Ze,CertificateLoginRequest:Ka,ChangeUserPasswordApiResponse:ma,ClaimsType:qa,ConnectionDirectoryServiceApiResponse:gn,CreateCertAuthProviderApiResponse:mt,CreateDirectoryServiceApiResponse:$n,CreateKeyApiResponse:Ko,CreateSamlIdentityProviderApiResponse:sr,CreateUserApiResponse:ua,CreateUserGroupApiResponse:Nr,CreationType:Wr,DeleteCertAuthProviderApiResponse:Be,DeleteDirectoryServiceApiResponse:Wt,DeleteSamlIdentityProviderApiResponse:dr,DeleteUserGroupApiResponse:Or,DeleteUserKeyApiResponse:ea,DirectoryService:Dt,DirectoryServiceConnectionRequest:Tn,DirectoryServiceConnectionResponse:cn,DirectoryServiceInfo:Xa,DirectoryServiceInfoGroup:za,DirectoryServiceInfoOu:Va,DirectoryServiceSearchAttribute:zt,DirectoryServiceSearchEntity:Vt,DirectoryServiceSearchQuery:Jt,DirectoryServiceSearchResult:Xt,DirectoryType:ft,DiscoverySubjectType:Za,DsServiceAccount:Tt,Federation:id,FederationClaims:ed,GetCertAuthProviderApiResponse:pt,GetDirectoryServiceApiResponse:sn,GetSamlIdentityProviderApiResponse:er,GetSamlIdpSpMetadataApiResponse:vr,GetSamlSpMetadataApiResponse:Ms,GetUserApiResponse:sa,GetUserGroupApiResponse:Mr,GetUserKeyApiResponse:io,GetWelcomeBannerApiResponse:Fa,GrantType:od,Group:dd,GroupSearchType:jt,GroupType:$r,IdpMetadata:Ws,IdpType:xi,Key:Zr,KeyKind:Br,KeyMigrationSpec:ud,KeyStatus:Gr,KeyType:cd,ListCertAuthProvidersApiResponse:rt,ListDirectoryServicesApiResponse:dn,ListLoginProvidersApiResponse:zi,ListSamlIdentityProvidersApiResponse:cr,ListUserGroupsApiResponse:Pr,ListUserKeysApiResponse:No,ListUsersApiResponse:Xo,LoginProvider:Ki,LoginRequest:wd,NameIdPolicyFormat:_s,ObjectKeyDetails:Hr,ObjectsAuthDetails:bd,ObjectsAuthSpec:jd,OidcKey:Cd,OidcSubjectType:Pd,OidcUserinfo:Rd,OpenLdapConfig:Pt,PasswordChangeRequest:aa,PasswordChangeResponse:ya,PasswordResetRequest:pa,PasswordResetResponse:ro,ResetUserPasswordApiResponse:lo,AuthnResponseType:yd,RevokeUserKeyApiResponse:Mo,SamlIdentityProvider:zs,Scope:vd,ScopesType:Md,SearchDirectoryServiceApiResponse:Qt,SigningAlgoType:Jd,SubjectType:Kd,SystemConfig:Bd,AuthnTenant:Id,TokenRequest:Vd,UpdateCertAuthProviderApiResponse:lt,UpdateDirectoryServiceApiResponse:Lt,UpdateSamlIdentityProviderApiResponse:Xs,UpdateUserApiResponse:zo,UpdateWelcomeBannerApiResponse:Ua,UseType:Od,User:Po,UserConfiguration:Ot,UserGroup:Tr,UserGroupConfiguration:Ct,UserStateUpdate:yo,UserStateUpdateResponse:go,UserStatusType:co,UserType:Eo,ValidateCredentialsRequest:Xd,WelcomeBanner:ba,ApiVersion:Hi,AssociatedEndpoint:Qi,AttributeEntity:Fi,AuthorizationPolicy:Dn,AuthorizationPolicyConfig:Qd,AuthorizationPolicyProjection:ei,AuthorizationPolicyType:jn,AuthorizationRequest:cl,AuthorizationResponse:vl,AuthorizationResponseObject:yl,AuthorizeEntity:ol,AuthzMigrationRequest:fl,AuthzMigrationType:wl,BaseAuthorizationPolicy:Cn,BaseAuthorizationPolicyProjection:kl,BaseRole:qn,BaseRoleProjection:bl,Client:vi,ClientConfig:Ol,ConfigChangeset:Jl,ConfigChangesetData:Rl,ConfigChangesetDataObjects:Ul,ConfigChangesetDataOperations:Al,ConfigChangesetDisplayName:Dl,ConfigChangesetProjection:Kl,ConfigType:Ll,CreateAuthorizationPolicyApiResponse:ci,CreateRoleApiResponse:Ts,DeleteAuthorizationPolicyApiResponse:_n,DeleteRoleApiResponse:ws,Entity:Ci,EntityConfig:Bl,EntityFilter:On,EntityOperators:ki,GetAuthorizationPolicyApiResponse:Ln,GetClientApiResponse:fi,GetEntityApiResponse:Si,GetOperationApiResponse:ys,GetRoleApiResponse:Os,HttpMethod:Yi,IdentityFilter:Pn,IdentityObject:sl,IdentityType:nl,ListAuthorizationPoliciesApiResponse:si,ListEntitiesApiResponse:Ii,ListOperationsApiResponse:us,ListRolesApiResponse:Ps,MigrateRoleSpec:Vl,MigrationActionNotes:ts,Operation:os,OperationConfig:Yl,OperationSchemaChangeImpact:zn,OperationType:is,RequestObject:ul,AuthzResponseType:dl,Role:Hn,RoleConfig:tu,RoleProjection:Yn,SeedConfigAuthorizationPolicyList:su,SeedConfigEntityList:ou,SeedConfigOperationList:du,SeedConfigOperationType:uu,SeedConfigRequest:mu,SeedConfigRoleList:cu,SeedConfigType:yu,AuthzTenant:fu,UpdateAuthorizationPolicyApiResponse:di,UpdateRoleApiResponse:Ns,UserAuthorizationPolicy:bu,UserRole:ku,UserRoleProjection:ju,ActionBaseResponse:hn,CommonSchemaValidationError:Iu,CommonSchemaValidationErrorMessage:Uu,SchemaValidationErrorResponse:Nu,SortOrderType:Su,ValidationErrorMessage:Ou,AppMessage:Ae,ErrorResponse:_e,ErrorSchemaValidationError:Le,ErrorSchemaValidationErrorMessage:Ne,TenantTenant:Mu}})(),i.default})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Iam=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var s=(n=n.slice(0)).length;i<s;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},340(e){e.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,u){var h;if(l+=1,"object"==typeof e&&null!==e){for(h=0;h<r.length;h++)if(r[h]===e)return void a(n,e,i,o);if(void 0!==u.depthLimit&&l>u.depthLimit)return void a(t,e,i,o);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(h=0;h<e.length;h++)d(e[h],h,h,r,e,l,u);else{var c=Object.keys(e);for(h=0;h<c.length;h++){var p=c[h];d(e[p],p,h,r,e,l,u)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,o){void 0===o&&(o=r());var a,d=h(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function h(e,s,r,o,d,u,c){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&u>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)h(e[p],p,p,o,e,u,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];h(e[v],v,p,o,e,u,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},784(e,t,n){"use strict";var i="win32"===process.platform,s=n(818);function r(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}return n}function o(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,d=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=d.exec(i);return[n,s[1],s[2],s[3]]}function h(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function c(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var o;if(i>=0?o=arguments[i]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!s.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=h(o),d=a.device,l=a.isUnc,u=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=u),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=r(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=h(e),n=t.device,i=t.isUnc,s=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=r(o.split(/[\\\/]+/),!s).join("\\"))||s||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(s?"\\":"")+o},l.isAbsolute=function(e){return h(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),l.normalize(i)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=o(t.split("\\")),r=o(n.split("\\")),a=o(i.split("\\")),d=Math.min(r.length,a.length),u=d,h=0;h<d;h++)if(r[h]!==a[h]){u=h;break}if(0==u)return t;var c=[];for(h=u;h<r.length;h++)c.push("..");return(c=c.concat(s.slice(u))).join("\\")},l._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return u(e)[3]},l.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===l.sep?n+i:n+l.sep+i:i},l.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=u(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!s.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=r(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=r(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=o(e.split("/")),i=o(t.split("/")),s=Math.min(n.length,i.length),r=s,a=0;a<s;a++)if(n[a]!==i[a]){r=a;break}var d=[];for(a=r;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(r))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},y.sep="/",y.delimiter=":",e.exports=i?l:y,e.exports.posix=y,e.exports.win32=l},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var r=n(960),o=n(340),a=n(695),d=n(388),l=n(19),u=n(619);function h(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var c=t=e.exports;t.Request=$,c.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!d(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){g(e,t,n)});else if(d(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&g(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function m(e){return/[/+]json($|[^-\w])/.test(e)}function w(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),o[i]=s);return o}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function $(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new w(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function f(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=y,c.parseString=v,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":y,"application/json":o},c.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},l(w.prototype),w.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&m(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},w.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},c.Response=w,r($.prototype),a($.prototype),$.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},$.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},$.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},$.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},$.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},$.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},$.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},$.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},$.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},$.prototype.ca=$.prototype.agent,$.prototype.buffer=$.prototype.ca,$.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},$.prototype.pipe=$.prototype.write,$.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},$.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||h,this._finalizeQueryString(),this._end()},$.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},$.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=c.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var s=this._header["content-type"],r=this._serializer||c.serialize[s?s.split(";")[0]:""];!r&&m(s)&&(r=c.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},c.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=f,c.delete=f,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},r.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},r.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&s(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},19(e,t,n){"use strict";var i=n(897);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!$(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var $,k="",j=!1,F=["{","}"];return c(n)&&(j=!0,F=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(k=" "+RegExp.prototype.toString.call(n)),f(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==o.length||j&&0!=n.length?i<0?w(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),$=j?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(h(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(h(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return h(e,n,i,a,t,j)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}($,k,F)):F[0]+k+F[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function w(e){return $(e)&&"[object RegExp]"===k(e)}function $(e){return"object"==typeof e&&null!==e}function f(e){return $(e)&&"[object Date]"===k(e)}function b(e){return $(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function j(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=w,t.isObject=$,t.isDate=f,t.isError=b,t.isFunction=T,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[j((e=new Date).getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":"),[e.getDate(),F[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!$(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},548(){},799(){},545(){},965(){}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>xu});var e,t=n(585),s=n.n(t);class r{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new r,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=de.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}r.prototype.linkFirst=null,r.prototype.linkPrev=null,r.prototype.linkNext=null,r.prototype.linkLast=null,r.prototype.apiClient=null,r.prototype.page=null,r.prototype.resultsPerPage=null,r.prototype.resultsTotal=null;var o=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}const d=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var l=[],u=0;u<256;++u)l.push((u+256).toString(16).substr(1));const h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&d.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},c=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return h(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),m=n(799),w=n.n(m),$=n(784),f=n.n($),b=n(548);const T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const k=T;class j{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class F{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var O=new WeakSet;class E{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=O),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new E,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function C(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}E.prototype.name=void 0,E.prototype.value=!1,E.prototype.$reserved=void 0,E.prototype.$objectType=void 0,E.prototype.$unknownFields=void 0;var P=new WeakSet;class U{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=P),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new U,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(P,this,A).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(P,this,A).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("map","undefined or null")}}function A(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function I(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}U.prototype.map=void 0,U.prototype.$reserved=void 0,U.prototype.$objectType=void 0,U.prototype.$unknownFields=void 0;var D=new WeakSet;class N{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=D),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new N,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=U.constructFromObject(i[r],void 0),o.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(o)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)));break;default:throw"Unknown datatype "+a+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):I(D,this,R).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):I(D,this,R).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function R(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}N.prototype.name=void 0,N.prototype.value=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;const S={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(S).find(t=>S[t]===e);return null==t?S.$UNKNOWN:S[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case S.$UNKNOWN:case S.$REDACTED:case S.INFO:case S.WARNING:case S.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(S);const L=S;var M=new WeakSet;class x{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=M),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new x,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("severity","undefined or null"):new F("locale","undefined or null"):new F("message","undefined or null"):new F("code","undefined or null")}}x.prototype.code=void 0,x.prototype.message=void 0,x.prototype.locale="en_US",x.prototype.severity=void 0,x.prototype.$reserved=void 0,x.prototype.$objectType=void 0,x.prototype.$unknownFields=void 0;var J=new WeakSet;class _{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=J),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("rel","undefined or null"):new F("href","undefined or null")}}_.prototype.href=void 0,_.prototype.rel=void 0,_.prototype.$reserved=void 0,_.prototype.$objectType=void 0,_.prototype.$unknownFields=void 0;var K,W=new WeakSet;class q{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=W),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new q,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=E.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(o=[],i=e.messages,r=0;r<i.length;r++)s=x.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new F("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new F("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new F("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new F("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new F("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new F("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new F("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function B(e,t,n){z(e,t),t.set(e,n)}function z(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function G(e,t){return e.get(H(e,t))}function V(e,t,n){return e.set(H(e,t),n),n}function H(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}q.prototype.flags=void 0,q.prototype.links=void 0,q.prototype.totalAvailableResults=void 0,q.prototype.messages=void 0,q.prototype.extraInfo=void 0,q.prototype.$reserved=void 0,q.prototype.$objectType=void 0,q.prototype.$unknownFields=void 0,y()(s());var X=new WeakMap,Y=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakSet;class de{constructor(){var e;z(this,e=ae),e.add(this),B(this,X,void 0),B(this,Y,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,se,void 0),B(this,re,void 0),B(this,oe,void 0),V(oe,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",V(ie,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},V(ee,this,3e4),V(te,this,3e4),V(ne,this,108e5),this.readTimeout=G(te,this),this.connectTimeout=G(ee,this),this.cache=!0,V(Y,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(s().agent)),this.requestAgent=null,V(re,this,null),this.allowVersionNegotiation=!0,V(se,this,!1),this.debug=!1,V(Z,this,null),this.username=null,this.password=null,V(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),V(Q,this,e)}get verifySsl(){return G(Q,this)}set host(e){V(ie,this,e),V(se,this,!1),V(re,this,null)}get host(){return G(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=w().createWriteStream(e,{flags:"a"})),V(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&V(Y,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==G(re,this)&&null!==G(re,this)&&null!==G(re,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b2"!==G(re,this)){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Changing uri",e,"to negotiated version",G(re,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,G(re,this))}V(X,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==G(X,this)&&""!==this.host&&""!==this.port?i=G(X,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){let i=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return G(re,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===G(se,this)?this.callApiInternal("/api/iam/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,s="v4.1.b2";if(H(ae,this,we).call(this,H(ae,this,$e).call(this,i),H(ae,this,$e).call(this,s)))return H(ae,this,ke).call(this,G(oe,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),V(re,this,null),V(se,this,!1),void n(e);V(re,this,H(ae,this,me).call(this,"v4.1.b2",i)),V(se,this,!0),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Negotiated Version with server :",G(re,this)),n(e)}else H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}).catch(t=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,u){return this.negotiateVersion(this,a).then(function(h){return h.callApiInternal(e,t,n,i,s,r,o,a,d,l,u)})}callApiInternal(e,t,i,r,o,a,d,l,u,h,p){var y=this.buildUrl(e,i);const g="undefined"!=typeof window&&void 0!==window.document;let v=["application/octet-stream","application/pdf","application/zip"];if(h&&h.length>0&&h.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=H(ae,this,Ee).call(this,y,t,r,o,d,l,u,h);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),n(e)})});var m=s()(t,y);if(m.oldCallback=m.callback,m.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},H(ae,this,pe).call(this,m,l),"GET"===t.toUpperCase()&&!1===this.cache&&(r._=(new Date).getTime()),m.query(H(ae,this,ce).call(this,r)),m.set(this.defaultHeaders).set(H(ae,this,ce).call(this,o)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==o["NTNX-Request-Id"]&&void 0!==o["NTNX-Request-Id"])){let e=c();m.set(H(ae,this,ce).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",m.set(H(ae,this,ce).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.2-beta.2"}))),this.requestAgent&&m.agent(this.requestAgent);var $={};$.response=H(ae,this,fe).call(this,this.connectTimeout,G(ee,this)),$.deadline=H(ae,this,fe).call(this,this.readTimeout,G(te,this)),m.timeout($);var f=o.hasOwnProperty("Content-Type")?o["Content-Type"]:H(ae,this,ue).call(this,u);if(f?"multipart/form-data"!=f&&m.type(f):m.header["Content-Type"]||m.type("application/json"),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,y),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",void 0===m.header?"":m.header),"application/x-www-form-urlencoded"===f)m.send(H(ae,this,ce).call(this,a));else if("multipart/form-data"==f){var b=H(ae,this,ce).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(H(ae,this,he).call(this,b[T])?m.attach(T,b[T]):m.field(T,b[T]))}else{if("application/octet-stream"===f&&null!=d&&"function"==typeof d.pipe){if(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Piping octet-stream request"),"function"==typeof d.pipe)d.pipe(m);else{let e;try{e=n(965)}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error fetching steam/web")}d instanceof e.ReadableStream?d.pipeTo(new e.WritableStream({write(e){m.write(e)},close(){H(ae,this,ke).call(this,G(oe,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"READABLE STREAM ABORTED")}})):m.send(d)}return new Promise((t,n)=>{m.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{H(ae,this,Oe).call(this,i,e,r,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&d&&m.send(d)}"Blob"==typeof p?m.responseType("blob"):"String"===p&&m.responseType("string"),H(ae,this,Te).call(this,m),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",void 0===m._data?"":m._data);var k=o.hasOwnProperty("Accept")&&null!=o.Accept?o.Accept:h.join(", ");return k&&m.accept(k),new Promise((n,i)=>{m.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e)}).end((o,a)=>{if(o)H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error during the request!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),404===o.status&&(V(se,this,!1),V(re,this,null)),null!==o.response&&void 0!==o.response?o.data=H(ae,this,ge).call(this,o.response,p):o.data=H(ae,this,ye).call(this,o),i(o);else{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",a.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",a.headers);let o="";if(a.headers.hasOwnProperty("content-type")&&(o=a.headers["content-type"]),v.includes(o)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=w().createWriteStream(e);H(ae,this,Ce).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",r=this;H(ae,this,ke).call(this,G(oe,this).INFO,null,"Redirecting to :",a.headers.location);var d=s()(t,a.headers.location);d.set(m.header),a.headers.hasOwnProperty("x-redirect-token")&&(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Writing X-Redirect-Token into Cookie"),d.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&d.agent(this.requestAgent),d.redirects(0),d.withCredentials(this.withCredentials),d.buffer(!1);let o=w().createWriteStream(e);d.pipe(o),d.on("response",function(t){H(ae,r,ke).call(r,G(oe,r).INFO,null,"Received response after redirection :",t.status),H(ae,r,Ce).call(r,t,o,e,n,i,p)})}else H(ae,this,Oe).call(this,a,e,r,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return de.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>de.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=de.convertToType(r,i),d=de.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=de.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=de.convertToType(e[s],n))}}function le(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(H(ae,this,le).call(this,e[t]))return e[t];return e[0]}function he(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof b.Blob&&e instanceof b.Blob||"function"==typeof File&&e instanceof File}function ce(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];H(ae,this,he).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function pe(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ye(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ge(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(n=new t).data=new b.Blob([e.text],{type:e.headers["content-type"]});let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;return r.flags=s,n.metadata=r,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),K.convertToType(n,t)}function ve(e,t,n){if(!(e instanceof r))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function me(e,t){if(!e||!t)return e;let n=H(ae,this,$e).call(this,e),i=H(ae,this,$e).call(this,t);return!n.family===i.family||H(ae,this,we).call(this,n,i)?e:t}function we(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function $e(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function fe(e,t){return e<=0?e=t:e>G(ne,this)&&(e=G(ne,this)),e}function be(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}V(Y,this,t),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Retained cookie :",t)}else V(Y,this,null)}function Te(e){null!=G(Y,this)&&e.set(H(ae,this,ce).call(this,{Cookie:G(Y,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=G(oe,this).INFO),!H(ae,this,je).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==G(Z,this)&&null!==G(Z,this)&&"function"==typeof G(Z,this).log?G(Z,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===G(oe,this).DEBUG}function Fe(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function Oe(e,t,n,i,s,r){try{var o=H(ae,this,ge).call(this,e,i);H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",e.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",e.headers),H(ae,this,be).call(this,e||{}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),H(ae,this,ve).call(this,o,t,n),s({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error while processing response!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),e.data=H(ae,this,ye).call(this,e),r(e)}}function Ee(e,t,n,i,s,r,o,a){let d={};r.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);d.Authorization=`Basic ${t}`}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const l=H(ae,this,ce).call(this,n),u=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let h=e;u&&(h+=(h.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...H(ae,this,ce).call(this,i),...d};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=c();p["NTNX-Request-Id"]=e}null!=G(Y,this)&&(p.Cookie=H(ae,this,ce).call(this,{Cookie:G(Y,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:H(ae,this,ue).call(this,o);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,e),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",p),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",s||""),{url:h,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Ce(e,t,n,i,s,r){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=f().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.data={path:f().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;r.flags=s,o.metadata=r}e.on("end",()=>{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),0!==a.length?(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),w().renameSync(n,a),i({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),error.data=H(ae,this,ye).call(this,error),s(e)})}function Pe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}K=de,de.instance=new de;var Ue=new WeakSet;class Ae{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ue),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ae,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Pe(Ue,this,Ie).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Pe(Ue,this,Ie).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("argumentsMap","undefined or null"):new F("errorGroup","undefined or null"):new F("locale","undefined or null"):new F("code","undefined or null"):new F("severity","undefined or null"):new F("message","undefined or null")}}function Ie(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ae.prototype.message=void 0,Ae.prototype.severity=void 0,Ae.prototype.code=void 0,Ae.prototype.locale="en_US",Ae.prototype.errorGroup=void 0,Ae.prototype.argumentsMap=void 0,Ae.prototype.$reserved=void 0,Ae.prototype.$objectType=void 0,Ae.prototype.$unknownFields=void 0;var De=new WeakSet;class Ne{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=De),t.add(e),this.$objectType="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ne,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributePath","undefined or null"):new F("message","undefined or null"):new F("location","undefined or null")}}function Re(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ne.prototype.location=void 0,Ne.prototype.message=void 0,Ne.prototype.attributePath=void 0,Ne.prototype.$reserved=void 0,Ne.prototype.$objectType=void 0,Ne.prototype.$unknownFields=void 0;var Se=new WeakSet;class Le{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Se),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Le,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ne.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Re(Se,this,Me).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("validationErrorMessages","undefined or null"):new F("path","undefined or null"):new F("error","undefined or null"):new F("statusCode","undefined or null"):new F("timestamp","undefined or null")}}function Me(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Le.prototype.timestamp=void 0,Le.prototype.statusCode=void 0,Le.prototype.error=void 0,Le.prototype.path=void 0,Le.prototype.validationErrorMessages=void 0,Le.prototype.$reserved=void 0,Le.prototype.$objectType=void 0,Le.prototype.$unknownFields=void 0;var Je=new WeakSet;class _e{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Je),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new _e,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("iam.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ae.constructFromObject(i[r],void 0),o.push(s)}t.setError(o)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Le.constructFromObject(e.error,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):xe(Je,this,Ke).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):xe(Je,this,Ke).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}function Ke(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function We(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_e.prototype.error=void 0,_e.prototype.$reserved=void 0,_e.prototype.$objectType=void 0,_e.prototype.$unknownFields=void 0;var qe=new WeakSet;class Be extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qe),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Be,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):We(qe,this,ze).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):We(qe,this,ze).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ze(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Be.prototype.metadata=void 0,Be.prototype.data=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ve{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ge),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ve,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ve.prototype.tenantId=void 0,Ve.prototype.$reserved=void 0,Ve.prototype.$objectType=void 0,Ve.prototype.$unknownFields=void 0;var He=new WeakSet;class Xe extends Ve{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=He),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xe,Ve.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new F("extId","undefined or null");if(null==e){if(!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===k.update&&!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}return new F(t,"no such property exists")}}Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ye=new WeakSet;class Ze{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ye),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ze,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new F("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new F("ocspResponder","undefined or null");if(!j.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new F("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new F("crlDps","undefined or null");if(!j.validateMaxItems(this.crlDps,10))return new F("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("globalCrlRefreshInterval","undefined or null")}}function Qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ze.prototype.isOcspEnabled=void 0,Ze.prototype.ocspResponder=void 0,Ze.prototype.isCrlEnabled=void 0,Ze.prototype.crlDps=void 0,Ze.prototype.globalCrlRefreshInterval=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var et=new WeakSet;class tt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=et),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(Ze.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Qe(et,this,nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Qe(et,this,nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new F("clientCaChain","undefined or null");if(!j.validateMinLength(this.clientCaChain,64))return new F("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new F("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new F("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new F("dirSvcExtID","undefined or null");if(!j.validatePattern(this.dirSvcExtID,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("dirSvcExtID","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new F("caCertFileName","undefined or null");if(!j.validateMaxLength(this.caCertFileName,255))return new F("caCertFileName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.caCertFileName,1))return new F("caCertFileName","does not satisfy required minLength constraint: 1")}return"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("certRevocationInfo","undefined or null")}}function nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function it(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}tt.prototype.name=void 0,tt.prototype.clientCaChain=void 0,tt.prototype.isCertAuthEnabled=void 0,tt.prototype.isCacEnabled=void 0,tt.prototype.dirSvcExtID=void 0,tt.prototype.caCertFileName=void 0,tt.prototype.certRevocationInfo=void 0,tt.prototype.createdTime=void 0,tt.prototype.lastUpdatedTime=void 0,tt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var st=new WeakSet;class rt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=st),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new rt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.CertAuthProvider"!==d)throw"Unknown list of type "+d+" in data";s=tt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):it(st,this,ot).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):it(st,this,ot).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ot(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function at(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rt.prototype.metadata=void 0,rt.prototype.data=void 0,rt.prototype.$reserved=void 0,rt.prototype.$objectType=void 0,rt.prototype.$unknownFields=void 0;var dt=new WeakSet;class lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):at(dt,this,ut).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):at(dt,this,ut).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ut(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ht(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lt.prototype.metadata=void 0,lt.prototype.data=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var ct=new WeakSet;class pt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ct),t.add(e),this.$objectType="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ht(ct,this,yt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ht(ct,this,yt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function yt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function gt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pt.prototype.metadata=void 0,pt.prototype.data=void 0,pt.prototype.$reserved=void 0,pt.prototype.$objectType=void 0,pt.prototype.$unknownFields=void 0;var vt=new WeakSet;class mt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vt),t.add(e),this.$objectType="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gt(vt,this,wt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gt(vt,this,wt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mt.prototype.metadata=void 0,mt.prototype.data=void 0,mt.prototype.$reserved=void 0,mt.prototype.$objectType=void 0,mt.prototype.$unknownFields=void 0;const $t={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($t).find(t=>$t[t]===e);return null==t?$t.$UNKNOWN:$t[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $t.$UNKNOWN:case $t.$REDACTED:case $t.ACTIVE_DIRECTORY:case $t.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze($t);const ft=$t;var bt=new WeakSet;class Tt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bt),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tt,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tt.prototype.username=void 0,Tt.prototype.password=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;const kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kt).find(t=>kt[t]===e);return null==t?kt.$UNKNOWN:kt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kt.$UNKNOWN:case kt.$REDACTED:case kt.NON_RECURSIVE:case kt.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(kt);const jt=kt;var Ft=new WeakSet;class Ot{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ft),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ot,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new F("userObjectClass","undefined or null");if(!j.validateMaxLength(this.userObjectClass,64))return new F("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new F("userSearchBase","undefined or null");if(!j.validateMaxLength(this.userSearchBase,200))return new F("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,64))return new F("usernameAttribute","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ot.prototype.userObjectClass=void 0,Ot.prototype.userSearchBase=void 0,Ot.prototype.usernameAttribute=void 0,Ot.prototype.$reserved=void 0,Ot.prototype.$objectType=void 0,Ot.prototype.$unknownFields=void 0;var Et=new WeakSet;class Ct{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Et),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new F("groupObjectClass","undefined or null");if(!j.validateMaxLength(this.groupObjectClass,64))return new F("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new F("groupSearchBase","undefined or null");if(!j.validateMaxLength(this.groupSearchBase,200))return new F("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new F("groupMemberAttribute","undefined or null");if(!j.validateMaxLength(this.groupMemberAttribute,64))return new F("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new F("groupMemberAttributeValue","undefined or null");if(!j.validateMaxLength(this.groupMemberAttributeValue,64))return new F("groupMemberAttributeValue","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ct.prototype.groupObjectClass=void 0,Ct.prototype.groupSearchBase=void 0,Ct.prototype.groupMemberAttribute=void 0,Ct.prototype.groupMemberAttributeValue=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;var Pt=new WeakSet;class Ut{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Pt),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ut,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(Ot.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(Ct.constructFromObject(e.userGroupConfiguration)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("userGroupConfiguration","undefined or null"):new F("userConfiguration","undefined or null")}}function At(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ut.prototype.userConfiguration=void 0,Ut.prototype.userGroupConfiguration=void 0,Ut.prototype.$reserved=void 0,Ut.prototype.$objectType=void 0,Ut.prototype.$unknownFields=void 0;var It=new WeakSet;class Dt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=It),t.add(e),this.$objectType="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Dt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(ft.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Tt.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(Ut.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(jt.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:At(It,this,Nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:At(It,this,Nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new F("url","undefined or null");if(!j.validateMaxLength(this.url,2e3))return new F("url","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.url,3))return new F("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new F("secondaryUrls","undefined or null");if(!j.validateMaxItems(this.secondaryUrls,5))return new F("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new F("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new F("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new F("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new F("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new F("whiteListedGroups","undefined or null");if(!j.validateMaxItems(this.whiteListedGroups,1e3))return new F("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dt.prototype.name=void 0,Dt.prototype.url=void 0,Dt.prototype.secondaryUrls=void 0,Dt.prototype.domainName=void 0,Dt.prototype.directoryType=void 0,Dt.prototype.serviceAccount=void 0,Dt.prototype.openLdapConfiguration=void 0,Dt.prototype.groupSearchType=void 0,Dt.prototype.whiteListedGroups=void 0,Dt.prototype.createdTime=void 0,Dt.prototype.lastUpdatedTime=void 0,Dt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var St=new WeakSet;class Lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=St),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rt(St,this,Mt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rt(St,this,Mt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Lt.prototype.metadata=void 0,Lt.prototype.data=void 0,Lt.prototype.$reserved=void 0,Lt.prototype.$objectType=void 0,Lt.prototype.$unknownFields=void 0;var xt=new WeakSet;class Jt{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xt),n.add(t),this.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Jt,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new F("query","undefined or null");if(!j.validateMaxLength(this.query,2e3))return new F("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new F("searchedAttributes","undefined or null");if(!j.validateMaxItems(this.searchedAttributes,25))return new F("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new F("returnedAttributes","undefined or null");if(!j.validateMaxItems(this.returnedAttributes,25))return new F("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("isWildcardSearch","undefined or null")}}function _t(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Jt.prototype.query=void 0,Jt.prototype.searchedAttributes=void 0,Jt.prototype.returnedAttributes=void 0,Jt.prototype.isWildcardSearch=!0,Jt.prototype.$reserved=void 0,Jt.prototype.$objectType=void 0,Jt.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Kt),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):_t(Kt,this,qt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):_t(Kt,this,qt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function qt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var Bt=new WeakSet;class zt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Bt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zt,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValues(){return this.values}setValues(e){this.values=e}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new F("values","undefined or null");if(!j.validateMaxItems(this.values,25))return new F("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,1e3))return new F("name","does not satisfy required maxLength constraint: 1000")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}zt.prototype.values=void 0,zt.prototype.name=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Gt=new WeakSet;class Vt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Gt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Vt,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=zt.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new F("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new F("name","does not satisfy required maxLength constraint: 64")}if("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new F("attributes","undefined or null");if(!j.validateMaxItems(this.attributes,25))return new F("attributes","does not satisfy required maxItems constraint: 25")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Vt.prototype.entityType=void 0,Vt.prototype.name=void 0,Vt.prototype.attributes=void 0,Vt.prototype.$reserved=void 0,Vt.prototype.$objectType=void 0,Vt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Xt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ht),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xt,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Vt.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new F("searchResults","undefined or null");if(!j.validateMaxItems(this.searchResults,1e3))return new F("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xt.prototype.searchResults=void 0,Xt.prototype.domainName=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zt),t.add(e),this.$objectType="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Xt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Yt(Zt,this,en).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Yt(Zt,this,en).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function en(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function tn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Qt.prototype.metadata=void 0,Qt.prototype.data=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;var nn=new WeakSet;class sn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nn),t.add(e),this.$objectType="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):tn(nn,this,rn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):tn(nn,this,rn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function on(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;var an=new WeakSet;class dn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=an),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new dn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.DirectoryService"!==d)throw"Unknown list of type "+d+" in data";s=Dt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):on(an,this,ln).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):on(an,this,ln).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ln(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}dn.prototype.metadata=void 0,dn.prototype.data=void 0,dn.prototype.$reserved=void 0,dn.prototype.$objectType=void 0,dn.prototype.$unknownFields=void 0;var un=new WeakSet;class hn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=un),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hn,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}hn.prototype.message=void 0,hn.prototype.$reserved=void 0,hn.prototype.$objectType=void 0,hn.prototype.$unknownFields=void 0;class cn extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cn,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function pn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var yn=new WeakSet;class gn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yn),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(cn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):pn(yn,this,vn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):pn(yn,this,vn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function vn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function mn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}gn.prototype.metadata=void 0,gn.prototype.data=void 0,gn.prototype.$reserved=void 0,gn.prototype.$objectType=void 0,gn.prototype.$unknownFields=void 0;var wn=new WeakSet;class $n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=wn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):mn(wn,this,fn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):mn(wn,this,fn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function fn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$n.prototype.metadata=void 0,$n.prototype.data=void 0,$n.prototype.$reserved=void 0,$n.prototype.$objectType=void 0,$n.prototype.$unknownFields=void 0;var bn=new WeakSet;class Tn{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tn.prototype.username=void 0,Tn.prototype.password=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;const kn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kn).find(t=>kn[t]===e);return null==t?kn.$UNKNOWN:kn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kn.$UNKNOWN:case kn.$REDACTED:case kn.USER_DEFINED:case kn.SERVICE_DEFINED:case kn.PREDEFINED_READ_ONLY:case kn.PREDEFINED_UPDATE_IDENTITY_ONLY:case kn.SERVICE_DEFINED_READ_ONLY:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY }")}}};Object.freeze(kn);const jn=kn;var Fn=new WeakSet;class On{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fn),t.add(e),this.$objectType="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entityFilter","undefined or null")}}On.prototype.entityFilter=void 0,On.prototype.$reserved=void 0,On.prototype.$objectType=void 0,On.prototype.$unknownFields=void 0;var En=new WeakSet;class Cn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=En),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=On.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!j.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new F("role","undefined or null");if(!j.validateMaxLength(this.role,255))return new F("role","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.role,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("role","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new F(t,"no such property exists")}}Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Pn=new WeakSet;class Un{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pn),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Un,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("identityFilter","undefined or null")}}function An(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Un.prototype.identityFilter=void 0,Un.prototype.$reserved=void 0,Un.prototype.$objectType=void 0,Un.prototype.$unknownFields=void 0;var In=new WeakSet;class Dn extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=In),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Dn,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=Un.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(jn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:An(In,this,Nn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:An(In,this,Nn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new F("identities","undefined or null");if(!j.validateMaxItems(this.identities,600))return new F("identities","does not satisfy required maxItems constraint: 600");if(!j.validateMinItems(this.identities,1))return new F("identities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new F(t,"no such property exists"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("authorizationPolicyType","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Sn=new WeakSet;class Ln extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Sn),t.add(e),this.$objectType="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ln,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rn(Sn,this,Mn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rn(Sn,this,Mn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function xn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ln.prototype.metadata=void 0,Ln.prototype.data=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Jn=new WeakSet;class _n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Jn),t.add(e),this.$objectType="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):xn(Jn,this,Kn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):xn(Jn,this,Kn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}_n.prototype.metadata=void 0,_n.prototype.data=void 0,_n.prototype.$reserved=void 0,_n.prototype.$objectType=void 0,_n.prototype.$unknownFields=void 0;var Wn=new WeakSet;class qn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Wn),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bn).find(t=>Bn[t]===e);return null==t?Bn.$UNKNOWN:Bn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bn.$UNKNOWN:case Bn.$REDACTED:case Bn.IMPACTED:case Bn.NOT_IMPACTED:case Bn.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(Bn);const zn=Bn;function Gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Vn=new WeakSet;class Hn extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vn),t.add(e),this.$objectType="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Hn,qn.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(zn.constructFromObject(e.operationSchemaChangeImpact)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gn(Vn,this,Xn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gn(Vn,this,Xn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new F("accessibleClients","undefined or null");if(!j.validateMaxItems(this.accessibleClients,50))return new F("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new F("accessibleEntityTypes","undefined or null");if(!j.validateMaxItems(this.accessibleEntityTypes,500))return new F("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}return"accessibleClientsCount"!==t||void 0!==this.accessibleClientsCount&&null!==this.accessibleClientsCount?"accessibleEntityTypesCount"!==t||void 0!==this.accessibleEntityTypesCount&&null!==this.accessibleEntityTypesCount?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new F(t,"no such property exists"):new F("operationSchemaChangeImpact","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("accessibleEntityTypesCount","undefined or null"):new F("accessibleClientsCount","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Yn extends Hn{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yn,Hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Zn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Qn=new WeakSet;class ei extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qn),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ei,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(Yn.constructFromObject(e.roleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Zn(Qn,this,ti).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Zn(Qn,this,ti).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ei.prototype.roleProjection=void 0,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ii=new WeakSet;class si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ii),t.add(e),this.$objectType="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.AuthorizationPolicy":s=Dn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=ei.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ni(ii,this,ri).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ni(ii,this,ri).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ri(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}si.prototype.metadata=void 0,si.prototype.data=void 0,si.prototype.$reserved=void 0,si.prototype.$objectType=void 0,si.prototype.$unknownFields=void 0;var ai=new WeakSet;class di extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ai),t.add(e),this.$objectType="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new di,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oi(ai,this,li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oi(ai,this,li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ui(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}di.prototype.metadata=void 0,di.prototype.data=void 0,di.prototype.$reserved=void 0,di.prototype.$objectType=void 0,di.prototype.$unknownFields=void 0;var hi=new WeakSet;class ci extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hi),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ci,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ui(hi,this,pi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ui(hi,this,pi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ci.prototype.metadata=void 0,ci.prototype.data=void 0,ci.prototype.$reserved=void 0,ci.prototype.$objectType=void 0,ci.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=gi),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yi(gi,this,mi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yi(gi,this,mi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new F("deploymentList","undefined or null");if(!j.validateMaxItems(this.deploymentList,5))return new F("deploymentList","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.deploymentList,1))return new F("deploymentList","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}function mi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function wi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var $i=new WeakSet;class fi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$i),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Client":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wi($i,this,bi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wi($i,this,bi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function bi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}fi.prototype.metadata=void 0,fi.prototype.data=void 0,fi.prototype.$reserved=void 0,fi.prototype.$objectType=void 0,fi.prototype.$unknownFields=void 0;const Ti={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ti).find(t=>Ti[t]===e);return null==t?Ti.$UNKNOWN:Ti[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ti.$UNKNOWN:case Ti.$REDACTED:case Ti.ALLOF:case Ti.ANYOF:case Ti.EQ:case Ti.NONEOF:case Ti.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Ti);const ki=Ti;var ji=new WeakSet;class Fi extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ji),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Fi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=ki.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^\\\"]*$/))return new F("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new F("supportedOperators","undefined or null");if(!j.validateMaxItems(this.supportedOperators,5))return new F("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new F("attributeValues","undefined or null");if(!j.validateMaxItems(this.attributeValues,25))return new F("attributeValues","does not satisfy required maxItems constraint: 25")}return new F(t,"no such property exists")}}function Oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fi.prototype.displayName=void 0,Fi.prototype.name=void 0,Fi.prototype.supportedOperators=void 0,Fi.prototype.attributeValues=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ei=new WeakSet;class Ci extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ei),t.add(e),this.$objectType="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ci,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=Fi.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Oi(Ei,this,Pi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Oi(Ei,this,Pi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new F("searchURL","undefined or null");if(!j.validateMaxLength(this.searchURL,2e3))return new F("searchURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.searchURL,3))return new F("searchURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new F("attributeList","undefined or null");if(!j.validateMaxItems(this.attributeList,10))return new F("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new F(t,"no such property exists"):new F("isLogicalAndSupportedForAttributes","undefined or null")}}function Pi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ui(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ai=new WeakSet;class Ii extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ai),t.add(e),this.$objectType="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ii,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Entity"!==d)throw"Unknown list of type "+d+" in data";s=Ci.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ui(Ai,this,Di).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ui(Ai,this,Di).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Di(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ii.prototype.metadata=void 0,Ii.prototype.data=void 0,Ii.prototype.$reserved=void 0,Ii.prototype.$objectType=void 0,Ii.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ri),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Entity":t.setData(Ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ni(Ri,this,Li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ni(Ri,this,Li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Si.prototype.metadata=void 0,Si.prototype.data=void 0,Si.prototype.$reserved=void 0,Si.prototype.$objectType=void 0,Si.prototype.$unknownFields=void 0;const Mi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Mi).find(t=>Mi[t]===e);return null==t?Mi.$UNKNOWN:Mi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Mi.$UNKNOWN:case Mi.$REDACTED:case Mi.LOCAL:case Mi.SAML:case Mi.LDAP:case Mi.CERT:case Mi.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Mi);const xi=Mi;function Ji(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var _i=new WeakSet;class Ki extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_i),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ki,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(xi.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ji(_i,this,Wi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ji(_i,this,Wi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"type"!==t||void 0!==this.type&&null!==this.type?"isBrowserLoginSupported"!==t||void 0!==this.isBrowserLoginSupported&&null!==this.isBrowserLoginSupported?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isBrowserLoginSupported","undefined or null"):new F("type","undefined or null")}}function Wi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ki.prototype.name=void 0,Ki.prototype.type=void 0,Ki.prototype.isBrowserLoginSupported=void 0,Ki.prototype.createdTime=void 0,Ki.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Bi=new WeakSet;class zi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bi),t.add(e),this.$objectType="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new zi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.LoginProvider"!==d)throw"Unknown list of type "+d+" in data";s=Ki.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qi(Bi,this,Gi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qi(Bi,this,Gi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}zi.prototype.metadata=void 0,zi.prototype.data=void 0,zi.prototype.$reserved=void 0,zi.prototype.$objectType=void 0,zi.prototype.$unknownFields=void 0;const Vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vi).find(t=>Vi[t]===e);return null==t?Vi.$UNKNOWN:Vi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vi.$UNKNOWN:case Vi.$REDACTED:case Vi.V3:case Vi.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(Vi);const Hi=Vi,Xi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xi).find(t=>Xi[t]===e);return null==t?Xi.$UNKNOWN:Xi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xi.$UNKNOWN:case Xi.$REDACTED:case Xi.POST:case Xi.GET:case Xi.PUT:case Xi.PATCH:case Xi.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(Xi);const Yi=Xi;var Zi=new WeakSet;class Qi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Zi),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qi,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(Hi.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Yi.constructFromObject(e.httpMethod)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new F("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new F("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("httpMethod","undefined or null")}}Qi.prototype.apiVersion=void 0,Qi.prototype.endpointUrl=void 0,Qi.prototype.httpMethod=void 0,Qi.prototype.$reserved=void 0,Qi.prototype.$objectType=void 0,Qi.prototype.$unknownFields=void 0;var es=new WeakSet;class ts{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=es),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ts,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new F("notes","undefined or null");if(!j.validateMaxLength(this.notes,1e3))return new F("notes","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ts.prototype.notes=void 0,ts.prototype.$reserved=void 0,ts.prototype.$objectType=void 0,ts.prototype.$unknownFields=void 0;const ns={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ns).find(t=>ns[t]===e);return null==t?ns.$UNKNOWN:ns[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ns.$UNKNOWN:case ns.$REDACTED:case ns.INTERNAL:case ns.SYSTEM_DEFINED_ONLY:case ns.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(ns);const is=ns;function ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var rs=new WeakSet;class os extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=rs),t.add(e),this.$objectType="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new os,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(is.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=Qi.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(ts.constructFromObject(e.migrationActionNotes)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ss(rs,this,as).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ss(rs,this,as).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new F("entityType","undefined or null");if(!j.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new F("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new F("relatedOperationList","undefined or null");if(!j.validateMaxItems(this.relatedOperationList,1e3))return new F("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new F("associatedEndpointList","undefined or null");if(!j.validateMaxItems(this.associatedEndpointList,4))return new F("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new F(t,"no such property exists"):new F("migrationActionNotes","undefined or null")}}function as(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ds(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ls=new WeakSet;class us extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ls),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Operation"!==d)throw"Unknown list of type "+d+" in data";s=os.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ds(ls,this,hs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ds(ls,this,hs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}us.prototype.metadata=void 0,us.prototype.data=void 0,us.prototype.$reserved=void 0,us.prototype.$objectType=void 0,us.prototype.$unknownFields=void 0;var ps=new WeakSet;class ys extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ps),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ys,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Operation":t.setData(os.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):cs(ps,this,gs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):cs(ps,this,gs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ys.prototype.metadata=void 0,ys.prototype.data=void 0,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var ms=new WeakSet;class ws extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ms),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ws,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vs(ms,this,$s).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vs(ms,this,$s).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $s(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function fs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ws.prototype.metadata=void 0,ws.prototype.data=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=bs),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ts,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):fs(bs,this,ks).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):fs(bs,this,ks).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ks(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function js(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ts.prototype.metadata=void 0,Ts.prototype.data=void 0,Ts.prototype.$reserved=void 0,Ts.prototype.$objectType=void 0,Ts.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Os extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fs),t.add(e),this.$objectType="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Os,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):js(Fs,this,Es).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):js(Fs,this,Es).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Es(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Os.prototype.metadata=void 0,Os.prototype.data=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Ps=new WeakSet;class Us extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ps),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.Role":s=Hn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleProjection":s=Yn.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cs(Ps,this,As).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cs(Ps,this,As).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function As(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Is(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Us.prototype.metadata=void 0,Us.prototype.data=void 0,Us.prototype.$reserved=void 0,Us.prototype.$objectType=void 0,Us.prototype.$unknownFields=void 0;var Ds=new WeakSet;class Ns extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ds),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ns,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Is(Ds,this,Rs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Is(Ds,this,Rs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ns.prototype.metadata=void 0,Ns.prototype.data=void 0,Ns.prototype.$reserved=void 0,Ns.prototype.$objectType=void 0,Ns.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Ms extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ls),t.add(e),this.$objectType="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ss(Ls,this,xs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ss(Ls,this,xs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;const Js={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Js).find(t=>Js[t]===e);return null==t?Js.$UNKNOWN:Js[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Js.$UNKNOWN:case Js.$REDACTED:case Js.EMAILADDRESS:case Js.UNSPECIFIED:case Js.X509SUBJECTNAME:case Js.WINDOWSDOMAINQUALIFIEDNAME:case Js.ENCRYPTED:case Js.ENTITY:case Js.KERBEROS:case Js.PERSISTENT:case Js.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(Js);const _s=Js;var Ks=new WeakSet;class Ws{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ks),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ws,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(_s.constructFromObject(e.nameIdPolicyFormat)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!j.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new F("loginUrl","undefined or null");if(!j.validateMaxLength(this.loginUrl,2e3))return new F("loginUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.loginUrl,3))return new F("loginUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new F("logoutUrl","undefined or null");if(!j.validateMaxLength(this.logoutUrl,2e3))return new F("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.logoutUrl,3))return new F("logoutUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new F("errorUrl","undefined or null");if(!j.validateMaxLength(this.errorUrl,2e3))return new F("errorUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.errorUrl,3))return new F("errorUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new F("certificate","undefined or null");if(!j.validateMinLength(this.certificate,64))return new F("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nameIdPolicyFormat","undefined or null")}}function qs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ws.prototype.entityId=void 0,Ws.prototype.loginUrl=void 0,Ws.prototype.logoutUrl=void 0,Ws.prototype.errorUrl=void 0,Ws.prototype.certificate=void 0,Ws.prototype.nameIdPolicyFormat=void 0,Ws.prototype.$reserved=void 0,Ws.prototype.$objectType=void 0,Ws.prototype.$unknownFields=void 0;var Bs=new WeakSet;class zs extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bs),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(Ws.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qs(Bs,this,Gs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:qs(Bs,this,Gs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new F("idpMetadataUrl","undefined or null");if(!j.validateMaxLength(this.idpMetadataUrl,2e3))return new F("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.idpMetadataUrl,3))return new F("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new F("idpMetadataXml","undefined or null");if(!j.validateMinLength(this.idpMetadataXml,3))return new F("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new F("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,256))return new F("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.usernameAttribute,1))return new F("usernameAttribute","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new F("emailAttribute","undefined or null");if(!j.validateMaxLength(this.emailAttribute,256))return new F("emailAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.emailAttribute,3))return new F("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new F("groupsAttribute","undefined or null");if(!j.validateMaxLength(this.groupsAttribute,256))return new F("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.groupsAttribute,3))return new F("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new F("groupsDelim","undefined or null");if(!j.validateMaxLength(this.groupsDelim,3))return new F("groupsDelim","does not satisfy required maxLength constraint: 3");if(!j.validateMinLength(this.groupsDelim,1))return new F("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new F("redirectURL","undefined or null");if(!j.validateMaxLength(this.redirectURL,2e3))return new F("redirectURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.redirectURL,3))return new F("redirectURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new F("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new F("customAttributes","undefined or null");if(!j.validateMaxItems(this.customAttributes,25))return new F("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new F("entityIssuer","undefined or null");if(!j.validateMaxLength(this.entityIssuer,2e3))return new F("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityIssuer,3))return new F("entityIssuer","does not satisfy required minLength constraint: 3")}return"isSignedAuthnReqEnabled"!==t||void 0!==this.isSignedAuthnReqEnabled&&null!==this.isSignedAuthnReqEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSignedAuthnReqEnabled","undefined or null")}}function Gs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zs.prototype.idpMetadataUrl=void 0,zs.prototype.idpMetadataXml=void 0,zs.prototype.idpMetadata=void 0,zs.prototype.name=void 0,zs.prototype.usernameAttribute="name",zs.prototype.emailAttribute="email",zs.prototype.groupsAttribute=void 0,zs.prototype.groupsDelim=void 0,zs.prototype.redirectURL=void 0,zs.prototype.customAttributes=void 0,zs.prototype.entityIssuer=void 0,zs.prototype.isSignedAuthnReqEnabled=void 0,zs.prototype.createdTime=void 0,zs.prototype.lastUpdatedTime=void 0,zs.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Hs=new WeakSet;class Xs extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Hs),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Xs,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vs(Hs,this,Ys).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vs(Hs,this,Ys).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ys(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xs.prototype.metadata=void 0,Xs.prototype.data=void 0,Xs.prototype.$reserved=void 0,Xs.prototype.$objectType=void 0,Xs.prototype.$unknownFields=void 0;var Qs=new WeakSet;class er extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qs),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new er,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zs(Qs,this,tr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zs(Qs,this,tr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function tr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function nr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}er.prototype.metadata=void 0,er.prototype.data=void 0,er.prototype.$reserved=void 0,er.prototype.$objectType=void 0,er.prototype.$unknownFields=void 0;var ir=new WeakSet;class sr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ir),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):nr(ir,this,rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):nr(ir,this,rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function or(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sr.prototype.metadata=void 0,sr.prototype.data=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var ar=new WeakSet;class dr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ar),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):or(ar,this,lr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):or(ar,this,lr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function lr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ur(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dr.prototype.metadata=void 0,dr.prototype.data=void 0,dr.prototype.$reserved=void 0,dr.prototype.$objectType=void 0,dr.prototype.$unknownFields=void 0;var hr=new WeakSet;class cr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hr),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new cr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.SamlIdentityProvider"!==d)throw"Unknown list of type "+d+" in data";s=zs.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ur(hr,this,pr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ur(hr,this,pr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}cr.prototype.metadata=void 0,cr.prototype.data=void 0,cr.prototype.$reserved=void 0,cr.prototype.$objectType=void 0,cr.prototype.$unknownFields=void 0;var gr=new WeakSet;class vr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gr),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):yr(gr,this,mr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):yr(gr,this,mr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function mr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}vr.prototype.metadata=void 0,vr.prototype.data=void 0,vr.prototype.$reserved=void 0,vr.prototype.$objectType=void 0,vr.prototype.$unknownFields=void 0;const wr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wr).find(t=>wr[t]===e);return null==t?wr.$UNKNOWN:wr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wr.$UNKNOWN:case wr.$REDACTED:case wr.SAML:case wr.LDAP:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP }")}}};Object.freeze(wr);const $r=wr;function fr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var br=new WeakSet;class Tr extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=br),t.add(e),this.$objectType="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType($r.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:fr(br,this,kr).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:fr(br,this,kr).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new F("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new F("distinguishedName","undefined or null");if(!j.validateMaxLength(this.distinguishedName,255))return new F("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function kr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Tr.prototype.groupType=void 0,Tr.prototype.idpId=void 0,Tr.prototype.name=void 0,Tr.prototype.distinguishedName=void 0,Tr.prototype.createdTime=void 0,Tr.prototype.lastUpdatedTime=void 0,Tr.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fr=new WeakSet;class Or extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fr),t.add(e),this.$objectType="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Or,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):jr(Fr,this,Er).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):jr(Fr,this,Er).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Er(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Or.prototype.metadata=void 0,Or.prototype.data=void 0,Or.prototype.$reserved=void 0,Or.prototype.$objectType=void 0,Or.prototype.$unknownFields=void 0;var Pr=new WeakSet;class Ur extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Pr),t.add(e),this.$objectType="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ur,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.UserGroup"!==d)throw"Unknown list of type "+d+" in data";s=Tr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cr(Pr,this,Ar).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cr(Pr,this,Ar).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ir(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ur.prototype.metadata=void 0,Ur.prototype.data=void 0,Ur.prototype.$reserved=void 0,Ur.prototype.$objectType=void 0,Ur.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Nr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dr),t.add(e),this.$objectType="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ir(Dr,this,Rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ir(Dr,this,Rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Nr.prototype.metadata=void 0,Nr.prototype.data=void 0,Nr.prototype.$reserved=void 0,Nr.prototype.$objectType=void 0,Nr.prototype.$unknownFields=void 0;var Lr=new WeakSet;class Mr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lr),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sr(Lr,this,xr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sr(Lr,this,xr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Mr.prototype.metadata=void 0,Mr.prototype.data=void 0,Mr.prototype.$reserved=void 0,Mr.prototype.$objectType=void 0,Mr.prototype.$unknownFields=void 0;var Jr=new WeakSet;class _r{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Jr),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new F("apiKey","undefined or null");if(!j.validateMaxLength(this.apiKey,32))return new F("apiKey","does not satisfy required maxLength constraint: 32");if(!j.validateMinLength(this.apiKey,32))return new F("apiKey","does not satisfy required minLength constraint: 32")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}_r.prototype.apiKey=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;const Kr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Kr).find(t=>Kr[t]===e);return null==t?Kr.$UNKNOWN:Kr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Kr.$UNKNOWN:case Kr.$REDACTED:case Kr.PREDEFINED:case Kr.USERDEFINED:case Kr.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(Kr);const Wr=Kr,qr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qr).find(t=>qr[t]===e);return null==t?qr.$UNKNOWN:qr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qr.$UNKNOWN:case qr.$REDACTED:case qr.API_KEY:case qr.OBJECT_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY }")}}};Object.freeze(qr);const Br=qr,zr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zr).find(t=>zr[t]===e);return null==t?zr.$UNKNOWN:zr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zr.$UNKNOWN:case zr.$REDACTED:case zr.VALID:case zr.REVOKED:case zr.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(zr);const Gr=zr;var Vr=new WeakSet;class Hr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vr),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hr,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new F("secretKey","undefined or null");if(!j.validateMaxLength(this.secretKey,24))return new F("secretKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.secretKey,24))return new F("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new F("accessKey","undefined or null");if(!j.validateMaxLength(this.accessKey,24))return new F("accessKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.accessKey,24))return new F("accessKey","does not satisfy required minLength constraint: 24")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Xr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hr.prototype.secretKey=void 0,Hr.prototype.accessKey=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Yr=new WeakSet;class Zr extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Yr),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(Br.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Gr.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(_r.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Hr.constructFromObject(e.keyDetails,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xr(Yr,this,eo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xr(Yr,this,eo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Xr(Yr,this,eo).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xr(Yr,this,Qr).call(this,this.getKeyDetails(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new F("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new F(t,"no such property exists"):new F("keyDetails","undefined or null"):new F("lastUsedTime","undefined or null")}}function Qr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function eo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function to(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zr.prototype.name=void 0,Zr.prototype.description=void 0,Zr.prototype.keyType=void 0,Zr.prototype.createdTime=void 0,Zr.prototype.lastUpdatedBy=void 0,Zr.prototype.creationType=void 0,Zr.prototype.expiryTime=void 0,Zr.prototype.status=void 0,Zr.prototype.createdBy=void 0,Zr.prototype.lastUpdatedTime=void 0,Zr.prototype.assignedTo=void 0,Zr.prototype.lastUsedTime=void 0,Zr.prototype.keyDetails=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var no=new WeakSet;class io extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=no),t.add(e),this.$objectType="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new io,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):to(no,this,so).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):to(no,this,so).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function so(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}io.prototype.metadata=void 0,io.prototype.data=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;class ro extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ro,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function oo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ao=new WeakSet;class lo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ao),t.add(e),this.$objectType="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordResetResponse":t.setData(ro.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oo(ao,this,uo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oo(ao,this,uo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function uo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}lo.prototype.metadata=void 0,lo.prototype.data=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;const ho={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ho).find(t=>ho[t]===e);return null==t?ho.$UNKNOWN:ho[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ho.$UNKNOWN:case ho.$REDACTED:case ho.ACTIVE:case ho.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(ho);const co=ho;var po=new WeakSet;class yo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=po),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yo,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("status","undefined or null")}}yo.prototype.status=void 0,yo.prototype.$reserved=void 0,yo.prototype.$objectType=void 0,yo.prototype.$unknownFields=void 0;class go extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new go,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var mo=new WeakSet;class wo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mo),t.add(e),this.$objectType="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserStateUpdateResponse":t.setData(go.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vo(mo,this,$o).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vo(mo,this,$o).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $o(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}wo.prototype.metadata=void 0,wo.prototype.data=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;const fo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fo).find(t=>fo[t]===e);return null==t?fo.$UNKNOWN:fo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fo.$UNKNOWN:case fo.$REDACTED:case fo.VALID:case fo.REVOKED:case fo.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(fo);const bo=fo;function To(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ko=new WeakSet;class jo extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ko),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(bo.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:To(ko,this,Fo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:To(ko,this,Fo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new F("accessKeyName","undefined or null");if(!j.validateMaxLength(this.accessKeyName,255))return new F("accessKeyName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.accessKeyName,1))return new F("accessKeyName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null")}}function Fo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}jo.prototype.accessKeyName=void 0,jo.prototype.secretAccessKey=void 0,jo.prototype.userId=void 0,jo.prototype.createdTime=void 0,jo.prototype.lastUpdatedBy=void 0,jo.prototype.assignedTo=void 0,jo.prototype.creationType=void 0,jo.prototype.expiryTime=void 0,jo.prototype.status=void 0,jo.prototype.createdBy=void 0,jo.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oo).find(t=>Oo[t]===e);return null==t?Oo.$UNKNOWN:Oo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oo.$UNKNOWN:case Oo.$REDACTED:case Oo.LOCAL:case Oo.SAML:case Oo.LDAP:case Oo.EXTERNAL:case Oo.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT }")}}};Object.freeze(Oo);const Eo=Oo;function Co(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Po=new WeakSet;class Uo extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Po),t.add(e),this.$objectType="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Uo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=jo.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:Co(Po,this,Ao).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Co(Po,this,Ao).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Co(Po,this,Ao).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new F("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new F("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new F("additionalAttributes","undefined or null");if(!j.validateMaxItems(this.additionalAttributes,10))return new F("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new F("bucketsAccessKeys","undefined or null");if(!j.validateMaxItems(this.bucketsAccessKeys,5))return new F("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new F("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new F(t,"no such property exists"):new F("defaultLandingPagePath","undefined or null"):new F("creationType","undefined or null"):new F("description","undefined or null")}}function Ao(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Io(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Uo.prototype.username=void 0,Uo.prototype.userType=void 0,Uo.prototype.idpId=void 0,Uo.prototype.displayName=void 0,Uo.prototype.firstName=void 0,Uo.prototype.middleInitial=void 0,Uo.prototype.lastName=void 0,Uo.prototype.emailId=void 0,Uo.prototype.locale=void 0,Uo.prototype.region=void 0,Uo.prototype.password=void 0,Uo.prototype.isForceResetPasswordEnabled=void 0,Uo.prototype.additionalAttributes=void 0,Uo.prototype.status=void 0,Uo.prototype.bucketsAccessKeys=void 0,Uo.prototype.lastLoginTime=void 0,Uo.prototype.createdTime=void 0,Uo.prototype.lastUpdatedTime=void 0,Uo.prototype.createdBy=void 0,Uo.prototype.lastUpdatedBy=void 0,Uo.prototype.description=void 0,Uo.prototype.creationType=void 0,Uo.prototype.defaultLandingPagePath=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Do=new WeakSet;class No extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Do),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new No,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.Key"!==d)throw"Unknown list of type "+d+" in data";s=Zr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Io(Do,this,Ro).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Io(Do,this,Ro).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ro(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function So(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}No.prototype.metadata=void 0,No.prototype.data=void 0,No.prototype.$reserved=void 0,No.prototype.$objectType=void 0,No.prototype.$unknownFields=void 0;var Lo=new WeakSet;class Mo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lo),t.add(e),this.$objectType="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.AppMessage":t.setData(Ae.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):So(Lo,this,xo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):So(Lo,this,xo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Jo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Mo.prototype.metadata=void 0,Mo.prototype.data=void 0,Mo.prototype.$reserved=void 0,Mo.prototype.$objectType=void 0,Mo.prototype.$unknownFields=void 0;var _o=new WeakSet;class Ko extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_o),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ko,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jo(_o,this,Wo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jo(_o,this,Wo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Wo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ko.prototype.metadata=void 0,Ko.prototype.data=void 0,Ko.prototype.$reserved=void 0,Ko.prototype.$objectType=void 0,Ko.prototype.$unknownFields=void 0;var Bo=new WeakSet;class zo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bo),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qo(Bo,this,Go).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qo(Bo,this,Go).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Go(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zo.prototype.metadata=void 0,zo.prototype.data=void 0,zo.prototype.$reserved=void 0,zo.prototype.$objectType=void 0,zo.prototype.$unknownFields=void 0;var Ho=new WeakSet;class Xo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ho),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Xo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.User"!==d)throw"Unknown list of type "+d+" in data";s=Uo.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vo(Ho,this,Yo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vo(Ho,this,Yo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Yo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xo.prototype.metadata=void 0,Xo.prototype.data=void 0,Xo.prototype.$reserved=void 0,Xo.prototype.$objectType=void 0,Xo.prototype.$unknownFields=void 0;var Qo=new WeakSet;class ea extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qo),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ea,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zo(Qo,this,ta).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zo(Qo,this,ta).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ta(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function na(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ea.prototype.metadata=void 0,ea.prototype.data=void 0,ea.prototype.$reserved=void 0,ea.prototype.$objectType=void 0,ea.prototype.$unknownFields=void 0;var ia=new WeakSet;class sa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ia),t.add(e),this.$objectType="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):na(ia,this,ra).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):na(ia,this,ra).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}sa.prototype.metadata=void 0,sa.prototype.data=void 0,sa.prototype.$reserved=void 0,sa.prototype.$objectType=void 0,sa.prototype.$unknownFields=void 0;var oa=new WeakSet;class aa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=oa),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new aa,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null"):new F("oldPassword","undefined or null")}}function da(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}aa.prototype.username=void 0,aa.prototype.oldPassword=void 0,aa.prototype.newPassword=void 0,aa.prototype.$reserved=void 0,aa.prototype.$objectType=void 0,aa.prototype.$unknownFields=void 0;var la=new WeakSet;class ua extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=la),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):da(la,this,ha).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):da(la,this,ha).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ha(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ua.prototype.metadata=void 0,ua.prototype.data=void 0,ua.prototype.$reserved=void 0,ua.prototype.$objectType=void 0,ua.prototype.$unknownFields=void 0;var ca=new WeakSet;class pa{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ca),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pa,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null")}}pa.prototype.newPassword=void 0,pa.prototype.$reserved=void 0,pa.prototype.$objectType=void 0,pa.prototype.$unknownFields=void 0;class ya extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ya,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function ga(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var va=new WeakSet;class ma extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=va),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ma,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordChangeResponse":t.setData(ya.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ga(va,this,wa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ga(va,this,wa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function $a(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ma.prototype.metadata=void 0,ma.prototype.data=void 0,ma.prototype.$reserved=void 0,ma.prototype.$objectType=void 0,ma.prototype.$unknownFields=void 0;var fa=new WeakSet;class ba{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=fa),t.add(e),this.$objectType="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ba,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$a(fa,this,Ta).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$a(fa,this,Ta).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new F("content","undefined or null");if(!j.validateMaxLength(this.content,1e4))return new F("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isEnabled","undefined or null")}}function Ta(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ka(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ba.prototype.content=void 0,ba.prototype.isEnabled=!0,ba.prototype.createdTime=void 0,ba.prototype.lastUpdatedTime=void 0,ba.prototype.$reserved=void 0,ba.prototype.$objectType=void 0,ba.prototype.$unknownFields=void 0;var ja=new WeakSet;class Fa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ja),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ka(ja,this,Oa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ka(ja,this,Oa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Oa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ea(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fa.prototype.metadata=void 0,Fa.prototype.data=void 0,Fa.prototype.$reserved=void 0,Fa.prototype.$objectType=void 0,Fa.prototype.$unknownFields=void 0;var Ca=new WeakSet;class Pa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ca),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ea(Ca,this,Ua).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ea(Ca,this,Ua).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ua(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Pa.prototype.metadata=void 0,Pa.prototype.data=void 0,Pa.prototype.$reserved=void 0,Pa.prototype.$objectType=void 0,Pa.prototype.$unknownFields=void 0;const Aa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Aa).find(t=>Aa[t]===e);return null==t?Aa.$UNKNOWN:Aa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Aa.$UNKNOWN:case Aa.$REDACTED:case Aa.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(Aa);const Ia=Aa,Da={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Da).find(t=>Da[t]===e);return null==t?Da.$UNKNOWN:Da[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Da.$UNKNOWN:case Da.$REDACTED:case Da.CLIENT_SECRET_BASIC:case Da.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(Da);const Na=Da;var Ra=new WeakSet;class Sa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ra),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sa,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new F("authCodeUri","undefined or null");if(!j.validateMaxLength(this.authCodeUri,2e3))return new F("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Sa.prototype.authCodeUri=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;const La={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(La).find(t=>La[t]===e);return null==t?La.$UNKNOWN:La[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case La.$UNKNOWN:case La.$REDACTED:case La.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze(La);const Ma=La;var xa=new WeakSet;class Ja{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xa),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ja,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(Ma.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}Ja.prototype.migrationType=void 0,Ja.prototype.$reserved=void 0,Ja.prototype.$objectType=void 0,Ja.prototype.$unknownFields=void 0;var _a=new WeakSet;class Ka{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=_a),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ka,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new F("relayState","undefined or null");if(!j.validateMaxLength(this.relayState,255))return new F("relayState","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.relayState,1))return new F("relayState","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ka.prototype.relayState=void 0,Ka.prototype.$reserved=void 0,Ka.prototype.$objectType=void 0,Ka.prototype.$unknownFields=void 0;const Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wa).find(t=>Wa[t]===e);return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.UUID:case Wa.TENANT_UUID:case Wa.SUB:case Wa.EMAIL:case Wa.DISPLAY_NAME:case Wa.GROUPS:case Wa.ISS:case Wa.AUD:case Wa.EXP:case Wa.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(Wa);const qa=Wa;var Ba=new WeakSet;class za extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ba),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new za,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}za.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ga=new WeakSet;class Va extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ga),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Va,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}Va.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ha=new WeakSet;class Xa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ha),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xa,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=za.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Va.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,20))return new F("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new F("ous","undefined or null");if(!j.validateMaxItems(this.ous,20))return new F("ous","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xa.prototype.userId=void 0,Xa.prototype.groups=void 0,Xa.prototype.ous=void 0,Xa.prototype.$reserved=void 0,Xa.prototype.$objectType=void 0,Xa.prototype.$unknownFields=void 0;const Ya={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ya).find(t=>Ya[t]===e);return null==t?Ya.$UNKNOWN:Ya[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ya.$UNKNOWN:case Ya.$REDACTED:case Ya.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Ya);const Za=Ya;var Qa=new WeakSet;class ed{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Qa),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ed,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getEmail(){return this.email}setEmail(e){this.email=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,16))return new F("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,16))return new F("email","does not satisfy required maxLength constraint: 16")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function td(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ed.prototype.name=void 0,ed.prototype.email=void 0,ed.prototype.$reserved=void 0,ed.prototype.$objectType=void 0,ed.prototype.$unknownFields=void 0;var nd=new WeakSet;class id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nd),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(ed.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:td(nd,this,sd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:td(nd,this,sd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new F("wellKnownConfig","undefined or null");if(!j.validateMaxLength(this.wellKnownConfig,2e3))return new F("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.wellKnownConfig,3))return new F("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new F("cloudTenant","undefined or null");if(!j.validatePattern(this.cloudTenant,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("cloudTenant","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new F("cloudApiKey","undefined or null");if(!j.validateMaxLength(this.cloudApiKey,128))return new F("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("claimMap","undefined or null")}}function sd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}id.prototype.wellKnownConfig=void 0,id.prototype.idpId=void 0,id.prototype.cloudTenant=void 0,id.prototype.cloudApiKey=void 0,id.prototype.claimMap=void 0,id.prototype.createdTime=void 0,id.prototype.lastUpdatedTime=void 0,id.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const rd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(rd).find(t=>rd[t]===e);return null==t?rd.$UNKNOWN:rd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case rd.$UNKNOWN:case rd.$REDACTED:case rd.AUTHORIZATION_CODE:case rd.REFRESH_TOKEN:case rd.CLIENT_CREDENTIALS:case rd.PASSWORD:case rd.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(rd);const od=rd;var ad=new WeakSet;class dd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ad),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new dd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}dd.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ld=new WeakSet;class ud{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ld),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ud,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("maxKeyCount","undefined or null")}}ud.prototype.maxKeyCount=void 0,ud.prototype.$reserved=void 0,ud.prototype.$objectType=void 0,ud.prototype.$unknownFields=void 0;const hd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hd).find(t=>hd[t]===e);return null==t?hd.$UNKNOWN:hd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hd.$UNKNOWN:case hd.$REDACTED:case hd.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(hd);const cd=hd,pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pd).find(t=>pd[t]===e);return null==t?pd.$UNKNOWN:pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pd.$UNKNOWN:case pd.$REDACTED:case pd.ID_TOKEN:case pd.CODE:case pd.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(pd);const yd=pd,gd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(gd).find(t=>gd[t]===e);return null==t?gd.$UNKNOWN:gd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case gd.$UNKNOWN:case gd.$REDACTED:case gd.OPENID:case gd.PROFILE:case gd.EMAIL:case gd.OFFLINE_ACCESS:case gd.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(gd);const vd=gd;var md=new WeakSet;class wd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=md),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new wd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(yd.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=vd.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new F("clientId","undefined or null");if(!j.validatePattern(this.clientId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("clientId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new F("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxItems(this.scope,10))return new F("scope","does not satisfy required maxItems constraint: 10");if(!j.validateMinItems(this.scope,1))return new F("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validateMaxLength(this.redirectUri,2e3))return new F("redirectUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new F("nonce","undefined or null");if(!j.validateMaxLength(this.nonce,2e3))return new F("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new F("state","undefined or null");if(!j.validateMaxLength(this.state,2e3))return new F("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new F("audience","undefined or null");if(!j.validateMaxLength(this.audience,2e3))return new F("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new F("approvalPrompt","undefined or null");if(!j.validateMaxLength(this.approvalPrompt,2e3))return new F("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new F("loginProviderId","undefined or null");if(!j.validatePattern(this.loginProviderId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("loginProviderId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new F(t,"no such property exists"):new F("isServiceProviderEnabled","undefined or null"):new F("isUserLoggedIn","undefined or null")}}function $d(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wd.prototype.clientId=void 0,wd.prototype.responseType=void 0,wd.prototype.scope=void 0,wd.prototype.redirectUri=void 0,wd.prototype.nonce=void 0,wd.prototype.state=void 0,wd.prototype.audience=void 0,wd.prototype.approvalPrompt=void 0,wd.prototype.loginProviderId=void 0,wd.prototype.isUserLoggedIn=void 0,wd.prototype.isServiceProviderEnabled=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var fd=new WeakSet;class bd{constructor(e,t,n,i,s,r,o,a,d,l){var u,h;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(u=this,h=fd),h.add(u),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bd,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new F("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Td(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}bd.prototype.secretAccessKey=void 0,bd.prototype.emailId=void 0,bd.prototype.userId=void 0,bd.prototype.userType=void 0,bd.prototype.tenantId=void 0,bd.prototype.idpId=void 0,bd.prototype.username=void 0,bd.prototype.creationType=void 0,bd.prototype.customClaims=void 0,bd.prototype.assignedTo=void 0,bd.prototype.$reserved=void 0,bd.prototype.$objectType=void 0,bd.prototype.$unknownFields=void 0;var kd=new WeakSet;class jd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=kd),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jd,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("accessKey","undefined or null")}}jd.prototype.accessKey=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;const Fd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fd).find(t=>Fd[t]===e);return null==t?Fd.$UNKNOWN:Fd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fd.$UNKNOWN:case Fd.$REDACTED:case Fd.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(Fd);const Od=Fd;var Ed=new WeakSet;class Cd{constructor(e,t,n,i,s,r,o){(function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)})(this,Ed),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cd,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(Ia.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(Od.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(cd.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("e","undefined or null"):new F("n","undefined or null"):new F("x5c","undefined or null"):new F("kid","undefined or null"):new F("kty","undefined or null"):new F("use","undefined or null"):new F("alg","undefined or null")}}Cd.prototype.alg=void 0,Cd.prototype.use=void 0,Cd.prototype.kty=void 0,Cd.prototype.kid=void 0,Cd.prototype.x5c=void 0,Cd.prototype.n=void 0,Cd.prototype.e=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;const Pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Pd).find(t=>Pd[t]===e);return null==t?Pd.$UNKNOWN:Pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Pd.$UNKNOWN:case Pd.$REDACTED:case Pd.LOCAL:case Pd.LDAP:case Pd.SAML:case Pd.CERT:case Pd.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Pd);const Ud=Pd;var Ad=new WeakSet;class Id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ad),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function Dd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Id.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Nd=new WeakSet;class Rd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Nd),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Rd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(Ud.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=dd.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(Id.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new F("iss","undefined or null");if(!j.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new F("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new F("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new F("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new F("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,255))return new F("email","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new F("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new F("connectorId","undefined or null");if(!j.validatePattern(this.connectorId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("connectorId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,25))return new F("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new F("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new F("legacyRoles","undefined or null");if(!j.validateMaxItems(this.legacyRoles,5))return new F("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"locale"!==t||void 0!==this.locale&&null!==this.locale?"region"!==t||void 0!==this.region&&null!==this.region?"status"!==t||void 0!==this.status&&null!==this.status?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new F(t,"no such property exists"):new F("defaultLandingPagePath","undefined or null"):new F("status","undefined or null"):new F("region","undefined or null"):new F("locale","undefined or null")}}function Sd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Rd.prototype.iss=void 0,Rd.prototype.sub=void 0,Rd.prototype.subType=void 0,Rd.prototype.exp=void 0,Rd.prototype.iat=void 0,Rd.prototype.email=void 0,Rd.prototype.isEmailVerified=void 0,Rd.prototype.name=void 0,Rd.prototype.userId=void 0,Rd.prototype.connectorId=void 0,Rd.prototype.groups=void 0,Rd.prototype.tenant=void 0,Rd.prototype.customClaims=void 0,Rd.prototype.legacyRoles=void 0,Rd.prototype.firstName=void 0,Rd.prototype.middleInitial=void 0,Rd.prototype.lastName=void 0,Rd.prototype.locale=void 0,Rd.prototype.region=void 0,Rd.prototype.status=void 0,Rd.prototype.defaultLandingPagePath=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ld={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ld).find(t=>Ld[t]===e);return null==t?Ld.$UNKNOWN:Ld[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ld.$UNKNOWN:case Ld.$REDACTED:case Ld.OPENID:case Ld.PROFILE:case Ld.EMAIL:case Ld.GROUPS:case Ld.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze(Ld);const Md=Ld,xd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xd).find(t=>xd[t]===e);return null==t?xd.$UNKNOWN:xd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xd.$UNKNOWN:case xd.$REDACTED:case xd.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(xd);const Jd=xd,_d={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(_d).find(t=>_d[t]===e);return null==t?_d.$UNKNOWN:_d[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case _d.$UNKNOWN:case _d.$REDACTED:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(_d);const Kd=_d;function Wd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var qd=new WeakSet;class Bd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=qd),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Bd,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wd(qd,this,zd).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new F("nameValuePair","undefined or null");if(!j.validateMaxItems(this.nameValuePair,10))return new F("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null")}}function zd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bd.prototype.nameValuePair=void 0,Bd.prototype.lastUpdatedTime=void 0,Bd.prototype.$reserved=void 0,Bd.prototype.$objectType=void 0,Bd.prototype.$unknownFields=void 0;var Gd=new WeakSet;class Vd{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Gd),i.add(n),this.grantType=e,this.clientId=t,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vd,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(od.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(Kd.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["grantType","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new F("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new F("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxLength(this.scope,100))return new F("scope","does not satisfy required maxLength constraint: 100");if(!j.validateMinLength(this.scope,1))return new F("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new F("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new F("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new F("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new F("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nonTenantIssuer","undefined or null"):new F("subjectTokenType","undefined or null"):new F("subjectToken","undefined or null"):new F("audience","undefined or null")}}Vd.prototype.grantType=void 0,Vd.prototype.code=void 0,Vd.prototype.connectorId=void 0,Vd.prototype.scope=void 0,Vd.prototype.refreshToken=void 0,Vd.prototype.clientId=void 0,Vd.prototype.clientAssertionType=void 0,Vd.prototype.clientAssertion=void 0,Vd.prototype.redirectUri=void 0,Vd.prototype.audience=void 0,Vd.prototype.subjectToken=void 0,Vd.prototype.subjectTokenType=void 0,Vd.prototype.nonTenantIssuer=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;var Hd=new WeakSet;class Xd{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Hd),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xd,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new F("password","undefined or null");if(!j.validateMaxLength(this.password,255))return new F("password","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.password,1))return new F("password","does not satisfy required minLength constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xd.prototype.username=void 0,Xd.prototype.password=void 0,Xd.prototype.$reserved=void 0,Xd.prototype.$objectType=void 0,Xd.prototype.$unknownFields=void 0;var Zd=new WeakSet;class Qd extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zd),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qd,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Yd(Zd,this,el).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Yd(Zd,this,el).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("opaquedata","undefined or null")}}function el(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qd.prototype.opaquedata=void 0,Qd.prototype.isInternal=!1,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const tl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(tl).find(t=>tl[t]===e);return null==t?tl.$UNKNOWN:tl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case tl.$UNKNOWN:case tl.$REDACTED:case tl.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(tl);const nl=tl;var il=new WeakSet;class sl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=il),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new sl,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(nl.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("identityType","undefined or null")}}sl.prototype.identityType=void 0,sl.prototype.attributes=void 0,sl.prototype.$reserved=void 0,sl.prototype.$objectType=void 0,sl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=rl),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ol,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("operation","undefined or null"):new F("type","undefined or null")}}ol.prototype.type=void 0,ol.prototype.operation=void 0,ol.prototype.attributes=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;const al={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(al).find(t=>al[t]===e);return null==t?al.$UNKNOWN:al[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case al.$UNKNOWN:case al.$REDACTED:case al.BOOLEANRESPONSE:case al.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(al);const dl=al;var ll=new WeakSet;class ul{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=ll),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ul,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(ol.constructFromObject(e.entity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entity","undefined or null"):new F("responseType","undefined or null"):new F("requestID","undefined or null")}}ul.prototype.requestID=void 0,ul.prototype.responseType=void 0,ul.prototype.entity=void 0,ul.prototype.$reserved=void 0,ul.prototype.$objectType=void 0,ul.prototype.$unknownFields=void 0;var hl=new WeakSet;class cl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=hl),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cl,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(sl.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=ul.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new F("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new F("requestList","undefined or null");if(!j.validateMaxItems(this.requestList,25))return new F("requestList","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.requestList,1))return new F("requestList","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cl.prototype.identity=void 0,cl.prototype.requestList=void 0,cl.prototype.$reserved=void 0,cl.prototype.$objectType=void 0,cl.prototype.$unknownFields=void 0;var pl=new WeakSet;class yl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=pl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yl,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("filters","undefined or null"):new F("authorized","undefined or null"):new F("responseType","undefined or null"):new F("requestId","undefined or null")}}yl.prototype.requestId=void 0,yl.prototype.responseType=void 0,yl.prototype.authorized=void 0,yl.prototype.filters=void 0,yl.prototype.$reserved=void 0,yl.prototype.$objectType=void 0,yl.prototype.$unknownFields=void 0;var gl=new WeakSet;class vl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new vl,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=yl.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new F("response","undefined or null");if(!j.validateMaxItems(this.response,25))return new F("response","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.response,1))return new F("response","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}vl.prototype.response=void 0,vl.prototype.$reserved=void 0,vl.prototype.$objectType=void 0,vl.prototype.$unknownFields=void 0;const ml={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ml).find(t=>ml[t]===e);return null==t?ml.$UNKNOWN:ml[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ml.$UNKNOWN:case ml.$REDACTED:case ml.REMOVE_AP_TENANT_ID_FILTERS:case ml.NC_USER_AP_TO_USER_DEFINED:case ml.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case ml.REMOVE_CLIENT_FOUNDATION_CENTRAL:case ml.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case ml.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION }")}}};Object.freeze(ml);const wl=ml;var $l=new WeakSet;class fl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=$l),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fl,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(wl.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}fl.prototype.migrationType=void 0,fl.prototype.$reserved=void 0,fl.prototype.$objectType=void 0,fl.prototype.$unknownFields=void 0;class bl extends qn{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bl,qn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tl=new WeakSet;class kl extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tl),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kl,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(bl.constructFromObject(e.baseRoleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new F(t,"no such property exists"):new F("baseRoleProjection","undefined or null")}}function jl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}kl.prototype.baseRoleProjection=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fl=new WeakSet;class Ol extends vi{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Fl),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ol,vi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:jl(Fl,this,El).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:jl(Fl,this,El).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new F(t,"no such property exists"):new F("legacyClientName","undefined or null")}}function El(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ol.prototype.legacyClientName=void 0,vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Cl=new WeakSet;class Pl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Pl,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new F("addedObjects","undefined or null");if(!j.validateMaxItems(this.addedObjects,20))return new F("addedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedObjects,1))return new F("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new F("removedObjects","undefined or null");if(!j.validateMaxItems(this.removedObjects,20))return new F("removedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedObjects,1))return new F("removedObjects","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Pl.prototype.addedObjects=void 0,Pl.prototype.removedObjects=void 0,Pl.prototype.$reserved=void 0,Pl.prototype.$objectType=void 0,Pl.prototype.$unknownFields=void 0;var Ul=new WeakSet;class Al{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ul),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Al,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new F("addedOperations","undefined or null");if(!j.validateMaxItems(this.addedOperations,20))return new F("addedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedOperations,1))return new F("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new F("removedOperations","undefined or null");if(!j.validateMaxItems(this.removedOperations,20))return new F("removedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedOperations,1))return new F("removedOperations","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Al.prototype.addedOperations=void 0,Al.prototype.removedOperations=void 0,Al.prototype.$reserved=void 0,Al.prototype.$objectType=void 0,Al.prototype.$unknownFields=void 0;var Il=new WeakSet;class Dl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Il),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Dl,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new F("newDisplayName","undefined or null");if(!j.validateMaxLength(this.newDisplayName,255))return new F("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new F("previousDisplayName","undefined or null");if(!j.validateMaxLength(this.previousDisplayName,255))return new F("previousDisplayName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Dl.prototype.newDisplayName=void 0,Dl.prototype.previousDisplayName=void 0,Dl.prototype.$reserved=void 0,Dl.prototype.$objectType=void 0,Dl.prototype.$unknownFields=void 0;var Nl=new WeakSet;class Rl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Nl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Rl,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(Dl.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(Pl.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset(Al.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset(Al.constructFromObject(e.legacyParentOperationListChangeset)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("legacyParentOperationListChangeset","undefined or null"):new F("legacyOperationListChangeset","undefined or null"):new F("legacyObjectListChangeset","undefined or null"):new F("displayNameChangeset","undefined or null")}}Rl.prototype.displayNameChangeset=void 0,Rl.prototype.legacyObjectListChangeset=void 0,Rl.prototype.legacyOperationListChangeset=void 0,Rl.prototype.legacyParentOperationListChangeset=void 0,Rl.prototype.$reserved=void 0,Rl.prototype.$objectType=void 0,Rl.prototype.$unknownFields=void 0;const Sl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Sl).find(t=>Sl[t]===e);return null==t?Sl.$UNKNOWN:Sl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Sl.$UNKNOWN:case Sl.$REDACTED:case Sl.OPERATION:case Sl.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(Sl);const Ll=Sl;function Ml(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var xl=new WeakSet;class Jl extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Jl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(Ll.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Rl.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ml(xl,this,_l).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ml(xl,this,_l).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("changeset","undefined or null"):new F("configType","undefined or null")}}function _l(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Jl.prototype.displayName=void 0,Jl.prototype.clientName=void 0,Jl.prototype.configType=void 0,Jl.prototype.changeset=void 0,Jl.prototype.createdTime=void 0,Jl.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Kl extends Jl{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kl,Jl.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Wl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ql=new WeakSet;class Bl extends Ci{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ql),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Bl,Ci.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Wl(ql,this,zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wl(ql,this,zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyObjectList","undefined or null")}}function zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bl.prototype.legacyObjectList=void 0,Bl.prototype.isInternal=void 0,Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Gl=new WeakSet;class Vl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Gl),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vl,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("shouldIncludeRelatedOperations","undefined or null")}}function Hl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vl.prototype.shouldIncludeRelatedOperations=void 0,Vl.prototype.$reserved=void 0,Vl.prototype.$objectType=void 0,Vl.prototype.$unknownFields=void 0;var Xl=new WeakSet;class Yl extends os{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Xl),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Yl,os.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Hl(Xl,this,Zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Hl(Xl,this,Zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new F(t,"no such property exists"):new F("legacyParentOperationList","undefined or null"):new F("legacyOperationList","undefined or null"):new F("isInternal","undefined or null")}}function Zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ql(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yl.prototype.isInternal=void 0,Yl.prototype.legacyOperationList=void 0,Yl.prototype.legacyParentOperationList=void 0,os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var eu=new WeakSet;class tu extends Hn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=eu),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tu,Hn.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ql(eu,this,nu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ql(eu,this,nu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyRole","undefined or null")}}function nu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}tu.prototype.legacyRole=void 0,tu.prototype.isInternal=void 0,Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var iu=new WeakSet;class su{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=iu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new su,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Qd.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new F("authorizationPolicies","undefined or null");if(!j.validateMaxItems(this.authorizationPolicies,50))return new F("authorizationPolicies","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}su.prototype.authorizationPolicies=void 0,su.prototype.$reserved=void 0,su.prototype.$objectType=void 0,su.prototype.$unknownFields=void 0;var ru=new WeakSet;class ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ru),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ou,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Bl.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,200))return new F("entities","does not satisfy required maxItems constraint: 200")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ou.prototype.entities=void 0,ou.prototype.$reserved=void 0,ou.prototype.$objectType=void 0,ou.prototype.$unknownFields=void 0;var au=new WeakSet;class du{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=au),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new du,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Yl.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,500))return new F("operations","does not satisfy required maxItems constraint: 500")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}du.prototype.operations=void 0,du.prototype.$reserved=void 0,du.prototype.$objectType=void 0,du.prototype.$unknownFields=void 0;const lu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(lu).find(t=>lu[t]===e);return null==t?lu.$UNKNOWN:lu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case lu.$UNKNOWN:case lu.$REDACTED:case lu.CREATE:case lu.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(lu);const uu=lu;var hu=new WeakSet;class cu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=hu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cu,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=tu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new F("roles","undefined or null");if(!j.validateMaxItems(this.roles,50))return new F("roles","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cu.prototype.roles=void 0,cu.prototype.$reserved=void 0,cu.prototype.$objectType=void 0,cu.prototype.$unknownFields=void 0;const pu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pu).find(t=>pu[t]===e);return null==t?pu.$UNKNOWN:pu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pu.$UNKNOWN:case pu.$REDACTED:case pu.CLIENT:case pu.ENTITY:case pu.OPERATION:case pu.ROLE:case pu.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(pu);const yu=pu;function gu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var vu=new WeakSet;class mu{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=vu),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mu,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(yu.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(uu.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(Ol.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(ou.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(du.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(cu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(su.constructFromObject(e.configList,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):gu(vu,this,wu).call(this,this.getConfigList(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):gu(vu,this,wu).call(this,this.getConfigList())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new F("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("configList","undefined or null"):new F("operationType","undefined or null")}}function wu(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mu.prototype.configType=void 0,mu.prototype.tenantId=void 0,mu.prototype.clientName=void 0,mu.prototype.operationType=void 0,mu.prototype.configList=void 0,mu.prototype.$reserved=void 0,mu.prototype.$objectType=void 0,mu.prototype.$unknownFields=void 0;var $u=new WeakSet;class fu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$u),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}fu.prototype.tenantName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class bu extends Cn{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bu,Cn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tu=new WeakSet;class ku extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tu),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ku,qn.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}ku.prototype.operations=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class ju extends ku{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ju,ku.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Fu=new WeakSet;class Ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fu),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ou,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}function Eu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ou.prototype.message=void 0,Ou.prototype.$reserved=void 0,Ou.prototype.$objectType=void 0,Ou.prototype.$unknownFields=void 0;var Cu=new WeakSet;class Pu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cu),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Pu,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ou.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Eu(Cu,this,Uu).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new F("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new F("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new F("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new F("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new F("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new F("validationErrorMessages","undefined or null");if(!j.validateMaxItems(this.validationErrorMessages,20))return new F("validationErrorMessages","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Uu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Pu.prototype.code=void 0,Pu.prototype.error=void 0,Pu.prototype.errorGroup=void 0,Pu.prototype.path=void 0,Pu.prototype.statusCode=void 0,Pu.prototype.timestamp=void 0,Pu.prototype.validationErrorMessages=void 0,Pu.prototype.$reserved=void 0,Pu.prototype.$objectType=void 0,Pu.prototype.$unknownFields=void 0;var Au=new WeakSet;class Iu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Au),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Iu,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(Pu.constructFromObject(e.error)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}Iu.prototype.error=void 0,Iu.prototype.$reserved=void 0,Iu.prototype.$objectType=void 0,Iu.prototype.$unknownFields=void 0;var Du=new WeakSet;class Nu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Du),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(Iu.constructFromObject(e.data)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new F(t,"no such property exists"):new F("data","undefined or null")}}Nu.prototype.data=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ru={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ru).find(t=>Ru[t]===e);return null==t?Ru.$UNKNOWN:Ru[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ru.$UNKNOWN:case Ru.$REDACTED:case Ru.ASC:case Ru.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Ru);const Su=Ru;var Lu=new WeakSet;class Mu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lu),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new F(t,"no such property exists"):new F("tenantDescription","undefined or null")}}Mu.prototype.tenantName=void 0,Mu.prototype.tenantDescription=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const xu={ApiClient:de,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},u={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId},h=mt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","POST",{},{},l,u,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],h)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Be;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=pt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=rt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let u={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(u[e]=d[e])});const h={...u},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId},p=lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","PUT",l,{},h,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Tn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=gn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=$n;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Wt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Jt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Qt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ci;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=_n;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ln;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=di;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=fi;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ii;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zi;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ys;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Hn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ts;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ws;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Os;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Hn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ns;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof zs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=sr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=er;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=vr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Ms;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=cr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof zs&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Xs;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tr&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Nr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Or;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Mr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ur;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof aa&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ma;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Uo&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Zr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ko;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=ea;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=io;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=No;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Xo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof pa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=lo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Mo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Uo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=zo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof yo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=wo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Fa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ba&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Pa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:E,KVPair:N,MapOfStringWrapper:U,Message:x,MessageSeverity:L,TenantAwareModel:Ve,ApiLink:_,ApiResponseMetadata:q,ExternalizableAbstractModel:Xe,ActivateUserApiResponse:wo,AlgoType:Ia,ApiKeyDetails:_r,AuthMethodType:Na,AuthenticationResponse:Sa,AuthnMigrationRequest:Ja,AuthnMigrationType:Ma,BucketsAccessKey:jo,BucketsAccessKeyStatusType:bo,CertAuthProvider:tt,CertRevocationInfo:Ze,CertificateLoginRequest:Ka,ChangeUserPasswordApiResponse:ma,ClaimsType:qa,ConnectionDirectoryServiceApiResponse:gn,CreateCertAuthProviderApiResponse:mt,CreateDirectoryServiceApiResponse:$n,CreateKeyApiResponse:Ko,CreateSamlIdentityProviderApiResponse:sr,CreateUserApiResponse:ua,CreateUserGroupApiResponse:Nr,CreationType:Wr,DeleteCertAuthProviderApiResponse:Be,DeleteDirectoryServiceApiResponse:Wt,DeleteSamlIdentityProviderApiResponse:dr,DeleteUserGroupApiResponse:Or,DeleteUserKeyApiResponse:ea,DirectoryService:Dt,DirectoryServiceConnectionRequest:Tn,DirectoryServiceConnectionResponse:cn,DirectoryServiceInfo:Xa,DirectoryServiceInfoGroup:za,DirectoryServiceInfoOu:Va,DirectoryServiceSearchAttribute:zt,DirectoryServiceSearchEntity:Vt,DirectoryServiceSearchQuery:Jt,DirectoryServiceSearchResult:Xt,DirectoryType:ft,DiscoverySubjectType:Za,DsServiceAccount:Tt,Federation:id,FederationClaims:ed,GetCertAuthProviderApiResponse:pt,GetDirectoryServiceApiResponse:sn,GetSamlIdentityProviderApiResponse:er,GetSamlIdpSpMetadataApiResponse:vr,GetSamlSpMetadataApiResponse:Ms,GetUserApiResponse:sa,GetUserGroupApiResponse:Mr,GetUserKeyApiResponse:io,GetWelcomeBannerApiResponse:Fa,GrantType:od,Group:dd,GroupSearchType:jt,GroupType:$r,IdpMetadata:Ws,IdpType:xi,Key:Zr,KeyKind:Br,KeyMigrationSpec:ud,KeyStatus:Gr,KeyType:cd,ListCertAuthProvidersApiResponse:rt,ListDirectoryServicesApiResponse:dn,ListLoginProvidersApiResponse:zi,ListSamlIdentityProvidersApiResponse:cr,ListUserGroupsApiResponse:Ur,ListUserKeysApiResponse:No,ListUsersApiResponse:Xo,LoginProvider:Ki,LoginRequest:wd,NameIdPolicyFormat:_s,ObjectKeyDetails:Hr,ObjectsAuthDetails:bd,ObjectsAuthSpec:jd,OidcKey:Cd,OidcSubjectType:Ud,OidcUserinfo:Rd,OpenLdapConfig:Ut,PasswordChangeRequest:aa,PasswordChangeResponse:ya,PasswordResetRequest:pa,PasswordResetResponse:ro,ResetUserPasswordApiResponse:lo,AuthnResponseType:yd,RevokeUserKeyApiResponse:Mo,SamlIdentityProvider:zs,Scope:vd,ScopesType:Md,SearchDirectoryServiceApiResponse:Qt,SigningAlgoType:Jd,SubjectType:Kd,SystemConfig:Bd,AuthnTenant:Id,TokenRequest:Vd,UpdateCertAuthProviderApiResponse:lt,UpdateDirectoryServiceApiResponse:Lt,UpdateSamlIdentityProviderApiResponse:Xs,UpdateUserApiResponse:zo,UpdateWelcomeBannerApiResponse:Pa,UseType:Od,User:Uo,UserConfiguration:Ot,UserGroup:Tr,UserGroupConfiguration:Ct,UserStateUpdate:yo,UserStateUpdateResponse:go,UserStatusType:co,UserType:Eo,ValidateCredentialsRequest:Xd,WelcomeBanner:ba,ApiVersion:Hi,AssociatedEndpoint:Qi,AttributeEntity:Fi,AuthorizationPolicy:Dn,AuthorizationPolicyConfig:Qd,AuthorizationPolicyProjection:ei,AuthorizationPolicyType:jn,AuthorizationRequest:cl,AuthorizationResponse:vl,AuthorizationResponseObject:yl,AuthorizeEntity:ol,AuthzMigrationRequest:fl,AuthzMigrationType:wl,BaseAuthorizationPolicy:Cn,BaseAuthorizationPolicyProjection:kl,BaseRole:qn,BaseRoleProjection:bl,Client:vi,ClientConfig:Ol,ConfigChangeset:Jl,ConfigChangesetData:Rl,ConfigChangesetDataObjects:Pl,ConfigChangesetDataOperations:Al,ConfigChangesetDisplayName:Dl,ConfigChangesetProjection:Kl,ConfigType:Ll,CreateAuthorizationPolicyApiResponse:ci,CreateRoleApiResponse:Ts,DeleteAuthorizationPolicyApiResponse:_n,DeleteRoleApiResponse:ws,Entity:Ci,EntityConfig:Bl,EntityFilter:On,EntityOperators:ki,GetAuthorizationPolicyApiResponse:Ln,GetClientApiResponse:fi,GetEntityApiResponse:Si,GetOperationApiResponse:ys,GetRoleApiResponse:Os,HttpMethod:Yi,IdentityFilter:Un,IdentityObject:sl,IdentityType:nl,ListAuthorizationPoliciesApiResponse:si,ListEntitiesApiResponse:Ii,ListOperationsApiResponse:us,ListRolesApiResponse:Us,MigrateRoleSpec:Vl,MigrationActionNotes:ts,Operation:os,OperationConfig:Yl,OperationSchemaChangeImpact:zn,OperationType:is,RequestObject:ul,AuthzResponseType:dl,Role:Hn,RoleConfig:tu,RoleProjection:Yn,SeedConfigAuthorizationPolicyList:su,SeedConfigEntityList:ou,SeedConfigOperationList:du,SeedConfigOperationType:uu,SeedConfigRequest:mu,SeedConfigRoleList:cu,SeedConfigType:yu,AuthzTenant:fu,UpdateAuthorizationPolicyApiResponse:di,UpdateRoleApiResponse:Ns,UserAuthorizationPolicy:bu,UserRole:ku,UserRoleProjection:ju,ActionBaseResponse:hn,CommonSchemaValidationError:Iu,CommonSchemaValidationErrorMessage:Pu,SchemaValidationErrorResponse:Nu,SortOrderType:Su,ValidationErrorMessage:Ou,AppMessage:Ae,ErrorResponse:_e,ErrorSchemaValidationError:Le,ErrorSchemaValidationErrorMessage:Ne,TenantTenant:Mu}})(),i.default})());