+
    :1j                        R t ^ RIHt ^ RIt^ RIHt ^ RIHt ^RIH	t	 ^RI
Ht ^RIHt ^RIHt ^R	IHtHtHtHt ]'       d   ^ R
IHt  ! R R]4      t ! R R]4      t ! R R]4      t]! RR7      R 4       tR# )z
Defines a JSON reporter backend

This reporter backend is used to provide JSON strings for output rendering. It is
essentially just a wrapper around ``conda.common.serialize.json.dumps``.
)annotationsN)RLock)TYPE_CHECKING)DEFAULT_JSON_REPORTER_BACKEND)swallow_broken_pipe)json)hookimpl)CondaReporterBackendProgressBarBaseReporterRendererBaseSpinnerBase)Anyc                  h   a  ] tR t^tRtR
R V 3R llltR R ltR t]R 4       t	]
R 4       tR	tV ;t# )JSONProgressBarz*
Progress bar that outputs JSON to stdout
c                    V ^8  d   QhRRRR/# )   descriptionstrenabledbool )formats   "Dlib/python3.14/site-packages/conda/plugins/reporter_backends/json.py__annotate__JSONProgressBar.__annotate__$   s           c                	2   < \         SV `  V4       W n        R # N)super__init__r   )selfr   r   kwargs	__class__s   &&&,r   r   JSONProgressBar.__init__$   s     	%r   c                   V ^8  d   QhRR/# )r   returnNoner   )r   s   "r   r   r   -   s      T r   c           	     	    V P                  4       ;_uu_ 4        V P                  '       d2   \        P                  P	                  R V P
                   RVR R24       RRR4       R#   + '       g   i     R# ; i)
{"fetch":"z)","finished":false,"maxval":1,"progress":fz}
 N)get_lockr   sysstdoutwriter   )r    fractions   &&r   	update_toJSONProgressBar.update_to-   sT    ]]__|||

  !$"2"2!33\]efg\hhno ___s   AA''A8	c                	    R # r   r   r    s   &r   refreshJSONProgressBar.refresh4       r   c                	*   V P                  4       ;_uu_ 4        V P                  '       dL   \        P                  P	                  R V P
                   R24       \        P                  P                  4        RRR4       R#   + '       g   i     R# ; i)r(   z,","finished":true,"maxval":1,"progress":1}
 N)r*   r   r+   r,   r-   r   flushr2   s   &r   closeJSONProgressBar.close7   sZ    ]]__|||

  !$"2"2!33bc 

  " ___s   ABB	c                \    \        V R4      '       g   \        4       V n        V P                  # )z/
Used for our own sys.stdout.write/flush calls
_lock)hasattrr   r;   )clss   &r   r*   JSONProgressBar.get_lock@   s$    
 sG$$CIyyr   )r   )T)__name__
__module____qualname____firstlineno____doc__r   r/   r3   r   r8   classmethodr*   __static_attributes____classcell__)r"   s   @r   r   r      sD      # #  r   r   c                  j    ] tR t^JtRtR R ltR R ltR R ltR R	 ltRR
 R llt	RR R llt
RtR# )JSONReporterRendererz4
Default implementation for JSON reporting in conda
c                    V ^8  d   QhRRRR/# )r   datar   r%   r   r   )r   s   "r   r   !JSONReporterRenderer.__annotate__O   s        3  S  r   c                	.    \         P                  ! V4      # r   r   dumpsr    rJ   r!   s   &&,r   renderJSONReporterRenderer.renderO       zz$r   c                    V ^8  d   QhRRRR/# )r   rJ   zdict[str, str | int | bool]r%   r   r   )r   s   "r   r   rK   R   s         ;  #  r   c                	.    \         P                  ! V4      # r   rM   rO   s   &&,r   detail_view JSONReporterRenderer.detail_viewR   rR   r   c                    V ^8  d   QhRRRR/# )r   rJ   z3list[str] | dict[str, dict[str, str | bool | None]]r%   r   r   )r   s   "r   r   rK   U   s        G 	 r   c                	    \        V\        \        34      '       d   \        P                  ! R V/4      # \        P                  ! V4      # )envs)
isinstancelisttupler   rN   rO   s   &&,r   	envs_listJSONReporterRenderer.envs_listU   s7     dT5M**::vtn--zz$r   c                    V ^8  d   QhRRRR/# )r   r   r   r%   r
   r   )r   s   "r   r   rK   \   s     6 66 
	6r   c                	    \        V3/ VB # r   )r   )r    r   r!   s   &&,r   progress_bar!JSONReporterRenderer.progress_bar\   s    
 {5f55r   c               $    V ^8  d   QhRRRRRR/# )r   messager   fail_messager%   r   r   )r   s   "r   r   rK   c   s!     2 2s 2# 2{ 2r   c                	    \        W4      # r   )JSONSpinner)r    rd   re   s   &&&r   spinnerJSONReporterRenderer.spinnerc   s    711r   c               $    V ^8  d   QhRRRRRR/# )r   rd   r   defaultr%   r   )r   s   "r   r   rK   f   s$      HK	r   c                    R# )z3
For this class, we want this method to do nothing
Nr   )r    rd   choicesrk   s   &&&&r   promptJSONReporterRenderer.promptf   s    r   r   N)zfailed
)Proceed)yesnorq   )r?   r@   rA   rB   rC   rP   rU   r]   ra   rh   rn   rE   r   r   r   rH   rH   J   s*       62 r   rH   c                  &    ] tR t^ntRtR tR tRtR# )rg   zZ
This class for a JSONSpinner does nothing because we do not want to include this output.
c                	    R # r   r   r2   s   &r   	__enter__JSONSpinner.__enter__s   r5   r   c                	    R # r   r   )r    exc_typeexc_valexc_tbs   &&&&r   __exit__JSONSpinner.__exit__v   r5   r   r   N)r?   r@   rA   rB   rC   ru   r{   rE   r   r   r   rg   rg   n   s    r   rg   T)tryfirstc               #  >   "   \        \        R\        R7      x  R# 5i)zg
Reporter backend for JSON

This is the default reporter backend that returns objects as JSON strings.
z2Default implementation for JSON reporting in conda)namer   rendererN)r	   r   rH   r   r   r   conda_reporter_backendsr   z   s      *H% s   )rC   
__future__r   r+   	threadingr   typingr   base.constantsr   	common.ior   common.serializer    r   typesr	   r
   r   r   r   r   rH   rg   r   r   r   r   <module>r      sy    # 
    ; , $   (o (V!/ !H	+ 	 


r   