
    6|hj                         d dl mZ  G d de      Zedk(  r2 ed      Z ed      Z eeez          eeez          eeez
         yy)    )
MutableSetc                   L    e Zd ZddZd Zd Zd Zd Zd Zd Z	dd	Z
d
 Zd Zy)
OrderedSetNc                 D    g x| _         }|d ||gz  }i | _        || |z  } y y N)endmap)selfiterabler   s      U/var/www/html/test/engine/venv/lib/python3.12/site-packages/marshmallow/orderedset.py__init__zOrderedSet.__init__   s;    3c3HD      c                 ,    t        | j                        S r   )lenr	   r
   s    r   __len__zOrderedSet.__len__"   s    488}r   c                     || j                   v S r   )r	   )r
   keys     r   __contains__zOrderedSet.__contains__%   s    dhhr   c                 |    || j                   vr.| j                  }|d   }|||gx|d<   x|d<   | j                   |<   y y )N      )r	   r   )r
   r   r   currs       r   addzOrderedSet.add(   sK    dhh((Cq6D03T3/??DG?c!ftxx} r   c                 t    || j                   v r*| j                   j                  |      \  }}}||d<   ||d<   y y )Nr   r   )r	   pop)r
   r   prevnexts       r   discardzOrderedSet.discard.   s<    $((?"hhll3/OCtDGDG r   c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr   r   r   r
   r   r   s      r   __iter__zOrderedSet.__iter__4   :     hh1v#oq'M7D #o   &++c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr   r   r!   r"   s      r   __reversed__zOrderedSet.__reversed__;   r$   r%   c                     | st        d      |r| j                  d   d   n| j                  d   d   }| j                  |       |S )Nzset is emptyr   r   r   )KeyErrorr   r   )r
   lastr   s      r   r   zOrderedSet.popB   sB    >** $dhhqk!n$((1+a.S
r   c                     | s| j                   j                   dS | j                   j                   dt        |       dS )Nz()())	__class____name__listr   s    r   __repr__zOrderedSet.__repr__I   s?    nn--.b11..))*!DJ>;;r   c                     t        |t              r0t        |       t        |      k(  xr t        |       t        |      k(  S t	        |       t	        |      k(  S r   )
isinstancer   r   r0   set)r
   others     r   __eq__zOrderedSet.__eq__N   sD    eZ(t9E
*HtDzT%[/HH4yCJ&&r   r   )T)r/   
__module____qualname__r   r   r   r   r   r#   r'   r   r1   r6    r   r   r   r      s5    @<
'r   r   __main__
abracadaba
simsalabimN)collections.abcr   r   r/   stprintr9   r   r   <module>rA      s[   . '7' 7't z< A< A	!a%L	!a%L	!a%L r   