//go:build !ignore_autogenerated

// Code generated by controller-gen. DO NOT EDIT.

package v1alpha1

import (
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunArgument) DeepCopyInto(out *AnalysisRunArgument) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunArgument.
func (in *AnalysisRunArgument) DeepCopy() *AnalysisRunArgument {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunArgument)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunMetadata) DeepCopyInto(out *AnalysisRunMetadata) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunMetadata.
func (in *AnalysisRunMetadata) DeepCopy() *AnalysisRunMetadata {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunReference) DeepCopyInto(out *AnalysisRunReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunReference.
func (in *AnalysisRunReference) DeepCopy() *AnalysisRunReference {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisTemplateReference) DeepCopyInto(out *AnalysisTemplateReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplateReference.
func (in *AnalysisTemplateReference) DeepCopy() *AnalysisTemplateReference {
	if in == nil {
		return nil
	}
	out := new(AnalysisTemplateReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApprovedStage) DeepCopyInto(out *ApprovedStage) {
	*out = *in
	if in.ApprovedAt != nil {
		in, out := &in.ApprovedAt, &out.ApprovedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApprovedStage.
func (in *ApprovedStage) DeepCopy() *ApprovedStage {
	if in == nil {
		return nil
	}
	out := new(ApprovedStage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppHealthStatus) DeepCopyInto(out *ArgoCDAppHealthStatus) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppHealthStatus.
func (in *ArgoCDAppHealthStatus) DeepCopy() *ArgoCDAppHealthStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppHealthStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppStatus) DeepCopyInto(out *ArgoCDAppStatus) {
	*out = *in
	out.HealthStatus = in.HealthStatus
	in.SyncStatus.DeepCopyInto(&out.SyncStatus)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppStatus.
func (in *ArgoCDAppStatus) DeepCopy() *ArgoCDAppStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppSyncStatus) DeepCopyInto(out *ArgoCDAppSyncStatus) {
	*out = *in
	if in.Revisions != nil {
		in, out := &in.Revisions, &out.Revisions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppSyncStatus.
func (in *ArgoCDAppSyncStatus) DeepCopy() *ArgoCDAppSyncStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppSyncStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArtifactoryWebhookReceiverConfig) DeepCopyInto(out *ArtifactoryWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactoryWebhookReceiverConfig.
func (in *ArtifactoryWebhookReceiverConfig) DeepCopy() *ArtifactoryWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(ArtifactoryWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AutoPromotionOptions) DeepCopyInto(out *AutoPromotionOptions) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoPromotionOptions.
func (in *AutoPromotionOptions) DeepCopy() *AutoPromotionOptions {
	if in == nil {
		return nil
	}
	out := new(AutoPromotionOptions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureWebhookReceiverConfig) DeepCopyInto(out *AzureWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureWebhookReceiverConfig.
func (in *AzureWebhookReceiverConfig) DeepCopy() *AzureWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(AzureWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BitbucketWebhookReceiverConfig) DeepCopyInto(out *BitbucketWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BitbucketWebhookReceiverConfig.
func (in *BitbucketWebhookReceiverConfig) DeepCopy() *BitbucketWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(BitbucketWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Chart) DeepCopyInto(out *Chart) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (in *Chart) DeepCopy() *Chart {
	if in == nil {
		return nil
	}
	out := new(Chart)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartDiscoveryResult) DeepCopyInto(out *ChartDiscoveryResult) {
	*out = *in
	if in.Versions != nil {
		in, out := &in.Versions, &out.Versions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartDiscoveryResult.
func (in *ChartDiscoveryResult) DeepCopy() *ChartDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(ChartDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartSubscription) DeepCopyInto(out *ChartSubscription) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartSubscription.
func (in *ChartSubscription) DeepCopy() *ChartSubscription {
	if in == nil {
		return nil
	}
	out := new(ChartSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.
func (in *ClusterConfig) DeepCopy() *ClusterConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterConfigList) DeepCopyInto(out *ClusterConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigList.
func (in *ClusterConfigList) DeepCopy() *ClusterConfigList {
	if in == nil {
		return nil
	}
	out := new(ClusterConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec) {
	*out = *in
	if in.WebhookReceivers != nil {
		in, out := &in.WebhookReceivers, &out.WebhookReceivers
		*out = make([]WebhookReceiverConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigSpec.
func (in *ClusterConfigSpec) DeepCopy() *ClusterConfigSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterConfigStatus) DeepCopyInto(out *ClusterConfigStatus) {
	*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.WebhookReceivers != nil {
		in, out := &in.WebhookReceivers, &out.WebhookReceivers
		*out = make([]WebhookReceiverDetails, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigStatus.
func (in *ClusterConfigStatus) DeepCopy() *ClusterConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPromotionTask) DeepCopyInto(out *ClusterPromotionTask) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPromotionTask.
func (in *ClusterPromotionTask) DeepCopy() *ClusterPromotionTask {
	if in == nil {
		return nil
	}
	out := new(ClusterPromotionTask)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterPromotionTask) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterPromotionTaskList) DeepCopyInto(out *ClusterPromotionTaskList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterPromotionTask, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPromotionTaskList.
func (in *ClusterPromotionTaskList) DeepCopy() *ClusterPromotionTaskList {
	if in == nil {
		return nil
	}
	out := new(ClusterPromotionTaskList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterPromotionTaskList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CurrentStage) DeepCopyInto(out *CurrentStage) {
	*out = *in
	if in.Since != nil {
		in, out := &in.Since, &out.Since
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CurrentStage.
func (in *CurrentStage) DeepCopy() *CurrentStage {
	if in == nil {
		return nil
	}
	out := new(CurrentStage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredArtifacts) DeepCopyInto(out *DiscoveredArtifacts) {
	*out = *in
	in.DiscoveredAt.DeepCopyInto(&out.DiscoveredAt)
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = make([]GitDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]ImageDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]ChartDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredArtifacts.
func (in *DiscoveredArtifacts) DeepCopy() *DiscoveredArtifacts {
	if in == nil {
		return nil
	}
	out := new(DiscoveredArtifacts)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredCommit) DeepCopyInto(out *DiscoveredCommit) {
	*out = *in
	if in.CreatorDate != nil {
		in, out := &in.CreatorDate, &out.CreatorDate
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredCommit.
func (in *DiscoveredCommit) DeepCopy() *DiscoveredCommit {
	if in == nil {
		return nil
	}
	out := new(DiscoveredCommit)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredImageReference) DeepCopyInto(out *DiscoveredImageReference) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.CreatedAt != nil {
		in, out := &in.CreatedAt, &out.CreatedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredImageReference.
func (in *DiscoveredImageReference) DeepCopy() *DiscoveredImageReference {
	if in == nil {
		return nil
	}
	out := new(DiscoveredImageReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DockerHubWebhookReceiverConfig) DeepCopyInto(out *DockerHubWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerHubWebhookReceiverConfig.
func (in *DockerHubWebhookReceiverConfig) DeepCopy() *DockerHubWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(DockerHubWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExpressionVariable) DeepCopyInto(out *ExpressionVariable) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpressionVariable.
func (in *ExpressionVariable) DeepCopy() *ExpressionVariable {
	if in == nil {
		return nil
	}
	out := new(ExpressionVariable)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Freight) DeepCopyInto(out *Freight) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Origin = in.Origin
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]GitCommit, len(*in))
		copy(*out, *in)
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]Image, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]Chart, len(*in))
		copy(*out, *in)
	}
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Freight.
func (in *Freight) DeepCopy() *Freight {
	if in == nil {
		return nil
	}
	out := new(Freight)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Freight) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightCollection) DeepCopyInto(out *FreightCollection) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = make(map[string]FreightReference, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.VerificationHistory != nil {
		in, out := &in.VerificationHistory, &out.VerificationHistory
		*out = make(VerificationInfoStack, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightCollection.
func (in *FreightCollection) DeepCopy() *FreightCollection {
	if in == nil {
		return nil
	}
	out := new(FreightCollection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightCreationCriteria) DeepCopyInto(out *FreightCreationCriteria) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightCreationCriteria.
func (in *FreightCreationCriteria) DeepCopy() *FreightCreationCriteria {
	if in == nil {
		return nil
	}
	out := new(FreightCreationCriteria)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in FreightHistory) DeepCopyInto(out *FreightHistory) {
	{
		in := &in
		*out = make(FreightHistory, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(FreightCollection)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightHistory.
func (in FreightHistory) DeepCopy() FreightHistory {
	if in == nil {
		return nil
	}
	out := new(FreightHistory)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightList) DeepCopyInto(out *FreightList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Freight, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightList.
func (in *FreightList) DeepCopy() *FreightList {
	if in == nil {
		return nil
	}
	out := new(FreightList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *FreightList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightOrigin) DeepCopyInto(out *FreightOrigin) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightOrigin.
func (in *FreightOrigin) DeepCopy() *FreightOrigin {
	if in == nil {
		return nil
	}
	out := new(FreightOrigin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightReference) DeepCopyInto(out *FreightReference) {
	*out = *in
	out.Origin = in.Origin
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]GitCommit, len(*in))
		copy(*out, *in)
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]Image, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]Chart, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightReference.
func (in *FreightReference) DeepCopy() *FreightReference {
	if in == nil {
		return nil
	}
	out := new(FreightReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightRequest) DeepCopyInto(out *FreightRequest) {
	*out = *in
	out.Origin = in.Origin
	in.Sources.DeepCopyInto(&out.Sources)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightRequest.
func (in *FreightRequest) DeepCopy() *FreightRequest {
	if in == nil {
		return nil
	}
	out := new(FreightRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightSources) DeepCopyInto(out *FreightSources) {
	*out = *in
	if in.Stages != nil {
		in, out := &in.Stages, &out.Stages
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.RequiredSoakTime != nil {
		in, out := &in.RequiredSoakTime, &out.RequiredSoakTime
		*out = new(v1.Duration)
		**out = **in
	}
	if in.AutoPromotionOptions != nil {
		in, out := &in.AutoPromotionOptions, &out.AutoPromotionOptions
		*out = new(AutoPromotionOptions)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightSources.
func (in *FreightSources) DeepCopy() *FreightSources {
	if in == nil {
		return nil
	}
	out := new(FreightSources)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightStatus) DeepCopyInto(out *FreightStatus) {
	*out = *in
	if in.CurrentlyIn != nil {
		in, out := &in.CurrentlyIn, &out.CurrentlyIn
		*out = make(map[string]CurrentStage, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.VerifiedIn != nil {
		in, out := &in.VerifiedIn, &out.VerifiedIn
		*out = make(map[string]VerifiedStage, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.ApprovedFor != nil {
		in, out := &in.ApprovedFor, &out.ApprovedFor
		*out = make(map[string]ApprovedStage, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make(map[string]apiextensionsv1.JSON, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightStatus.
func (in *FreightStatus) DeepCopy() *FreightStatus {
	if in == nil {
		return nil
	}
	out := new(FreightStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitCommit) DeepCopyInto(out *GitCommit) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommit.
func (in *GitCommit) DeepCopy() *GitCommit {
	if in == nil {
		return nil
	}
	out := new(GitCommit)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitDiscoveryResult) DeepCopyInto(out *GitDiscoveryResult) {
	*out = *in
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]DiscoveredCommit, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitDiscoveryResult.
func (in *GitDiscoveryResult) DeepCopy() *GitDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(GitDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitHubWebhookReceiverConfig) DeepCopyInto(out *GitHubWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubWebhookReceiverConfig.
func (in *GitHubWebhookReceiverConfig) DeepCopy() *GitHubWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(GitHubWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitLabWebhookReceiverConfig) DeepCopyInto(out *GitLabWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabWebhookReceiverConfig.
func (in *GitLabWebhookReceiverConfig) DeepCopy() *GitLabWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(GitLabWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitSubscription) DeepCopyInto(out *GitSubscription) {
	*out = *in
	if in.IgnoreTags != nil {
		in, out := &in.IgnoreTags, &out.IgnoreTags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.IncludePaths != nil {
		in, out := &in.IncludePaths, &out.IncludePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ExcludePaths != nil {
		in, out := &in.ExcludePaths, &out.ExcludePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSubscription.
func (in *GitSubscription) DeepCopy() *GitSubscription {
	if in == nil {
		return nil
	}
	out := new(GitSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GiteaWebhookReceiverConfig) DeepCopyInto(out *GiteaWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GiteaWebhookReceiverConfig.
func (in *GiteaWebhookReceiverConfig) DeepCopy() *GiteaWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(GiteaWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HarborWebhookReceiverConfig) DeepCopyInto(out *HarborWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborWebhookReceiverConfig.
func (in *HarborWebhookReceiverConfig) DeepCopy() *HarborWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(HarborWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Health) DeepCopyInto(out *Health) {
	*out = *in
	if in.Issues != nil {
		in, out := &in.Issues, &out.Issues
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.Output != nil {
		in, out := &in.Output, &out.Output
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Health.
func (in *Health) DeepCopy() *Health {
	if in == nil {
		return nil
	}
	out := new(Health)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HealthCheckStep) DeepCopyInto(out *HealthCheckStep) {
	*out = *in
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStep.
func (in *HealthCheckStep) DeepCopy() *HealthCheckStep {
	if in == nil {
		return nil
	}
	out := new(HealthCheckStep)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HealthStats) DeepCopyInto(out *HealthStats) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthStats.
func (in *HealthStats) DeepCopy() *HealthStats {
	if in == nil {
		return nil
	}
	out := new(HealthStats)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Image) DeepCopyInto(out *Image) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (in *Image) DeepCopy() *Image {
	if in == nil {
		return nil
	}
	out := new(Image)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImageDiscoveryResult) DeepCopyInto(out *ImageDiscoveryResult) {
	*out = *in
	if in.References != nil {
		in, out := &in.References, &out.References
		*out = make([]DiscoveredImageReference, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageDiscoveryResult.
func (in *ImageDiscoveryResult) DeepCopy() *ImageDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(ImageDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImageSubscription) DeepCopyInto(out *ImageSubscription) {
	*out = *in
	if in.IgnoreTags != nil {
		in, out := &in.IgnoreTags, &out.IgnoreTags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSubscription.
func (in *ImageSubscription) DeepCopy() *ImageSubscription {
	if in == nil {
		return nil
	}
	out := new(ImageSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Project) DeepCopyInto(out *Project) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (in *Project) DeepCopy() *Project {
	if in == nil {
		return nil
	}
	out := new(Project)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Project) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig.
func (in *ProjectConfig) DeepCopy() *ProjectConfig {
	if in == nil {
		return nil
	}
	out := new(ProjectConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ProjectConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectConfigList) DeepCopyInto(out *ProjectConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ProjectConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfigList.
func (in *ProjectConfigList) DeepCopy() *ProjectConfigList {
	if in == nil {
		return nil
	}
	out := new(ProjectConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ProjectConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectConfigSpec) DeepCopyInto(out *ProjectConfigSpec) {
	*out = *in
	if in.PromotionPolicies != nil {
		in, out := &in.PromotionPolicies, &out.PromotionPolicies
		*out = make([]PromotionPolicy, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.WebhookReceivers != nil {
		in, out := &in.WebhookReceivers, &out.WebhookReceivers
		*out = make([]WebhookReceiverConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfigSpec.
func (in *ProjectConfigSpec) DeepCopy() *ProjectConfigSpec {
	if in == nil {
		return nil
	}
	out := new(ProjectConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectConfigStatus) DeepCopyInto(out *ProjectConfigStatus) {
	*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.WebhookReceivers != nil {
		in, out := &in.WebhookReceivers, &out.WebhookReceivers
		*out = make([]WebhookReceiverDetails, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfigStatus.
func (in *ProjectConfigStatus) DeepCopy() *ProjectConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ProjectConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectList) DeepCopyInto(out *ProjectList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Project, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.
func (in *ProjectList) DeepCopy() *ProjectList {
	if in == nil {
		return nil
	}
	out := new(ProjectList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ProjectList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectStats) DeepCopyInto(out *ProjectStats) {
	*out = *in
	out.Warehouses = in.Warehouses
	out.Stages = in.Stages
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStats.
func (in *ProjectStats) DeepCopy() *ProjectStats {
	if in == nil {
		return nil
	}
	out := new(ProjectStats)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus) {
	*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.Stats != nil {
		in, out := &in.Stats, &out.Stats
		*out = new(ProjectStats)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.
func (in *ProjectStatus) DeepCopy() *ProjectStatus {
	if in == nil {
		return nil
	}
	out := new(ProjectStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Promotion) DeepCopyInto(out *Promotion) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Promotion.
func (in *Promotion) DeepCopy() *Promotion {
	if in == nil {
		return nil
	}
	out := new(Promotion)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Promotion) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionList) DeepCopyInto(out *PromotionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Promotion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionList.
func (in *PromotionList) DeepCopy() *PromotionList {
	if in == nil {
		return nil
	}
	out := new(PromotionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PromotionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionPolicy) DeepCopyInto(out *PromotionPolicy) {
	*out = *in
	if in.StageSelector != nil {
		in, out := &in.StageSelector, &out.StageSelector
		*out = new(PromotionPolicySelector)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionPolicy.
func (in *PromotionPolicy) DeepCopy() *PromotionPolicy {
	if in == nil {
		return nil
	}
	out := new(PromotionPolicy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionPolicySelector) DeepCopyInto(out *PromotionPolicySelector) {
	*out = *in
	if in.LabelSelector != nil {
		in, out := &in.LabelSelector, &out.LabelSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionPolicySelector.
func (in *PromotionPolicySelector) DeepCopy() *PromotionPolicySelector {
	if in == nil {
		return nil
	}
	out := new(PromotionPolicySelector)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionReference) DeepCopyInto(out *PromotionReference) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = new(FreightReference)
		(*in).DeepCopyInto(*out)
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(PromotionStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionReference.
func (in *PromotionReference) DeepCopy() *PromotionReference {
	if in == nil {
		return nil
	}
	out := new(PromotionReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionSpec) DeepCopyInto(out *PromotionSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]ExpressionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]PromotionStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionSpec.
func (in *PromotionSpec) DeepCopy() *PromotionSpec {
	if in == nil {
		return nil
	}
	out := new(PromotionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStatus) DeepCopyInto(out *PromotionStatus) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = new(FreightReference)
		(*in).DeepCopyInto(*out)
	}
	if in.FreightCollection != nil {
		in, out := &in.FreightCollection, &out.FreightCollection
		*out = new(FreightCollection)
		(*in).DeepCopyInto(*out)
	}
	if in.HealthChecks != nil {
		in, out := &in.HealthChecks, &out.HealthChecks
		*out = make([]HealthCheckStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.StartedAt != nil {
		in, out := &in.StartedAt, &out.StartedAt
		*out = (*in).DeepCopy()
	}
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
	if in.StepExecutionMetadata != nil {
		in, out := &in.StepExecutionMetadata, &out.StepExecutionMetadata
		*out = make(StepExecutionMetadataList, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.State != nil {
		in, out := &in.State, &out.State
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStatus.
func (in *PromotionStatus) DeepCopy() *PromotionStatus {
	if in == nil {
		return nil
	}
	out := new(PromotionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStep) DeepCopyInto(out *PromotionStep) {
	*out = *in
	if in.Task != nil {
		in, out := &in.Task, &out.Task
		*out = new(PromotionTaskReference)
		**out = **in
	}
	if in.Retry != nil {
		in, out := &in.Retry, &out.Retry
		*out = new(PromotionStepRetry)
		(*in).DeepCopyInto(*out)
	}
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]ExpressionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStep.
func (in *PromotionStep) DeepCopy() *PromotionStep {
	if in == nil {
		return nil
	}
	out := new(PromotionStep)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStepRetry) DeepCopyInto(out *PromotionStepRetry) {
	*out = *in
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(v1.Duration)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStepRetry.
func (in *PromotionStepRetry) DeepCopy() *PromotionStepRetry {
	if in == nil {
		return nil
	}
	out := new(PromotionStepRetry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTask) DeepCopyInto(out *PromotionTask) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTask.
func (in *PromotionTask) DeepCopy() *PromotionTask {
	if in == nil {
		return nil
	}
	out := new(PromotionTask)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PromotionTask) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTaskList) DeepCopyInto(out *PromotionTaskList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]PromotionTask, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTaskList.
func (in *PromotionTaskList) DeepCopy() *PromotionTaskList {
	if in == nil {
		return nil
	}
	out := new(PromotionTaskList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PromotionTaskList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTaskReference) DeepCopyInto(out *PromotionTaskReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTaskReference.
func (in *PromotionTaskReference) DeepCopy() *PromotionTaskReference {
	if in == nil {
		return nil
	}
	out := new(PromotionTaskReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTaskSpec) DeepCopyInto(out *PromotionTaskSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]ExpressionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]PromotionStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTaskSpec.
func (in *PromotionTaskSpec) DeepCopy() *PromotionTaskSpec {
	if in == nil {
		return nil
	}
	out := new(PromotionTaskSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTemplate) DeepCopyInto(out *PromotionTemplate) {
	*out = *in
	in.Spec.DeepCopyInto(&out.Spec)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTemplate.
func (in *PromotionTemplate) DeepCopy() *PromotionTemplate {
	if in == nil {
		return nil
	}
	out := new(PromotionTemplate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTemplateSpec) DeepCopyInto(out *PromotionTemplateSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]ExpressionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]PromotionStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTemplateSpec.
func (in *PromotionTemplateSpec) DeepCopy() *PromotionTemplateSpec {
	if in == nil {
		return nil
	}
	out := new(PromotionTemplateSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *QuayWebhookReceiverConfig) DeepCopyInto(out *QuayWebhookReceiverConfig) {
	*out = *in
	out.SecretRef = in.SecretRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuayWebhookReceiverConfig.
func (in *QuayWebhookReceiverConfig) DeepCopy() *QuayWebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(QuayWebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RepoSubscription) DeepCopyInto(out *RepoSubscription) {
	*out = *in
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = new(GitSubscription)
		(*in).DeepCopyInto(*out)
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSubscription)
		(*in).DeepCopyInto(*out)
	}
	if in.Chart != nil {
		in, out := &in.Chart, &out.Chart
		*out = new(ChartSubscription)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSubscription.
func (in *RepoSubscription) DeepCopy() *RepoSubscription {
	if in == nil {
		return nil
	}
	out := new(RepoSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Stage) DeepCopyInto(out *Stage) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stage.
func (in *Stage) DeepCopy() *Stage {
	if in == nil {
		return nil
	}
	out := new(Stage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Stage) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageList) DeepCopyInto(out *StageList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Stage, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageList.
func (in *StageList) DeepCopy() *StageList {
	if in == nil {
		return nil
	}
	out := new(StageList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StageList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageSpec) DeepCopyInto(out *StageSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]ExpressionVariable, len(*in))
		copy(*out, *in)
	}
	if in.RequestedFreight != nil {
		in, out := &in.RequestedFreight, &out.RequestedFreight
		*out = make([]FreightRequest, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PromotionTemplate != nil {
		in, out := &in.PromotionTemplate, &out.PromotionTemplate
		*out = new(PromotionTemplate)
		(*in).DeepCopyInto(*out)
	}
	if in.Verification != nil {
		in, out := &in.Verification, &out.Verification
		*out = new(Verification)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageSpec.
func (in *StageSpec) DeepCopy() *StageSpec {
	if in == nil {
		return nil
	}
	out := new(StageSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageStats) DeepCopyInto(out *StageStats) {
	*out = *in
	out.Health = in.Health
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageStats.
func (in *StageStats) DeepCopy() *StageStats {
	if in == nil {
		return nil
	}
	out := new(StageStats)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageStatus) DeepCopyInto(out *StageStatus) {
	*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.FreightHistory != nil {
		in, out := &in.FreightHistory, &out.FreightHistory
		*out = make(FreightHistory, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(FreightCollection)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Health != nil {
		in, out := &in.Health, &out.Health
		*out = new(Health)
		(*in).DeepCopyInto(*out)
	}
	if in.CurrentPromotion != nil {
		in, out := &in.CurrentPromotion, &out.CurrentPromotion
		*out = new(PromotionReference)
		(*in).DeepCopyInto(*out)
	}
	if in.LastPromotion != nil {
		in, out := &in.LastPromotion, &out.LastPromotion
		*out = new(PromotionReference)
		(*in).DeepCopyInto(*out)
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make(map[string]apiextensionsv1.JSON, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageStatus.
func (in *StageStatus) DeepCopy() *StageStatus {
	if in == nil {
		return nil
	}
	out := new(StageStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StepExecutionMetadata) DeepCopyInto(out *StepExecutionMetadata) {
	*out = *in
	if in.StartedAt != nil {
		in, out := &in.StartedAt, &out.StartedAt
		*out = (*in).DeepCopy()
	}
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepExecutionMetadata.
func (in *StepExecutionMetadata) DeepCopy() *StepExecutionMetadata {
	if in == nil {
		return nil
	}
	out := new(StepExecutionMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in StepExecutionMetadataList) DeepCopyInto(out *StepExecutionMetadataList) {
	{
		in := &in
		*out = make(StepExecutionMetadataList, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepExecutionMetadataList.
func (in StepExecutionMetadataList) DeepCopy() StepExecutionMetadataList {
	if in == nil {
		return nil
	}
	out := new(StepExecutionMetadataList)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Verification) DeepCopyInto(out *Verification) {
	*out = *in
	if in.AnalysisTemplates != nil {
		in, out := &in.AnalysisTemplates, &out.AnalysisTemplates
		*out = make([]AnalysisTemplateReference, len(*in))
		copy(*out, *in)
	}
	if in.AnalysisRunMetadata != nil {
		in, out := &in.AnalysisRunMetadata, &out.AnalysisRunMetadata
		*out = new(AnalysisRunMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]AnalysisRunArgument, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Verification.
func (in *Verification) DeepCopy() *Verification {
	if in == nil {
		return nil
	}
	out := new(Verification)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VerificationInfo) DeepCopyInto(out *VerificationInfo) {
	*out = *in
	if in.StartTime != nil {
		in, out := &in.StartTime, &out.StartTime
		*out = (*in).DeepCopy()
	}
	if in.AnalysisRun != nil {
		in, out := &in.AnalysisRun, &out.AnalysisRun
		*out = new(AnalysisRunReference)
		**out = **in
	}
	if in.FinishTime != nil {
		in, out := &in.FinishTime, &out.FinishTime
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerificationInfo.
func (in *VerificationInfo) DeepCopy() *VerificationInfo {
	if in == nil {
		return nil
	}
	out := new(VerificationInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in VerificationInfoStack) DeepCopyInto(out *VerificationInfoStack) {
	{
		in := &in
		*out = make(VerificationInfoStack, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerificationInfoStack.
func (in VerificationInfoStack) DeepCopy() VerificationInfoStack {
	if in == nil {
		return nil
	}
	out := new(VerificationInfoStack)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VerifiedStage) DeepCopyInto(out *VerifiedStage) {
	*out = *in
	if in.VerifiedAt != nil {
		in, out := &in.VerifiedAt, &out.VerifiedAt
		*out = (*in).DeepCopy()
	}
	if in.LongestCompletedSoak != nil {
		in, out := &in.LongestCompletedSoak, &out.LongestCompletedSoak
		*out = new(v1.Duration)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerifiedStage.
func (in *VerifiedStage) DeepCopy() *VerifiedStage {
	if in == nil {
		return nil
	}
	out := new(VerifiedStage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Warehouse) DeepCopyInto(out *Warehouse) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Warehouse.
func (in *Warehouse) DeepCopy() *Warehouse {
	if in == nil {
		return nil
	}
	out := new(Warehouse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Warehouse) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseList) DeepCopyInto(out *WarehouseList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Warehouse, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseList.
func (in *WarehouseList) DeepCopy() *WarehouseList {
	if in == nil {
		return nil
	}
	out := new(WarehouseList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *WarehouseList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseSpec) DeepCopyInto(out *WarehouseSpec) {
	*out = *in
	out.Interval = in.Interval
	if in.Subscriptions != nil {
		in, out := &in.Subscriptions, &out.Subscriptions
		*out = make([]RepoSubscription, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FreightCreationCriteria != nil {
		in, out := &in.FreightCreationCriteria, &out.FreightCreationCriteria
		*out = new(FreightCreationCriteria)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseSpec.
func (in *WarehouseSpec) DeepCopy() *WarehouseSpec {
	if in == nil {
		return nil
	}
	out := new(WarehouseSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseStats) DeepCopyInto(out *WarehouseStats) {
	*out = *in
	out.Health = in.Health
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseStats.
func (in *WarehouseStats) DeepCopy() *WarehouseStats {
	if in == nil {
		return nil
	}
	out := new(WarehouseStats)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseStatus) DeepCopyInto(out *WarehouseStatus) {
	*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.DiscoveredArtifacts != nil {
		in, out := &in.DiscoveredArtifacts, &out.DiscoveredArtifacts
		*out = new(DiscoveredArtifacts)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseStatus.
func (in *WarehouseStatus) DeepCopy() *WarehouseStatus {
	if in == nil {
		return nil
	}
	out := new(WarehouseStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebhookReceiverConfig) DeepCopyInto(out *WebhookReceiverConfig) {
	*out = *in
	if in.Bitbucket != nil {
		in, out := &in.Bitbucket, &out.Bitbucket
		*out = new(BitbucketWebhookReceiverConfig)
		**out = **in
	}
	if in.DockerHub != nil {
		in, out := &in.DockerHub, &out.DockerHub
		*out = new(DockerHubWebhookReceiverConfig)
		**out = **in
	}
	if in.GitHub != nil {
		in, out := &in.GitHub, &out.GitHub
		*out = new(GitHubWebhookReceiverConfig)
		**out = **in
	}
	if in.GitLab != nil {
		in, out := &in.GitLab, &out.GitLab
		*out = new(GitLabWebhookReceiverConfig)
		**out = **in
	}
	if in.Harbor != nil {
		in, out := &in.Harbor, &out.Harbor
		*out = new(HarborWebhookReceiverConfig)
		**out = **in
	}
	if in.Quay != nil {
		in, out := &in.Quay, &out.Quay
		*out = new(QuayWebhookReceiverConfig)
		**out = **in
	}
	if in.Artifactory != nil {
		in, out := &in.Artifactory, &out.Artifactory
		*out = new(ArtifactoryWebhookReceiverConfig)
		**out = **in
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureWebhookReceiverConfig)
		**out = **in
	}
	if in.Gitea != nil {
		in, out := &in.Gitea, &out.Gitea
		*out = new(GiteaWebhookReceiverConfig)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookReceiverConfig.
func (in *WebhookReceiverConfig) DeepCopy() *WebhookReceiverConfig {
	if in == nil {
		return nil
	}
	out := new(WebhookReceiverConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebhookReceiverDetails) DeepCopyInto(out *WebhookReceiverDetails) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookReceiverDetails.
func (in *WebhookReceiverDetails) DeepCopy() *WebhookReceiverDetails {
	if in == nil {
		return nil
	}
	out := new(WebhookReceiverDetails)
	in.DeepCopyInto(out)
	return out
}
