§
    º³ÙgL
  ã                   óä   — d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZmZ dd	lmZ  ed
¬¦  «        	 	 ddededee         deeeef                  de	f
d„¦   «         ZdS )z"QuantumCircuit to Pulse scheduler.é    )ÚOptionalÚUnion)ÚQuantumCircuit)ÚQiskitError)ÚSchedule)ÚScheduleConfig)Úas_soon_as_possibleÚas_late_as_possible)Ú	BackendV1Ú	BackendV2)Údeprecate_pulse_dependencyT)Úmoving_to_dynamicsNÚcircuitÚschedule_configÚmethodÚbackendÚreturnc                 ó´   — t           t           t          t          dœ}|€d}	  ||         | ||¦  «        S # t          $ r}t          d|› d�¦  «        |‚d}~ww xY w)aÖ  
    Basic scheduling pass from a circuit to a pulse Schedule, using the backend. If no method is
    specified, then a basic, as late as possible scheduling pass is performed, i.e. pulses are
    scheduled to occur as late as possible.

    Supported methods:

        * ``'as_soon_as_possible'``: Schedule pulses greedily, as early as possible on a
          qubit resource. (alias: ``'asap'``)
        * ``'as_late_as_possible'``: Schedule pulses late-- keep qubits in the ground state when
          possible. (alias: ``'alap'``)

    Args:
        circuit: The quantum circuit to translate.
        schedule_config: Backend specific parameters used for building the Schedule.
        method: The scheduling pass method to use.
        backend: A backend used to build the Schedule, the backend could be BackendV1
                 or BackendV2.

    Returns:
        Schedule corresponding to the input circuit.

    Raises:
        QiskitError: If method isn't recognized.
    )r	   Úasapr
   ÚalapNr
   zScheduling method z isn't recognized.)r	   r
   ÚKeyErrorr   )r   r   r   r   ÚmethodsÚexs         úW/granary/edev/quantum/lib/python3.11/site-packages/qiskit/scheduler/schedule_circuit.pyÚschedule_circuitr      s‡   € õB  3Ý#Ý2Ý#ð	ð €Gð €~Ø&ˆðSØˆw�vŒ˜w¨¸ÑAÔAÐAøÝð Sð Sð SÝÐI¨vÐIÐIÐIÑJÔJÐPRÐRøøøøðSøøøs   ¡4 ´
A¾AÁA)NN)Ú__doc__Útypingr   r   Úqiskit.circuit.quantumcircuitr   Úqiskit.exceptionsr   Úqiskit.pulse.scheduler   Úqiskit.scheduler.configr   Úqiskit.scheduler.methodsr	   r
   Úqiskit.providersr   r   Úqiskit.utils.deprecate_pulser   Ústrr   © ó    r   ú<module>r(      sB  ðð )Ð (Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø )Ð )Ð )Ð )Ð )Ð )à *Ð *Ð *Ð *Ð *Ð *Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø CÐ CÐ CÐ CÐ CÐ Cð Ð¨tÐ4Ñ4Ô4ð !Ø59ð	*Sð *SØð*Sà#ð*Sð �SŒMð*Sð �e˜I yÐ0Ô1Ô2ð	*Sð
 ð*Sð *Sð *Sñ 5Ô4ð*Sð *Sð *Sr'   