def deserialize(service_mode: ServiceMode, item: dict) -> dict:
    """
    Deserialize values in a dictionary from JSON strings back to their original
    Python data types. This method handles the conversion of JSON-formatted
    strings stored in Azure Table Storage back into complex Python data types
    such as dictionaries. It also handles reassembling split properties, falling
    back to the original values when deserialization fails.
    """
    deserialized_item = {}
    parts_to_assemble = defaultdict(dict)

    for key, val in item.items():
        # Only attempt to deserialize strings
        if isinstance(val, str):
            # Deserialize non-partial values
            if (
                service_mode == ServiceMode.STORAGE
                and STORAGE_PART_KEY_DELIMITER not in key
            ):
                deserialized_item[key] = deserialize_or_fallback(val)
                continue

            # Deserialize partial values
            base_key, part_idx = key.rsplit(STORAGE_PART_KEY_DELIMITER, 1)
            try:
                converted_idx = int(part_idx)
                parts_to_assemble[base_key][converted_idx] = val
            except ValueError:
                pass
            continue

        # Assign non-serialized values
        deserialized_item[key] = val

    deserialized_property_values = concatenate_large_values(parts_to_assemble)
    deserialized_item.update(deserialized_property_values)

    return deserialized_item

    Deserialize values in a dictionary from JSON strings back to their original
    Python data types. This method handles the conversion of JSON-formatted
    strings stored in Azure Table Storage back into complex Python data types
    such as dictionaries. It also handles reassembling split properties, falling
    back to the original values when deserialization fails.
    
llama-index-utils/llama-index-utils-azure/llama_index/utils/azure/table.py