§
    ¬˜ºhr  ã                   óœ   — d Z ddlmZmZmZ ddlZddlmZmZm	Z	m
Z
  e
j        e¦  «        Zdededed	efd
„Zdej        d	ee         fd„ZdS )z;Contains utilities to handle pagination on Huggingface Hub.é    )ÚDictÚIterableÚOptionalNé   )Úget_sessionÚhf_raise_for_statusÚhttp_backoffÚloggingÚpathÚparamsÚheadersÚreturnc              #   ó¤  K  — t          ¦   «         }|                     | ||¬¦  «        }t          |¦  «         |                     ¦   «         E d{V —† t	          |¦  «        }|�mt
                               d|› �¦  «         t          d|dd|¬¦  «        }t          |¦  «         |                     ¦   «         E d{V —† t	          |¦  «        }|­kdS dS )a/  Fetch a list of models/datasets/spaces and paginate through results.

    This is using the same "Link" header format as GitHub.
    See:
    - https://requests.readthedocs.io/en/latest/api/#requests.Response.links
    - https://docs.github.com/en/rest/guides/traversing-with-pagination#link-header
    )r   r   Nz+Pagination detected. Requesting next page: ÚGETé   i­  )Úmax_retriesÚretry_on_status_codesr   )r   Úgetr   ÚjsonÚ_get_next_pageÚloggerÚdebugr	   )r   r   r   ÚsessionÚrÚ	next_pages         úi/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/huggingface_hub/utils/_pagination.pyÚpaginater      sï   è è € õ ‰mŒm€GØ�Š�D °ˆÑ9Ô9€AÝ˜ÑÔÐØ�vŠv‰xŒxÐÐÐÐÐÐÐõ ˜qÑ!Ô!€IØ
Ð
Ý�ŠÐNÀ9ÐNÐNÑOÔOÐOÝ˜ 	°rÐQTÐ^eÐfÑfÔfˆÝ˜AÑÔÐØ—6’6‘8”8ÐÐÐÐÐÐÐÝ" 1Ñ%Ô%ˆ	ð Ð
Ð
Ð
Ð
Ð
ó    Úresponsec                 ó^   — | j                              di ¦  «                             d¦  «        S )NÚnextÚurl)Úlinksr   )r   s    r   r   r   3   s(   € ØŒ>×Ò˜f bÑ)Ô)×-Ò-¨eÑ4Ô4Ð4r   )Ú__doc__Útypingr   r   r   ÚrequestsÚ r   r   r	   r
   Ú
get_loggerÚ__name__r   Ústrr   ÚResponser   © r   r   ú<module>r-      sÐ   ðð BÐ Aà +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à €€€à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð 
ˆÔ	˜HÑ	%Ô	%€ð&�3ð & ð &¨tð &¸ð &ð &ð &ð &ð05˜XÔ.ð 5°8¸C´=ð 5ð 5ð 5ð 5ð 5ð 5r   