Ë
    ×—ÄjÆZ  ã                  ó¨   — d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZ  ede¬«      Z G d	„ d
ee   «      Z G d„ dee   «      Zy)é    )Úannotations)ÚCallableÚIterator)ÚAnyÚGenericÚTypeVarÚoverload)ÚConsts)ÚGithubObject)Ú	RequesterÚT)Úboundc                  ó¢   — e Zd ZU ded<   dd„Zdd„Zddd„Zedd„«       Zedd	„«       Zdd
„Zdd„Z	dd„Z
dd„Zdd„Zdd„Zdd„Z G d„ d«      Zy)ÚPaginatedListBaseúlist[T]Ú_PaginatedListBase__elementsc                ó   — t         ‚©N©ÚNotImplementedError©Úselfs    úYC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\github/PaginatedList.pyÚ
_couldGrowzPaginatedListBase._couldGrowK   ó   € Ü!Ð!ó    c                ó   — t         ‚r   r   r   s    r   Ú_fetchNextPagez PaginatedListBase._fetchNextPageN   r   r   Nc                ó&   — |€g | _         y || _         y r   )r   )r   Úelementss     r   Ú__init__zPaginatedListBase.__init__Q   s   € Ø (Ð 0˜"ˆ�°hˆ�r   c                 ó   — y r   © ©r   Úindexs     r   Ú__getitem__zPaginatedListBase.__getitem__T   ó   € àr   Ú_Slicec                 ó   — y r   r#   r$   s     r   r&   zPaginatedListBase.__getitem__X   r'   r   c                ó¶   — t        |t        t        f«      sJ ‚t        |t        «      r | j                  |«       | j                  |   S | j                  | |«      S r   )Ú
isinstanceÚintÚsliceÚ _PaginatedListBase__fetchToIndexr   r(   r$   s     r   r&   zPaginatedListBase.__getitem__\   sN   € Ü˜%¤#¤u Ô.Ð.Ð.Ü�eœSÔ!Ø×Ñ Ô&Ø—?‘? 5Ñ)Ð)à—;‘;˜t UÓ+Ð+r   c              #  ó´   K  — | j                   E d {  –—†  | j                  «       r,| j                  «       }|E d {  –—†  | j                  «       rŒ+y y 7 ŒA7 Œ­wr   )r   r   Ú_grow©r   ÚnewElementss     r   Ú__iter__zPaginatedListBase.__iter__d   sH   è ø€ Ø—?‘?×"Ð"Ø�o‰oÔØŸ*™*›,ˆKØ"×"Ð"ð �o‰o×ð 	#øð #ús%   ‚A’A“)A¼A½AÁAÁAc                óV   — t        | j                  «      |kD  xs | j                  «       S r   )Úlenr   r   r$   s     r   Ú_isBiggerThanzPaginatedListBase._isBiggerThanj   s"   € Ü�4—?‘?Ó# eÑ+Ò@¨t¯©Ó/@Ð@r   c                óÌ   — t        | j                  «      |k  rL| j                  «       r;| j                  «        t        | j                  «      |k  r| j                  «       rŒ9y y y y r   )r5   r   r   r0   r$   s     r   Ú__fetchToIndexz PaginatedListBase.__fetchToIndexm   sJ   € Ü�$—/‘/Ó" eÒ+°·±Ô0AØ�J‰JŒLô �$—/‘/Ó" eÒ+°·±Ö0AÐ+Ð0AÐ+r   c                óP   — | j                  «       }| xj                  |z  c_        |S r   )r   r   r1   s     r   r0   zPaginatedListBase._growq   s$   € Ø×)Ñ)Ó+ˆØ�Š˜;Ñ&�ØÐr   c                ó8   — | j                   j                  «        y r   )r   Úclearr   s    r   Ú_clearzPaginatedListBase._clearv   s   € Ø�‰×ÑÕr   c                ó8   — | j                   j                  «        y r   )r   Úreverser   s    r   Ú_reversezPaginatedListBase._reversey   s   € Ø�‰×ÑÕ!r   c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)úPaginatedListBase._Slicec                óˆ   — || _         |j                  xs d| _        |j                  | _        |j
                  xs d| _        y )Nr   é   )Ú_Slice__listÚstartÚ_Slice__startÚstopÚ_Slice__stopÚstepÚ_Slice__step)r   ÚtheListÚtheSlices      r   r!   z!PaginatedListBase._Slice.__init__}   s4   € Ø!ˆDŒKØ#Ÿ>™>Ò.¨QˆDŒLØ"Ÿ-™-ˆDŒKØ"Ÿ-™-Ò,¨1ˆD�Kr   c              #  óæ   K  — | j                   }| j                  |«      sP| j                  j                  |«      r!| j                  |   –— || j                  z  }ny | j                  |«      sŒOy y ­wr   )rF   Ú_Slice__finishedrD   r6   rJ   r$   s     r   r3   z!PaginatedListBase._Slice.__iter__ƒ   s[   è ø€ Ø—L‘LˆEØ—o‘o eÔ,Ø—;‘;×,Ñ,¨UÔ3ØŸ+™+ eÑ,Ò,Ø˜TŸ[™[Ñ(‘Eàð —o‘o e×,ùs   ‚A,A1Á/A1c                ó@   — | j                   d uxr || j                   k\  S r   )rH   r$   s     r   Ú
__finishedz#PaginatedListBase._Slice.__finishedŒ   s   € Ø—;‘; dÐ*ÒC¨u¸¿¹Ñ/CÐCr   N)rK   zPaginatedListBase[T]rL   r-   ©ÚreturnzIterator[T]©r%   r,   rR   Úbool)Ú__name__Ú
__module__Ú__qualname__r!   r3   rN   r#   r   r   r(   rA   |   s   „ ó	-ó	ô	Dr   ©rR   rT   ©rR   r   r   )r    zlist[T] | NonerR   ÚNone)r%   r,   rR   r   )r%   r-   rR   r(   )r%   zint | slicerR   z
T | _SlicerQ   rS   )r%   r,   rR   rZ   ©rR   rZ   )rU   rV   rW   Ú__annotations__r   r   r!   r	   r&   r3   r6   r.   r0   r<   r?   r(   r#   r   r   r   r   H   so   … ØÓó"ó"ô?ð òó ðð òó ðó,ó#óAóóó
 ó"÷Dò Dr   r   c            
      óX  ‡ — e Zd ZdZ	 	 ddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd„«       Zedd„«       Zdd	„Zdd
„Z	edd„«       Z
ed d„«       Zd!d„Zed"d„«       Zdˆ fd„Zd"d„Zdd„Zd#d„Zd$d„Zd%d„Zd&d„Zd'd„Zed(d„«       Zed)d„«       Zed*d„«       Zˆ xZS )+ÚPaginatedListus  
    This class abstracts the `pagination of the REST API <https://docs.github.com/en/rest/guides/traversing-with-pagination>`_
    and the `GraphQl API <https://docs.github.com/en/graphql/guides/using-pagination-in-the-graphql-api>`_.

    You can simply enumerate through instances of this class::

        for repo in user.get_repos():
            print(repo.name)

    If you want to know the total number of items in the list::

        print(user.get_repos().totalCount)

    You can also index them or take slices::

        second_repo = user.get_repos()[1]
        first_repos = user.get_repos()[:10]

    If you want to iterate in reversed order, just do::

        for repo in reversed(user.get_repos()):
            print(repo.name)

    And if you really need it, you can explicitly access a specific page::

        repos = user.get_repos()
        assert repos.is_rest, "get_page not supported by the GraphQL API"

        some_repos = repos.get_page(0)
        some_other_repos = repos.get_page(3)

    Individual items of this list are fetched in pages. The size of those pages
    is configured via ``per_page`` when creating the :class:`github.MainClass.Github` instance::

        g = github.Github(per_page=100)

    The default page size is 30. The maximum page size is usually 100.

    Paginated lists are returned by ``get_â€¦`` methods. Additionally, some classes have one property
    that is a paginated list, called `paginated property <https://pygithub.readthedocs.io/en/stable/utilities.html#classes-with-paginated-properties>`_.

    You can check if GitHub search returned `incomplete results <https://docs.github.com/en/rest/search/search?apiVersion=2022-11-28#timeouts-and-incomplete-results>`_::

        results = gh.search_code("query")
        if results.incomplete_results:
            print(f"Not sure if {results.totalCount} results are actually all results")

    NÚitemsÚtotal_count©ÚheadersÚ	list_itemÚtotal_count_itemÚ	firstDataÚfirstHeadersÚattributesTransformerÚgraphql_queryÚgraphql_variablesc               óÚ  •— |€|€|€t        d«      ‚|�|�t        d«      ‚|�-t        |t        «      rt        d„ |D «       «      st        d«      ‚|xs i }d|vr,|j                  t
        j                  k7  r|j                  |d<   || _        || _        |d uxs |d u| _	        || _
        || _        || _        |	| _        || _        || _        d | _        || _        || _        || _        d| _        d | _        d | _        |
| _        || _        |xs i | _        d | _        g }|�:| j7                  ||	«      }| j                  €| j*                  €t9        |«      | _        t:        ‰| �y  |«       y )Nz.Either firstUrl or graphql_query must be givenz2Only one of firstUrl or graphql_query can be givenc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr   )r+   Ústr)Ú.0Úitems     r   Ú	<genexpr>z)PaginatedList.__init__.<locals>.<genexpr>Ø   s   è ø€ Ð7dÑZcÐRV¼
À4Ì×8MÑZcùs   ‚z=With graphql_query given, item_list must be a list of stringsÚper_pageF)Ú
ValueErrorr+   ÚlistÚallrp   r
   ÚDEFAULT_PER_PAGEÚ_PaginatedList__requesterÚ_PaginatedList__contentClassÚ_PaginatedList__is_restÚ_PaginatedList__firstUrlÚ_PaginatedList__firstParamsÚ_PaginatedList__firstDataÚ_PaginatedList__firstHeadersÚ_PaginatedList__nextUrlÚ_PaginatedList__nextParamsÚ_PaginatedList__lastUrlÚ_PaginatedList__headersÚ_PaginatedList__list_itemÚ _PaginatedList__total_count_itemÚ	_reversedÚ_PaginatedList__totalCountÚ"_PaginatedList__incomplete_resultsÚ_attributesTransformerÚ_PaginatedList__graphql_queryÚ!_PaginatedList__graphql_variablesÚ_PaginatedList__page_infoÚ_getPager5   Úsuperr!   )r   ÚcontentClassÚ	requesterÚfirstUrlÚfirstParamsrb   rc   rd   re   rf   rg   rh   ri   Ú
first_pageÚ	__class__s                 €r   r!   zPaginatedList.__init__Ã   s�  ø€ ð  Ð 	Ð 1°mÐ6KÜÐMÓNÐNØÐ MÐ$=ÜÐQÓRÐRØÐ$Ü˜y¬$Ô/´CÑ7dÑZcÓ7dÔ4dÜ Ð!`ÓaÐaà!Ò' Rˆð ˜[Ñ(¨Y×-?Ñ-?Ä6×CZÑCZÒ-ZØ&/×&8Ñ&8ˆK˜
Ñ#à$ˆÔØ*ˆÔà!¨Ð-ÒF°À$Ð1FˆŒØ"ˆŒØ-8ˆÔØ$ˆÔØ*ˆÔØ!ˆŒØ,7ˆÔØ%)ˆŒØ ˆŒØ$ˆÔØ"2ˆÔàˆŒØ(,ˆÔØ$(ˆÔ!Ø&;ˆÔ#à,ˆÔØ#4Ò#:¸ˆÔ ØˆÔàˆ
ØÐ ØŸ™ y°,Ó?ˆJà�~‰~Ð%¨$×*;Ñ*;Ð*CÜ$'¨
£O�Ô!Ü‰Ñ˜Õ$r   c                ó   — | j                   S r   )rw   r   s    r   Úis_restzPaginatedList.is_rest  s   € à�~‰~Ðr   c                ó   — | j                    S r   )r’   r   s    r   Ú
is_graphqlzPaginatedList.is_graphql  s   € à—<‘<ÐÐr   c                ó@   — | j                   €|S | j                  |«      S r   )r…   )r   Úelements     r   Ú_transformAttributesz"PaginatedList._transformAttributes
  s$   € Ø×&Ñ&Ð.ØˆNØ×*Ñ*¨7Ó3Ð3r   c                ó„  — | j                   �r| j                  j                  «       }|j                  ddi«       | j                  j                  d| j                  || j                  ¬«      \  }}| j                  |«      }|j                  d«      }|r*t        t        j                  |«      d   d   «      | _        nJ|rd|v r|d   | _        n9|r0t        |t        «      r|| j                      }t#        |«      | _        nd| _        |rd	|v r|j                  d	«      | _        y y y | j&                  j                  «       }| j(                  sd|d
<   d |d<   n
d|d<   d |d<   | j                  j+                  | j,                  |«      \  }}| j/                  |d   | j                   «      }|j                  d«      | _        y )Nrp   rC   ÚGET©Ú
parametersrb   ÚlastÚpager   r`   Úincomplete_resultsÚfirstÚafterÚbeforeÚdataÚ
totalCount)r’   r}   ÚcopyÚupdateru   ÚrequestJsonAndCheckrx   r   Ú_PaginatedList__parseLinkHeaderÚgetr,   r   Úget_parameters_of_urlrƒ   r+   Údictr€   r5   r„   r‡   r‚   rh   r†   Ú_get_graphql_pagination)	r   Úparamsrb   r¢   ÚlinksÚlastUrlÚ	variablesÚ_Ú
paginations	            r   Ú_fetchFirstElementz PaginatedList._fetchFirstElement  s©  € à�<‹<Ø×&Ñ&×+Ñ+Ó-ˆFà�M‰M˜: q˜/Ô*Ø ×,Ñ,×@Ñ@Ø�t—‘°6À4Ç>Á>ð Aó ‰MˆG�Tð ×*Ñ*¨7Ó3ˆEØ—i‘i Ó'ˆGñ Ü$'¬	×(GÑ(GÈÓ(PÐQWÑ(XÐYZÑ([Ó$\�Õ!Ù˜-¨4Ñ/Ø$(¨Ñ$7�Õ!ÙÜ˜d¤DÔ)Ø × 0Ñ 0Ñ1�DÜ$'¨£I�Õ!à$%�Ô!ñ Ð,°Ñ4Ø,0¯H©HÐ5IÓ,J�Õ)ð 5ˆtð ×0Ñ0×5Ñ5Ó7ˆIØ—>’>Ø%&�	˜'Ñ"Ø%)�	˜'Ò"à$%�	˜&Ñ!Ø&*�	˜(Ñ#à×&Ñ&×4Ñ4°T×5IÑ5IÈ9ÓU‰GˆAˆtØ×5Ñ5°d¸6±lÀD×DTÑDTÓUˆJØ *§¡¨|Ó <ˆDÕr   c                óR   — | j                   €| j                  «        | j                   S r   )rƒ   r²   r   s    r   r£   zPaginatedList.totalCount7  s&   € à×ÑÐ$Ø×#Ñ#Ô%Ø× Ñ Ð r   c                ój   — | j                   €| j                  €| j                  «        | j                   S )z¥
        Reflects `incomplete search results
        <https://docs.github.com/en/rest/search/search?apiVersion=2022-11-28#timeouts-and-incomplete-results>`_
        )r„   rƒ   r²   r   s    r   rž   z PaginatedList.incomplete_results=  s3   € ð ×$Ñ$Ð,°×1BÑ1BÐ1JØ×#Ñ#Ô%Ø×(Ñ(Ð(r   c                óÆ   — | j                   j                  d| j                  | j                  | j                  ¬«      \  }}| j                  |«      }|j                  d«      S )Nr™   rš   rœ   )ru   r¦   rx   r}   r   r§   r¨   )r   rb   r¢   r­   s       r   Ú_getLastPageUrlzPaginatedList._getLastPageUrlI  sY   € Ø×(Ñ(×<Ñ<Ø�4—?‘?¨t×/@Ñ/@È$Ï.É.ð =ó 
‰ˆ�ð ×&Ñ& wÓ/ˆØ�y‰y˜Ó Ð r   c                óD  — t        | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  ¬«      }|j                  «        |S )Nra   )r^   rv   ru   rx   ry   r   r€   r�   rz   r{   r…   r†   r‡   Ú_PaginatedList__reverse)r   Úrs     r   ÚreversedzPaginatedList.reversedP  s„   € äØ×ÑØ×ÑØ�O‰OØ×ÑØ—N‘NØ×&Ñ&Ø!×4Ñ4Ø×&Ñ&Ø×,Ñ,Ø"&×"=Ñ"=Ø×.Ñ.Ø"×6Ñ6ô
ˆð 	
�‰ŒØˆr   c                óü  •— d| _         | j                  râ| j                  €| j                  «       | _        | j                  r¦| j                  | j                  k7  r�t
        ‰| �  «        | j                  | _        | j                  rb| j                  j                  «       D ��ci c]7  \  }}|t        j                  | j                  «      j                  «       vr||“Œ9 c}}| _        t
        ‰| �5  «        y y c c}}w )NT)r‚   r’   r~   r¶   rx   rŠ   r<   r|   r}   r_   r   r©   Úkeysr?   )r   ÚkÚvr�   s      €r   Ú	__reversezPaginatedList.__reversec  sÐ   ø€ ØˆŒØ�<Š<Ø�~‰~Ð%Ø!%×!5Ñ!5Ó!7�”Ø�~Š~Ø—>‘> T§_¡_Ò4Ü‘G‘NÔ$Ø%)§^¡^�D”NØ×(Ò(ð )-×(9Ñ(9×(?Ñ(?Ô(Aô-á(A¡  1Ø ¬	×(GÑ(GÈÏÉÓ(W×(\Ñ(\Ó(^Ñ^ð ˜q™DØ(Aò-˜Ô)ô
 ‰GÑÕð ùó-s   Â#<C8c                ó   — | j                   S r   )rº   r   s    r   Ú__reversed__zPaginatedList.__reversed__v  s   € Ø�}‰}Ðr   c                óô   — | j                   xr | j                  d uxs[ | j                  xrM | j                  d u xs= | j                   xr | j                  d   xs | j                  xr | j                  d   S )NÚhasNextPageÚhasPreviousPage)r’   r|   r”   rˆ   r‚   r   s    r   r   zPaginatedList._couldGrowy  s‚   € à�L‰Lò +Ø—‘ dÐ*ò	à�‰ò à× Ñ  DÐ(ò 8Ø—~‘~Ð%ò 4Ø×$Ñ$ ]Ñ3ò8ð —>‘>ò 8Ø×$Ñ$Ð%6Ñ7ð	
r   c           	     óf   — |D ]+  }||vr t        d|› d| j                  |«      › �«      ‚||   }Œ- |S )NzPagination path z not found in data: )ÚRuntimeErrorÚpaths_of_dict)r   r¢   Úpathrn   s       r   r«   z%PaginatedList._get_graphql_pagination‡  sL   € ÛˆDØ˜4ÑÜ"Ð%5°d°VÐ;OÐPT×PbÑPbÐcgÓPhÐOiÐ#jÓkÐkØ˜‘:‰Dð ð ˆr   c                ó¨  — | j                   rX| j                  j                  d| j                  | j                  | j
                  ¬«      \  }}|r|ng }| j                  ||«      S | j                  j                  «       }| j                  s8| j                  j                  |d<   | j                  �J| j                  d   |d<   n7| j                  j                  |d<   | j                  �| j                  d   |d<   | j                  j                  | j                  |«      \  }}| j                  |d	   | j                  «      }| j                  |i «      S )
Nr™   rš   rŸ   Ú	endCursorr    rœ   ÚstartCursorr¡   r¢   )r’   ru   r¦   r|   r}   r   r‰   r‡   r¤   r‚   rp   rˆ   rh   r†   r«   r€   )r   rb   r¢   r¯   r°   r±   s         r   r   zPaginatedList._fetchNextPageŽ  s6  € Ø�<Š<à ×,Ñ,×@Ñ@Ø�t—~‘~°$×2CÑ2CÈTÏ^É^ð Aó ‰MˆG�Tñ  ‘4 RˆDØ—=‘=  wÓ/Ð/ð ×0Ñ0×5Ñ5Ó7ˆIØ—>’>Ø%)×%5Ñ%5×%>Ñ%>�	˜'Ñ"Ø×#Ñ#Ð/Ø)-×)9Ñ)9¸+Ñ)F�I˜gÒ&à$(×$4Ñ$4×$=Ñ$=�	˜&Ñ!Ø×#Ñ#Ð/Ø*.×*:Ñ*:¸=Ñ*I�I˜hÑ'à×&Ñ&×4Ñ4°T×5IÑ5IÈ9ÓU‰GˆAˆtà×5Ñ5°d¸6±lÀD×DTÑDTÓUˆJØ—=‘= ¨RÓ0Ð0r   c           
     ó<  ‡ — ‰ j                   �rd ‰ _        t        |«      dkD  rH‰ j                  |«      }‰ j                  rd|v r|d   ‰ _        nd|v r
|d   ‰ _        d|v r
|d   ‰ _        i ‰ _        d|v r|j                  d«      ‰ _        ‰ j                  |v r/|j                  ‰ j                  «      ‰ _        |‰ j                     }|D �cg c]0  }|�,‰ j                  ‰ j                  |‰ j                  |«      «      ‘Œ2 }}‰ j                  r|d d d…   S |S d|vrt        d‰ j                   › �«      ‚|d   ‰ _        t%        ˆ fd	„d
D «       «      rt        d‰ j                   › �«      ‚‰ j                  €&d|vrt        d‰ j                   › �«      ‚|d   ‰ _        d|vr*t        d‰ j                  › d‰ j'                  |«      › �«      ‚|d   }‰ j                  r|d d d…   }|D �cg c]"  }|€Œ‰ j                  ‰ j                  i |«      ‘Œ$ c}S c c}w c c}w )Nr   ÚprevÚnextrœ   rž   éÿÿÿÿÚpageInfoz-Query must provide pagination with pageInfo:
c              3  ó:   •K  — | ]  }|‰j                   v–— Œ y ­wr   )rˆ   )rm   rn   r   s     €r   ro   z)PaginatedList._getPage.<locals>.<genexpr>Æ  s$   øè ø€ ð áZ�Dð ˜D×,Ñ,Ô,ÙZùs   ƒ)rË   rÊ   rÃ   rÄ   z,Query must provide pagination with pageInfo
r£   zQuery must provide totalCount
Únodesz%No nodes found under pagination path z: )r’   r|   r5   r§   r‚   r~   r}   r¨   r„   r€   r�   rƒ   rv   ru   r—   rÆ   r†   rˆ   ÚanyrÇ   )r   r¢   rb   r­   r–   ÚcontentrÒ   s   `      r   r‰   zPaginatedList._getPage§  sZ  ø€ Ø�<‹<Ø!ˆDŒNÜ�4‹y˜1Š}Ø×.Ñ.¨wÓ7�Ø—>’>Ø ‘Ø).¨v©˜�Ø˜u‘_Ø%*¨6¡]�D”NØ˜U‘?Ø%*¨6¡]�D”NØ "ˆDÔØ# tÑ+Ø,0¯H©HÐ5IÓ,J�Ô)Ø×Ñ 4Ñ'Ø$(§H¡H¨T×-DÑ-DÓ$E�Ô!Ø˜D×,Ñ,Ñ-�ñ  $óá#�GØÐ&ð ×#Ñ# D×$4Ñ$4°g¸t×?XÑ?XÐY`Ó?aÕbØ#ð ð ð
 �~Š~Ø™t ˜t‘}Ð$ØˆNà Ñ%Ü"Ð%SÐTX×ThÑThÐSiÐ#jÓkÐkà# JÑ/ˆDÔÜó áZóô ô #Ð%RÐSW×SgÑSgÐRhÐ#iÓjÐjà× Ñ Ð(Ø tÑ+Ü&Ð)HÈ×I]ÑI]ÐH^Ð'_Ó`Ð`Ø$(¨Ñ$6�Ô!à˜dÑ"Ü"Ø;¸D×<LÑ<LÐ;MÈRÐPT×PbÑPbÐcgÓPhÐOiÐjóð ð ˜‘MˆEØ�~Š~Ø™d ˜d™�ÙV[ÓsÑV[È7Ð_fÑ_r�D×'Ñ'¨×(8Ñ(8¸"¸gÕFÐV[ÑsÐsùòAùò@ ts   Ã5HÇ*HÇ2Hc                ó´   — i }d|v rQt        |d   t        «      r>|d   j                  d«      }|D ]%  }|j                  d«      ^}}}|dd }|dd }|||<   Œ' |S )NÚlinkz, z; rC   rÏ   é   )r+   rl   Úsplit)r   rb   r­   ÚlinkHeadersÚ
linkHeaderÚurlÚrelÚrests           r   Ú__parseLinkHeaderzPaginatedList.__parseLinkHeaderÛ  sv   € ØˆØ�WÑ¤¨G°F©O¼SÔ!AØ! &™/×/Ñ/°Ó5ˆKÛ)�
Ø",×"2Ñ"2°4Ó"8���S˜4Ø˜!˜B�i�Ø˜!˜B�i�Ø ��c’
ð	 *ð
 ˆr   c           
     óx  — | j                   rt        d«      ‚t        | j                  «      }|dk7  r|dz   |d<   | j                  j
                  t        j                  k7  r| j                  j
                  |d<   | j                  j                  d| j                  || j                  ¬«      \  }}| j                  |v r?|j                  d«      | _        d	|v r|j                  d	«      | _        || j                     }|D �cg c].  }| j                  | j                  || j!                  |«      «      ‘Œ0 c}S c c}w )
Nz$Not supported for GraphQL paginationr   rC   r�   rp   r™   rš   r`   rž   )r”   rÆ   rª   ry   ru   rp   r
   rt   r¦   rx   r   r€   r¨   rƒ   r„   rv   r—   )r   r�   r¬   rb   r¢   r–   s         r   Úget_pagezPaginatedList.get_pageæ  s   € Ø�?Š?ÜÐEÓFÐFä�d×(Ñ(Ó)ˆØ�1Š9Ø! A™XˆF�6‰NØ×Ñ×$Ñ$¬×(?Ñ(?Ò?Ø!%×!1Ñ!1×!:Ñ!:ˆF�:ÑØ×(Ñ(×<Ñ<Ø�4—?‘?¨v¸t¿~¹~ð =ó 
‰ˆ�ð ×Ñ˜tÑ#Ø $§¡¨Ó 7ˆDÔØ# tÑ+Ø,0¯H©HÐ5IÓ,J�Ô)Ø˜×(Ñ(Ñ)ˆDÙrvÓwÑrvÐgn�×#Ñ# D×$4Ñ$4°g¸t×?XÑ?XÐY`Ó?aÕbÐrvÑwÐwùÒws   Ä3D7c                ó   ‡ ‡— dˆ ˆfd„}|S )Nc                ó,   •— ‰j                  | ‰«      } | S r   )Úmerge_dicts)r–   ÚclsÚ	overridess    €€r   Úattributes_transformerzAPaginatedList.override_attributes.<locals>.attributes_transformerü  s   ø€ à—o‘o g¨yÓ9ˆGØˆNr   ©r–   údict[str, Any]rR   rè   r#   )rä   rå   ræ   s   `` r   Úoverride_attributesz!PaginatedList.override_attributesú  s   ù€ ö	ð
 &Ð%r   c                óÌ   — |j                  «       }|j                  «       D ]@  \  }}t        |t        «      r&| j	                  |j                  |i «      |«      ||<   Œ<|||<   ŒB |S r   )r¤   r_   r+   rª   rã   r¨   )rä   Úd1Úd2r½   r¾   s        r   rã   zPaginatedList.merge_dicts  s[   € ð �W‰W‹YˆØ—H‘H–J‰DˆAˆqÜ˜!œTÔ"ØŸ™¨¯©¨q°"«°qÓ9��1’à��1’ð	 ð
 ˆ	r   c           	     ó˜   — |j                  «       D ��ci c])  \  }}|t        |t        «      r| j                  |«      nd “Œ+ c}}S c c}}w r   )r_   r+   rª   rÇ   )rä   ÚdÚkeyÚvals       r   rÇ   zPaginatedList.paths_of_dict  sG   € à_`×_fÑ_fÔ_hÔiÑ_hÑS[ÐSVÐX[�¬z¸#¼tÔ/D�S×&Ñ& sÔ+È$ÑNÐ_hÒiÐiùÓis   ”.A)NN)r‹   ztype[T]rŒ   r   r�   ú
str | NonerŽ   údict[str, Any] | Nonerb   zdict[str, str] | Nonerc   zstr | list[str]rd   rl   re   z
Any | Nonerf   údict[str, str | int] | Nonerg   z1Callable[[dict[str, Any]], dict[str, Any]] | Nonerh   rñ   ri   rò   rX   rç   r[   )rR   r,   )rR   zbool | None)rR   rñ   )rR   zPaginatedList[T])r¢   rè   rÈ   z	list[str]rR   rè   rY   )r¢   r   rb   ró   rR   r   )rb   zdict[str, str | int]rR   zdict[str, str])r�   r,   rR   r   )rå   rè   rR   z*Callable[[dict[str, Any]], dict[str, Any]])rë   rè   rì   rè   rR   rè   )rî   rª   rR   rª   )rU   rV   rW   Ú__doc__r!   Úpropertyr’   r”   r—   r²   r£   rž   r¶   rº   r¸   rÁ   r   r«   r   r‰   r§   rà   Úclassmethodré   rã   rÇ   Ú__classcell__)r�   s   @r   r^   r^   �   sŠ  ø„ ñ/ðl  $Ø-1ð=%ð *.Ø%,Ø -Ø $Ø48ØSWØ$(Ø37ñ=%àð=%ð ð=%ð ð	=%ð
 +ð=%ð 'ð=%ð #ð=%ð ð=%ð ð=%ð 2ð=%ð  Qð=%ð "ð=%ð 1õ=%ð~ òó ðð ò ó ð ó4ó
&=ðP ò!ó ð!ð
 ò	)ó ð	)ó!ð òó ðõ$ó&ó
óó1ó22tóh	óxð( ò&ó ð&ð òó ðð òjó ôjr   r^   N)Ú
__future__r   Úcollections.abcr   r   Útypingr   r   r   r	   Úgithubr
   Úgithub.GithubObjectr   Úgithub.Requesterr   r   r   r^   r#   r   r   Ú<module>rþ      sT   ðõx #ç .ß 2Ó 2å Ý ,Ý &áˆC�|Ô$€ôED˜ ™
ô EDôP@jÐ% aÑ(õ @jr   