# encoding: UTF-8 
module Onigiri
  class Ingredient < Tag
    class << self
      attr_accessor :ingredients

      def scan(tokens)
        tokens.each do |token|
          scan_for_ingredient token
        end
      end

      def scan_for_ingredient(token)
        word_size = token.name.split("_").size

        humanized_token_name = token.name.gsub("_", " ")
        if correct_forms.include? humanized_token_name
          token.add_tag new(humanized_token_name)
          return
        end
      end

      # Checkes given text for any multi word ingredients and replaces them
      # with the dasherized correct form i.e. cherry tomato => cherry_tomato
      # This prevents such an ingredient being spliced into multiple tokens 
      def normalize(text)
        normalized = text
        word_counts = ingredients.keys.sort.reverse
        word_counts.each do |word_count|
          ingredients[word_count].each do |variation, correct_form|
            normalized.gsub!(/\b#{variation}\b/i, correct_form.gsub(" ", "_"))
          end
        end
        normalized
      end

      def set_ingredient(correct_form, *variations)
        @ingredients ||={}
        variations.each do |v|
        set_by_word_count(v, correct_form)
        end
        set_by_word_count(correct_form, correct_form)
      end

      def set_by_word_count(variation, correct_form)
        word_count = variation.split(" ").size
        @ingredients[word_count] ||= {}
        @ingredients[word_count][variation] = correct_form
      end

      def correct_forms
        @correct_forms ||= @ingredients.values.map(&:values).flatten.uniq
      end

      #whereas Onigiri.parse expects something resembling a line from a recipes ingredient listing,
      #this will simply return all ingredients present in a string. Useful for searching paras
      #for mentions of ingredients etc.
      def extract_ingredients(str)
        ings = []
        ingredients.keys.sort.reverse.each do |word_count|
          ingredients[word_count].each do |variation, correct_form|
            ings << correct_form if str.gsub!(/\b#{variation}\b/i, '')
          end
        end
        ings.reverse.compact #remove any nils returned by gsub!
      end
    end

    #alcohol & drinks
    set_ingredient 'apple cider', 'apple cidre'
    set_ingredient 'Baileys', 'baileys irish cream'
    set_ingredient 'eggnog'
    set_ingredient 'gin'
    set_ingredient 'port'
    set_ingredient 'riesling'
    set_ingredient 'Sambuca', 'Zambuca'
    set_ingredient 'sake'
    set_ingredient 'soda', 'club soda'
    set_ingredient 'triple sec'
    set_ingredient 'tequila'
    set_ingredient 'Pernod'
    set_ingredient 'Pimms'
    set_ingredient 'vodka'

        #beers
    set_ingredient 'stout'
    set_ingredient 'guiness'
    set_ingredient 'pale ale'
    set_ingredient 'cream ale'
    set_ingredient 'ipa'

      #drinks non alcoholic 
    set_ingredient '7Up', '7-up'
    set_ingredient 'sprite'
    set_ingredient 'fanta'
    set_ingredient 'coca-cola', 'coca cola', 'cola'
    set_ingredient 'pepsi'
    set_ingredient 'orange juice'
    set_ingredient 'espresso powder', 'e[sx]press?o powder'
    set_ingredient 'espresso', 'e[sx]press?o'
    




    
   
    #biscusits / crackers 
    set_ingredient 'cracker crumbs'
    set_ingredient 'cracker', 'crackers'
    set_ingredient 'graham cracker', 'graham crackers'
    set_ingredient 'soda cracker', 'soda crackers?'
    set_ingredient 'oreo', 'oreos'
    set_ingredient 'ginger snap', 'ginger nuts?', 'ginger\s?snaps?'

    #breads and grains
    set_ingredient 'popcorn'
    set_ingredient 'bread'
    set_ingredient 'french bread'
    set_ingredient 'garlic bread'
    set_ingredient 'kaiser roll', 'kaiser rolls?'
    set_ingredient 'hamburger roll', 'hamburger rolls?'
    set_ingredient 'hamburger bun', 'hamburger buns?'
    set_ingredient 'Burger bun', 'burger buns?'
    set_ingredient 'pretzel', 'pretzels?'
    set_ingredient 'pita', 'pitas?'
    set_ingredient 'roll', 'rolls?'
    set_ingredient 'rye bread'
    set_ingredient 'french bread'
    set_ingredient 'sourdough', 'sour dough'
    set_ingredient 'Tostada shell', 'tostada?o? shells?'


    #baking
    set_ingredient 'caramel bits'
    set_ingredient 'chocolate chips'
    set_ingredient 'white chocolate chips'
    set_ingredient 'mint chocolate chips'
    set_ingredient 'dark chocolate chips'
    set_ingredient 'semisweet chocolate chips'

    set_ingredient 'cocoa powder', 'cocoa'
    set_ingredient 'cocoa nibs'
    set_ingredient 'coconut milk'
    set_ingredient 'coconut cream', 'cream of coconut'
    set_ingredient 'coconut flakes', 'flaked coconut'
    set_ingredient 'peppermint extract'
    set_ingredient 'icing'
    set_ingredient 'icing powder'
    set_ingredient 'pancake', 'pancakes'
    set_ingredient 'lime jello', 'lime jell[oy]'
    set_ingredient 'sprinkles'
    set_ingredient 'puff pastry','puff(ed)? pastry'
    set_ingredient 'vanilla extract'
    set_ingredient 'lemon extract'
    set_ingredient 'green food coloring', 'green food colou?ring', 'green colou?ring'
    set_ingredient 'yellow food coloring', 'yellow food colou?ring', 'yellow colou?ring'
    set_ingredient 'red food coloring', 'red food colouring', 'red colou?ring'
    set_ingredient 'blue food coloring', 'blue food colouring', 'blue colou?ring'
    set_ingredient 'orange food coloring', 'orange food colouring', 'orange colou?ring'
    set_ingredient 'purple food coloring', 'purple food colouring', 'purple colou?ring'
    set_ingredient 'pink food coloring', 'pink food colouring', 'pink colou?ring'


        #sugars
    set_ingredient 'brown sugar'
    set_ingredient 'dark-brown sugar', 'dark brown sugar'
    set_ingredient 'barley sugar'
    set_ingredient 'date sugar'
    set_ingredient 'icing', 'icing sugar'
    set_ingredient 'frosting', 'frosting sugar'
    set_ingredient 'buttercream', 'butter cream', 'butter icing', 'mock cream' #type of icing
    set_ingredient 'confectioners sugar', 'confectioners? sugar'
    set_ingredient 'muscovado sugar'
    set_ingredient 'palm sugar'
    set_ingredient 'powdered sugar'
    set_ingredient 'sugar'


    set_ingredient 'oats', 'rolled oats'
    set_ingredient 'millet'
    set_ingredient 'farro'

    set_ingredient 'all purpose flour'
    set_ingredient 'cake flour'
    set_ingredient 'corn flour'
    set_ingredient 'flour'
    set_ingredient 'French vanilla cake mix', 'vanilla cake mix'
    set_ingredient 'gram flour'
    set_ingredient 'oat flour'
    set_ingredient 'pizza dough'
    set_ingredient 'galette dough'
    set_ingredient 'tart shell', 'tart shells'
    set_ingredient 'pie shell', 'pie shells'
    set_ingredient 'pie dough'
    set_ingredient 'pie crust'
    set_ingredient 'whole wheat flour'
    
      #baking mixes
    set_ingredient 'brownie mix', 'browny mix'
    set_ingredient 'vanilla pudding mix'
    set_ingredient 'coconut cream pudding mix'
    set_ingredient 'chocolate pudding mix'
    set_ingredient 'spice cake mix'
    set_ingredient 'cake mix'
    set_ingredient 'gingerbread pudding mix'

      #puddings / cakes used for baking
    set_ingredient 'gingerbread pudding'
    set_ingredient 'gingerbread men'
    set_ingredient 'spice cake'
    set_ingredient 'brownie', 'brownies?'

    set_ingredient 'apple pie spice', 'apple(-|\s)?pie spice'
    set_ingredient 'pumpkin pie spice'

    set_ingredient 'pumpkin seed', 'pumpkin seeds', 'pepita', 'pepitas'

    #cereals
    set_ingredient 'cornflakes', 'corn flakes'

    #cheeses
    set_ingredient 'brie'
    set_ingredient 'cheddar', 'cheese cheese'
    set_ingredient 'cheese slice', 'cheese slices?'
    set_ingredient 'feta', 'feta( cheese)?'
    set_ingredient 'goats cheese', 'goats? cheese'
    set_ingredient 'gruyere', 'gruy[eè]re'
    set_ingredient 'monterey jack', 'monterey jack( cheese)?'
    set_ingredient 'mozzarella cheese', 'mozz?arell?a cheese'
    set_ingredient 'parmesan', 'par?mesan cheese', 'par?mesan'
    set_ingredient 'pecorino romano'
    set_ingredient 'ricotta', 'ricotta cheese'

    #condiments
    set_ingredient 'achiote paste', 'anchiote'

    set_ingredient 'coleslaw', 'slaw'
    set_ingredient 'guacamole'

    set_ingredient 'green enchilada sauce'
    set_ingredient 'pico de gallo'
    
    set_ingredient 'pate brisee', 'p[âa]te bris[âe]e' 
    
    set_ingredient 'maple extract'

    set_ingredient 'mayonnaise', 'mayo'

    set_ingredient 'mustard'
    set_ingredient 'yellow mustard'
    set_ingredient 'american mustard'
    set_ingredient 'dijon mustard', 'dijj?on mustard', 'dijj?on'

    set_ingredient 'tamari' #soy sauce variant
      #jams spreads etc
    set_ingredient 'jam'
    set_ingredient 'strawberry jam'
    set_ingredient 'strawberry conserve'
    set_ingredient 'blueberry jam'
    set_ingredient 'blueberry conserve'
    set_ingredient 'raspberry jam'
    set_ingredient 'raspberry conserve'
    set_ingredient 'marmalade'    
    set_ingredient 'honey'
    set_ingredient 'biscoff', 'biscoff spread'

    #dairy
    set_ingredient 'butter'
    set_ingredient 'unsalted butter', 'unsalted(-|\s)?butter'
    set_ingredient 'milk'
    set_ingredient 'whole milk', 'full fat milk'
    set_ingredient 'low fat milk', 'semi skimmed milk'
    set_ingredient 'whipped cream', 'whipping cream'
    set_ingredient 'cream'
    set_ingredient 'crème fraîche', 'cr.me fra.che'

    set_ingredient 'vanilla bean ice cream'
    set_ingredient 'vanilla ice cream'
    set_ingredient 'chocolate ice cream'
    set_ingredient 'strawberry ice cream'
    set_ingredient 'blueberry ice cream'
    set_ingredient 'mint ice cream'
    set_ingredient 'raspberry ice cream'
    set_ingredient 'chocolate chip ice cream'
    set_ingredient 'ice cube', 'ice cubes?' 
    set_ingredient 'ice' 

    #fish
    set_ingredient 'anchovy', 'anchovies?'
    set_ingredient 'anchovy paste'
    set_ingredient 'branzino', 'branzinoe?s'
    set_ingredient 'fish fillet', 'fish fillets?'
    set_ingredient 'tilapia fillet', 'tilapia fillets?'
    set_ingredient 'tilapia'
    set_ingredient 'squid', 'calamari'

        #shellfish
    set_ingredient 'crab', 'crabs?'
    set_ingredient 'crab meat', 'crabmeat'
    set_ingredient 'oyster', 'oysters?'        

     #fruit
    set_ingredient 'fruit', 'fruits?'
    set_ingredient 'acai berry', 'acai berries'
    set_ingredient 'coconut', 'coconuts?'

 
    set_ingredient 'chile', 'chill?i?e?s?'
    set_ingredient 'green chile', 'green chill?i?e?s?'
    set_ingredient 'habanero chile', 'habanero chill?i?e?s?'
    set_ingredient 'poblano chile', 'poblano chill?i?es?'
    set_ingredient 'pasilla chile', 'pasilla chill?i?es?'
    set_ingredient 'jalapeno chile', 'jalape[ñn]os?', 'jalape[ñn]os? chiles?', 'jalape[ñn]os? peppers?'
    set_ingredient 'pepperoncinis'
    set_ingredient 'pimento', 'pimentos?'
    set_ingredient 'scotch bonnet', 'scotch bon?net', 'scotty bons?', 'bonne?y peppers?'

    set_ingredient 'honeydew melon', 'honeydew melons', 'honey dew', 'honeydew'
    set_ingredient 'lemon', 'lemons'
    set_ingredient 'lemon juice'
    set_ingredient 'lemon peel'
    set_ingredient 'lime', 'limes?'
    set_ingredient 'lime juice', 'lime juice'

    set_ingredient 'mango', 'mangoe?s'

    set_ingredient 'orange zest'
    set_ingredient 'orange', 'oranges'
    set_ingredient 'orange peel'
    set_ingredient 'mandarin orange', 'mandarin oranges'

    set_ingredient 'rose hip', 'rose hips?'
    
    set_ingredient 'tomatillo', 'tomatilloe?s?'
    set_ingredient 'Green Tomatillo', 'green tomatilloe?s?'

    
    
    
    #herbs
    set_ingredient 'cilantro', 'cliantro'
    set_ingredient 'herb bundle', 'bundle of herbs'
    set_ingredient 'hibiscus flowers', 'Hibiscus flowers?'
    set_ingredient 'lemongrass', 'lemon grass'
    set_ingredient 'Herbes de Provence', 'herbe?s de provence'
    set_ingredient 'Parsley', 'parse?le?y'
    set_ingredient 'purslane'


    #legumes 
    set_ingredient 'black-eyed pea', 'black-?eyed? (peas?|beans?)'
    #oils & vinegars
    set_ingredient 'cooking spray'
    set_ingredient 'canola oil', 'cana?ola oil'
    set_ingredient 'citrus oil', 'citrus oils?'
    set_ingredient 'nonstick cooking spray', 'non(-\s)?stick cooking (spray|oil)'
    set_ingredient 'coconut oil'
    set_ingredient 'olive oil', 'olive( oil)? or vegetable( oil)?'
    set_ingredient 'extra virgin olive oil', 'extra virgin olive oil', 'extra-virgin olive oil', 'virgin olive oil', 'extra virgin'
    set_ingredient 'palm oil'
    set_ingredient 'rice wine vinegar'
    set_ingredient 'sherry vinegar'
    set_ingredient 'vegetable oil'
    set_ingredient 'white vinegar', 'white (wine )?vinegar'
    set_ingredient 'oil'

        #misc for oils & vinegars - better place fo this?
    set_ingredient 'mirin'
    set_ingredient 'Vinaigrette', 'vinai?grett?e'
    set_ingredient 'salad dressing', 'dressing' 
    set_ingredient 'ranch dressing'

    #meats
    set_ingredient 'meat'

        #sausages
    set_ingredient 'bratwurst', 'bratwursts?'
    set_ingredient 'hot dog', 'hot(-|\s)?dogs?'
    set_ingredient 'pepperoni', 'pepp?eroni'
    set_ingredient 'chorizo'


      #beef
    set_ingredient 'beef'
    set_ingredient 'beef round cut', 'beef round cuts'
    set_ingredient 'burger', 'burgers?', 'hamburgers?'
    set_ingredient 'chuck'
    set_ingredient 'oxtail', 'ox-?tails?', 'ox tails?'
    set_ingredient 'cowboy steak' 
    set_ingredient 'spare rib rack', 'spare rib racks?'

      #buffalo
    set_ingredient 'bison'
    set_ingredient 'bufallo'

      #goat
    set_ingredient 'goat'

      #pork
    set_ingredient 'pork'
    set_ingredient 'pork chop', 'pork chops?'
    set_ingredient 'salt pork'

    #nuts
    set_ingredient 'assorted nuts', 'mixed nuts?', 'nuts'
    set_ingredient 'cashew', 'cashews? nuts?', 'cashews?'

    #pastas
    set_ingredient 'gnocchi', 'gnocc?hi'
    set_ingredient 'fettuccine'
    set_ingredient 'Linguine', 'linguin[ie]'
    set_ingredient 'mostaccioli', 'mostacc?ioll?i'
    set_ingredient 'noodle', 'noodles'
    set_ingredient 'pasta'
    set_ingredient 'penne'
    set_ingredient 'rigatoni'
    set_ingredient 'tagliatelle', 'tagliatell?e'
    set_ingredient 'udon noodle', 'udon noodles'
    set_ingredient 'ziti'

    #pickles and marinated veg
    set_ingredient 'pickled jalapenos', 'pickled jalapeños'

    #sauces, stocks, soups
    set_ingredient 'marinara sauce'
    set_ingredient 'gravy'
    set_ingredient 'broth'
    set_ingredient 'chicken broth'
    set_ingredient 'chicken stock'
    set_ingredient 'vegetable broth', 'veggie broth'
    set_ingredient 'vegetable stock'
    set_ingredient 'beef broth'
    set_ingredient 'beef stock'
    set_ingredient 'veal stock'
    set_ingredient 'stock'
    set_ingredient 'bolognese sauce'
    set_ingredient 'tomatillo sauce'

    #seasoning
    set_ingredient 'cajun seasoning', 'cajun spice mix'
    set_ingredient 'Creole seasoning', 'creole seasoning'
    set_ingredient 'italian seasoning'

    set_ingredient 'aleppo flakes', 'aleppo pepper'
    set_ingredient 'cayenne', 'cayenne pepper'
    set_ingredient 'red chile', 'red chili?es?'
    set_ingredient 'red chile flakes', 'red chill?i?e? flakes'
    set_ingredient 'red pepper flake', 'red pepper flakes?'
    set_ingredient 'Chile pod', 'chill?i?e? pods?'
    set_ingredient 'chile powder', 'chi?ll?(e|ie) powder'
    set_ingredient 'chipotle powder'

    set_ingredient 'old bay seasoning'
    set_ingredient 'salt'
    set_ingredient 'kosher salt'
    set_ingredient 'sea salt'
    set_ingredient 'salt & pepper', 'salt.+?pepper'

    

    #spices
    set_ingredient 'allspice', 'all-spice'
    set_ingredient 'clove', 'cloves?'
    set_ingredient 'cumin'
    set_ingredient 'ground spice', 'ground spices?'
    set_ingredient 'nutmeg'
    set_ingredient 'paprika'
    set_ingredient 'peppercorn', 'pepper\s?corns?'
    set_ingredient 'pickling spice', 'pickling spices?'

    #sweets, chooclate etc
    #cakes
    set_ingredient 'angel food cake', 'ang(el|le)\s?(food)\s?cake'
    set_ingredient 'pound cake'
    #confect.
    set_ingredient 'andes mints', 'andes mints?'
    set_ingredient 'butterfinger candy bar', 'butterfinger', 'butterfinger candy'
    
    set_ingredient 'caramel sauce'
    set_ingredient 'caramel syrup'
    set_ingredient 'caramel candy', 'caramel candies'
    
    set_ingredient 'chocolate'
    set_ingredient 'dark chocolate'
    set_ingredient 'mint chocolate'
    set_ingredient 'semisweet chocolate'
    set_ingredient 'white chocolate'

    set_ingredient 'candy cane', 'candy canes?'
    set_ingredient 'hershey bar', 'hershey bars?', 'hershey' 
    set_ingredient 'M & Ms', 'm\s?&\s?ms?'
    set_ingredient 'Milky Way', 'milky ways'
    set_ingredient 'nutter butter', 'nutter butters?'
    set_ingredient 'toffee bar', 'toffee bars?', 'heath bars?'
    set_ingredient 'toffee'
    set_ingredient 'nutella'
    set_ingredient 'fudge'
    set_ingredient 'Snickers', 'Snickers?'
    set_ingredient 'Twix'
    set_ingredient 'syrup'
    set_ingredient 'blackberry syrup'
    set_ingredient 'maple syrup'


    #veg
    set_ingredient 'artichoke', 'artichokes'
    set_ingredient 'artichoke heart', 'artichoke hearts?'
    set_ingredient 'endive', 'frisee', 'frisée', 'endives?'
    set_ingredient 'escarole' #type of endive 
    set_ingredient 'red pepper', 'red(-|\s)(bell)?\s?peppers?'
    set_ingredient 'green pepper', 'green(-|\s)(bell)?\s?peppers?'
    set_ingredient 'bell pepper', 'bell(-|\s)?peppers?'

    set_ingredient 'pumpkin puree'
    set_ingredient 'scallion', 'scallions'
    set_ingredient 'Sesame Leaf', 'sesame leaves', 'sesame leafs?'
        
        #tomatoes
    set_ingredient 'tomato', 'tomatoes'
    set_ingredient 'cherry tomato', 'cherry tomatoes'
    set_ingredient 'heirloom tomato', 'heirloom tomatoes'
    set_ingredient 'sun dried tomato', 'sun dried tomatoes'
    set_ingredient 'plum tomato', 'plum tomatoes'
    set_ingredient 'rotel tomato', 'rotel tomatoes'
    set_ingredient 'roma tomato', 'roma tomatoes'
    

    set_ingredient 'yam', 'yams'
    set_ingredient 'vegetables'




    set_ingredient 'abalone'
    set_ingredient 'absinthe'
    set_ingredient 'achar'
    set_ingredient 'acidulated water'
    set_ingredient 'ackee'
    set_ingredient 'acorn squash'
    set_ingredient 'adobo'
    set_ingredient 'advieh'
    set_ingredient 'chili pepper'
    set_ingredient 'agar'
    set_ingredient 'aioli'
    set_ingredient 'ajowan'
    set_ingredient 'aleppo pepper'
    set_ingredient 'alfalfa sprout', 'alfalfa sprouts'
    set_ingredient 'alfredo sauce'
    set_ingredient 'alitame'
    set_ingredient 'alize liqueur'
    set_ingredient 'alligator'
    set_ingredient 'allspice'
    set_ingredient 'almond', 'almonds'
    set_ingredient 'almond bark'
    set_ingredient 'almond butter'
    set_ingredient 'almond extract'
    set_ingredient 'almond paste'
    set_ingredient 'alum'
    set_ingredient 'amaranth'
    set_ingredient 'amarena cherry', 'amarena cherries'
    set_ingredient 'amaretti'
    set_ingredient 'amaretto'
    set_ingredient 'amarula cream liqueur'
    set_ingredient 'amchoor powder'
    set_ingredient 'amla'
    set_ingredient 'ammonium bicarbonate'
    set_ingredient 'anchovette'
    
    set_ingredient 'andouille sausage'
    set_ingredient 'angelica'
    set_ingredient 'anise'
    set_ingredient 'annatto seed', 'annatto seed'
    set_ingredient 'apple', 'apples'
    set_ingredient 'apple butter'
    set_ingredient 'apple sauce', 'apple(-|\s)?sauce'
    set_ingredient 'apricot', 'apricots'
    set_ingredient 'aquavit'
    set_ingredient 'arak'
    set_ingredient 'arborio rice'
    set_ingredient 'argan oil'
    set_ingredient 'arrowroot'
    
    set_ingredient 'artificial sweetener'
    set_ingredient 'arugula'
    set_ingredient 'asadero'
    set_ingredient 'asafetida'
    set_ingredient 'asiago cheese'
    set_ingredient 'asparagus'
    set_ingredient 'aspic'
    set_ingredient 'avocado', 'avocados', 'avocadoes'
    set_ingredient 'azuki bean', 'azuki beans'
    set_ingredient 'baba'
    set_ingredient 'baba ghanoush'
    set_ingredient 'babaco'
    set_ingredient 'babka'
    set_ingredient 'kiwi','kiwis'
    set_ingredient 'baby marrows', 'baby marrows?'
    set_ingredient 'bacon'
    set_ingredient 'bacon grease'
    set_ingredient 'bagel', 'bagels'
    set_ingredient 'bagna cauda'
    set_ingredient 'bagoong'
    set_ingredient 'baguette'
    set_ingredient 'baharat'
    set_ingredient 'bake blind'
    set_ingredient 'baking powder'
    set_ingredient 'baking soda'
    set_ingredient 'baklava'
    set_ingredient 'balmain bug'
    set_ingredient 'balsamic vinegar'
    set_ingredient 'bamboo shoot', 'bamboo shoots'
    set_ingredient 'banana', 'bananas'
    set_ingredient 'bangers'
    set_ingredient 'bannocks', 'bannocks?'
    set_ingredient 'banon cheese'
    set_ingredient 'barbecue sauce'
    set_ingredient 'barberry', 'barberries'
    set_ingredient 'bard'
    set_ingredient 'barley'
    
    set_ingredient 'baron'
    set_ingredient 'basil'
    set_ingredient 'basket cheese'
    set_ingredient 'basmati rice'
    set_ingredient 'bass'
    set_ingredient 'bay leaf', 'bay leaves'
    set_ingredient 'beans', 'beans?'
    set_ingredient 'bean sauce'
    set_ingredient 'bean sprout', 'bean sprouts'
    set_ingredient 'bean thread', 'bean threads'
    set_ingredient 'beat'
    set_ingredient 'bechamel'
    set_ingredient 'beer'
    set_ingredient 'beet', 'beets'
    set_ingredient 'bel paese'
    set_ingredient 'berbere'
    set_ingredient 'berries', 'berry'
    set_ingredient 'beurre blanc'
    set_ingredient 'beurre manie'
    set_ingredient 'beurre manie'
    set_ingredient 'biltong'
    set_ingredient 'biscuit mix'
    set_ingredient 'bisque'
    set_ingredient 'bitter melon'
    set_ingredient 'black bean', 'black[- ]?beans?'
    set_ingredient 'black kale'
    set_ingredient 'black olive', 'black(-|\s)?olives?'
    set_ingredient 'black pepper', 'black-?pepp?er'
    
    set_ingredient 'blackberry', 'blackberries'
    set_ingredient 'blanch'
    set_ingredient 'blue cheese'
    set_ingredient 'blueberry', 'blue?berr?ies', 'blue?berr?y'
    set_ingredient 'boerewors'
    set_ingredient 'boil'
    set_ingredient 'bok choy'
    set_ingredient 'bombay duck'
    set_ingredient 'bon appetit seasoning'
    set_ingredient 'borage'
    set_ingredient 'borscht'
    set_ingredient 'bottarga'
    set_ingredient 'bouillon'
    set_ingredient 'bouquet garni'
    set_ingredient 'bourbon'
    set_ingredient 'boursin cheese'
    set_ingredient 'braai'
    set_ingredient 'braise'
    set_ingredient 'brandy'
    set_ingredient 'brazil nut', 'brazil nuts?'
    set_ingredient 'breadcrumbs'
    set_ingredient 'breadfruit'
    set_ingredient 'bresaola'
    set_ingredient 'brewers yeast'
    set_ingredient 'brick cheese'
    set_ingredient 'broccoli'
    set_ingredient 'broccoli raab'
    set_ingredient 'broil'
    set_ingredient 'brown rice'
    
    set_ingredient 'brunoise'
    set_ingredient 'bruschetta'
    set_ingredient 'brussels sprouts', 'brussels sprouts?'
    set_ingredient 'buckwheat'
    set_ingredient 'buckwheat groats'
    set_ingredient 'buerre manie'
    set_ingredient 'buerre manie'
    set_ingredient 'bulgur wheat'
    set_ingredient 'bundt pan'
    
    set_ingredient 'buttermilk'
    set_ingredient 'butternut squash'
    set_ingredient 'cabbage'
    set_ingredient 'cachaca'
    set_ingredient 'cactus'
    set_ingredient 'caerphilly'
    set_ingredient 'calabaza'
    set_ingredient 'callaloo'
    set_ingredient 'calvado', 'calvados?'
    set_ingredient 'campden tablet', 'campden tablets?'
    set_ingredient 'canadian bacon'
    set_ingredient 'candy making temperatures'
    set_ingredient 'candy thermometer', 'candy thermometers?'
    set_ingredient 'cannellini bean', 'cannellini beans'
    set_ingredient 'cantaloupe', 'cantaloupes?'
    set_ingredient 'cape gooseberry', 'cape gooseberries'
    set_ingredient 'caper', 'capers?'
    set_ingredient 'cappuccino latte'
    set_ingredient 'capsicum', 'capsicums?'
    set_ingredient 'carambola'
    set_ingredient 'caramelize'
    set_ingredient 'caraway seed', 'caraway seeds?'
    set_ingredient 'carboy'
    set_ingredient 'cardamom'
    set_ingredient 'carob'
    set_ingredient 'carrageen'
    set_ingredient 'carrot', 'carrots?'
    
    set_ingredient 'cassava'
    set_ingredient 'casserole'
    set_ingredient 'catfish'
    set_ingredient 'caul'
    set_ingredient 'cauliflower'
    set_ingredient 'caviar'
    set_ingredient 'cayenne pepper'
    set_ingredient 'celeriac'
    set_ingredient 'celery'
    set_ingredient 'celery seed', 'celery seeds?'
    set_ingredient 'chai'
    set_ingredient 'chambord'
    set_ingredient 'champagne yeast'
    set_ingredient 'chard'
    set_ingredient 'chaurice sausage'
    set_ingredient 'chayote'
    set_ingredient 'cheese'
    set_ingredient 'cheesecloth'
    set_ingredient 'chendol'
    set_ingredient 'cherimoya'
    set_ingredient 'cherry', 'cherries'
    set_ingredient 'chervil'
    set_ingredient 'cheshire cheese'
    set_ingredient 'chestnut', 'chestnuts?'
    set_ingredient 'chicken', 'chickens?'
    set_ingredient 'chicken liver', 'chicken livers?'
    set_ingredient 'chickpea', 'chickpeas?'
    set_ingredient 'chicory'
    set_ingredient 'chiffonade'
    set_ingredient 'chile pepper', 'chile peppers?'
    set_ingredient 'chili powder'
    set_ingredient 'chili sauce'
    set_ingredient 'chinese cabbage'
    set_ingredient 'chinese date', 'chinese dates?'
    set_ingredient 'chipotle peppers'
    set_ingredient 'chive', 'chives?'
    
    set_ingredient 'chowder'
    set_ingredient 'chutney'
    set_ingredient 'cider'
    set_ingredient 'cider vinegar'
    
    set_ingredient 'cinnamon'
    set_ingredient 'citron'
    set_ingredient 'clafouti'
    set_ingredient 'clam', 'clams?'
    set_ingredient 'clarified butter'
    set_ingredient 'clarify'
    
    
    set_ingredient 'cod'
    set_ingredient 'coffee'
    set_ingredient 'colby'
    set_ingredient 'confit'
    set_ingredient 'cookie', 'cookies?'
    set_ingredient 'cool whip'
    set_ingredient 'copha'
    set_ingredient 'coriander'
    set_ingredient 'corn'
    set_ingredient 'corn syrup'
    set_ingredient 'corned beef'
    set_ingredient 'cornichon', 'cornichons?'
    set_ingredient 'cornish yarg cheese'
    set_ingredient 'cornmeal'
    set_ingredient 'cornstarch'
    set_ingredient 'cottage cheese'
    set_ingredient 'cottage roll'
    set_ingredient 'coulis'
    set_ingredient 'couscous'
    
    set_ingredient 'craisin', 'craisins?'
    set_ingredient 'cranberry', 'cranberries'
    set_ingredient 'cranberry bean'
    set_ingredient 'crayfish'
    set_ingredient 'cream cheese'
    set_ingredient 'cream of tartar'
    set_ingredient 'cream of wheat'
    set_ingredient 'cream, to'
    set_ingredient 'crema de leche'
    set_ingredient 'creme brulee'
    set_ingredient 'creme de cacao'
    set_ingredient 'creme de cassis'
    set_ingredient 'creme de menthe'
    set_ingredient 'creme fraiche'
    set_ingredient 'cremini mushroom', 'cremini mushrooms?'
    set_ingredient 'creole sausage'
    set_ingredient 'crostini'
    set_ingredient 'crouton', 'croutons'
    set_ingredient 'crozzled'
    set_ingredient 'crystallized ginger'
    set_ingredient 'cucumber', 'cucumbers'
    set_ingredient 'cucuzza'
    
    set_ingredient 'curacao'
    set_ingredient 'currant', 'currants'
    set_ingredient 'curry leaf', 'curry leaves'
    set_ingredient 'curry paste'
    set_ingredient 'curry powder'
    set_ingredient 'custard'
    set_ingredient 'dashi'
    set_ingredient 'date', 'dates'
    
    set_ingredient 'derby cheese'
    set_ingredient 'dhania-jeera powder'
    set_ingredient 'dice'
    set_ingredient 'dill'
    set_ingredient 'dovedale cheese'
    set_ingredient 'dredge'
    set_ingredient 'dried leek', 'dried leeks'
    set_ingredient 'dripping'
    set_ingredient 'duck'
    set_ingredient 'dumpling'
    set_ingredient 'durian'
    set_ingredient 'dutch oven'
    set_ingredient 'eau de vie'
    set_ingredient 'eclair', 'eclairs'
    set_ingredient 'edam'
    set_ingredient 'edamame'
    set_ingredient 'eel', 'eels'
    set_ingredient 'egg', 'eggs?'
    set_ingredient 'egg substitute', 'egg substitutes'
    set_ingredient 'eggplant', 'eggplants'
    set_ingredient 'elderberry', 'elderberries'
    
    set_ingredient 'english muffin', 'english muffins'
    set_ingredient 'english mustard'
    set_ingredient 'epazote'
    set_ingredient 'erythritol'
    set_ingredient 'escalope', 'escalopes'
    set_ingredient 'falafel'
    set_ingredient 'falernum'
    set_ingredient 'farina'
    set_ingredient 'farmer cheese'
    set_ingredient 'fava bean', 'fava(-|\s)?beans?'
    set_ingredient 'feet'
    set_ingredient 'feijoa'
    set_ingredient 'fennel'
    set_ingredient 'fennel seed', 'fennel seeds'
    set_ingredient 'fenugreek'
    set_ingredient 'fermented black bean', 'fermented black beans'
    set_ingredient 'figs'
    set_ingredient 'file powder'
    set_ingredient 'finnan haddie'
    set_ingredient 'firm-ball stage'
    set_ingredient 'fish sauce'
    set_ingredient 'fish slice'
    set_ingredient 'five-spice powder'
    set_ingredient 'flageolet'
    set_ingredient 'flax seed', 'flax seeds'
    set_ingredient 'flounder'
    set_ingredient 'flour'
    set_ingredient 'focaccia'
    set_ingredient 'foie gras'
    set_ingredient 'fold'
    set_ingredient 'fond'
    set_ingredient 'fontina cheese'
    set_ingredient 'forcemeat'
    set_ingredient 'frangipane'
    set_ingredient 'french fries'
    set_ingredient 'green bean', 'green beans'
    set_ingredient 'fried rice seasoning'
    set_ingredient 'frisee'
    set_ingredient 'fructose'
    set_ingredient 'galangal'
    set_ingredient 'ganache'
    set_ingredient 'garlic'
    set_ingredient 'garlic powder'
    set_ingredient 'gelatin'
    set_ingredient 'gelatinized starch'
    set_ingredient 'ghee'
    set_ingredient 'ginger'
    set_ingredient 'ginger ale'
    set_ingredient 'ginger beer'
    set_ingredient 'ginger syrup'
    set_ingredient 'ginkgo nut', 'ginkgo nuts'
    set_ingredient 'glace de viande'
    set_ingredient 'gluten'
    set_ingredient 'goji berry', 'goji berries'
    set_ingredient 'golden syrup'
    set_ingredient 'goose', 'geese'
    set_ingredient 'gooseberry', 'gooseberries'
    set_ingredient 'gorgonzola'
    set_ingredient 'gouda'
    
    set_ingredient 'grand marnier'
    set_ingredient 'granola'
    set_ingredient 'grape', 'grapes'
    set_ingredient 'grapefruit', 'grapefruits'
    set_ingredient 'grating cheese'
    set_ingredient 'green bean', 'green beans'
    set_ingredient 'green kern'
    set_ingredient 'green onion', 'green onions'
    set_ingredient 'greens'
    set_ingredient 'grits'
    set_ingredient 'grouper'
    set_ingredient 'guanbana'
    set_ingredient 'guava', 'guavas'
    set_ingredient 'gumbo'
    set_ingredient 'habanero chili', 'habanero chilies'
    set_ingredient 'haddock'
    set_ingredient 'half-and-half'
    set_ingredient 'halibut'
    set_ingredient 'ham'
    set_ingredient 'ham hock'
    set_ingredient 'hard cheese'
    set_ingredient 'harissa'
    set_ingredient 'hash brown', 'hash browns'
    set_ingredient 'havarti'
    set_ingredient 'hawaij'
    set_ingredient 'hazelnut', 'hazelnuts'
    set_ingredient 'hearts of palm'
    set_ingredient 'heavy cream'
    set_ingredient 'herbs'
    set_ingredient 'herbsaint'
    set_ingredient 'herring'
    set_ingredient 'hispanic cheese'
    set_ingredient 'hoisin sauce'
    set_ingredient 'hoki'
    set_ingredient 'hominy'

    
    set_ingredient 'horseradish'
    set_ingredient 'hot sauce'
    set_ingredient 'huckleberry', 'huckleberries'
    set_ingredient 'hyssop'
    set_ingredient 'ice cream'
    set_ingredient 'ice wine'
    
    set_ingredient 'indian pudding'
    set_ingredient 'instant espresso'
    set_ingredient 'instant potato flakes'
    
    set_ingredient 'irish coffee'
    set_ingredient 'irish cream liqueur'
    set_ingredient 'irish mist'
    set_ingredient 'isinglass'
    set_ingredient 'jaggery'
    set_ingredient 'jambalaya'
    set_ingredient 'jamon serrano'
    set_ingredient 'jamun'
    set_ingredient 'jelly bean', 'jelly beans'
    set_ingredient 'jelly roll'
    set_ingredient 'jelly tot', 'jelly tots'
    set_ingredient 'jerusalem artichoke', 'jerusalem artichokes'
    set_ingredient 'jicama'
    set_ingredient 'joint'
    set_ingredient 'jowl'
    set_ingredient 'kabsa spice mix'
    set_ingredient 'kaffir lime'
    set_ingredient 'kahlua'
    set_ingredient 'kalamata olive', 'kalamata olives'
    set_ingredient 'kale'
    set_ingredient 'kamaboko'
    set_ingredient 'kasha'
    set_ingredient 'kashk'
    set_ingredient 'ketchup'
    set_ingredient 'ketjap manis'
    set_ingredient 'kewra essence'
    set_ingredient 'kewra water'
    set_ingredient 'khus essence'
    set_ingredient 'kidney bean', 'kidney beans'
    set_ingredient 'kielbasa'
    set_ingredient 'kirsch'
    set_ingredient 'kitchen bouquet'
    set_ingredient 'kiwi fruit'
    set_ingredient 'kohlrabi'
    set_ingredient 'konfyt'
    set_ingredient 'kosher'
    set_ingredient 'kudzu'
    set_ingredient 'kugel'
    set_ingredient 'kumquat', 'kumquats'
    set_ingredient 'lactose-free brand names'
    set_ingredient 'ladyfinger', 'ladyfingers'
    set_ingredient 'lamb'
    set_ingredient 'lambsquarter', 'lambsquarters'
    set_ingredient 'lampreys'
    set_ingredient 'lancashire cheese'
    set_ingredient 'lardons'
    set_ingredient 'lavender'
    set_ingredient 'lecithin'
    set_ingredient 'leek', 'leeks'
    set_ingredient 'lefse'
    set_ingredient 'lentil', 'lentils'
    set_ingredient 'lettuce'
    set_ingredient 'liaison'
    set_ingredient 'light cream'
    set_ingredient 'lima bean', 'lima beans'
    set_ingredient 'lingcod'
    set_ingredient 'litchi'
    set_ingredient 'liver'
    set_ingredient 'lobster', 'lobsters'
    set_ingredient 'longan', 'longans'
    set_ingredient 'loquat'
    set_ingredient 'lotus'
    set_ingredient 'lovage'
    set_ingredient 'lumpia wrappers'
    set_ingredient 'macaroni'
    set_ingredient 'mace'
    set_ingredient 'mackerel'
    set_ingredient 'madeira'
    set_ingredient 'mahi mahi'
    set_ingredient 'mahleb'
    set_ingredient 'malt vinegar'
    set_ingredient 'malta'
    set_ingredient 'mange-tout', 'mange tout'
    
    set_ingredient 'mangosteen'
    set_ingredient 'manzanilla olive', 'manzanilla olives'
    
    set_ingredient 'maraschino cherry', 'maraschino cherries'
    set_ingredient 'margarine'
    set_ingredient 'marjoram'
    
    set_ingredient 'marsala'
    set_ingredient 'marshmallow', 'marshmallows'
    set_ingredient 'marula'
    set_ingredient 'marzipan'
    set_ingredient 'masa harina'
    set_ingredient 'masala'
    set_ingredient 'mascarpone'
    set_ingredient 'matignon'
    set_ingredient 'matzo meal'
    
    set_ingredient 'melons'
    set_ingredient 'meringue powder'
    set_ingredient 'mesclun'
    set_ingredient 'mettwurst', 'mettwursts'
    
    set_ingredient 'mimolette cheese'
    set_ingredient 'mince'
    set_ingredient 'mint'
    set_ingredient 'miracle whip dressing'
    set_ingredient 'mirepoix'
    set_ingredient 'miso'
    set_ingredient 'mixed spice'
    set_ingredient 'mizuna'
    set_ingredient 'moambe sauce'
    set_ingredient 'molasses'
    set_ingredient 'monkfish'
    set_ingredient 'monosodium glutamate'
    set_ingredient 'morel', 'morels'
    set_ingredient 'moreton bay bug'
    set_ingredient 'mortadella'
    set_ingredient 'mostaccioli'
    set_ingredient 'mozzarella'
    set_ingredient 'muddle'
    set_ingredient 'mugwort'
    set_ingredient 'mung bean', 'mung beans'
    set_ingredient 'muscadine grape'
    
    set_ingredient 'muscovy duck'
    set_ingredient 'mushroom', 'mushrooms'
    set_ingredient 'muskmelon','muskmelons'
    set_ingredient 'mussel', 'mussels'
    set_ingredient 'nasturtium'
    set_ingredient 'navy bean','navy beans'
    set_ingredient 'nectarine', 'nectarines'
    set_ingredient 'nigella seed', 'nigella seeds'
    set_ingredient 'nori'
    set_ingredient 'oamc'
    set_ingredient 'oatmeal'
    set_ingredient 'octopus'
    set_ingredient 'offal'
    set_ingredient 'okra'
    set_ingredient 'olive', 'olives'
    
    set_ingredient 'onion', 'onions?'
    set_ingredient 'onion powder'
    set_ingredient 'oregano'
    set_ingredient 'orgeat syrup'
    set_ingredient 'oyster sauce'

    
    set_ingredient 'pancake syrup'
    set_ingredient 'pancetta'
    set_ingredient 'panir'
    set_ingredient 'panko'
    set_ingredient 'panna cotta'
    set_ingredient 'papaya', 'papayas'
    set_ingredient 'paprika'
    set_ingredient 'parboil'
    set_ingredient 'parchment paper'
    set_ingredient 'parsnip', 'parsnips'
    set_ingredient 'passion fruit'
   
    set_ingredient 'pasta filata cheese'
    set_ingredient 'pastis'
    set_ingredient 'paysanne'
    set_ingredient 'pea', 'peas'
    set_ingredient 'pea bean', 'pea beans'
    set_ingredient 'peach', 'peaches'
    set_ingredient 'peanut', 'peanuts'
    set_ingredient 'peanut butter'
    set_ingredient 'pear', 'pears'
    set_ingredient 'pecan', 'pecans'
    set_ingredient 'pelargonium citronellum'
    set_ingredient 'peppadew pepper', 'peppadew peppers'
    set_ingredient 'pepper'
    set_ingredient 'perch'
    set_ingredient 'periwinkle', 'periwinkles'
    set_ingredient 'persimmon', 'persimmons'
    set_ingredient 'pesto'
    set_ingredient 'pheasant', 'pheasants'
    set_ingredient 'phyllo dough'
    set_ingredient 'pickle', 'pickles'
    set_ingredient 'pickling lime'
    
    set_ingredient 'pie melon'
    set_ingredient 'pierogies'
    set_ingredient "pig's cheek", "pig'?s cheek"
    set_ingredient "pig's feet", "pig'?s feet"
    set_ingredient 'pike'
    set_ingredient 'piloncillo'
    set_ingredient 'pimiento'
    set_ingredient 'pinch'
    set_ingredient 'pine nut', 'pine nuts'
    set_ingredient 'pineapple', 'pineapples'
    set_ingredient 'pink bean', 'pink beans'
    set_ingredient 'pinto bean', 'pinto beans'
    set_ingredient 'pistachio', 'pistachios'
    set_ingredient 'plantain', 'plantains'
    set_ingredient 'plastic wrap'
    set_ingredient 'plum', 'plums'
    
    set_ingredient 'plumcot', 'plumcots'
    set_ingredient 'poach'
    set_ingredient 'polenta'
    set_ingredient 'pomegranate', 'pomegranates'
    set_ingredient 'pomegranate molasses'
    set_ingredient 'pomelos'
    set_ingredient 'pompano'
    set_ingredient 'ponzu'
    set_ingredient 'poppy seed', 'poppy seeds'
    set_ingredient 'porcini'
    set_ingredient 'portabella', 'portabellas'
    set_ingredient 'potato', 'potatoes'
    set_ingredient 'potato chip', 'potato chips'
    set_ingredient 'potato starch'
    set_ingredient 'poultry seasoning'
    set_ingredient 'poussin'
    
    set_ingredient 'prawn', 'prawns'
    set_ingredient 'preheat'
    set_ingredient 'preserve', 'preserves'
    set_ingredient 'preserved lemon'
    set_ingredient 'processed cheese'
    set_ingredient 'proof'
    set_ingredient 'prosciuttini'
    set_ingredient 'prosciutto'
    set_ingredient 'provolone'
    set_ingredient 'prune', 'prunes'
    set_ingredient 'pudding mix', 'pudding mixes'
    
    set_ingredient 'pulses'
    set_ingredient 'pumpkin', 'pumpkins'
    
    
    set_ingredient 'quail'
    set_ingredient 'quark'
    set_ingredient 'quenelle', 'quenelles'
    set_ingredient 'quesadilla'
    set_ingredient 'queso'
    set_ingredient 'quetsch'
    set_ingredient 'quince'
    set_ingredient 'quinoa'
    set_ingredient 'quorn'
    set_ingredient 'rabbit', 'rabbits'
    set_ingredient 'radiatore'
    set_ingredient 'radicchio'
    set_ingredient 'radish', 'radishes'
    set_ingredient 'raisin', 'raisins'
    set_ingredient 'rambutan'
    set_ingredient 'ramps'
    set_ingredient 'ras el hanout'
    set_ingredient 'raspberry', 'raspberries'
    set_ingredient 'raw sugar'
    set_ingredient 'recaito'
    set_ingredient 'red bean', 'red beans'
    set_ingredient 'red cabbage'
    set_ingredient 'red chile powder'
    set_ingredient 'red leicester'
    set_ingredient 'red snapper'
    set_ingredient 'remoulade'
    set_ingredient 'rhubarb'
    set_ingredient 'rice'
    set_ingredient 'rice paddy herb'
    set_ingredient 'rice paper'
    set_ingredient 'rice stick', 'rice sticks'
    set_ingredient 'rice vermicelli'
    set_ingredient 'rice vinegar'
    set_ingredient 'rice wine', 'rice wines'
    
    set_ingredient 'romaine lettuce'
    set_ingredient 'romano cheese'
    set_ingredient 'rookworst'
    set_ingredient 'rose essense'
    set_ingredient 'rose water'
    set_ingredient 'rosemary'
    
    set_ingredient 'rotisserie'
    set_ingredient 'roux'
    set_ingredient 'rum'
    set_ingredient 'rusks'
    set_ingredient 'rutabaga', 'rutabagas'
    set_ingredient 'saffron'
    set_ingredient 'sage'
    set_ingredient 'sago'
    set_ingredient 'salmon'
    set_ingredient 'salsa'
    set_ingredient 'salsify'
    
    set_ingredient 'sambal'
    set_ingredient 'sand dab'
    set_ingredient 'sandwich'
    set_ingredient 'sardine', 'sardines'
    set_ingredient 'satay'
    set_ingredient 'sauerkraut'
    set_ingredient 'saunf'
    set_ingredient 'sausage', 'sausages'
    set_ingredient 'saute'
    set_ingredient 'sazon'
    set_ingredient 'scald'
    set_ingredient 'scallop', 'scallops'
    set_ingredient 'scaloppine'
    set_ingredient 'scotch bonnet chili', 'scotch bonnet chil[ie]s?'
    set_ingredient 'scoville chart'
    set_ingredient 'scrapple'
    set_ingredient 'sea cucumber','sea cucumbers'
    set_ingredient 'sear'
    set_ingredient 'seed'
    set_ingredient 'seitan'
    set_ingredient 'semi-hard cheese'
    
    set_ingredient 'semolina'
    set_ingredient 'sesame seed', 'sesame seeds'
    set_ingredient 'seville orange'
    set_ingredient 'shallot', 'shallots?'
    set_ingredient 'sherry'
    set_ingredient 'shitake', 'shitakes'
    set_ingredient 'shortening'
    set_ingredient 'shrimp'
    set_ingredient 'shrimp paste'
    set_ingredient 'shropshire blue'
    set_ingredient 'simmer'
    set_ingredient 'slipper lobster'
    set_ingredient 'smelt'
    set_ingredient 'smoke seasoning'
    set_ingredient 'smoked salmon'
    set_ingredient 'snap pea', 'snap peas?'
    set_ingredient 'snapper'
    set_ingredient 'snoek'
    set_ingredient 'snow pea', 'snow peas?'
    set_ingredient 'soba'
    set_ingredient 'soba tsuyu'
    
    set_ingredient 'soft cheese'
    set_ingredient 'soft-shell crab', 'soft-?\s?shell crabs?'
    set_ingredient 'sole'
    set_ingredient 'somen'
    set_ingredient 'sorghum'
    set_ingredient 'sorrel'
    set_ingredient 'souffle'
    set_ingredient 'sour cream'
    set_ingredient 'soy sauce'
    set_ingredient 'soybean', 'soybeans'
    set_ingredient 'soymilk'
    set_ingredient 'spaetzle'
    set_ingredient 'spaghetti'
    set_ingredient 'spanish cheese', 'spanish cheeses'
    set_ingredient 'spatchcock'
    set_ingredient 'spearmint'
    set_ingredient 'specialty cheese', 'specialty cheeses'
    set_ingredient 'spinach'
    set_ingredient 'split pea', 'split peas'
    set_ingredient 'squash'
    set_ingredient 'squid'
    set_ingredient 'star anise'
    set_ingredient 'steak', 'steaks'
    set_ingredient 'steam'
    set_ingredient 'stevia'
    set_ingredient 'stilton'
    set_ingredient 'strawberry', 'strawberries'
    set_ingredient 'stuffing', 'stuffings'
    set_ingredient 'sturgeon'
    set_ingredient 'sucanat'
    set_ingredient 'succotash'
    set_ingredient 'suet'
    
    set_ingredient 'sultana'
    set_ingredient 'sumac'
    set_ingredient 'summer squash'
    set_ingredient 'sunflower seed', 'sunflower seeds'
    set_ingredient 'sushi'
    set_ingredient 'sweet pepper', 'sweet peppers'
    set_ingredient 'sweet potato', 'sweet potatoes'
    set_ingredient 'sweetbread', 'sweetbreads'
    set_ingredient 'sweetened condensed milk'
    set_ingredient 'swiss cheese'
    set_ingredient 'swordfish'
    set_ingredient 'szechuan peppercorn'
    set_ingredient 'Tabasco sauce', 't[oa]basco', 't[oa]basco sauce'
    set_ingredient 'tagine'
    set_ingredient 'tahini'
    set_ingredient 'tamarillo'
    set_ingredient 'tamarind'
    set_ingredient 'tandoori paste'
    set_ingredient 'tapioca'
    set_ingredient 'tarragon'
    set_ingredient 'tartar sauce'
    set_ingredient 'tasso'
    set_ingredient 'tatsoi'
    set_ingredient 'tea'
    set_ingredient 'teff'
    set_ingredient 'tempeh'
    set_ingredient 'terrapin', 'terrapins'
    set_ingredient 'thyme'
    set_ingredient 'tofu'
    set_ingredient 'togarashi'
    
    set_ingredient 'tomato juice'
    set_ingredient 'tomato paste'
    set_ingredient 'tomato puree'
    set_ingredient 'tomato sauce'
    set_ingredient 'tonic water'
    set_ingredient 'tortilla', 'tortillas'
    set_ingredient 'tripe'
    set_ingredient 'trout'
    set_ingredient 'truffle', 'truffles'
    set_ingredient 'tuna'
    set_ingredient 'turbinado sugar'
    set_ingredient 'turkey', 'turkeys'
    set_ingredient 'turmeric'
    set_ingredient 'turnip', 'turnips'
    set_ingredient 'turtle', 'turtles'
    set_ingredient 'udo'
    
    set_ingredient 'ugli fruit'
    set_ingredient 'umeboshi'
    set_ingredient 'unsweetened chocolate'
    set_ingredient 'urad dal'
    set_ingredient 'vanilla'
    set_ingredient 'vanilla bean'
    set_ingredient 'veal'
    set_ingredient 'vegemite'
    set_ingredient 'vegetable marrow'
    set_ingredient 'veloute'
    set_ingredient 'velveeta'
    set_ingredient 'venison'
    set_ingredient 'vermouth'
    set_ingredient 'vidalia onion', 'vidalia onions'
    set_ingredient 'vincotto'
    set_ingredient 'vinegar'
    set_ingredient 'vital wheat gluten'
    set_ingredient 'wakame'
    set_ingredient 'walnut', 'walnuts'
    set_ingredient 'wasabi'
    set_ingredient 'water'
    set_ingredient 'water chestnut', 'water chestnuts'
    set_ingredient 'watercress'
    set_ingredient 'watermelon', 'watermelons'
    set_ingredient 'watermelon radish', 'watermelon radishes'
    set_ingredient 'wattleseed'
    set_ingredient 'weetabix'
    set_ingredient 'weisswurst'
    set_ingredient 'wensleydale cheese'
    set_ingredient 'wheat berry', 'wheat berries'
    set_ingredient 'wheat germ'
    set_ingredient 'whelk', 'whelks'
    set_ingredient 'white bean', 'white beans'
    
    set_ingredient 'wild rice'
    set_ingredient 'wine'
    
    set_ingredient 'woodruff'
    set_ingredient 'worcestershire sauce', 'worcestershire'
    set_ingredient 'yeast'
    set_ingredient 'yogurt'
    set_ingredient 'zucchini', 'zucchinis'
  end
end