code: def dict_merge(dct, merge_dct):
      
      for key in merge_dct.keys():
          if (
              key in dct
              and isinstance(dct[key], dict)
              and isinstance(merge_dct[key], collections.Mapping)
          ):
              dict_merge(dct[key], merge_dct[key])
          else:
              dct[key] = merge_dct[key]
docs: Recursive dict merge. Inspired by :meth:``dict.update()``, instead of
      updating only top-level keys, dict_merge recurses down into dicts nested
      to an arbitrary depth, updating keys. The ``merge_dct`` is merged into
      ``dct``.
      :param dct: dict onto which the merge is executed
      :param merge_dct: dct merged into dct
      :return: None