Ë
    ¤ehW  ã                  óÂ   — d Z ddlmZ ddlmZ ddlZddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ dd
lmZmZmZmZmZ erddlmZ ddlmZ 	 d	 	 	 dd„Zdd„Zdd„Zy)zÚ
This is a pseudo-public API for downstream libraries.  We ask that downstream
authors

1) Try to avoid using internals directly altogether, and failing that,
2) Use only functions exposed here (or in core.internals)

é    )Úannotations)ÚTYPE_CHECKINGN)ÚBlockPlacement)Úpandas_dtype)ÚDatetimeTZDtypeÚPeriodDtype)ÚDatetimeArray)Úextract_array)Ú
check_ndimÚensure_block_shapeÚextract_pandas_arrayÚget_block_typeÚmaybe_coerce_values)ÚDtype©ÚBlockc                ó:  — |�t        |«      }t        | ||«      \  } }ddlm}m} ||u rt        | j                  t        «      rd}|€|xs | j                  }t        |«      }n5||u r1t        | j                  t        «      st        j                  | |¬«      } t        |t        «      st        |«      }t        | ||«      }t        | j                  t        t        f«      rt        | d¬«      } t        | |«      } t!        | ||«       t#        | «      }  || ||¬«      S )a+  
    This is a pseudo-public analogue to blocks.new_block.

    We ask that downstream libraries use this rather than any fully-internal
    APIs, including but not limited to:

    - core.internals.blocks.make_block
    - Block.make_block
    - Block.make_block_same_class
    - Block.__init__
    Nr   )ÚDatetimeTZBlockÚExtensionBlock)ÚdtypeT)Úextract_numpy)ÚndimÚ	placement)r   r   Úpandas.core.internals.blocksr   r   Ú
isinstancer   r   r   r   r	   Ú_simple_newr   Úmaybe_infer_ndimr
   r   r   r   )Úvaluesr   Úklassr   r   r   r   s          úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/internals/api.pyÚ
make_blockr!   '   s	  € ð ÐÜ˜UÓ#ˆä(¨°¸Ó=�M€FˆE÷ð
 �Ñ¤:¨f¯l©l¼KÔ#Hð ˆà€}ØÒ%˜Ÿ™ˆÜ˜uÓ%‰à	�/Ñ	!¬*°V·\±\Ä?Ô*Sä×*Ñ*ð Øô
ˆô �i¤Ô0Ü" 9Ó-ˆ	ä˜F I¨tÓ4€DÜ�&—,‘,¤¬oÐ >Ô?ô ˜v°TÔ:ˆÜ# F¨DÓ1ˆäˆv�y $Ô'Ü  Ó(€FÙ�˜d¨iÔ8Ð8ó    c                ó–   — |€Ft        | j                  t        j                  «      st        |«      dk7  rd}|S d}|S | j                  }|S )zH
    If `ndim` is not provided, infer it from placement and values.
    é   é   )r   r   ÚnpÚlenr   )r   r   r   s      r    r   r   b   sQ   € ð €|ä˜&Ÿ,™,¬¯©Ô1Ü�9‹~ Ò"Ø�ð
 €Kð �ð €Kð —;‘;ˆDØ€Kr"   c                óÎ   — dd l }| dv rO|j                  | › d�t        d¬«       | dk(  rddlm} |S | dk(  rdd	lm} |S | d
k(  rddlm} |S | dk(  rddlm} |S t        d| › d�«      ‚)Nr   )r   r   r   Ú create_block_manager_from_blockszP is deprecated and will be removed in a future version. Use public APIs instead.r%   )Ú
stacklevelr)   )r)   r   r   r   )r   r   )r   z5module 'pandas.core.internals.api' has no attribute 'ú')
ÚwarningsÚwarnÚDeprecationWarningÚpandas.core.internals.managersr)   r   r   r   r   ÚAttributeError)Únamer,   r)   r   r   r   s         r    Ú__getattr__r2   r   sœ   € ãàð ñ ð 	�‰Øˆfð 'ð 'äð ð 	ô 	
ð Ð5Ò5ÝWà3Ð3à�WŠ_Ý:àˆLàÐ&Ò&ÝDà"Ð"àÐ%Ò%ÝCà!Ð!ä
Ø
?À¸vÀQÐGóð r"   )NNN)r   zDtype | NoneÚreturnr   )r   r   r   z
int | Noner3   Úint)r1   Ústr)Ú__doc__Ú
__future__r   Útypingr   Únumpyr&   Úpandas._libs.internalsr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   r   Úpandas.core.arraysr	   Úpandas.core.constructionr
   r   r   r   r   r   r   Úpandas._typingr   r   r!   r   r2   © r"   r    ú<module>rA      sd   ðñõ #å  ã å 1å 2÷õ
 -Ý 2÷õ ñ Ý$å2ð EIð89Ø5Að89à
ó89óvô *r"   