§
    ¹³Ùg  ã                   ó´   — d Z ddlmZmZ ddlmZmZmZ ddlm	Z	 ddl
mZ  edeee	f         ¬	¦  «        Z ed
¦  «        Z G d„ deeeef         ¦  «        ZdS )z#
Primitive job abstract base class
é    )ÚABCÚabstractmethod)ÚGenericÚTypeVarÚUnioné   )ÚPrimitiveResulté   )Ú_BasePrimitiveResultÚResultT)ÚboundÚStatusTc                   óì   — e Zd ZdZdeddfd„Zdefd„Zedefd„¦   «         Z	ede
fd„¦   «         Zedefd	„¦   «         Zedefd
„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zed„ ¦   «         ZdS )ÚBasePrimitiveJobz"Primitive job abstract base class.Újob_idÚreturnNc                 ó"   — || _         || _        dS )zÒInitializes the primitive job.

        Args:
            job_id: A unique id in the context of the primitive used to run the job.
            kwargs: Any key value metadata to associate with this job.
        N)Ú_job_idÚmetadata)Úselfr   Úkwargss      ú_/granary/edev/quantum/lib/python3.11/site-packages/qiskit/primitives/base/base_primitive_job.pyÚ__init__zBasePrimitiveJob.__init__   s   € ð ˆŒØˆŒˆˆó    c                 ó   — | j         S )z'Return a unique id identifying the job.)r   ©r   s    r   r   zBasePrimitiveJob.job_id'   s
   € àŒ|Ðr   c                 ó    — t          d¦  «        ‚)zReturn the results of the job.z<Subclass of BasePrimitiveJob must implement `result` method.©ÚNotImplementedErrorr   s    r   ÚresultzBasePrimitiveJob.result+   ó   € õ "Ð"`ÑaÔaÐar   c                 ó    — t          d¦  «        ‚)zReturn the status of the job.z<Subclass of BasePrimitiveJob must implement `status` method.r   r   s    r   ÚstatuszBasePrimitiveJob.status0   r!   r   c                 ó    — t          d¦  «        ‚)z,Return whether the job has successfully run.z:Subclass of BasePrimitiveJob must implement `done` method.r   r   s    r   ÚdonezBasePrimitiveJob.done5   s   € õ "Ð"^Ñ_Ô_Ð_r   c                 ó    — t          d¦  «        ‚)z+Return whether the job is actively running.z=Subclass of BasePrimitiveJob must implement `running` method.r   r   s    r   ÚrunningzBasePrimitiveJob.running:   s   € õ "Ð"aÑbÔbÐbr   c                 ó    — t          d¦  «        ‚)z*Return whether the job has been cancelled.z?Subclass of BasePrimitiveJob must implement `cancelled` method.r   r   s    r   Ú	cancelledzBasePrimitiveJob.cancelled?   s   € õ "Ð"cÑdÔdÐdr   c                 ó    — t          d¦  «        ‚)zMReturn whether the job is in a final job state such as ``DONE`` or ``ERROR``.zDSubclass of BasePrimitiveJob must implement `is_final_state` method.r   r   s    r   Úin_final_statezBasePrimitiveJob.in_final_stateD   s   € õ "ØRñ
ô 
ð 	
r   c                 ó    — t          d¦  «        ‚)zAttempt to cancel the job.z<Subclass of BasePrimitiveJob must implement `cancel` method.r   r   s    r   ÚcancelzBasePrimitiveJob.cancelK   r!   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r   r   r   r    r   r#   Úboolr%   r'   r)   r+   r-   © r   r   r   r      sz  € € € € € Ø,Ð,ð˜sð °ð ð ð ð ð˜ð ð ð ð ð ðb˜ð bð bð bñ „^ðbð ðb˜ð bð bð bñ „^ðbð ð`�dð `ð `ð `ñ „^ð`ð ðc˜ð cð cð cñ „^ðcð ðe˜4ð eð eð eñ „^ðeð ð
 ð 
ð 
ð 
ñ „^ð
ð ðbð bñ „^ðbð bð br   r   N)r1   Úabcr   r   Útypingr   r   r   Ú
containersr	   Úbase_resultr   r   r   r   r4   r   r   ú<module>r9      sã   ððð ð $Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à (Ð (Ð (Ð (Ð (Ð (Ø -Ð -Ð -Ð -Ð -Ð -à
ˆ'�) 5Ð)=¸Ð)NÔ#OÐ
PÑ
PÔ
P€Ø
ˆ'�)Ñ
Ô
€ð4bð 4bð 4bð 4bð 4b�s˜G G¨WÐ$4Ô5ñ 4bô 4bð 4bð 4bð 4br   