
    h'                     v    d dl mZmZ d dlZd dlZd dlZd dlZddlmZ ddl	m
Z
mZ ddlmZmZ  G d de      Zy)	    )print_functionunicode_literalsN   )PY2)HAVE_PIL	HAVE_PILF)BytesIOhtml_escapec                       e Zd Zd Zd Zy)Icoc                     || _         y )N)args)selfr   s     B/jellyfin/media/venv/lib/python3.12/site-packages/copyparty/ico.py__init__zIco.__init__   s	    	    c                    |j                  dd      }|j                  d      }t        j                  |      j	                         dd }t
        r|D cg c]  }t        |       }}t        j                  |d   dz  dd	      }t        j                  |d   dz  t        rd
ndd      }t        |      t        |      z   D cg c]  }t        |dz         }	}dj                  |	D cg c]  }d|fz  
 c}      }
d}d}|rK| j                  j                  j                  d      \  }}t        dt!        |      t!        |      z  z        }|r9t        r	 ddlm}m} t)        j*                  dd|      j-                         }t        d|z  |z        }d}|j/                  d||fd|
dd z         }|j1                  |      }|j3                  d|d      \  }}}}t        ||z
  dz        t        ||z
  dz        f}|j5                  ||d|
dd z   d       |j7                  |dz  |dz  f|j8                        }t;               }|j=                  |dd        d!|j?                         fS t@        rddlm}m} t        d"|z  |z        }d#}|j/                  d||fd|
dd z         }|j1                  |      }	 |j3                  d|      \  }}}}|tE        |      z  }|tE        |      z  }||z
  dz  |dz  d$z  z
  }d|
dd z   }|D ]'  }|j5                  |||z
  dz  fd%|d%|&       ||z  }) |j7                  |d$z  |d$z  f|j8                        }t;               }|j=                  |dd        d!|j?                         fS d'}tG        |d(      }d)|v rR|j                  d)      }tE        |      }|dk(  rd*n|d$k(  rd+nd,} d-}!dj                  |D cg c]  }|!|fz  
 c}      }nd.} |jI                  ||
dd | |
dd |      }d/|j                  d      fS c c}w c c}w c c}w #  Y xY w#  |jC                  |      \  }}Y yxY wc c}w )0z(placeholder to make thumbnails not breakasciireplacezutf-8      r   g      p@r   g333333?g?    z%02xd      xg      Y@)Image	ImageDrawz(.)z\1 g      `@   RGB#N   )r   r      )	font_size)fillr$   PNG)formatcompress_levelz	image/pngg      P@@       )r%   af  <?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 100 {}" xmlns="http://www.w3.org/2000/svg"><g>
<rect width="100%" height="100%" fill="#{}" />
<text x="50%" y="{}" dominant-baseline="middle" text-anchor="middle" xml:space="preserve"
  fill="#{}" font-family="monospace" font-size="14px" style="letter-spacing:.5px">{}</text>
</g></svg>
T
z20%z10%0z%<tspan x="50%%" dy="1.2em">%s</tspan>z50%zimage/svg+xml)%encodedecodehashlibsha1digestr   ordcolorsys
hsv_to_rgbr   listintjoinr   th_sizesplitfloatPILr   r   resubuppernewDrawtextbboxtextresizeNEARESTr	   savegetvaluer   textsizelenr
   r'   )"r   extas_thumbchromebextzbr   c1c2cicwhswshr   r   ext2imgpb_twthxybufcwr%   chsvgtxtlinesnyzss"                                     r   getzIco.get   sK    zz'9-kk'"\\$&&(1-"$%Q#a&%B%  A37  AyaK$(HtBx$78qc!c'l88GGB/qVqd]/0YY&&,,S1FBEU2Yr234A4 66%5;;=DEAIM*AA))EAq632A;?C",B#%;;vtr;#JLAq"bq2vl+S!b&A->?BGGB312;"GE**a!eQU^U]]CC!)CHHSqHA&66
 0q1%ii1vsQrU{;^^C(.#%;;vs#;LAq"b c#h3s8^"f]rAv!m3QqrU{ BGGQRA."TGJGA jj!a%Q?iU1="CLLN22 #t$3;IIdOEE
Aaa1fU#A8B''e42945CAjjAbqE1aeS1

7 333s & 9/B.[[-FB> 5s1   PP#)P(DP- >P5 Q-P25QN)__name__
__module____qualname__r   rg    r   r   r   r      s    `4r   r   )
__future__r   r   argparser4   r0   r=   r   r   th_srvr   r   utilr	   r
   objectr   rk   r   r   <module>rq      s+    7    	  ' &d4& d4r   