@nutanix-scratch/licensing-js-client 4.3.1 → 4.3.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.
- package/README.md +1 -1
- package/dist/Ntnx-Licensing-js-client-prod.js +1 -1
- package/dist/Ntnx-Licensing-js-client.js +138 -138
- package/dist/es/ApiClient.d.ts +1 -1
- package/dist/es/ApiClient.js +4 -4
- package/dist/es/Paginable.d.ts +1 -1
- package/dist/es/Paginable.js +3 -3
- package/dist/es/apis/enduserlicenseagreement-endpoints.d.ts +1 -1
- package/dist/es/apis/enduserlicenseagreement-endpoints.js +3 -3
- package/dist/es/apis/licensekeys-endpoints.d.ts +3 -3
- package/dist/es/apis/licensekeys-endpoints.js +5 -5
- package/dist/es/apis/licenses-endpoints.d.ts +6 -6
- package/dist/es/apis/licenses-endpoints.js +8 -8
- package/dist/es/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/es/models/common/v1/config/Flag.js +3 -3
- package/dist/es/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/es/models/common/v1/config/KVPair.js +3 -3
- package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/es/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/es/models/common/v1/config/Message.d.ts +1 -1
- package/dist/es/models/common/v1/config/Message.js +3 -3
- package/dist/es/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/es/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/es/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiLink.js +3 -3
- package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/es/models/licensing/v4/agreements/Acceptance.d.ts +1 -1
- package/dist/es/models/licensing/v4/agreements/Acceptance.js +3 -3
- package/dist/es/models/licensing/v4/agreements/AddUserApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/agreements/AddUserApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/agreements/EndUser.d.ts +1 -1
- package/dist/es/models/licensing/v4/agreements/EndUser.js +3 -3
- package/dist/es/models/licensing/v4/agreements/Eula.d.ts +1 -1
- package/dist/es/models/licensing/v4/agreements/Eula.js +3 -3
- package/dist/es/models/licensing/v4/agreements/GetEulaApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/agreements/GetEulaApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/AddLicenseKeyApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AddLicenseKeyApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/AddLicenseKeyDryRunApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AddLicenseKeyDryRunApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/Allowance.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Allowance.js +3 -3
- package/dist/es/models/licensing/v4/config/AllowanceDetail.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AllowanceDetail.js +3 -3
- package/dist/es/models/licensing/v4/config/AllowanceDetailProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AllowanceDetailProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/AllowanceProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AllowanceProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/AssignLicenseKeysApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AssignLicenseKeysApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/AssociateLicenseKeySpec.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AssociateLicenseKeySpec.js +3 -3
- package/dist/es/models/licensing/v4/config/AssociateLicenseKeysApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/AssociateLicenseKeysApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/AssociationType.js +2 -2
- package/dist/es/models/licensing/v4/config/BaseClusterInfo.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/BaseClusterInfo.js +3 -3
- package/dist/es/models/licensing/v4/config/BaseLicenseInfo.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/BaseLicenseInfo.js +3 -3
- package/dist/es/models/licensing/v4/config/BillingPlan.js +2 -2
- package/dist/es/models/licensing/v4/config/CapacityViolation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/CapacityViolation.js +3 -3
- package/dist/es/models/licensing/v4/config/ClusterLicenseKeyMapping.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ClusterLicenseKeyMapping.js +3 -3
- package/dist/es/models/licensing/v4/config/ClusterLicenseKeyMappingProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ClusterLicenseKeyMappingProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/ClusterType.js +2 -2
- package/dist/es/models/licensing/v4/config/Compliance.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Compliance.js +3 -3
- package/dist/es/models/licensing/v4/config/ComplianceProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ComplianceProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/Consumption.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Consumption.js +3 -3
- package/dist/es/models/licensing/v4/config/ConsumptionProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ConsumptionProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/ConsumptionType.js +2 -2
- package/dist/es/models/licensing/v4/config/DeleteLicenseKeyApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/DeleteLicenseKeyApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/DryRunCheck.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/DryRunCheck.js +3 -3
- package/dist/es/models/licensing/v4/config/DryRunStatus.js +2 -2
- package/dist/es/models/licensing/v4/config/DryRunValidationResult.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/DryRunValidationResult.js +3 -3
- package/dist/es/models/licensing/v4/config/EnforcementActions.js +2 -2
- package/dist/es/models/licensing/v4/config/EnforcementLevel.js +2 -2
- package/dist/es/models/licensing/v4/config/EnforcementPolicy.js +2 -2
- package/dist/es/models/licensing/v4/config/Entitlement.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Entitlement.js +3 -3
- package/dist/es/models/licensing/v4/config/EntitlementDetail.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/EntitlementDetail.js +3 -3
- package/dist/es/models/licensing/v4/config/EntitlementDetailProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/EntitlementDetailProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/EntitlementProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/EntitlementProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/ExpiredLicense.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ExpiredLicense.js +3 -3
- package/dist/es/models/licensing/v4/config/Feature.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Feature.js +3 -3
- package/dist/es/models/licensing/v4/config/FeatureDetail.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/FeatureDetail.js +3 -3
- package/dist/es/models/licensing/v4/config/FeatureProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/FeatureProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/FeatureViolation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/FeatureViolation.js +3 -3
- package/dist/es/models/licensing/v4/config/GetLicenseKeyApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/GetLicenseKeyApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/License.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/License.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseCategory.js +2 -2
- package/dist/es/models/licensing/v4/config/LicenseClass.js +2 -2
- package/dist/es/models/licensing/v4/config/LicenseKey.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKey.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyAssignment.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyAssignment.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyAssignmentSpec.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyAssignmentSpec.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyAssociation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyAssociation.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyAssociationProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyAssociationProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyMapping.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyMapping.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeyProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseKeyProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseKeySubCategory.js +2 -2
- package/dist/es/models/licensing/v4/config/LicenseProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseStateSyncSpec.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LicenseStateSyncSpec.js +3 -3
- package/dist/es/models/licensing/v4/config/LicenseType.js +2 -2
- package/dist/es/models/licensing/v4/config/ListAllowancesApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListAllowancesApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListCompliancesApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListCompliancesApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListEntitlementsApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListEntitlementsApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListFeaturesApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListFeaturesApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListLicenseKeysApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListLicenseKeysApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListLicensesApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListLicensesApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListReclaimLicenseTokensApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListReclaimLicenseTokensApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListRecommendationsApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListRecommendationsApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListSettingsApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListSettingsApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ListViolationsApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ListViolationsApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/LogicalVersion.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/LogicalVersion.js +3 -3
- package/dist/es/models/licensing/v4/config/Meter.js +2 -2
- package/dist/es/models/licensing/v4/config/OperationType.js +2 -2
- package/dist/es/models/licensing/v4/config/PortalSetting.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/PortalSetting.js +3 -3
- package/dist/es/models/licensing/v4/config/PostPaidCategory.js +2 -2
- package/dist/es/models/licensing/v4/config/PostPaidConfig.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/PostPaidConfig.js +3 -3
- package/dist/es/models/licensing/v4/config/ProductName.js +2 -2
- package/dist/es/models/licensing/v4/config/ReclaimLicenseKeyApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ReclaimLicenseKeyApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/ReclaimLicenseKeySpec.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ReclaimLicenseKeySpec.js +3 -3
- package/dist/es/models/licensing/v4/config/ReclaimLicenseToken.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ReclaimLicenseToken.js +3 -3
- package/dist/es/models/licensing/v4/config/ReclaimLicenseTokenProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ReclaimLicenseTokenProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/ReclaimType.js +2 -2
- package/dist/es/models/licensing/v4/config/Recommendation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Recommendation.js +3 -3
- package/dist/es/models/licensing/v4/config/RecommendationDetail.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/RecommendationDetail.js +3 -3
- package/dist/es/models/licensing/v4/config/RecommendationScope.js +2 -2
- package/dist/es/models/licensing/v4/config/ResetScope.js +2 -2
- package/dist/es/models/licensing/v4/config/Scope.js +2 -2
- package/dist/es/models/licensing/v4/config/Service.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Service.js +3 -3
- package/dist/es/models/licensing/v4/config/ServiceProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ServiceProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/ServiceViolation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/ServiceViolation.js +3 -3
- package/dist/es/models/licensing/v4/config/ServiceViolationType.js +2 -2
- package/dist/es/models/licensing/v4/config/Setting.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Setting.js +3 -3
- package/dist/es/models/licensing/v4/config/Status.js +2 -2
- package/dist/es/models/licensing/v4/config/SubCategory.js +2 -2
- package/dist/es/models/licensing/v4/config/SyncLicenseStateApiResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/SyncLicenseStateApiResponse.js +3 -3
- package/dist/es/models/licensing/v4/config/SyncOperationType.js +2 -2
- package/dist/es/models/licensing/v4/config/Trial.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Trial.js +3 -3
- package/dist/es/models/licensing/v4/config/TrialCategory.js +2 -2
- package/dist/es/models/licensing/v4/config/TrialProjection.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/TrialProjection.js +3 -3
- package/dist/es/models/licensing/v4/config/TrialStatus.js +2 -2
- package/dist/es/models/licensing/v4/config/TrialType.js +2 -2
- package/dist/es/models/licensing/v4/config/ValueType.js +2 -2
- package/dist/es/models/licensing/v4/config/Violation.d.ts +1 -1
- package/dist/es/models/licensing/v4/config/Violation.js +3 -3
- package/dist/es/models/licensing/v4/error/AppMessage.d.ts +1 -1
- package/dist/es/models/licensing/v4/error/AppMessage.js +3 -3
- package/dist/es/models/licensing/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/es/models/licensing/v4/error/ErrorResponse.js +3 -3
- package/dist/es/models/licensing/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/es/models/licensing/v4/error/SchemaValidationError.js +3 -3
- package/dist/es/models/licensing/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/licensing/v4/error/SchemaValidationErrorMessage.js +3 -3
- package/dist/es/models/prism/v4/config/TaskReference.d.ts +1 -1
- package/dist/es/models/prism/v4/config/TaskReference.js +4 -4
- package/dist/es/models/validation/ValidationError.js +2 -2
- package/dist/es/utils/ValidationUtils.js +2 -2
- package/dist/lib/ApiClient.d.ts +1 -1
- package/dist/lib/ApiClient.js +4 -4
- package/dist/lib/Paginable.d.ts +1 -1
- package/dist/lib/Paginable.js +3 -3
- package/dist/lib/apis/enduserlicenseagreement-endpoints.d.ts +1 -1
- package/dist/lib/apis/enduserlicenseagreement-endpoints.js +3 -3
- package/dist/lib/apis/licensekeys-endpoints.d.ts +3 -3
- package/dist/lib/apis/licensekeys-endpoints.js +5 -5
- package/dist/lib/apis/licenses-endpoints.d.ts +6 -6
- package/dist/lib/apis/licenses-endpoints.js +8 -8
- package/dist/lib/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Flag.js +3 -3
- package/dist/lib/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/lib/models/common/v1/config/KVPair.js +3 -3
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/lib/models/common/v1/config/Message.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Message.js +3 -3
- package/dist/lib/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/lib/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/lib/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiLink.js +3 -3
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/lib/models/licensing/v4/agreements/Acceptance.d.ts +1 -1
- package/dist/lib/models/licensing/v4/agreements/Acceptance.js +3 -3
- package/dist/lib/models/licensing/v4/agreements/AddUserApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/agreements/AddUserApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/agreements/EndUser.d.ts +1 -1
- package/dist/lib/models/licensing/v4/agreements/EndUser.js +3 -3
- package/dist/lib/models/licensing/v4/agreements/Eula.d.ts +1 -1
- package/dist/lib/models/licensing/v4/agreements/Eula.js +3 -3
- package/dist/lib/models/licensing/v4/agreements/GetEulaApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/agreements/GetEulaApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/AddLicenseKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AddLicenseKeyApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/AddLicenseKeyDryRunApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AddLicenseKeyDryRunApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/Allowance.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Allowance.js +3 -3
- package/dist/lib/models/licensing/v4/config/AllowanceDetail.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AllowanceDetail.js +3 -3
- package/dist/lib/models/licensing/v4/config/AllowanceDetailProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AllowanceDetailProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/AllowanceProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AllowanceProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/AssignLicenseKeysApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AssignLicenseKeysApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/AssociateLicenseKeySpec.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AssociateLicenseKeySpec.js +3 -3
- package/dist/lib/models/licensing/v4/config/AssociateLicenseKeysApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/AssociateLicenseKeysApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/AssociationType.js +2 -2
- package/dist/lib/models/licensing/v4/config/BaseClusterInfo.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/BaseClusterInfo.js +3 -3
- package/dist/lib/models/licensing/v4/config/BaseLicenseInfo.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/BaseLicenseInfo.js +3 -3
- package/dist/lib/models/licensing/v4/config/BillingPlan.js +2 -2
- package/dist/lib/models/licensing/v4/config/CapacityViolation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/CapacityViolation.js +3 -3
- package/dist/lib/models/licensing/v4/config/ClusterLicenseKeyMapping.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ClusterLicenseKeyMapping.js +3 -3
- package/dist/lib/models/licensing/v4/config/ClusterLicenseKeyMappingProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ClusterLicenseKeyMappingProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/ClusterType.js +2 -2
- package/dist/lib/models/licensing/v4/config/Compliance.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Compliance.js +3 -3
- package/dist/lib/models/licensing/v4/config/ComplianceProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ComplianceProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/Consumption.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Consumption.js +3 -3
- package/dist/lib/models/licensing/v4/config/ConsumptionProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ConsumptionProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/ConsumptionType.js +2 -2
- package/dist/lib/models/licensing/v4/config/DeleteLicenseKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/DeleteLicenseKeyApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/DryRunCheck.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/DryRunCheck.js +3 -3
- package/dist/lib/models/licensing/v4/config/DryRunStatus.js +2 -2
- package/dist/lib/models/licensing/v4/config/DryRunValidationResult.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/DryRunValidationResult.js +3 -3
- package/dist/lib/models/licensing/v4/config/EnforcementActions.js +2 -2
- package/dist/lib/models/licensing/v4/config/EnforcementLevel.js +2 -2
- package/dist/lib/models/licensing/v4/config/EnforcementPolicy.js +2 -2
- package/dist/lib/models/licensing/v4/config/Entitlement.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Entitlement.js +3 -3
- package/dist/lib/models/licensing/v4/config/EntitlementDetail.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/EntitlementDetail.js +3 -3
- package/dist/lib/models/licensing/v4/config/EntitlementDetailProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/EntitlementDetailProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/EntitlementProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/EntitlementProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/ExpiredLicense.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ExpiredLicense.js +3 -3
- package/dist/lib/models/licensing/v4/config/Feature.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Feature.js +3 -3
- package/dist/lib/models/licensing/v4/config/FeatureDetail.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/FeatureDetail.js +3 -3
- package/dist/lib/models/licensing/v4/config/FeatureProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/FeatureProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/FeatureViolation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/FeatureViolation.js +3 -3
- package/dist/lib/models/licensing/v4/config/GetLicenseKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/GetLicenseKeyApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/License.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/License.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseCategory.js +2 -2
- package/dist/lib/models/licensing/v4/config/LicenseClass.js +2 -2
- package/dist/lib/models/licensing/v4/config/LicenseKey.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKey.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssignment.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssignment.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssignmentSpec.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssignmentSpec.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssociation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssociation.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssociationProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyAssociationProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyMapping.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyMapping.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeyProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseKeyProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseKeySubCategory.js +2 -2
- package/dist/lib/models/licensing/v4/config/LicenseProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseStateSyncSpec.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LicenseStateSyncSpec.js +3 -3
- package/dist/lib/models/licensing/v4/config/LicenseType.js +2 -2
- package/dist/lib/models/licensing/v4/config/ListAllowancesApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListAllowancesApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListCompliancesApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListCompliancesApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListEntitlementsApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListEntitlementsApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListFeaturesApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListFeaturesApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListLicenseKeysApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListLicenseKeysApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListLicensesApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListLicensesApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListReclaimLicenseTokensApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListReclaimLicenseTokensApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListRecommendationsApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListRecommendationsApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListSettingsApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListSettingsApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ListViolationsApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ListViolationsApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/LogicalVersion.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/LogicalVersion.js +3 -3
- package/dist/lib/models/licensing/v4/config/Meter.js +2 -2
- package/dist/lib/models/licensing/v4/config/OperationType.js +2 -2
- package/dist/lib/models/licensing/v4/config/PortalSetting.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/PortalSetting.js +3 -3
- package/dist/lib/models/licensing/v4/config/PostPaidCategory.js +2 -2
- package/dist/lib/models/licensing/v4/config/PostPaidConfig.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/PostPaidConfig.js +3 -3
- package/dist/lib/models/licensing/v4/config/ProductName.js +2 -2
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseKeyApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseKeySpec.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseKeySpec.js +3 -3
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseToken.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseToken.js +3 -3
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseTokenProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ReclaimLicenseTokenProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/ReclaimType.js +2 -2
- package/dist/lib/models/licensing/v4/config/Recommendation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Recommendation.js +3 -3
- package/dist/lib/models/licensing/v4/config/RecommendationDetail.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/RecommendationDetail.js +3 -3
- package/dist/lib/models/licensing/v4/config/RecommendationScope.js +2 -2
- package/dist/lib/models/licensing/v4/config/ResetScope.js +2 -2
- package/dist/lib/models/licensing/v4/config/Scope.js +2 -2
- package/dist/lib/models/licensing/v4/config/Service.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Service.js +3 -3
- package/dist/lib/models/licensing/v4/config/ServiceProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ServiceProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/ServiceViolation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/ServiceViolation.js +3 -3
- package/dist/lib/models/licensing/v4/config/ServiceViolationType.js +2 -2
- package/dist/lib/models/licensing/v4/config/Setting.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Setting.js +3 -3
- package/dist/lib/models/licensing/v4/config/Status.js +2 -2
- package/dist/lib/models/licensing/v4/config/SubCategory.js +2 -2
- package/dist/lib/models/licensing/v4/config/SyncLicenseStateApiResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/SyncLicenseStateApiResponse.js +3 -3
- package/dist/lib/models/licensing/v4/config/SyncOperationType.js +2 -2
- package/dist/lib/models/licensing/v4/config/Trial.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Trial.js +3 -3
- package/dist/lib/models/licensing/v4/config/TrialCategory.js +2 -2
- package/dist/lib/models/licensing/v4/config/TrialProjection.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/TrialProjection.js +3 -3
- package/dist/lib/models/licensing/v4/config/TrialStatus.js +2 -2
- package/dist/lib/models/licensing/v4/config/TrialType.js +2 -2
- package/dist/lib/models/licensing/v4/config/ValueType.js +2 -2
- package/dist/lib/models/licensing/v4/config/Violation.d.ts +1 -1
- package/dist/lib/models/licensing/v4/config/Violation.js +3 -3
- package/dist/lib/models/licensing/v4/error/AppMessage.d.ts +1 -1
- package/dist/lib/models/licensing/v4/error/AppMessage.js +3 -3
- package/dist/lib/models/licensing/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/lib/models/licensing/v4/error/ErrorResponse.js +3 -3
- package/dist/lib/models/licensing/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/lib/models/licensing/v4/error/SchemaValidationError.js +3 -3
- package/dist/lib/models/licensing/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/licensing/v4/error/SchemaValidationErrorMessage.js +3 -3
- package/dist/lib/models/prism/v4/config/TaskReference.d.ts +1 -1
- package/dist/lib/models/prism/v4/config/TaskReference.js +4 -4
- package/dist/lib/models/validation/ValidationError.js +2 -2
- package/dist/lib/utils/ValidationUtils.js +2 -2
- 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.Licensing=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=r,r.default=r,r.stable=u,r.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function r(e,t,n,r){var a;void 0===r&&(r=o()),l(e,"",0,[],void 0,0,r);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function a(e,t,n,o){var r=Object.getOwnPropertyDescriptor(o,n);void 0!==r.get?r.configurable?(Object.defineProperty(o,n,{value:e}),i.push([o,n,t,r])):s.push([t,n,e]):(o[n]=e,i.push([o,n,t]))}function l(e,i,s,o,r,d,u){var c;if(d+=1,"object"==typeof e&&null!==e){for(c=0;c<o.length;c++)if(o[c]===e)return void a(n,e,i,r);if(void 0!==u.depthLimit&&d>u.depthLimit)return void a(t,e,i,r);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,r);if(o.push(e),Array.isArray(e))for(c=0;c<e.length;c++)l(e[c],c,c,o,e,d,u);else{var h=Object.keys(e);for(c=0;c<h.length;c++){var p=h[c];l(e[p],p,c,o,e,d,u)}}o.pop()}}function d(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,r){void 0===r&&(r=o());var a,l=c(e,"",0,[],void 0,0,r)||e;try{a=0===s.length?JSON.stringify(l,t,n):JSON.stringify(l,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function c(e,s,o,r,l,u,h){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<r.length;p++)if(r[p]===e)return void a(n,e,s,l);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void a(t,e,s,l);if(void 0!==h.edgesLimit&&o+1>h.edgesLimit)return void a(t,e,s,l);if(r.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,r,e,u,h);else{var y={},g=Object.keys(e).sort(d);for(p=0;p<g.length;p++){var v=g[p];c(e[v],v,p,r,e,u,h),y[v]=e[v]}if(void 0===l)return y;i.push([l,s,e]),l[s]=y}r.pop()}}function h(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 o=s[i];if(o[1]===t&&o[0]===n){n=o[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,o=e-s;if(0!==o){if(o<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<o+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 o=n(960),r=n(340),a=n(695),l=n(388),d=n(19),u=n(619);function c(){}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 h=t=e.exports;t.Request=w,h.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(!l(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(l(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("&"),o=0,r=s.length;o<r;++o)-1===(n=(t=s[o]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function $(e){return/[/+]json($|[^-\w])/.test(e)}function f(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,o=e.split(/\r?\n/),r={},a=0,l=o.length;a<l;++a)-1!==(t=(n=o[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),r[i]=s);return r}(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 w(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 f(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 m(e,t,n){var i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}h.serializeObject=y,h.parseString=v,h.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"},h.serialize={"application/x-www-form-urlencoded":y,"application/json":r},h.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},d(f.prototype),f.prototype._parseBody=function(e){var t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&$(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},f.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},h.Response=f,o(w.prototype),a(w.prototype),w.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},w.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},w.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")})},w.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},w.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},w.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},w.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)},w.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)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},w.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||c,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},w.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=h.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"],o=this._serializer||h.serialize[s?s.split(";")[0]:""];!o&&$(s)&&(o=h.serialize["application/json"]),o&&(n=o(n))}for(var r in this.header)null!==this.header[r]&&Object.prototype.hasOwnProperty.call(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,h.get=function(e,t,n){var i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=function(e,t,n){var i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=function(e,t,n){var i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=m,h.delete=m,h.patch=function(e,t,n){var i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=function(e,t,n){var i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=function(e,t,n){var i=h("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 o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},o.prototype.parse=function(e){return this._parser=e,this},o.prototype.responseType=function(e){return this._responseType=e,this},o.prototype.serialize=function(e){return this._serializer=e,this},o.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},o.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 r=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];o.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&&r.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},o.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()},o.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)},o.prototype.catch=function(e){return this.then(void 0,e)},o.prototype.use=function(e){return e(this),this},o.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},o.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},o.prototype.get=function(e){return this._header[e.toLowerCase()]},o.prototype.getHeader=o.prototype.get,o.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},o.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},o.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},o.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},o.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},o.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},o.prototype.redirects=function(e){return this._maxRedirects=e,this},o.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},o.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},o.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},o.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},o.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("&")}}},o.prototype._appendQueryString=function(){console.warn("Unsupported")},o.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)}},o.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 o(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 r(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]*?)$/,l=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,d={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=l.exec(i);return[n,s[1],s[2],s[3]]}function c(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 h(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}d.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var r;if(i>=0?r=arguments[i]:e?(r=process.env["="+e])&&r.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(r=e+"\\"):r=process.cwd(),!s.isString(r))throw new TypeError("Arguments to path.resolve must be strings");if(r){var a=c(r),l=a.device,d=a.isUnc,u=a.isAbsolute,p=a.tail;if((!l||!e||l.toLowerCase()===e.toLowerCase())&&(e||(e=l),n||(t=p+"\\"+t,n=u),e&&n))break}}return d&&(e=h(e)),e+(n?"\\":"")+(t=o(t.split(/[\\\/]+/),!n).join("\\"))||"."},d.normalize=function(e){var t=c(e),n=t.device,i=t.isUnc,s=t.isAbsolute,r=t.tail,a=/[\\\/]$/.test(r);return(r=o(r.split(/[\\\/]+/),!s).join("\\"))||s||(r="."),r&&a&&(r+="\\"),i&&(n=h(n)),n+(s?"\\":"")+r},d.isAbsolute=function(e){return c(e).isAbsolute},d.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,}/,"\\")),d.normalize(i)},d.relative=function(e,t){e=d.resolve(e),t=d.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=r(t.split("\\")),o=r(n.split("\\")),a=r(i.split("\\")),l=Math.min(o.length,a.length),u=l,c=0;c<l;c++)if(o[c]!==a[c]){u=c;break}if(0==u)return t;var h=[];for(c=u;c<o.length;c++)h.push("..");return(h=h.concat(s.slice(u))).join("\\")},d._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=d.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},d.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):"."},d.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},d.extname=function(e){return u(e)[3]},d.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]===d.sep?n+i:n+d.sep+i:i},d.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)}},d.sep="\\",d.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=o(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=o(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=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a<s;a++)if(n[a]!==i[a]){o=a;break}var l=[];for(a=o;a<n.length;a++)l.push("..");return(l=l.concat(i.slice(o))).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?d:y,e.exports.posix=y,e.exports.win32=d},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(r(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,o=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=o)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}}),l=s[n];n<o;l=s[++n])y(l)||!w(l)?a+=" "+l:a+=" "+r(l);return a},t.deprecate=function(e,i){if($(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,o={};function r(e,n){var i={seen:[],stylize:l};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),$(i.showHidden)&&(i.showHidden=!1),$(i.depth)&&(i.depth=2),$(i.colors)&&(i.colors=!1),$(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),d(i,e,i.depth)}function a(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function l(e,t){return e}function d(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=d(e,s,i)),s}var o=function(e,t){if($(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(o)return o;var r=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(r);if(e.showHidden&&(r=Object.getOwnPropertyNames(n)),b(n)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return u(n);if(0===r.length){if(T(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if(f(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(m(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var w,k="",j=!1,O=["{","}"];return h(n)&&(j=!0,O=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),f(n)&&(k=" "+RegExp.prototype.toString.call(n)),m(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==r.length||j&&0!=n.length?i<0?f(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=j?function(e,t,n,i,s){for(var o=[],r=0,a=t.length;r<a;++r)F(t,String(r))?o.push(c(e,t,n,i,String(r),!0)):o.push("");return s.forEach(function(s){s.match(/^\d+$/)||o.push(c(e,t,n,i,s,!0))}),o}(e,n,i,a,r):r.map(function(t){return c(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]}(w,k,O)):O[0]+k+O[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function c(e,t,n,i,s,o){var r,a,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),F(i,s)||(r="["+s+"]"),a||(e.seen.indexOf(l.value)<0?(a=y(n)?d(e,l.value,null):d(e,l.value,n-1)).indexOf("\n")>-1&&(a=o?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")),$(r)){if(o&&s.match(/^\d+$/))return a;(r=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=e.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=e.stylize(r,"string"))}return r+": "+a}function h(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 $(e){return void 0===e}function f(e){return w(e)&&"[object RegExp]"===k(e)}function w(e){return"object"==typeof e&&null!==e}function m(e){return w(e)&&"[object Date]"===k(e)}function b(e){return w(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($(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!o[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;o[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else o[e]=function(){};return o[e]},t.inspect=r,r.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]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,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=$,t.isRegExp=f,t.isObject=w,t.isDate=m,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 O=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function F(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(),O[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(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 o=t[i]={exports:{}};return e[i](o,o.exports,n),o.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:()=>_o});var e,t=n(585),s=n.n(t);class o{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new o,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=le.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}o.prototype.linkFirst=null,o.prototype.linkPrev=null,o.prototype.linkNext=null,o.prototype.linkLast=null,o.prototype.apiClient=null,o.prototype.page=null,o.prototype.resultsPerPage=null,o.prototype.resultsTotal=null;var r=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(r)}const l=/^(?:[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 d=[],u=0;u<256;++u)d.push((u+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&l.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=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 c(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),$=n(799),f=n.n($),w=n(784),m=n.n(w),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 O{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 F=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=F),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 O("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new O("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("value","undefined or null")}}function P(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 D=new WeakSet;class C{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.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new C,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:P(D,this,I).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:P(D,this,I).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("map","undefined or null")}}function I(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")}C.prototype.map=void 0,C.prototype.$reserved=void 0,C.prototype.$objectType=void 0,C.prototype.$unknownFields=void 0;var N=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=N),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,o,r,a;if(e){if(t=t||new U,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(r=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(a){case"string":case"integer":case"number":r.push(i[o]);break;case"common.v1.config.MapOfStringWrapper":s=C.constructFromObject(i[o],void 0),r.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(r)}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):A(N,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):A(N,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 O("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new O("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("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}U.prototype.name=void 0,U.prototype.value=void 0,U.prototype.$reserved=void 0,U.prototype.$objectType=void 0,U.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 x=new WeakSet;class M{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=x),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 M,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("severity","undefined or null"):new O("locale","undefined or null"):new O("message","undefined or null"):new O("code","undefined or null")}}M.prototype.code=void 0,M.prototype.message=void 0,M.prototype.locale="en_US",M.prototype.severity=void 0,M.prototype.$reserved=void 0,M.prototype.$objectType=void 0,M.prototype.$unknownFields=void 0;var _=new WeakSet;class J{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=_),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 J,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("rel","undefined or null"):new O("href","undefined or null")}}J.prototype.href=void 0,J.prototype.rel=void 0,J.prototype.$reserved=void 0,J.prototype.$objectType=void 0,J.prototype.$unknownFields=void 0;var K,W=new WeakSet;class V{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,o,r;if(e){if(t=t||new V,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(r=[],i=e.flags,o=0;o<i.length;o++)s=E.constructFromObject(i[o],void 0),r.push(s);t.setFlags(r)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,o=0;o<i.length;o++)s=J.constructFromObject(i[o],void 0),r.push(s);t.setLinks(r)}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(r=[],i=e.messages,o=0;o<i.length;o++)s=M.constructFromObject(i[o],void 0),r.push(s);t.setMessages(r)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(r=[],i=e.extraInfo,o=0;o<i.length;o++)s=U.constructFromObject(i[o],void 0),r.push(s);t.setExtraInfo(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())}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 O("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new O("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new O("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new O("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new O("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new O("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new O("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new O("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function q(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 B(e,t){return e.get(Y(e,t))}function G(e,t,n){return e.set(Y(e,t),n),n}function Y(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")}V.prototype.flags=void 0,V.prototype.links=void 0,V.prototype.totalAvailableResults=void 0,V.prototype.messages=void 0,V.prototype.extraInfo=void 0,V.prototype.$reserved=void 0,V.prototype.$objectType=void 0,V.prototype.$unknownFields=void 0,y()(s());var H=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,oe=new WeakMap,re=new WeakMap,ae=new WeakSet;class le{constructor(){var e;z(this,e=ae),e.add(this),q(this,H,void 0),q(this,Q,void 0),q(this,X,void 0),q(this,Z,void 0),q(this,ee,void 0),q(this,te,void 0),q(this,ne,void 0),q(this,ie,void 0),q(this,se,void 0),q(this,oe,void 0),q(this,re,void 0),G(re,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",G(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={},G(ee,this,3e4),G(te,this,3e4),G(ne,this,108e5),this.readTimeout=B(te,this),this.connectTimeout=B(ee,this),this.cache=!0,G(Q,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,G(oe,this,null),this.allowVersionNegotiation=!0,G(se,this,!1),this.debug=!1,G(X,this,null),this.username=null,this.password=null,G(Z,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),G(Z,this,e)}get verifySsl(){return B(Z,this)}set host(e){G(ie,this,e),G(se,this,!1),G(oe,this,null)}get host(){return B(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=f().createWriteStream(e,{flags:"a"})),G(X,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&G(Q,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!==B(oe,this)&&null!==B(oe,this)&&null!==B(oe,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.3"!==B(oe,this)){Y(ae,this,ke).call(this,B(re,this).INFO,null,"Changing uri",e,"to negotiated version",B(oe,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,B(oe,this))}G(H,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==B(H,this)&&""!==this.host&&""!==this.port?i=B(H,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 B(oe,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===B(se,this)?this.callApiInternal("/api/licensing/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.3";if(Y(ae,this,fe).call(this,Y(ae,this,we).call(this,i),Y(ae,this,we).call(this,s)))return Y(ae,this,ke).call(this,B(re,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),G(oe,this,null),G(se,this,!1),void n(e);G(oe,this,Y(ae,this,$e).call(this,"v4.3",i)),G(se,this,!0),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Negotiated Version with server :",B(oe,this)),n(e)}else Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Could not fetch supported versions from server"),G(oe,this,null),G(se,this,!1),n(e)}).catch(t=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Could not fetch supported versions from server"),G(oe,this,null),G(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,o,r,a,l,d,u){return this.negotiateVersion(this,a).then(function(c){return c.callApiInternal(e,t,n,i,s,o,r,a,l,d,u)})}callApiInternal(e,t,i,o,r,a,l,d,u,c,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(c&&c.length>0&&c.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=Y(ae,this,Ee).call(this,y,t,o,r,l,d,u,c);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";Y(ae,this,ke).call(this,B(re,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),o=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(o)));return o()}).catch(e=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Caught the following error :",e),n(e)})});var $=s()(t,y);if($.oldCallback=$.callback,$.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)},Y(ae,this,pe).call(this,$,d),"GET"===t.toUpperCase()&&!1===this.cache&&(o._=(new Date).getTime()),$.query(Y(ae,this,he).call(this,o)),$.set(this.defaultHeaders).set(Y(ae,this,he).call(this,r)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==r["NTNX-Request-Id"]&&void 0!==r["NTNX-Request-Id"])){let e=h();$.set(Y(ae,this,he).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",$.set(Y(ae,this,he).call(this,{"User-Agent":"Nutanix-licensing-js-client/4.3.1"}))),this.requestAgent&&$.agent(this.requestAgent);var w={};w.response=Y(ae,this,me).call(this,this.connectTimeout,B(ee,this)),w.deadline=Y(ae,this,me).call(this,this.readTimeout,B(te,this)),$.timeout(w);var m=r.hasOwnProperty("Content-Type")?r["Content-Type"]:Y(ae,this,ue).call(this,u);if(m?"multipart/form-data"!=m&&$.type(m):$.header["Content-Type"]||$.type("application/json"),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Request URL :",t,y),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Request Headers :",void 0===$.header?"":$.header),"application/x-www-form-urlencoded"===m)$.send(Y(ae,this,he).call(this,a));else if("multipart/form-data"==m){var b=Y(ae,this,he).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(Y(ae,this,ce).call(this,b[T])?$.attach(T,b[T]):$.field(T,b[T]))}else{if("application/octet-stream"===m&&null!=l&&"function"==typeof l.pipe){if(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Piping octet-stream request"),"function"==typeof l.pipe)l.pipe($);else{let e;try{e=n(965)}catch(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Error fetching steam/web")}l instanceof e.ReadableStream?l.pipeTo(new e.WritableStream({write(e){$.write(e)},close(){Y(ae,this,ke).call(this,B(re,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"READABLE STREAM ABORTED")}})):$.send(l)}return new Promise((t,n)=>{$.on("error",e=>{Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{Y(ae,this,Fe).call(this,i,e,o,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&l&&$.send(l)}"Blob"==typeof p?$.responseType("blob"):"String"===p&&$.responseType("string"),Y(ae,this,Te).call(this,$),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Request Body :",void 0===$._data?"":$._data);var k=r.hasOwnProperty("Accept")&&null!=r.Accept?r.Accept:c.join(", ");return k&&$.accept(k),new Promise((n,i)=>{$.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught the following error :",e)}).end((r,a)=>{if(r)Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught error during the request!"),Y(ae,this,ke).call(this,B(re,this).ERROR,null,r),404===r.status&&(G(se,this,!1),G(oe,this,null)),null!==r.response&&void 0!==r.response?r.data=Y(ae,this,ge).call(this,r.response,p):r.data=Y(ae,this,ye).call(this,r),i(r);else{Y(ae,this,ke).call(this,B(re,this).INFO,null,"Response Status :",a.status),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Response Headers :",a.headers);let r="";if(a.headers.hasOwnProperty("content-type")&&(r=a.headers["content-type"]),v.includes(r)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=f().createWriteStream(e);Y(ae,this,Pe).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",o=this;Y(ae,this,ke).call(this,B(re,this).INFO,null,"Redirecting to :",a.headers.location);var l=s()(t,a.headers.location);l.set($.header),a.headers.hasOwnProperty("x-redirect-token")&&(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Writing X-Redirect-Token into Cookie"),l.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&l.agent(this.requestAgent),l.redirects(0),l.withCredentials(this.withCredentials),l.buffer(!1);let r=f().createWriteStream(e);l.pipe(r),l.on("response",function(t){Y(ae,o,ke).call(o,B(re,o).INFO,null,"Received response after redirection :",t.status),Y(ae,o,Pe).call(o,t,r,e,n,i,p)})}else Y(ae,this,Fe).call(this,a,e,o,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 le.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=>le.convertToType(e,n))}if("object"==typeof t){var i,s;for(var o in t)if(t.hasOwnProperty(o)){i=o,s=t[o];break}var r={};for(var o in e)if(e.hasOwnProperty(o)){var a=le.convertToType(o,i),l=le.convertToType(e[o],s);r[a]=l}return r}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=le.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=le.convertToType(e[s],n))}}function de(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(Y(ae,this,de).call(this,e[t]))return e[t];return e[0]}function ce(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 he(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];Y(ae,this,ce).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||""),Y(ae,this,ke).call(this,B(re,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)}Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,ke).call(this,B(re,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],o=new V;return o.flags=s,n.metadata=o,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 o))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 $e(e,t){if(!e||!t)return e;let n=Y(ae,this,we).call(this,e),i=Y(ae,this,we).call(this,t);return!n.family===i.family||Y(ae,this,fe).call(this,n,i)?e:t}function fe(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)),o="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<o:"a"===n||"released"===t.versionType}function we(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 me(e,t){return e<=0?e=t:e>B(ne,this)&&(e=B(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))}G(Q,this,t),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Retained cookie :",t)}else G(Q,this,null)}function Te(e){null!=B(Q,this)&&e.set(Y(ae,this,he).call(this,{Cookie:B(Q,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=B(re,this).INFO),!Y(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!==B(X,this)&&null!==B(X,this)&&"function"==typeof B(X,this).log?B(X,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===B(re,this).DEBUG}function Oe(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 Fe(e,t,n,i,s,o){try{var r=Y(ae,this,ge).call(this,e,i);Y(ae,this,ke).call(this,B(re,this).INFO,null,"Response Status :",e.status),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Response Headers :",e.headers),Y(ae,this,be).call(this,e||{}),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Response Body :",r),204==e.status&&null==r?s({data:r,response:e}):e.ok&&null!=r?(this.addEtagToReservedMap(e,r),Y(ae,this,ve).call(this,r,t,n),s({data:r,response:e})):(Y(ae,this,ke).call(this,B(re,this).ERROR,null,r),o({...e.error,data:r}))}catch(e){Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught error while processing response!"),Y(ae,this,ke).call(this,B(re,this).ERROR,null,e),e.data=Y(ae,this,ye).call(this,e),o(e)}}function Ee(e,t,n,i,s,o,r,a){let l={};o.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}`);l.Authorization=`Basic ${t}`}Y(ae,this,ke).call(this,B(re,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?l[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(l.Authorization="Bearer "+t.accessToken),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,ke).call(this,B(re,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 d=Y(ae,this,he).call(this,n),u=Object.keys(d).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d[e])}`).join("&");let c=e;u&&(c+=(c.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...Y(ae,this,he).call(this,i),...l};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=h();p["NTNX-Request-Id"]=e}null!=B(Q,this)&&(p.Cookie=Y(ae,this,he).call(this,{Cookie:B(Q,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:Y(ae,this,ue).call(this,r);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Request URL :",t,e),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Request Headers :",p),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Request Body :",s||""),{url:c,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Pe(e,t,n,i,s,o){Y(ae,this,ke).call(this,B(re,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Issue while downloading file",e)}let r=new o,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=m().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,r.data={path:m().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],o=new V;o.flags=s,r.metadata=o}e.on("end",()=>{Y(ae,this,ke).call(this,B(re,this).INFO,null,"Finished streaming response"),0!==a.length?(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),f().renameSync(n,a),i({data:r,response:e})):(Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:r,response:e}))}),e.on("error",e=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Caught the following error :",e),error.data=Y(ae,this,ye).call(this,error),s(e)})}function De(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=le,le.instance=new le;var Ce=new WeakSet;class Ie{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=Ce),t.add(e),this.$objectType="licensing.v4.error.AppMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ie,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:De(Ce,this,Ae).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:De(Ce,this,Ae).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("argumentsMap","undefined or null"):new O("errorGroup","undefined or null"):new O("locale","undefined or null"):new O("code","undefined or null"):new O("severity","undefined or null"):new O("message","undefined or null")}}function Ae(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}Ie.prototype.message=void 0,Ie.prototype.severity=void 0,Ie.prototype.code=void 0,Ie.prototype.locale="en_US",Ie.prototype.errorGroup=void 0,Ie.prototype.argumentsMap=void 0,Ie.prototype.$reserved=void 0,Ie.prototype.$objectType=void 0,Ie.prototype.$unknownFields=void 0;var Ne=new WeakSet;class Ue{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=Ne),t.add(e),this.$objectType="licensing.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ue,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("attributePath","undefined or null"):new O("message","undefined or null"):new O("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")}Ue.prototype.location=void 0,Ue.prototype.message=void 0,Ue.prototype.attributePath=void 0,Ue.prototype.$reserved=void 0,Ue.prototype.$objectType=void 0,Ue.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="licensing.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;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(r=[],i=e.validationErrorMessages,o=0;o<i.length;o++)s=Ue.constructFromObject(i[o],void 0),r.push(s);t.setValidationErrorMessages(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())}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,xe).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("validationErrorMessages","undefined or null"):new O("path","undefined or null"):new O("error","undefined or null"):new O("statusCode","undefined or null"):new O("timestamp","undefined or null")}}function xe(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Me(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 _e=new WeakSet;class Je{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=_e),t.add(e),this.$objectType="licensing.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r,a;if(e){if(t=t||new Je,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(r=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("licensing.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ie.constructFromObject(i[o],void 0),r.push(s)}t.setError(r)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"licensing.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):Me(_e,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):Me(_e,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("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")}Je.prototype.error=void 0,Je.prototype.$reserved=void 0,Je.prototype.$objectType=void 0,Je.prototype.$unknownFields=void 0;var Ve=new WeakSet;class qe extends o{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=Ve),t.add(e),this.$objectType="licensing.v4.config.AssignLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new qe,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):We(Ve,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(Ve,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}function Be(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")}qe.prototype.metadata=void 0,qe.prototype.data=void 0,qe.prototype.$reserved=void 0,qe.prototype.$objectType=void 0,qe.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ye extends o{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=Ge),t.add(e),this.$objectType="licensing.v4.config.DeleteLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ye,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.error.ErrorResponse":t.setData(Je.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):Be(Ge,this,He).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):Be(Ge,this,He).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function He(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 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")}Ye.prototype.metadata=void 0,Ye.prototype.data=void 0,Ye.prototype.$reserved=void 0,Ye.prototype.$objectType=void 0,Ye.prototype.$unknownFields=void 0;var Xe=new WeakSet;class Ze extends o{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=Xe),t.add(e),this.$objectType="licensing.v4.config.ReclaimLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Ze,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Qe(Xe,this,et).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):Qe(Xe,this,et).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function et(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 tt(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.metadata=void 0,Ze.prototype.data=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var nt=new WeakSet;class it extends o{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=nt),t.add(e),this.$objectType="licensing.v4.config.AssociateLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new it,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):tt(nt,this,st).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):tt(nt,this,st).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function st(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}it.prototype.metadata=void 0,it.prototype.data=void 0,it.prototype.$reserved=void 0,it.prototype.$objectType=void 0,it.prototype.$unknownFields=void 0;const ot={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUCCESS:"SUCCESS",FAILURE:"FAILURE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ot).find(t=>ot[t]===e);return null==t?ot.$UNKNOWN:ot[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ot.$UNKNOWN:case ot.$REDACTED:case ot.SUCCESS:case ot.FAILURE:return;default:throw new Error("Invalid : must be DryRunStatus.{ $UNKNOWN|$REDACTED|SUCCESS|FAILURE }")}}};Object.freeze(ot);const rt=ot;var at=new WeakSet;class lt extends o{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=at),t.add(e),this.$objectType="licensing.v4.config.DryRunCheck",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("result")&&null!==e.result&&void 0!==e.result&&t.setResult(Ie.constructFromObject(e.result)),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}getResult(){return this.result}setResult(e){this.result=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.getResult()&&null!==this.getResult()?{result:this.getResult().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 O("name","undefined or null");if(!j.validateMaxLength(this.name,256))return new O("name","does not satisfy required maxLength constraint: 256")}return"result"!==t||void 0!==this.result&&null!==this.result?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("result","undefined or null")}}lt.prototype.name=void 0,lt.prototype.result=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var dt=new WeakSet;class ut extends o{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="licensing.v4.config.DryRunValidationResult",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a;if(e){if(t=t||new ut,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("checks")&&null!==e.checks&&void 0!==e.checks){for(a=[],i=e.checks,r=0;r<i.length;r++)s=lt.constructFromObject(i[r],void 0),a.push(s);t.setChecks(a)}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())}getChecks(){return this.checks}setChecks(e){this.checks=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getChecks()&&null!==this.getChecks()?{checks:this.getChecks().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"checks"!==t||void 0!==this.checks&&null!==this.checks?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("checks","undefined or null")}}ut.prototype.checks=void 0,ut.prototype.$reserved=void 0,ut.prototype.$objectType=void 0,ut.prototype.$unknownFields=void 0;var ct=new WeakSet;class ht{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=ct),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 ht,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 O("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 O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}ht.prototype.tenantId=void 0,ht.prototype.$reserved=void 0,ht.prototype.$objectType=void 0,ht.prototype.$unknownFields=void 0;var pt=new WeakSet;class yt extends ht{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=pt),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,o,r;if(e){if(t=t||new yt,ht.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(r=[],i=e.links,o=0;o<i.length;o++)s=J.constructFromObject(i[o],void 0),r.push(s);t.setLinks(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())}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 O("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 O("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 O("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 O("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new O("links","does not satisfy required maxItems constraint: 20")}return new O(t,"no such property exists")}}yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=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="licensing.v4.config.LicenseKeyMapping",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vt,e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("quantityUsed")&&null!==e.quantityUsed&&void 0!==e.quantityUsed&&t.setQuantityUsed(e.quantityUsed),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())}getKey(){return this.key}setKey(e){this.key=e}getQuantityUsed(){return this.quantityUsed}setQuantityUsed(e){this.quantityUsed=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}return"quantityUsed"!==t||void 0!==this.quantityUsed&&null!==this.quantityUsed?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("quantityUsed","undefined or null")}}vt.prototype.key=void 0,vt.prototype.quantityUsed=void 0,vt.prototype.$reserved=void 0,vt.prototype.$objectType=void 0,vt.prototype.$unknownFields=void 0;var $t=new WeakSet;class ft extends vt{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=$t),t.add(e),this.$objectType="licensing.v4.config.ClusterLicenseKeyMapping",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ft,vt.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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 O(t,"no such property exists")}}ft.prototype.clusterExtId=void 0,vt.prototype.key=void 0,vt.prototype.quantityUsed=void 0;const wt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALL:"ALL",NONE:"NONE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wt).find(t=>wt[t]===e);return null==t?wt.$UNKNOWN:wt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wt.$UNKNOWN:case wt.$REDACTED:case wt.ALL:case wt.NONE:return;default:throw new Error("Invalid : must be EnforcementPolicy.{ $UNKNOWN|$REDACTED|ALL|NONE }")}}};Object.freeze(wt);const mt=wt,bt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",STARTER:"STARTER",PRO:"PRO",ULTIMATE:"ULTIMATE",CALM:"CALM",STANDARD:"STANDARD",AOS_MINE:"AOS_MINE",SOFTWARE_ENCRYPTION:"SOFTWARE_ENCRYPTION",ADV_REPLICATION:"ADV_REPLICATION",OBJECT:"OBJECT",ULTIMATE_TRIAL:"ULTIMATE_TRIAL",PRISM_STARTER:"PRISM_STARTER",PRO_SPECIAL:"PRO_SPECIAL",ADR:"ADR",SECURITY:"SECURITY",NKS:"NKS",APPAUTOMATION:"APPAUTOMATION",NDA:"NDA",UST:"UST",ANALYTICS:"ANALYTICS",STANDALONE:"STANDALONE",DRASS:"DRASS",CLOUD_NATIVE:"CLOUD_NATIVE",DATA_ENCRYPTION:"DATA_ENCRYPTION",NDS:"NDS",NDB:"NDB",NO_LICENSE:"NO_LICENSE",NUS_ENCRYPTION:"NUS_ENCRYPTION",NUS_REPLICATION:"NUS_REPLICATION",CLOUD_PRO:"CLOUD_PRO",CLOUD_ULTIMATE:"CLOUD_ULTIMATE",CLOUD:"CLOUD",PUBLIC_CLOUD:"PUBLIC_CLOUD",ADVANCED_REPLICATION:"ADVANCED_REPLICATION",NDK:"NDK",RET_1Y:"RET_1Y",RET_3Y:"RET_3Y",RET_5Y:"RET_5Y",RET_7Y:"RET_7Y",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(bt).find(t=>bt[t]===e);return null==t?bt.$UNKNOWN:bt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case bt.$UNKNOWN:case bt.$REDACTED:case bt.STARTER:case bt.PRO:case bt.ULTIMATE:case bt.CALM:case bt.STANDARD:case bt.AOS_MINE:case bt.SOFTWARE_ENCRYPTION:case bt.ADV_REPLICATION:case bt.OBJECT:case bt.ULTIMATE_TRIAL:case bt.PRISM_STARTER:case bt.PRO_SPECIAL:case bt.ADR:case bt.SECURITY:case bt.NKS:case bt.APPAUTOMATION:case bt.NDA:case bt.UST:case bt.ANALYTICS:case bt.STANDALONE:case bt.DRASS:case bt.CLOUD_NATIVE:case bt.DATA_ENCRYPTION:case bt.NDS:case bt.NDB:case bt.NO_LICENSE:case bt.NUS_ENCRYPTION:case bt.NUS_REPLICATION:case bt.CLOUD_PRO:case bt.CLOUD_ULTIMATE:case bt.CLOUD:case bt.PUBLIC_CLOUD:case bt.ADVANCED_REPLICATION:case bt.NDK:case bt.RET_1Y:case bt.RET_3Y:case bt.RET_5Y:case bt.RET_7Y:return;default:throw new Error("Invalid : must be LicenseCategory.{ $UNKNOWN|$REDACTED|STARTER|PRO|ULTIMATE|CALM|STANDARD|AOS_MINE|SOFTWARE_ENCRYPTION|ADV_REPLICATION|OBJECT|ULTIMATE_TRIAL|PRISM_STARTER|PRO_SPECIAL|ADR|SECURITY|NKS|APPAUTOMATION|NDA|UST|ANALYTICS|STANDALONE|DRASS|CLOUD_NATIVE|DATA_ENCRYPTION|NDS|NDB|NO_LICENSE|NUS_ENCRYPTION|NUS_REPLICATION|CLOUD_PRO|CLOUD_ULTIMATE|CLOUD|PUBLIC_CLOUD|ADVANCED_REPLICATION|NDK|RET_1Y|RET_3Y|RET_5Y|RET_7Y }")}}};Object.freeze(bt);const Tt=bt,kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FREE_KEYS:"FREE_KEYS",CHILD_KEYS:"CHILD_KEYS",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.FREE_KEYS:case kt.CHILD_KEYS:return;default:throw new Error("Invalid : must be AssociationType.{ $UNKNOWN|$REDACTED|FREE_KEYS|CHILD_KEYS }")}}};Object.freeze(kt);const jt=kt,Ot={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_QUANTITY:"FULL_QUANTITY",PARTIAL_QUANTITY:"PARTIAL_QUANTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ot).find(t=>Ot[t]===e);return null==t?Ot.$UNKNOWN:Ot[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ot.$UNKNOWN:case Ot.$REDACTED:case Ot.FULL_QUANTITY:case Ot.PARTIAL_QUANTITY:return;default:throw new Error("Invalid : must be ReclaimType.{ $UNKNOWN|$REDACTED|FULL_QUANTITY|PARTIAL_QUANTITY }")}}};Object.freeze(Ot);const Ft=Ot;var Et=new WeakSet;class Pt{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=Et),s.add(i),this.associatedKey=e,this.associationType=t,this.reclaimType=n,this.$objectType="licensing.v4.config.LicenseKeyAssociation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pt,e.hasOwnProperty("baseKey")&&null!==e.baseKey&&void 0!==e.baseKey&&t.setBaseKey(e.baseKey),e.hasOwnProperty("associatedKey")&&null!==e.associatedKey&&void 0!==e.associatedKey&&t.setAssociatedKey(e.associatedKey),e.hasOwnProperty("associationType")&&null!==e.associationType&&void 0!==e.associationType&&t.setAssociationType(jt.constructFromObject(e.associationType)),e.hasOwnProperty("reclaimType")&&null!==e.reclaimType&&void 0!==e.reclaimType&&t.setReclaimType(Ft.constructFromObject(e.reclaimType)),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())}getBaseKey(){return this.baseKey}setBaseKey(e){this.baseKey=e}getAssociatedKey(){return this.associatedKey}setAssociatedKey(e){this.associatedKey=e}getAssociationType(){return this.associationType}setAssociationType(e){this.associationType=e}getReclaimType(){return this.reclaimType}setReclaimType(e){this.reclaimType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getBaseKey()&&null!==this.getBaseKey()?{baseKey:this.getBaseKey()}:{},...void 0!==this.getAssociatedKey()&&null!==this.getAssociatedKey()?{associatedKey:this.getAssociatedKey()}:{},...void 0!==this.getAssociationType()&&null!==this.getAssociationType()?{associationType:this.getAssociationType()}:{},...void 0!==this.getReclaimType()&&null!==this.getReclaimType()?{reclaimType:this.getReclaimType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAssociatedKey()&&null!==this.getAssociatedKey()?{associatedKey:this.getAssociatedKey()}:{},...void 0!==this.getAssociationType()&&null!==this.getAssociationType()?{associationType:this.getAssociationType()}:{},...void 0!==this.getReclaimType()&&null!==this.getReclaimType()?{reclaimType:this.getReclaimType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["associatedKey","associationType","reclaimType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("baseKey"===t){if(void 0===this.baseKey||null===this.baseKey)return new O("baseKey","undefined or null");if(!j.validateMaxLength(this.baseKey,100))return new O("baseKey","does not satisfy required maxLength constraint: 100")}if("associatedKey"===t){if(void 0===this.associatedKey||null===this.associatedKey)return new O("associatedKey","undefined or null");if(!j.validateMaxLength(this.associatedKey,100))return new O("associatedKey","does not satisfy required maxLength constraint: 100")}return"associationType"!==t||void 0!==this.associationType&&null!==this.associationType?"reclaimType"!==t||void 0!==this.reclaimType&&null!==this.reclaimType?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("reclaimType","undefined or null"):new O("associationType","undefined or null")}}Pt.prototype.baseKey=void 0,Pt.prototype.associatedKey=void 0,Pt.prototype.associationType=void 0,Pt.prototype.reclaimType=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;const Dt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",ADDON:"ADDON",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Dt).find(t=>Dt[t]===e);return null==t?Dt.$UNKNOWN:Dt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Dt.$UNKNOWN:case Dt.$REDACTED:case Dt.PRIMARY:case Dt.ADDON:return;default:throw new Error("Invalid : must be LicenseKeySubCategory.{ $UNKNOWN|$REDACTED|PRIMARY|ADDON }")}}};Object.freeze(Dt);const Ct=Dt,It={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM:"PRISM",CALM:"CALM",FLOW:"FLOW",OBJECT:"OBJECT",AOS:"AOS",FILE:"FILE",VDI:"VDI",ROBO:"ROBO",MINE:"MINE",NCI:"NCI",NCM:"NCM",NCI_D:"NCI_D",NDA_PLATFORM:"NDA_PLATFORM",UNIFIED_STORAGE:"UNIFIED_STORAGE",EUC:"EUC",OBJECTS:"OBJECTS",ERA:"ERA",DRS:"DRS",NDS:"NDS",NDA:"NDA",NDS_PLATFORM:"NDS_PLATFORM",NDB_PLATFORM:"NDB_PLATFORM",NUS:"NUS",NDB:"NDB",NCM_CLOUD:"NCM_CLOUD",EDGE:"EDGE",NO_LICENSE:"NO_LICENSE",NCM_EDGE:"NCM_EDGE",NCM_EUC:"NCM_EUC",NCI_C:"NCI_C",NKP:"NKP",NKPFS:"NKPFS",NAI:"NAI",NAI_GPT:"NAI_GPT",NDL:"NDL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(It).find(t=>It[t]===e);return null==t?It.$UNKNOWN:It[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case It.$UNKNOWN:case It.$REDACTED:case It.PRISM:case It.CALM:case It.FLOW:case It.OBJECT:case It.AOS:case It.FILE:case It.VDI:case It.ROBO:case It.MINE:case It.NCI:case It.NCM:case It.NCI_D:case It.NDA_PLATFORM:case It.UNIFIED_STORAGE:case It.EUC:case It.OBJECTS:case It.ERA:case It.DRS:case It.NDS:case It.NDA:case It.NDS_PLATFORM:case It.NDB_PLATFORM:case It.NUS:case It.NDB:case It.NCM_CLOUD:case It.EDGE:case It.NO_LICENSE:case It.NCM_EDGE:case It.NCM_EUC:case It.NCI_C:case It.NKP:case It.NKPFS:case It.NAI:case It.NAI_GPT:case It.NDL:return;default:throw new Error("Invalid : must be LicenseType.{ $UNKNOWN|$REDACTED|PRISM|CALM|FLOW|OBJECT|AOS|FILE|VDI|ROBO|MINE|NCI|NCM|NCI_D|NDA_PLATFORM|UNIFIED_STORAGE|EUC|OBJECTS|ERA|DRS|NDS|NDA|NDS_PLATFORM|NDB_PLATFORM|NUS|NDB|NCM_CLOUD|EDGE|NO_LICENSE|NCM_EDGE|NCM_EUC|NCI_C|NKP|NKPFS|NAI|NAI_GPT|NDL }")}}};Object.freeze(It);const At=It,Nt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CORES:"CORES",NODE:"NODE",TIB:"TIB",FLASH:"FLASH",USERS:"USERS",VI:"VI",VM_PACKS:"VM_PACKS",VM:"VM",VCPU:"VCPU",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Nt).find(t=>Nt[t]===e);return null==t?Nt.$UNKNOWN:Nt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Nt.$UNKNOWN:case Nt.$REDACTED:case Nt.CORES:case Nt.NODE:case Nt.TIB:case Nt.FLASH:case Nt.USERS:case Nt.VI:case Nt.VM_PACKS:case Nt.VM:case Nt.VCPU:return;default:throw new Error("Invalid : must be Meter.{ $UNKNOWN|$REDACTED|CORES|NODE|TIB|FLASH|USERS|VI|VM_PACKS|VM|VCPU }")}}};Object.freeze(Nt);const Ut=Nt;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")}var St=new WeakSet;class Lt extends yt{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="licensing.v4.config.LicenseKey",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Lt,yt.constructFromObject(e,t,!0),e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("validationDetail")&&null!==e.validationDetail&&void 0!==e.validationDetail&&t.setValidationDetail(e.validationDetail),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Ct.constructFromObject(e.subCategory)),e.hasOwnProperty("entitlementExpiryDate")&&null!==e.entitlementExpiryDate&&void 0!==e.entitlementExpiryDate&&t.setEntitlementExpiryDate(e.entitlementExpiryDate),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("groupId")&&null!==e.groupId&&void 0!==e.groupId&&t.setGroupId(e.groupId),e.hasOwnProperty("enforcementPolicy")&&null!==e.enforcementPolicy&&void 0!==e.enforcementPolicy&&t.setEnforcementPolicy(mt.constructFromObject(e.enforcementPolicy)),e.hasOwnProperty("assignmentDetails")&&null!==e.assignmentDetails&&void 0!==e.assignmentDetails){for(r=[],i=e.assignmentDetails,o=0;o<i.length;o++)s=ft.constructFromObject(i[o],void 0),r.push(s);t.setAssignmentDetails(r)}if(e.hasOwnProperty("associationDetails")&&null!==e.associationDetails&&void 0!==e.associationDetails){for(r=[],i=e.associationDetails,o=0;o<i.length;o++)s=Pt.constructFromObject(i[o],void 0),r.push(s);t.setAssociationDetails(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())}getKey(){return this.key}setKey(e){this.key=e}getValidationDetail(){return this.validationDetail}setValidationDetail(e){this.validationDetail=e}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getEntitlementExpiryDate(){return this.entitlementExpiryDate}setEntitlementExpiryDate(e){this.entitlementExpiryDate=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getGroupId(){return this.groupId}setGroupId(e){this.groupId=e}getEnforcementPolicy(){return this.enforcementPolicy}setEnforcementPolicy(e){this.enforcementPolicy=e}getAssignmentDetails(){return this.assignmentDetails}setAssignmentDetails(e){this.assignmentDetails=e}getAssociationDetails(){return this.associationDetails}setAssociationDetails(e){this.associationDetails=e}toJson(e){return!1===e?{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getEntitlementExpiryDate()&&null!==this.getEntitlementExpiryDate()?{entitlementExpiryDate:Rt(St,this,xt).call(this,this.getEntitlementExpiryDate(),!0)}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getGroupId()&&null!==this.getGroupId()?{groupId:this.getGroupId()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getAssignmentDetails()&&null!==this.getAssignmentDetails()?{assignmentDetails:this.getAssignmentDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getAssociationDetails()&&null!==this.getAssociationDetails()?{associationDetails:this.getAssociationDetails().map(e=>e.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.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}if("validationDetail"===t){if(void 0===this.validationDetail||null===this.validationDetail)return new O("validationDetail","undefined or null");if(!j.validateMaxLength(this.validationDetail,100))return new O("validationDetail","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("category"===t&&(void 0===this.category||null===this.category))return new O("category","undefined or null");if("subCategory"===t&&(void 0===this.subCategory||null===this.subCategory))return new O("subCategory","undefined or null");if("entitlementExpiryDate"===t&&(void 0===this.entitlementExpiryDate||null===this.entitlementExpiryDate))return new O("entitlementExpiryDate","undefined or null");if("meter"===t&&(void 0===this.meter||null===this.meter))return new O("meter","undefined or null");if("quantity"===t&&(void 0===this.quantity||null===this.quantity))return new O("quantity","undefined or null");if("groupId"===t){if(void 0===this.groupId||null===this.groupId)return new O("groupId","undefined or null");if(!j.validateMaxLength(this.groupId,10))return new O("groupId","does not satisfy required maxLength constraint: 10")}if("enforcementPolicy"===t&&(void 0===this.enforcementPolicy||null===this.enforcementPolicy))return new O("enforcementPolicy","undefined or null");if("assignmentDetails"===t){if(void 0===this.assignmentDetails||null===this.assignmentDetails)return new O("assignmentDetails","undefined or null");if(!j.validateMaxItems(this.assignmentDetails,100))return new O("assignmentDetails","does not satisfy required maxItems constraint: 100")}if("associationDetails"===t){if(void 0===this.associationDetails||null===this.associationDetails)return new O("associationDetails","undefined or null");if(!j.validateMaxItems(this.associationDetails,10))return new O("associationDetails","does not satisfy required maxItems constraint: 10")}return new O(t,"no such property exists")}}function xt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lt.prototype.key=void 0,Lt.prototype.validationDetail=void 0,Lt.prototype.type=void 0,Lt.prototype.category=void 0,Lt.prototype.subCategory=void 0,Lt.prototype.entitlementExpiryDate=void 0,Lt.prototype.meter=void 0,Lt.prototype.quantity=void 0,Lt.prototype.groupId=void 0,Lt.prototype.enforcementPolicy=void 0,Lt.prototype.assignmentDetails=void 0,Lt.prototype.associationDetails=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Mt=new WeakSet;class _t extends o{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=Mt),t.add(e),this.$objectType="licensing.v4.config.AddLicenseKeyDryRunApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _t,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("validationResult")&&null!==e.validationResult&&void 0!==e.validationResult&&t.setValidationResult(ut.constructFromObject(e.validationResult)),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(rt.constructFromObject(e.status)),e.hasOwnProperty("summary")&&null!==e.summary&&void 0!==e.summary&&t.setSummary(Lt.constructFromObject(e.summary)),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())}getValidationResult(){return this.validationResult}setValidationResult(e){this.validationResult=e}getStatus(){return this.status}setStatus(e){this.status=e}getSummary(){return this.summary}setSummary(e){this.summary=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValidationResult()&&null!==this.getValidationResult()?{validationResult:this.getValidationResult().toJson(!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getSummary()&&null!==this.getSummary()?{summary:this.getSummary().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"validationResult"!==t||void 0!==this.validationResult&&null!==this.validationResult?"status"!==t||void 0!==this.status&&null!==this.status?"summary"!==t||void 0!==this.summary&&null!==this.summary?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("summary","undefined or null"):new O("status","undefined or null"):new O("validationResult","undefined or null")}}function Jt(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")}_t.prototype.validationResult=void 0,_t.prototype.status=void 0,_t.prototype.summary=void 0,_t.prototype.$reserved=void 0,_t.prototype.$objectType=void 0,_t.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends o{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="licensing.v4.config.AddLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.config.LicenseKey":t.setData(Lt.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.constructFromObject(e.data,void 0));break;case"licensing.v4.config.AddLicenseKeyDryRunApiResponse":t.setData(_t.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):Jt(Kt,this,Vt).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):Jt(Kt,this,Vt).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Vt(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 qt(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")}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 zt=new WeakSet;class Bt extends yt{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="licensing.v4.config.ReclaimLicenseToken",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bt,yt.constructFromObject(e,t,!0),e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("reclaimToken")&&null!==e.reclaimToken&&void 0!==e.reclaimToken&&t.setReclaimToken(e.reclaimToken),e.hasOwnProperty("reclaimDate")&&null!==e.reclaimDate&&void 0!==e.reclaimDate&&t.setReclaimDate(e.reclaimDate),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getKey(){return this.key}setKey(e){this.key=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getReclaimToken(){return this.reclaimToken}setReclaimToken(e){this.reclaimToken=e}getReclaimDate(){return this.reclaimDate}setReclaimDate(e){this.reclaimDate=e}toJson(e){return!1===e?{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getReclaimToken()&&null!==this.getReclaimToken()?{reclaimToken:this.getReclaimToken()}:{},...void 0!==this.getReclaimDate()&&null!==this.getReclaimDate()?{reclaimDate:qt(zt,this,Gt).call(this,this.getReclaimDate(),!0)}:{},...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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}if("quantity"===t){if(void 0===this.quantity||null===this.quantity)return new O("quantity","undefined or null");if(!j.validateMaximum(this.quantity,16384))return new O("quantity","does not satisfy required maximum constraint: 16384");if(!j.validateMinimum(this.quantity,1))return new O("quantity","does not satisfy required minimum constraint: 1")}if("reclaimToken"===t){if(void 0===this.reclaimToken||null===this.reclaimToken)return new O("reclaimToken","undefined or null");if(!j.validateMaxLength(this.reclaimToken,100))return new O("reclaimToken","does not satisfy required maxLength constraint: 100")}return"reclaimDate"!==t||void 0!==this.reclaimDate&&null!==this.reclaimDate?new O(t,"no such property exists"):new O("reclaimDate","undefined or null")}}function Gt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bt.prototype.key=void 0,Bt.prototype.quantity=void 0,Bt.prototype.reclaimToken=void 0,Bt.prototype.reclaimDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class Yt extends Bt{constructor(){super(),this.$objectType="licensing.v4.config.ReclaimLicenseTokenProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yt,Bt.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 O(t,"no such property exists")}}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")}var Qt=new WeakSet;class Xt extends o{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=Qt),t.add(e),this.$objectType="licensing.v4.config.ListReclaimLicenseTokensApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Xt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.ReclaimLicenseToken":s=Bt.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.ReclaimLicenseTokenProjection":s=Yt.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Ht(Qt,this,Zt).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(Qt,this,Zt).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Zt(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 en(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.metadata=void 0,Xt.prototype.data=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var tn=new WeakSet;class nn extends o{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=tn),t.add(e),this.$objectType="licensing.v4.config.GetLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new nn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.config.LicenseKey":t.setData(Lt.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):en(tn,this,sn).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):en(tn,this,sn).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function sn(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}nn.prototype.metadata=void 0,nn.prototype.data=void 0,nn.prototype.$reserved=void 0,nn.prototype.$objectType=void 0,nn.prototype.$unknownFields=void 0;var on=new WeakSet;class rn{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=on),n.add(t),this.quantity=e,this.$objectType="licensing.v4.config.ReclaimLicenseKeySpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rn,e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),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())}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["quantity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("quantity"===t){if(void 0===this.quantity||null===this.quantity)return new O("quantity","undefined or null");if(!j.validateMaximum(this.quantity,16384))return new O("quantity","does not satisfy required maximum constraint: 16384");if(!j.validateMinimum(this.quantity,1))return new O("quantity","does not satisfy required minimum 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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}rn.prototype.quantity=void 0,rn.prototype.$reserved=void 0,rn.prototype.$objectType=void 0,rn.prototype.$unknownFields=void 0;class an extends ft{constructor(){super(),this.$objectType="licensing.v4.config.ClusterLicenseKeyMappingProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new an,ft.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 O(t,"no such property exists")}}class ln extends Pt{constructor(e,t,n){super(e,t,n),this.$objectType="licensing.v4.config.LicenseKeyAssociationProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ln,Pt.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=["associatedKey","associationType","reclaimType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O(t,"no such property exists")}}function dn(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 un=new WeakSet;class cn extends Lt{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=un),t.add(e),this.$objectType="licensing.v4.config.LicenseKeyProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new cn,Lt.constructFromObject(e,t,!0),e.hasOwnProperty("clusterLicenseKeyMappingProjection")&&null!==e.clusterLicenseKeyMappingProjection&&void 0!==e.clusterLicenseKeyMappingProjection){for(r=[],i=e.clusterLicenseKeyMappingProjection,o=0;o<i.length;o++)s=an.constructFromObject(i[o],void 0),r.push(s);t.setClusterLicenseKeyMappingProjection(r)}if(e.hasOwnProperty("licenseKeyAssociationProjection")&&null!==e.licenseKeyAssociationProjection&&void 0!==e.licenseKeyAssociationProjection){for(r=[],i=e.licenseKeyAssociationProjection,o=0;o<i.length;o++)s=ln.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyAssociationProjection(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())}getClusterLicenseKeyMappingProjection(){return this.clusterLicenseKeyMappingProjection}setClusterLicenseKeyMappingProjection(e){this.clusterLicenseKeyMappingProjection=e}getLicenseKeyAssociationProjection(){return this.licenseKeyAssociationProjection}setLicenseKeyAssociationProjection(e){this.licenseKeyAssociationProjection=e}toJson(e){return!1===e?{...void 0!==this.getClusterLicenseKeyMappingProjection()&&null!==this.getClusterLicenseKeyMappingProjection()?{clusterLicenseKeyMappingProjection:this.getClusterLicenseKeyMappingProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getLicenseKeyAssociationProjection()&&null!==this.getLicenseKeyAssociationProjection()?{licenseKeyAssociationProjection:this.getLicenseKeyAssociationProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getEntitlementExpiryDate()&&null!==this.getEntitlementExpiryDate()?{entitlementExpiryDate:dn(un,this,hn).call(this,this.getEntitlementExpiryDate(),!0)}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getGroupId()&&null!==this.getGroupId()?{groupId:this.getGroupId()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getAssignmentDetails()&&null!==this.getAssignmentDetails()?{assignmentDetails:this.getAssignmentDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getAssociationDetails()&&null!==this.getAssociationDetails()?{associationDetails:this.getAssociationDetails().map(e=>e.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.getClusterLicenseKeyMappingProjection()&&null!==this.getClusterLicenseKeyMappingProjection()?{clusterLicenseKeyMappingProjection:this.getClusterLicenseKeyMappingProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getLicenseKeyAssociationProjection()&&null!==this.getLicenseKeyAssociationProjection()?{licenseKeyAssociationProjection:this.getLicenseKeyAssociationProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"clusterLicenseKeyMappingProjection"!==t||void 0!==this.clusterLicenseKeyMappingProjection&&null!==this.clusterLicenseKeyMappingProjection?"licenseKeyAssociationProjection"!==t||void 0!==this.licenseKeyAssociationProjection&&null!==this.licenseKeyAssociationProjection?new O(t,"no such property exists"):new O("licenseKeyAssociationProjection","undefined or null"):new O("clusterLicenseKeyMappingProjection","undefined or null")}}function hn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}cn.prototype.clusterLicenseKeyMappingProjection=void 0,cn.prototype.licenseKeyAssociationProjection=void 0,Lt.prototype.key=void 0,Lt.prototype.validationDetail=void 0,Lt.prototype.type=void 0,Lt.prototype.category=void 0,Lt.prototype.subCategory=void 0,Lt.prototype.entitlementExpiryDate=void 0,Lt.prototype.meter=void 0,Lt.prototype.quantity=void 0,Lt.prototype.groupId=void 0,Lt.prototype.enforcementPolicy=void 0,Lt.prototype.assignmentDetails=void 0,Lt.prototype.associationDetails=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var yn=new WeakSet;class gn extends o{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="licensing.v4.config.ListLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.LicenseKey":s=Lt.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.LicenseKeyProjection":s=cn.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}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 $n=new WeakSet;class fn{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=$n),n.add(t),this.keyAssociations=e,this.$objectType="licensing.v4.config.AssociateLicenseKeySpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new fn,e.hasOwnProperty("keyAssociations")&&null!==e.keyAssociations&&void 0!==e.keyAssociations){for(r=[],i=e.keyAssociations,o=0;o<i.length;o++)s=Pt.constructFromObject(i[o],void 0),r.push(s);t.setKeyAssociations(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())}getKeyAssociations(){return this.keyAssociations}setKeyAssociations(e){this.keyAssociations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getKeyAssociations()&&null!==this.getKeyAssociations()?{keyAssociations:this.getKeyAssociations().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=["keyAssociations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("keyAssociations"===t){if(void 0===this.keyAssociations||null===this.keyAssociations)return new O("keyAssociations","undefined or null");if(!j.validateMaxItems(this.keyAssociations,5))return new O("keyAssociations","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.keyAssociations,1))return new O("keyAssociations","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}fn.prototype.keyAssociations=void 0,fn.prototype.$reserved=void 0,fn.prototype.$objectType=void 0,fn.prototype.$unknownFields=void 0;var wn=new WeakSet;class mn{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=wn),t.add(e),this.$objectType="licensing.v4.config.LicenseKeyAssignment",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new mn,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("licenseKeyMappings")&&null!==e.licenseKeyMappings&&void 0!==e.licenseKeyMappings){for(r=[],i=e.licenseKeyMappings,o=0;o<i.length;o++)s=vt.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyMappings(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getLicenseKeyMappings(){return this.licenseKeyMappings}setLicenseKeyMappings(e){this.licenseKeyMappings=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getLicenseKeyMappings()&&null!==this.getLicenseKeyMappings()?{licenseKeyMappings:this.getLicenseKeyMappings().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("licenseKeyMappings"===t){if(void 0===this.licenseKeyMappings||null===this.licenseKeyMappings)return new O("licenseKeyMappings","undefined or null");if(!j.validateMaxItems(this.licenseKeyMappings,50))return new O("licenseKeyMappings","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}mn.prototype.clusterExtId=void 0,mn.prototype.licenseKeyMappings=void 0,mn.prototype.$reserved=void 0,mn.prototype.$objectType=void 0,mn.prototype.$unknownFields=void 0;var bn=new WeakSet;class Tn{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=bn),n.add(t),this.licenseKeyAssignments=e,this.$objectType="licensing.v4.config.LicenseKeyAssignmentSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Tn,e.hasOwnProperty("licenseKeyAssignments")&&null!==e.licenseKeyAssignments&&void 0!==e.licenseKeyAssignments){for(r=[],i=e.licenseKeyAssignments,o=0;o<i.length;o++)s=mn.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyAssignments(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())}getLicenseKeyAssignments(){return this.licenseKeyAssignments}setLicenseKeyAssignments(e){this.licenseKeyAssignments=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLicenseKeyAssignments()&&null!==this.getLicenseKeyAssignments()?{licenseKeyAssignments:this.getLicenseKeyAssignments().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=["licenseKeyAssignments"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("licenseKeyAssignments"===t){if(void 0===this.licenseKeyAssignments||null===this.licenseKeyAssignments)return new O("licenseKeyAssignments","undefined or null");if(!j.validateMaxItems(this.licenseKeyAssignments,20))return new O("licenseKeyAssignments","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.licenseKeyAssignments,1))return new O("licenseKeyAssignments","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Tn.prototype.licenseKeyAssignments=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;var kn=new WeakSet;class jn{constructor(e,t,n,i){var s,o;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,o=kn),o.add(s),this.userName=e,this.loginId=t,this.jobTitle=n,this.companyName=i,this.$objectType="licensing.v4.agreements.EndUser",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jn,e.hasOwnProperty("userName")&&null!==e.userName&&void 0!==e.userName&&t.setUserName(e.userName),e.hasOwnProperty("loginId")&&null!==e.loginId&&void 0!==e.loginId&&t.setLoginId(e.loginId),e.hasOwnProperty("jobTitle")&&null!==e.jobTitle&&void 0!==e.jobTitle&&t.setJobTitle(e.jobTitle),e.hasOwnProperty("companyName")&&null!==e.companyName&&void 0!==e.companyName&&t.setCompanyName(e.companyName),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}getLoginId(){return this.loginId}setLoginId(e){this.loginId=e}getJobTitle(){return this.jobTitle}setJobTitle(e){this.jobTitle=e}getCompanyName(){return this.companyName}setCompanyName(e){this.companyName=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.getLoginId()&&null!==this.getLoginId()?{loginId:this.getLoginId()}:{},...void 0!==this.getJobTitle()&&null!==this.getJobTitle()?{jobTitle:this.getJobTitle()}:{},...void 0!==this.getCompanyName()&&null!==this.getCompanyName()?{companyName:this.getCompanyName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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","loginId","jobTitle","companyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O("userName","undefined or null");if(!j.validateMaxLength(this.userName,50))return new O("userName","does not satisfy required maxLength constraint: 50")}if("loginId"===t){if(void 0===this.loginId||null===this.loginId)return new O("loginId","undefined or null");if(!j.validateMaxLength(this.loginId,50))return new O("loginId","does not satisfy required maxLength constraint: 50")}if("jobTitle"===t){if(void 0===this.jobTitle||null===this.jobTitle)return new O("jobTitle","undefined or null");if(!j.validateMaxLength(this.jobTitle,50))return new O("jobTitle","does not satisfy required maxLength constraint: 50")}if("companyName"===t){if(void 0===this.companyName||null===this.companyName)return new O("companyName","undefined or null");if(!j.validateMaxLength(this.companyName,100))return new O("companyName","does not satisfy required maxLength constraint: 100")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}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")}jn.prototype.userName=void 0,jn.prototype.loginId=void 0,jn.prototype.jobTitle=void 0,jn.prototype.companyName=void 0,jn.prototype.$reserved=void 0,jn.prototype.$objectType=void 0,jn.prototype.$unknownFields=void 0;var Fn=new WeakSet;class En{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=Fn),n.add(t),this.acceptedBy=e,this.$objectType="licensing.v4.agreements.Acceptance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new En,e.hasOwnProperty("acceptedBy")&&null!==e.acceptedBy&&void 0!==e.acceptedBy&&t.setAcceptedBy(jn.constructFromObject(e.acceptedBy)),e.hasOwnProperty("acceptanceTime")&&null!==e.acceptanceTime&&void 0!==e.acceptanceTime&&t.setAcceptanceTime(e.acceptanceTime),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())}getAcceptedBy(){return this.acceptedBy}setAcceptedBy(e){this.acceptedBy=e}getAcceptanceTime(){return this.acceptanceTime}setAcceptanceTime(e){this.acceptanceTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getAcceptedBy()&&null!==this.getAcceptedBy()?{acceptedBy:this.getAcceptedBy().toJson(!1)}:{},...void 0!==this.getAcceptanceTime()&&null!==this.getAcceptanceTime()?{acceptanceTime:On(Fn,this,Pn).call(this,this.getAcceptanceTime(),!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.getAcceptedBy()&&null!==this.getAcceptedBy()?{acceptedBy:this.getAcceptedBy().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=["acceptedBy"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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"acceptedBy"!==t||void 0!==this.acceptedBy&&null!==this.acceptedBy?"acceptanceTime"!==t||void 0!==this.acceptanceTime&&null!==this.acceptanceTime?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("acceptanceTime","undefined or null"):new O("acceptedBy","undefined or null")}}function Pn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Dn(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")}En.prototype.acceptedBy=void 0,En.prototype.acceptanceTime=void 0,En.prototype.$reserved=void 0,En.prototype.$objectType=void 0,En.prototype.$unknownFields=void 0;var Cn=new WeakSet;class In extends yt{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=Cn),i.add(n),this.content=e,this.version=t,this.$objectType="licensing.v4.agreements.Eula",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new In,yt.constructFromObject(e,t,!0),e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("updatedTime")&&null!==e.updatedTime&&void 0!==e.updatedTime&&t.setUpdatedTime(e.updatedTime),e.hasOwnProperty("version")&&null!==e.version&&void 0!==e.version&&t.setVersion(e.version),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("acceptances")&&null!==e.acceptances&&void 0!==e.acceptances){for(r=[],i=e.acceptances,o=0;o<i.length;o++)s=En.constructFromObject(i[o],void 0),r.push(s);t.setAcceptances(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())}getContent(){return this.content}setContent(e){this.content=e}getUpdatedTime(){return this.updatedTime}setUpdatedTime(e){this.updatedTime=e}getVersion(){return this.version}setVersion(e){this.version=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getAcceptances(){return this.acceptances}setAcceptances(e){this.acceptances=e}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getUpdatedTime()&&null!==this.getUpdatedTime()?{updatedTime:Dn(Cn,this,An).call(this,this.getUpdatedTime(),!1)}:{},...void 0!==this.getVersion()&&null!==this.getVersion()?{version:this.getVersion()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getAcceptances()&&null!==this.getAcceptances()?{acceptances:this.getAcceptances().map(e=>e.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.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=["content","version"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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&&(void 0===this.content||null===this.content))return new O("content","undefined or null");if("updatedTime"===t&&(void 0===this.updatedTime||null===this.updatedTime))return new O("updatedTime","undefined or null");if("version"===t&&(void 0===this.version||null===this.version))return new O("version","undefined or null");if("isEnabled"===t&&(void 0===this.isEnabled||null===this.isEnabled))return new O("isEnabled","undefined or null");if("acceptances"===t){if(void 0===this.acceptances||null===this.acceptances)return new O("acceptances","undefined or null");if(!j.validateMaxItems(this.acceptances,100))return new O("acceptances","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}function An(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Nn(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")}In.prototype.content=void 0,In.prototype.updatedTime=void 0,In.prototype.version=void 0,In.prototype.isEnabled=void 0,In.prototype.acceptances=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Un=new WeakSet;class Rn extends o{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=Un),t.add(e),this.$objectType="licensing.v4.agreements.GetEulaApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Rn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.agreements.Eula":t.setData(In.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):Nn(Un,this,Sn).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):Nn(Un,this,Sn).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Sn(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 Ln(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")}Rn.prototype.metadata=void 0,Rn.prototype.data=void 0,Rn.prototype.$reserved=void 0,Rn.prototype.$objectType=void 0,Rn.prototype.$unknownFields=void 0;var xn=new WeakSet;class Mn extends o{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=xn),t.add(e),this.$objectType="licensing.v4.agreements.AddUserApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Mn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Ln(xn,this,_n).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):Ln(xn,this,_n).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function _n(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}Mn.prototype.metadata=void 0,Mn.prototype.data=void 0,Mn.prototype.$reserved=void 0,Mn.prototype.$objectType=void 0,Mn.prototype.$unknownFields=void 0;var Jn=new WeakSet;class Kn extends yt{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="licensing.v4.config.BaseClusterInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kn,yt.constructFromObject(e,t,!0),e.hasOwnProperty("isMulticluster")&&null!==e.isMulticluster&&void 0!==e.isMulticluster&&t.setIsMulticluster(e.isMulticluster),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsMulticluster(){return this.isMulticluster}setIsMulticluster(e){this.isMulticluster=e}toJson(e){return!1===e?{...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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){return"isMulticluster"!==t||void 0!==this.isMulticluster&&null!==this.isMulticluster?new O(t,"no such property exists"):new O("isMulticluster","undefined or null")}}Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;const Wn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NUTANIX:"NUTANIX",VMWARE:"VMWARE",REMOTE_NTNX:"REMOTE_NTNX",OTHER_NON_NUTANIX:"OTHER_NON_NUTANIX",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wn).find(t=>Wn[t]===e);return null==t?Wn.$UNKNOWN:Wn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wn.$UNKNOWN:case Wn.$REDACTED:case Wn.NUTANIX:case Wn.VMWARE:case Wn.REMOTE_NTNX:case Wn.OTHER_NON_NUTANIX:return;default:throw new Error("Invalid : must be ClusterType.{ $UNKNOWN|$REDACTED|NUTANIX|VMWARE|REMOTE_NTNX|OTHER_NON_NUTANIX }")}}};Object.freeze(Wn);const Vn=Wn,qn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PC:"PC",PE:"PE",PC_PE:"PC_PE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qn).find(t=>qn[t]===e);return null==t?qn.$UNKNOWN:qn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qn.$UNKNOWN:case qn.$REDACTED:case qn.PC:case qn.PE:case qn.PC_PE:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|PC|PE|PC_PE }")}}};Object.freeze(qn);const zn=qn,Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ADDON:"ADDON",UNLIMITED_CAPACITY:"UNLIMITED_CAPACITY",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.ADDON:case Bn.UNLIMITED_CAPACITY:return;default:throw new Error("Invalid : must be SubCategory.{ $UNKNOWN|$REDACTED|ADDON|UNLIMITED_CAPACITY }")}}};Object.freeze(Bn);const Gn=Bn;function Yn(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 Hn=new WeakSet;class Qn{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=Hn),t.add(e),this.$objectType="licensing.v4.config.EntitlementDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qn,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(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Gn.constructFromObject(e.subCategory)),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("earliestExpiryDate")&&null!==e.earliestExpiryDate&&void 0!==e.earliestExpiryDate&&t.setEarliestExpiryDate(e.earliestExpiryDate),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),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}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getEarliestExpiryDate(){return this.earliestExpiryDate}setEarliestExpiryDate(e){this.earliestExpiryDate=e}getScope(){return this.scope}setScope(e){this.scope=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.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getEarliestExpiryDate()&&null!==this.getEarliestExpiryDate()?{earliestExpiryDate:Yn(Hn,this,Xn).call(this,this.getEarliestExpiryDate(),!0)}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new O("name","does not satisfy required maxLength constraint: 64")}return"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"subCategory"!==t||void 0!==this.subCategory&&null!==this.subCategory?"meter"!==t||void 0!==this.meter&&null!==this.meter?"quantity"!==t||void 0!==this.quantity&&null!==this.quantity?"earliestExpiryDate"!==t||void 0!==this.earliestExpiryDate&&null!==this.earliestExpiryDate?"scope"!==t||void 0!==this.scope&&null!==this.scope?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("scope","undefined or null"):new O("earliestExpiryDate","undefined or null"):new O("quantity","undefined or null"):new O("meter","undefined or null"):new O("subCategory","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qn.prototype.name=void 0,Qn.prototype.type=void 0,Qn.prototype.category=void 0,Qn.prototype.subCategory=void 0,Qn.prototype.meter=void 0,Qn.prototype.quantity=void 0,Qn.prototype.earliestExpiryDate=void 0,Qn.prototype.scope=void 0,Qn.prototype.$reserved=void 0,Qn.prototype.$objectType=void 0,Qn.prototype.$unknownFields=void 0;var Zn=new WeakSet;class ei extends Kn{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=Zn),t.add(e),this.$objectType="licensing.v4.config.Entitlement",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ei,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("isRegistered")&&null!==e.isRegistered&&void 0!==e.isRegistered&&t.setIsRegistered(e.isRegistered),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(Vn.constructFromObject(e.type)),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=Qn.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getIsRegistered(){return this.isRegistered}setIsRegistered(e){this.isRegistered=e}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getDetails(){return this.details}setDetails(e){this.details=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("isRegistered"===t&&(void 0===this.isRegistered||null===this.isRegistered))return new O("isRegistered","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,100))return new O("details","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}ei.prototype.clusterExtId=void 0,ei.prototype.isRegistered=void 0,ei.prototype.name=void 0,ei.prototype.type=void 0,ei.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class ti extends Qn{constructor(){super(),this.$objectType="licensing.v4.config.EntitlementDetailProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ti,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 O(t,"no such property exists")}}var ni=new WeakSet;class ii extends ei{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=ni),t.add(e),this.$objectType="licensing.v4.config.EntitlementProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ii,ei.constructFromObject(e,t,!0),e.hasOwnProperty("entitlementDetailProjection")&&null!==e.entitlementDetailProjection&&void 0!==e.entitlementDetailProjection){for(r=[],i=e.entitlementDetailProjection,o=0;o<i.length;o++)s=ti.constructFromObject(i[o],void 0),r.push(s);t.setEntitlementDetailProjection(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())}getEntitlementDetailProjection(){return this.entitlementDetailProjection}setEntitlementDetailProjection(e){this.entitlementDetailProjection=e}toJson(e){return!1===e?{...void 0!==this.getEntitlementDetailProjection()&&null!==this.getEntitlementDetailProjection()?{entitlementDetailProjection:this.getEntitlementDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getEntitlementDetailProjection()&&null!==this.getEntitlementDetailProjection()?{entitlementDetailProjection:this.getEntitlementDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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"entitlementDetailProjection"!==t||void 0!==this.entitlementDetailProjection&&null!==this.entitlementDetailProjection?new O(t,"no such property exists"):new O("entitlementDetailProjection","undefined or null")}}function si(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.entitlementDetailProjection=void 0,ei.prototype.clusterExtId=void 0,ei.prototype.isRegistered=void 0,ei.prototype.name=void 0,ei.prototype.type=void 0,ei.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var oi=new WeakSet;class ri extends o{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=oi),t.add(e),this.$objectType="licensing.v4.config.ListEntitlementsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new ri,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Entitlement":s=ei.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.EntitlementProjection":s=ii.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):si(oi,this,ai).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):si(oi,this,ai).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function ai(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 li(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")}ri.prototype.metadata=void 0,ri.prototype.data=void 0,ri.prototype.$reserved=void 0,ri.prototype.$objectType=void 0,ri.prototype.$unknownFields=void 0;var di=new WeakSet;class ui extends yt{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=di),t.add(e),this.$objectType="licensing.v4.config.BaseLicenseInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ui,yt.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(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Gn.constructFromObject(e.subCategory)),e.hasOwnProperty("expiryDate")&&null!==e.expiryDate&&void 0!==e.expiryDate&&t.setExpiryDate(e.expiryDate),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===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}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getExpiryDate(){return this.expiryDate}setExpiryDate(e){this.expiryDate=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.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:li(di,this,ci).call(this,this.getExpiryDate(),!0)}:{},...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()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:li(di,this,ci).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new O("name","does not satisfy required maxLength constraint: 64")}return"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"subCategory"!==t||void 0!==this.subCategory&&null!==this.subCategory?"expiryDate"!==t||void 0!==this.expiryDate&&null!==this.expiryDate?new O(t,"no such property exists"):new O("expiryDate","undefined or null"):new O("subCategory","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function ci(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var hi=new WeakSet;class pi{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=hi),t.add(e),this.$objectType="licensing.v4.config.Consumption",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pi,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("quantityUsed")&&null!==e.quantityUsed&&void 0!==e.quantityUsed&&t.setQuantityUsed(e.quantityUsed),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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getQuantityUsed(){return this.quantityUsed}setQuantityUsed(e){this.quantityUsed=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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"quantityUsed"!==t||void 0!==this.quantityUsed&&null!==this.quantityUsed?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("quantityUsed","undefined or null")}}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")}pi.prototype.clusterExtId=void 0,pi.prototype.quantityUsed=void 0,pi.prototype.$reserved=void 0,pi.prototype.$objectType=void 0,pi.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends ui{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=gi),t.add(e),this.$objectType="licensing.v4.config.License",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new vi,ui.constructFromObject(e,t,!0),e.hasOwnProperty("salesforceLicenseId")&&null!==e.salesforceLicenseId&&void 0!==e.salesforceLicenseId&&t.setSalesforceLicenseId(e.salesforceLicenseId),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("consumptionDetails")&&null!==e.consumptionDetails&&void 0!==e.consumptionDetails){for(r=[],i=e.consumptionDetails,o=0;o<i.length;o++)s=pi.constructFromObject(i[o],void 0),r.push(s);t.setConsumptionDetails(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())}getSalesforceLicenseId(){return this.salesforceLicenseId}setSalesforceLicenseId(e){this.salesforceLicenseId=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getScope(){return this.scope}setScope(e){this.scope=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getConsumptionDetails(){return this.consumptionDetails}setConsumptionDetails(e){this.consumptionDetails=e}toJson(e){return!1===e?{...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:yi(gi,this,$i).call(this,this.getExpiryDate(),!0)}:{},...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.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:yi(gi,this,$i).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("salesforceLicenseId"===t){if(void 0===this.salesforceLicenseId||null===this.salesforceLicenseId)return new O("salesforceLicenseId","undefined or null");if(!j.validatePattern(this.salesforceLicenseId,/^[A-Za-z0-9-]+$/))return new O("salesforceLicenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}if("meter"===t&&(void 0===this.meter||null===this.meter))return new O("meter","undefined or null");if("scope"===t&&(void 0===this.scope||null===this.scope))return new O("scope","undefined or null");if("quantity"===t&&(void 0===this.quantity||null===this.quantity))return new O("quantity","undefined or null");if("consumptionDetails"===t){if(void 0===this.consumptionDetails||null===this.consumptionDetails)return new O("consumptionDetails","undefined or null");if(!j.validateMaxItems(this.consumptionDetails,100))return new O("consumptionDetails","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}function $i(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vi.prototype.salesforceLicenseId=void 0,vi.prototype.meter=void 0,vi.prototype.scope=void 0,vi.prototype.quantity=void 0,vi.prototype.consumptionDetails=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class fi extends pi{constructor(){super(),this.$objectType="licensing.v4.config.ConsumptionProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fi,pi.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 O(t,"no such property exists")}}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")}var mi=new WeakSet;class bi extends vi{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=mi),t.add(e),this.$objectType="licensing.v4.config.LicenseProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new bi,vi.constructFromObject(e,t,!0),e.hasOwnProperty("consumptionProjection")&&null!==e.consumptionProjection&&void 0!==e.consumptionProjection){for(r=[],i=e.consumptionProjection,o=0;o<i.length;o++)s=fi.constructFromObject(i[o],void 0),r.push(s);t.setConsumptionProjection(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())}getConsumptionProjection(){return this.consumptionProjection}setConsumptionProjection(e){this.consumptionProjection=e}toJson(e){return!1===e?{...void 0!==this.getConsumptionProjection()&&null!==this.getConsumptionProjection()?{consumptionProjection:this.getConsumptionProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:wi(mi,this,Ti).call(this,this.getExpiryDate(),!0)}:{},...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.getConsumptionProjection()&&null!==this.getConsumptionProjection()?{consumptionProjection:this.getConsumptionProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:wi(mi,this,Ti).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"consumptionProjection"!==t||void 0!==this.consumptionProjection&&null!==this.consumptionProjection?new O(t,"no such property exists"):new O("consumptionProjection","undefined or null")}}function Ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ki(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")}bi.prototype.consumptionProjection=void 0,vi.prototype.salesforceLicenseId=void 0,vi.prototype.meter=void 0,vi.prototype.scope=void 0,vi.prototype.quantity=void 0,vi.prototype.consumptionDetails=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var ji=new WeakSet;class Oi extends o{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="licensing.v4.config.ListLicensesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Oi,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.License":s=vi.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.LicenseProjection":s=bi.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ki(ji,this,Fi).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):ki(ji,this,Fi).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Fi(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}Oi.prototype.metadata=void 0,Oi.prototype.data=void 0,Oi.prototype.$reserved=void 0,Oi.prototype.$objectType=void 0,Oi.prototype.$unknownFields=void 0;const Ei={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UPGRADE:"UPGRADE",REBALANCE:"REBALANCE",RECLAIM:"RECLAIM",RENEW:"RENEW",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ei).find(t=>Ei[t]===e);return null==t?Ei.$UNKNOWN:Ei[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ei.$UNKNOWN:case Ei.$REDACTED:case Ei.UPGRADE:case Ei.REBALANCE:case Ei.RECLAIM:case Ei.RENEW:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|UPGRADE|REBALANCE|RECLAIM|RENEW }")}}};Object.freeze(Ei);const Pi=Ei,Di={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LICENSE:"LICENSE",CLUSTER:"CLUSTER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Di).find(t=>Di[t]===e);return null==t?Di.$UNKNOWN:Di[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Di.$UNKNOWN:case Di.$REDACTED:case Di.LICENSE:case Di.CLUSTER:return;default:throw new Error("Invalid : must be RecommendationScope.{ $UNKNOWN|$REDACTED|LICENSE|CLUSTER }")}}};Object.freeze(Di);const Ci=Di;function Ii(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 Ai=new WeakSet;class Ni{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=Ai),t.add(e),this.$objectType="licensing.v4.config.RecommendationDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ni,e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(Ci.constructFromObject(e.scope)),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(Pi.constructFromObject(e.operation)),e.hasOwnProperty("licenseId")&&null!==e.licenseId&&void 0!==e.licenseId&&t.setLicenseId(e.licenseId),e.hasOwnProperty("licenseExpiryDate")&&null!==e.licenseExpiryDate&&void 0!==e.licenseExpiryDate&&t.setLicenseExpiryDate(e.licenseExpiryDate),e.hasOwnProperty("comment")&&null!==e.comment&&void 0!==e.comment&&t.setComment(e.comment),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())}getScope(){return this.scope}setScope(e){this.scope=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getLicenseId(){return this.licenseId}setLicenseId(e){this.licenseId=e}getLicenseExpiryDate(){return this.licenseExpiryDate}setLicenseExpiryDate(e){this.licenseExpiryDate=e}getComment(){return this.comment}setComment(e){this.comment=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getLicenseExpiryDate()&&null!==this.getLicenseExpiryDate()?{licenseExpiryDate:Ii(Ai,this,Ui).call(this,this.getLicenseExpiryDate(),!0)}:{},...void 0!==this.getComment()&&null!==this.getComment()?{comment:this.getComment()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("scope"===t&&(void 0===this.scope||null===this.scope))return new O("scope","undefined or null");if("operation"===t&&(void 0===this.operation||null===this.operation))return new O("operation","undefined or null");if("licenseId"===t){if(void 0===this.licenseId||null===this.licenseId)return new O("licenseId","undefined or null");if(!j.validatePattern(this.licenseId,/^[A-Za-z0-9-]+$/))return new O("licenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}if("licenseExpiryDate"===t&&(void 0===this.licenseExpiryDate||null===this.licenseExpiryDate))return new O("licenseExpiryDate","undefined or null");if("comment"===t){if(void 0===this.comment||null===this.comment)return new O("comment","undefined or null");if(!j.validateMaxLength(this.comment,100))return new O("comment","does not satisfy required maxLength constraint: 100")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function Ui(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ni.prototype.scope=void 0,Ni.prototype.operation=void 0,Ni.prototype.licenseId=void 0,Ni.prototype.licenseExpiryDate=void 0,Ni.prototype.comment=void 0,Ni.prototype.$reserved=void 0,Ni.prototype.$objectType=void 0,Ni.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends yt{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="licensing.v4.config.Recommendation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Si,yt.constructFromObject(e,t,!0),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=Ni.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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())}getDetails(){return this.details}setDetails(e){this.details=e}toJson(e){return!1===e?{...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.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.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,50))return new O("details","does not satisfy required maxItems constraint: 50")}return new O(t,"no such property exists")}}function Li(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.details=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var xi=new WeakSet;class Mi extends o{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=xi),t.add(e),this.$objectType="licensing.v4.config.ListRecommendationsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Mi,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Recommendation"!==l)throw"Unknown list of type "+l+" in data";s=Si.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Li(xi,this,_i).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):Li(xi,this,_i).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function _i(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}Mi.prototype.metadata=void 0,Mi.prototype.data=void 0,Mi.prototype.$reserved=void 0,Mi.prototype.$objectType=void 0,Mi.prototype.$unknownFields=void 0;const Ji={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_CENTRAL:"PRISM_CENTRAL",APPLIANCE:"APPLIANCE",SOFTWARE_ONLY:"SOFTWARE_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ji).find(t=>Ji[t]===e);return null==t?Ji.$UNKNOWN:Ji[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ji.$UNKNOWN:case Ji.$REDACTED:case Ji.PRISM_CENTRAL:case Ji.APPLIANCE:case Ji.SOFTWARE_ONLY:return;default:throw new Error("Invalid : must be LicenseClass.{ $UNKNOWN|$REDACTED|PRISM_CENTRAL|APPLIANCE|SOFTWARE_ONLY }")}}};Object.freeze(Ji);const Ki=Ji;var Wi=new WeakSet;class Vi{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=Wi),t.add(e),this.$objectType="licensing.v4.config.LogicalVersion",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vi,e.hasOwnProperty("clusterVersion")&&null!==e.clusterVersion&&void 0!==e.clusterVersion&&t.setClusterVersion(e.clusterVersion),e.hasOwnProperty("licenseVersion")&&null!==e.licenseVersion&&void 0!==e.licenseVersion&&t.setLicenseVersion(e.licenseVersion),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())}getClusterVersion(){return this.clusterVersion}setClusterVersion(e){this.clusterVersion=e}getLicenseVersion(){return this.licenseVersion}setLicenseVersion(e){this.licenseVersion=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterVersion()&&null!==this.getClusterVersion()?{clusterVersion:this.getClusterVersion()}:{},...void 0!==this.getLicenseVersion()&&null!==this.getLicenseVersion()?{licenseVersion:this.getLicenseVersion()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"clusterVersion"!==t||void 0!==this.clusterVersion&&null!==this.clusterVersion?"licenseVersion"!==t||void 0!==this.licenseVersion&&null!==this.licenseVersion?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("licenseVersion","undefined or null"):new O("clusterVersion","undefined or null")}}Vi.prototype.clusterVersion=void 0,Vi.prototype.licenseVersion=void 0,Vi.prototype.$reserved=void 0,Vi.prototype.$objectType=void 0,Vi.prototype.$unknownFields=void 0;const qi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FREE_TRIAL:"FREE_TRIAL",PAY_AS_YOU_GO:"PAY_AS_YOU_GO",CLOUD_COMMIT:"CLOUD_COMMIT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qi).find(t=>qi[t]===e);return null==t?qi.$UNKNOWN:qi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qi.$UNKNOWN:case qi.$REDACTED:case qi.FREE_TRIAL:case qi.PAY_AS_YOU_GO:case qi.CLOUD_COMMIT:return;default:throw new Error("Invalid : must be BillingPlan.{ $UNKNOWN|$REDACTED|FREE_TRIAL|PAY_AS_YOU_GO|CLOUD_COMMIT }")}}};Object.freeze(qi);const zi=qi,Bi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HYBRID:"HYBRID",UTILITY:"UTILITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bi).find(t=>Bi[t]===e);return null==t?Bi.$UNKNOWN:Bi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bi.$UNKNOWN:case Bi.$REDACTED:case Bi.HYBRID:case Bi.UTILITY:return;default:throw new Error("Invalid : must be ConsumptionType.{ $UNKNOWN|$REDACTED|HYBRID|UTILITY }")}}};Object.freeze(Bi);const Gi=Bi,Yi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",MSP:"MSP",NC2:"NC2",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Yi).find(t=>Yi[t]===e);return null==t?Yi.$UNKNOWN:Yi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Yi.$UNKNOWN:case Yi.$REDACTED:case Yi.MSP:case Yi.NC2:return;default:throw new Error("Invalid : must be PostPaidCategory.{ $UNKNOWN|$REDACTED|MSP|NC2 }")}}};Object.freeze(Yi);const Hi=Yi;var Qi=new WeakSet;class Xi{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=Qi),t.add(e),this.$objectType="licensing.v4.config.PostPaidConfig",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xi,e.hasOwnProperty("id")&&null!==e.id&&void 0!==e.id&&t.setId(e.id),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Hi.constructFromObject(e.category)),e.hasOwnProperty("isPulseRequired")&&null!==e.isPulseRequired&&void 0!==e.isPulseRequired&&t.setIsPulseRequired(e.isPulseRequired),e.hasOwnProperty("billingPlan")&&null!==e.billingPlan&&void 0!==e.billingPlan&&t.setBillingPlan(zi.constructFromObject(e.billingPlan)),e.hasOwnProperty("consumptionType")&&null!==e.consumptionType&&void 0!==e.consumptionType&&t.setConsumptionType(Gi.constructFromObject(e.consumptionType)),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())}getId(){return this.id}setId(e){this.id=e}getCategory(){return this.category}setCategory(e){this.category=e}getIsPulseRequired(){return this.isPulseRequired}setIsPulseRequired(e){this.isPulseRequired=e}getBillingPlan(){return this.billingPlan}setBillingPlan(e){this.billingPlan=e}getConsumptionType(){return this.consumptionType}setConsumptionType(e){this.consumptionType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getId()&&null!==this.getId()?{id:this.getId()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getIsPulseRequired()&&null!==this.getIsPulseRequired()?{isPulseRequired:this.getIsPulseRequired()}:{},...void 0!==this.getBillingPlan()&&null!==this.getBillingPlan()?{billingPlan:this.getBillingPlan()}:{},...void 0!==this.getConsumptionType()&&null!==this.getConsumptionType()?{consumptionType:this.getConsumptionType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("id"===t){if(void 0===this.id||null===this.id)return new O("id","undefined or null");if(!j.validatePattern(this.id,/^[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 O("id","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"category"!==t||void 0!==this.category&&null!==this.category?"isPulseRequired"!==t||void 0!==this.isPulseRequired&&null!==this.isPulseRequired?"billingPlan"!==t||void 0!==this.billingPlan&&null!==this.billingPlan?"consumptionType"!==t||void 0!==this.consumptionType&&null!==this.consumptionType?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("consumptionType","undefined or null"):new O("billingPlan","undefined or null"):new O("isPulseRequired","undefined or null"):new O("category","undefined or null")}}Xi.prototype.id=void 0,Xi.prototype.category=void 0,Xi.prototype.isPulseRequired=void 0,Xi.prototype.billingPlan=void 0,Xi.prototype.consumptionType=void 0,Xi.prototype.$reserved=void 0,Xi.prototype.$objectType=void 0,Xi.prototype.$unknownFields=void 0;var Zi=new WeakSet;class es extends Kn{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=Zi),t.add(e),this.$objectType="licensing.v4.config.Setting",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new es,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("logicalVersion")&&null!==e.logicalVersion&&void 0!==e.logicalVersion&&t.setLogicalVersion(Vi.constructFromObject(e.logicalVersion)),e.hasOwnProperty("isStandby")&&null!==e.isStandby&&void 0!==e.isStandby&&t.setIsStandby(e.isStandby),e.hasOwnProperty("hasNonCompliantFeatures")&&null!==e.hasNonCompliantFeatures&&void 0!==e.hasNonCompliantFeatures&&t.setHasNonCompliantFeatures(e.hasNonCompliantFeatures),e.hasOwnProperty("isLicenseCheckDisabled")&&null!==e.isLicenseCheckDisabled&&void 0!==e.isLicenseCheckDisabled&&t.setIsLicenseCheckDisabled(e.isLicenseCheckDisabled),e.hasOwnProperty("licenseClass")&&null!==e.licenseClass&&void 0!==e.licenseClass&&t.setLicenseClass(Ki.constructFromObject(e.licenseClass)),e.hasOwnProperty("enforcementPolicy")&&null!==e.enforcementPolicy&&void 0!==e.enforcementPolicy&&t.setEnforcementPolicy(mt.constructFromObject(e.enforcementPolicy)),e.hasOwnProperty("licenseKey")&&null!==e.licenseKey&&void 0!==e.licenseKey&&t.setLicenseKey(e.licenseKey),e.hasOwnProperty("hasUltimateTrialEnded")&&null!==e.hasUltimateTrialEnded&&void 0!==e.hasUltimateTrialEnded&&t.setHasUltimateTrialEnded(e.hasUltimateTrialEnded),e.hasOwnProperty("postPaidConfig")&&null!==e.postPaidConfig&&void 0!==e.postPaidConfig&&t.setPostPaidConfig(Xi.constructFromObject(e.postPaidConfig)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLogicalVersion(){return this.logicalVersion}setLogicalVersion(e){this.logicalVersion=e}getIsStandby(){return this.isStandby}setIsStandby(e){this.isStandby=e}getHasNonCompliantFeatures(){return this.hasNonCompliantFeatures}setHasNonCompliantFeatures(e){this.hasNonCompliantFeatures=e}getIsLicenseCheckDisabled(){return this.isLicenseCheckDisabled}setIsLicenseCheckDisabled(e){this.isLicenseCheckDisabled=e}getLicenseClass(){return this.licenseClass}setLicenseClass(e){this.licenseClass=e}getEnforcementPolicy(){return this.enforcementPolicy}setEnforcementPolicy(e){this.enforcementPolicy=e}getLicenseKey(){return this.licenseKey}setLicenseKey(e){this.licenseKey=e}getHasUltimateTrialEnded(){return this.hasUltimateTrialEnded}setHasUltimateTrialEnded(e){this.hasUltimateTrialEnded=e}getPostPaidConfig(){return this.postPaidConfig}setPostPaidConfig(e){this.postPaidConfig=e}toJson(e){return!1===e?{...void 0!==this.getLogicalVersion()&&null!==this.getLogicalVersion()?{logicalVersion:this.getLogicalVersion().toJson(!1)}:{},...void 0!==this.getIsStandby()&&null!==this.getIsStandby()?{isStandby:this.getIsStandby()}:{},...void 0!==this.getHasNonCompliantFeatures()&&null!==this.getHasNonCompliantFeatures()?{hasNonCompliantFeatures:this.getHasNonCompliantFeatures()}:{},...void 0!==this.getIsLicenseCheckDisabled()&&null!==this.getIsLicenseCheckDisabled()?{isLicenseCheckDisabled:this.getIsLicenseCheckDisabled()}:{},...void 0!==this.getLicenseClass()&&null!==this.getLicenseClass()?{licenseClass:this.getLicenseClass()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getLicenseKey()&&null!==this.getLicenseKey()?{licenseKey:this.getLicenseKey()}:{},...void 0!==this.getHasUltimateTrialEnded()&&null!==this.getHasUltimateTrialEnded()?{hasUltimateTrialEnded:this.getHasUltimateTrialEnded()}:{},...void 0!==this.getPostPaidConfig()&&null!==this.getPostPaidConfig()?{postPaidConfig:this.getPostPaidConfig().toJson(!1)}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getLogicalVersion()&&null!==this.getLogicalVersion()?{logicalVersion:this.getLogicalVersion().toJson(!1)}:{},...void 0!==this.getIsStandby()&&null!==this.getIsStandby()?{isStandby:this.getIsStandby()}:{},...void 0!==this.getHasNonCompliantFeatures()&&null!==this.getHasNonCompliantFeatures()?{hasNonCompliantFeatures:this.getHasNonCompliantFeatures()}:{},...void 0!==this.getIsLicenseCheckDisabled()&&null!==this.getIsLicenseCheckDisabled()?{isLicenseCheckDisabled:this.getIsLicenseCheckDisabled()}:{},...void 0!==this.getLicenseClass()&&null!==this.getLicenseClass()?{licenseClass:this.getLicenseClass()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getLicenseKey()&&null!==this.getLicenseKey()?{licenseKey:this.getLicenseKey()}:{},...void 0!==this.getHasUltimateTrialEnded()&&null!==this.getHasUltimateTrialEnded()?{hasUltimateTrialEnded:this.getHasUltimateTrialEnded()}:{},...void 0!==this.getPostPaidConfig()&&null!==this.getPostPaidConfig()?{postPaidConfig:this.getPostPaidConfig().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("logicalVersion"===t&&(void 0===this.logicalVersion||null===this.logicalVersion))return new O("logicalVersion","undefined or null");if("isStandby"===t&&(void 0===this.isStandby||null===this.isStandby))return new O("isStandby","undefined or null");if("hasNonCompliantFeatures"===t&&(void 0===this.hasNonCompliantFeatures||null===this.hasNonCompliantFeatures))return new O("hasNonCompliantFeatures","undefined or null");if("isLicenseCheckDisabled"===t&&(void 0===this.isLicenseCheckDisabled||null===this.isLicenseCheckDisabled))return new O("isLicenseCheckDisabled","undefined or null");if("licenseClass"===t&&(void 0===this.licenseClass||null===this.licenseClass))return new O("licenseClass","undefined or null");if("enforcementPolicy"===t&&(void 0===this.enforcementPolicy||null===this.enforcementPolicy))return new O("enforcementPolicy","undefined or null");if("licenseKey"===t){if(void 0===this.licenseKey||null===this.licenseKey)return new O("licenseKey","undefined or null");if(!j.validateMaxLength(this.licenseKey,100))return new O("licenseKey","does not satisfy required maxLength constraint: 100")}return"hasUltimateTrialEnded"!==t||void 0!==this.hasUltimateTrialEnded&&null!==this.hasUltimateTrialEnded?"postPaidConfig"!==t||void 0!==this.postPaidConfig&&null!==this.postPaidConfig?new O(t,"no such property exists"):new O("postPaidConfig","undefined or null"):new O("hasUltimateTrialEnded","undefined or null")}}function ts(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")}es.prototype.logicalVersion=void 0,es.prototype.isStandby=void 0,es.prototype.hasNonCompliantFeatures=!1,es.prototype.isLicenseCheckDisabled=!1,es.prototype.licenseClass=void 0,es.prototype.enforcementPolicy=void 0,es.prototype.licenseKey=void 0,es.prototype.hasUltimateTrialEnded=void 0,es.prototype.postPaidConfig=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var ns=new WeakSet;class is extends o{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=ns),t.add(e),this.$objectType="licensing.v4.config.ListSettingsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new is,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Setting"!==l)throw"Unknown list of type "+l+" in data";s=es.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ts(ns,this,ss).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):ts(ns,this,ss).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function ss(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}is.prototype.metadata=void 0,is.prototype.data=void 0,is.prototype.$reserved=void 0,is.prototype.$objectType=void 0,is.prototype.$unknownFields=void 0;const os={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEAN:"BOOLEAN",INTEGER:"INTEGER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(os).find(t=>os[t]===e);return null==t?os.$UNKNOWN:os[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case os.$UNKNOWN:case os.$REDACTED:case os.BOOLEAN:case os.INTEGER:return;default:throw new Error("Invalid : must be ValueType.{ $UNKNOWN|$REDACTED|BOOLEAN|INTEGER }")}}};Object.freeze(os);const rs=os;var as=new WeakSet;class ls{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=as),t.add(e),this.$objectType="licensing.v4.config.AllowanceDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ls,e.hasOwnProperty("featureId")&&null!==e.featureId&&void 0!==e.featureId&&t.setFeatureId(e.featureId),e.hasOwnProperty("valueType")&&null!==e.valueType&&void 0!==e.valueType&&t.setValueType(rs.constructFromObject(e.valueType)),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),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())}getFeatureId(){return this.featureId}setFeatureId(e){this.featureId=e}getValueType(){return this.valueType}setValueType(e){this.valueType=e}getValue(){return this.value}setValue(e){this.value=e}getScope(){return this.scope}setScope(e){this.scope=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("featureId"===t){if(void 0===this.featureId||null===this.featureId)return new O("featureId","undefined or null");if(!j.validateMaxLength(this.featureId,100))return new O("featureId","does not satisfy required maxLength constraint: 100")}if("valueType"===t&&(void 0===this.valueType||null===this.valueType))return new O("valueType","undefined or null");if("value"===t){if(void 0===this.value||null===this.value)return new O("value","undefined or null");if(!j.validateMaxLength(this.value,25))return new O("value","does not satisfy required maxLength constraint: 25")}return"scope"!==t||void 0!==this.scope&&null!==this.scope?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("scope","undefined or null")}}ls.prototype.featureId=void 0,ls.prototype.valueType=void 0,ls.prototype.value=void 0,ls.prototype.scope=void 0,ls.prototype.$reserved=void 0,ls.prototype.$objectType=void 0,ls.prototype.$unknownFields=void 0;var ds=new WeakSet;class us extends Kn{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="licensing.v4.config.Allowance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new us,Kn.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(Vn.constructFromObject(e.type)),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=ls.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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}getType(){return this.type}setType(e){this.type=e}getDetails(){return this.details}setDetails(e){this.details=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.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,120))return new O("details","does not satisfy required maxItems constraint: 120")}return new O(t,"no such property exists")}}us.prototype.name=void 0,us.prototype.type=void 0,us.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class cs extends ls{constructor(){super(),this.$objectType="licensing.v4.config.AllowanceDetailProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cs,ls.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 O(t,"no such property exists")}}var hs=new WeakSet;class ps extends us{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="licensing.v4.config.AllowanceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ps,us.constructFromObject(e,t,!0),e.hasOwnProperty("allowanceDetailProjection")&&null!==e.allowanceDetailProjection&&void 0!==e.allowanceDetailProjection){for(r=[],i=e.allowanceDetailProjection,o=0;o<i.length;o++)s=cs.constructFromObject(i[o],void 0),r.push(s);t.setAllowanceDetailProjection(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())}getAllowanceDetailProjection(){return this.allowanceDetailProjection}setAllowanceDetailProjection(e){this.allowanceDetailProjection=e}toJson(e){return!1===e?{...void 0!==this.getAllowanceDetailProjection()&&null!==this.getAllowanceDetailProjection()?{allowanceDetailProjection:this.getAllowanceDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getAllowanceDetailProjection()&&null!==this.getAllowanceDetailProjection()?{allowanceDetailProjection:this.getAllowanceDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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"allowanceDetailProjection"!==t||void 0!==this.allowanceDetailProjection&&null!==this.allowanceDetailProjection?new O(t,"no such property exists"):new O("allowanceDetailProjection","undefined or null")}}function ys(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.allowanceDetailProjection=void 0,us.prototype.name=void 0,us.prototype.type=void 0,us.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var gs=new WeakSet;class vs extends o{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=gs),t.add(e),this.$objectType="licensing.v4.config.ListAllowancesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new vs,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Allowance":s=us.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.AllowanceProjection":s=ps.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ys(gs,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):ys(gs,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}vs.prototype.metadata=void 0,vs.prototype.data=void 0,vs.prototype.$reserved=void 0,vs.prototype.$objectType=void 0,vs.prototype.$unknownFields=void 0;var fs=new WeakSet;class ws{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=fs),t.add(e),this.$objectType="licensing.v4.config.CapacityViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ws,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("shortfall")&&null!==e.shortfall&&void 0!==e.shortfall&&t.setShortfall(e.shortfall),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}getCategory(){return this.category}setCategory(e){this.category=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getShortfall(){return this.shortfall}setShortfall(e){this.shortfall=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.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getShortfall()&&null!==this.getShortfall()?{shortfall:this.getShortfall()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"meter"!==t||void 0!==this.meter&&null!==this.meter?"shortfall"!==t||void 0!==this.shortfall&&null!==this.shortfall?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("shortfall","undefined or null"):new O("meter","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function ms(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.type=void 0,ws.prototype.category=void 0,ws.prototype.meter=void 0,ws.prototype.shortfall=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends ui{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="licensing.v4.config.ExpiredLicense",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ts,ui.constructFromObject(e,t,!0),e.hasOwnProperty("licenseId")&&null!==e.licenseId&&void 0!==e.licenseId&&t.setLicenseId(e.licenseId),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("usedQuantity")&&null!==e.usedQuantity&&void 0!==e.usedQuantity&&t.setUsedQuantity(e.usedQuantity),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLicenseId(){return this.licenseId}setLicenseId(e){this.licenseId=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getUsedQuantity(){return this.usedQuantity}setUsedQuantity(e){this.usedQuantity=e}toJson(e){return!1===e?{...void 0!==this.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getUsedQuantity()&&null!==this.getUsedQuantity()?{usedQuantity:this.getUsedQuantity()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:ms(bs,this,ks).call(this,this.getExpiryDate(),!0)}:{},...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.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getUsedQuantity()&&null!==this.getUsedQuantity()?{usedQuantity:this.getUsedQuantity()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:ms(bs,this,ks).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("licenseId"===t){if(void 0===this.licenseId||null===this.licenseId)return new O("licenseId","undefined or null");if(!j.validatePattern(this.licenseId,/^[A-Za-z0-9-]+$/))return new O("licenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}return"meter"!==t||void 0!==this.meter&&null!==this.meter?"usedQuantity"!==t||void 0!==this.usedQuantity&&null!==this.usedQuantity?new O(t,"no such property exists"):new O("usedQuantity","undefined or null"):new O("meter","undefined or null")}}function ks(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ts.prototype.licenseId=void 0,Ts.prototype.meter=void 0,Ts.prototype.usedQuantity=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var js=new WeakSet;class Os{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=js),t.add(e),this.$objectType="licensing.v4.config.FeatureDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Os,e.hasOwnProperty("featureId")&&null!==e.featureId&&void 0!==e.featureId&&t.setFeatureId(e.featureId),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("$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())}getFeatureId(){return this.featureId}setFeatureId(e){this.featureId=e}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("featureId"===t){if(void 0===this.featureId||null===this.featureId)return new O("featureId","undefined or null");if(!j.validateMaxLength(this.featureId,100))return new O("featureId","does not satisfy required maxLength constraint: 100")}if("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("description"===t){if(void 0===this.description||null===this.description)return new O("description","undefined or null");if(!j.validateMaxLength(this.description,250))return new O("description","does not satisfy required maxLength constraint: 250")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Os.prototype.featureId=void 0,Os.prototype.name=void 0,Os.prototype.description=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Es 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=Fs),t.add(e),this.$objectType="licensing.v4.config.FeatureViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Es,Os.constructFromObject(e,t,!0),e.hasOwnProperty("affectedEntity")&&null!==e.affectedEntity&&void 0!==e.affectedEntity&&t.setAffectedEntity(e.affectedEntity),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAffectedEntity(){return this.affectedEntity}setAffectedEntity(e){this.affectedEntity=e}toJson(e){return{...void 0!==this.getAffectedEntity()&&null!==this.getAffectedEntity()?{affectedEntity:this.getAffectedEntity()}:{},...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("affectedEntity"===t){if(void 0===this.affectedEntity||null===this.affectedEntity)return new O("affectedEntity","undefined or null");if(!j.validateMaxLength(this.affectedEntity,100))return new O("affectedEntity","does not satisfy required maxLength constraint: 100")}return new O(t,"no such property exists")}}Es.prototype.affectedEntity=void 0,Os.prototype.featureId=void 0,Os.prototype.name=void 0,Os.prototype.description=void 0;var Ps=new WeakSet;class Ds extends Kn{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="licensing.v4.config.Violation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Ds,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("featureViolations")&&null!==e.featureViolations&&void 0!==e.featureViolations){for(r=[],i=e.featureViolations,o=0;o<i.length;o++)s=Es.constructFromObject(i[o],void 0),r.push(s);t.setFeatureViolations(r)}if(e.hasOwnProperty("capacityViolations")&&null!==e.capacityViolations&&void 0!==e.capacityViolations){for(r=[],i=e.capacityViolations,o=0;o<i.length;o++)s=ws.constructFromObject(i[o],void 0),r.push(s);t.setCapacityViolations(r)}if(e.hasOwnProperty("expiredLicenses")&&null!==e.expiredLicenses&&void 0!==e.expiredLicenses){for(r=[],i=e.expiredLicenses,o=0;o<i.length;o++)s=Ts.constructFromObject(i[o],void 0),r.push(s);t.setExpiredLicenses(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())}getFeatureViolations(){return this.featureViolations}setFeatureViolations(e){this.featureViolations=e}getCapacityViolations(){return this.capacityViolations}setCapacityViolations(e){this.capacityViolations=e}getExpiredLicenses(){return this.expiredLicenses}setExpiredLicenses(e){this.expiredLicenses=e}toJson(e){return!1===e?{...void 0!==this.getFeatureViolations()&&null!==this.getFeatureViolations()?{featureViolations:this.getFeatureViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getCapacityViolations()&&null!==this.getCapacityViolations()?{capacityViolations:this.getCapacityViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getExpiredLicenses()&&null!==this.getExpiredLicenses()?{expiredLicenses:this.getExpiredLicenses().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getFeatureViolations()&&null!==this.getFeatureViolations()?{featureViolations:this.getFeatureViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getCapacityViolations()&&null!==this.getCapacityViolations()?{capacityViolations:this.getCapacityViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getExpiredLicenses()&&null!==this.getExpiredLicenses()?{expiredLicenses:this.getExpiredLicenses().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("featureViolations"===t){if(void 0===this.featureViolations||null===this.featureViolations)return new O("featureViolations","undefined or null");if(!j.validateMaxItems(this.featureViolations,100))return new O("featureViolations","does not satisfy required maxItems constraint: 100")}if("capacityViolations"===t){if(void 0===this.capacityViolations||null===this.capacityViolations)return new O("capacityViolations","undefined or null");if(!j.validateMaxItems(this.capacityViolations,100))return new O("capacityViolations","does not satisfy required maxItems constraint: 100")}if("expiredLicenses"===t){if(void 0===this.expiredLicenses||null===this.expiredLicenses)return new O("expiredLicenses","undefined or null");if(!j.validateMaxItems(this.expiredLicenses,100))return new O("expiredLicenses","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}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")}Ds.prototype.featureViolations=void 0,Ds.prototype.capacityViolations=void 0,Ds.prototype.expiredLicenses=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Is=new WeakSet;class As extends o{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=Is),t.add(e),this.$objectType="licensing.v4.config.ListViolationsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new As,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Violation"!==l)throw"Unknown list of type "+l+" in data";s=Ds.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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(Is,this,Ns).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(Is,this,Ns).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Ns(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}As.prototype.metadata=void 0,As.prototype.data=void 0,As.prototype.$reserved=void 0,As.prototype.$objectType=void 0,As.prototype.$unknownFields=void 0;const Us={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UPLOAD_CLUSTER_SUMMARY:"UPLOAD_CLUSTER_SUMMARY",APPLY_LICENSE_SUMMARY:"APPLY_LICENSE_SUMMARY",RECLAIM:"RECLAIM",RENEW:"RENEW",REBALANCE:"REBALANCE",UPDATE_METADATA:"UPDATE_METADATA",RECLAIM_FOR_DESTROYED_CLUSTER:"RECLAIM_FOR_DESTROYED_CLUSTER",APPLY_LICENSE_SUMMARY_WITH_METADATA:"APPLY_LICENSE_SUMMARY_WITH_METADATA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Us).find(t=>Us[t]===e);return null==t?Us.$UNKNOWN:Us[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Us.$UNKNOWN:case Us.$REDACTED:case Us.UPLOAD_CLUSTER_SUMMARY:case Us.APPLY_LICENSE_SUMMARY:case Us.RECLAIM:case Us.RENEW:case Us.REBALANCE:case Us.UPDATE_METADATA:case Us.RECLAIM_FOR_DESTROYED_CLUSTER:case Us.APPLY_LICENSE_SUMMARY_WITH_METADATA:return;default:throw new Error("Invalid : must be SyncOperationType.{ $UNKNOWN|$REDACTED|UPLOAD_CLUSTER_SUMMARY|APPLY_LICENSE_SUMMARY|RECLAIM|RENEW|REBALANCE|UPDATE_METADATA|RECLAIM_FOR_DESTROYED_CLUSTER|APPLY_LICENSE_SUMMARY_WITH_METADATA }")}}};Object.freeze(Us);const Rs=Us;var Ss=new WeakSet;class Ls{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=Ss),t.add(e),this.$objectType="licensing.v4.config.LicenseStateSyncSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o;if(e){if(t=t||new Ls,e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(Rs.constructFromObject(e.operation)),e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(o=[],i=e.clusterExtIds,s=0;s<i.length;s++)o.push(i[s]);t.setClusterExtIds(o)}if(e.hasOwnProperty("entitlementNames")&&null!==e.entitlementNames&&void 0!==e.entitlementNames){for(o=[],i=e.entitlementNames,s=0;s<i.length;s++)o.push(i[s]);t.setEntitlementNames(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())}getOperation(){return this.operation}setOperation(e){this.operation=e}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}getEntitlementNames(){return this.entitlementNames}setEntitlementNames(e){this.entitlementNames=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},...void 0!==this.getEntitlementNames()&&null!==this.getEntitlementNames()?{entitlementNames:this.getEntitlementNames()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("operation"===t&&(void 0===this.operation||null===this.operation))return new O("operation","undefined or null");if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new O("clusterExtIds","undefined or null");if(!j.validateMaxItems(this.clusterExtIds,100))return new O("clusterExtIds","does not satisfy required maxItems constraint: 100")}if("entitlementNames"===t){if(void 0===this.entitlementNames||null===this.entitlementNames)return new O("entitlementNames","undefined or null");if(!j.validateMaxItems(this.entitlementNames,200))return new O("entitlementNames","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Ls.prototype.operation=void 0,Ls.prototype.clusterExtIds=void 0,Ls.prototype.entitlementNames=void 0,Ls.prototype.$reserved=void 0,Ls.prototype.$objectType=void 0,Ls.prototype.$unknownFields=void 0;const xs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NO_NODE_ADDITION:"NO_NODE_ADDITION",NO_ADVERTISE_CAPACITY:"NO_ADVERTISE_CAPACITY",NO_SUPPORT:"NO_SUPPORT",NO_CONTAINER_UPDATE:"NO_CONTAINER_UPDATE",NO_LOGIN:"NO_LOGIN",NO_CLUSTER_PAGE:"NO_CLUSTER_PAGE",NO_UPGRADES:"NO_UPGRADES",NO_SECURITY_PATCH:"NO_SECURITY_PATCH",SHOW_NAGWARE:"SHOW_NAGWARE",NO_APP_LAUNCH:"NO_APP_LAUNCH",NO_RUNBOOK:"NO_RUNBOOK",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xs).find(t=>xs[t]===e);return null==t?xs.$UNKNOWN:xs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xs.$UNKNOWN:case xs.$REDACTED:case xs.NO_NODE_ADDITION:case xs.NO_ADVERTISE_CAPACITY:case xs.NO_SUPPORT:case xs.NO_CONTAINER_UPDATE:case xs.NO_LOGIN:case xs.NO_CLUSTER_PAGE:case xs.NO_UPGRADES:case xs.NO_SECURITY_PATCH:case xs.SHOW_NAGWARE:case xs.NO_APP_LAUNCH:case xs.NO_RUNBOOK:return;default:throw new Error("Invalid : must be EnforcementActions.{ $UNKNOWN|$REDACTED|NO_NODE_ADDITION|NO_ADVERTISE_CAPACITY|NO_SUPPORT|NO_CONTAINER_UPDATE|NO_LOGIN|NO_CLUSTER_PAGE|NO_UPGRADES|NO_SECURITY_PATCH|SHOW_NAGWARE|NO_APP_LAUNCH|NO_RUNBOOK }")}}};Object.freeze(xs);const Ms=xs,_s={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LEVEL_10:"LEVEL_10",LEVEL_20:"LEVEL_20",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.LEVEL_10:case _s.LEVEL_20:return;default:throw new Error("Invalid : must be EnforcementLevel.{ $UNKNOWN|$REDACTED|LEVEL_10|LEVEL_20 }")}}};Object.freeze(_s);const Js=_s,Ks={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM:"PRISM",CALM:"CALM",FLOW:"FLOW",OBJECT:"OBJECT",AOS:"AOS",FILE:"FILE",VOLUME_GROUP:"VOLUME_GROUP",NDL:"NDL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ks).find(t=>Ks[t]===e);return null==t?Ks.$UNKNOWN:Ks[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ks.$UNKNOWN:case Ks.$REDACTED:case Ks.PRISM:case Ks.CALM:case Ks.FLOW:case Ks.OBJECT:case Ks.AOS:case Ks.FILE:case Ks.VOLUME_GROUP:case Ks.NDL:return;default:throw new Error("Invalid : must be ProductName.{ $UNKNOWN|$REDACTED|PRISM|CALM|FLOW|OBJECT|AOS|FILE|VOLUME_GROUP|NDL }")}}};Object.freeze(Ks);const Ws=Ks,Vs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LICENSE_EXPIRED:"LICENSE_EXPIRED",FEATURE_VIOLATION:"FEATURE_VIOLATION",CAPACITY_VIOLATION:"CAPACITY_VIOLATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vs).find(t=>Vs[t]===e);return null==t?Vs.$UNKNOWN:Vs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vs.$UNKNOWN:case Vs.$REDACTED:case Vs.LICENSE_EXPIRED:case Vs.FEATURE_VIOLATION:case Vs.CAPACITY_VIOLATION:return;default:throw new Error("Invalid : must be ServiceViolationType.{ $UNKNOWN|$REDACTED|LICENSE_EXPIRED|FEATURE_VIOLATION|CAPACITY_VIOLATION }")}}};Object.freeze(Vs);const qs=Vs;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")}var Bs=new WeakSet;class Gs{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=Bs),t.add(e),this.$objectType="licensing.v4.config.ServiceViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Gs,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(qs.constructFromObject(e.type)),e.hasOwnProperty("startDate")&&null!==e.startDate&&void 0!==e.startDate&&t.setStartDate(e.startDate),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}getStartDate(){return this.startDate}setStartDate(e){this.startDate=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.getStartDate()&&null!==this.getStartDate()?{startDate:zs(Bs,this,Ys).call(this,this.getStartDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"type"!==t||void 0!==this.type&&null!==this.type?"startDate"!==t||void 0!==this.startDate&&null!==this.startDate?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("startDate","undefined or null"):new O("type","undefined or null")}}function Ys(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Gs.prototype.type=void 0,Gs.prototype.startDate=void 0,Gs.prototype.$reserved=void 0,Gs.prototype.$objectType=void 0,Gs.prototype.$unknownFields=void 0;var Hs=new WeakSet;class Qs{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=Hs),t.add(e),this.$objectType="licensing.v4.config.Service",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Qs,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(Ws.constructFromObject(e.name)),e.hasOwnProperty("licenseType")&&null!==e.licenseType&&void 0!==e.licenseType&&t.setLicenseType(At.constructFromObject(e.licenseType)),e.hasOwnProperty("isCompliant")&&null!==e.isCompliant&&void 0!==e.isCompliant&&t.setIsCompliant(e.isCompliant),e.hasOwnProperty("enforcementLevel")&&null!==e.enforcementLevel&&void 0!==e.enforcementLevel&&t.setEnforcementLevel(Js.constructFromObject(e.enforcementLevel)),e.hasOwnProperty("enforcementActions")&&null!==e.enforcementActions&&void 0!==e.enforcementActions){for(r=[],i=e.enforcementActions,o=0;o<i.length;o++)s=Ms.constructFromObject(i[o],void 0),r.push(s);t.setEnforcementActions(r)}if(e.hasOwnProperty("violations")&&null!==e.violations&&void 0!==e.violations){for(r=[],i=e.violations,o=0;o<i.length;o++)s=Gs.constructFromObject(i[o],void 0),r.push(s);t.setViolations(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())}getName(){return this.name}setName(e){this.name=e}getLicenseType(){return this.licenseType}setLicenseType(e){this.licenseType=e}getIsCompliant(){return this.isCompliant}setIsCompliant(e){this.isCompliant=e}getEnforcementLevel(){return this.enforcementLevel}setEnforcementLevel(e){this.enforcementLevel=e}getEnforcementActions(){return this.enforcementActions}setEnforcementActions(e){this.enforcementActions=e}getViolations(){return this.violations}setViolations(e){this.violations=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.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getIsCompliant()&&null!==this.getIsCompliant()?{isCompliant:this.getIsCompliant()}:{},...void 0!==this.getEnforcementLevel()&&null!==this.getEnforcementLevel()?{enforcementLevel:this.getEnforcementLevel()}:{},...void 0!==this.getEnforcementActions()&&null!==this.getEnforcementActions()?{enforcementActions:this.getEnforcementActions()}:{},...void 0!==this.getViolations()&&null!==this.getViolations()?{violations:this.getViolations().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("name"===t&&(void 0===this.name||null===this.name))return new O("name","undefined or null");if("licenseType"===t&&(void 0===this.licenseType||null===this.licenseType))return new O("licenseType","undefined or null");if("isCompliant"===t&&(void 0===this.isCompliant||null===this.isCompliant))return new O("isCompliant","undefined or null");if("enforcementLevel"===t&&(void 0===this.enforcementLevel||null===this.enforcementLevel))return new O("enforcementLevel","undefined or null");if("enforcementActions"===t){if(void 0===this.enforcementActions||null===this.enforcementActions)return new O("enforcementActions","undefined or null");if(!j.validateMaxItems(this.enforcementActions,10))return new O("enforcementActions","does not satisfy required maxItems constraint: 10")}if("violations"===t){if(void 0===this.violations||null===this.violations)return new O("violations","undefined or null");if(!j.validateMaxItems(this.violations,10))return new O("violations","does not satisfy required maxItems constraint: 10")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Qs.prototype.name=void 0,Qs.prototype.licenseType=void 0,Qs.prototype.isCompliant=void 0,Qs.prototype.enforcementLevel=void 0,Qs.prototype.enforcementActions=void 0,Qs.prototype.violations=void 0,Qs.prototype.$reserved=void 0,Qs.prototype.$objectType=void 0,Qs.prototype.$unknownFields=void 0;var Xs=new WeakSet;class Zs extends Kn{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=Xs),t.add(e),this.$objectType="licensing.v4.config.Compliance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Zs,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(Vn.constructFromObject(e.type)),e.hasOwnProperty("services")&&null!==e.services&&void 0!==e.services){for(r=[],i=e.services,o=0;o<i.length;o++)s=Qs.constructFromObject(i[o],void 0),r.push(s);t.setServices(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getType(){return this.type}setType(e){this.type=e}getServices(){return this.services}setServices(e){this.services=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("services"===t){if(void 0===this.services||null===this.services)return new O("services","undefined or null");if(!j.validateMaxItems(this.services,20))return new O("services","does not satisfy required maxItems constraint: 20")}return new O(t,"no such property exists")}}Zs.prototype.clusterExtId=void 0,Zs.prototype.type=void 0,Zs.prototype.services=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class eo extends Qs{constructor(){super(),this.$objectType="licensing.v4.config.ServiceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new eo,Qs.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 O(t,"no such property exists")}}var to=new WeakSet;class no extends Zs{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=to),t.add(e),this.$objectType="licensing.v4.config.ComplianceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new no,Zs.constructFromObject(e,t,!0),e.hasOwnProperty("serviceProjection")&&null!==e.serviceProjection&&void 0!==e.serviceProjection){for(r=[],i=e.serviceProjection,o=0;o<i.length;o++)s=eo.constructFromObject(i[o],void 0),r.push(s);t.setServiceProjection(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())}getServiceProjection(){return this.serviceProjection}setServiceProjection(e){this.serviceProjection=e}toJson(e){return!1===e?{...void 0!==this.getServiceProjection()&&null!==this.getServiceProjection()?{serviceProjection:this.getServiceProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getServiceProjection()&&null!==this.getServiceProjection()?{serviceProjection:this.getServiceProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().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"serviceProjection"!==t||void 0!==this.serviceProjection&&null!==this.serviceProjection?new O(t,"no such property exists"):new O("serviceProjection","undefined or null")}}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")}no.prototype.serviceProjection=void 0,Zs.prototype.clusterExtId=void 0,Zs.prototype.type=void 0,Zs.prototype.services=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var so=new WeakSet;class oo extends o{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=so),t.add(e),this.$objectType="licensing.v4.config.ListCompliancesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new oo,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Compliance":s=Zs.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.ComplianceProjection":s=no.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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(so,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(so,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}oo.prototype.metadata=void 0,oo.prototype.data=void 0,oo.prototype.$reserved=void 0,oo.prototype.$objectType=void 0,oo.prototype.$unknownFields=void 0;var ao=new WeakSet;class lo{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=ao),t.add(e),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lo,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),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())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("extId","undefined or null");if(!j.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[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 O("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function uo(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")}lo.prototype.extId=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;var co=new WeakSet;class ho extends o{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=co),t.add(e),this.$objectType="licensing.v4.config.SyncLicenseStateApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ho,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"prism.v4.config.TaskReference":t.setData(lo.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):uo(co,this,po).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):uo(co,this,po).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function po(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 yo(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")}ho.prototype.metadata=void 0,ho.prototype.data=void 0,ho.prototype.$reserved=void 0,ho.prototype.$objectType=void 0,ho.prototype.$unknownFields=void 0;var go=new WeakSet;class vo extends yt{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=go),t.add(e),this.$objectType="licensing.v4.config.Feature",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vo,yt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("valueType")&&null!==e.valueType&&void 0!==e.valueType&&t.setValueType(rs.constructFromObject(e.valueType)),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)switch(i=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,i){case"boolean":case"number":t.setValue(e.value);break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("licenseType")&&null!==e.licenseType&&void 0!==e.licenseType&&t.setLicenseType(At.constructFromObject(e.licenseType)),e.hasOwnProperty("licenseCategory")&&null!==e.licenseCategory&&void 0!==e.licenseCategory&&t.setLicenseCategory(Tt.constructFromObject(e.licenseCategory)),e.hasOwnProperty("licenseSubCategory")&&null!==e.licenseSubCategory&&void 0!==e.licenseSubCategory&&t.setLicenseSubCategory(Gn.constructFromObject(e.licenseSubCategory)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===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}getValueType(){return this.valueType}setValueType(e){this.valueType=e}getValue(){return this.value}setValue(e){this.value=e}getLicenseType(){return this.licenseType}setLicenseType(e){this.licenseType=e}getLicenseCategory(){return this.licenseCategory}setLicenseCategory(e){this.licenseCategory=e}getLicenseSubCategory(){return this.licenseSubCategory}setLicenseSubCategory(e){this.licenseSubCategory=e}getScope(){return this.scope}setScope(e){this.scope=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...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):yo(go,this,$o).call(this,this.getValue(),!1)}:{},...void 0!==this.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getLicenseCategory()&&null!==this.getLicenseCategory()?{licenseCategory:this.getLicenseCategory()}:{},...void 0!==this.getLicenseSubCategory()&&null!==this.getLicenseSubCategory()?{licenseSubCategory:this.getLicenseSubCategory()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...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.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...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):yo(go,this,$o).call(this,this.getValue())}:{},...void 0!==this.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getLicenseCategory()&&null!==this.getLicenseCategory()?{licenseCategory:this.getLicenseCategory()}:{},...void 0!==this.getLicenseSubCategory()&&null!==this.getLicenseSubCategory()?{licenseSubCategory:this.getLicenseSubCategory()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}return"valueType"!==t||void 0!==this.valueType&&null!==this.valueType?"value"!==t||void 0!==this.value&&null!==this.value?"licenseType"!==t||void 0!==this.licenseType&&null!==this.licenseType?"licenseCategory"!==t||void 0!==this.licenseCategory&&null!==this.licenseCategory?"licenseSubCategory"!==t||void 0!==this.licenseSubCategory&&null!==this.licenseSubCategory?"scope"!==t||void 0!==this.scope&&null!==this.scope?new O(t,"no such property exists"):new O("scope","undefined or null"):new O("licenseSubCategory","undefined or null"):new O("licenseCategory","undefined or null"):new O("licenseType","undefined or null"):new O("value","undefined or null"):new O("valueType","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}vo.prototype.name=void 0,vo.prototype.valueType=void 0,vo.prototype.value=void 0,vo.prototype.licenseType=void 0,vo.prototype.licenseCategory=void 0,vo.prototype.licenseSubCategory=void 0,vo.prototype.scope=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class fo extends vo{constructor(){super(),this.$objectType="licensing.v4.config.FeatureProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fo,vo.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 O(t,"no such property exists")}}function wo(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 bo extends o{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="licensing.v4.config.ListFeaturesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new bo,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Feature":s=vo.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.FeatureProjection":s=fo.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):wo(mo,this,To).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):wo(mo,this,To).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function To(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}bo.prototype.metadata=void 0,bo.prototype.data=void 0,bo.prototype.$reserved=void 0,bo.prototype.$objectType=void 0,bo.prototype.$unknownFields=void 0;var ko=new WeakSet;class jo{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=ko),n.add(t),this.isEnabled=e,this.$objectType="licensing.v4.config.PortalSetting",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,e.hasOwnProperty("authToken")&&null!==e.authToken&&void 0!==e.authToken&&t.setAuthToken(e.authToken),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),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())}getAuthToken(){return this.authToken}setAuthToken(e){this.authToken=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getAuthToken()&&null!==this.getAuthToken()?{authToken:this.getAuthToken()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...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:{}}:{...void 0!==this.getAuthToken()&&null!==this.getAuthToken()?{authToken:this.getAuthToken()}:{},...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=["isEnabled"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("authToken"===t){if(void 0===this.authToken||null===this.authToken)return new O("authToken","undefined or null");if(!j.validateMaxLength(this.authToken,256))return new O("authToken","does not satisfy required maxLength constraint: 256")}if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new O("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?([^:\/\\s]*)((\/\\w+)*(:[0-9]+)*?\/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$/))return new O("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?([^:/\\s]*)((/\\w+)*(:[0-9]+)*?/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$/")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("isEnabled","undefined or null")}}jo.prototype.authToken=void 0,jo.prototype.endpointUrl=void 0,jo.prototype.isEnabled=void 0,jo.prototype.$reserved=void 0,jo.prototype.$objectType=void 0,jo.prototype.$unknownFields=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PC:"PC",ALL:"ALL",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.PC:case Oo.ALL:return;default:throw new Error("Invalid : must be ResetScope.{ $UNKNOWN|$REDACTED|PC|ALL }")}}};Object.freeze(Oo);const Fo=Oo,Eo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REGISTERED:"REGISTERED",UNREGISTERED:"UNREGISTERED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Eo).find(t=>Eo[t]===e);return null==t?Eo.$UNKNOWN:Eo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Eo.$UNKNOWN:case Eo.$REDACTED:case Eo.REGISTERED:case Eo.UNREGISTERED:return;default:throw new Error("Invalid : must be Status.{ $UNKNOWN|$REDACTED|REGISTERED|UNREGISTERED }")}}};Object.freeze(Eo);const Po=Eo,Do={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ULTIMATE:"ULTIMATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Do).find(t=>Do[t]===e);return null==t?Do.$UNKNOWN:Do[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Do.$UNKNOWN:case Do.$REDACTED:case Do.ULTIMATE:return;default:throw new Error("Invalid : must be TrialCategory.{ $UNKNOWN|$REDACTED|ULTIMATE }")}}};Object.freeze(Do);const Co=Do,Io={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Io).find(t=>Io[t]===e);return null==t?Io.$UNKNOWN:Io[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Io.$UNKNOWN:case Io.$REDACTED:case Io.ACTIVE:case Io.INACTIVE:return;default:throw new Error("Invalid : must be TrialStatus.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(Io);const Ao=Io,No={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NCM:"NCM",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(No).find(t=>No[t]===e);return null==t?No.$UNKNOWN:No[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case No.$UNKNOWN:case No.$REDACTED:case No.NCM:return;default:throw new Error("Invalid : must be TrialType.{ $UNKNOWN|$REDACTED|NCM }")}}};Object.freeze(No);const Uo=No;function Ro(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 So=new WeakSet;class Lo extends yt{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=So),n.add(t),this.type=e,this.$objectType="licensing.v4.config.Trial",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Lo,yt.constructFromObject(e,t,!0),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(Uo.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Co.constructFromObject(e.category)),e.hasOwnProperty("startDate")&&null!==e.startDate&&void 0!==e.startDate&&t.setStartDate(e.startDate),e.hasOwnProperty("endDate")&&null!==e.endDate&&void 0!==e.endDate&&t.setEndDate(e.endDate),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ao.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())}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getStartDate(){return this.startDate}setStartDate(e){this.startDate=e}getEndDate(){return this.endDate}setEndDate(e){this.endDate=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getStartDate()&&null!==this.getStartDate()?{startDate:Ro(So,this,xo).call(this,this.getStartDate(),!0)}:{},...void 0!==this.getEndDate()&&null!==this.getEndDate()?{endDate:Ro(So,this,xo).call(this,this.getEndDate(),!0)}:{},...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.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...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=["type"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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?"category"!==t||void 0!==this.category&&null!==this.category?"startDate"!==t||void 0!==this.startDate&&null!==this.startDate?"endDate"!==t||void 0!==this.endDate&&null!==this.endDate?"status"!==t||void 0!==this.status&&null!==this.status?new O(t,"no such property exists"):new O("status","undefined or null"):new O("endDate","undefined or null"):new O("startDate","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function xo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lo.prototype.type=void 0,Lo.prototype.category=void 0,Lo.prototype.startDate=void 0,Lo.prototype.endDate=void 0,Lo.prototype.status=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class Mo extends Lo{constructor(e){super(e),this.$objectType="licensing.v4.config.TrialProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mo,Lo.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=["type"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O(t,"no such property exists")}}const _o={ApiClient:le,LicenseKeysApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}addLicenseKey(e,t,...n){let i=n.length>0?n[0]:{};t=t||{};let s=null;if(s=e instanceof Lt&&"function"==typeof e.toJson?e.toJson():e,null==s)throw new Error("Invalid body when calling addLicenseKey");const o={...t.hasOwnProperty("$dryrun")?{$dryrun:t.$dryrun}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(e,a);const l=Wt;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys","POST",{},o,a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}assignLicenseKeys(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling assignLicenseKeys");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=qe;return this.apiClient.callApi("/api/licensing/v4.3/config/$actions/assign-license-keys","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}associateLicenseKeys(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof fn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling associateLicenseKeys");if(null==s)throw new Error("Invalid body when calling associateLicenseKeys");const o={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=it;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}/$actions/associate-license-keys","POST",o,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}deleteLicenseKeyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteLicenseKeyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=Ye;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}","DELETE",i,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getLicenseKeyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getLicenseKeyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=nn;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}","GET",i,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listLicenseKeys(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 o={...s},r=gn;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listReclaimLicenseTokens(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 o={...s},r=Xt;return this.apiClient.callApi("/api/licensing/v4.3/config/reclaim-license-tokens","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}reclaimLicenseKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof rn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling reclaimLicenseKey");if(null==s)throw new Error("Invalid body when calling reclaimLicenseKey");const o={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Ze;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}/$actions/reclaim","POST",o,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},EndUserLicenseAgreementApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}addUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof jn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling addUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=Mn;return this.apiClient.callApi("/api/licensing/v4.3/agreements/eula/$actions/add-user","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}getEula(...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=Rn;return this.apiClient.callApi("/api/licensing/v4.3/agreements/eula","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},LicensesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listAllowances(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 o={...s},r=vs;return this.apiClient.callApi("/api/licensing/v4.3/config/allowances","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listCompliances(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 o={...s},r=oo;return this.apiClient.callApi("/api/licensing/v4.3/config/compliances","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listEntitlements(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 o={...s},r=ri;return this.apiClient.callApi("/api/licensing/v4.3/config/entitlements","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listFeatures(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 o={...s},r=bo;return this.apiClient.callApi("/api/licensing/v4.3/config/features","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listLicenses(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 o={...s},r=Oi;return this.apiClient.callApi("/api/licensing/v4.3/config/licenses","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listRecommendations(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("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=Mi;return this.apiClient.callApi("/api/licensing/v4.3/config/recommendations","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listSettings(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 o={...s},r=is;return this.apiClient.callApi("/api/licensing/v4.3/config/settings","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listViolations(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 o={...s},r=As;return this.apiClient.callApi("/api/licensing/v4.3/config/violations","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}syncLicenseState(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Ls&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling syncLicenseState");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=ho;return this.apiClient.callApi("/api/licensing/v4.3/config/$actions/sync-license-state","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}},Flag:E,KVPair:U,MapOfStringWrapper:C,Message:M,MessageSeverity:L,TenantAwareModel:ht,ApiLink:J,ApiResponseMetadata:V,ExternalizableAbstractModel:yt,Acceptance:En,AddUserApiResponse:Mn,EndUser:jn,Eula:In,GetEulaApiResponse:Rn,AddLicenseKeyApiResponse:Wt,AddLicenseKeyDryRunApiResponse:_t,Allowance:us,AllowanceDetail:ls,AllowanceDetailProjection:cs,AllowanceProjection:ps,AssignLicenseKeysApiResponse:qe,AssociateLicenseKeySpec:fn,AssociateLicenseKeysApiResponse:it,AssociationType:jt,BaseClusterInfo:Kn,BaseLicenseInfo:ui,BillingPlan:zi,CapacityViolation:ws,ClusterLicenseKeyMapping:ft,ClusterLicenseKeyMappingProjection:an,ClusterType:Vn,Compliance:Zs,ComplianceProjection:no,Consumption:pi,ConsumptionProjection:fi,ConsumptionType:Gi,DeleteLicenseKeyApiResponse:Ye,DryRunCheck:lt,DryRunStatus:rt,DryRunValidationResult:ut,EnforcementActions:Ms,EnforcementLevel:Js,EnforcementPolicy:mt,Entitlement:ei,EntitlementDetail:Qn,EntitlementDetailProjection:ti,EntitlementProjection:ii,ExpiredLicense:Ts,Feature:vo,FeatureDetail:Os,FeatureProjection:fo,FeatureViolation:Es,GetLicenseKeyApiResponse:nn,License:vi,LicenseCategory:Tt,LicenseClass:Ki,LicenseKey:Lt,LicenseKeyAssignment:mn,LicenseKeyAssignmentSpec:Tn,LicenseKeyAssociation:Pt,LicenseKeyAssociationProjection:ln,LicenseKeyMapping:vt,LicenseKeyProjection:cn,LicenseKeySubCategory:Ct,LicenseProjection:bi,LicenseStateSyncSpec:Ls,LicenseType:At,ListAllowancesApiResponse:vs,ListCompliancesApiResponse:oo,ListEntitlementsApiResponse:ri,ListFeaturesApiResponse:bo,ListLicenseKeysApiResponse:gn,ListLicensesApiResponse:Oi,ListReclaimLicenseTokensApiResponse:Xt,ListRecommendationsApiResponse:Mi,ListSettingsApiResponse:is,ListViolationsApiResponse:As,LogicalVersion:Vi,Meter:Ut,OperationType:Pi,PortalSetting:jo,PostPaidCategory:Hi,PostPaidConfig:Xi,ProductName:Ws,ReclaimLicenseKeyApiResponse:Ze,ReclaimLicenseKeySpec:rn,ReclaimLicenseToken:Bt,ReclaimLicenseTokenProjection:Yt,ReclaimType:Ft,Recommendation:Si,RecommendationDetail:Ni,RecommendationScope:Ci,ResetScope:Fo,Scope:zn,Service:Qs,ServiceProjection:eo,ServiceViolation:Gs,ServiceViolationType:qs,Setting:es,Status:Po,SubCategory:Gn,SyncLicenseStateApiResponse:ho,SyncOperationType:Rs,Trial:Lo,TrialCategory:Co,TrialProjection:Mo,TrialStatus:Ao,TrialType:Uo,ValueType:rs,Violation:Ds,AppMessage:Ie,ErrorResponse:Je,SchemaValidationError:Le,SchemaValidationErrorMessage:Ue,TaskReference:lo}})(),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.Licensing=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=r,r.default=r,r.stable=u,r.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function r(e,t,n,r){var a;void 0===r&&(r=o()),l(e,"",0,[],void 0,0,r);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function a(e,t,n,o){var r=Object.getOwnPropertyDescriptor(o,n);void 0!==r.get?r.configurable?(Object.defineProperty(o,n,{value:e}),i.push([o,n,t,r])):s.push([t,n,e]):(o[n]=e,i.push([o,n,t]))}function l(e,i,s,o,r,d,u){var c;if(d+=1,"object"==typeof e&&null!==e){for(c=0;c<o.length;c++)if(o[c]===e)return void a(n,e,i,r);if(void 0!==u.depthLimit&&d>u.depthLimit)return void a(t,e,i,r);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,r);if(o.push(e),Array.isArray(e))for(c=0;c<e.length;c++)l(e[c],c,c,o,e,d,u);else{var h=Object.keys(e);for(c=0;c<h.length;c++){var p=h[c];l(e[p],p,c,o,e,d,u)}}o.pop()}}function d(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,r){void 0===r&&(r=o());var a,l=c(e,"",0,[],void 0,0,r)||e;try{a=0===s.length?JSON.stringify(l,t,n):JSON.stringify(l,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function c(e,s,o,r,l,u,h){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<r.length;p++)if(r[p]===e)return void a(n,e,s,l);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void a(t,e,s,l);if(void 0!==h.edgesLimit&&o+1>h.edgesLimit)return void a(t,e,s,l);if(r.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,r,e,u,h);else{var y={},g=Object.keys(e).sort(d);for(p=0;p<g.length;p++){var v=g[p];c(e[v],v,p,r,e,u,h),y[v]=e[v]}if(void 0===l)return y;i.push([l,s,e]),l[s]=y}r.pop()}}function h(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 o=s[i];if(o[1]===t&&o[0]===n){n=o[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 o(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 r(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]*?)$/,l=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,d={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=l.exec(i);return[n,s[1],s[2],s[3]]}function c(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 h(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}d.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var r;if(i>=0?r=arguments[i]:e?(r=process.env["="+e])&&r.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(r=e+"\\"):r=process.cwd(),!s.isString(r))throw new TypeError("Arguments to path.resolve must be strings");if(r){var a=c(r),l=a.device,d=a.isUnc,u=a.isAbsolute,p=a.tail;if((!l||!e||l.toLowerCase()===e.toLowerCase())&&(e||(e=l),n||(t=p+"\\"+t,n=u),e&&n))break}}return d&&(e=h(e)),e+(n?"\\":"")+(t=o(t.split(/[\\\/]+/),!n).join("\\"))||"."},d.normalize=function(e){var t=c(e),n=t.device,i=t.isUnc,s=t.isAbsolute,r=t.tail,a=/[\\\/]$/.test(r);return(r=o(r.split(/[\\\/]+/),!s).join("\\"))||s||(r="."),r&&a&&(r+="\\"),i&&(n=h(n)),n+(s?"\\":"")+r},d.isAbsolute=function(e){return c(e).isAbsolute},d.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,}/,"\\")),d.normalize(i)},d.relative=function(e,t){e=d.resolve(e),t=d.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=r(t.split("\\")),o=r(n.split("\\")),a=r(i.split("\\")),l=Math.min(o.length,a.length),u=l,c=0;c<l;c++)if(o[c]!==a[c]){u=c;break}if(0==u)return t;var h=[];for(c=u;c<o.length;c++)h.push("..");return(h=h.concat(s.slice(u))).join("\\")},d._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=d.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},d.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):"."},d.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},d.extname=function(e){return u(e)[3]},d.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]===d.sep?n+i:n+d.sep+i:i},d.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)}},d.sep="\\",d.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=o(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=o(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=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a<s;a++)if(n[a]!==i[a]){o=a;break}var l=[];for(a=o;a<n.length;a++)l.push("..");return(l=l.concat(i.slice(o))).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?d:y,e.exports.posix=y,e.exports.win32=d},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,o=e-s;if(0!==o){if(o<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<o+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 o=n(960),r=n(340),a=n(695),l=n(388),d=n(19),u=n(619);function c(){}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 h=t=e.exports;t.Request=w,h.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(!l(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(l(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("&"),o=0,r=s.length;o<r;++o)-1===(n=(t=s[o]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function $(e){return/[/+]json($|[^-\w])/.test(e)}function f(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,o=e.split(/\r?\n/),r={},a=0,l=o.length;a<l;++a)-1!==(t=(n=o[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),r[i]=s);return r}(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 w(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 f(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 m(e,t,n){var i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}h.serializeObject=y,h.parseString=v,h.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"},h.serialize={"application/x-www-form-urlencoded":y,"application/json":r},h.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},d(f.prototype),f.prototype._parseBody=function(e){var t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&$(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},f.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},h.Response=f,o(w.prototype),a(w.prototype),w.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},w.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},w.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")})},w.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},w.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},w.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},w.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)},w.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)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},w.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||c,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},w.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=h.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"],o=this._serializer||h.serialize[s?s.split(";")[0]:""];!o&&$(s)&&(o=h.serialize["application/json"]),o&&(n=o(n))}for(var r in this.header)null!==this.header[r]&&Object.prototype.hasOwnProperty.call(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,h.get=function(e,t,n){var i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=function(e,t,n){var i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=function(e,t,n){var i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=m,h.delete=m,h.patch=function(e,t,n){var i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=function(e,t,n){var i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=function(e,t,n){var i=h("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 o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},o.prototype.parse=function(e){return this._parser=e,this},o.prototype.responseType=function(e){return this._responseType=e,this},o.prototype.serialize=function(e){return this._serializer=e,this},o.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},o.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 r=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];o.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&&r.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},o.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()},o.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)},o.prototype.catch=function(e){return this.then(void 0,e)},o.prototype.use=function(e){return e(this),this},o.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},o.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},o.prototype.get=function(e){return this._header[e.toLowerCase()]},o.prototype.getHeader=o.prototype.get,o.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},o.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},o.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},o.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},o.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},o.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},o.prototype.redirects=function(e){return this._maxRedirects=e,this},o.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},o.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},o.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},o.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},o.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("&")}}},o.prototype._appendQueryString=function(){console.warn("Unsupported")},o.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)}},o.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(r(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,o=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=o)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}}),l=s[n];n<o;l=s[++n])y(l)||!w(l)?a+=" "+l:a+=" "+r(l);return a},t.deprecate=function(e,i){if($(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,o={};function r(e,n){var i={seen:[],stylize:l};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),$(i.showHidden)&&(i.showHidden=!1),$(i.depth)&&(i.depth=2),$(i.colors)&&(i.colors=!1),$(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),d(i,e,i.depth)}function a(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function l(e,t){return e}function d(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=d(e,s,i)),s}var o=function(e,t){if($(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(o)return o;var r=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(r);if(e.showHidden&&(r=Object.getOwnPropertyNames(n)),b(n)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return u(n);if(0===r.length){if(T(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if(f(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(m(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var w,k="",j=!1,O=["{","}"];return h(n)&&(j=!0,O=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),f(n)&&(k=" "+RegExp.prototype.toString.call(n)),m(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==r.length||j&&0!=n.length?i<0?f(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=j?function(e,t,n,i,s){for(var o=[],r=0,a=t.length;r<a;++r)F(t,String(r))?o.push(c(e,t,n,i,String(r),!0)):o.push("");return s.forEach(function(s){s.match(/^\d+$/)||o.push(c(e,t,n,i,s,!0))}),o}(e,n,i,a,r):r.map(function(t){return c(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]}(w,k,O)):O[0]+k+O[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function c(e,t,n,i,s,o){var r,a,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),F(i,s)||(r="["+s+"]"),a||(e.seen.indexOf(l.value)<0?(a=y(n)?d(e,l.value,null):d(e,l.value,n-1)).indexOf("\n")>-1&&(a=o?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")),$(r)){if(o&&s.match(/^\d+$/))return a;(r=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=e.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=e.stylize(r,"string"))}return r+": "+a}function h(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 $(e){return void 0===e}function f(e){return w(e)&&"[object RegExp]"===k(e)}function w(e){return"object"==typeof e&&null!==e}function m(e){return w(e)&&"[object Date]"===k(e)}function b(e){return w(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($(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!o[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;o[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else o[e]=function(){};return o[e]},t.inspect=r,r.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]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,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=$,t.isRegExp=f,t.isObject=w,t.isDate=m,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 O=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function F(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(),O[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(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 o=t[i]={exports:{}};return e[i](o,o.exports,n),o.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:()=>_o});var e,t=n(585),s=n.n(t);class o{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new o,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=le.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}o.prototype.linkFirst=null,o.prototype.linkPrev=null,o.prototype.linkNext=null,o.prototype.linkLast=null,o.prototype.apiClient=null,o.prototype.page=null,o.prototype.resultsPerPage=null,o.prototype.resultsTotal=null;var r=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(r)}const l=/^(?:[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 d=[],u=0;u<256;++u)d.push((u+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&l.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=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 c(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),$=n(799),f=n.n($),w=n(784),m=n.n(w),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 O{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 F=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=F),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 O("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new O("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("value","undefined or null")}}function P(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 D=new WeakSet;class C{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.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new C,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:P(D,this,I).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:P(D,this,I).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("map","undefined or null")}}function I(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")}C.prototype.map=void 0,C.prototype.$reserved=void 0,C.prototype.$objectType=void 0,C.prototype.$unknownFields=void 0;var N=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=N),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,o,r,a;if(e){if(t=t||new U,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(r=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(a){case"string":case"integer":case"number":r.push(i[o]);break;case"common.v1.config.MapOfStringWrapper":s=C.constructFromObject(i[o],void 0),r.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(r)}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):A(N,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):A(N,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 O("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new O("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("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}U.prototype.name=void 0,U.prototype.value=void 0,U.prototype.$reserved=void 0,U.prototype.$objectType=void 0,U.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 x=new WeakSet;class M{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=x),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 M,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("severity","undefined or null"):new O("locale","undefined or null"):new O("message","undefined or null"):new O("code","undefined or null")}}M.prototype.code=void 0,M.prototype.message=void 0,M.prototype.locale="en_US",M.prototype.severity=void 0,M.prototype.$reserved=void 0,M.prototype.$objectType=void 0,M.prototype.$unknownFields=void 0;var _=new WeakSet;class J{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=_),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 J,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("rel","undefined or null"):new O("href","undefined or null")}}J.prototype.href=void 0,J.prototype.rel=void 0,J.prototype.$reserved=void 0,J.prototype.$objectType=void 0,J.prototype.$unknownFields=void 0;var K,W=new WeakSet;class V{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,o,r;if(e){if(t=t||new V,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(r=[],i=e.flags,o=0;o<i.length;o++)s=E.constructFromObject(i[o],void 0),r.push(s);t.setFlags(r)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,o=0;o<i.length;o++)s=J.constructFromObject(i[o],void 0),r.push(s);t.setLinks(r)}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(r=[],i=e.messages,o=0;o<i.length;o++)s=M.constructFromObject(i[o],void 0),r.push(s);t.setMessages(r)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(r=[],i=e.extraInfo,o=0;o<i.length;o++)s=U.constructFromObject(i[o],void 0),r.push(s);t.setExtraInfo(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())}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 O("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new O("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new O("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new O("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new O("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new O("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new O("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new O("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function q(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 B(e,t){return e.get(Y(e,t))}function G(e,t,n){return e.set(Y(e,t),n),n}function Y(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")}V.prototype.flags=void 0,V.prototype.links=void 0,V.prototype.totalAvailableResults=void 0,V.prototype.messages=void 0,V.prototype.extraInfo=void 0,V.prototype.$reserved=void 0,V.prototype.$objectType=void 0,V.prototype.$unknownFields=void 0,y()(s());var H=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,oe=new WeakMap,re=new WeakMap,ae=new WeakSet;class le{constructor(){var e;z(this,e=ae),e.add(this),q(this,H,void 0),q(this,Q,void 0),q(this,X,void 0),q(this,Z,void 0),q(this,ee,void 0),q(this,te,void 0),q(this,ne,void 0),q(this,ie,void 0),q(this,se,void 0),q(this,oe,void 0),q(this,re,void 0),G(re,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",G(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={},G(ee,this,3e4),G(te,this,3e4),G(ne,this,108e5),this.readTimeout=B(te,this),this.connectTimeout=B(ee,this),this.cache=!0,G(Q,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,G(oe,this,null),this.allowVersionNegotiation=!0,G(se,this,!1),this.debug=!1,G(X,this,null),this.username=null,this.password=null,G(Z,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),G(Z,this,e)}get verifySsl(){return B(Z,this)}set host(e){G(ie,this,e),G(se,this,!1),G(oe,this,null)}get host(){return B(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=f().createWriteStream(e,{flags:"a"})),G(X,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&G(Q,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!==B(oe,this)&&null!==B(oe,this)&&null!==B(oe,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.3"!==B(oe,this)){Y(ae,this,ke).call(this,B(re,this).INFO,null,"Changing uri",e,"to negotiated version",B(oe,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,B(oe,this))}G(H,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==B(H,this)&&""!==this.host&&""!==this.port?i=B(H,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 B(oe,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===B(se,this)?this.callApiInternal("/api/licensing/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.3";if(Y(ae,this,fe).call(this,Y(ae,this,we).call(this,i),Y(ae,this,we).call(this,s)))return Y(ae,this,ke).call(this,B(re,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),G(oe,this,null),G(se,this,!1),void n(e);G(oe,this,Y(ae,this,$e).call(this,"v4.3",i)),G(se,this,!0),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Negotiated Version with server :",B(oe,this)),n(e)}else Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Could not fetch supported versions from server"),G(oe,this,null),G(se,this,!1),n(e)}).catch(t=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Could not fetch supported versions from server"),G(oe,this,null),G(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,o,r,a,l,d,u){return this.negotiateVersion(this,a).then(function(c){return c.callApiInternal(e,t,n,i,s,o,r,a,l,d,u)})}callApiInternal(e,t,i,o,r,a,l,d,u,c,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(c&&c.length>0&&c.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=Y(ae,this,Ee).call(this,y,t,o,r,l,d,u,c);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";Y(ae,this,ke).call(this,B(re,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),o=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(o)));return o()}).catch(e=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Caught the following error :",e),n(e)})});var $=s()(t,y);if($.oldCallback=$.callback,$.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)},Y(ae,this,pe).call(this,$,d),"GET"===t.toUpperCase()&&!1===this.cache&&(o._=(new Date).getTime()),$.query(Y(ae,this,he).call(this,o)),$.set(this.defaultHeaders).set(Y(ae,this,he).call(this,r)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==r["NTNX-Request-Id"]&&void 0!==r["NTNX-Request-Id"])){let e=h();$.set(Y(ae,this,he).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",$.set(Y(ae,this,he).call(this,{"User-Agent":"Nutanix-licensing-js-client/4.3.2"}))),this.requestAgent&&$.agent(this.requestAgent);var w={};w.response=Y(ae,this,me).call(this,this.connectTimeout,B(ee,this)),w.deadline=Y(ae,this,me).call(this,this.readTimeout,B(te,this)),$.timeout(w);var m=r.hasOwnProperty("Content-Type")?r["Content-Type"]:Y(ae,this,ue).call(this,u);if(m?"multipart/form-data"!=m&&$.type(m):$.header["Content-Type"]||$.type("application/json"),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Request URL :",t,y),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Request Headers :",void 0===$.header?"":$.header),"application/x-www-form-urlencoded"===m)$.send(Y(ae,this,he).call(this,a));else if("multipart/form-data"==m){var b=Y(ae,this,he).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(Y(ae,this,ce).call(this,b[T])?$.attach(T,b[T]):$.field(T,b[T]))}else{if("application/octet-stream"===m&&null!=l&&"function"==typeof l.pipe){if(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Piping octet-stream request"),"function"==typeof l.pipe)l.pipe($);else{let e;try{e=n(965)}catch(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Error fetching steam/web")}l instanceof e.ReadableStream?l.pipeTo(new e.WritableStream({write(e){$.write(e)},close(){Y(ae,this,ke).call(this,B(re,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"READABLE STREAM ABORTED")}})):$.send(l)}return new Promise((t,n)=>{$.on("error",e=>{Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{Y(ae,this,Fe).call(this,i,e,o,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&l&&$.send(l)}"Blob"==typeof p?$.responseType("blob"):"String"===p&&$.responseType("string"),Y(ae,this,Te).call(this,$),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Request Body :",void 0===$._data?"":$._data);var k=r.hasOwnProperty("Accept")&&null!=r.Accept?r.Accept:c.join(", ");return k&&$.accept(k),new Promise((n,i)=>{$.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught the following error :",e)}).end((r,a)=>{if(r)Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught error during the request!"),Y(ae,this,ke).call(this,B(re,this).ERROR,null,r),404===r.status&&(G(se,this,!1),G(oe,this,null)),null!==r.response&&void 0!==r.response?r.data=Y(ae,this,ge).call(this,r.response,p):r.data=Y(ae,this,ye).call(this,r),i(r);else{Y(ae,this,ke).call(this,B(re,this).INFO,null,"Response Status :",a.status),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Response Headers :",a.headers);let r="";if(a.headers.hasOwnProperty("content-type")&&(r=a.headers["content-type"]),v.includes(r)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=f().createWriteStream(e);Y(ae,this,Pe).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",o=this;Y(ae,this,ke).call(this,B(re,this).INFO,null,"Redirecting to :",a.headers.location);var l=s()(t,a.headers.location);l.set($.header),a.headers.hasOwnProperty("x-redirect-token")&&(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Writing X-Redirect-Token into Cookie"),l.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&l.agent(this.requestAgent),l.redirects(0),l.withCredentials(this.withCredentials),l.buffer(!1);let r=f().createWriteStream(e);l.pipe(r),l.on("response",function(t){Y(ae,o,ke).call(o,B(re,o).INFO,null,"Received response after redirection :",t.status),Y(ae,o,Pe).call(o,t,r,e,n,i,p)})}else Y(ae,this,Fe).call(this,a,e,o,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 le.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=>le.convertToType(e,n))}if("object"==typeof t){var i,s;for(var o in t)if(t.hasOwnProperty(o)){i=o,s=t[o];break}var r={};for(var o in e)if(e.hasOwnProperty(o)){var a=le.convertToType(o,i),l=le.convertToType(e[o],s);r[a]=l}return r}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=le.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=le.convertToType(e[s],n))}}function de(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(Y(ae,this,de).call(this,e[t]))return e[t];return e[0]}function ce(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 he(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];Y(ae,this,ce).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||""),Y(ae,this,ke).call(this,B(re,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)}Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,ke).call(this,B(re,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],o=new V;return o.flags=s,n.metadata=o,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 o))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 $e(e,t){if(!e||!t)return e;let n=Y(ae,this,we).call(this,e),i=Y(ae,this,we).call(this,t);return!n.family===i.family||Y(ae,this,fe).call(this,n,i)?e:t}function fe(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)),o="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<o:"a"===n||"released"===t.versionType}function we(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 me(e,t){return e<=0?e=t:e>B(ne,this)&&(e=B(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))}G(Q,this,t),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Retained cookie :",t)}else G(Q,this,null)}function Te(e){null!=B(Q,this)&&e.set(Y(ae,this,he).call(this,{Cookie:B(Q,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=B(re,this).INFO),!Y(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!==B(X,this)&&null!==B(X,this)&&"function"==typeof B(X,this).log?B(X,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===B(re,this).DEBUG}function Oe(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 Fe(e,t,n,i,s,o){try{var r=Y(ae,this,ge).call(this,e,i);Y(ae,this,ke).call(this,B(re,this).INFO,null,"Response Status :",e.status),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Response Headers :",e.headers),Y(ae,this,be).call(this,e||{}),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Response Body :",r),204==e.status&&null==r?s({data:r,response:e}):e.ok&&null!=r?(this.addEtagToReservedMap(e,r),Y(ae,this,ve).call(this,r,t,n),s({data:r,response:e})):(Y(ae,this,ke).call(this,B(re,this).ERROR,null,r),o({...e.error,data:r}))}catch(e){Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Caught error while processing response!"),Y(ae,this,ke).call(this,B(re,this).ERROR,null,e),e.data=Y(ae,this,ye).call(this,e),o(e)}}function Ee(e,t,n,i,s,o,r,a){let l={};o.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}`);l.Authorization=`Basic ${t}`}Y(ae,this,ke).call(this,B(re,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?l[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(l.Authorization="Bearer "+t.accessToken),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,ke).call(this,B(re,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 d=Y(ae,this,he).call(this,n),u=Object.keys(d).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d[e])}`).join("&");let c=e;u&&(c+=(c.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...Y(ae,this,he).call(this,i),...l};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=h();p["NTNX-Request-Id"]=e}null!=B(Q,this)&&(p.Cookie=Y(ae,this,he).call(this,{Cookie:B(Q,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:Y(ae,this,ue).call(this,r);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),Y(ae,this,ke).call(this,B(re,this).INFO,null,"Request URL :",t,e),Y(ae,this,ke).call(this,B(re,this).DEBUG,Y(ae,this,Oe),"Request Headers :",p),Y(ae,this,ke).call(this,B(re,this).DEBUG,null,"Request Body :",s||""),{url:c,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Pe(e,t,n,i,s,o){Y(ae,this,ke).call(this,B(re,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Issue while downloading file",e)}let r=new o,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=m().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,r.data={path:m().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],o=new V;o.flags=s,r.metadata=o}e.on("end",()=>{Y(ae,this,ke).call(this,B(re,this).INFO,null,"Finished streaming response"),0!==a.length?(Y(ae,this,ke).call(this,B(re,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),f().renameSync(n,a),i({data:r,response:e})):(Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:r,response:e}))}),e.on("error",e=>{Y(ae,this,ke).call(this,B(re,this).ERROR,null,"Caught the following error :",e),error.data=Y(ae,this,ye).call(this,error),s(e)})}function De(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=le,le.instance=new le;var Ce=new WeakSet;class Ie{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=Ce),t.add(e),this.$objectType="licensing.v4.error.AppMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ie,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:De(Ce,this,Ae).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:De(Ce,this,Ae).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("argumentsMap","undefined or null"):new O("errorGroup","undefined or null"):new O("locale","undefined or null"):new O("code","undefined or null"):new O("severity","undefined or null"):new O("message","undefined or null")}}function Ae(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}Ie.prototype.message=void 0,Ie.prototype.severity=void 0,Ie.prototype.code=void 0,Ie.prototype.locale="en_US",Ie.prototype.errorGroup=void 0,Ie.prototype.argumentsMap=void 0,Ie.prototype.$reserved=void 0,Ie.prototype.$objectType=void 0,Ie.prototype.$unknownFields=void 0;var Ne=new WeakSet;class Ue{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=Ne),t.add(e),this.$objectType="licensing.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ue,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("attributePath","undefined or null"):new O("message","undefined or null"):new O("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")}Ue.prototype.location=void 0,Ue.prototype.message=void 0,Ue.prototype.attributePath=void 0,Ue.prototype.$reserved=void 0,Ue.prototype.$objectType=void 0,Ue.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="licensing.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;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(r=[],i=e.validationErrorMessages,o=0;o<i.length;o++)s=Ue.constructFromObject(i[o],void 0),r.push(s);t.setValidationErrorMessages(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())}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,xe).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("validationErrorMessages","undefined or null"):new O("path","undefined or null"):new O("error","undefined or null"):new O("statusCode","undefined or null"):new O("timestamp","undefined or null")}}function xe(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Me(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 _e=new WeakSet;class Je{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=_e),t.add(e),this.$objectType="licensing.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r,a;if(e){if(t=t||new Je,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(r=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("licensing.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ie.constructFromObject(i[o],void 0),r.push(s)}t.setError(r)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"licensing.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):Me(_e,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):Me(_e,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("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")}Je.prototype.error=void 0,Je.prototype.$reserved=void 0,Je.prototype.$objectType=void 0,Je.prototype.$unknownFields=void 0;var Ve=new WeakSet;class qe extends o{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=Ve),t.add(e),this.$objectType="licensing.v4.config.AssignLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new qe,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):We(Ve,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(Ve,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}function Be(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")}qe.prototype.metadata=void 0,qe.prototype.data=void 0,qe.prototype.$reserved=void 0,qe.prototype.$objectType=void 0,qe.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ye extends o{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=Ge),t.add(e),this.$objectType="licensing.v4.config.DeleteLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ye,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.error.ErrorResponse":t.setData(Je.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):Be(Ge,this,He).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):Be(Ge,this,He).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function He(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 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")}Ye.prototype.metadata=void 0,Ye.prototype.data=void 0,Ye.prototype.$reserved=void 0,Ye.prototype.$objectType=void 0,Ye.prototype.$unknownFields=void 0;var Xe=new WeakSet;class Ze extends o{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=Xe),t.add(e),this.$objectType="licensing.v4.config.ReclaimLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Ze,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Qe(Xe,this,et).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):Qe(Xe,this,et).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function et(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 tt(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.metadata=void 0,Ze.prototype.data=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var nt=new WeakSet;class it extends o{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=nt),t.add(e),this.$objectType="licensing.v4.config.AssociateLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new it,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):tt(nt,this,st).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):tt(nt,this,st).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function st(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}it.prototype.metadata=void 0,it.prototype.data=void 0,it.prototype.$reserved=void 0,it.prototype.$objectType=void 0,it.prototype.$unknownFields=void 0;const ot={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUCCESS:"SUCCESS",FAILURE:"FAILURE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ot).find(t=>ot[t]===e);return null==t?ot.$UNKNOWN:ot[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ot.$UNKNOWN:case ot.$REDACTED:case ot.SUCCESS:case ot.FAILURE:return;default:throw new Error("Invalid : must be DryRunStatus.{ $UNKNOWN|$REDACTED|SUCCESS|FAILURE }")}}};Object.freeze(ot);const rt=ot;var at=new WeakSet;class lt extends o{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=at),t.add(e),this.$objectType="licensing.v4.config.DryRunCheck",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("result")&&null!==e.result&&void 0!==e.result&&t.setResult(Ie.constructFromObject(e.result)),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}getResult(){return this.result}setResult(e){this.result=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.getResult()&&null!==this.getResult()?{result:this.getResult().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 O("name","undefined or null");if(!j.validateMaxLength(this.name,256))return new O("name","does not satisfy required maxLength constraint: 256")}return"result"!==t||void 0!==this.result&&null!==this.result?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("result","undefined or null")}}lt.prototype.name=void 0,lt.prototype.result=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var dt=new WeakSet;class ut extends o{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="licensing.v4.config.DryRunValidationResult",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a;if(e){if(t=t||new ut,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("checks")&&null!==e.checks&&void 0!==e.checks){for(a=[],i=e.checks,r=0;r<i.length;r++)s=lt.constructFromObject(i[r],void 0),a.push(s);t.setChecks(a)}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())}getChecks(){return this.checks}setChecks(e){this.checks=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getChecks()&&null!==this.getChecks()?{checks:this.getChecks().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"checks"!==t||void 0!==this.checks&&null!==this.checks?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("checks","undefined or null")}}ut.prototype.checks=void 0,ut.prototype.$reserved=void 0,ut.prototype.$objectType=void 0,ut.prototype.$unknownFields=void 0;var ct=new WeakSet;class ht{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=ct),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 ht,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 O("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 O("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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}ht.prototype.tenantId=void 0,ht.prototype.$reserved=void 0,ht.prototype.$objectType=void 0,ht.prototype.$unknownFields=void 0;var pt=new WeakSet;class yt extends ht{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=pt),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,o,r;if(e){if(t=t||new yt,ht.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(r=[],i=e.links,o=0;o<i.length;o++)s=J.constructFromObject(i[o],void 0),r.push(s);t.setLinks(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())}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 O("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 O("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 O("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 O("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new O("links","does not satisfy required maxItems constraint: 20")}return new O(t,"no such property exists")}}yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=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="licensing.v4.config.LicenseKeyMapping",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vt,e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("quantityUsed")&&null!==e.quantityUsed&&void 0!==e.quantityUsed&&t.setQuantityUsed(e.quantityUsed),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())}getKey(){return this.key}setKey(e){this.key=e}getQuantityUsed(){return this.quantityUsed}setQuantityUsed(e){this.quantityUsed=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}return"quantityUsed"!==t||void 0!==this.quantityUsed&&null!==this.quantityUsed?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("quantityUsed","undefined or null")}}vt.prototype.key=void 0,vt.prototype.quantityUsed=void 0,vt.prototype.$reserved=void 0,vt.prototype.$objectType=void 0,vt.prototype.$unknownFields=void 0;var $t=new WeakSet;class ft extends vt{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=$t),t.add(e),this.$objectType="licensing.v4.config.ClusterLicenseKeyMapping",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ft,vt.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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 O(t,"no such property exists")}}ft.prototype.clusterExtId=void 0,vt.prototype.key=void 0,vt.prototype.quantityUsed=void 0;const wt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALL:"ALL",NONE:"NONE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wt).find(t=>wt[t]===e);return null==t?wt.$UNKNOWN:wt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wt.$UNKNOWN:case wt.$REDACTED:case wt.ALL:case wt.NONE:return;default:throw new Error("Invalid : must be EnforcementPolicy.{ $UNKNOWN|$REDACTED|ALL|NONE }")}}};Object.freeze(wt);const mt=wt,bt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",STARTER:"STARTER",PRO:"PRO",ULTIMATE:"ULTIMATE",CALM:"CALM",STANDARD:"STANDARD",AOS_MINE:"AOS_MINE",SOFTWARE_ENCRYPTION:"SOFTWARE_ENCRYPTION",ADV_REPLICATION:"ADV_REPLICATION",OBJECT:"OBJECT",ULTIMATE_TRIAL:"ULTIMATE_TRIAL",PRISM_STARTER:"PRISM_STARTER",PRO_SPECIAL:"PRO_SPECIAL",ADR:"ADR",SECURITY:"SECURITY",NKS:"NKS",APPAUTOMATION:"APPAUTOMATION",NDA:"NDA",UST:"UST",ANALYTICS:"ANALYTICS",STANDALONE:"STANDALONE",DRASS:"DRASS",CLOUD_NATIVE:"CLOUD_NATIVE",DATA_ENCRYPTION:"DATA_ENCRYPTION",NDS:"NDS",NDB:"NDB",NO_LICENSE:"NO_LICENSE",NUS_ENCRYPTION:"NUS_ENCRYPTION",NUS_REPLICATION:"NUS_REPLICATION",CLOUD_PRO:"CLOUD_PRO",CLOUD_ULTIMATE:"CLOUD_ULTIMATE",CLOUD:"CLOUD",PUBLIC_CLOUD:"PUBLIC_CLOUD",ADVANCED_REPLICATION:"ADVANCED_REPLICATION",NDK:"NDK",RET_1Y:"RET_1Y",RET_3Y:"RET_3Y",RET_5Y:"RET_5Y",RET_7Y:"RET_7Y",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(bt).find(t=>bt[t]===e);return null==t?bt.$UNKNOWN:bt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case bt.$UNKNOWN:case bt.$REDACTED:case bt.STARTER:case bt.PRO:case bt.ULTIMATE:case bt.CALM:case bt.STANDARD:case bt.AOS_MINE:case bt.SOFTWARE_ENCRYPTION:case bt.ADV_REPLICATION:case bt.OBJECT:case bt.ULTIMATE_TRIAL:case bt.PRISM_STARTER:case bt.PRO_SPECIAL:case bt.ADR:case bt.SECURITY:case bt.NKS:case bt.APPAUTOMATION:case bt.NDA:case bt.UST:case bt.ANALYTICS:case bt.STANDALONE:case bt.DRASS:case bt.CLOUD_NATIVE:case bt.DATA_ENCRYPTION:case bt.NDS:case bt.NDB:case bt.NO_LICENSE:case bt.NUS_ENCRYPTION:case bt.NUS_REPLICATION:case bt.CLOUD_PRO:case bt.CLOUD_ULTIMATE:case bt.CLOUD:case bt.PUBLIC_CLOUD:case bt.ADVANCED_REPLICATION:case bt.NDK:case bt.RET_1Y:case bt.RET_3Y:case bt.RET_5Y:case bt.RET_7Y:return;default:throw new Error("Invalid : must be LicenseCategory.{ $UNKNOWN|$REDACTED|STARTER|PRO|ULTIMATE|CALM|STANDARD|AOS_MINE|SOFTWARE_ENCRYPTION|ADV_REPLICATION|OBJECT|ULTIMATE_TRIAL|PRISM_STARTER|PRO_SPECIAL|ADR|SECURITY|NKS|APPAUTOMATION|NDA|UST|ANALYTICS|STANDALONE|DRASS|CLOUD_NATIVE|DATA_ENCRYPTION|NDS|NDB|NO_LICENSE|NUS_ENCRYPTION|NUS_REPLICATION|CLOUD_PRO|CLOUD_ULTIMATE|CLOUD|PUBLIC_CLOUD|ADVANCED_REPLICATION|NDK|RET_1Y|RET_3Y|RET_5Y|RET_7Y }")}}};Object.freeze(bt);const Tt=bt,kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FREE_KEYS:"FREE_KEYS",CHILD_KEYS:"CHILD_KEYS",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.FREE_KEYS:case kt.CHILD_KEYS:return;default:throw new Error("Invalid : must be AssociationType.{ $UNKNOWN|$REDACTED|FREE_KEYS|CHILD_KEYS }")}}};Object.freeze(kt);const jt=kt,Ot={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_QUANTITY:"FULL_QUANTITY",PARTIAL_QUANTITY:"PARTIAL_QUANTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ot).find(t=>Ot[t]===e);return null==t?Ot.$UNKNOWN:Ot[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ot.$UNKNOWN:case Ot.$REDACTED:case Ot.FULL_QUANTITY:case Ot.PARTIAL_QUANTITY:return;default:throw new Error("Invalid : must be ReclaimType.{ $UNKNOWN|$REDACTED|FULL_QUANTITY|PARTIAL_QUANTITY }")}}};Object.freeze(Ot);const Ft=Ot;var Et=new WeakSet;class Pt{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=Et),s.add(i),this.associatedKey=e,this.associationType=t,this.reclaimType=n,this.$objectType="licensing.v4.config.LicenseKeyAssociation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pt,e.hasOwnProperty("baseKey")&&null!==e.baseKey&&void 0!==e.baseKey&&t.setBaseKey(e.baseKey),e.hasOwnProperty("associatedKey")&&null!==e.associatedKey&&void 0!==e.associatedKey&&t.setAssociatedKey(e.associatedKey),e.hasOwnProperty("associationType")&&null!==e.associationType&&void 0!==e.associationType&&t.setAssociationType(jt.constructFromObject(e.associationType)),e.hasOwnProperty("reclaimType")&&null!==e.reclaimType&&void 0!==e.reclaimType&&t.setReclaimType(Ft.constructFromObject(e.reclaimType)),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())}getBaseKey(){return this.baseKey}setBaseKey(e){this.baseKey=e}getAssociatedKey(){return this.associatedKey}setAssociatedKey(e){this.associatedKey=e}getAssociationType(){return this.associationType}setAssociationType(e){this.associationType=e}getReclaimType(){return this.reclaimType}setReclaimType(e){this.reclaimType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getBaseKey()&&null!==this.getBaseKey()?{baseKey:this.getBaseKey()}:{},...void 0!==this.getAssociatedKey()&&null!==this.getAssociatedKey()?{associatedKey:this.getAssociatedKey()}:{},...void 0!==this.getAssociationType()&&null!==this.getAssociationType()?{associationType:this.getAssociationType()}:{},...void 0!==this.getReclaimType()&&null!==this.getReclaimType()?{reclaimType:this.getReclaimType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAssociatedKey()&&null!==this.getAssociatedKey()?{associatedKey:this.getAssociatedKey()}:{},...void 0!==this.getAssociationType()&&null!==this.getAssociationType()?{associationType:this.getAssociationType()}:{},...void 0!==this.getReclaimType()&&null!==this.getReclaimType()?{reclaimType:this.getReclaimType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["associatedKey","associationType","reclaimType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("baseKey"===t){if(void 0===this.baseKey||null===this.baseKey)return new O("baseKey","undefined or null");if(!j.validateMaxLength(this.baseKey,100))return new O("baseKey","does not satisfy required maxLength constraint: 100")}if("associatedKey"===t){if(void 0===this.associatedKey||null===this.associatedKey)return new O("associatedKey","undefined or null");if(!j.validateMaxLength(this.associatedKey,100))return new O("associatedKey","does not satisfy required maxLength constraint: 100")}return"associationType"!==t||void 0!==this.associationType&&null!==this.associationType?"reclaimType"!==t||void 0!==this.reclaimType&&null!==this.reclaimType?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("reclaimType","undefined or null"):new O("associationType","undefined or null")}}Pt.prototype.baseKey=void 0,Pt.prototype.associatedKey=void 0,Pt.prototype.associationType=void 0,Pt.prototype.reclaimType=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;const Dt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",ADDON:"ADDON",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Dt).find(t=>Dt[t]===e);return null==t?Dt.$UNKNOWN:Dt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Dt.$UNKNOWN:case Dt.$REDACTED:case Dt.PRIMARY:case Dt.ADDON:return;default:throw new Error("Invalid : must be LicenseKeySubCategory.{ $UNKNOWN|$REDACTED|PRIMARY|ADDON }")}}};Object.freeze(Dt);const Ct=Dt,It={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM:"PRISM",CALM:"CALM",FLOW:"FLOW",OBJECT:"OBJECT",AOS:"AOS",FILE:"FILE",VDI:"VDI",ROBO:"ROBO",MINE:"MINE",NCI:"NCI",NCM:"NCM",NCI_D:"NCI_D",NDA_PLATFORM:"NDA_PLATFORM",UNIFIED_STORAGE:"UNIFIED_STORAGE",EUC:"EUC",OBJECTS:"OBJECTS",ERA:"ERA",DRS:"DRS",NDS:"NDS",NDA:"NDA",NDS_PLATFORM:"NDS_PLATFORM",NDB_PLATFORM:"NDB_PLATFORM",NUS:"NUS",NDB:"NDB",NCM_CLOUD:"NCM_CLOUD",EDGE:"EDGE",NO_LICENSE:"NO_LICENSE",NCM_EDGE:"NCM_EDGE",NCM_EUC:"NCM_EUC",NCI_C:"NCI_C",NKP:"NKP",NKPFS:"NKPFS",NAI:"NAI",NAI_GPT:"NAI_GPT",NDL:"NDL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(It).find(t=>It[t]===e);return null==t?It.$UNKNOWN:It[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case It.$UNKNOWN:case It.$REDACTED:case It.PRISM:case It.CALM:case It.FLOW:case It.OBJECT:case It.AOS:case It.FILE:case It.VDI:case It.ROBO:case It.MINE:case It.NCI:case It.NCM:case It.NCI_D:case It.NDA_PLATFORM:case It.UNIFIED_STORAGE:case It.EUC:case It.OBJECTS:case It.ERA:case It.DRS:case It.NDS:case It.NDA:case It.NDS_PLATFORM:case It.NDB_PLATFORM:case It.NUS:case It.NDB:case It.NCM_CLOUD:case It.EDGE:case It.NO_LICENSE:case It.NCM_EDGE:case It.NCM_EUC:case It.NCI_C:case It.NKP:case It.NKPFS:case It.NAI:case It.NAI_GPT:case It.NDL:return;default:throw new Error("Invalid : must be LicenseType.{ $UNKNOWN|$REDACTED|PRISM|CALM|FLOW|OBJECT|AOS|FILE|VDI|ROBO|MINE|NCI|NCM|NCI_D|NDA_PLATFORM|UNIFIED_STORAGE|EUC|OBJECTS|ERA|DRS|NDS|NDA|NDS_PLATFORM|NDB_PLATFORM|NUS|NDB|NCM_CLOUD|EDGE|NO_LICENSE|NCM_EDGE|NCM_EUC|NCI_C|NKP|NKPFS|NAI|NAI_GPT|NDL }")}}};Object.freeze(It);const At=It,Nt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CORES:"CORES",NODE:"NODE",TIB:"TIB",FLASH:"FLASH",USERS:"USERS",VI:"VI",VM_PACKS:"VM_PACKS",VM:"VM",VCPU:"VCPU",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Nt).find(t=>Nt[t]===e);return null==t?Nt.$UNKNOWN:Nt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Nt.$UNKNOWN:case Nt.$REDACTED:case Nt.CORES:case Nt.NODE:case Nt.TIB:case Nt.FLASH:case Nt.USERS:case Nt.VI:case Nt.VM_PACKS:case Nt.VM:case Nt.VCPU:return;default:throw new Error("Invalid : must be Meter.{ $UNKNOWN|$REDACTED|CORES|NODE|TIB|FLASH|USERS|VI|VM_PACKS|VM|VCPU }")}}};Object.freeze(Nt);const Ut=Nt;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")}var St=new WeakSet;class Lt extends yt{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="licensing.v4.config.LicenseKey",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Lt,yt.constructFromObject(e,t,!0),e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("validationDetail")&&null!==e.validationDetail&&void 0!==e.validationDetail&&t.setValidationDetail(e.validationDetail),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Ct.constructFromObject(e.subCategory)),e.hasOwnProperty("entitlementExpiryDate")&&null!==e.entitlementExpiryDate&&void 0!==e.entitlementExpiryDate&&t.setEntitlementExpiryDate(e.entitlementExpiryDate),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("groupId")&&null!==e.groupId&&void 0!==e.groupId&&t.setGroupId(e.groupId),e.hasOwnProperty("enforcementPolicy")&&null!==e.enforcementPolicy&&void 0!==e.enforcementPolicy&&t.setEnforcementPolicy(mt.constructFromObject(e.enforcementPolicy)),e.hasOwnProperty("assignmentDetails")&&null!==e.assignmentDetails&&void 0!==e.assignmentDetails){for(r=[],i=e.assignmentDetails,o=0;o<i.length;o++)s=ft.constructFromObject(i[o],void 0),r.push(s);t.setAssignmentDetails(r)}if(e.hasOwnProperty("associationDetails")&&null!==e.associationDetails&&void 0!==e.associationDetails){for(r=[],i=e.associationDetails,o=0;o<i.length;o++)s=Pt.constructFromObject(i[o],void 0),r.push(s);t.setAssociationDetails(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())}getKey(){return this.key}setKey(e){this.key=e}getValidationDetail(){return this.validationDetail}setValidationDetail(e){this.validationDetail=e}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getEntitlementExpiryDate(){return this.entitlementExpiryDate}setEntitlementExpiryDate(e){this.entitlementExpiryDate=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getGroupId(){return this.groupId}setGroupId(e){this.groupId=e}getEnforcementPolicy(){return this.enforcementPolicy}setEnforcementPolicy(e){this.enforcementPolicy=e}getAssignmentDetails(){return this.assignmentDetails}setAssignmentDetails(e){this.assignmentDetails=e}getAssociationDetails(){return this.associationDetails}setAssociationDetails(e){this.associationDetails=e}toJson(e){return!1===e?{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getEntitlementExpiryDate()&&null!==this.getEntitlementExpiryDate()?{entitlementExpiryDate:Rt(St,this,xt).call(this,this.getEntitlementExpiryDate(),!0)}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getGroupId()&&null!==this.getGroupId()?{groupId:this.getGroupId()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getAssignmentDetails()&&null!==this.getAssignmentDetails()?{assignmentDetails:this.getAssignmentDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getAssociationDetails()&&null!==this.getAssociationDetails()?{associationDetails:this.getAssociationDetails().map(e=>e.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.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}if("validationDetail"===t){if(void 0===this.validationDetail||null===this.validationDetail)return new O("validationDetail","undefined or null");if(!j.validateMaxLength(this.validationDetail,100))return new O("validationDetail","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("category"===t&&(void 0===this.category||null===this.category))return new O("category","undefined or null");if("subCategory"===t&&(void 0===this.subCategory||null===this.subCategory))return new O("subCategory","undefined or null");if("entitlementExpiryDate"===t&&(void 0===this.entitlementExpiryDate||null===this.entitlementExpiryDate))return new O("entitlementExpiryDate","undefined or null");if("meter"===t&&(void 0===this.meter||null===this.meter))return new O("meter","undefined or null");if("quantity"===t&&(void 0===this.quantity||null===this.quantity))return new O("quantity","undefined or null");if("groupId"===t){if(void 0===this.groupId||null===this.groupId)return new O("groupId","undefined or null");if(!j.validateMaxLength(this.groupId,10))return new O("groupId","does not satisfy required maxLength constraint: 10")}if("enforcementPolicy"===t&&(void 0===this.enforcementPolicy||null===this.enforcementPolicy))return new O("enforcementPolicy","undefined or null");if("assignmentDetails"===t){if(void 0===this.assignmentDetails||null===this.assignmentDetails)return new O("assignmentDetails","undefined or null");if(!j.validateMaxItems(this.assignmentDetails,100))return new O("assignmentDetails","does not satisfy required maxItems constraint: 100")}if("associationDetails"===t){if(void 0===this.associationDetails||null===this.associationDetails)return new O("associationDetails","undefined or null");if(!j.validateMaxItems(this.associationDetails,10))return new O("associationDetails","does not satisfy required maxItems constraint: 10")}return new O(t,"no such property exists")}}function xt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lt.prototype.key=void 0,Lt.prototype.validationDetail=void 0,Lt.prototype.type=void 0,Lt.prototype.category=void 0,Lt.prototype.subCategory=void 0,Lt.prototype.entitlementExpiryDate=void 0,Lt.prototype.meter=void 0,Lt.prototype.quantity=void 0,Lt.prototype.groupId=void 0,Lt.prototype.enforcementPolicy=void 0,Lt.prototype.assignmentDetails=void 0,Lt.prototype.associationDetails=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Mt=new WeakSet;class _t extends o{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=Mt),t.add(e),this.$objectType="licensing.v4.config.AddLicenseKeyDryRunApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _t,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("validationResult")&&null!==e.validationResult&&void 0!==e.validationResult&&t.setValidationResult(ut.constructFromObject(e.validationResult)),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(rt.constructFromObject(e.status)),e.hasOwnProperty("summary")&&null!==e.summary&&void 0!==e.summary&&t.setSummary(Lt.constructFromObject(e.summary)),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())}getValidationResult(){return this.validationResult}setValidationResult(e){this.validationResult=e}getStatus(){return this.status}setStatus(e){this.status=e}getSummary(){return this.summary}setSummary(e){this.summary=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValidationResult()&&null!==this.getValidationResult()?{validationResult:this.getValidationResult().toJson(!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getSummary()&&null!==this.getSummary()?{summary:this.getSummary().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"validationResult"!==t||void 0!==this.validationResult&&null!==this.validationResult?"status"!==t||void 0!==this.status&&null!==this.status?"summary"!==t||void 0!==this.summary&&null!==this.summary?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("summary","undefined or null"):new O("status","undefined or null"):new O("validationResult","undefined or null")}}function Jt(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")}_t.prototype.validationResult=void 0,_t.prototype.status=void 0,_t.prototype.summary=void 0,_t.prototype.$reserved=void 0,_t.prototype.$objectType=void 0,_t.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends o{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="licensing.v4.config.AddLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.config.LicenseKey":t.setData(Lt.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.constructFromObject(e.data,void 0));break;case"licensing.v4.config.AddLicenseKeyDryRunApiResponse":t.setData(_t.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):Jt(Kt,this,Vt).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):Jt(Kt,this,Vt).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Vt(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 qt(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")}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 zt=new WeakSet;class Bt extends yt{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="licensing.v4.config.ReclaimLicenseToken",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bt,yt.constructFromObject(e,t,!0),e.hasOwnProperty("key")&&null!==e.key&&void 0!==e.key&&t.setKey(e.key),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("reclaimToken")&&null!==e.reclaimToken&&void 0!==e.reclaimToken&&t.setReclaimToken(e.reclaimToken),e.hasOwnProperty("reclaimDate")&&null!==e.reclaimDate&&void 0!==e.reclaimDate&&t.setReclaimDate(e.reclaimDate),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getKey(){return this.key}setKey(e){this.key=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getReclaimToken(){return this.reclaimToken}setReclaimToken(e){this.reclaimToken=e}getReclaimDate(){return this.reclaimDate}setReclaimDate(e){this.reclaimDate=e}toJson(e){return!1===e?{...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getReclaimToken()&&null!==this.getReclaimToken()?{reclaimToken:this.getReclaimToken()}:{},...void 0!==this.getReclaimDate()&&null!==this.getReclaimDate()?{reclaimDate:qt(zt,this,Gt).call(this,this.getReclaimDate(),!0)}:{},...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("key"===t){if(void 0===this.key||null===this.key)return new O("key","undefined or null");if(!j.validateMaxLength(this.key,100))return new O("key","does not satisfy required maxLength constraint: 100")}if("quantity"===t){if(void 0===this.quantity||null===this.quantity)return new O("quantity","undefined or null");if(!j.validateMaximum(this.quantity,16384))return new O("quantity","does not satisfy required maximum constraint: 16384");if(!j.validateMinimum(this.quantity,1))return new O("quantity","does not satisfy required minimum constraint: 1")}if("reclaimToken"===t){if(void 0===this.reclaimToken||null===this.reclaimToken)return new O("reclaimToken","undefined or null");if(!j.validateMaxLength(this.reclaimToken,100))return new O("reclaimToken","does not satisfy required maxLength constraint: 100")}return"reclaimDate"!==t||void 0!==this.reclaimDate&&null!==this.reclaimDate?new O(t,"no such property exists"):new O("reclaimDate","undefined or null")}}function Gt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bt.prototype.key=void 0,Bt.prototype.quantity=void 0,Bt.prototype.reclaimToken=void 0,Bt.prototype.reclaimDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class Yt extends Bt{constructor(){super(),this.$objectType="licensing.v4.config.ReclaimLicenseTokenProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yt,Bt.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 O(t,"no such property exists")}}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")}var Qt=new WeakSet;class Xt extends o{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=Qt),t.add(e),this.$objectType="licensing.v4.config.ListReclaimLicenseTokensApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Xt,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.ReclaimLicenseToken":s=Bt.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.ReclaimLicenseTokenProjection":s=Yt.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Ht(Qt,this,Zt).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(Qt,this,Zt).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Zt(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 en(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.metadata=void 0,Xt.prototype.data=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var tn=new WeakSet;class nn extends o{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=tn),t.add(e),this.$objectType="licensing.v4.config.GetLicenseKeyApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new nn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.config.LicenseKey":t.setData(Lt.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):en(tn,this,sn).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):en(tn,this,sn).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function sn(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}nn.prototype.metadata=void 0,nn.prototype.data=void 0,nn.prototype.$reserved=void 0,nn.prototype.$objectType=void 0,nn.prototype.$unknownFields=void 0;var on=new WeakSet;class rn{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=on),n.add(t),this.quantity=e,this.$objectType="licensing.v4.config.ReclaimLicenseKeySpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rn,e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),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())}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["quantity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("quantity"===t){if(void 0===this.quantity||null===this.quantity)return new O("quantity","undefined or null");if(!j.validateMaximum(this.quantity,16384))return new O("quantity","does not satisfy required maximum constraint: 16384");if(!j.validateMinimum(this.quantity,1))return new O("quantity","does not satisfy required minimum 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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}rn.prototype.quantity=void 0,rn.prototype.$reserved=void 0,rn.prototype.$objectType=void 0,rn.prototype.$unknownFields=void 0;class an extends ft{constructor(){super(),this.$objectType="licensing.v4.config.ClusterLicenseKeyMappingProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new an,ft.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 O(t,"no such property exists")}}class ln extends Pt{constructor(e,t,n){super(e,t,n),this.$objectType="licensing.v4.config.LicenseKeyAssociationProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ln,Pt.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=["associatedKey","associationType","reclaimType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O(t,"no such property exists")}}function dn(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 un=new WeakSet;class cn extends Lt{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=un),t.add(e),this.$objectType="licensing.v4.config.LicenseKeyProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new cn,Lt.constructFromObject(e,t,!0),e.hasOwnProperty("clusterLicenseKeyMappingProjection")&&null!==e.clusterLicenseKeyMappingProjection&&void 0!==e.clusterLicenseKeyMappingProjection){for(r=[],i=e.clusterLicenseKeyMappingProjection,o=0;o<i.length;o++)s=an.constructFromObject(i[o],void 0),r.push(s);t.setClusterLicenseKeyMappingProjection(r)}if(e.hasOwnProperty("licenseKeyAssociationProjection")&&null!==e.licenseKeyAssociationProjection&&void 0!==e.licenseKeyAssociationProjection){for(r=[],i=e.licenseKeyAssociationProjection,o=0;o<i.length;o++)s=ln.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyAssociationProjection(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())}getClusterLicenseKeyMappingProjection(){return this.clusterLicenseKeyMappingProjection}setClusterLicenseKeyMappingProjection(e){this.clusterLicenseKeyMappingProjection=e}getLicenseKeyAssociationProjection(){return this.licenseKeyAssociationProjection}setLicenseKeyAssociationProjection(e){this.licenseKeyAssociationProjection=e}toJson(e){return!1===e?{...void 0!==this.getClusterLicenseKeyMappingProjection()&&null!==this.getClusterLicenseKeyMappingProjection()?{clusterLicenseKeyMappingProjection:this.getClusterLicenseKeyMappingProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getLicenseKeyAssociationProjection()&&null!==this.getLicenseKeyAssociationProjection()?{licenseKeyAssociationProjection:this.getLicenseKeyAssociationProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getEntitlementExpiryDate()&&null!==this.getEntitlementExpiryDate()?{entitlementExpiryDate:dn(un,this,hn).call(this,this.getEntitlementExpiryDate(),!0)}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getGroupId()&&null!==this.getGroupId()?{groupId:this.getGroupId()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getAssignmentDetails()&&null!==this.getAssignmentDetails()?{assignmentDetails:this.getAssignmentDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getAssociationDetails()&&null!==this.getAssociationDetails()?{associationDetails:this.getAssociationDetails().map(e=>e.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.getClusterLicenseKeyMappingProjection()&&null!==this.getClusterLicenseKeyMappingProjection()?{clusterLicenseKeyMappingProjection:this.getClusterLicenseKeyMappingProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getLicenseKeyAssociationProjection()&&null!==this.getLicenseKeyAssociationProjection()?{licenseKeyAssociationProjection:this.getLicenseKeyAssociationProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getKey()&&null!==this.getKey()?{key:this.getKey()}:{},...void 0!==this.getValidationDetail()&&null!==this.getValidationDetail()?{validationDetail:this.getValidationDetail()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"clusterLicenseKeyMappingProjection"!==t||void 0!==this.clusterLicenseKeyMappingProjection&&null!==this.clusterLicenseKeyMappingProjection?"licenseKeyAssociationProjection"!==t||void 0!==this.licenseKeyAssociationProjection&&null!==this.licenseKeyAssociationProjection?new O(t,"no such property exists"):new O("licenseKeyAssociationProjection","undefined or null"):new O("clusterLicenseKeyMappingProjection","undefined or null")}}function hn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}cn.prototype.clusterLicenseKeyMappingProjection=void 0,cn.prototype.licenseKeyAssociationProjection=void 0,Lt.prototype.key=void 0,Lt.prototype.validationDetail=void 0,Lt.prototype.type=void 0,Lt.prototype.category=void 0,Lt.prototype.subCategory=void 0,Lt.prototype.entitlementExpiryDate=void 0,Lt.prototype.meter=void 0,Lt.prototype.quantity=void 0,Lt.prototype.groupId=void 0,Lt.prototype.enforcementPolicy=void 0,Lt.prototype.assignmentDetails=void 0,Lt.prototype.associationDetails=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var yn=new WeakSet;class gn extends o{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="licensing.v4.config.ListLicenseKeysApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.LicenseKey":s=Lt.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.LicenseKeyProjection":s=cn.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}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 $n=new WeakSet;class fn{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=$n),n.add(t),this.keyAssociations=e,this.$objectType="licensing.v4.config.AssociateLicenseKeySpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new fn,e.hasOwnProperty("keyAssociations")&&null!==e.keyAssociations&&void 0!==e.keyAssociations){for(r=[],i=e.keyAssociations,o=0;o<i.length;o++)s=Pt.constructFromObject(i[o],void 0),r.push(s);t.setKeyAssociations(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())}getKeyAssociations(){return this.keyAssociations}setKeyAssociations(e){this.keyAssociations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getKeyAssociations()&&null!==this.getKeyAssociations()?{keyAssociations:this.getKeyAssociations().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=["keyAssociations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("keyAssociations"===t){if(void 0===this.keyAssociations||null===this.keyAssociations)return new O("keyAssociations","undefined or null");if(!j.validateMaxItems(this.keyAssociations,5))return new O("keyAssociations","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.keyAssociations,1))return new O("keyAssociations","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}fn.prototype.keyAssociations=void 0,fn.prototype.$reserved=void 0,fn.prototype.$objectType=void 0,fn.prototype.$unknownFields=void 0;var wn=new WeakSet;class mn{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=wn),t.add(e),this.$objectType="licensing.v4.config.LicenseKeyAssignment",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new mn,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("licenseKeyMappings")&&null!==e.licenseKeyMappings&&void 0!==e.licenseKeyMappings){for(r=[],i=e.licenseKeyMappings,o=0;o<i.length;o++)s=vt.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyMappings(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getLicenseKeyMappings(){return this.licenseKeyMappings}setLicenseKeyMappings(e){this.licenseKeyMappings=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getLicenseKeyMappings()&&null!==this.getLicenseKeyMappings()?{licenseKeyMappings:this.getLicenseKeyMappings().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("licenseKeyMappings"===t){if(void 0===this.licenseKeyMappings||null===this.licenseKeyMappings)return new O("licenseKeyMappings","undefined or null");if(!j.validateMaxItems(this.licenseKeyMappings,50))return new O("licenseKeyMappings","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}mn.prototype.clusterExtId=void 0,mn.prototype.licenseKeyMappings=void 0,mn.prototype.$reserved=void 0,mn.prototype.$objectType=void 0,mn.prototype.$unknownFields=void 0;var bn=new WeakSet;class Tn{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=bn),n.add(t),this.licenseKeyAssignments=e,this.$objectType="licensing.v4.config.LicenseKeyAssignmentSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Tn,e.hasOwnProperty("licenseKeyAssignments")&&null!==e.licenseKeyAssignments&&void 0!==e.licenseKeyAssignments){for(r=[],i=e.licenseKeyAssignments,o=0;o<i.length;o++)s=mn.constructFromObject(i[o],void 0),r.push(s);t.setLicenseKeyAssignments(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())}getLicenseKeyAssignments(){return this.licenseKeyAssignments}setLicenseKeyAssignments(e){this.licenseKeyAssignments=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLicenseKeyAssignments()&&null!==this.getLicenseKeyAssignments()?{licenseKeyAssignments:this.getLicenseKeyAssignments().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=["licenseKeyAssignments"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("licenseKeyAssignments"===t){if(void 0===this.licenseKeyAssignments||null===this.licenseKeyAssignments)return new O("licenseKeyAssignments","undefined or null");if(!j.validateMaxItems(this.licenseKeyAssignments,20))return new O("licenseKeyAssignments","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.licenseKeyAssignments,1))return new O("licenseKeyAssignments","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Tn.prototype.licenseKeyAssignments=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;var kn=new WeakSet;class jn{constructor(e,t,n,i){var s,o;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,o=kn),o.add(s),this.userName=e,this.loginId=t,this.jobTitle=n,this.companyName=i,this.$objectType="licensing.v4.agreements.EndUser",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jn,e.hasOwnProperty("userName")&&null!==e.userName&&void 0!==e.userName&&t.setUserName(e.userName),e.hasOwnProperty("loginId")&&null!==e.loginId&&void 0!==e.loginId&&t.setLoginId(e.loginId),e.hasOwnProperty("jobTitle")&&null!==e.jobTitle&&void 0!==e.jobTitle&&t.setJobTitle(e.jobTitle),e.hasOwnProperty("companyName")&&null!==e.companyName&&void 0!==e.companyName&&t.setCompanyName(e.companyName),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}getLoginId(){return this.loginId}setLoginId(e){this.loginId=e}getJobTitle(){return this.jobTitle}setJobTitle(e){this.jobTitle=e}getCompanyName(){return this.companyName}setCompanyName(e){this.companyName=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.getLoginId()&&null!==this.getLoginId()?{loginId:this.getLoginId()}:{},...void 0!==this.getJobTitle()&&null!==this.getJobTitle()?{jobTitle:this.getJobTitle()}:{},...void 0!==this.getCompanyName()&&null!==this.getCompanyName()?{companyName:this.getCompanyName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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","loginId","jobTitle","companyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O("userName","undefined or null");if(!j.validateMaxLength(this.userName,50))return new O("userName","does not satisfy required maxLength constraint: 50")}if("loginId"===t){if(void 0===this.loginId||null===this.loginId)return new O("loginId","undefined or null");if(!j.validateMaxLength(this.loginId,50))return new O("loginId","does not satisfy required maxLength constraint: 50")}if("jobTitle"===t){if(void 0===this.jobTitle||null===this.jobTitle)return new O("jobTitle","undefined or null");if(!j.validateMaxLength(this.jobTitle,50))return new O("jobTitle","does not satisfy required maxLength constraint: 50")}if("companyName"===t){if(void 0===this.companyName||null===this.companyName)return new O("companyName","undefined or null");if(!j.validateMaxLength(this.companyName,100))return new O("companyName","does not satisfy required maxLength constraint: 100")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}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")}jn.prototype.userName=void 0,jn.prototype.loginId=void 0,jn.prototype.jobTitle=void 0,jn.prototype.companyName=void 0,jn.prototype.$reserved=void 0,jn.prototype.$objectType=void 0,jn.prototype.$unknownFields=void 0;var Fn=new WeakSet;class En{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=Fn),n.add(t),this.acceptedBy=e,this.$objectType="licensing.v4.agreements.Acceptance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new En,e.hasOwnProperty("acceptedBy")&&null!==e.acceptedBy&&void 0!==e.acceptedBy&&t.setAcceptedBy(jn.constructFromObject(e.acceptedBy)),e.hasOwnProperty("acceptanceTime")&&null!==e.acceptanceTime&&void 0!==e.acceptanceTime&&t.setAcceptanceTime(e.acceptanceTime),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())}getAcceptedBy(){return this.acceptedBy}setAcceptedBy(e){this.acceptedBy=e}getAcceptanceTime(){return this.acceptanceTime}setAcceptanceTime(e){this.acceptanceTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getAcceptedBy()&&null!==this.getAcceptedBy()?{acceptedBy:this.getAcceptedBy().toJson(!1)}:{},...void 0!==this.getAcceptanceTime()&&null!==this.getAcceptanceTime()?{acceptanceTime:On(Fn,this,Pn).call(this,this.getAcceptanceTime(),!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.getAcceptedBy()&&null!==this.getAcceptedBy()?{acceptedBy:this.getAcceptedBy().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=["acceptedBy"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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"acceptedBy"!==t||void 0!==this.acceptedBy&&null!==this.acceptedBy?"acceptanceTime"!==t||void 0!==this.acceptanceTime&&null!==this.acceptanceTime?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("acceptanceTime","undefined or null"):new O("acceptedBy","undefined or null")}}function Pn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Dn(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")}En.prototype.acceptedBy=void 0,En.prototype.acceptanceTime=void 0,En.prototype.$reserved=void 0,En.prototype.$objectType=void 0,En.prototype.$unknownFields=void 0;var Cn=new WeakSet;class In extends yt{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=Cn),i.add(n),this.content=e,this.version=t,this.$objectType="licensing.v4.agreements.Eula",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new In,yt.constructFromObject(e,t,!0),e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("updatedTime")&&null!==e.updatedTime&&void 0!==e.updatedTime&&t.setUpdatedTime(e.updatedTime),e.hasOwnProperty("version")&&null!==e.version&&void 0!==e.version&&t.setVersion(e.version),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("acceptances")&&null!==e.acceptances&&void 0!==e.acceptances){for(r=[],i=e.acceptances,o=0;o<i.length;o++)s=En.constructFromObject(i[o],void 0),r.push(s);t.setAcceptances(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())}getContent(){return this.content}setContent(e){this.content=e}getUpdatedTime(){return this.updatedTime}setUpdatedTime(e){this.updatedTime=e}getVersion(){return this.version}setVersion(e){this.version=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getAcceptances(){return this.acceptances}setAcceptances(e){this.acceptances=e}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getUpdatedTime()&&null!==this.getUpdatedTime()?{updatedTime:Dn(Cn,this,An).call(this,this.getUpdatedTime(),!1)}:{},...void 0!==this.getVersion()&&null!==this.getVersion()?{version:this.getVersion()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getAcceptances()&&null!==this.getAcceptances()?{acceptances:this.getAcceptances().map(e=>e.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.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=["content","version"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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&&(void 0===this.content||null===this.content))return new O("content","undefined or null");if("updatedTime"===t&&(void 0===this.updatedTime||null===this.updatedTime))return new O("updatedTime","undefined or null");if("version"===t&&(void 0===this.version||null===this.version))return new O("version","undefined or null");if("isEnabled"===t&&(void 0===this.isEnabled||null===this.isEnabled))return new O("isEnabled","undefined or null");if("acceptances"===t){if(void 0===this.acceptances||null===this.acceptances)return new O("acceptances","undefined or null");if(!j.validateMaxItems(this.acceptances,100))return new O("acceptances","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}function An(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Nn(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")}In.prototype.content=void 0,In.prototype.updatedTime=void 0,In.prototype.version=void 0,In.prototype.isEnabled=void 0,In.prototype.acceptances=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Un=new WeakSet;class Rn extends o{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=Un),t.add(e),this.$objectType="licensing.v4.agreements.GetEulaApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Rn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"licensing.v4.agreements.Eula":t.setData(In.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):Nn(Un,this,Sn).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):Nn(Un,this,Sn).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Sn(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 Ln(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")}Rn.prototype.metadata=void 0,Rn.prototype.data=void 0,Rn.prototype.$reserved=void 0,Rn.prototype.$objectType=void 0,Rn.prototype.$unknownFields=void 0;var xn=new WeakSet;class Mn extends o{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=xn),t.add(e),this.$objectType="licensing.v4.agreements.AddUserApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Mn,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";s=Ie.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Ln(xn,this,_n).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):Ln(xn,this,_n).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function _n(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}Mn.prototype.metadata=void 0,Mn.prototype.data=void 0,Mn.prototype.$reserved=void 0,Mn.prototype.$objectType=void 0,Mn.prototype.$unknownFields=void 0;var Jn=new WeakSet;class Kn extends yt{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="licensing.v4.config.BaseClusterInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kn,yt.constructFromObject(e,t,!0),e.hasOwnProperty("isMulticluster")&&null!==e.isMulticluster&&void 0!==e.isMulticluster&&t.setIsMulticluster(e.isMulticluster),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsMulticluster(){return this.isMulticluster}setIsMulticluster(e){this.isMulticluster=e}toJson(e){return!1===e?{...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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){return"isMulticluster"!==t||void 0!==this.isMulticluster&&null!==this.isMulticluster?new O(t,"no such property exists"):new O("isMulticluster","undefined or null")}}Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;const Wn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NUTANIX:"NUTANIX",VMWARE:"VMWARE",REMOTE_NTNX:"REMOTE_NTNX",OTHER_NON_NUTANIX:"OTHER_NON_NUTANIX",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wn).find(t=>Wn[t]===e);return null==t?Wn.$UNKNOWN:Wn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wn.$UNKNOWN:case Wn.$REDACTED:case Wn.NUTANIX:case Wn.VMWARE:case Wn.REMOTE_NTNX:case Wn.OTHER_NON_NUTANIX:return;default:throw new Error("Invalid : must be ClusterType.{ $UNKNOWN|$REDACTED|NUTANIX|VMWARE|REMOTE_NTNX|OTHER_NON_NUTANIX }")}}};Object.freeze(Wn);const Vn=Wn,qn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PC:"PC",PE:"PE",PC_PE:"PC_PE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qn).find(t=>qn[t]===e);return null==t?qn.$UNKNOWN:qn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qn.$UNKNOWN:case qn.$REDACTED:case qn.PC:case qn.PE:case qn.PC_PE:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|PC|PE|PC_PE }")}}};Object.freeze(qn);const zn=qn,Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ADDON:"ADDON",UNLIMITED_CAPACITY:"UNLIMITED_CAPACITY",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.ADDON:case Bn.UNLIMITED_CAPACITY:return;default:throw new Error("Invalid : must be SubCategory.{ $UNKNOWN|$REDACTED|ADDON|UNLIMITED_CAPACITY }")}}};Object.freeze(Bn);const Gn=Bn;function Yn(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 Hn=new WeakSet;class Qn{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=Hn),t.add(e),this.$objectType="licensing.v4.config.EntitlementDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qn,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(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Gn.constructFromObject(e.subCategory)),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("earliestExpiryDate")&&null!==e.earliestExpiryDate&&void 0!==e.earliestExpiryDate&&t.setEarliestExpiryDate(e.earliestExpiryDate),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),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}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getEarliestExpiryDate(){return this.earliestExpiryDate}setEarliestExpiryDate(e){this.earliestExpiryDate=e}getScope(){return this.scope}setScope(e){this.scope=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.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getEarliestExpiryDate()&&null!==this.getEarliestExpiryDate()?{earliestExpiryDate:Yn(Hn,this,Xn).call(this,this.getEarliestExpiryDate(),!0)}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new O("name","does not satisfy required maxLength constraint: 64")}return"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"subCategory"!==t||void 0!==this.subCategory&&null!==this.subCategory?"meter"!==t||void 0!==this.meter&&null!==this.meter?"quantity"!==t||void 0!==this.quantity&&null!==this.quantity?"earliestExpiryDate"!==t||void 0!==this.earliestExpiryDate&&null!==this.earliestExpiryDate?"scope"!==t||void 0!==this.scope&&null!==this.scope?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("scope","undefined or null"):new O("earliestExpiryDate","undefined or null"):new O("quantity","undefined or null"):new O("meter","undefined or null"):new O("subCategory","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qn.prototype.name=void 0,Qn.prototype.type=void 0,Qn.prototype.category=void 0,Qn.prototype.subCategory=void 0,Qn.prototype.meter=void 0,Qn.prototype.quantity=void 0,Qn.prototype.earliestExpiryDate=void 0,Qn.prototype.scope=void 0,Qn.prototype.$reserved=void 0,Qn.prototype.$objectType=void 0,Qn.prototype.$unknownFields=void 0;var Zn=new WeakSet;class ei extends Kn{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=Zn),t.add(e),this.$objectType="licensing.v4.config.Entitlement",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ei,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("isRegistered")&&null!==e.isRegistered&&void 0!==e.isRegistered&&t.setIsRegistered(e.isRegistered),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(Vn.constructFromObject(e.type)),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=Qn.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getIsRegistered(){return this.isRegistered}setIsRegistered(e){this.isRegistered=e}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getDetails(){return this.details}setDetails(e){this.details=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("isRegistered"===t&&(void 0===this.isRegistered||null===this.isRegistered))return new O("isRegistered","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,100))return new O("details","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}ei.prototype.clusterExtId=void 0,ei.prototype.isRegistered=void 0,ei.prototype.name=void 0,ei.prototype.type=void 0,ei.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class ti extends Qn{constructor(){super(),this.$objectType="licensing.v4.config.EntitlementDetailProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ti,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 O(t,"no such property exists")}}var ni=new WeakSet;class ii extends ei{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=ni),t.add(e),this.$objectType="licensing.v4.config.EntitlementProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ii,ei.constructFromObject(e,t,!0),e.hasOwnProperty("entitlementDetailProjection")&&null!==e.entitlementDetailProjection&&void 0!==e.entitlementDetailProjection){for(r=[],i=e.entitlementDetailProjection,o=0;o<i.length;o++)s=ti.constructFromObject(i[o],void 0),r.push(s);t.setEntitlementDetailProjection(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())}getEntitlementDetailProjection(){return this.entitlementDetailProjection}setEntitlementDetailProjection(e){this.entitlementDetailProjection=e}toJson(e){return!1===e?{...void 0!==this.getEntitlementDetailProjection()&&null!==this.getEntitlementDetailProjection()?{entitlementDetailProjection:this.getEntitlementDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getEntitlementDetailProjection()&&null!==this.getEntitlementDetailProjection()?{entitlementDetailProjection:this.getEntitlementDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getIsRegistered()&&null!==this.getIsRegistered()?{isRegistered:this.getIsRegistered()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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"entitlementDetailProjection"!==t||void 0!==this.entitlementDetailProjection&&null!==this.entitlementDetailProjection?new O(t,"no such property exists"):new O("entitlementDetailProjection","undefined or null")}}function si(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.entitlementDetailProjection=void 0,ei.prototype.clusterExtId=void 0,ei.prototype.isRegistered=void 0,ei.prototype.name=void 0,ei.prototype.type=void 0,ei.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var oi=new WeakSet;class ri extends o{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=oi),t.add(e),this.$objectType="licensing.v4.config.ListEntitlementsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new ri,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Entitlement":s=ei.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.EntitlementProjection":s=ii.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):si(oi,this,ai).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):si(oi,this,ai).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function ai(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 li(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")}ri.prototype.metadata=void 0,ri.prototype.data=void 0,ri.prototype.$reserved=void 0,ri.prototype.$objectType=void 0,ri.prototype.$unknownFields=void 0;var di=new WeakSet;class ui extends yt{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=di),t.add(e),this.$objectType="licensing.v4.config.BaseLicenseInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ui,yt.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(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("subCategory")&&null!==e.subCategory&&void 0!==e.subCategory&&t.setSubCategory(Gn.constructFromObject(e.subCategory)),e.hasOwnProperty("expiryDate")&&null!==e.expiryDate&&void 0!==e.expiryDate&&t.setExpiryDate(e.expiryDate),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===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}getCategory(){return this.category}setCategory(e){this.category=e}getSubCategory(){return this.subCategory}setSubCategory(e){this.subCategory=e}getExpiryDate(){return this.expiryDate}setExpiryDate(e){this.expiryDate=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.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:li(di,this,ci).call(this,this.getExpiryDate(),!0)}:{},...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()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:li(di,this,ci).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new O("name","does not satisfy required maxLength constraint: 64")}return"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"subCategory"!==t||void 0!==this.subCategory&&null!==this.subCategory?"expiryDate"!==t||void 0!==this.expiryDate&&null!==this.expiryDate?new O(t,"no such property exists"):new O("expiryDate","undefined or null"):new O("subCategory","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function ci(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var hi=new WeakSet;class pi{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=hi),t.add(e),this.$objectType="licensing.v4.config.Consumption",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pi,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("quantityUsed")&&null!==e.quantityUsed&&void 0!==e.quantityUsed&&t.setQuantityUsed(e.quantityUsed),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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getQuantityUsed(){return this.quantityUsed}setQuantityUsed(e){this.quantityUsed=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getQuantityUsed()&&null!==this.getQuantityUsed()?{quantityUsed:this.getQuantityUsed()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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"quantityUsed"!==t||void 0!==this.quantityUsed&&null!==this.quantityUsed?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("quantityUsed","undefined or null")}}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")}pi.prototype.clusterExtId=void 0,pi.prototype.quantityUsed=void 0,pi.prototype.$reserved=void 0,pi.prototype.$objectType=void 0,pi.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends ui{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=gi),t.add(e),this.$objectType="licensing.v4.config.License",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new vi,ui.constructFromObject(e,t,!0),e.hasOwnProperty("salesforceLicenseId")&&null!==e.salesforceLicenseId&&void 0!==e.salesforceLicenseId&&t.setSalesforceLicenseId(e.salesforceLicenseId),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),e.hasOwnProperty("quantity")&&null!==e.quantity&&void 0!==e.quantity&&t.setQuantity(e.quantity),e.hasOwnProperty("consumptionDetails")&&null!==e.consumptionDetails&&void 0!==e.consumptionDetails){for(r=[],i=e.consumptionDetails,o=0;o<i.length;o++)s=pi.constructFromObject(i[o],void 0),r.push(s);t.setConsumptionDetails(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())}getSalesforceLicenseId(){return this.salesforceLicenseId}setSalesforceLicenseId(e){this.salesforceLicenseId=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getScope(){return this.scope}setScope(e){this.scope=e}getQuantity(){return this.quantity}setQuantity(e){this.quantity=e}getConsumptionDetails(){return this.consumptionDetails}setConsumptionDetails(e){this.consumptionDetails=e}toJson(e){return!1===e?{...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:yi(gi,this,$i).call(this,this.getExpiryDate(),!0)}:{},...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.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:yi(gi,this,$i).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("salesforceLicenseId"===t){if(void 0===this.salesforceLicenseId||null===this.salesforceLicenseId)return new O("salesforceLicenseId","undefined or null");if(!j.validatePattern(this.salesforceLicenseId,/^[A-Za-z0-9-]+$/))return new O("salesforceLicenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}if("meter"===t&&(void 0===this.meter||null===this.meter))return new O("meter","undefined or null");if("scope"===t&&(void 0===this.scope||null===this.scope))return new O("scope","undefined or null");if("quantity"===t&&(void 0===this.quantity||null===this.quantity))return new O("quantity","undefined or null");if("consumptionDetails"===t){if(void 0===this.consumptionDetails||null===this.consumptionDetails)return new O("consumptionDetails","undefined or null");if(!j.validateMaxItems(this.consumptionDetails,100))return new O("consumptionDetails","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}function $i(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vi.prototype.salesforceLicenseId=void 0,vi.prototype.meter=void 0,vi.prototype.scope=void 0,vi.prototype.quantity=void 0,vi.prototype.consumptionDetails=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class fi extends pi{constructor(){super(),this.$objectType="licensing.v4.config.ConsumptionProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fi,pi.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 O(t,"no such property exists")}}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")}var mi=new WeakSet;class bi extends vi{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=mi),t.add(e),this.$objectType="licensing.v4.config.LicenseProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new bi,vi.constructFromObject(e,t,!0),e.hasOwnProperty("consumptionProjection")&&null!==e.consumptionProjection&&void 0!==e.consumptionProjection){for(r=[],i=e.consumptionProjection,o=0;o<i.length;o++)s=fi.constructFromObject(i[o],void 0),r.push(s);t.setConsumptionProjection(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())}getConsumptionProjection(){return this.consumptionProjection}setConsumptionProjection(e){this.consumptionProjection=e}toJson(e){return!1===e?{...void 0!==this.getConsumptionProjection()&&null!==this.getConsumptionProjection()?{consumptionProjection:this.getConsumptionProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:wi(mi,this,Ti).call(this,this.getExpiryDate(),!0)}:{},...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.getConsumptionProjection()&&null!==this.getConsumptionProjection()?{consumptionProjection:this.getConsumptionProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getSalesforceLicenseId()&&null!==this.getSalesforceLicenseId()?{salesforceLicenseId:this.getSalesforceLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getQuantity()&&null!==this.getQuantity()?{quantity:this.getQuantity()}:{},...void 0!==this.getConsumptionDetails()&&null!==this.getConsumptionDetails()?{consumptionDetails:this.getConsumptionDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:wi(mi,this,Ti).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"consumptionProjection"!==t||void 0!==this.consumptionProjection&&null!==this.consumptionProjection?new O(t,"no such property exists"):new O("consumptionProjection","undefined or null")}}function Ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ki(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")}bi.prototype.consumptionProjection=void 0,vi.prototype.salesforceLicenseId=void 0,vi.prototype.meter=void 0,vi.prototype.scope=void 0,vi.prototype.quantity=void 0,vi.prototype.consumptionDetails=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var ji=new WeakSet;class Oi extends o{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="licensing.v4.config.ListLicensesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Oi,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.License":s=vi.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.LicenseProjection":s=bi.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ki(ji,this,Fi).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):ki(ji,this,Fi).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Fi(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}Oi.prototype.metadata=void 0,Oi.prototype.data=void 0,Oi.prototype.$reserved=void 0,Oi.prototype.$objectType=void 0,Oi.prototype.$unknownFields=void 0;const Ei={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UPGRADE:"UPGRADE",REBALANCE:"REBALANCE",RECLAIM:"RECLAIM",RENEW:"RENEW",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ei).find(t=>Ei[t]===e);return null==t?Ei.$UNKNOWN:Ei[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ei.$UNKNOWN:case Ei.$REDACTED:case Ei.UPGRADE:case Ei.REBALANCE:case Ei.RECLAIM:case Ei.RENEW:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|UPGRADE|REBALANCE|RECLAIM|RENEW }")}}};Object.freeze(Ei);const Pi=Ei,Di={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LICENSE:"LICENSE",CLUSTER:"CLUSTER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Di).find(t=>Di[t]===e);return null==t?Di.$UNKNOWN:Di[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Di.$UNKNOWN:case Di.$REDACTED:case Di.LICENSE:case Di.CLUSTER:return;default:throw new Error("Invalid : must be RecommendationScope.{ $UNKNOWN|$REDACTED|LICENSE|CLUSTER }")}}};Object.freeze(Di);const Ci=Di;function Ii(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 Ai=new WeakSet;class Ni{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=Ai),t.add(e),this.$objectType="licensing.v4.config.RecommendationDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ni,e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(Ci.constructFromObject(e.scope)),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(Pi.constructFromObject(e.operation)),e.hasOwnProperty("licenseId")&&null!==e.licenseId&&void 0!==e.licenseId&&t.setLicenseId(e.licenseId),e.hasOwnProperty("licenseExpiryDate")&&null!==e.licenseExpiryDate&&void 0!==e.licenseExpiryDate&&t.setLicenseExpiryDate(e.licenseExpiryDate),e.hasOwnProperty("comment")&&null!==e.comment&&void 0!==e.comment&&t.setComment(e.comment),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())}getScope(){return this.scope}setScope(e){this.scope=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getLicenseId(){return this.licenseId}setLicenseId(e){this.licenseId=e}getLicenseExpiryDate(){return this.licenseExpiryDate}setLicenseExpiryDate(e){this.licenseExpiryDate=e}getComment(){return this.comment}setComment(e){this.comment=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getLicenseExpiryDate()&&null!==this.getLicenseExpiryDate()?{licenseExpiryDate:Ii(Ai,this,Ui).call(this,this.getLicenseExpiryDate(),!0)}:{},...void 0!==this.getComment()&&null!==this.getComment()?{comment:this.getComment()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("scope"===t&&(void 0===this.scope||null===this.scope))return new O("scope","undefined or null");if("operation"===t&&(void 0===this.operation||null===this.operation))return new O("operation","undefined or null");if("licenseId"===t){if(void 0===this.licenseId||null===this.licenseId)return new O("licenseId","undefined or null");if(!j.validatePattern(this.licenseId,/^[A-Za-z0-9-]+$/))return new O("licenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}if("licenseExpiryDate"===t&&(void 0===this.licenseExpiryDate||null===this.licenseExpiryDate))return new O("licenseExpiryDate","undefined or null");if("comment"===t){if(void 0===this.comment||null===this.comment)return new O("comment","undefined or null");if(!j.validateMaxLength(this.comment,100))return new O("comment","does not satisfy required maxLength constraint: 100")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function Ui(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ni.prototype.scope=void 0,Ni.prototype.operation=void 0,Ni.prototype.licenseId=void 0,Ni.prototype.licenseExpiryDate=void 0,Ni.prototype.comment=void 0,Ni.prototype.$reserved=void 0,Ni.prototype.$objectType=void 0,Ni.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends yt{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="licensing.v4.config.Recommendation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Si,yt.constructFromObject(e,t,!0),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=Ni.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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())}getDetails(){return this.details}setDetails(e){this.details=e}toJson(e){return!1===e?{...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.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.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,50))return new O("details","does not satisfy required maxItems constraint: 50")}return new O(t,"no such property exists")}}function Li(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.details=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var xi=new WeakSet;class Mi extends o{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=xi),t.add(e),this.$objectType="licensing.v4.config.ListRecommendationsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new Mi,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Recommendation"!==l)throw"Unknown list of type "+l+" in data";s=Si.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):Li(xi,this,_i).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):Li(xi,this,_i).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function _i(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}Mi.prototype.metadata=void 0,Mi.prototype.data=void 0,Mi.prototype.$reserved=void 0,Mi.prototype.$objectType=void 0,Mi.prototype.$unknownFields=void 0;const Ji={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_CENTRAL:"PRISM_CENTRAL",APPLIANCE:"APPLIANCE",SOFTWARE_ONLY:"SOFTWARE_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ji).find(t=>Ji[t]===e);return null==t?Ji.$UNKNOWN:Ji[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ji.$UNKNOWN:case Ji.$REDACTED:case Ji.PRISM_CENTRAL:case Ji.APPLIANCE:case Ji.SOFTWARE_ONLY:return;default:throw new Error("Invalid : must be LicenseClass.{ $UNKNOWN|$REDACTED|PRISM_CENTRAL|APPLIANCE|SOFTWARE_ONLY }")}}};Object.freeze(Ji);const Ki=Ji;var Wi=new WeakSet;class Vi{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=Wi),t.add(e),this.$objectType="licensing.v4.config.LogicalVersion",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vi,e.hasOwnProperty("clusterVersion")&&null!==e.clusterVersion&&void 0!==e.clusterVersion&&t.setClusterVersion(e.clusterVersion),e.hasOwnProperty("licenseVersion")&&null!==e.licenseVersion&&void 0!==e.licenseVersion&&t.setLicenseVersion(e.licenseVersion),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())}getClusterVersion(){return this.clusterVersion}setClusterVersion(e){this.clusterVersion=e}getLicenseVersion(){return this.licenseVersion}setLicenseVersion(e){this.licenseVersion=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterVersion()&&null!==this.getClusterVersion()?{clusterVersion:this.getClusterVersion()}:{},...void 0!==this.getLicenseVersion()&&null!==this.getLicenseVersion()?{licenseVersion:this.getLicenseVersion()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"clusterVersion"!==t||void 0!==this.clusterVersion&&null!==this.clusterVersion?"licenseVersion"!==t||void 0!==this.licenseVersion&&null!==this.licenseVersion?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("licenseVersion","undefined or null"):new O("clusterVersion","undefined or null")}}Vi.prototype.clusterVersion=void 0,Vi.prototype.licenseVersion=void 0,Vi.prototype.$reserved=void 0,Vi.prototype.$objectType=void 0,Vi.prototype.$unknownFields=void 0;const qi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FREE_TRIAL:"FREE_TRIAL",PAY_AS_YOU_GO:"PAY_AS_YOU_GO",CLOUD_COMMIT:"CLOUD_COMMIT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qi).find(t=>qi[t]===e);return null==t?qi.$UNKNOWN:qi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qi.$UNKNOWN:case qi.$REDACTED:case qi.FREE_TRIAL:case qi.PAY_AS_YOU_GO:case qi.CLOUD_COMMIT:return;default:throw new Error("Invalid : must be BillingPlan.{ $UNKNOWN|$REDACTED|FREE_TRIAL|PAY_AS_YOU_GO|CLOUD_COMMIT }")}}};Object.freeze(qi);const zi=qi,Bi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HYBRID:"HYBRID",UTILITY:"UTILITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bi).find(t=>Bi[t]===e);return null==t?Bi.$UNKNOWN:Bi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bi.$UNKNOWN:case Bi.$REDACTED:case Bi.HYBRID:case Bi.UTILITY:return;default:throw new Error("Invalid : must be ConsumptionType.{ $UNKNOWN|$REDACTED|HYBRID|UTILITY }")}}};Object.freeze(Bi);const Gi=Bi,Yi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",MSP:"MSP",NC2:"NC2",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Yi).find(t=>Yi[t]===e);return null==t?Yi.$UNKNOWN:Yi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Yi.$UNKNOWN:case Yi.$REDACTED:case Yi.MSP:case Yi.NC2:return;default:throw new Error("Invalid : must be PostPaidCategory.{ $UNKNOWN|$REDACTED|MSP|NC2 }")}}};Object.freeze(Yi);const Hi=Yi;var Qi=new WeakSet;class Xi{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=Qi),t.add(e),this.$objectType="licensing.v4.config.PostPaidConfig",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xi,e.hasOwnProperty("id")&&null!==e.id&&void 0!==e.id&&t.setId(e.id),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Hi.constructFromObject(e.category)),e.hasOwnProperty("isPulseRequired")&&null!==e.isPulseRequired&&void 0!==e.isPulseRequired&&t.setIsPulseRequired(e.isPulseRequired),e.hasOwnProperty("billingPlan")&&null!==e.billingPlan&&void 0!==e.billingPlan&&t.setBillingPlan(zi.constructFromObject(e.billingPlan)),e.hasOwnProperty("consumptionType")&&null!==e.consumptionType&&void 0!==e.consumptionType&&t.setConsumptionType(Gi.constructFromObject(e.consumptionType)),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())}getId(){return this.id}setId(e){this.id=e}getCategory(){return this.category}setCategory(e){this.category=e}getIsPulseRequired(){return this.isPulseRequired}setIsPulseRequired(e){this.isPulseRequired=e}getBillingPlan(){return this.billingPlan}setBillingPlan(e){this.billingPlan=e}getConsumptionType(){return this.consumptionType}setConsumptionType(e){this.consumptionType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getId()&&null!==this.getId()?{id:this.getId()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getIsPulseRequired()&&null!==this.getIsPulseRequired()?{isPulseRequired:this.getIsPulseRequired()}:{},...void 0!==this.getBillingPlan()&&null!==this.getBillingPlan()?{billingPlan:this.getBillingPlan()}:{},...void 0!==this.getConsumptionType()&&null!==this.getConsumptionType()?{consumptionType:this.getConsumptionType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("id"===t){if(void 0===this.id||null===this.id)return new O("id","undefined or null");if(!j.validatePattern(this.id,/^[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 O("id","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"category"!==t||void 0!==this.category&&null!==this.category?"isPulseRequired"!==t||void 0!==this.isPulseRequired&&null!==this.isPulseRequired?"billingPlan"!==t||void 0!==this.billingPlan&&null!==this.billingPlan?"consumptionType"!==t||void 0!==this.consumptionType&&null!==this.consumptionType?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("consumptionType","undefined or null"):new O("billingPlan","undefined or null"):new O("isPulseRequired","undefined or null"):new O("category","undefined or null")}}Xi.prototype.id=void 0,Xi.prototype.category=void 0,Xi.prototype.isPulseRequired=void 0,Xi.prototype.billingPlan=void 0,Xi.prototype.consumptionType=void 0,Xi.prototype.$reserved=void 0,Xi.prototype.$objectType=void 0,Xi.prototype.$unknownFields=void 0;var Zi=new WeakSet;class es extends Kn{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=Zi),t.add(e),this.$objectType="licensing.v4.config.Setting",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new es,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("logicalVersion")&&null!==e.logicalVersion&&void 0!==e.logicalVersion&&t.setLogicalVersion(Vi.constructFromObject(e.logicalVersion)),e.hasOwnProperty("isStandby")&&null!==e.isStandby&&void 0!==e.isStandby&&t.setIsStandby(e.isStandby),e.hasOwnProperty("hasNonCompliantFeatures")&&null!==e.hasNonCompliantFeatures&&void 0!==e.hasNonCompliantFeatures&&t.setHasNonCompliantFeatures(e.hasNonCompliantFeatures),e.hasOwnProperty("isLicenseCheckDisabled")&&null!==e.isLicenseCheckDisabled&&void 0!==e.isLicenseCheckDisabled&&t.setIsLicenseCheckDisabled(e.isLicenseCheckDisabled),e.hasOwnProperty("licenseClass")&&null!==e.licenseClass&&void 0!==e.licenseClass&&t.setLicenseClass(Ki.constructFromObject(e.licenseClass)),e.hasOwnProperty("enforcementPolicy")&&null!==e.enforcementPolicy&&void 0!==e.enforcementPolicy&&t.setEnforcementPolicy(mt.constructFromObject(e.enforcementPolicy)),e.hasOwnProperty("licenseKey")&&null!==e.licenseKey&&void 0!==e.licenseKey&&t.setLicenseKey(e.licenseKey),e.hasOwnProperty("hasUltimateTrialEnded")&&null!==e.hasUltimateTrialEnded&&void 0!==e.hasUltimateTrialEnded&&t.setHasUltimateTrialEnded(e.hasUltimateTrialEnded),e.hasOwnProperty("postPaidConfig")&&null!==e.postPaidConfig&&void 0!==e.postPaidConfig&&t.setPostPaidConfig(Xi.constructFromObject(e.postPaidConfig)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLogicalVersion(){return this.logicalVersion}setLogicalVersion(e){this.logicalVersion=e}getIsStandby(){return this.isStandby}setIsStandby(e){this.isStandby=e}getHasNonCompliantFeatures(){return this.hasNonCompliantFeatures}setHasNonCompliantFeatures(e){this.hasNonCompliantFeatures=e}getIsLicenseCheckDisabled(){return this.isLicenseCheckDisabled}setIsLicenseCheckDisabled(e){this.isLicenseCheckDisabled=e}getLicenseClass(){return this.licenseClass}setLicenseClass(e){this.licenseClass=e}getEnforcementPolicy(){return this.enforcementPolicy}setEnforcementPolicy(e){this.enforcementPolicy=e}getLicenseKey(){return this.licenseKey}setLicenseKey(e){this.licenseKey=e}getHasUltimateTrialEnded(){return this.hasUltimateTrialEnded}setHasUltimateTrialEnded(e){this.hasUltimateTrialEnded=e}getPostPaidConfig(){return this.postPaidConfig}setPostPaidConfig(e){this.postPaidConfig=e}toJson(e){return!1===e?{...void 0!==this.getLogicalVersion()&&null!==this.getLogicalVersion()?{logicalVersion:this.getLogicalVersion().toJson(!1)}:{},...void 0!==this.getIsStandby()&&null!==this.getIsStandby()?{isStandby:this.getIsStandby()}:{},...void 0!==this.getHasNonCompliantFeatures()&&null!==this.getHasNonCompliantFeatures()?{hasNonCompliantFeatures:this.getHasNonCompliantFeatures()}:{},...void 0!==this.getIsLicenseCheckDisabled()&&null!==this.getIsLicenseCheckDisabled()?{isLicenseCheckDisabled:this.getIsLicenseCheckDisabled()}:{},...void 0!==this.getLicenseClass()&&null!==this.getLicenseClass()?{licenseClass:this.getLicenseClass()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getLicenseKey()&&null!==this.getLicenseKey()?{licenseKey:this.getLicenseKey()}:{},...void 0!==this.getHasUltimateTrialEnded()&&null!==this.getHasUltimateTrialEnded()?{hasUltimateTrialEnded:this.getHasUltimateTrialEnded()}:{},...void 0!==this.getPostPaidConfig()&&null!==this.getPostPaidConfig()?{postPaidConfig:this.getPostPaidConfig().toJson(!1)}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getLogicalVersion()&&null!==this.getLogicalVersion()?{logicalVersion:this.getLogicalVersion().toJson(!1)}:{},...void 0!==this.getIsStandby()&&null!==this.getIsStandby()?{isStandby:this.getIsStandby()}:{},...void 0!==this.getHasNonCompliantFeatures()&&null!==this.getHasNonCompliantFeatures()?{hasNonCompliantFeatures:this.getHasNonCompliantFeatures()}:{},...void 0!==this.getIsLicenseCheckDisabled()&&null!==this.getIsLicenseCheckDisabled()?{isLicenseCheckDisabled:this.getIsLicenseCheckDisabled()}:{},...void 0!==this.getLicenseClass()&&null!==this.getLicenseClass()?{licenseClass:this.getLicenseClass()}:{},...void 0!==this.getEnforcementPolicy()&&null!==this.getEnforcementPolicy()?{enforcementPolicy:this.getEnforcementPolicy()}:{},...void 0!==this.getLicenseKey()&&null!==this.getLicenseKey()?{licenseKey:this.getLicenseKey()}:{},...void 0!==this.getHasUltimateTrialEnded()&&null!==this.getHasUltimateTrialEnded()?{hasUltimateTrialEnded:this.getHasUltimateTrialEnded()}:{},...void 0!==this.getPostPaidConfig()&&null!==this.getPostPaidConfig()?{postPaidConfig:this.getPostPaidConfig().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("logicalVersion"===t&&(void 0===this.logicalVersion||null===this.logicalVersion))return new O("logicalVersion","undefined or null");if("isStandby"===t&&(void 0===this.isStandby||null===this.isStandby))return new O("isStandby","undefined or null");if("hasNonCompliantFeatures"===t&&(void 0===this.hasNonCompliantFeatures||null===this.hasNonCompliantFeatures))return new O("hasNonCompliantFeatures","undefined or null");if("isLicenseCheckDisabled"===t&&(void 0===this.isLicenseCheckDisabled||null===this.isLicenseCheckDisabled))return new O("isLicenseCheckDisabled","undefined or null");if("licenseClass"===t&&(void 0===this.licenseClass||null===this.licenseClass))return new O("licenseClass","undefined or null");if("enforcementPolicy"===t&&(void 0===this.enforcementPolicy||null===this.enforcementPolicy))return new O("enforcementPolicy","undefined or null");if("licenseKey"===t){if(void 0===this.licenseKey||null===this.licenseKey)return new O("licenseKey","undefined or null");if(!j.validateMaxLength(this.licenseKey,100))return new O("licenseKey","does not satisfy required maxLength constraint: 100")}return"hasUltimateTrialEnded"!==t||void 0!==this.hasUltimateTrialEnded&&null!==this.hasUltimateTrialEnded?"postPaidConfig"!==t||void 0!==this.postPaidConfig&&null!==this.postPaidConfig?new O(t,"no such property exists"):new O("postPaidConfig","undefined or null"):new O("hasUltimateTrialEnded","undefined or null")}}function ts(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")}es.prototype.logicalVersion=void 0,es.prototype.isStandby=void 0,es.prototype.hasNonCompliantFeatures=!1,es.prototype.isLicenseCheckDisabled=!1,es.prototype.licenseClass=void 0,es.prototype.enforcementPolicy=void 0,es.prototype.licenseKey=void 0,es.prototype.hasUltimateTrialEnded=void 0,es.prototype.postPaidConfig=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var ns=new WeakSet;class is extends o{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=ns),t.add(e),this.$objectType="licensing.v4.config.ListSettingsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new is,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Setting"!==l)throw"Unknown list of type "+l+" in data";s=es.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ts(ns,this,ss).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):ts(ns,this,ss).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function ss(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}is.prototype.metadata=void 0,is.prototype.data=void 0,is.prototype.$reserved=void 0,is.prototype.$objectType=void 0,is.prototype.$unknownFields=void 0;const os={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEAN:"BOOLEAN",INTEGER:"INTEGER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(os).find(t=>os[t]===e);return null==t?os.$UNKNOWN:os[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case os.$UNKNOWN:case os.$REDACTED:case os.BOOLEAN:case os.INTEGER:return;default:throw new Error("Invalid : must be ValueType.{ $UNKNOWN|$REDACTED|BOOLEAN|INTEGER }")}}};Object.freeze(os);const rs=os;var as=new WeakSet;class ls{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=as),t.add(e),this.$objectType="licensing.v4.config.AllowanceDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ls,e.hasOwnProperty("featureId")&&null!==e.featureId&&void 0!==e.featureId&&t.setFeatureId(e.featureId),e.hasOwnProperty("valueType")&&null!==e.valueType&&void 0!==e.valueType&&t.setValueType(rs.constructFromObject(e.valueType)),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),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())}getFeatureId(){return this.featureId}setFeatureId(e){this.featureId=e}getValueType(){return this.valueType}setValueType(e){this.valueType=e}getValue(){return this.value}setValue(e){this.value=e}getScope(){return this.scope}setScope(e){this.scope=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("featureId"===t){if(void 0===this.featureId||null===this.featureId)return new O("featureId","undefined or null");if(!j.validateMaxLength(this.featureId,100))return new O("featureId","does not satisfy required maxLength constraint: 100")}if("valueType"===t&&(void 0===this.valueType||null===this.valueType))return new O("valueType","undefined or null");if("value"===t){if(void 0===this.value||null===this.value)return new O("value","undefined or null");if(!j.validateMaxLength(this.value,25))return new O("value","does not satisfy required maxLength constraint: 25")}return"scope"!==t||void 0!==this.scope&&null!==this.scope?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("scope","undefined or null")}}ls.prototype.featureId=void 0,ls.prototype.valueType=void 0,ls.prototype.value=void 0,ls.prototype.scope=void 0,ls.prototype.$reserved=void 0,ls.prototype.$objectType=void 0,ls.prototype.$unknownFields=void 0;var ds=new WeakSet;class us extends Kn{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="licensing.v4.config.Allowance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new us,Kn.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(Vn.constructFromObject(e.type)),e.hasOwnProperty("details")&&null!==e.details&&void 0!==e.details){for(r=[],i=e.details,o=0;o<i.length;o++)s=ls.constructFromObject(i[o],void 0),r.push(s);t.setDetails(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}getType(){return this.type}setType(e){this.type=e}getDetails(){return this.details}setDetails(e){this.details=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.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("details"===t){if(void 0===this.details||null===this.details)return new O("details","undefined or null");if(!j.validateMaxItems(this.details,120))return new O("details","does not satisfy required maxItems constraint: 120")}return new O(t,"no such property exists")}}us.prototype.name=void 0,us.prototype.type=void 0,us.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class cs extends ls{constructor(){super(),this.$objectType="licensing.v4.config.AllowanceDetailProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cs,ls.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 O(t,"no such property exists")}}var hs=new WeakSet;class ps extends us{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="licensing.v4.config.AllowanceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new ps,us.constructFromObject(e,t,!0),e.hasOwnProperty("allowanceDetailProjection")&&null!==e.allowanceDetailProjection&&void 0!==e.allowanceDetailProjection){for(r=[],i=e.allowanceDetailProjection,o=0;o<i.length;o++)s=cs.constructFromObject(i[o],void 0),r.push(s);t.setAllowanceDetailProjection(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())}getAllowanceDetailProjection(){return this.allowanceDetailProjection}setAllowanceDetailProjection(e){this.allowanceDetailProjection=e}toJson(e){return!1===e?{...void 0!==this.getAllowanceDetailProjection()&&null!==this.getAllowanceDetailProjection()?{allowanceDetailProjection:this.getAllowanceDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getAllowanceDetailProjection()&&null!==this.getAllowanceDetailProjection()?{allowanceDetailProjection:this.getAllowanceDetailProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getDetails()&&null!==this.getDetails()?{details:this.getDetails().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"allowanceDetailProjection"!==t||void 0!==this.allowanceDetailProjection&&null!==this.allowanceDetailProjection?new O(t,"no such property exists"):new O("allowanceDetailProjection","undefined or null")}}function ys(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.allowanceDetailProjection=void 0,us.prototype.name=void 0,us.prototype.type=void 0,us.prototype.details=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var gs=new WeakSet;class vs extends o{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=gs),t.add(e),this.$objectType="licensing.v4.config.ListAllowancesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new vs,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Allowance":s=us.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.AllowanceProjection":s=ps.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):ys(gs,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):ys(gs,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}vs.prototype.metadata=void 0,vs.prototype.data=void 0,vs.prototype.$reserved=void 0,vs.prototype.$objectType=void 0,vs.prototype.$unknownFields=void 0;var fs=new WeakSet;class ws{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=fs),t.add(e),this.$objectType="licensing.v4.config.CapacityViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ws,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(At.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Tt.constructFromObject(e.category)),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("shortfall")&&null!==e.shortfall&&void 0!==e.shortfall&&t.setShortfall(e.shortfall),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}getCategory(){return this.category}setCategory(e){this.category=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getShortfall(){return this.shortfall}setShortfall(e){this.shortfall=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.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getShortfall()&&null!==this.getShortfall()?{shortfall:this.getShortfall()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"type"!==t||void 0!==this.type&&null!==this.type?"category"!==t||void 0!==this.category&&null!==this.category?"meter"!==t||void 0!==this.meter&&null!==this.meter?"shortfall"!==t||void 0!==this.shortfall&&null!==this.shortfall?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("shortfall","undefined or null"):new O("meter","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function ms(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.type=void 0,ws.prototype.category=void 0,ws.prototype.meter=void 0,ws.prototype.shortfall=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends ui{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="licensing.v4.config.ExpiredLicense",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ts,ui.constructFromObject(e,t,!0),e.hasOwnProperty("licenseId")&&null!==e.licenseId&&void 0!==e.licenseId&&t.setLicenseId(e.licenseId),e.hasOwnProperty("meter")&&null!==e.meter&&void 0!==e.meter&&t.setMeter(Ut.constructFromObject(e.meter)),e.hasOwnProperty("usedQuantity")&&null!==e.usedQuantity&&void 0!==e.usedQuantity&&t.setUsedQuantity(e.usedQuantity),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLicenseId(){return this.licenseId}setLicenseId(e){this.licenseId=e}getMeter(){return this.meter}setMeter(e){this.meter=e}getUsedQuantity(){return this.usedQuantity}setUsedQuantity(e){this.usedQuantity=e}toJson(e){return!1===e?{...void 0!==this.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getUsedQuantity()&&null!==this.getUsedQuantity()?{usedQuantity:this.getUsedQuantity()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:ms(bs,this,ks).call(this,this.getExpiryDate(),!0)}:{},...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.getLicenseId()&&null!==this.getLicenseId()?{licenseId:this.getLicenseId()}:{},...void 0!==this.getMeter()&&null!==this.getMeter()?{meter:this.getMeter()}:{},...void 0!==this.getUsedQuantity()&&null!==this.getUsedQuantity()?{usedQuantity:this.getUsedQuantity()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getSubCategory()&&null!==this.getSubCategory()?{subCategory:this.getSubCategory()}:{},...void 0!==this.getExpiryDate()&&null!==this.getExpiryDate()?{expiryDate:ms(bs,this,ks).call(this,this.getExpiryDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("licenseId"===t){if(void 0===this.licenseId||null===this.licenseId)return new O("licenseId","undefined or null");if(!j.validatePattern(this.licenseId,/^[A-Za-z0-9-]+$/))return new O("licenseId","does not satisfy required pattern: /^[A-Za-z0-9-]+$/")}return"meter"!==t||void 0!==this.meter&&null!==this.meter?"usedQuantity"!==t||void 0!==this.usedQuantity&&null!==this.usedQuantity?new O(t,"no such property exists"):new O("usedQuantity","undefined or null"):new O("meter","undefined or null")}}function ks(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ts.prototype.licenseId=void 0,Ts.prototype.meter=void 0,Ts.prototype.usedQuantity=void 0,ui.prototype.name=void 0,ui.prototype.type=void 0,ui.prototype.category=void 0,ui.prototype.subCategory=void 0,ui.prototype.expiryDate=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var js=new WeakSet;class Os{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=js),t.add(e),this.$objectType="licensing.v4.config.FeatureDetail",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Os,e.hasOwnProperty("featureId")&&null!==e.featureId&&void 0!==e.featureId&&t.setFeatureId(e.featureId),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("$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())}getFeatureId(){return this.featureId}setFeatureId(e){this.featureId=e}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("featureId"===t){if(void 0===this.featureId||null===this.featureId)return new O("featureId","undefined or null");if(!j.validateMaxLength(this.featureId,100))return new O("featureId","does not satisfy required maxLength constraint: 100")}if("name"===t){if(void 0===this.name||null===this.name)return new O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}if("description"===t){if(void 0===this.description||null===this.description)return new O("description","undefined or null");if(!j.validateMaxLength(this.description,250))return new O("description","does not satisfy required maxLength constraint: 250")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Os.prototype.featureId=void 0,Os.prototype.name=void 0,Os.prototype.description=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Es 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=Fs),t.add(e),this.$objectType="licensing.v4.config.FeatureViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Es,Os.constructFromObject(e,t,!0),e.hasOwnProperty("affectedEntity")&&null!==e.affectedEntity&&void 0!==e.affectedEntity&&t.setAffectedEntity(e.affectedEntity),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAffectedEntity(){return this.affectedEntity}setAffectedEntity(e){this.affectedEntity=e}toJson(e){return{...void 0!==this.getAffectedEntity()&&null!==this.getAffectedEntity()?{affectedEntity:this.getAffectedEntity()}:{},...void 0!==this.getFeatureId()&&null!==this.getFeatureId()?{featureId:this.getFeatureId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("affectedEntity"===t){if(void 0===this.affectedEntity||null===this.affectedEntity)return new O("affectedEntity","undefined or null");if(!j.validateMaxLength(this.affectedEntity,100))return new O("affectedEntity","does not satisfy required maxLength constraint: 100")}return new O(t,"no such property exists")}}Es.prototype.affectedEntity=void 0,Os.prototype.featureId=void 0,Os.prototype.name=void 0,Os.prototype.description=void 0;var Ps=new WeakSet;class Ds extends Kn{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="licensing.v4.config.Violation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Ds,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("featureViolations")&&null!==e.featureViolations&&void 0!==e.featureViolations){for(r=[],i=e.featureViolations,o=0;o<i.length;o++)s=Es.constructFromObject(i[o],void 0),r.push(s);t.setFeatureViolations(r)}if(e.hasOwnProperty("capacityViolations")&&null!==e.capacityViolations&&void 0!==e.capacityViolations){for(r=[],i=e.capacityViolations,o=0;o<i.length;o++)s=ws.constructFromObject(i[o],void 0),r.push(s);t.setCapacityViolations(r)}if(e.hasOwnProperty("expiredLicenses")&&null!==e.expiredLicenses&&void 0!==e.expiredLicenses){for(r=[],i=e.expiredLicenses,o=0;o<i.length;o++)s=Ts.constructFromObject(i[o],void 0),r.push(s);t.setExpiredLicenses(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())}getFeatureViolations(){return this.featureViolations}setFeatureViolations(e){this.featureViolations=e}getCapacityViolations(){return this.capacityViolations}setCapacityViolations(e){this.capacityViolations=e}getExpiredLicenses(){return this.expiredLicenses}setExpiredLicenses(e){this.expiredLicenses=e}toJson(e){return!1===e?{...void 0!==this.getFeatureViolations()&&null!==this.getFeatureViolations()?{featureViolations:this.getFeatureViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getCapacityViolations()&&null!==this.getCapacityViolations()?{capacityViolations:this.getCapacityViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getExpiredLicenses()&&null!==this.getExpiredLicenses()?{expiredLicenses:this.getExpiredLicenses().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getFeatureViolations()&&null!==this.getFeatureViolations()?{featureViolations:this.getFeatureViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getCapacityViolations()&&null!==this.getCapacityViolations()?{capacityViolations:this.getCapacityViolations().map(e=>e.toJson(!1))}:{},...void 0!==this.getExpiredLicenses()&&null!==this.getExpiredLicenses()?{expiredLicenses:this.getExpiredLicenses().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("featureViolations"===t){if(void 0===this.featureViolations||null===this.featureViolations)return new O("featureViolations","undefined or null");if(!j.validateMaxItems(this.featureViolations,100))return new O("featureViolations","does not satisfy required maxItems constraint: 100")}if("capacityViolations"===t){if(void 0===this.capacityViolations||null===this.capacityViolations)return new O("capacityViolations","undefined or null");if(!j.validateMaxItems(this.capacityViolations,100))return new O("capacityViolations","does not satisfy required maxItems constraint: 100")}if("expiredLicenses"===t){if(void 0===this.expiredLicenses||null===this.expiredLicenses)return new O("expiredLicenses","undefined or null");if(!j.validateMaxItems(this.expiredLicenses,100))return new O("expiredLicenses","does not satisfy required maxItems constraint: 100")}return new O(t,"no such property exists")}}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")}Ds.prototype.featureViolations=void 0,Ds.prototype.capacityViolations=void 0,Ds.prototype.expiredLicenses=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var Is=new WeakSet;class As extends o{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=Is),t.add(e),this.$objectType="licensing.v4.config.ListViolationsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new As,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("licensing.v4.config.Violation"!==l)throw"Unknown list of type "+l+" in data";s=Ds.constructFromObject(i[r],void 0),a.push(s)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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(Is,this,Ns).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(Is,this,Ns).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function Ns(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}As.prototype.metadata=void 0,As.prototype.data=void 0,As.prototype.$reserved=void 0,As.prototype.$objectType=void 0,As.prototype.$unknownFields=void 0;const Us={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UPLOAD_CLUSTER_SUMMARY:"UPLOAD_CLUSTER_SUMMARY",APPLY_LICENSE_SUMMARY:"APPLY_LICENSE_SUMMARY",RECLAIM:"RECLAIM",RENEW:"RENEW",REBALANCE:"REBALANCE",UPDATE_METADATA:"UPDATE_METADATA",RECLAIM_FOR_DESTROYED_CLUSTER:"RECLAIM_FOR_DESTROYED_CLUSTER",APPLY_LICENSE_SUMMARY_WITH_METADATA:"APPLY_LICENSE_SUMMARY_WITH_METADATA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Us).find(t=>Us[t]===e);return null==t?Us.$UNKNOWN:Us[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Us.$UNKNOWN:case Us.$REDACTED:case Us.UPLOAD_CLUSTER_SUMMARY:case Us.APPLY_LICENSE_SUMMARY:case Us.RECLAIM:case Us.RENEW:case Us.REBALANCE:case Us.UPDATE_METADATA:case Us.RECLAIM_FOR_DESTROYED_CLUSTER:case Us.APPLY_LICENSE_SUMMARY_WITH_METADATA:return;default:throw new Error("Invalid : must be SyncOperationType.{ $UNKNOWN|$REDACTED|UPLOAD_CLUSTER_SUMMARY|APPLY_LICENSE_SUMMARY|RECLAIM|RENEW|REBALANCE|UPDATE_METADATA|RECLAIM_FOR_DESTROYED_CLUSTER|APPLY_LICENSE_SUMMARY_WITH_METADATA }")}}};Object.freeze(Us);const Rs=Us;var Ss=new WeakSet;class Ls{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=Ss),t.add(e),this.$objectType="licensing.v4.config.LicenseStateSyncSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o;if(e){if(t=t||new Ls,e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(Rs.constructFromObject(e.operation)),e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(o=[],i=e.clusterExtIds,s=0;s<i.length;s++)o.push(i[s]);t.setClusterExtIds(o)}if(e.hasOwnProperty("entitlementNames")&&null!==e.entitlementNames&&void 0!==e.entitlementNames){for(o=[],i=e.entitlementNames,s=0;s<i.length;s++)o.push(i[s]);t.setEntitlementNames(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())}getOperation(){return this.operation}setOperation(e){this.operation=e}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}getEntitlementNames(){return this.entitlementNames}setEntitlementNames(e){this.entitlementNames=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},...void 0!==this.getEntitlementNames()&&null!==this.getEntitlementNames()?{entitlementNames:this.getEntitlementNames()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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("operation"===t&&(void 0===this.operation||null===this.operation))return new O("operation","undefined or null");if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new O("clusterExtIds","undefined or null");if(!j.validateMaxItems(this.clusterExtIds,100))return new O("clusterExtIds","does not satisfy required maxItems constraint: 100")}if("entitlementNames"===t){if(void 0===this.entitlementNames||null===this.entitlementNames)return new O("entitlementNames","undefined or null");if(!j.validateMaxItems(this.entitlementNames,200))return new O("entitlementNames","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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Ls.prototype.operation=void 0,Ls.prototype.clusterExtIds=void 0,Ls.prototype.entitlementNames=void 0,Ls.prototype.$reserved=void 0,Ls.prototype.$objectType=void 0,Ls.prototype.$unknownFields=void 0;const xs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NO_NODE_ADDITION:"NO_NODE_ADDITION",NO_ADVERTISE_CAPACITY:"NO_ADVERTISE_CAPACITY",NO_SUPPORT:"NO_SUPPORT",NO_CONTAINER_UPDATE:"NO_CONTAINER_UPDATE",NO_LOGIN:"NO_LOGIN",NO_CLUSTER_PAGE:"NO_CLUSTER_PAGE",NO_UPGRADES:"NO_UPGRADES",NO_SECURITY_PATCH:"NO_SECURITY_PATCH",SHOW_NAGWARE:"SHOW_NAGWARE",NO_APP_LAUNCH:"NO_APP_LAUNCH",NO_RUNBOOK:"NO_RUNBOOK",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xs).find(t=>xs[t]===e);return null==t?xs.$UNKNOWN:xs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xs.$UNKNOWN:case xs.$REDACTED:case xs.NO_NODE_ADDITION:case xs.NO_ADVERTISE_CAPACITY:case xs.NO_SUPPORT:case xs.NO_CONTAINER_UPDATE:case xs.NO_LOGIN:case xs.NO_CLUSTER_PAGE:case xs.NO_UPGRADES:case xs.NO_SECURITY_PATCH:case xs.SHOW_NAGWARE:case xs.NO_APP_LAUNCH:case xs.NO_RUNBOOK:return;default:throw new Error("Invalid : must be EnforcementActions.{ $UNKNOWN|$REDACTED|NO_NODE_ADDITION|NO_ADVERTISE_CAPACITY|NO_SUPPORT|NO_CONTAINER_UPDATE|NO_LOGIN|NO_CLUSTER_PAGE|NO_UPGRADES|NO_SECURITY_PATCH|SHOW_NAGWARE|NO_APP_LAUNCH|NO_RUNBOOK }")}}};Object.freeze(xs);const Ms=xs,_s={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LEVEL_10:"LEVEL_10",LEVEL_20:"LEVEL_20",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.LEVEL_10:case _s.LEVEL_20:return;default:throw new Error("Invalid : must be EnforcementLevel.{ $UNKNOWN|$REDACTED|LEVEL_10|LEVEL_20 }")}}};Object.freeze(_s);const Js=_s,Ks={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM:"PRISM",CALM:"CALM",FLOW:"FLOW",OBJECT:"OBJECT",AOS:"AOS",FILE:"FILE",VOLUME_GROUP:"VOLUME_GROUP",NDL:"NDL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ks).find(t=>Ks[t]===e);return null==t?Ks.$UNKNOWN:Ks[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ks.$UNKNOWN:case Ks.$REDACTED:case Ks.PRISM:case Ks.CALM:case Ks.FLOW:case Ks.OBJECT:case Ks.AOS:case Ks.FILE:case Ks.VOLUME_GROUP:case Ks.NDL:return;default:throw new Error("Invalid : must be ProductName.{ $UNKNOWN|$REDACTED|PRISM|CALM|FLOW|OBJECT|AOS|FILE|VOLUME_GROUP|NDL }")}}};Object.freeze(Ks);const Ws=Ks,Vs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LICENSE_EXPIRED:"LICENSE_EXPIRED",FEATURE_VIOLATION:"FEATURE_VIOLATION",CAPACITY_VIOLATION:"CAPACITY_VIOLATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vs).find(t=>Vs[t]===e);return null==t?Vs.$UNKNOWN:Vs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vs.$UNKNOWN:case Vs.$REDACTED:case Vs.LICENSE_EXPIRED:case Vs.FEATURE_VIOLATION:case Vs.CAPACITY_VIOLATION:return;default:throw new Error("Invalid : must be ServiceViolationType.{ $UNKNOWN|$REDACTED|LICENSE_EXPIRED|FEATURE_VIOLATION|CAPACITY_VIOLATION }")}}};Object.freeze(Vs);const qs=Vs;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")}var Bs=new WeakSet;class Gs{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=Bs),t.add(e),this.$objectType="licensing.v4.config.ServiceViolation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Gs,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(qs.constructFromObject(e.type)),e.hasOwnProperty("startDate")&&null!==e.startDate&&void 0!==e.startDate&&t.setStartDate(e.startDate),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}getStartDate(){return this.startDate}setStartDate(e){this.startDate=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.getStartDate()&&null!==this.getStartDate()?{startDate:zs(Bs,this,Ys).call(this,this.getStartDate(),!0)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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"type"!==t||void 0!==this.type&&null!==this.type?"startDate"!==t||void 0!==this.startDate&&null!==this.startDate?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("startDate","undefined or null"):new O("type","undefined or null")}}function Ys(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Gs.prototype.type=void 0,Gs.prototype.startDate=void 0,Gs.prototype.$reserved=void 0,Gs.prototype.$objectType=void 0,Gs.prototype.$unknownFields=void 0;var Hs=new WeakSet;class Qs{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=Hs),t.add(e),this.$objectType="licensing.v4.config.Service",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Qs,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(Ws.constructFromObject(e.name)),e.hasOwnProperty("licenseType")&&null!==e.licenseType&&void 0!==e.licenseType&&t.setLicenseType(At.constructFromObject(e.licenseType)),e.hasOwnProperty("isCompliant")&&null!==e.isCompliant&&void 0!==e.isCompliant&&t.setIsCompliant(e.isCompliant),e.hasOwnProperty("enforcementLevel")&&null!==e.enforcementLevel&&void 0!==e.enforcementLevel&&t.setEnforcementLevel(Js.constructFromObject(e.enforcementLevel)),e.hasOwnProperty("enforcementActions")&&null!==e.enforcementActions&&void 0!==e.enforcementActions){for(r=[],i=e.enforcementActions,o=0;o<i.length;o++)s=Ms.constructFromObject(i[o],void 0),r.push(s);t.setEnforcementActions(r)}if(e.hasOwnProperty("violations")&&null!==e.violations&&void 0!==e.violations){for(r=[],i=e.violations,o=0;o<i.length;o++)s=Gs.constructFromObject(i[o],void 0),r.push(s);t.setViolations(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())}getName(){return this.name}setName(e){this.name=e}getLicenseType(){return this.licenseType}setLicenseType(e){this.licenseType=e}getIsCompliant(){return this.isCompliant}setIsCompliant(e){this.isCompliant=e}getEnforcementLevel(){return this.enforcementLevel}setEnforcementLevel(e){this.enforcementLevel=e}getEnforcementActions(){return this.enforcementActions}setEnforcementActions(e){this.enforcementActions=e}getViolations(){return this.violations}setViolations(e){this.violations=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.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getIsCompliant()&&null!==this.getIsCompliant()?{isCompliant:this.getIsCompliant()}:{},...void 0!==this.getEnforcementLevel()&&null!==this.getEnforcementLevel()?{enforcementLevel:this.getEnforcementLevel()}:{},...void 0!==this.getEnforcementActions()&&null!==this.getEnforcementActions()?{enforcementActions:this.getEnforcementActions()}:{},...void 0!==this.getViolations()&&null!==this.getViolations()?{violations:this.getViolations().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("name"===t&&(void 0===this.name||null===this.name))return new O("name","undefined or null");if("licenseType"===t&&(void 0===this.licenseType||null===this.licenseType))return new O("licenseType","undefined or null");if("isCompliant"===t&&(void 0===this.isCompliant||null===this.isCompliant))return new O("isCompliant","undefined or null");if("enforcementLevel"===t&&(void 0===this.enforcementLevel||null===this.enforcementLevel))return new O("enforcementLevel","undefined or null");if("enforcementActions"===t){if(void 0===this.enforcementActions||null===this.enforcementActions)return new O("enforcementActions","undefined or null");if(!j.validateMaxItems(this.enforcementActions,10))return new O("enforcementActions","does not satisfy required maxItems constraint: 10")}if("violations"===t){if(void 0===this.violations||null===this.violations)return new O("violations","undefined or null");if(!j.validateMaxItems(this.violations,10))return new O("violations","does not satisfy required maxItems constraint: 10")}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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}Qs.prototype.name=void 0,Qs.prototype.licenseType=void 0,Qs.prototype.isCompliant=void 0,Qs.prototype.enforcementLevel=void 0,Qs.prototype.enforcementActions=void 0,Qs.prototype.violations=void 0,Qs.prototype.$reserved=void 0,Qs.prototype.$objectType=void 0,Qs.prototype.$unknownFields=void 0;var Xs=new WeakSet;class Zs extends Kn{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=Xs),t.add(e),this.$objectType="licensing.v4.config.Compliance",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new Zs,Kn.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(Vn.constructFromObject(e.type)),e.hasOwnProperty("services")&&null!==e.services&&void 0!==e.services){for(r=[],i=e.services,o=0;o<i.length;o++)s=Qs.constructFromObject(i[o],void 0),r.push(s);t.setServices(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())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getType(){return this.type}setType(e){this.type=e}getServices(){return this.services}setServices(e){this.services=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().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("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new O("clusterExtId","undefined or null");if(!j.validatePattern(this.clusterExtId,/^[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 O("clusterExtId","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("type"===t&&(void 0===this.type||null===this.type))return new O("type","undefined or null");if("services"===t){if(void 0===this.services||null===this.services)return new O("services","undefined or null");if(!j.validateMaxItems(this.services,20))return new O("services","does not satisfy required maxItems constraint: 20")}return new O(t,"no such property exists")}}Zs.prototype.clusterExtId=void 0,Zs.prototype.type=void 0,Zs.prototype.services=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class eo extends Qs{constructor(){super(),this.$objectType="licensing.v4.config.ServiceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new eo,Qs.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 O(t,"no such property exists")}}var to=new WeakSet;class no extends Zs{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=to),t.add(e),this.$objectType="licensing.v4.config.ComplianceProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,r;if(e){if(t=t||new no,Zs.constructFromObject(e,t,!0),e.hasOwnProperty("serviceProjection")&&null!==e.serviceProjection&&void 0!==e.serviceProjection){for(r=[],i=e.serviceProjection,o=0;o<i.length;o++)s=eo.constructFromObject(i[o],void 0),r.push(s);t.setServiceProjection(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())}getServiceProjection(){return this.serviceProjection}setServiceProjection(e){this.serviceProjection=e}toJson(e){return!1===e?{...void 0!==this.getServiceProjection()&&null!==this.getServiceProjection()?{serviceProjection:this.getServiceProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsMulticluster()&&null!==this.getIsMulticluster()?{isMulticluster:this.getIsMulticluster()}:{},...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.getServiceProjection()&&null!==this.getServiceProjection()?{serviceProjection:this.getServiceProjection().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getServices()&&null!==this.getServices()?{services:this.getServices().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"serviceProjection"!==t||void 0!==this.serviceProjection&&null!==this.serviceProjection?new O(t,"no such property exists"):new O("serviceProjection","undefined or null")}}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")}no.prototype.serviceProjection=void 0,Zs.prototype.clusterExtId=void 0,Zs.prototype.type=void 0,Zs.prototype.services=void 0,Kn.prototype.isMulticluster=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;var so=new WeakSet;class oo extends o{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=so),t.add(e),this.$objectType="licensing.v4.config.ListCompliancesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new oo,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Compliance":s=Zs.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.ComplianceProjection":s=no.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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(so,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(so,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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("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}oo.prototype.metadata=void 0,oo.prototype.data=void 0,oo.prototype.$reserved=void 0,oo.prototype.$objectType=void 0,oo.prototype.$unknownFields=void 0;var ao=new WeakSet;class lo{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=ao),t.add(e),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lo,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),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())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("extId","undefined or null");if(!j.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[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 O("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null")}}function uo(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")}lo.prototype.extId=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;var co=new WeakSet;class ho extends o{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=co),t.add(e),this.$objectType="licensing.v4.config.SyncLicenseStateApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ho,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"prism.v4.config.TaskReference":t.setData(lo.constructFromObject(e.data,void 0));break;case"licensing.v4.error.ErrorResponse":t.setData(Je.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):uo(co,this,po).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):uo(co,this,po).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function po(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 yo(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")}ho.prototype.metadata=void 0,ho.prototype.data=void 0,ho.prototype.$reserved=void 0,ho.prototype.$objectType=void 0,ho.prototype.$unknownFields=void 0;var go=new WeakSet;class vo extends yt{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=go),t.add(e),this.$objectType="licensing.v4.config.Feature",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vo,yt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("valueType")&&null!==e.valueType&&void 0!==e.valueType&&t.setValueType(rs.constructFromObject(e.valueType)),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)switch(i=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,i){case"boolean":case"number":t.setValue(e.value);break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("licenseType")&&null!==e.licenseType&&void 0!==e.licenseType&&t.setLicenseType(At.constructFromObject(e.licenseType)),e.hasOwnProperty("licenseCategory")&&null!==e.licenseCategory&&void 0!==e.licenseCategory&&t.setLicenseCategory(Tt.constructFromObject(e.licenseCategory)),e.hasOwnProperty("licenseSubCategory")&&null!==e.licenseSubCategory&&void 0!==e.licenseSubCategory&&t.setLicenseSubCategory(Gn.constructFromObject(e.licenseSubCategory)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(zn.constructFromObject(e.scope)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===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}getValueType(){return this.valueType}setValueType(e){this.valueType=e}getValue(){return this.value}setValue(e){this.value=e}getLicenseType(){return this.licenseType}setLicenseType(e){this.licenseType=e}getLicenseCategory(){return this.licenseCategory}setLicenseCategory(e){this.licenseCategory=e}getLicenseSubCategory(){return this.licenseSubCategory}setLicenseSubCategory(e){this.licenseSubCategory=e}getScope(){return this.scope}setScope(e){this.scope=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...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):yo(go,this,$o).call(this,this.getValue(),!1)}:{},...void 0!==this.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getLicenseCategory()&&null!==this.getLicenseCategory()?{licenseCategory:this.getLicenseCategory()}:{},...void 0!==this.getLicenseSubCategory()&&null!==this.getLicenseSubCategory()?{licenseSubCategory:this.getLicenseSubCategory()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...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.getValueType()&&null!==this.getValueType()?{valueType:this.getValueType()}:{},...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):yo(go,this,$o).call(this,this.getValue())}:{},...void 0!==this.getLicenseType()&&null!==this.getLicenseType()?{licenseType:this.getLicenseType()}:{},...void 0!==this.getLicenseCategory()&&null!==this.getLicenseCategory()?{licenseCategory:this.getLicenseCategory()}:{},...void 0!==this.getLicenseSubCategory()&&null!==this.getLicenseSubCategory()?{licenseSubCategory:this.getLicenseSubCategory()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&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 O("name","undefined or null");if(!j.validateMaxLength(this.name,100))return new O("name","does not satisfy required maxLength constraint: 100")}return"valueType"!==t||void 0!==this.valueType&&null!==this.valueType?"value"!==t||void 0!==this.value&&null!==this.value?"licenseType"!==t||void 0!==this.licenseType&&null!==this.licenseType?"licenseCategory"!==t||void 0!==this.licenseCategory&&null!==this.licenseCategory?"licenseSubCategory"!==t||void 0!==this.licenseSubCategory&&null!==this.licenseSubCategory?"scope"!==t||void 0!==this.scope&&null!==this.scope?new O(t,"no such property exists"):new O("scope","undefined or null"):new O("licenseSubCategory","undefined or null"):new O("licenseCategory","undefined or null"):new O("licenseType","undefined or null"):new O("value","undefined or null"):new O("valueType","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}vo.prototype.name=void 0,vo.prototype.valueType=void 0,vo.prototype.value=void 0,vo.prototype.licenseType=void 0,vo.prototype.licenseCategory=void 0,vo.prototype.licenseSubCategory=void 0,vo.prototype.scope=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class fo extends vo{constructor(){super(),this.$objectType="licensing.v4.config.FeatureProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fo,vo.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 O(t,"no such property exists")}}function wo(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 bo extends o{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="licensing.v4.config.ListFeaturesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,a,l;if(e){if(t=t||new bo,e.hasOwnProperty("metadata")&&o.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"licensing.v4.config.Feature":s=vo.constructFromObject(i[r],void 0),a.push(s);break;case"licensing.v4.config.FeatureProjection":s=fo.constructFromObject(i[r],void 0),a.push(s);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"licensing.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Je.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):wo(mo,this,To).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):wo(mo,this,To).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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("data","undefined or null"):new O("metadata","undefined or null")}}function To(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}bo.prototype.metadata=void 0,bo.prototype.data=void 0,bo.prototype.$reserved=void 0,bo.prototype.$objectType=void 0,bo.prototype.$unknownFields=void 0;var ko=new WeakSet;class jo{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=ko),n.add(t),this.isEnabled=e,this.$objectType="licensing.v4.config.PortalSetting",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,e.hasOwnProperty("authToken")&&null!==e.authToken&&void 0!==e.authToken&&t.setAuthToken(e.authToken),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),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())}getAuthToken(){return this.authToken}setAuthToken(e){this.authToken=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getAuthToken()&&null!==this.getAuthToken()?{authToken:this.getAuthToken()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...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:{}}:{...void 0!==this.getAuthToken()&&null!==this.getAuthToken()?{authToken:this.getAuthToken()}:{},...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=["isEnabled"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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("authToken"===t){if(void 0===this.authToken||null===this.authToken)return new O("authToken","undefined or null");if(!j.validateMaxLength(this.authToken,256))return new O("authToken","does not satisfy required maxLength constraint: 256")}if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new O("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?([^:\/\\s]*)((\/\\w+)*(:[0-9]+)*?\/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$/))return new O("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?([^:/\\s]*)((/\\w+)*(:[0-9]+)*?/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$/")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"$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 O(t,"no such property exists"):new O("$unknownFields","undefined or null"):new O("$objectType","undefined or null"):new O("$reserved","undefined or null"):new O("isEnabled","undefined or null")}}jo.prototype.authToken=void 0,jo.prototype.endpointUrl=void 0,jo.prototype.isEnabled=void 0,jo.prototype.$reserved=void 0,jo.prototype.$objectType=void 0,jo.prototype.$unknownFields=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PC:"PC",ALL:"ALL",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.PC:case Oo.ALL:return;default:throw new Error("Invalid : must be ResetScope.{ $UNKNOWN|$REDACTED|PC|ALL }")}}};Object.freeze(Oo);const Fo=Oo,Eo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REGISTERED:"REGISTERED",UNREGISTERED:"UNREGISTERED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Eo).find(t=>Eo[t]===e);return null==t?Eo.$UNKNOWN:Eo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Eo.$UNKNOWN:case Eo.$REDACTED:case Eo.REGISTERED:case Eo.UNREGISTERED:return;default:throw new Error("Invalid : must be Status.{ $UNKNOWN|$REDACTED|REGISTERED|UNREGISTERED }")}}};Object.freeze(Eo);const Po=Eo,Do={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ULTIMATE:"ULTIMATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Do).find(t=>Do[t]===e);return null==t?Do.$UNKNOWN:Do[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Do.$UNKNOWN:case Do.$REDACTED:case Do.ULTIMATE:return;default:throw new Error("Invalid : must be TrialCategory.{ $UNKNOWN|$REDACTED|ULTIMATE }")}}};Object.freeze(Do);const Co=Do,Io={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Io).find(t=>Io[t]===e);return null==t?Io.$UNKNOWN:Io[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Io.$UNKNOWN:case Io.$REDACTED:case Io.ACTIVE:case Io.INACTIVE:return;default:throw new Error("Invalid : must be TrialStatus.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(Io);const Ao=Io,No={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NCM:"NCM",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(No).find(t=>No[t]===e);return null==t?No.$UNKNOWN:No[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case No.$UNKNOWN:case No.$REDACTED:case No.NCM:return;default:throw new Error("Invalid : must be TrialType.{ $UNKNOWN|$REDACTED|NCM }")}}};Object.freeze(No);const Uo=No;function Ro(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 So=new WeakSet;class Lo extends yt{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=So),n.add(t),this.type=e,this.$objectType="licensing.v4.config.Trial",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Lo,yt.constructFromObject(e,t,!0),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(Uo.constructFromObject(e.type)),e.hasOwnProperty("category")&&null!==e.category&&void 0!==e.category&&t.setCategory(Co.constructFromObject(e.category)),e.hasOwnProperty("startDate")&&null!==e.startDate&&void 0!==e.startDate&&t.setStartDate(e.startDate),e.hasOwnProperty("endDate")&&null!==e.endDate&&void 0!==e.endDate&&t.setEndDate(e.endDate),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ao.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())}getType(){return this.type}setType(e){this.type=e}getCategory(){return this.category}setCategory(e){this.category=e}getStartDate(){return this.startDate}setStartDate(e){this.startDate=e}getEndDate(){return this.endDate}setEndDate(e){this.endDate=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...void 0!==this.getStartDate()&&null!==this.getStartDate()?{startDate:Ro(So,this,xo).call(this,this.getStartDate(),!0)}:{},...void 0!==this.getEndDate()&&null!==this.getEndDate()?{endDate:Ro(So,this,xo).call(this,this.getEndDate(),!0)}:{},...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.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getCategory()&&null!==this.getCategory()?{category:this.getCategory()}:{},...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=["type"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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?"category"!==t||void 0!==this.category&&null!==this.category?"startDate"!==t||void 0!==this.startDate&&null!==this.startDate?"endDate"!==t||void 0!==this.endDate&&null!==this.endDate?"status"!==t||void 0!==this.status&&null!==this.status?new O(t,"no such property exists"):new O("status","undefined or null"):new O("endDate","undefined or null"):new O("startDate","undefined or null"):new O("category","undefined or null"):new O("type","undefined or null")}}function xo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lo.prototype.type=void 0,Lo.prototype.category=void 0,Lo.prototype.startDate=void 0,Lo.prototype.endDate=void 0,Lo.prototype.status=void 0,yt.prototype.extId=void 0,yt.prototype.links=void 0,ht.prototype.tenantId=void 0;class Mo extends Lo{constructor(e){super(e),this.$objectType="licensing.v4.config.TrialProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mo,Lo.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=["type"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(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 O(t,"no such property exists")}}const _o={ApiClient:le,LicenseKeysApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}addLicenseKey(e,t,...n){let i=n.length>0?n[0]:{};t=t||{};let s=null;if(s=e instanceof Lt&&"function"==typeof e.toJson?e.toJson():e,null==s)throw new Error("Invalid body when calling addLicenseKey");const o={...t.hasOwnProperty("$dryrun")?{$dryrun:t.$dryrun}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(e,a);const l=Wt;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys","POST",{},o,a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}assignLicenseKeys(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling assignLicenseKeys");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=qe;return this.apiClient.callApi("/api/licensing/v4.3/config/$actions/assign-license-keys","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}associateLicenseKeys(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof fn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling associateLicenseKeys");if(null==s)throw new Error("Invalid body when calling associateLicenseKeys");const o={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=it;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}/$actions/associate-license-keys","POST",o,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}deleteLicenseKeyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteLicenseKeyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=Ye;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}","DELETE",i,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getLicenseKeyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getLicenseKeyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=nn;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}","GET",i,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listLicenseKeys(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 o={...s},r=gn;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listReclaimLicenseTokens(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 o={...s},r=Xt;return this.apiClient.callApi("/api/licensing/v4.3/config/reclaim-license-tokens","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}reclaimLicenseKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof rn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling reclaimLicenseKey");if(null==s)throw new Error("Invalid body when calling reclaimLicenseKey");const o={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Ze;return this.apiClient.callApi("/api/licensing/v4.3/config/license-keys/{extId}/$actions/reclaim","POST",o,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},EndUserLicenseAgreementApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}addUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof jn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling addUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=Mn;return this.apiClient.callApi("/api/licensing/v4.3/agreements/eula/$actions/add-user","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}getEula(...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=Rn;return this.apiClient.callApi("/api/licensing/v4.3/agreements/eula","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},LicensesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listAllowances(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 o={...s},r=vs;return this.apiClient.callApi("/api/licensing/v4.3/config/allowances","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listCompliances(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 o={...s},r=oo;return this.apiClient.callApi("/api/licensing/v4.3/config/compliances","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listEntitlements(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 o={...s},r=ri;return this.apiClient.callApi("/api/licensing/v4.3/config/entitlements","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listFeatures(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 o={...s},r=bo;return this.apiClient.callApi("/api/licensing/v4.3/config/features","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listLicenses(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 o={...s},r=Oi;return this.apiClient.callApi("/api/licensing/v4.3/config/licenses","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listRecommendations(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("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s},r=Mi;return this.apiClient.callApi("/api/licensing/v4.3/config/recommendations","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listSettings(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 o={...s},r=is;return this.apiClient.callApi("/api/licensing/v4.3/config/settings","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listViolations(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 o={...s},r=As;return this.apiClient.callApi("/api/licensing/v4.3/config/violations","GET",{},i,o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}syncLicenseState(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Ls&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling syncLicenseState");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const o={...s};le.addEtagReferenceToHeader(e,o);const r=ho;return this.apiClient.callApi("/api/licensing/v4.3/config/$actions/sync-license-state","POST",{},{},o,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}},Flag:E,KVPair:U,MapOfStringWrapper:C,Message:M,MessageSeverity:L,TenantAwareModel:ht,ApiLink:J,ApiResponseMetadata:V,ExternalizableAbstractModel:yt,Acceptance:En,AddUserApiResponse:Mn,EndUser:jn,Eula:In,GetEulaApiResponse:Rn,AddLicenseKeyApiResponse:Wt,AddLicenseKeyDryRunApiResponse:_t,Allowance:us,AllowanceDetail:ls,AllowanceDetailProjection:cs,AllowanceProjection:ps,AssignLicenseKeysApiResponse:qe,AssociateLicenseKeySpec:fn,AssociateLicenseKeysApiResponse:it,AssociationType:jt,BaseClusterInfo:Kn,BaseLicenseInfo:ui,BillingPlan:zi,CapacityViolation:ws,ClusterLicenseKeyMapping:ft,ClusterLicenseKeyMappingProjection:an,ClusterType:Vn,Compliance:Zs,ComplianceProjection:no,Consumption:pi,ConsumptionProjection:fi,ConsumptionType:Gi,DeleteLicenseKeyApiResponse:Ye,DryRunCheck:lt,DryRunStatus:rt,DryRunValidationResult:ut,EnforcementActions:Ms,EnforcementLevel:Js,EnforcementPolicy:mt,Entitlement:ei,EntitlementDetail:Qn,EntitlementDetailProjection:ti,EntitlementProjection:ii,ExpiredLicense:Ts,Feature:vo,FeatureDetail:Os,FeatureProjection:fo,FeatureViolation:Es,GetLicenseKeyApiResponse:nn,License:vi,LicenseCategory:Tt,LicenseClass:Ki,LicenseKey:Lt,LicenseKeyAssignment:mn,LicenseKeyAssignmentSpec:Tn,LicenseKeyAssociation:Pt,LicenseKeyAssociationProjection:ln,LicenseKeyMapping:vt,LicenseKeyProjection:cn,LicenseKeySubCategory:Ct,LicenseProjection:bi,LicenseStateSyncSpec:Ls,LicenseType:At,ListAllowancesApiResponse:vs,ListCompliancesApiResponse:oo,ListEntitlementsApiResponse:ri,ListFeaturesApiResponse:bo,ListLicenseKeysApiResponse:gn,ListLicensesApiResponse:Oi,ListReclaimLicenseTokensApiResponse:Xt,ListRecommendationsApiResponse:Mi,ListSettingsApiResponse:is,ListViolationsApiResponse:As,LogicalVersion:Vi,Meter:Ut,OperationType:Pi,PortalSetting:jo,PostPaidCategory:Hi,PostPaidConfig:Xi,ProductName:Ws,ReclaimLicenseKeyApiResponse:Ze,ReclaimLicenseKeySpec:rn,ReclaimLicenseToken:Bt,ReclaimLicenseTokenProjection:Yt,ReclaimType:Ft,Recommendation:Si,RecommendationDetail:Ni,RecommendationScope:Ci,ResetScope:Fo,Scope:zn,Service:Qs,ServiceProjection:eo,ServiceViolation:Gs,ServiceViolationType:qs,Setting:es,Status:Po,SubCategory:Gn,SyncLicenseStateApiResponse:ho,SyncOperationType:Rs,Trial:Lo,TrialCategory:Co,TrialProjection:Mo,TrialStatus:Ao,TrialType:Uo,ValueType:rs,Violation:Ds,AppMessage:Ie,ErrorResponse:Je,SchemaValidationError:Le,SchemaValidationErrorMessage:Ue,TaskReference:lo}})(),i.default})());
|