// Equals checks if the two role maps are equal.
480588
func (r RoleMap) Equals(o RoleMap) bool {
	if len(r) != len(o) {
		return false
	}
	for i := range r {
		if !r[i].Equals(o[i]) {
			return false
		}
	}
	return true
}
379057
func (roles Roles) Equals(other Roles) bool {
	if len(roles) != len(other) {
		return false
	}
	for _, r := range roles {
		if !other.Include(r) {
			return false
		}
	}
	return true
}
1123141
func (s String) Equals(other DxfElement) bool {
	if sStr, ok := other.(*String); ok {
		return s.value == sStr.value
	}
	return false
}
1306912
func (v *Oneway_Echo_Args) Equals(rhs *Oneway_Echo_Args) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_String_EqualsPtr(v.Token, rhs.Token) {
		return false
	}

	return true
}
581316
func (c Circle) Equals(other core.DxfElement) bool {
	if otherCircle, ok := other.(*Circle); ok {
		return c.BaseEntity.Equals(otherCircle.BaseEntity) &&
			core.FloatEquals(c.Thickness, otherCircle.Thickness) &&
			c.Center.Equals(otherCircle.Center) &&
			core.FloatEquals(c.Radius, otherCircle.Radius) &&
			c.ExtrusionDirection.Equals(otherCircle.ExtrusionDirection)
	}
	return false
}
336469
func (v *Plugin_Goodbye_Args) Equals(rhs *Plugin_Goodbye_Args) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}

	return true
}
149599
func (v *ResourceDoesNotExist) Equals(rhs *ResourceDoesNotExist) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !(v.Key == rhs.Key) {
		return false
	}
	if !_String_EqualsPtr(v.Message, rhs.Message) {
		return false
	}

	return true
}
1053545
func (a *ServiceTemplate) Equals(b *ServiceTemplate) bool {
	if a.ID != b.ID {
		return false
	}
	if a.Name != b.Name {
		return false
	}
	if a.Version != b.Version {
		return false
	}
	if a.Description != b.Description {
		return false
	}
	if !reflect.DeepEqual(a.Services, b.Services) {
		return false
	}
	if !reflect.DeepEqual(a.ConfigFiles, b.ConfigFiles) {
		return false
	}
	return true
}
198041
func (t *Quest_TemplateSpec) Equals(o *Quest_TemplateSpec) bool {
	return proto.Equal(t, o)
}
513365
func (v *Plugin_Goodbye_Result) Equals(rhs *Plugin_Goodbye_Result) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}

	return true
}
91483
func (c *Constraint) Equals(o *Constraint) bool {
	return c == o ||
		c.LTarget == o.LTarget &&
			c.RTarget == o.RTarget &&
			c.Operand == o.Operand
}
126033
func (r *RoleV2) Equals(other Role) bool {
	return r.V3().Equals(other)
}
160795
func (r *RoleV3) Equals(other Role) bool {
	if !r.GetOptions().Equals(other.GetOptions()) {
		return false
	}

	for _, condition := range []RoleConditionType{Allow, Deny} {
		if !utils.StringSlicesEqual(r.GetLogins(condition), other.GetLogins(condition)) {
			return false
		}
		if !utils.StringSlicesEqual(r.GetNamespaces(condition), other.GetNamespaces(condition)) {
			return false
		}
		if !r.GetNodeLabels(condition).Equals(other.GetNodeLabels(condition)) {
			return false
		}
		if !RuleSlicesEqual(r.GetRules(condition), other.GetRules(condition)) {
			return false
		}
	}

	return true
}
421021
func (config *ThresholdConfig) Equals(that *ThresholdConfig) bool {
	return reflect.DeepEqual(config, that)
}
1374988
func (v *RPC) Equals(rhs *RPC) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !bytes.Equal(v.SpanContext, rhs.SpanContext) {
		return false
	}
	if !(v.CallerName == rhs.CallerName) {
		return false
	}
	if !(v.ServiceName == rhs.ServiceName) {
		return false
	}
	if !(v.Encoding == rhs.Encoding) {
		return false
	}
	if !(v.Procedure == rhs.Procedure) {
		return false
	}
	if !((v.Headers == nil && rhs.Headers == nil) || (v.Headers != nil && rhs.Headers != nil && _Map_String_String_Equals(v.Headers, rhs.Headers))) {
		return false
	}
	if !_String_EqualsPtr(v.ShardKey, rhs.ShardKey) {
		return false
	}
	if !_String_EqualsPtr(v.RoutingKey, rhs.RoutingKey) {
		return false
	}
	if !_String_EqualsPtr(v.RoutingDelegate, rhs.RoutingDelegate) {
		return false
	}
	if !((v.Body == nil && rhs.Body == nil) || (v.Body != nil && rhs.Body != nil && bytes.Equal(v.Body, rhs.Body))) {
		return false
	}

	return true
}
982306
func (v *EmptyStruct) Equals(rhs *EmptyStruct) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}

	return true
}
462048
func (i Insert) Equals(other core.DxfElement) bool {
	if otherInsert, ok := other.(*Insert); ok {
		return i.BaseEntity.Equals(otherInsert.BaseEntity) &&
			i.BlockName == otherInsert.BlockName &&
			i.InsertionPoint.Equals(otherInsert.InsertionPoint) &&
			core.FloatEquals(i.ScaleFactorX, otherInsert.ScaleFactorX) &&
			core.FloatEquals(i.ScaleFactorY, otherInsert.ScaleFactorY) &&
			core.FloatEquals(i.ScaleFactorZ, otherInsert.ScaleFactorZ) &&
			core.FloatEquals(i.RotationAngle, otherInsert.RotationAngle) &&
			i.ColumnCount == otherInsert.ColumnCount &&
			i.RowCount == otherInsert.RowCount &&
			core.FloatEquals(i.ColumnSpacing, otherInsert.ColumnSpacing) &&
			core.FloatEquals(i.RowSpacing, otherInsert.RowSpacing) &&
			i.AttributesFollow == otherInsert.AttributesFollow &&
			i.Entities.Equals(otherInsert.Entities) &&
			i.ExtrusionDirection.Equals(otherInsert.ExtrusionDirection)
	}
	return false
}