+
    ʇiQ                        ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt	 RRRRR	R/R
 lt
RRRRR	R/R ltRRRRR	R/R ltRRRRR	R/R ltR# )    )annotations)conv_sequences)is_nonesetupPandas)Jaro_pyprefix_weightg?	processorNscore_cutoffc                  \        4        \        V 4      '       g   \        V4      '       d   R# Ve   V! V 4      p V! V4      pVf   ^ pVR8  g   VR8  d   Rp\        V4      h\        W4      w  r\	        V 4      p\	        V4      p\        Wg4      p^ p	\        V^4      p
\        V
4       F!  pW	,          W,          8w  d    MV	^,          p	K#  	  TpVR8  d3   W,          pVR8  d   RpM \        RW,
          VR,
          ,          4      p\        P                  ! WVR7      pVR8  d*   WV,          RV,
          ,          ,          p\        VR4      pW8  d   V# ^ # )aO  
Calculates the jaro winkler similarity

Parameters
----------
s1 : Sequence[Hashable]
    First string to compare.
s2 : Sequence[Hashable]
    Second string to compare.
prefix_weight : float, optional
    Weight used for the common prefix of the two strings.
    Has to be between 0 and 0.25. Default is 0.1.
processor: callable, optional
    Optional callable that is used to preprocess the strings before
    comparing them. Default is None, which deactivates this behaviour.
score_cutoff : float, optional
    Optional argument for a score threshold as a float between 0 and 1.0.
    For ratio < score_cutoff 0 is returned instead. Default is None,
    which deactivates this behaviour.

Returns
-------
similarity : float
    similarity between s1 and s2 as a float between 0 and 1.0

Raises
------
ValueError
    If prefix_weight is invalid
g              ?z.prefix_weight has to be in the range 0.0 - 1.0gffffff?)r
   )
r   r   
ValueErrorr   lenminrangemaxJaro
similarity)s1s2r   r	   r
   msgP_lenT_lenmin_lenprefix
max_prefix_jaro_score_cutoff
prefix_simSims   &&$$$          v/Users/max/.openclaw/workspace/postharvest/merge_env/lib/python3.14/site-packages/rapidfuzz/distance/JaroWinkler_py.pyr   r   
   sH   L Mr{{gbkkr]r]smc1>oB#FBGEGE%GFWaJ::#! 
 %3+
 # #C**HZZ]M])^ _
//"/@
AC
Sy%s33#sm%3,1,    c               "    \        V VVVVR7      # )ap  
Calculates the normalized jaro winkler similarity

Parameters
----------
s1 : Sequence[Hashable]
    First string to compare.
s2 : Sequence[Hashable]
    Second string to compare.
prefix_weight : float, optional
    Weight used for the common prefix of the two strings.
    Has to be between 0 and 0.25. Default is 0.1.
processor: callable, optional
    Optional callable that is used to preprocess the strings before
    comparing them. Default is None, which deactivates this behaviour.
score_cutoff : float, optional
    Optional argument for a score threshold as a float between 0 and 1.0.
    For ratio < score_cutoff 0 is returned instead. Default is None,
    which deactivates this behaviour.

Returns
-------
normalized similarity : float
    normalized similarity between s1 and s2 as a float between 0 and 1.0

Raises
------
ValueError
    If prefix_weight is invalid
r   r	   r
   )r   r   r   r   r	   r
   s   &&$$$r    normalized_similarityr%   \   s!    L 

#! r!   c                   \        4        \        V 4      '       g   \        V4      '       d   R# Ve   V! V 4      p V! V4      pVe   VR8  d   RMRV,
          p\        WW%R7      pRV,
          pVe   Wt8:  d   V# R# )aK  
Calculates the jaro winkler distance

Parameters
----------
s1 : Sequence[Hashable]
    First string to compare.
s2 : Sequence[Hashable]
    Second string to compare.
prefix_weight : float, optional
    Weight used for the common prefix of the two strings.
    Has to be between 0 and 0.25. Default is 0.1.
processor: callable, optional
    Optional callable that is used to preprocess the strings before
    comparing them. Default is None, which deactivates this behaviour.
score_cutoff : float, optional
    Optional argument for a score threshold as a float between 0 and 1.0.
    For ratio < score_cutoff 0 is returned instead. Default is None,
    which deactivates this behaviour.

Returns
-------
distance : float
    distance between s1 and s2 as a float between 1.0 and 0.0

Raises
------
ValueError
    If prefix_weight is invalid
r   N)r   r
   )r   r   r   )r   r   r   r	   r
   cutoff_distancesimdists   &&$$$   r    distancer*      sz    L Mr{{gbkkr]r]+3|c7IdPSVbPbO
R=
WC9D (D,@4JsJr!   c               "    \        V VVVVR7      # )al  
Calculates the normalized jaro winkler distance

Parameters
----------
s1 : Sequence[Hashable]
    First string to compare.
s2 : Sequence[Hashable]
    Second string to compare.
prefix_weight : float, optional
    Weight used for the common prefix of the two strings.
    Has to be between 0 and 0.25. Default is 0.1.
processor: callable, optional
    Optional callable that is used to preprocess the strings before
    comparing them. Default is None, which deactivates this behaviour.
score_cutoff : float, optional
    Optional argument for a score threshold as a float between 0 and 1.0.
    For ratio < score_cutoff 0 is returned instead. Default is None,
    which deactivates this behaviour.

Returns
-------
normalized distance : float
    normalized distance between s1 and s2 as a float between 1.0 and 0.0

Raises
------
ValueError
    If prefix_weight is invalid
r#   )r*   r$   s   &&$$$r    normalized_distancer,      s!    L 

#! r!   )
__future__r   rapidfuzz._common_pyr   rapidfuzz._utilsr   r   rapidfuzz.distancer   r   r   r%   r*   r,    r!   r    <module>r2      s    # / 1 .O- 	O-
 O- O-d, 	,
 , ,^1K 	1K
 1K 1Kh, 	,
 , ,r!   