code: def __init__(self, data, *, is_final=False, close_on_capture=True):
      assert isinstance(data, ConjectureData)
      self.data = data
      self.tasks = []
      self.is_final = is_final
      self.close_on_capture = close_on_capture
      self.close_on_del = False
      # Use defaultdict(list) here to handle the possibility of having multiple
      # functions registered for the same object (due to caching, small ints, etc).
      # The printer will discard duplicates which return different representations.
      self.known_object_printers = defaultdict(list)
  
imports: import math
  from collections import defaultdict
  from typing import NoReturn, Union
  from weakref import WeakKeyDictionary
  from hypothesis import Verbosity, settings
  from hypothesis._settings import note_deprecation
  from hypothesis.errors import InvalidArgument, UnsatisfiedAssumption
  from hypothesis.internal.compat import BaseExceptionGroup
  from hypothesis.internal.conjecture.data import ConjectureData
  from hypothesis.internal.reflection import get_pretty_function_description
  from hypothesis.internal.validation import check_type
  from hypothesis.reporting import report, verbose_report
  from hypothesis.utils.dynamicvariables import DynamicVariable
  from hypothesis.vendor.pretty import IDKey
label_desc: Use image node_id 1 to create a new BuildContext object  with example: obj = BuildContext(data)