code: def fully_shrink(runner, test_case, predicate):
      if not isinstance(test_case, ConjectureResult):
          test_case = runner.cached_test_function(test_case)
      while True:
          shrunk = runner.shrink(test_case, predicate)
          if shrunk.buffer == test_case.buffer:
              break
          test_case = shrunk
      return test_case
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/internal/conjecture/shrinking/dfas.py
imports: import hashlib
  import math
  from itertools import islice
  from pathlib import Path
  from hypothesis import HealthCheck, settings
  from hypothesis.errors import HypothesisException
  from hypothesis.internal.conjecture.data import ConjectureResult, Status
  from hypothesis.internal.conjecture.dfa.lstar import LStar
  from hypothesis.internal.conjecture.shrinking.learned_dfas import SHRINKING_DFAS, __file__
label_desc: Use image node_id 3 for calling a global function with example usage: fully_shrink(runner, test_case, predicate) and returns: test_case