+
    iq	                     &    R t R.t ! R R]4      tR# )zMisc dict tools.hashdictc                   f   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )r   a  
hashable dict implementation, suitable for use as a key into
other dicts.

    >>> h1 = hashdict({"apples": 1, "bananas":2})
    >>> h2 = hashdict({"bananas": 3, "mangoes": 5})
    >>> h1+h2
    hashdict(apples=1, bananas=3, mangoes=5)
    >>> d1 = {}
    >>> d1[h1] = "salad"
    >>> d1[h1]
    'salad'
    >>> d1[h2]
    Traceback (most recent call last):
    ...
    KeyError: hashdict(bananas=3, mangoes=5)

based on answers from
   http://stackoverflow.com/questions/1151658/python-hashable-dicts

c                F    \        \        V P                  4       4      4      # N)tuplesorteditemsselfs   &x/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/misc/dictTools.py__keyhashdict.__key   s    VDJJL)**    c                    R P                  V P                  P                  RP                  R V P	                  4        4       4      4      # )z{0}({1})z, c              3      "   T F7  pR P                  \        V^ ,          4      \        V^,          4      4      x  K9  	  R# 5i)z{0}={1}N)formatstrrepr).0is   & r   	<genexpr>$hashdict.__repr__.<locals>.<genexpr>$   s0     T|!i&&s1Q4y$qt*==|s   ?A)r   	__class____name__join_hashdict__keyr	   s   &r   __repr__hashdict.__repr__!   s:      NN##IITtzz|TT
 	
r   c                4    \        V P                  4       4      # r   )hashr   r	   s   &r   __hash__hashdict.__hash__'   s    DJJL!!r   c                ^    \        R P                  V P                  P                  4      4      hz${0} does not support item assignment	TypeErrorr   r   r   )r
   keyvalues   &&&r   __setitem__hashdict.__setitem__*   '    299$..:Q:QR
 	
r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   )r
   r&   s   &&r   __delitem__hashdict.__delitem__/   r*   r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   r	   s   &r   clearhashdict.clear4   r*   r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   r
   argskwargss   &*,r   pophashdict.pop9   r*   r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   r2   s   &*,r   popitemhashdict.popitem>   r*   r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   r2   s   &*,r   
setdefaulthashdict.setdefaultC   r*   r   c                ^    \        R P                  V P                  P                  4      4      hr#   r$   r2   s   &*,r   updatehashdict.updateH   r*   r   c                F    \        V 4      p\        P                  W!4       V# r   )r   dictr>   )r
   rightresults   && r   __add__hashdict.__add__P   s    $F"r    N)r   
__module____qualname____firstlineno____doc__r   r   r    r(   r,   r/   r5   r8   r;   r>   rD   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sF     ,+
"












 r   N)rJ   __all__rA   r   rF   r   r   <module>rO      s    ,Lt Lr   