
    4iK                       S r SSKJr  SSKrSSKJr  SSKJr  Sr SSK	r
\" \" \
R                  5      R                  5      r\\" S5      :  r\\" S5      :  r\\" S	5      :  r\\" S
5      :  r\\" S5      :  r\\" S5      :  r\\" S5      :  r\\" S5      :  r\\" S5      :  r\\" S5      :  r\\" \5      :  r      SS jrg! \ a    SrSrSrSrSrSrSrSrSrSrSr N*f = f)z-support pyarrow compatibility across versions    )annotationsN)Any)Versionz13.0.0z14.0.0z14.0.1z15.0.0z16.0.0z17.0.0z18.0.0z19.0.0z20.0.0z21.0.0z22.0.0TFc           
       ^ SSK Jm  [        R                  S;   n[        =(       a!    U=(       a    [
        (       + =(       a    [        nU(       a/  [        U[        R                  [        R                  45      (       a  TR                  X5      $ [        R                  " XR                  S9n[        R                  R                  U R                  5      (       ae  SU4S jjn[        U [        R                  5      (       a6  [        R                   " U R"                   Vs/ s H
  oe" Xd5      PM     sn5      $ U" X5      $ [        U [        R                  5      (       aP  [        R                   " U R"                   Vs/ s H$  nTR%                  TR'                  U5      XF5      PM&     sn5      $ TR%                  TR'                  U 5      X@5      $ s  snf s  snf )a&  
Safe wrapper for pyarrow.compute.fill_null with fallback for Windows + pyarrow 21.

pyarrow 21.0.0 on Windows has a bug in fill_null that incorrectly fills null values.
This function uses a fallback implementation for that specific case, otherwise uses
the standard pyarrow.compute.fill_null.

Parameters
----------
arr : pyarrow.Array | pyarrow.ChunkedArray
    Input array with potential null values.
fill_value : Any
    Value to fill nulls with.

Returns
-------
pyarrow.Array | pyarrow.ChunkedArray
    Array with nulls filled with fill_value.
r   N)win32cygwintypec                   > TR                  U 5      n[        R                  " SU R                  S9nTR	                  X#U 5      nTR	                  X!U5      $ )Nr   r	   )is_nullpascalarr
   if_else)arrfill_scalarmaskzero_duration
arr_zeroedpcs        W/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/compat/pyarrow.pyfill_null_duration+_safe_fill_null.<locals>.fill_null_durationK   sE    ::c?DIIachh7MD=J::d<<    )r   pa.Arrayr   z	pa.Scalarreturnr   )pyarrow.computecomputesysplatformHAS_PYARROWpa_version_under21p0pa_version_under22p0
isinstancer   ArrayChunkedArray	fill_nullr   r
   typesis_durationchunked_arraychunksr   r   )r   
fill_value
is_windowsuse_fallbackr   r   chunkr   s          @r   _safe_fill_nullr/   (   sT   , !!44JX
X+?'?XDX  :j288R__2MNN||C,,))JXX6K	xxCHH%%	= c2??++##EHZZPZE#E7ZP  "#33#r''LOJJWJ5RZZ

5);>JW
 	
 ::bjjo{88 Q Xs   !G>+G)r   pa.Array | pa.ChunkedArrayr+   r   r   r0   )__doc__
__future__r   r   typingr   pandas.util.versionr   PYARROW_MIN_VERSIONpyarrowr   __version__base_version_palvpa_version_under14p0pa_version_under14p1pa_version_under15p0pa_version_under16p0pa_version_under17p0pa_version_under18p0pa_version_under19p0pa_version_under20p0r!   r"   r    ImportErrorr/    r   r   <module>rD      sZ   3 " 
  ' GBNN+889E 78#44 78#44 78#44 78#44 78#44 78#44 78#44 78#44 78#44 78#447#677K39	#39143939  Ks   BC C&%C&