Ë
    Bêñi¦  ã                   óî   — U d Z ddlZddlZ ej                  dej                  «      Zdddddd	œZeee	f   e
d
<   ddddddddœZeee	f   e
d<   dede	fd„Zdede	fd„Zdedeee	f   de	fd„Zdedefd„Zy)z&Parsing helpers shared across modules.é    Nz(\d+)([a-z]+)iè  i@B i Êš;l    J)£l     �Iú5 )ÚkÚmÚgÚtÚpÚ
BYTE_UNITSé   é<   é  é€Q é€:	 é �' é€3á)Úsr   ÚhÚdÚwÚmoÚyÚ
TIME_UNITSÚvalueÚreturnc                 ó"   — t        | t        «      S )zaParse a size expressed as a string with digits and unit (like `"10MB"`) to an integer (in bytes).)Ú_parse_with_unitr   ©r   s    ú`/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/huggingface_hub/utils/_parsing.pyÚ
parse_sizer   )   ó   € ä˜E¤:Ó.Ð.ó    c                 ó"   — t        | t        «      S )zfParse a duration expressed as a string with digits and unit (like `"10s"`) to an integer (in seconds).)r   r   r   s    r   Úparse_durationr!   .   r   r   Úunitsc           	      óš  — | j                  «       }|st        d«      ‚	 t        | «      S # t        $ r Y nw xY wt        j	                  |«      }|st        d| › d�«      ‚t        |j                  d«      «      }|j                  d«      j                  «       }||vr)t        d|› dt        |j                  «       «      › d�«      ‚|||   z  S )	z)Parse a numeric value with optional unit.zValue cannot be empty.zInvalid value 'z7'. Must match pattern '\d+[a-z]+' or be a plain number.r	   é   zUnknown unit 'z'. Must be one of ú.)	ÚstripÚ
ValueErrorÚintÚRE_NUMBER_WITH_UNITÚ	fullmatchÚgroupÚlowerÚlistÚkeys)r   r"   ÚstrippedÚmatchÚnumberÚunits         r   r   r   3   sÎ   € à�{‰{‹}€HÙÜÐ1Ó2Ð2ðÜ�5‹zÐøÜò Ùðúô  ×)Ñ)¨(Ó3€EÙÜ˜?¨5¨'Ð1iÐjÓkÐkä�—‘˜Q“Ó €FØ�;‰;�q‹>×ÑÓ!€Dà�5ÑÜ˜>¨$¨Ð/AÄ$ÀuÇzÁzÃ|ÓBTÐAUÐUVÐWÓXÐXà�E˜$‘KÑÐs   Ÿ
* ª	6µ6Útsc                 ó®   — d}t        j                   «       | z
  }|dk  ry|D ]  \  }}}t        ||z  «      }|€Œ||k  sŒ n › d› |dkD  rd› d�S d› d�S )	zˆFormat timestamp in seconds into a human-readable string, relative to now.

    Vaguely inspired by Django's `timesince` formatter.
    ))Úsecondr	   r
   )Úminuter
   r
   )Úhourr   é   )Údayr   é   )Úweekr   r:   )Úmonthr   é   )Úyearr   Né   za few seconds agoú r	   r   Ú z ago)ÚtimeÚround)r3   Ú_TIMESINCE_CHUNKSÚdeltaÚlabelÚdividerÚ	max_valuer   s          r   Úformat_timesincerI   J   s‡   € ð
	Ðô �I‰I‹K˜"Ñ€EØˆr‚zØ"Ø%6ò Ñ!ˆˆw˜	Ü�e˜g‘oÓ&ˆØÑ  U¨iÓ%7Ùðð ˆW�A�e�W E¨A¢I˜SÐ6°dÐ;Ð;°2Ð6°dÐ;Ð;r   )Ú__doc__ÚrerB   ÚcompileÚ
IGNORECASEr)   r   ÚdictÚstrr(   Ú__annotations__r   r   r!   r   ÚfloatrI   © r   r   ú<module>rS      sÙ   ðò -ã 	Û ð !�b—j‘jÐ!1°2·=±=ÓAÐ ð 
Ø	Ø	Ø	Ø	ñ€
ˆD��c�‰Nó ð 
Ø	Ø	Ø	Ø	Ø
Ø	ñ€
ˆD��c�‰Nó ð/�cð /˜có /ð
/˜#ð / #ó /ð
 ˜Cð  ¨¨S°#¨X©ð  ¸3ó  ð.<˜ð < 3ô <r   