func (in *SecretRef) DeepCopyInto(out *SecretRef) {
	*out = *in
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha1
import (
	legacyconfigv1 "github.com/openshift/api/legacyconfig/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AzureProvider) DeepCopyInto(out *AzureProvider) {
	*out = *in
	if in.BaseGroups != nil {
		in, out := &in.BaseGroups, &out.BaseGroups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
	if in.UserNameAttributes != nil {
		in, out := &in.UserNameAttributes, &out.UserNameAttributes
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
}
func (in *AzureProvider) DeepCopy() *AzureProvider {
	if in == nil {
		return nil
	}
	out := new(AzureProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GitHubProvider) DeepCopyInto(out *GitHubProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Teams != nil {
		in, out := &in.Teams, &out.Teams
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
	if in.V4URL != nil {
		in, out := &in.V4URL, &out.V4URL
		*out = new(string)
		**out = **in
	}
}
func (in *GitHubProvider) DeepCopy() *GitHubProvider {
	if in == nil {
		return nil
	}
	out := new(GitHubProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GitLabProvider) DeepCopyInto(out *GitLabProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
}
func (in *GitLabProvider) DeepCopy() *GitLabProvider {
	if in == nil {
		return nil
	}
	out := new(GitLabProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSync) DeepCopyInto(out *GroupSync) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *GroupSync) DeepCopy() *GroupSync {
	if in == nil {
		return nil
	}
	out := new(GroupSync)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSync) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GroupSyncList) DeepCopyInto(out *GroupSyncList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]GroupSync, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GroupSyncList) DeepCopy() *GroupSyncList {
	if in == nil {
		return nil
	}
	out := new(GroupSyncList)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSyncList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GroupSyncSpec) DeepCopyInto(out *GroupSyncSpec) {
	*out = *in
	if in.Providers != nil {
		in, out := &in.Providers, &out.Providers
		*out = make([]Provider, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GroupSyncSpec) DeepCopy() *GroupSyncSpec {
	if in == nil {
		return nil
	}
	out := new(GroupSyncSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSyncStatus) DeepCopyInto(out *GroupSyncStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LastSyncSuccessTime != nil {
		in, out := &in.LastSyncSuccessTime, &out.LastSyncSuccessTime
		*out = (*in).DeepCopy()
	}
}
func (in *GroupSyncStatus) DeepCopy() *GroupSyncStatus {
	if in == nil {
		return nil
	}
	out := new(GroupSyncStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *KeycloakProvider) DeepCopyInto(out *KeycloakProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *KeycloakProvider) DeepCopy() *KeycloakProvider {
	if in == nil {
		return nil
	}
	out := new(KeycloakProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *LdapProvider) DeepCopyInto(out *LdapProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.LDAPGroupUIDToOpenShiftGroupNameMapping != nil {
		in, out := &in.LDAPGroupUIDToOpenShiftGroupNameMapping, &out.LDAPGroupUIDToOpenShiftGroupNameMapping
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.RFC2307Config != nil {
		in, out := &in.RFC2307Config, &out.RFC2307Config
		*out = new(legacyconfigv1.RFC2307Config)
		(*in).DeepCopyInto(*out)
	}
	if in.ActiveDirectoryConfig != nil {
		in, out := &in.ActiveDirectoryConfig, &out.ActiveDirectoryConfig
		*out = new(legacyconfigv1.ActiveDirectoryConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.AugmentedActiveDirectoryConfig != nil {
		in, out := &in.AugmentedActiveDirectoryConfig, &out.AugmentedActiveDirectoryConfig
		*out = new(legacyconfigv1.AugmentedActiveDirectoryConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
	if in.Whitelist != nil {
		in, out := &in.Whitelist, &out.Whitelist
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
	if in.Blacklist != nil {
		in, out := &in.Blacklist, &out.Blacklist
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
}
func (in *LdapProvider) DeepCopy() *LdapProvider {
	if in == nil {
		return nil
	}
	out := new(LdapProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *OktaProvider) DeepCopyInto(out *OktaProvider) {
	*out = *in
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *OktaProvider) DeepCopy() *OktaProvider {
	if in == nil {
		return nil
	}
	out := new(OktaProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *Provider) DeepCopyInto(out *Provider) {
	*out = *in
	if in.ProviderType != nil {
		in, out := &in.ProviderType, &out.ProviderType
		*out = new(ProviderType)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Provider) DeepCopy() *Provider {
	if in == nil {
		return nil
	}
	out := new(Provider)
	in.DeepCopyInto(out)
	return out
}
func (in *ProviderType) DeepCopyInto(out *ProviderType) {
	*out = *in
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.GitHub != nil {
		in, out := &in.GitHub, &out.GitHub
		*out = new(GitHubProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.GitLab != nil {
		in, out := &in.GitLab, &out.GitLab
		*out = new(GitLabProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.Ldap != nil {
		in, out := &in.Ldap, &out.Ldap
		*out = new(LdapProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.Keycloak != nil {
		in, out := &in.Keycloak, &out.Keycloak
		*out = new(KeycloakProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.Okta != nil {
		in, out := &in.Okta, &out.Okta
		*out = new(OktaProvider)
		(*in).DeepCopyInto(*out)
	}
}
func (in *ProviderType) DeepCopy() *ProviderType {
	if in == nil {
		return nil
	}
	out := new(ProviderType)
	in.DeepCopyInto(out)
	return out
}