human
Solve the following python programming problem given the following code:
def _apply_node_template(self, resource_type, resource_configuration) : 
    '
        If the given `resource_configuration` defines a `node_template_name`,
        then this function will find the matching `node_template` (based on the
        `resource_type`) and perform a deep merge.

        The end result is that any default values from the node template will
        be applied and a new `resource_configuration` will be returned with the
        defaults from its `node_template`.
        ' 
    def deep_merge(base, overrides) : 
        if (not isinstance (overrides, Mapping)) : 
            return overrides 
result = deepcopy (base) 
        for (key, value) in overrides.iteritems () : 
            if ((key in result) and isinstance (result [key], Mapping)) : 
                result [key] = deep_merge (result [key], value) 
else : 
                result [key] = deepcopy (value) 
return result 
node_template_name = resource_configuration.get ('node_template_name') 
    if (not node_template_name) : 
        return resource_configuration 
node_templates = self.node_templates [node_template] 
    node_template = node_templates [node_template_name] 
    return deep_merge (node_template ['defaults'], resource_configuration) 

    
    

    Fix the buggy line: node_templates = self.node_templates [node_template]
assistant
#Here is Python program to find the matching `node_template` (based on the
.

node_templates = self.node_templates [resource_type]