public bool Equals(DestinyVendorDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     VendorProgressionType == input.VendorProgressionType ||
                     (VendorProgressionType != null && VendorProgressionType.Equals(input.VendorProgressionType))
                 ) &&
                 (
                     BuyString == input.BuyString ||
                     (BuyString != null && BuyString.Equals(input.BuyString))
                 ) &&
                 (
                     SellString == input.SellString ||
                     (SellString != null && SellString.Equals(input.SellString))
                 ) &&
                 (
                     DisplayItemHash == input.DisplayItemHash ||
                     (DisplayItemHash.Equals(input.DisplayItemHash))
                 ) &&
                 (
                     InhibitBuying == input.InhibitBuying ||
                     (InhibitBuying != null && InhibitBuying.Equals(input.InhibitBuying))
                 ) &&
                 (
                     InhibitSelling == input.InhibitSelling ||
                     (InhibitSelling != null && InhibitSelling.Equals(input.InhibitSelling))
                 ) &&
                 (
                     FactionHash == input.FactionHash ||
                     (FactionHash.Equals(input.FactionHash))
                 ) &&
                 (
                     ResetIntervalMinutes == input.ResetIntervalMinutes ||
                     (ResetIntervalMinutes.Equals(input.ResetIntervalMinutes))
                 ) &&
                 (
                     ResetOffsetMinutes == input.ResetOffsetMinutes ||
                     (ResetOffsetMinutes.Equals(input.ResetOffsetMinutes))
                 ) &&
                 (
                     FailureStrings == input.FailureStrings ||
                     (FailureStrings != null && FailureStrings.SequenceEqual(input.FailureStrings))
                 ) &&
                 (
                     UnlockRanges == input.UnlockRanges ||
                     (UnlockRanges != null && UnlockRanges.SequenceEqual(input.UnlockRanges))
                 ) &&
                 (
                     VendorIdentifier == input.VendorIdentifier ||
                     (VendorIdentifier != null && VendorIdentifier.Equals(input.VendorIdentifier))
                 ) &&
                 (
                     VendorPortrait == input.VendorPortrait ||
                     (VendorPortrait != null && VendorPortrait.Equals(input.VendorPortrait))
                 ) &&
                 (
                     VendorBanner == input.VendorBanner ||
                     (VendorBanner != null && VendorBanner.Equals(input.VendorBanner))
                 ) &&
                 (
                     Enabled == input.Enabled ||
                     (Enabled != null && Enabled.Equals(input.Enabled))
                 ) &&
                 (
                     Visible == input.Visible ||
                     (Visible != null && Visible.Equals(input.Visible))
                 ) &&
                 (
                     VendorSubcategoryIdentifier == input.VendorSubcategoryIdentifier ||
                     (VendorSubcategoryIdentifier != null && VendorSubcategoryIdentifier.Equals(input.VendorSubcategoryIdentifier))
                 ) &&
                 (
                     ConsolidateCategories == input.ConsolidateCategories ||
                     (ConsolidateCategories != null && ConsolidateCategories.Equals(input.ConsolidateCategories))
                 ) &&
                 (
                     Actions == input.Actions ||
                     (Actions != null && Actions.SequenceEqual(input.Actions))
                 ) &&
                 (
                     Categories == input.Categories ||
                     (Categories != null && Categories.SequenceEqual(input.Categories))
                 ) &&
                 (
                     OriginalCategories == input.OriginalCategories ||
                     (OriginalCategories != null && OriginalCategories.SequenceEqual(input.OriginalCategories))
                 ) &&
                 (
                     DisplayCategories == input.DisplayCategories ||
                     (DisplayCategories != null && DisplayCategories.SequenceEqual(input.DisplayCategories))
                 ) &&
                 (
                     Interactions == input.Interactions ||
                     (Interactions != null && Interactions.SequenceEqual(input.Interactions))
                 ) &&
                 (
                     InventoryFlyouts == input.InventoryFlyouts ||
                     (InventoryFlyouts != null && InventoryFlyouts.SequenceEqual(input.InventoryFlyouts))
                 ) &&
                 (
                     ItemList == input.ItemList ||
                     (ItemList != null && ItemList.SequenceEqual(input.ItemList))
                 ) &&
                 (
                     Services == input.Services ||
                     (Services != null && Services.SequenceEqual(input.Services))
                 ) &&
                 (
                     AcceptedItems == input.AcceptedItems ||
                     (AcceptedItems != null && AcceptedItems.SequenceEqual(input.AcceptedItems))
                 ) &&
                 (
                     ReturnWithVendorRequest == input.ReturnWithVendorRequest ||
                     (ReturnWithVendorRequest != null && ReturnWithVendorRequest.Equals(input.ReturnWithVendorRequest))
                 ) &&
                 (
                     Locations == input.Locations ||
                     (Locations != null && Locations.SequenceEqual(input.Locations))
                 ) &&
                 (
                     Groups == input.Groups ||
                     (Groups != null && Groups.SequenceEqual(input.Groups))
                 ) &&
                 (
                     IgnoreSaleItemHashes == input.IgnoreSaleItemHashes ||
                     (IgnoreSaleItemHashes != null && IgnoreSaleItemHashes.SequenceEqual(input.IgnoreSaleItemHashes))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }