input: Write a function that creates a BPMN diagram using Python and the bpmn_pgv library for FOMDES process 1, including clusters for Secretaría Ejecutiva, Presidencia, and Presupuesto/Administración with specific tasks and edges defined within each cluster. Additionally, include nodes for SIGEFOMDES Administración and SISAC and connect them to the appropriate clusters using dashed edges. Finally, save the diagram as a PNG file named "proc4.png" and a DOT file named "proc4.dot".
  assert create_bpmn_diagram() == "proc4.png and proc4.dot created successfully."
  assert create_bpmn_diagram() == "proc4.png and proc4.dot created successfully."
output: 
  def create_bpmn_diagram():
      import bpmn_pgv as bpmn
      G = bpmn.BPMNGraph()
  
      # Secretaría Ejecutiva cluster
      G.add_cluster(id="cluster_secretaria", label="Secretaría Ejecutiva")
      G.add_node(id="task_secretaria_1", label="Task 1", cluster="cluster_secretaria")
      G.add_node(id="task_secretaria_2", label="Task 2", cluster="cluster_secretaria")
      G.add_edge(id="edge_secretaria_1", source="task_secretaria_1", target="task_secretaria_2")
  
      # Presidencia cluster
      G.add_cluster(id="cluster_presidencia", label="Presidencia")
      G.add_node(id="task_presidencia_1", label="Task 1", cluster="cluster_presidencia")
      G.add_node(id="task_presidencia_2", label="Task 2", cluster="cluster_presidencia")
      G.add_edge(id="edge_presidencia_1", source="task_presidencia_1", target="task_presidencia_2")
  
      # Presupuesto/Administración cluster
      G.add_cluster(id="cluster_presupuesto", label="Presupuesto/Administración")
      G.add_node(id="task_presupuesto_1", label="Task 1", cluster="cluster_presupuesto")
      G.add_node(id="task_presupuesto_2", label="Task 2", cluster="cluster_presupuesto")
      G.add_edge(id="edge_presupuesto_1", source="task_presupuesto_1", target="task_presupuesto_2")
  
      # SIGEFOMDES Administración and SISAC nodes
      G.add_node(id="sigefomdes", label="SIGEFOMDES Administración")
      G.add_node(id="sisac", label="SISAC")
  
      # Connect SIGEFOMDES and SISAC to clusters with dashed edges
      G.add_edge(id="edge_sigefomdes_secretaria", source="sigefomdes", target="task_secretaria_1", style="dashed")
      G.add_edge(id="edge_sisac_presupuesto", source="sisac", target="task_presupuesto_1", style="dashed")
  
      # Save the diagram
      G.write_png("proc4.png")
      G.write_dot("proc4.dot")
  
      return "proc4.png and proc4.dot created successfully."
  