code: def get_configuration(head, update, head_source=None):
      
      head_source = (head_source or get_head_source(head))
      update_source = get_acquisition_source(update)
  
      if not is_arxiv_and_publisher(head_source, update_source) and is_manual_merge(head, update):
          return ManualMergeOperations
  
      if head_source == 'arxiv':
          if update_source == 'arxiv':
              return ArxivOnArxivOperations
          else:
              return PublisherOnArxivOperations
      else:
          if update_source == 'arxiv':
              return ArxivOnPublisherOperations
          else:
              return PublisherOnPublisherOperations
docs: This function return the right configuration for the inspire_merge
      function in according to the given sources. Both parameters can not be None.
  
      Params:
          head(dict): the HEAD record
          update(dict): the UPDATE record
          head_source(string): the source of the HEAD record
  
      Returns:
          MergerConfigurationOperations: an object containing
          the rules needed to merge HEAD and UPDATE