
    'Wh
                        d dl Z d dlZdZg dg dg dgZg dg dg dgZd	Zd
ZdZdZdZ	dZ
dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Zd! Zd" Zd# Zd$ Z d% Z!d& Z"d' Z#d( Z$d) Z%d* Z&d+ Z'd, Z(d- Z)d. Z*y)/    Nz2.1.0)g?W[	@gF_gEGr߿)gS:gc]F?gsh|??)g?ܵ?g&1ʿgx?)g7d?g,C?gv?)gz6?g,C?g]m{?)gN@aÓ?g2%䃾?g"~j?g'@j?      ?gyuk?g4R?g('UH?玬2#?fffff:@c                 *    t        t        | ||g       S N)
lch_to_rgbhusl_to_lchhsls      O/var/www/html/jupyter_env/lib/python3.12/site-packages/seaborn/external/husl.pyhusl_to_rgbr      s    {Aq!9-..    c                 .    t        t        | ||            S r   )
rgb_to_hexr   r
   s      r   husl_to_hexr   #   s    k!Q*++r   c                 .    t        t        | ||            S r   )lch_to_husl
rgb_to_lchrgbs      r   rgb_to_huslr   '   s    z!Q*++r   c                 $    t        t        |        S r   )r   
hex_to_rgbhexs    r   hex_to_huslr    +   s    
3((r   c                 *    t        t        | ||g       S r   )r   huslp_to_lchr
   s      r   huslp_to_rgbr#   /   s    |Q1I.//r   c                 .    t        t        | ||            S r   )r   r#   r
   s      r   huslp_to_hexr%   3   s    l1a+,,r   c                 .    t        t        | ||            S r   )lch_to_huslpr   r   s      r   rgb_to_huslpr(   7   s    
1a+,,r   c                 $    t        t        |        S r   )r(   r   r   s    r   hex_to_huslpr*   ;   s    C))r   c           	      B    t        t        t        | ||g                  S r   )
xyz_to_rgb
luv_to_xyz
lch_to_luv)r   cr   s      r   r   r   ?       jQ1I!6788r   c           	      B    t        t        t        | ||g                  S r   )
luv_to_lch
xyz_to_luv
rgb_to_xyzr   s      r   r   r   C   r0   r   c                    t        j                  |      }t        j                  |      }t        j                  |      }t        j                  | dz   d      dz  }|dkD  r|n| dz  }t        d      }t        D ]u  }|d   }	|d   }
|d	   }d
|	z  d|
z  z   d|z  z   |z  }d|z  d|
z  z
  }d|z  d|	z  z
  }||z  ||z  z   |z  }dD ]'  }| |d|z  z
  z  |d|z  |z  z   z  }|dkD  s ||k  s&|}) w |S )N         @    @7Ar   r   infr         g~k	?gj?gHP?g`TR'?g?gl[ ?g7?        r   r=   )mathradianssincospowfloatm)LHhradsinHcosHsub1sub2resultrowm1m2m3toprbottomlbottombottomtCs                     r   
max_chromarW   G   s/   <<?DHHTNDHHTNDHHQVS!I-D(?4UD5\F VVV"w|+gl:dBR<'B,.R<'B,.D.7T>1T9 	AcGaK'(FWt^a5G,GHA3w1v:	 Mr   c                    t        j                  | d      dt        j                  | d      z  z   d| z  z   dz   dz  }d}||kD  r|nd| z  d	z  }t        d
      }d }t        D ]  }dD ]  }|\  }}	}
d|
z  |z  d|	z  |z  z   d|z  z
  }d|z  |z  d|
z  |z  z
  }t        j                  ||      }|dk(  r|t         j
                  z  }t        | t        j                  |            }||k  s|}|}  |S )Nr7   g      H@g       @g      @g      @r8   r   g      $@g    @r9   r<   g  `wg  <Ag   +d8Ag   Ar=   )r>   rB   rC   rD   atan2pirW   degrees)rE   lhsrhssubchromarL   rM   limitrN   rO   rP   rQ   rT   rG   tests                  r   _hrad_extremumrb   ^   s&   88AsdTXXa%555	AFJi
WC
Cs#q6 1C5\FF  	ELRR"$s*[2-=-CCkTYFYYC!B&,{R/?#/EEF::c6*D |ad!34Df}	 Mr   c                 V    t        j                  t        |             }t        | |      S r   )r>   r[   rb   rW   )rE   rF   s     r   max_chroma_pastelrd   u   s"    ^A&'Aar   c                 J    t        t        t        j                  | |            S r   )summapoperatormul)ar   s     r   dot_productrk   z   s    s8<<A&''r   c                 P    | t         kD  rt        j                  | d      S d| z  dz   S )NgUUUUUU?gS%@g{a?)lab_er>   rB   rU   s    r   fro   ~   s)    5yI&'	L()r   c                     t        j                  | d      t        kD  rt        j                  | d      S d| z  dz
  t        z  S )Nr7         ]@      0@)r>   rB   rm   lab_krn   s    r   f_invrt      s:    xx3%C !	D E))r   c                 N    | dk  rd| z  S dt        j                  | d      z  dz
  S )Ngsåi?ףp=
)@gzG?g?)\(?r>   rB   )r/   s    r   from_linearry      s.    I~qyI..67r   c                 X    d}| dkD  rt        j                  | |z   d|z   z  d      S | dz  S )Nrw   g?ܵ?r   g333333@rv   rx   )r/   rj   s     r   	to_linearr{      s6    A7{!a%C!G,c23E	r   c           	          g }| D ]_  }t        |d      }|dk  s|dkD  rt        d|d      |dk  rd}|dkD  rd}|j                  t        t        |dz  d	z   d                   a |S )
N   g-C6gqh ?zIllegal RGB value ro   r   r:      gMbP?)round	Exceptionappendint)tripleretchs      r   rgb_preparer      s    
C 42q\<2;0A7886B6B 	

3uR#X-q1234" Jr   c                     | j                  d      r| dd  } t        | dd d      dz  }t        | dd d      dz  }t        | dd d      dz  }|||gS )	N#r:   r   r;   r6   g     o@      )
startswithr   )r   r   r   r   s       r   r   r      sj    
~~c!"gC!HbE!AC!HbE!AC!HbE!Aq!9r   c                 B    | \  }}}dt        t        |||g            z  S )Nz#%02x%02x%02x)tupler   )r   r   r   r   s       r   r   r      s(    IQ1U;1ay#9:::r   c                 \     t         fdt              }t        t        t        |            S )Nc                     t        |       S r   rk   )rM   r   s    r   <lambda>zxyz_to_rgb.<locals>.<lambda>   s    +c62 r   )rg   rD   listry   )r   xyzs   ` r   r,   r,      s"    
2A
6CK%&&r   c                 n    t        t        t        |             t        t        fdt                    S )Nc                     t        |       S r   r   )rM   rgbls    r   r   zrgb_to_xyz.<locals>.<lambda>   s    C 6 r   )r   rg   r{   m_inv)r   r   s    @r   r4   r4      s'    Iv&'D6>??r   c                    | \  }}}||cxk(  r|cxk(  rdk(  rg dS  d|z  |d|z  z   d|z  z   z  }d|z  |d|z  z   d|z  z   z  }dt        |t        z        z  dz
  }|dk(  rg dS d	|z  |t        z
  z  }d	|z  |t        z
  z  }|||gS )
Nr=   r=   r=   r=         @      .@r7         "@rq   rr         *@)ro   refYrefUrefV)	r   XYZvarUvarVrE   UVs	            r   r3   r3      s    GAq!Ac  !GTAX#'23D!GTAX#'23D!d(d"A 	CxqD4K AqD4K Aq!9r   c                    | \  }}}|dk(  rg dS t        |dz   dz        }|d|z  z  t        z   }|d|z  z  t        z   }|t        z  }dd|z  |z  |dz
  |z  ||z  z
  z  z
  }d|z  d	|z  |z  z
  ||z  z
  d
|z  z  }	|||	gS )Nr   r   rr   rq   r   r=   r   r   r   r7   )rt   r   r   r   )
r   rE   r   r   varYr   r   r   r   r   s
             r   r-   r-      s    GAq!Av!d(e#$Dq>D Dq>D DtAsQw~4#:"5t"CDDA	qD4K!O	$q	1cDjAAq!9r   c                    | \  }}}t        j                  t        j                  |d      t        j                  |d      z   d      }t        j                  ||      }t        j                  |      }|dk  rd|z   }|||gS )Nr;   g      ?r=   g     v@)r>   rB   rY   r[   )r   rE   r   r   rV   rG   rF   s          r   r2   r2      sp    GAq!	$((1a.488Aq>1I	?AJJq!DTA3wAIq!9r   c                     | \  }}}t        j                  |      }t        j                  |      |z  }t        j                  |      |z  }|||gS r   )r>   r?   rA   r@   )r   rE   rV   rF   Hradr   r   s          r   r.   r.      sJ    GAq!<<?D	$!	A	$!	Aq!9r   c                 h    | \  }}}|dkD  rdd|gS |dk  rdd|gS t        ||      }|dz  |z  }|||gS N6X@d   r=   :0yE>      Y@rW   r   rF   SrE   mxrV   s         r   r	   r	     sX    GAq!:~S!}:~S!}	Aq	B
U
QAq!9r   c                 h    | \  }}}|dkD  r|ddgS |dk  r|ddgS t        ||      }||z  dz  }|||gS Nr   r=   r   r   r   r   rE   rV   rF   r   r   s         r   r   r     sX    GAq!:~3:~3}	Aq	B	BAq!9r   c                 f    | \  }}}|dkD  rdd|gS |dk  rdd|gS t        |      }|dz  |z  }|||gS r   rd   r   s         r   r"   r"      sV    GAq!:~S!}:~S!}	1	B
U
QAq!9r   c                 f    | \  }}}|dkD  r|ddgS |dk  r|ddgS t        |      }||z  dz  }|||gS r   r   r   s         r   r'   r'   .  sV    GAq!:~3:~3}	1	B	BAq!9r   )+rh   r>   __version__rD   r   refXr   refZr   r   rm   rs   r   r   r   r    r#   r%   r(   r*   r   r   rW   rb   rd   rk   ro   rt   ry   r{   r   r   r   r,   r4   r3   r-   r2   r.   r	   r   r"   r'    r   r   <module>r      s       	 
/,,)0--*99..
(**8,;
'
@
( 	r   