
    <i                        d Z dZddlmZ 	 ddlZn2# e$ r* 	 ddlZ G d d          Zee_        n# e$ r dZY nw xY wY nw xY wddlm	Z	 ddl
mZmZ dd	lmZ dd
lmZmZ ddlmZ  G d de          Z G d de          ZdS )z+
Directives for figures and simple images.
reStructuredText    )url2pathnameNc                       e Zd ZdS )PILN)__name__
__module____qualname__     /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/docutils/parsers/rst/directives/images.pyr   r      s          r   r   )nodes)fully_normalize_namewhitespace_normalize_name)	Directive)
directivesstates)normalize_optionsc            
           e Zd ZdZdZeez   ZdZd Zd ZdZ	dZ
dZej        ej        ej        ej        eej        eej        ej        d		Zd
 ZdS )Image)leftcenterright)topmiddlebottom)embedlinklazyc                 @    t          j        | t          j                  S N)r   choicer   align_valuesarguments    r   alignzImage.align%   s      5+=>>>r   c                 @    t          j        | t          j                  S r    )r   r!   r   loading_valuesr#   s    r   loadingzImage.loading+   s     5+?@@@r      r   T)	altheightwidthscaler%   targetr(   classnamec           
      (   d| j         v rt          | j        t          j                  r\| j         d         | j        vrG|                     d| j        d| j         d         dd                    | j                  d          n[| j         d         | j	        vrG|                     d| j        d| j         d         dd                    | j	                  d          g }t          j        | j        d                   }|| j         d	<   d }d
| j         v rt          j        | j         d
                                                   }t          |          }| j                            || j        | j                  \  }}|dk    rt'          j        |          }nr|dk    rWt'          j        t+          |          t-          |                    }||_        | j        j                            |           n|                    |           | j         d
= t7          | j                   }t'          j        | j        fi |}| j                            | j                  \  |_        |_         | !                    |           |r||z  }||gz   S ||gz   S )Nr%   z
Error in "z" directive: "zp" is not a valid value for the "align" option within a substitution definition.  Valid values for "align" are: "z", "z".zO" is not a valid value for the "align" option.  Valid values for "align" are: "r   urir.   refuri)r3   refname)r4   r0   )"options
isinstancestater   SubstitutionDefalign_v_valueserrorr0   joinalign_h_valuesr   r2   	argumentsescape2null
splitlineslistparse_target
block_textlinenor   	referencer   r   indirect_reference_namedocumentnote_refnameappendr   imagestate_machineget_source_and_linesourcelineadd_name)	selfmessagesrD   reference_nodeblocktarget_typedatar5   
image_nodes	            r   runz	Image.run<   s   dl""$*f&<== :<(0CCC***  999dl7&;&;&;!;;t':;;;;	=> > > D g&d.AAAjjj yyy$,w"7"7"7{{4#677779: : :
 N4>!#455	'Ut|##&X&( ((2
 KKE $
 7 7t!5 !5Kh&&!&!=!=!=	))!&0662488": ": ": :>6
#00@@@@%%%X&#DL11[<<G<<
 .BB4;OO			j!!! 	+j(N~...zl**r   N)r   r   r	   r<   r9   r"   r'   r%   r(   required_argumentsoptional_argumentsfinal_argument_whitespacer   	unchangedlength_or_unitless length_or_percentage_or_unitless
percentageunchanged_requiredclass_optionoption_specrV   r
   r   r   r   r      s        0N0N!N2L.N? ? ?A A A  $$.':&G&1!':%&3%/1 1K/+ /+ /+ /+ /+r   r   c                       e Zd Zd Zd Zej                                        Zeed<   ej	        ed<   ej
        ed<   eed<   dZd Zd	S )
Figurec                 @    t          j        | t          j                  S r    )r   r!   rb   r<   r#   s    r   r%   zFigure.alignp   s     6+@AAAr   c                 `    |                                  dk    rdS t          j        | d          S )NrI   px)lowerr   r\   r#   s    r   figwidth_valuezFigure.figwidth_values   s/    >>w&&7>xNNNr   figwidthfigclassfignamer%   Tc                 Z   | j                             dd           }| j                             dd           }| j                             dd           }| j                             dd           }t          j        |           \  }t	          |t
          j                  r|gS t          j        d|          }| j        	                    | j
                  \  |_        |_        |dk    rt          r| j        j        j        j        rt%          |d                   }	 t          j                            |          5 }d|j        d	         z  |d
<   d d d            n# 1 swxY w Y   | j        j        j        j                            |                    dd                     n# t0          t2          f$ r Y nw xY wn|||d
<   |r|dxx         |z  cc<   |rM|d                             t          j        |                     | j        j                            ||           |r||d<   | j        ryt          j                    }	| j                            | j        | j         |	           tC          |	          D ]\  }
}t	          |t
          j"        t
          j#        f          r||z  }1t	          |t
          j$                  r<t          j%        |j&        dg|j'        R  }|j        |_        |j        |_        ||z  } ntt	          |t
          j(                  rtS          |          d	k    r nE| j*        +                    dt          j,        | j-        | j-                  | j
                  }||gc S tS          |	          |
dz   k    r |t          j.        dg|	|
dz   d          R  z  }|gS )Nrh   ri   rj   r%    rI   r2   z%dpxr   r,   \/classesnamesz4Figure caption must be a paragraph or empty comment.)rM   r)   )/r5   popr   rV   r6   r   system_messagefigurerJ   rK   rC   rL   rM   r   r7   rF   settingsfile_insertion_enabledr   opensizerecord_dependenciesaddreplaceOSErrorUnicodeEncodeErrorrH   r   note_explicit_targetcontentElementnested_parsecontent_offset	enumerater.   pending	paragraphcaption	rawsourcechildrencommentlenreporterr:   literal_blockrB   legend)rO   rh   
figclassesrj   r%   rU   figure_node	imagepathimgnodeichildr   r:   s                 r   rV   z
Figure.run   s   <##J55\%%j$77
,""9d33  $//	$j%"677 	 <l2z2233DK@@		[-w 	6tz*3J 	6(E):;;	6	22 Dc/5/CG,D D D D D D D D D D D D D D D
 J'0DHH!))$446 6 6 6  !34   D
 !#+K  	1	"""j0""" 	O ''(B7(K(KLLLJ44[+NNN 	)#(K < 	= =??DJ##DL$2EtLLL%dOO , ,5eelEM%BCC 5(KeU_55 #mEOR =-2^= = =G%*\GN#(:GL7*KEeU]33 E

aE++J'II , & & $U++++4yy1Q3u|B<acdd<<<<}s6   F" 9EF" EF"  E!F" "F65F6N)r   r   r	   r%   rg   r   r`   copyr   r_   rZ   has_contentrV   r
   r   r   rb   rb   n   s        B B BO O O #((**K,K
(5K
'1K	 KK9 9 9 9 9r   rb   )__doc____docformat__urllib.requestr   	PIL.Imager   ImportErrorr   docutilsr   docutils.nodesr   r   docutils.parsers.rstr   r   r   docutils.parsers.rst.rolesr   rb   r
   r   r   <module>r      s~  
  # ' ' ' ' ' '   		          J J J J J J J J * * * * * * 3 3 3 3 3 3 3 3 8 8 8 8 8 8M+ M+ M+ M+ M+I M+ M+ M+`L L L L LU L L L L Ls)    A 0A :A :A A 