+
    é
4i3  ã                   óÞ   € ^ RI t ^ RI Ht ^ RIHtHtHtHtHtHtH	t	H
t
Ht ]! R4      tR t ! R R]4      t]tR R	 lt ! R
 R]],          4      t ! R R]],          4      t ! R R4      tR# )é    N)ÚReferenceType)	ÚIterableÚOptionalÚGenericÚDictÚIteratorÚTypeVarÚTYPE_CHECKINGÚAnyÚCallableÚTc                 ó   € V e   V ! 4       # R # ©N© )Úrefs   &Ú./usr/lib/python3/dist-packages/debian/_util.pyÚresolve_refr      s   € à’O‰3‹5Ð-¨Ð-ó    c                   ó¦   a a€ ] tR t^t oRtR.t]'       d   V3R lV 3R lltR tV3R lR lt	V3R lR	 lt
V3R
 lR ltV3R lR ltRtVtV ;t# )Ú_CaseInsensitiveStringzCase insensitive string.
    Ú	str_lowerc                ó$   <€ V ^8„  d   QhRS[ RR/# )é   ÚsÚreturnN©Ústr)ÚformatÚ__classdict__s   "€r   Ú__annotate__Ú#_CaseInsensitiveString.__annotate__   s   ø€ ÷ 	 ñ 	 ™cð 	  dñ 	 r   c                ó<   <€ \         \        V `  V4       R V n        R# )Ú N)Úsuperr   Ú__init__r   )Úselfr   Ú	__class__s   &&€r   r%   Ú_CaseInsensitiveString.__init__   s   ø€ ÜÔ(¨$Ñ8¸Ô;ØˆDŽNr   c                óZ   € \         P                  W4      pVP                  4       Vn        V# r   )r   Ú__new__Úlowerr   )ÚclsÚstr_r   s   && r   r*   Ú_CaseInsensitiveString.__new__   s"   € Ü�K‰K˜Ó"ˆà—j‘j“lˆŒØˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©Úint)r   r   s   "€r   r    r!   $   s   ø€ ÷ $ñ $™#ñ $r   c                ó,   € \        V P                  4      # r   )Úhashr   ©r&   s   &r   Ú__hash__Ú_CaseInsensitiveString.__hash__$   s   € Ü�D—N‘NÓ#Ð#r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úotherr   )r   )r   r   s   "€r   r    r!   '   s   ø€ ÷ ñ ™Cð ¡Cñ r   c                ób   €  V P                   VP                  4       8H  #   \         d     R # i ; i)F)r   r+   ÚAttributeError©r&   r:   s   &&r   Ú__eq__Ú_CaseInsensitiveString.__eq__'   s.   € ð	Ø—>‘> U§[¡[£]Ñ2Ð2øÜô 	Úð	ús   ‚ Ÿ.­.c                ó&   <€ V ^8„  d   QhRS[ RS[/# r9   )r   Úbool)r   r   s   "€r   r    r!   -   s   ø€ ÷ !ñ !™Cð !¡Dñ !r   c                ó   € W8X  * # r   r   r=   s   &&r   Ú__ne__Ú_CaseInsensitiveString.__ne__-   s   € ØÒ Ð r   c                ó    <€ V ^8„  d   QhRS[ /# r0   r   )r   r   s   "€r   r    r!   0   s   ø€ ÷ ñ ‘sñ r   c                ó   € V P                   # r   ©r   r5   s   &r   r+   Ú_CaseInsensitiveString.lower0   s   € Ø�~‰~Ðr   rG   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r
   r%   r*   r6   r>   rC   r+   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r'   r   s   @@r   r   r      sP   ù‡ € ñà�€Iç÷	 ó 	 ò÷$ð $÷ð ÷!ð !÷÷ ð r   r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úxr   r   )r   s   "r   r    r    7   s   € ÷ ñ œcð ¤cñ r   c                 ó"   € V P                  4       # r   )r+   )rS   s   &r   Údefault_field_sort_keyrU   7   s   € Ø�7‰7‹9Ðr   c                   ó¬   a € ] tR t^;t o RtR t]R 4       t]P                  R 4       tR t	RR/R lt
RR/R lt]R	 4       t]R
 4       tR tR tRtV tR# )ÚLinkedListNodec                ó.   € R V n         R V n        Wn        R # r   )Ú_previous_nodeÚ	next_nodeÚvalue©r&   r[   s   &&r   r%   ÚLinkedListNode.__init__?   s   € à"ˆÔØˆŒØŽ
r   c                ó,   € \        V P                  4      # r   )r   rY   r5   s   &r   Úprevious_nodeÚLinkedListNode.previous_nodeE   s   € ô ˜4×.Ñ.Ó/Ð/r   c                óV   € Ve   \         P                  ! V4      V n        R # R V n        R # r   )Úweakrefr   rY   ©r&   Únodes   &&r   r_   r`   J   s!   € ð 48Ò3CœgŸkšk¨$Ó/ˆÖÈˆÖr   c                óŠ   € \         P                  V P                  V P                  4       R V n        R V n        V P                  # r   )rW   Ú
link_nodesr_   rZ   r[   r5   s   &r   ÚremoveÚLinkedListNode.removeO   s5   € ä×!Ñ! $×"4Ñ"4°d·n±nÔEØ!ˆÔØˆŒØ�z‰zÐr   Úskip_currentFc             #  ón   "  € V'       d   V P                   MT pV'       d   Vx € VP                   pK  R # 5ir   )rZ   ©r&   ri   rd   s   &$ r   Ú	iter_nextÚLinkedListNode.iter_nextV   s*   é € ÷ ".ˆt�~Š~°4ˆßØŠJØ—>‘>ŠDñ ùó   ‚5¡5c             #  ón   "  € V'       d   V P                   MT pV'       d   Vx € VP                   pK  R # 5ir   )r_   rk   s   &$ r   Úiter_previousÚLinkedListNode.iter_previous_   s.   é € ÷ &2ˆt×!Ò!°tˆßØŠJØ×%Ñ%ŠDñ ùrn   c                óB   € V'       d   Wn         V '       d	   Wn        R # R # r   ©r_   rZ   rs   s   &&r   rf   ÚLinkedListNode.link_nodesh   s   € ÷ Ø&3Ô#ßØ&/Ö#ñ r   c                óZ   € \         P                  W4       \         P                  W4       R # r   )rW   rf   )Ú
first_nodeÚnew_nodeÚ	last_nodes   &&&r   Ú_insert_linkÚLinkedListNode._insert_linkp   s    € ô 	×!Ñ! *Ô7Ü×!Ñ! (Ö6r   c                ór   € WJd   WP                   Jg   Q h\        P                  V P                   W4       R # r   )r_   rW   ry   ©r&   rw   s   &&r   Úinsert_beforeÚLinkedListNode.insert_beforey   s/   € àÓ#¨×8JÑ8JÓ(JÐJÐJÜ×#Ñ# D×$6Ñ$6¸ÖGr   c                ór   € WJd   WP                   Jg   Q h\        P                  WV P                   4       R # r   )rZ   rW   ry   r|   s   &&r   Úinsert_afterÚLinkedListNode.insert_after~   s+   € àÓ#¨¿¹Ó(FÐFÐFÜ×#Ñ# D°D·N±NÖCr   )rY   rZ   r_   r[   N)rY   r[   rZ   Ú__weakref__)rI   rJ   rK   rL   rN   r%   Úpropertyr_   Úsetterrg   rl   rp   Ústaticmethodrf   ry   r}   r€   rO   rP   ©r   s   @r   rW   rW   ;   s˜   ø‡ € àG€Iòð ñ0ó ð0ð ×ÑñNó ðNòð"Ø$ô"ð&Ø#(ô&ð ñ0ó ð0ð ñ7ó ð7òH÷
Dð Dr   rW   c                   óÌ   a € ] tR t^„t o RtRtRR ltV 3R lR ltV 3R lR lt]	R 4       t
V 3R	 lR
 ltR tR tR tR tR tR tR tR tR tR tR tV 3R lR ltRtV tR# )Ú
LinkedListab  Specialized linked list implementation to support the deb822 parser needs

We deliberately trade "encapsulation" for features needed by this library
to facilitate their implementation.  Notably, we allow nodes to leak and assume
well-behaved calls to remove_node - because that makes it easier to implement
components like Deb822InvalidParagraphElement.
Nc                ó^   € R V n         R V n        ^ V n        Ve   V P                  V4       R # R # r   )Ú	head_nodeÚ	tail_nodeÚ_sizeÚextend)r&   Úvaluess   &&r   r%   ÚLinkedList.__init__�   s.   € àˆŒØˆŒØˆŒ
ØÒØ�K‰K˜Öñ r   c                ó    <€ V ^8„  d   QhRS[ /# r0   )rA   )r   r   s   "€r   r    ÚLinkedList.__annotate__—   s   ø€ ÷ *ñ *™$ñ *r   c                ó   € V P                   R J# r   )rŠ   r5   s   &r   Ú__bool__ÚLinkedList.__bool__—   s   € Ø�~‰~ TÐ)Ð)r   c                ó    <€ V ^8„  d   QhRS[ /# r0   r1   )r   r   s   "€r   r    r‘   š   s   ø€ ÷ ñ ™ñ r   c                ó   € V P                   # r   )rŒ   r5   s   &r   Ú__len__ÚLinkedList.__len__š   s   € Ø�z‰zÐr   c                óN   € V P                   e   V P                   P                  # R # r   )r‹   r[   r5   s   &r   ÚtailÚLinkedList.tail�   s"   € ð (,§~¡~Ò'Aˆt�~‰~×#Ñ#ÐKÀtÐKr   c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr   )r   r   s   "€r   r    r‘   ¢   s   ø€ ÷ )ñ )�Tñ )r   c                ón   € V P                   f   \        R4      hV P                  V P                   4       R # )Nzpop from empty list)r‹   Ú
IndexErrorÚremove_noder5   s   &r   ÚpopÚLinkedList.pop¢   s*   € Ø�>‰>Ò!ÜÐ2Ó3Ð3Ø×Ñ˜Ÿ™Ö(r   c              #  óf   "  € V P                   pVf   R # VP                  4        R j  x€L
  R #  L5ir   )rŠ   rl   )r&   rŠ   s   & r   Ú
iter_nodesÚLinkedList.iter_nodes§   s)   é € à—N‘Nˆ	ØÒÙØ×&Ñ&Ó(×(Ô(ùs   ‚&1¨/©1c              #  óP   "  € R  V P                  4        4        Rj  x€L
  R#  L5i)c              3   ó8   "  € T F  qP                   x € K  	  R # 5ir   ©r[   )Ú.0rd   s   & r   Ú	<genexpr>Ú&LinkedList.__iter__.<locals>.<genexpr>°   s   é € Ð=Ñ+< 4—J–JÓ+<ùó   ‚N)r¤   r5   s   &r   Ú__iter__ÚLinkedList.__iter__®   s   é € á=¨4¯?©?Ô+<Ó=×=Ô=ùs   ‚&�$ž&c              #  ót   "  € V P                   pVf   R # R VP                  4        4        R j  x€L
  R #  L5i)Nc              3   ó8   "  € T F  qP                   x € K  	  R # 5ir   r¨   )r©   Úns   & r   rª   Ú*LinkedList.__reversed__.<locals>.<genexpr>·   s   é € Ð?Ñ%> —G–GÓ%>ùr¬   )r‹   rp   )r&   r‹   s   & r   Ú__reversed__ÚLinkedList.__reversed__²   s.   é € à—N‘Nˆ	ØÒÙÙ? Y×%<Ñ%<Ô%>Ó?×?Ô?ùs   ‚-8¯6°8c                óJ  € WP                   J d(   VP                  V n         V P                   f   R V n        M0WP                  J d"   VP                  V n        V P                  f   Q hV P                  ^ 8”  g   Q hV ;P                  ^,          un        VP                  4        R # r   )rŠ   rZ   r‹   r_   rŒ   rg   rc   s   &&r   r    ÚLinkedList.remove_node¹   sx   € à—>‘>Ó!Ø!Ÿ^™^ˆDŒNØ�~‰~Ò%Ø!%�”øØ—^‘^Ó#Ø!×/Ñ/ˆDŒNð —>‘>Ò-Ð-Ð-Ø�z‰z˜AŒ~Ðˆ~Ø�
Š
�a��
Ø�‰Žr   c                óv   € V P                   f   V P                  V4      # V P                  WP                   4      # r   )rŠ   Úappendr}   r\   s   &&r   Úinsert_at_headÚLinkedList.insert_at_headÈ   s0   € à�>‰>Ò!Ø—;‘;˜uÓ%Ð%Ø×!Ñ! %¯©Ó8Ð8r   c                ó  € \        V4      pV P                  f   W n        W n        MIV P                  f   Q hV P                  VJg   Q hV P                  Vn        W P                  n        W n        V ;P
                  ^,          un        V# r   )rW   rŠ   r‹   r_   rZ   rŒ   )r&   r[   rd   s   && r   r¸   ÚLinkedList.appendÎ   ss   € ä˜eÓ$ˆØ�>‰>Ò!Ø!ŒNØ!�Nð —>‘>Ò-Ð-Ð-ð —>‘>¨Ó-Ð-Ð-Ø!%§¡ˆDÔØ'+�N‰NÔ$Ø!ŒNØ�
Š
�a��
Øˆr   c                ó8   € V P                  \        V4      V4      # r   )Úinsert_node_beforerW   ©r&   r[   Úexisting_nodes   &&&r   r}   ÚLinkedList.insert_beforeá   s   € à×&Ñ&¤~°eÓ'<¸mÓLÐLr   c                ó8   € V P                  \        V4      V4      # r   )Úinsert_node_afterrW   r¿   s   &&&r   r€   ÚLinkedList.insert_afterå   s   € à×%Ñ%¤n°UÓ&;¸]ÓKÐKr   c                ó  € V P                   f   \        R4      hVP                  f   VP                  e   \        R4      hVP	                  V4       W P                   J d   Wn         V ;P
                  ^,          un        V# ©Nz,List is empty; node argument cannot be validz&New node must not already be inserted!)rŠ   Ú
ValueErrorrZ   r_   r}   rŒ   ©r&   rw   rÀ   s   &&&r   r¾   ÚLinkedList.insert_node_beforeé   sj   € à�>‰>Ò!ÜÐKÓLÐLØ×ÑÒ)¨X×-CÑ-CÒ-OÜÐEÓFÐFØ×#Ñ# HÔ-ØŸN™NÓ*Ø%ŒNØ�
Š
�a��
Øˆr   c                ó  € V P                   f   \        R4      hVP                  f   VP                  e   \        R4      hVP	                  V4       W P                   J d   Wn         V ;P
                  ^,          un        V# rÆ   )r‹   rÇ   rZ   r_   r€   rŒ   rÈ   s   &&&r   rÃ   ÚLinkedList.insert_node_afterõ   sj   € à�>‰>Ò!ÜÐKÓLÐLØ×ÑÒ)¨X×-CÑ-CÒ-OÜÐEÓFÐFØ×"Ñ" 8Ô,ØŸN™NÓ*Ø%ŒNØ�
Š
�a��
Øˆr   c                ó:   € V F  pV P                  V4       K  	  R # r   )r¸   )r&   rŽ   Úvs   && r   r�   ÚLinkedList.extend  s   € ãˆAØ�K‰K˜ŽNó r   c                ó   <€ V ^8„  d   QhRR/# r�   r   )r   r   s   "€r   r    r‘     s   ø€ ÷ ñ �tñ r   c                ó0   € R V n         R V n        ^ V n        R # r   ©rŠ   r‹   rŒ   r5   s   &r   ÚclearÚLinkedList.clear  s   € ØˆŒØˆŒØˆŽ
r   )rŒ   rŠ   r‹   rÑ   r   )rI   rJ   rK   rL   rM   rN   r%   r“   r—   rƒ   rš   r¡   r¤   r­   r³   r    r¹   r¸   r}   r€   r¾   rÃ   r�   rÒ   rO   rP   r†   s   @r   rˆ   rˆ   „   sŽ   ø‡ € ñð 4€Iô ÷*ð *÷ð ð ñLó ðL÷)ð )ò
)ò>ò@òò9òò&MòLò
ò
ò÷
ö r   rˆ   c                   óò   a € ] tR tRt o RtRR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lR lt
V 3R lR lt]tR tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR tRtV tR# )Ú
OrderedSeti  z¹A set-like object that preserves order when iterating over it

We use this to keep track of keys in Deb822Dict, because it's much faster
to look up if a key is in a set than in a list.
Nc                ór   € / V n         \        4       V n        Vf   . pV F  pV P                  V4       K  	  R # r   )Ú_OrderedSet__tablerˆ   Ú_OrderedSet__orderÚadd©r&   ÚiterableÚitems   && r   r%   ÚOrderedSet.__init__  s4   € ð ˆŒÜ!“|ˆŒØÒØˆHÛˆDØ�H‰H�TŽNó r   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   rÜ   r   Nr   )r   r   s   "€r   r    ÚOrderedSet.__annotate__!  s   ø€ ÷ ñ ™ð  ñ r   c                óÀ   € W9  d-   V P                   P                  V4      p W P                  V&   R # R #   \         d    T P                   P	                  T4       h i ; ir   )rØ   r¸   r×   Ú	Exceptionr    ©r&   rÜ   rd   s   && r   rÙ   ÚOrderedSet.add!  sZ   € ØÔð
 —<‘<×&Ñ& tÓ,ˆDðØ%)—‘˜TÓ"ñ øô ô Ø—‘×(Ñ(¨Ô.Øðús	   £5 µ(Ac                ó$   <€ V ^8„  d   QhRS[ RR/# rß   r   )r   r   s   "€r   r    rà   .  s   ø€ ÷ 'ñ '™3ð ' 4ñ 'r   c                ó|   € V P                   V,          pV P                   V V P                  P                  V4       R # r   )r×   rØ   r    rã   s   && r   rg   ÚOrderedSet.remove.  s0   € ð �|‰|˜DÕ!ˆØ�L‰L˜ÐØ�‰× Ñ  Ö&r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r0   ©r   r   )r   r   s   "€r   r    rà   5  s   ø€ ÷ "ñ "™(¡3�-ñ "r   c                ó,   € \        V P                  4      # r   )ÚiterrØ   r5   s   &r   r­   ÚOrderedSet.__iter__5  s   € ä�D—L‘LÓ!Ð!r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r0   ré   )r   r   s   "€r   r    rà   9  s   ø€ ÷ ,ñ ,™h¡s�mñ ,r   c                ó>   € \        \        V P                  4      4      # r   )rë   ÚreversedrØ   r5   s   &r   r³   ÚOrderedSet.__reversed__9  s   € ä”H˜TŸ\™\Ó*Ó+Ð+r   c                ó    <€ V ^8„  d   QhRS[ /# r0   r1   )r   r   s   "€r   r    rà   =  s   ø€ ÷ !ñ !™ñ !r   c                ó,   € \        V P                  4      # r   )ÚlenrØ   r5   s   &r   r—   ÚOrderedSet.__len__=  s   € Ü�4—<‘<Ó Ð r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   rÜ   r   )r   rA   )r   r   s   "€r   r    rà   @  s   ø€ ÷ $ñ $¡ð $©ñ $r   c                ó   € WP                   9   # r   )r×   ©r&   rÜ   s   &&r   Ú__contains__ÚOrderedSet.__contains__@  s   € ð —|‘|Ñ#Ð#r   c                ó:   € V F  pV P                  V4       K  	  R # r   )rÙ   rÚ   s   && r   r�   ÚOrderedSet.extendH  s   € ãˆDØ�H‰H�TŽNó r   c                ó$   <€ V ^8„  d   QhRS[ RR/# rß   r   )r   r   s   "€r   r    rà   N  s   ø€ ÷ 1ñ 1™sð 1 tñ 1r   c                óP   € V P                  WP                  P                  4       R# )z2Re-order the given item so it is "last" in the setN)Ú_reorderrØ   r¸   r÷   s   &&r   Ú
order_lastÚOrderedSet.order_lastN  s   € à�‰�dŸL™L×/Ñ/Ö0r   c                ó$   <€ V ^8„  d   QhRS[ RR/# rß   r   )r   r   s   "€r   r    rà   R  s   ø€ ÷ 9ñ 9¡ð 9¨ñ 9r   c                óP   € V P                  WP                  P                  4       R# )z3Re-order the given item so it is "first" in the setN)rþ   rØ   r¹   r÷   s   &&r   Úorder_firstÚOrderedSet.order_firstR  s   € à�‰�dŸL™L×7Ñ7Ö8r   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# ©r   rÜ   Úreference_itemr   Nr   )r   r   s   "€r   r    rà   V  s'   ø€ ÷ Uñ U¡ð U±cð U¸dñ Ur   c                ó€   a a€ W8X  d   \        R4      hS P                  V,          oS P                  VVV 3R l4       R# )zTRe-order the given item so appears directly after the reference item in the sequenceú*Cannot re-order an item relative to itselfc                 ó<   <€ SP                   P                  V S4      # r   )rØ   r}   ©rS   Úreference_noder&   s   &€€r   Ú<lambda>Ú)OrderedSet.order_before.<locals>.<lambda>[  s   ø€  d§l¡l×&@Ñ&@ÀÀNÔ&Sr   N©rÇ   r×   rþ   ©r&   rÜ   r  r  s   f&&@r   Úorder_beforeÚOrderedSet.order_beforeV  s2   ù€ àÔ!ÜÐIÓJÐJØŸ™ nÕ5ˆØ�‰�dÕSÖTr   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r  r   )r   r   s   "€r   r    rà   ]  s'   ø€ ÷ Tñ T¡ð T±Sð T¸Tñ Tr   c                ó€   a a€ W8X  d   \        R4      hS P                  V,          oS P                  VVV 3R l4       R# )zURe-order the given item so appears directly before the reference item in the sequencer	  c                 ó<   <€ SP                   P                  V S4      # r   )rØ   r€   r  s   &€€r   r  Ú(OrderedSet.order_after.<locals>.<lambda>b  s   ø€  d§l¡l×&?Ñ&?ÀÀ>Ô&Rr   Nr  r  s   f&&@r   Úorder_afterÚOrderedSet.order_after]  s2   ù€ àÔ!ÜÐIÓJÐJØŸ™ nÕ5ˆØ�‰�dÕRÖSr   c                ó¢   € V P                   V,          pV P                  P                  V4       V! VP                  4      pW@P                   V&   R # r   )r×   rØ   r    r[   )r&   rÜ   Ú
reinserterrd   rw   s   &&&  r   rþ   ÚOrderedSet._reorderd  s>   € ð
 �|‰|˜DÕ!ˆØ�‰× Ñ  Ô&Ù˜dŸj™jÓ)ˆØ%�‰�TÓr   )Ú__orderÚ__tabler   )rI   rJ   rK   rL   rM   r%   rÙ   rg   r­   r³   r—   rø   r¸   r�   rÿ   r  r  r  rþ   rO   rP   r†   s   @r   rÕ   rÕ     s�   ø‡ € ñô÷ð ÷'ð '÷"ð "÷,ð ,÷!ð !÷$ð $ð €Fò÷1ð 1÷9ð 9÷Uð U÷Tð T÷&ð &r   rÕ   )rb   r   Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r   Ú_strIrU   rW   rˆ   rÕ   r   r   r   Ú<module>r      sw   ðÛ Ý !÷÷ õ ñ ˆCƒL€ò.ô
˜Sô ðB 	€õôFD�W˜Q•Zô FDôRE�˜•ô E÷P`&ó `&r   