+
    ʇi	                     4    R t ^ RI5 ^ RIHt  ! R R4      tR# )z
StringMatcher.py

ported from python-Levenshtein
[https://github.com/miohtama/python-Levenshtein]
License available here: https://github.com/miohtama/python-Levenshtein/blob/master/COPYING
)*)warnc                   p   a  ] tR t^t o RtR tRR l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# )StringMatcherz<A SequenceMatcher-like class built on the top of Levenshteinc                L    R ;V n         V n        R ;V n        ;V n        V n        R # N)_ratio	_distance_opcodes_editops_matching_blocksselfs   &m/Users/max/.openclaw/workspace/postharvest/merge_env/lib/python3.14/site-packages/fuzzywuzzy/StringMatcher.py_reset_cacheStringMatcher._reset_cache   s&    '++dn@DDD(=    Nc                h    V'       d   \        R 4       W#uV n        V n        V P                  4        R# )z.isjunk not NOT implemented, it will be ignoredN)r   _str1_str2r   )r   isjunkseq1seq2s   &&&&r   __init__StringMatcher.__init__   s(    AB!%
DJr   c                B    WuV n         V n        V P                  4        R # r   )r   r   r   )r   r   r   s   &&&r   set_seqsStringMatcher.set_seqs   s    !%
DJr   c                2    Wn         V P                  4        R # r   )r   r   )r   r   s   &&r   set_seq1StringMatcher.set_seq1        
r   c                2    Wn         V P                  4        R # r   )r   r   )r   r   s   &&r   set_seq2StringMatcher.set_seq2$   r!   r   c                $   V P                   '       gt   V P                  '       d=   \        V P                  V P                  V P                  4      V n         V P                   # \        V P                  V P                  4      V n         V P                   # r   )r
   r   opcodesr   r   r   s   &r   get_opcodesStringMatcher.get_opcodes(   ^    }}}}}} 'tzz4:: N }} !(

DJJ ?}}r   c                $   V P                   '       gt   V P                  '       d=   \        V P                  V P                  V P                  4      V n         V P                   # \        V P                  V P                  4      V n         V P                   # r   )r   r
   editopsr   r   r   s   &r   get_editopsStringMatcher.get_editops0   r)   r   c                    V P                   '       g5   \        V P                  4       V P                  V P                  4      V n         V P                   # r   )r   matching_blocksr'   r   r   r   s   &r   get_matching_blocks!StringMatcher.get_matching_blocks8   s@    $$$$3D4D4D4F48JJ

%LD!$$$r   c                    V P                   '       g&   \        V P                  V P                  4      V n         V P                   # r   r   ratior   r   r   s   &r   r4   StringMatcher.ratio>   s+    {{{

DJJ7DK{{r   c                    V P                   '       g&   \        V P                  V P                  4      V n         V P                   # r   r3   r   s   &r   quick_ratioStringMatcher.quick_ratioC   s+    {{{

DJJ7DK{{r   c                    \        V P                  4      \        V P                  4      r!R \        W4      ,          W,           ,          # )g       @)lenr   r   min)r   len1len2s   &  r   real_quick_ratioStringMatcher.real_quick_ratioI   s/    _c$**odS_$44r   c                    V P                   '       g&   \        V P                  V P                  4      V n         V P                   # r   )r	   distancer   r   r   s   &r   rA   StringMatcher.distanceM   s+    ~~~%djj$**=DN~~r   )r	   r   r   r
   r   r   r   )N rC   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r#   r'   r,   r0   r4   r7   r>   rA   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sJ     FE%
5 r   r   N)rH   Levenshteinwarningsr   r    r   r   <module>rO      s     A Ar   