+
     Biv                     0    ^ RI t ^RIHt  ! R R]4      tR# )    N)method_cachec                      a a ] tR t^t oRtR tR tR tR tR t	V 3R lt
R t]V 3R	 l4       tR
 tRR ltRtVtV ;t# )
FoldedCasea  
A case insensitive string class; behaves just like str
except compares equal when the only variation is case.

>>> s = FoldedCase('hello world')

>>> s == 'Hello World'
True

>>> 'Hello World' == s
True

>>> s != 'Hello World'
False

>>> s.index('O')
4

>>> s.split('O')
['hell', ' w', 'rld']

>>> sorted(map(FoldedCase, ['GAMMA', 'alpha', 'Beta']))
['alpha', 'Beta', 'GAMMA']

Sequence membership is straightforward.

>>> "Hello World" in [s]
True
>>> s in ["Hello World"]
True

You may test for set inclusion, but candidate and elements
must both be folded.

>>> FoldedCase("Hello World") in {s}
True
>>> s in {FoldedCase("Hello World")}
True

String inclusion works as long as the FoldedCase object
is on the right.

>>> "hello" in FoldedCase("Hello World")
True

But not if the FoldedCase object is on the left:

>>> FoldedCase('hello') in 'Hello World'
False

In that case, use in_:

>>> FoldedCase('hello').in_('Hello World')
True

>>> FoldedCase('hello') > FoldedCase('Hello')
False
c                D    V P                  4       VP                  4       8  # Nlowerselfothers   &&//usr/lib/python3.14/importlib/metadata/_text.py__lt__FoldedCase.__lt__C       zz|ekkm++    c                D    V P                  4       VP                  4       8  # r   r   r
   s   &&r   __gt__FoldedCase.__gt__F   r   r   c                D    V P                  4       VP                  4       8H  # r   r   r
   s   &&r   __eq__FoldedCase.__eq__I       zz|u{{},,r   c                D    V P                  4       VP                  4       8g  # r   r   r
   s   &&r   __ne__FoldedCase.__ne__L   r   r   c                4    \        V P                  4       4      # r   )hashr	   )r   s   &r   __hash__FoldedCase.__hash__O   s    DJJL!!r   c                Z   < \         SV `  4       P                  VP                  4       4      # r   )superr	   __contains__)r   r   	__class__s   &&r   r"   FoldedCase.__contains__R   s     w}++EKKM::r   c                    V \        V4      9   # )zDoes self appear in other?)r   r
   s   &&r   in_FoldedCase.in_U   s    z%(((r   c                    < \         SV `  4       # r   )r!   r	   )r   r#   s   &r   r	   FoldedCase.lowerZ   s    w}r   c                \    V P                  4       P                  VP                  4       4      # r   )r	   index)r   subs   &&r   r+   FoldedCase.index^   s    zz|!!#))+..r   c                    \         P                  ! \         P                  ! V4      \         P                  4      pVP	                  W4      # r   )recompileescapeIsplit)r   splittermaxsplitpatterns   &&& r   r3   FoldedCase.splita   s.    **RYYx0"$$7}}T,,r    ) r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r"   r&   r   r	   r+   r3   __static_attributes____classdictcell____classcell__)r#   __classdict__s   @@r   r   r      sQ     9v,,--";)
  /- -r   r   )r/   
_functoolsr   strr   r8   r   r   <module>rE      s    	 $\- \-r   