```python
def gen_plan(state: DrawState, x: float, y: float, size: float, offsets: list):
    import math

    # Calculate the outer and inner points of the star
    outer_points = []
    inner_points = []
    for i in range(5):
        outer_angle = math.radians(i * 72 - 90)
        inner_angle = math.radians(i * 72 + 36 - 90)
        outer_points.append([x + size * math.cos(outer_angle), y + size * math.sin(outer_angle)])
        inner_radius = size * math.sin(math.radians(18)) / math.sin(math.radians(126))
        inner_points.append([x + inner_radius * math.cos(inner_angle), y + inner_radius * math.sin(inner_angle)])

    # Add offsets to each point
    all_points = outer_points + inner_points
    perturbed_points = [
        [px + dx, py + dy] for (px, py), (dx, dy) in zip(all_points, offsets)
    ]
    perturbed_outer = perturbed_points[:5]
    perturbed_inner = perturbed_points[5:]

    # Create draw_line actions to form the star
    actions = []
    for i in range(5):
        actions.append(Action("draw_line", perturbed_outer[i] + perturbed_inner[i]))
        actions.append(Action("draw_line", perturbed_inner[i] + perturbed_outer[(i + 1) % 5]))

    return actions

def gen_initial_guess(initial: DrawState):
    return {
        "x": 0.5,  # X coordinate of the center of the star
        "y": 0.35,  # Y coordinate of the center of the star
        "size": 0.1,  # Radius of the outer points of the star from its center
        "offsets": [[0., 0.]] * 10  # 2D point offsets for the star (5 outer points + 5 inner points)
    }
```