human
Complete the below
def create_deep_key(*path_info):

    ''''A method to make multi-level Key objects.
    Generates multi-level key from multiple fields in the input dictionary.
    This is typically used for Keys for entities which have variable parent keys,
    e.g. ones with owned relationships. It can used for both __key__ and
    references.
    Use create_foreign_key as a simpler way to create single level keys.
    Args:
    path_info: List of tuples, describing (kind, property, is_id=False).
    kind: The kind name.
    property: The external property in the current import dictionary, or
    transform.CURRENT_PROPERTY for the value passed to the transform.
    is_id: Converts value to int and treats as numeric ID if True, otherwise
    the value is a string name. Default is False.
    Example:
    create_deep_key((\'rootkind\', \'rootcolumn\'),
    (\'childkind\', \'childcolumn\', True),
    (\'leafkind\', transform.CURRENT_PROPERTY))
    Returns:
    Transform method which parses the info from the current neutral dictionary
    into a Key with parents as described by path_info.'
    '''
 ... Write me a the Python program you requested?
assistant
#Here is the Python program you requested.
    validated_path_info = []
    for level_info in path_info:
        if (len(level_info) == 3):
            key_is_id = level_info[2]
        elif (len(level_info) == 2):
            key_is_id = False
        else:
            raise bulkloader_errors.InvalidConfiguration(('Each    list    in    create_deep_key    must    specify    exactly    2    or    3    parameters,    (kind,    property,    is_id=False).    You    specified:    %s' % repr(path_info)))
        kind_name = level_info[0]
        property_name = level_info[1]
        validated_path_info.append((kind_name, property_name, key_is_id))
    def create_deep_key_lambda(value, bulkload_state):
        path = []
        for (kind_name, property_name, key_is_id) in validated_path_info:
            if (property_name is CURRENT_PROPERTY):
                name_or_id = value
            else:
                name_or_id = bulkload_state.current_dictionary[property_name]
            if key_is_id:
                name_or_id = int(name_or_id)
            path += [kind_name, name_or_id]
        return datastore.Key.from_path(*path)
    return create_deep_key_lambda