
    (ph'                     X    S SK rS SKr " S S5      r " S S\R                  \   5      rg)    Nc                   <    \ rS rSr% SrSrS \S'   S \S'   \\S'   Srg)	Link   z3Representation of one item in a doubly-linked list.)prevnextkey__weakref__r   r   r    N)	__name__
__module____qualname____firstlineno____doc__	__slots____annotations__str__static_attributes__r
       I/var/www/html/venv/lib/python3.13/site-packages/uritemplate/orderedset.pyr   r      s    =6I
L
L	Hr   r   c                   B   \ rS rSrSrSS\R                  \R                  \      4S jjr	S\
4S jrS\S\4S	 jrS\SS4S
 jrS\SS4S jrS\R"                  \SS4   4S jrS\R"                  \SS4   4S jrSS\S\4S jjrS\4S jrS\4S jrS\S\4S jrSrg)
OrderedSet   z9A set that remembers the order in which items were added.Niterablec                 `    [        5       =U l        nU=Ul        Ul        0 U l        Ub  X-  n g g N)r   _OrderedSet__rootr   r   _OrderedSet__map)selfr   roots      r   __init__OrderedSet.__init__   s8    !V#d $$	DI24
D  r   returnc                 ,    [        U R                  5      $ r   )lenr   r   s    r   __len__OrderedSet.__len__"   s    4::r   r   c                     XR                   ;   $ r   )r   )r   r   s     r   __contains__OrderedSet.__contains__%   s    jj  r   c                     XR                   ;  ai  [        5       =U R                   U'   nU R                  nUR                  nXCUsUl        Ul        Ul        [        R                  " U5      =Ul        Ul        g g r   )r   r   r   r   r   r   weakrefproxy)r   r   linkr   lasts        r   addOrderedSet.add(   sb    jj %)V+DJJsOd;;D99D-1*DIty$($+MM$$77DI	 !r   c                     XR                   ;   aR  U R                   R                  U5      nUR                  UR                  l        UR                  UR                  l        g g r   )r   popr   r   )r   r   r.   s      r   discardOrderedSet.discard1   sC     **::>>#&D!YYDIIN!YYDIIN r   c              #      #    U R                   nUR                  nX!La!  UR                  v   UR                  nX!La  M   g g 7fr   )r   r   r   r   r   currs      r   __iter__OrderedSet.__iter__9   7     {{yy((N99D 
   ;AAc              #      #    U R                   nUR                  nX!La!  UR                  v   UR                  nX!La  M   g g 7fr   )r   r   r   r7   s      r   __reversed__OrderedSet.__reversed__A   r;   r<   r/   c                     U (       d  [        S5      eU(       a  [        [        U 5      5      O[        [        U 5      5      nU R	                  U5        U$ )Nzset is empty)KeyErrorr   reversediterr4   )r   r/   r   s      r   r3   OrderedSet.popI   s<    >**&*d8D>"T$Z0@S
r   c                     U (       d  U R                   R                   S3$ U R                   R                   S[        U 5      < S3$ )Nz()())	__class__r   listr%   s    r   __repr__OrderedSet.__repr__P   s?    nn--.b11..))*!DJ>;;r   c                 "    U R                  5       $ r   )rJ   r%   s    r   __str__OrderedSet.__str__U   s    }}r   otherc                    [        U[        5      (       a5  [        U 5      [        U5      :H  =(       a    [        U 5      [        U5      :H  $ [        R
                  " [        R                  [           U5      nU R                  U5      (       + $ r   )	
isinstancer   r$   rI   tcastIterabler   
isdisjoint)r   rO   s     r   __eq__OrderedSet.__eq__X   s^    eZ((t9E
*HtDzT%[/HHqzz#.??5)))r   )__map__rootr   )T)r   r   r   r   r   rR   OptionalrT   r   r    intr&   objectboolr)   r0   r4   	Generatorr9   r>   r3   rJ   rM   rV   r   r
   r   r   r   r      s    CAJJsO!<  ! !4 !8s 8t 8'3 '4 '!++c4o6 akk#tT/:   <# <
 *F *t *r   r   )typingrR   r,   r   
MutableSetr   r   r
   r   r   <module>ra      s,      M*c" M*r   