public class IntuneBrandingProfile extends Entity implements com.github.davidmoten.odata.client.ODataEntityType
| Modifier and Type | Class and Description |
|---|---|
static class |
IntuneBrandingProfile.Builder |
changedFields, contextPath, id, odataType, unmappedFields| Modifier | Constructor and Description |
|---|---|
protected |
IntuneBrandingProfile() |
| Modifier and Type | Method and Description |
|---|---|
com.github.davidmoten.odata.client.ActionRequestNoReturn |
assign(List<IntuneBrandingProfileAssignment> assignments) |
static IntuneBrandingProfile.Builder |
builderIntuneBrandingProfile()
Returns a builder which is used to create a new
instance of this class (given that this class is immutable).
|
IntuneBrandingProfileAssignmentCollectionRequest |
getAssignments()
“The list of group assignments for the branding profile”
|
com.github.davidmoten.odata.client.internal.ChangedFields |
getChangedFields() |
com.github.davidmoten.odata.client.CollectionPage<CompanyPortalBlockedAction> |
getCompanyPortalBlockedActions()
“Collection of blocked actions on the company portal as per platform and device
ownership types.”
|
Optional<String> |
getContactITEmailAddress()
“E-mail address of the person/organization responsible for IT support”
|
Optional<String> |
getContactITName()
“Name of the person/organization responsible for IT support”
|
Optional<String> |
getContactITNotes()
“Text comments regarding the person/organization responsible for IT support”
|
Optional<String> |
getContactITPhoneNumber()
“Phone number of the person/organization responsible for IT support”
|
Optional<OffsetDateTime> |
getCreatedDateTime()
“Time when the BrandingProfile was created”
|
Optional<String> |
getCustomPrivacyMessage()
“Text comments regarding what the admin has access to on the device”
|
Optional<String> |
getDisplayName()
“Company/organization name that is displayed to end users”
|
Optional<EnrollmentAvailabilityOptions> |
getEnrollmentAvailability()
“Customized device enrollment flow displayed to the end user”
|
Optional<Boolean> |
getIsDefaultProfile()
“Boolean that represents whether the profile is used as default or not”
|
Optional<Boolean> |
getIsFactoryResetDisabled()
“Boolean that represents whether the adminsistrator has disabled the 'Factory
Reset' action on corporate owned devices.”
|
Optional<Boolean> |
getIsRemoveDeviceDisabled()
“Boolean that represents whether the adminsistrator has disabled the 'Remove
Device' action on corporate owned devices.”
|
Optional<MimeContent> |
getLandingPageCustomizedImage()
“Customized image displayed in Company Portal apps landing page”
|
Optional<OffsetDateTime> |
getLastModifiedDateTime()
“Time when the BrandingProfile was last modified”
|
Optional<MimeContent> |
getLightBackgroundLogo()
“Logo image displayed in Company Portal apps which have a light background behind
the logo”
|
Optional<String> |
getOnlineSupportSiteName()
“Display name of the company/organization’s IT helpdesk site”
|
Optional<String> |
getOnlineSupportSiteUrl()
“URL to the company/organization’s IT helpdesk site”
|
Optional<String> |
getPrivacyUrl()
“URL to the company/organization’s privacy policy”
|
Optional<String> |
getProfileDescription()
“Description of the profile”
|
Optional<String> |
getProfileName()
“Name of the profile”
|
com.github.davidmoten.odata.client.CollectionPage<String> |
getRoleScopeTagIds()
“List of scope tags assigned to the branding profile”
|
Optional<Boolean> |
getSendDeviceOwnershipChangePushNotification()
“Boolean that indicates if a push notification is sent to users when their device
ownership type changes from personal to corporate”
|
Optional<Boolean> |
getShowAzureADEnterpriseApps()
“Boolean that indicates if AzureAD Enterprise Apps will be shown in Company
Portal”
|
Optional<Boolean> |
getShowDisplayNameNextToLogo()
“Boolean that represents whether the administrator-supplied display name will be
shown next to the logo image or not”
|
Optional<Boolean> |
getShowLogo()
“Boolean that represents whether the administrator-supplied logo images are shown
or not”
|
Optional<Boolean> |
getShowOfficeWebApps()
“Boolean that indicates if Office WebApps will be shown in Company Portal”
|
Optional<RgbColor> |
getThemeColor()
“Primary theme color used in the Company Portal applications and web portal”
|
Optional<MimeContent> |
getThemeColorLogo()
“Logo image displayed in Company Portal apps which have a theme color background
behind the logo”
|
com.github.davidmoten.odata.client.internal.UnmappedFields |
getUnmappedFields() |
String |
odataTypeName() |
IntuneBrandingProfile |
patch()
Submits only changed fields for update and returns an
immutable copy of
this with changed fields reset. |
void |
postInject(boolean addKeysToContextPath) |
IntuneBrandingProfile |
put()
Submits all fields for update and returns an immutable copy of
this
with changed fields reset (they were ignored anyway). |
String |
toString() |
IntuneBrandingProfile |
withContactITEmailAddress(String contactITEmailAddress)
Returns an immutable copy of
this with just the contactITEmailAddress field changed. |
IntuneBrandingProfile |
withContactITName(String contactITName)
Returns an immutable copy of
this with just the contactITName
field changed. |
IntuneBrandingProfile |
withContactITNotes(String contactITNotes)
Returns an immutable copy of
this with just the contactITNotes
field changed. |
IntuneBrandingProfile |
withContactITPhoneNumber(String contactITPhoneNumber)
Returns an immutable copy of
this with just the contactITPhoneNumber field changed. |
IntuneBrandingProfile |
withCreatedDateTime(OffsetDateTime createdDateTime)
Returns an immutable copy of
this with just the createdDateTime
field changed. |
IntuneBrandingProfile |
withCustomPrivacyMessage(String customPrivacyMessage)
Returns an immutable copy of
this with just the customPrivacyMessage field changed. |
IntuneBrandingProfile |
withDisplayName(String displayName)
Returns an immutable copy of
this with just the displayName
field changed. |
IntuneBrandingProfile |
withEnrollmentAvailability(EnrollmentAvailabilityOptions enrollmentAvailability)
Returns an immutable copy of
this with just the enrollmentAvailability field changed. |
IntuneBrandingProfile |
withIsDefaultProfile(Boolean isDefaultProfile)
Returns an immutable copy of
this with just the isDefaultProfile
field changed. |
IntuneBrandingProfile |
withIsFactoryResetDisabled(Boolean isFactoryResetDisabled)
Returns an immutable copy of
this with just the isFactoryResetDisabled field changed. |
IntuneBrandingProfile |
withIsRemoveDeviceDisabled(Boolean isRemoveDeviceDisabled)
Returns an immutable copy of
this with just the isRemoveDeviceDisabled field changed. |
IntuneBrandingProfile |
withLandingPageCustomizedImage(MimeContent landingPageCustomizedImage)
Returns an immutable copy of
this with just the landingPageCustomizedImage field changed. |
IntuneBrandingProfile |
withLastModifiedDateTime(OffsetDateTime lastModifiedDateTime)
Returns an immutable copy of
this with just the lastModifiedDateTime field changed. |
IntuneBrandingProfile |
withLightBackgroundLogo(MimeContent lightBackgroundLogo)
Returns an immutable copy of
this with just the lightBackgroundLogo field changed. |
IntuneBrandingProfile |
withOnlineSupportSiteName(String onlineSupportSiteName)
Returns an immutable copy of
this with just the onlineSupportSiteName field changed. |
IntuneBrandingProfile |
withOnlineSupportSiteUrl(String onlineSupportSiteUrl)
Returns an immutable copy of
this with just the onlineSupportSiteUrl field changed. |
IntuneBrandingProfile |
withPrivacyUrl(String privacyUrl)
Returns an immutable copy of
this with just the privacyUrl field
changed. |
IntuneBrandingProfile |
withProfileDescription(String profileDescription)
Returns an immutable copy of
this with just the profileDescription field changed. |
IntuneBrandingProfile |
withProfileName(String profileName)
Returns an immutable copy of
this with just the profileName
field changed. |
IntuneBrandingProfile |
withSendDeviceOwnershipChangePushNotification(Boolean sendDeviceOwnershipChangePushNotification)
Returns an immutable copy of
this with just the sendDeviceOwnershipChangePushNotification field changed. |
IntuneBrandingProfile |
withShowAzureADEnterpriseApps(Boolean showAzureADEnterpriseApps)
Returns an immutable copy of
this with just the showAzureADEnterpriseApps field changed. |
IntuneBrandingProfile |
withShowDisplayNameNextToLogo(Boolean showDisplayNameNextToLogo)
Returns an immutable copy of
this with just the showDisplayNameNextToLogo field changed. |
IntuneBrandingProfile |
withShowLogo(Boolean showLogo)
Returns an immutable copy of
this with just the showLogo field
changed. |
IntuneBrandingProfile |
withShowOfficeWebApps(Boolean showOfficeWebApps)
Returns an immutable copy of
this with just the showOfficeWebApps
field changed. |
IntuneBrandingProfile |
withThemeColor(RgbColor themeColor)
Returns an immutable copy of
this with just the themeColor field
changed. |
IntuneBrandingProfile |
withThemeColorLogo(MimeContent themeColorLogo)
Returns an immutable copy of
this with just the themeColorLogo
field changed. |
protected String profileName
protected String profileDescription
protected Boolean isDefaultProfile
protected OffsetDateTime createdDateTime
protected OffsetDateTime lastModifiedDateTime
protected String displayName
protected RgbColor themeColor
protected Boolean showLogo
protected Boolean showDisplayNameNextToLogo
protected MimeContent themeColorLogo
protected MimeContent lightBackgroundLogo
protected MimeContent landingPageCustomizedImage
protected String contactITName
protected String contactITPhoneNumber
protected String contactITEmailAddress
protected String contactITNotes
protected String onlineSupportSiteUrl
protected String onlineSupportSiteName
protected String privacyUrl
protected String customPrivacyMessage
protected Boolean isRemoveDeviceDisabled
protected Boolean isFactoryResetDisabled
protected List<CompanyPortalBlockedAction> companyPortalBlockedActions
protected String companyPortalBlockedActionsNextLink
protected Boolean showAzureADEnterpriseApps
protected Boolean showOfficeWebApps
protected Boolean sendDeviceOwnershipChangePushNotification
protected EnrollmentAvailabilityOptions enrollmentAvailability
protected String roleScopeTagIdsNextLink
public String odataTypeName()
odataTypeName in interface com.github.davidmoten.odata.client.ODataTypeodataTypeName in class Entitypublic static IntuneBrandingProfile.Builder builderIntuneBrandingProfile()
public com.github.davidmoten.odata.client.internal.ChangedFields getChangedFields()
getChangedFields in interface com.github.davidmoten.odata.client.ODataEntityTypegetChangedFields in class Entitypublic void postInject(boolean addKeysToContextPath)
postInject in interface com.github.davidmoten.odata.client.ODataTypepostInject in class Entitypublic Optional<String> getProfileName()
public IntuneBrandingProfile withProfileName(String profileName)
this with just the profileName
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Name of the profile”
profileName - new value of profileName field (as defined in service metadata)this with just the profileName field changedpublic Optional<String> getProfileDescription()
public IntuneBrandingProfile withProfileDescription(String profileDescription)
this with just the profileDescription field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Description of the profile”
profileDescription - new value of profileDescription field (as defined in service metadata)this with just the profileDescription field changedpublic Optional<Boolean> getIsDefaultProfile()
public IntuneBrandingProfile withIsDefaultProfile(Boolean isDefaultProfile)
this with just the isDefaultProfile
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Boolean that represents whether the profile is used as default or not”
isDefaultProfile - new value of isDefaultProfile field (as defined in service metadata)this with just the isDefaultProfile field changedpublic Optional<OffsetDateTime> getCreatedDateTime()
public IntuneBrandingProfile withCreatedDateTime(OffsetDateTime createdDateTime)
this with just the createdDateTime
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Time when the BrandingProfile was created”
createdDateTime - new value of createdDateTime field (as defined in service metadata)this with just the createdDateTime field changedpublic Optional<OffsetDateTime> getLastModifiedDateTime()
public IntuneBrandingProfile withLastModifiedDateTime(OffsetDateTime lastModifiedDateTime)
this with just the lastModifiedDateTime field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Time when the BrandingProfile was last modified”
lastModifiedDateTime - new value of lastModifiedDateTime field (as defined in service metadata)this with just the lastModifiedDateTime field changedpublic Optional<String> getDisplayName()
public IntuneBrandingProfile withDisplayName(String displayName)
this with just the displayName
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Company/organization name that is displayed to end users”
displayName - new value of displayName field (as defined in service metadata)this with just the displayName field changedpublic Optional<RgbColor> getThemeColor()
public IntuneBrandingProfile withThemeColor(RgbColor themeColor)
this with just the themeColor field
changed. Field description below. The field name is also added to an internal
map of changed fields in the returned object so that when this.patch()
is called (if available)on the returned object only the changed fields are
submitted.
“Primary theme color used in the Company Portal applications and web portal”
themeColor - new value of themeColor field (as defined in service metadata)this with just the themeColor field changedpublic Optional<Boolean> getShowLogo()
public IntuneBrandingProfile withShowLogo(Boolean showLogo)
this with just the showLogo field
changed. Field description below. The field name is also added to an internal
map of changed fields in the returned object so that when this.patch()
is called (if available)on the returned object only the changed fields are
submitted.
“Boolean that represents whether the administrator-supplied logo images are shown or not”
showLogo - new value of showLogo field (as defined in service metadata)this with just the showLogo field changedpublic Optional<Boolean> getShowDisplayNameNextToLogo()
public IntuneBrandingProfile withShowDisplayNameNextToLogo(Boolean showDisplayNameNextToLogo)
this with just the showDisplayNameNextToLogo field changed. Field description below. The field
name is also added to an internal map of changed fields in the returned object
so that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Boolean that represents whether the administrator-supplied display name will be shown next to the logo image or not”
showDisplayNameNextToLogo - new value of showDisplayNameNextToLogo field (as defined in service metadata)this with just the showDisplayNameNextToLogo field changedpublic Optional<MimeContent> getThemeColorLogo()
public IntuneBrandingProfile withThemeColorLogo(MimeContent themeColorLogo)
this with just the themeColorLogo
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Logo image displayed in Company Portal apps which have a theme color background behind the logo”
themeColorLogo - new value of themeColorLogo field (as defined in service metadata)this with just the themeColorLogo field changedpublic Optional<MimeContent> getLightBackgroundLogo()
public IntuneBrandingProfile withLightBackgroundLogo(MimeContent lightBackgroundLogo)
this with just the lightBackgroundLogo field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Logo image displayed in Company Portal apps which have a light background behind the logo”
lightBackgroundLogo - new value of lightBackgroundLogo field (as defined in service metadata)this with just the lightBackgroundLogo field changedpublic Optional<MimeContent> getLandingPageCustomizedImage()
public IntuneBrandingProfile withLandingPageCustomizedImage(MimeContent landingPageCustomizedImage)
this with just the landingPageCustomizedImage field changed. Field description below. The field
name is also added to an internal map of changed fields in the returned object
so that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Customized image displayed in Company Portal apps landing page”
landingPageCustomizedImage - new value of landingPageCustomizedImage field (as defined in service metadata)this with just the landingPageCustomizedImage field changedpublic Optional<String> getContactITName()
public IntuneBrandingProfile withContactITName(String contactITName)
this with just the contactITName
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Name of the person/organization responsible for IT support”
contactITName - new value of contactITName field (as defined in service metadata)this with just the contactITName field changedpublic Optional<String> getContactITPhoneNumber()
public IntuneBrandingProfile withContactITPhoneNumber(String contactITPhoneNumber)
this with just the contactITPhoneNumber field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Phone number of the person/organization responsible for IT support”
contactITPhoneNumber - new value of contactITPhoneNumber field (as defined in service metadata)this with just the contactITPhoneNumber field changedpublic Optional<String> getContactITEmailAddress()
public IntuneBrandingProfile withContactITEmailAddress(String contactITEmailAddress)
this with just the contactITEmailAddress field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“E-mail address of the person/organization responsible for IT support”
contactITEmailAddress - new value of contactITEmailAddress field (as defined in service metadata)this with just the contactITEmailAddress field changedpublic Optional<String> getContactITNotes()
public IntuneBrandingProfile withContactITNotes(String contactITNotes)
this with just the contactITNotes
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Text comments regarding the person/organization responsible for IT support”
contactITNotes - new value of contactITNotes field (as defined in service metadata)this with just the contactITNotes field changedpublic Optional<String> getOnlineSupportSiteUrl()
public IntuneBrandingProfile withOnlineSupportSiteUrl(String onlineSupportSiteUrl)
this with just the onlineSupportSiteUrl field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“URL to the company/organization’s IT helpdesk site”
onlineSupportSiteUrl - new value of onlineSupportSiteUrl field (as defined in service metadata)this with just the onlineSupportSiteUrl field changedpublic Optional<String> getOnlineSupportSiteName()
public IntuneBrandingProfile withOnlineSupportSiteName(String onlineSupportSiteName)
this with just the onlineSupportSiteName field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Display name of the company/organization’s IT helpdesk site”
onlineSupportSiteName - new value of onlineSupportSiteName field (as defined in service metadata)this with just the onlineSupportSiteName field changedpublic Optional<String> getPrivacyUrl()
public IntuneBrandingProfile withPrivacyUrl(String privacyUrl)
this with just the privacyUrl field
changed. Field description below. The field name is also added to an internal
map of changed fields in the returned object so that when this.patch()
is called (if available)on the returned object only the changed fields are
submitted.
“URL to the company/organization’s privacy policy”
privacyUrl - new value of privacyUrl field (as defined in service metadata)this with just the privacyUrl field changedpublic Optional<String> getCustomPrivacyMessage()
public IntuneBrandingProfile withCustomPrivacyMessage(String customPrivacyMessage)
this with just the customPrivacyMessage field changed. Field description below. The field name is
also added to an internal map of changed fields in the returned object so that
when this.patch() is called (if available)on the returned object only
the changed fields are submitted.
“Text comments regarding what the admin has access to on the device”
customPrivacyMessage - new value of customPrivacyMessage field (as defined in service metadata)this with just the customPrivacyMessage field changedpublic Optional<Boolean> getIsRemoveDeviceDisabled()
public IntuneBrandingProfile withIsRemoveDeviceDisabled(Boolean isRemoveDeviceDisabled)
this with just the isRemoveDeviceDisabled field changed. Field description below. The field name
is also added to an internal map of changed fields in the returned object so
that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Boolean that represents whether the adminsistrator has disabled the 'Remove Device' action on corporate owned devices.”
isRemoveDeviceDisabled - new value of isRemoveDeviceDisabled field (as defined in service metadata)this with just the isRemoveDeviceDisabled field changedpublic Optional<Boolean> getIsFactoryResetDisabled()
public IntuneBrandingProfile withIsFactoryResetDisabled(Boolean isFactoryResetDisabled)
this with just the isFactoryResetDisabled field changed. Field description below. The field name
is also added to an internal map of changed fields in the returned object so
that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Boolean that represents whether the adminsistrator has disabled the 'Factory Reset' action on corporate owned devices.”
isFactoryResetDisabled - new value of isFactoryResetDisabled field (as defined in service metadata)this with just the isFactoryResetDisabled field changedpublic com.github.davidmoten.odata.client.CollectionPage<CompanyPortalBlockedAction> getCompanyPortalBlockedActions()
public Optional<Boolean> getShowAzureADEnterpriseApps()
public IntuneBrandingProfile withShowAzureADEnterpriseApps(Boolean showAzureADEnterpriseApps)
this with just the showAzureADEnterpriseApps field changed. Field description below. The field
name is also added to an internal map of changed fields in the returned object
so that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Boolean that indicates if AzureAD Enterprise Apps will be shown in Company Portal”
showAzureADEnterpriseApps - new value of showAzureADEnterpriseApps field (as defined in service metadata)this with just the showAzureADEnterpriseApps field changedpublic Optional<Boolean> getShowOfficeWebApps()
public IntuneBrandingProfile withShowOfficeWebApps(Boolean showOfficeWebApps)
this with just the showOfficeWebApps
field changed. Field description below. The field name is also added to an
internal map of changed fields in the returned object so that when this.
patch() is called (if available)on the returned object only the changed fields
are submitted.
“Boolean that indicates if Office WebApps will be shown in Company Portal”
showOfficeWebApps - new value of showOfficeWebApps field (as defined in service metadata)this with just the showOfficeWebApps field changedpublic Optional<Boolean> getSendDeviceOwnershipChangePushNotification()
public IntuneBrandingProfile withSendDeviceOwnershipChangePushNotification(Boolean sendDeviceOwnershipChangePushNotification)
this with just the sendDeviceOwnershipChangePushNotification field changed. Field description
below. The field name is also added to an internal map of changed fields in the
returned object so that when this.patch() is called (if available)on the
returned object only the changed fields are submitted.
“Boolean that indicates if a push notification is sent to users when their device ownership type changes from personal to corporate”
sendDeviceOwnershipChangePushNotification - new value of sendDeviceOwnershipChangePushNotification field (as defined in service metadata)this with just the sendDeviceOwnershipChangePushNotification field changedpublic Optional<EnrollmentAvailabilityOptions> getEnrollmentAvailability()
public IntuneBrandingProfile withEnrollmentAvailability(EnrollmentAvailabilityOptions enrollmentAvailability)
this with just the enrollmentAvailability field changed. Field description below. The field name
is also added to an internal map of changed fields in the returned object so
that when this.patch() is called (if available)on the returned object
only the changed fields are submitted.
“Customized device enrollment flow displayed to the end user”
enrollmentAvailability - new value of enrollmentAvailability field (as defined in service metadata)this with just the enrollmentAvailability field changedpublic com.github.davidmoten.odata.client.CollectionPage<String> getRoleScopeTagIds()
public IntuneBrandingProfileAssignmentCollectionRequest getAssignments()
public com.github.davidmoten.odata.client.internal.UnmappedFields getUnmappedFields()
getUnmappedFields in interface com.github.davidmoten.odata.client.ODataTypegetUnmappedFields in class Entitypublic IntuneBrandingProfile patch()
this with changed fields reset.public IntuneBrandingProfile put()
this
with changed fields reset (they were ignored anyway).public com.github.davidmoten.odata.client.ActionRequestNoReturn assign(List<IntuneBrandingProfileAssignment> assignments)
Copyright © 2018–2020. All rights reserved.