code: def _merge_hash(option, opt_str, value, parser):
      # type: (Option, str, str, OptionParser) -> None
      
      if not parser.values.hashes:
          parser.values.hashes = {}  # type: ignore
      try:
          algo, digest = value.split(':', 1)
      except ValueError:
          parser.error('Arguments to %s must be a hash name '
                       'followed by a value, like --hash=sha256:abcde...' %
                       opt_str)
      if algo not in STRONG_HASHES:
          parser.error('Allowed hash algorithms for %s are %s.' %
                       (opt_str, ', '.join(STRONG_HASHES)))
      parser.values.hashes.setdefault(algo, []).append(digest)
docs: Given a value spelled "algo:digest", append the digest to a list
      pointed to in a dict by the algo name.