code: def _mat_from_blocks(
      mb: Sequence[Tuple[int, int, int]],
      n_chars_src: int,
      n_chars_tgt: int,
  ) -> np.ndarray:
      """Construct a char-to-char matrix from a list of matching blocks.
  
      mb is a sequence of (s1, s2, n_char) tuples, where s1 and s2 are the start indices in the
      first and second sequence, and n_char is the length of the block.
  
      Args:
          mb: list of triples of non-overlapping matching subsequences in source str and target.
          n_chars_src (int): number of chars in the source string.
          n_chars_tgt (int): number of chars in the target string.
  
      Returns:
          np.ndarray adjacency matrix mapping chars in the source str to chars in the target str.
  
      """
      return _mat_from_blocks_dense(mb, n_chars_src, n_chars_tgt)
  
file_path: jiant/jiant/utils/retokenize.py
imports: from typing import Iterable, Sequence, Tuple, Union
  from Levenshtein.StringMatcher import StringMatcher
  from nltk.tokenize.util import string_span_tokenize
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: _mat_from_blocks(mb, n_chars_src, n_chars_tgt) and returns: _mat_from_blocks_dense