/**
 * <auto-generated>
 * Autogenerated by Thrift Compiler (0.22.0)
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 * </auto-generated>
 */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Thrift;
using Thrift.Collections;
using System.Runtime.Serialization;
using Thrift.Protocol;


#pragma warning disable IDE0079  // remove unnecessary pragmas
#pragma warning disable IDE0017  // object init can be simplified
#pragma warning disable IDE0028  // collection init can be simplified
#pragma warning disable IDE0305  // collection init can be simplified
#pragma warning disable IDE0034  // simplify default expression
#pragma warning disable IDE0066  // use switch expression
#pragma warning disable IDE0090  // simplify new expression
#pragma warning disable IDE0290  // use primary CTOR
#pragma warning disable IDE1006  // parts of the code use IDL spelling
#pragma warning disable CA1822   // empty DeepCopy() methods still non-static
#pragma warning disable IDE0083  // pattern matching "that is not SomeType" requires net5.0 but we still support earlier versions

namespace Byway.Thrift.Data
{
  public static class ArtResourceConfigExtensions
  {
    public static bool Equals(this List<global::Byway.Thrift.Data.ArtItem> instance, object that)
    {
      if (!(that is List<global::Byway.Thrift.Data.ArtItem> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this List<global::Byway.Thrift.Data.ArtItem> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static List<global::Byway.Thrift.Data.ArtItem> DeepCopy(this List<global::Byway.Thrift.Data.ArtItem> source)
    {
      if (source == null)
        return null;

      var tmp27 = new List<global::Byway.Thrift.Data.ArtItem>(source.Count);
      foreach (var elem in source)
        tmp27.Add((elem != null) ? elem.DeepCopy() : null);
      return tmp27;
    }


    public static bool Equals(this List<global::Byway.Thrift.Data.ArtTable> instance, object that)
    {
      if (!(that is List<global::Byway.Thrift.Data.ArtTable> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this List<global::Byway.Thrift.Data.ArtTable> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static List<global::Byway.Thrift.Data.ArtTable> DeepCopy(this List<global::Byway.Thrift.Data.ArtTable> source)
    {
      if (source == null)
        return null;

      var tmp28 = new List<global::Byway.Thrift.Data.ArtTable>(source.Count);
      foreach (var elem in source)
        tmp28.Add((elem != null) ? elem.DeepCopy() : null);
      return tmp28;
    }


    public static bool Equals(this List<int> instance, object that)
    {
      if (!(that is List<int> other)) return false;
      if (ReferenceEquals(instance, other)) return true;

      return TCollections.Equals(instance, other);
    }


    public static int GetHashCode(this List<int> instance)
    {
      return TCollections.GetHashCode(instance);
    }


    public static List<int> DeepCopy(this List<int> source)
    {
      if (source == null)
        return null;

      var tmp29 = new List<int>(source.Count);
      foreach (var elem in source)
        tmp29.Add(elem);
      return tmp29;
    }


  }
}
