;i' bddlZddlZGddZGddejeZdS)Nc6eZdZUdZdZded<ded<eed<dS)Linkz3Representation of one item in a doubly-linked list.)prevnextkey __weakref__rrrN)__name__ __module__ __qualname____doc__ __slots____annotations__strJC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\uritemplate/orderedset.pyrrs6==6I LLL LLL HHHHHrrceZdZdZddejejefdZde fdZ de de fdZ deddfd Zdeddfd Zdejeddffd Zdejeddffd Zdde defdZdefdZdefdZde de fdZdS) OrderedSetz9A set that remembers the order in which items were added.Niterablecltx|_}|x|_|_i|_|||z}dSdSN)r_OrderedSet__rootrr_OrderedSet__map)selfrroots r__init__zOrderedSet.__init__sC!VV# d $$ DI24   H DDD rreturnc*t|jSr)lenrrs r__len__zOrderedSet.__len__"s4:rrc||jvSr)r)rrs r __contains__zOrderedSet.__contains__%sdj  rc||jvr^tx|j|<}|j}|j}|||c|_|_|_t j|x|_|_dSdSr)rrrrrrweakrefproxy)rrlinkrlasts raddzOrderedSet.add(sk dj %)VV +DJsOd;D9D-14 *DIty$($+M$$7$7 7DI ! rc||jvr>|j|}|j|j_|j|j_dSdSr)rpoprr)rrr's rdiscardzOrderedSet.discard1sF $*  :>>#&&D!YDIN!YDINNN  rc#ZK|j}|j}||ur|jV|j}||udSdSr)rrrrrcurrs r__iter__zOrderedSet.__iter__9J{y$(NNN9D$rc#ZK|j}|j}||ur|jV|j}||udSdSr)rrrr.s r __reversed__zOrderedSet.__reversed__Ar1rTr(c|std|rtt|ntt|}|||S)Nz set is empty)KeyErrorrreversediterr,)rr(rs rr+zOrderedSet.popIsZ +>** *&*@d8D>>"""T$ZZ0@0@ S rcb|s|jjdS|jjdt|dS)Nz()()) __class__r listr s r__repr__zOrderedSet.__repr__Ps@ 2n-111 1.);;DJJ;;;;rc*|Sr)r=r s r__str__zOrderedSet.__str__Us}}rotherc,t|tr@t|t|kot|t|kSt jtjt|}|| Sr) isinstancerrr<tcastIterabler isdisjoint)rr@s r__eq__zOrderedSet.__eq__Xsn eZ ( ( It99E *HtDzzT%[[/H Hqz#..??5))))rr)T)r r r r rCOptionalrErrintr!objectboolr#r)r, Generatorr0r3r+r=r?rGrrrrrsCCAJsO!<!!4!!!!8s8t8888'3'4''''!+c4o6ak#tT/:<#<<<< *F*t******rr)typingrCr%r MutableSetrrrrrrOs        M*M*M*M*M*c"M*M*M*M*M*r