
    z	i5                     F    S r SSKJrJr  SSKJr  SSKJr   " S S\5      rg)z9Remove reset when it is the final instruction on a qubit.    )ResetQubit)	DAGOpNode)TransformationPassc                       \ rS rSrSrS rSrg)RemoveFinalReset   z>Remove reset when it is the final instruction on a qubit wire.c                 P   UR                   R                  5        H  n[        UR                  [        5      (       d  M$  [        UR                  U5      5      n[        U[        5      (       d  MU  [        UR                  [        5      (       d  Mv  UR                  U5        M     U$ )zRun the RemoveFinalReset pass on `dag`.

Args:
    dag (DAGCircuit): the DAG to be optimized.

Returns:
    DAGCircuit: the optimized DAG.
)
output_mapvalues
isinstancewirer   nextpredecessorsr   opr   remove_op_node)selfdagoutput_nodepreds       r/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/transpiler/passes/optimization/remove_final_reset.pyrunRemoveFinalReset.run   su     >>002K+**E22C,,[9:dI..:dggu3M3M&&t,	 3
 
     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s
    Hr   r   N)	r    qiskit.circuitr   r   qiskit.dagcircuitr   qiskit.transpiler.basepassesr   r   r   r   r   <module>r%      s!    @ ' ' ;) r   