def METHOD_NAME(nw: NodeWrangler, berry_color=(0.0212, 0.0212, 0.0284, 1.0)):
    # Code generated using version 2.4.3 of the node_transpiler
    group_input = nw.new_node(Nodes.GroupInput,
        expose_input=[('NodeSocketGeometry', 'Geometry', None), 
                    ('NodeSocketFloat', 'spline parameter', 0.5)])
    surfacebump = nw.new_node(nodegroup_surface_bump().name,
        input_kwargs={'Geometry': group_input.outputs['Geometry'], 'Displacement': 0.5, 'Scale': 0.5})
    pointonmesh = nw.new_node(nodegroup_point_on_mesh().name,
        input_kwargs={'Mesh': surfacebump, 'Distance Min': 0.4, 'spline parameter': group_input.outputs['spline parameter'], 'noise amount': 0.5, 'noise scale': 2.0})
    randomrotationscale = nw.new_node(nodegroup_random_rotation_scale().name,
        input_kwargs={'rot mean': (3.89, 0.0, 0.0)})
    uv_sphere_2 = nw.new_node(Nodes.MeshUVSphere,
        input_kwargs={'Segments': 32, 'Rings': 16})
    surfacebump_1 = nw.new_node(nodegroup_surface_bump().name,
        input_kwargs={'Geometry': uv_sphere_2, 'Displacement': 0.5, 'Scale': 0.3})
    subdivision_surface = nw.new_node(Nodes.SubdivisionSurface,
        input_kwargs={'Mesh': surfacebump_1})
    set_material = nw.new_node(Nodes.SetMaterial,
        input_kwargs={'Geometry': subdivision_surface, 'Material': surface.shaderfunc_to_material(shader_berry_shader, berry_color)})
    circlecrosssection_1 = nw.new_node(nodegroup_circle_cross_section().name,
        input_kwargs={'noise amount': 0.0, 'Resolution': 8, 'radius': 0.15})
    shapequadratic_1 = nw.new_node(nodegroup_shape_quadratic().name,
        input_kwargs={'Profile Curve': circlecrosssection_1, 'random seed tilt': 0.0, 'noise scale tilt': 0.0, 'noise amount tilt': 0.0, 'noise scale pos': 1.0, 
        'noise amount pos': 2.0, 'Resolution': 8, 'Start': (0.0, 0.0, 0.0),  
        'Middle': (0.0, 0.0, -1.0), 'End': (0.0, 0.0, -2.0)})
    value_4 = nw.new_node(Nodes.Value)
    value_4.outputs[0].default_value = 0.2
    transform_3 = nw.new_node(Nodes.Transform,
        input_kwargs={'Geometry': shapequadratic_1, 'Translation': (0.0, 0.0, -1.0), 'Scale': value_4})
    set_material_3 = nw.new_node(Nodes.SetMaterial,
        input_kwargs={'Geometry': transform_3, 'Material': surface.shaderfunc_to_material(shader_hair_shader)})
    join_geometry = nw.new_node(Nodes.JoinGeometry,
        input_kwargs={'Geometry': [set_material, set_material_3]})
    instanceonpoints = nw.new_node(nodegroup_instance_on_points().name,
        input_kwargs={'rotation base': pointonmesh.outputs["Rotation"], 'rotation delta': randomrotationscale.outputs["Vector"], 'translation': (0.0, -0.5, 0.0),
        'scale': randomrotationscale.outputs["Value"], 'Points': pointonmesh.outputs["Geometry"], 'Instance': join_geometry})
    realize_instances = nw.new_node(Nodes.RealizeInstances,
        input_kwargs={'Geometry': instanceonpoints})
    group_output = nw.new_node(Nodes.GroupOutput,
        input_kwargs={'Geometry': realize_instances})