code: def update_hash(
      val: Any,
      hasher,
      cache_type: CacheType,
      hash_source: Optional[Callable[..., Any]] = None,
      hash_funcs: Optional[HashFuncsDict] = None,
  ) -> None:
      """Updates a hashlib hasher with the hash of val.
  
      This is the main entrypoint to hashing.py.
      """
  
      hash_stacks.current.hash_source = hash_source
  
      ch = _CacheFuncHasher(cache_type, hash_funcs)
      ch.update(hasher, val)
  
imports: import collections
  import dataclasses
  import datetime
  import functools
  import hashlib
  import inspect
  import io
  import os
  import pickle
  import struct
  import sys
  import tempfile
  import threading
  import unittest.mock
  import uuid
  import weakref
  from enum import Enum
  from typing import Any, Callable, Dict, List, Optional, Pattern, Type, Union
  from streamlit import type_util, util
  from streamlit.errors import StreamlitAPIException
  from streamlit.runtime.caching.cache_errors import UnhashableTypeError
  from streamlit.runtime.caching.cache_type import CacheType
  from streamlit.runtime.uploaded_file_manager import UploadedFile
  from streamlit.util import HASHLIB_KWARGS
label_desc: Use image node_id 1 for calling a global function with example usage: update_hash(val, hasher, cache_type, hash_source, hash_funcs) without return types