
    ^hC                        S SK JrJrJr  S SKJr   S SKJr  S SK
JrJr  \(       a
  S SKJs  Jr  O
 S SKJs  Jr  / SQr \" S5      r\" \\5      (       d  \" S5      r\" \\5      (       d   eS	r " S S\5      r " S S\5      rS rS rS rS rg! \ a	    S SK	Jr   Nf = f! \ a    S SKJs  Jr   N{f = f! \ a    S
r NTf = f)    )absolute_importdivisionunicode_literals)
ModuleType)Mapping)	text_typePY3N)default_etreeMethodDispatcherisSurrogatePairsurrogatePairToCodepointmoduleFactoryFactorysupports_lone_surrogatesz"\uD800"z	u"\uD800"TFc                   2    \ rS rSrSrSS jrS rS	S jrSrg)
r   ,   aT  Dict with 2 special properties:

On initiation, keys that are lists, sets or tuples are converted to
multiple keys so accessing any one of the items in the original
list-like object returns the matching value

md = MethodDispatcher({("foo", "bar"):"baz"})
md["foo"] == "baz"

A default value which can be set through the default attribute.
c                 2   / nU HY  u  p4[        U[        [        [        [        45      (       a  U H  nUR                  XT45        M     MG  UR                  X445        M[     [        R                  X5        [        U 5      [        U5      :X  d   eS U l	        g N)

isinstancelisttuple	frozensetsetappenddict__init__lendefault)selfitems_dictEntriesnamevalueitems         X/home/james-whalen/.local/lib/python3.13/site-packages/bleach/_vendor/html5lib/_utils.pyr   MethodDispatcher.__init__9   s     KD$ui =>> D ''6 ! ##TM2 ! 	d)4yC----    c                 B    [         R                  XU R                  5      $ r   )r   getr   r   keys     r$   __getitem__MethodDispatcher.__getitem__E   s    xx4<<00r&   Nc                     [        X5      $ r   )BoundMethodDispatcher)r   instanceowners      r$   __get__MethodDispatcher.__get__H   s    $X44r&   )r   ) r   )	__name__
__module____qualname____firstlineno____doc__r   r+   r1   __static_attributes__r3   r&   r$   r   r   ,   s    

15r&   r   c                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)r.   L   zAWraps a MethodDispatcher, binding its return values to `instance`c                     Xl         X l        g r   )r/   
dispatcher)r   r/   r=   s      r$   r   BoundMethodDispatcher.__init__N   s     $r&   c                 R    U R                   U   R                  U R                  5      $ r   )r=   r1   r/   r)   s     r$   r+   !BoundMethodDispatcher.__getitem__R   s"     s#++DMM::r&   c                 ,    XR                   ;   a  X   $ U$ r   r=   )r   r*   r   s      r$   r(   BoundMethodDispatcher.getW   s    //!9Nr&   c                 ,    [        U R                  5      $ r   )iterr=   r   s    r$   __iter__BoundMethodDispatcher.__iter__]   s    DOO$$r&   c                 ,    [        U R                  5      $ r   )r   r=   rF   s    r$   __len__BoundMethodDispatcher.__len__`   s    4??##r&   c                     XR                   ;   $ r   rB   r)   s     r$   __contains__"BoundMethodDispatcher.__contains__c   s    oo%%r&   )r=   r/   N)r4   r5   r6   r7   r8   r   r+   r(   rG   rJ   rM   r9   r3   r&   r$   r.   r.   L   s#    K%;
%$&r&   r.   c                     [        U 5      S:H  =(       aY    [        U S   5      S:  =(       aA    [        U S   5      S:*  =(       a)    [        U S   5      S:  =(       a    [        U S   5      S:*  $ )N   r      i        i  )r   ord)datas    r$   r   r   j   sf    IN >QLF">'*47|v'=>QLF">'*47|v'=?r&   c                 X    S[        U S   5      S-
  S-  -   [        U S   5      S-
  -   nU$ )Ni   r   rQ   i   rR   rS   )rT   )rU   char_vals     r$   r   r   p   s8    3tAw<&0E99T!W&(HOr&   c                    ^ ^ 0 mU U4S jnU$ )Nc                   > [        [        R                  [        S5      5      (       a  SU R                  -  nOSU R                  -  n[	        UR                  5       5      n TU   U   U   $ ! [         au    [        U5      nT" U /UQ70 UD6nUR                  R                  U5        ST;  a  0 TU'   STU   ;  a  0 TU   U'   STU   U   ;  a  0 TU   U   U'   UTU   U   U'   Us $ f = f)N z_%s_factorys   _%s_factoryr!   argskwargs)	r   r   r4   typer   r   KeyError__dict__update)	
baseModuler[   r\   r!   kwargs_tuplemodobjsfactorymoduleCaches	          r$   moduleFactory+moduleFactoryFactory.<locals>.moduleFactory|   s   j))4844 :#6#66D!J$7$77DV\\^,	t$T*<88 	T"C:777DLL%[($&D![..*,D!$'{40668:D!$'547Kd#L1J	s   #
A. .A<C-,C-r3   )re   rg   rf   s   ` @r$   r   r   y   s    K. r&   c                    ^ ^ 0 mUU 4S jnU$ )Nc                  x   > [        U 5      [        UR                  5       5      4nUT;  a  T" U 0 UD6TU'   TU   $ r   )r   r   )r[   r\   r*   cachefuncs      r$   wrappedmemoize.<locals>.wrapped   sA    T{E&,,.12et.v.E#JSzr&   r3   )rl   rm   rk   s   ` @r$   memoizero      s    E Nr&   ) 
__future__r   r   r   typesr   collections.abcr   ImportErrorcollectionsbleach.six_shimr   r	   xml.etree.ElementTreeetreeElementTreer
   xml.etree.cElementTreecElementTree__all__eval_xr   r   	Exceptionr   r   r.   r   r   r   ro   r3   r&   r$   <module>r      s    B B $' +11666
'	$	k	Bb)$$,"i((((  $5t 5@&G &<?:	_  $#$  6556*  %$%s4   B 	B%  .B: B"!B"%B76B7:CC