+
    WBi                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt]
P                  '       d   ^ RIHt ^ RI
HtHtHtHtHt ^ RIHt Rt]P.                  ! R4      tR R	 lt ! R
 R4      t ! R R]4      tR# )    )annotationsN)TracebackType)ListOptionalTupleTypeUnion)Pathi zY^(?P<name>[^-]+)-(?P<version>[^-]+)(:?-(?P<build>[^-]+))?-(?P<tag>[^-]+-[^-]+-[^-]+).whl$c                    V ^8  d   QhRRRR/# )   databytesreturn )formats   "7/usr/lib/python3.14/site-packages/mesonpy/_wheelfile.py__annotate__r      s     7 7U 7u 7    c                L    \         P                  ! V 4      P                  R 4      # )   =)base64urlsafe_b64encoderstripr   s   &r   
_b64encoder      s    ##D)0066r   c                     a  ] tR t^"tRtR]P                  3R V 3R lllt]RR R ll4       t	]R R l4       t
R	 R
 ltRR R lltR R ltR R ltR R ltRtV ;t# )	WheelFilezImplement the wheel package binary distribution format.

https://packaging.python.org/en/latest/specifications/binary-distribution-format/
rc               (    V ^8  d   QhRRRRRRRR/# )	r   filenamer
   modestrcompressionintr   z'WheelFile'r   )r   s   "r   r   WheelFile.__annotate__'   s)     " "t "3 "3 "bm "r   c                	D   < VR 8X  d   \         SV `  \        4      # \        h)w)super__new__WheelFileWriterNotImplementedError)clsr    r!   r#   	__class__s   &&&&r   r)   WheelFile.__new__'   s    3;7??33!!r   c                    V ^8  d   QhRRRR/# )r   mtimezOptional[float]r   z#Tuple[int, int, int, int, int, int]r   )r   s   "r   r   r%   -   s     + + +4W +r   c                	    \        \        P                  P                  R T ;'       g    \        P                  ! 4       4      4      p\        V\        4      p\        P                  ! V4      R,          # )SOURCE_DATE_EPOCH:r      N)r$   osenvirongettimemaxMIN_TIMESTAMPgmtime)r0   	timestamps   & r   r;   WheelFile.timestamp,   sJ    

':E<P<PTYY[QR		=1	{{9%c**r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r"   r   )r   s   "r   r   r%   4   s     U U5 US Ur   c                	    R \        \        P                  ! V 4      P                  4       4      P	                  R4      ,           # )zsha256=ascii)r   hashlibsha256digestdecoder   s   &r   hashWheelFile.hash3   s/    :gnnT&:&A&A&CDKKGTTTr   c               $    V ^8  d   QhRRRRRR/# r   zinfo_or_arcnamezUnion[str, zipfile.ZipInfo]r   r   r   Noner   )r   s   "r   r   r%   7   s#     " ")D "E "VZ "r   c                	    \         hNr+   )selfrH   r   s   &&&r   writestrWheelFile.writestr7       !!r   c               $    V ^8  d   QhRRRRRR/# r   r    r
   arcnamezOptional[str]r   rI   r   )r   s   "r   r   r%   :   s!     " "d "] "d "r   c                	    \         hrK   rL   )rM   r    rS   s   &&&r   writeWheelFile.write:   rP   r   c                   V ^8  d   QhRR/# r   r   rI   r   )r   s   "r   r   r%   =   s     " "t "r   c                	    \         hrK   rL   rM   s   &r   closeWheelFile.close=   rP   r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r%   @   s      9 r   c                	    V # rK   r   rZ   s   &r   	__enter__WheelFile.__enter__@   s    r   c               (    V ^8  d   QhRRRRRRRR/# )	r   exc_typezType[BaseException]exc_valBaseExceptionexc_tbr   r   rI   r   )r   s   "r   r   r%   C   s+      !4 } Vc hl r   c                	&    V P                  4        R # rK   )r[   )rM   rb   rc   re   s   &&&&r   __exit__WheelFile.__exit__C   s    

r   r   rK   )__name__
__module____qualname____firstlineno____doc__zipfileZIP_DEFLATEDr)   staticmethodr;   rD   rN   rU   r[   r_   rg   __static_attributes____classcell__)r-   s   @r   r   r   "   sg     25I]I] " "
 + + U U""" r   r   c                  d    ] tR t^Gt]P
                  3R R lltR R ltRR R lltR R	 lt	R
t
R# )r*   c               $    V ^8  d   QhRRRRRR/# )r   filepathr
   r!   r"   r#   r$   r   )r   s   "r   r   WheelFileWriter.__annotate__H   s&     e e eS es er   c                	@   \         P                  P                  V4      p\        P	                  V4      pV'       g   \        R V: 24      hVP                  R4      V n        VP                  R4      V n        . V n	        \        P                  ! VRVRR7      V n        R# )zinvalid wheel filename: nameversionr'   T)r!   r#   
allowZip64N)r4   pathbasenameWHEEL_FILENAME_REGEXmatch
ValueErrorgrouprx   ry   entriesrn   ZipFilearchive)rM   ru   r!   r#   r    r~   s   &&&&  r   __init__WheelFileWriter.__init__H   sz    77##H-$**847|DEEKK'	{{9-35xc{_cdr   c               $    V ^8  d   QhRRRRRR/# rG   r   )r   s   "r   r   rv   R   s(     J J)D JE JVZ Jr   c                	   \        V\        4      '       d   VP                  R 4      p\        V\        P                  4      '       d   TpM,\        P                  ! WP                  4       R7      pRVn        V P                  P                  W2V P                  P                  V P                  P                  R7       V P                  P                  VP                  V P                  V4      \        V4      34       R# )zutf-8	date_timecompress_typecompresslevelN  )
isinstancer"   encodern   ZipInfor;   external_attrr   rN   r#   r   r   appendr    rD   len)rM   rH   r   zinfos   &&& r   rN   WheelFileWriter.writestrR   s    dC  ;;w'D&88$EOO$4@PQE"-E,,22,,44 	 	6 	U^^TYYt_c$iHIr   Nc               $    V ^8  d   QhRRRRRR/# rR   r   )r   s   "r   r   rv   `   s!     # #d #] #d #r   c                	   \        VR 4      ;_uu_ 4       p\        P                  ! VP                  4       4      pVP	                  4       pRRR4       \
        P                  ! T;'       g    \        V4      V P                  XP                  4      R7      p\        P                  ! VP                  4      \        P                  ! VP                  4      ,          ^,          Vn        V P                  VX4       R#   + '       g   i     L; i)rbNr   )openr4   fstatfilenoreadrn   r   r"   r;   st_mtimestatS_IMODEst_modeS_IFMTr   rN   )rM   r    rS   fstr   r   s   &&&    r   rU   WheelFileWriter.write`   s    (D!!Q!((*%B668D "  8 83x=DNNSUS^S^D_`#||BJJ7$++bjj:QQVXXeT" "!s   5C;;D	c                   V ^8  d   QhRR/# rX   r   )r   s   "r   r   rv   h   s      t r   c                	.   V P                    R V P                   R2p\        P                  ! 4       p\        P
                  ! VRRRR7      pVP                  V P                  4       VP                  VRR34       \        P                  ! WP                  4       R7      pR
Vn        V P                  P                  WBP                  4       V P                  P                   V P                  P"                  R7       V P                  P%                  4        R	# )-z.dist-info/RECORD,"
)	delimiter	quotecharlineterminator r   r   Nr   )rx   ry   ioStringIOcsvwriter	writerowsr   writerowrn   r   r;   r   r   rN   getvaluer#   r   r[   )rM   recordr   r   zis   &    r   r[   WheelFileWriter.closeh   s    II;a~->?{{}DC3tT&R()__V~~/?@&,,22,,44 	 	6 	r   )r   r   rx   ry   rK   )ri   rj   rk   rl   rn   ro   r   rN   rU   r[   rq   r   r   r   r*   r*   G   s&    ELEYEY eJ# r   r*   )
__future__r   r   r   r@   r   r4   rer   r7   typingrn   TYPE_CHECKINGtypesr   r   r   r   r   r	   mesonpy._compatr
   r9   compiler}   r   r   r*   r   r   r   <module>r      su   
 #  
  	 	 	     
#99$ zz"~ 7" "J-i -r   