Ë
    èlÖi  ã                   ó&   — d dl mZ  G d„ de«      Zy)é    )ÚAggregationc                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)ÚSummarya÷  
    Apply an arbitrary function to a column.

    :param column_name:
        The name of a column to be summarized.
    :param data_type:
        The return type of this aggregation.
    :param func:
        A function which will be passed the column for processing.
    :param cast:
        If :code:`True`, each return value will be cast to the specified
        :code:`data_type` to ensure it is valid. Only disable this if you are
        certain your summary always returns the correct type.
    c                 ó<   — || _         || _        || _        || _        y ©N)Ú_column_nameÚ
_data_typeÚ_funcÚ_cast)ÚselfÚcolumn_nameÚ	data_typeÚfuncÚcasts        ú_/var/www/html/strategist-ai/venv_dbt/lib/python3.12/site-packages/agate/aggregations/summary.pyÚ__init__zSummary.__init__   s   € Ø'ˆÔØ#ˆŒØˆŒ
Øˆ�
ó    c                 ó   — | j                   S r   )r	   )r   Útables     r   Úget_aggregate_data_typezSummary.get_aggregate_data_type   s   € Ø�‰Ðr   c                 ó¤   — | j                  |j                  | j                     «      }| j                  r| j                  j                  |«      }|S r   )r
   Úcolumnsr   r   r	   r   )r   r   Úvs      r   ÚrunzSummary.run   s?   € Ø�J‰J�u—}‘} T×%6Ñ%6Ñ7Ó8ˆà�:Š:Ø—‘×$Ñ$ QÓ'ˆAàˆr   N)T)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   © r   r   r   r      s   „ ñóòór   r   N)Úagate.aggregations.baser   r   r   r   r   ú<module>r!      s   ðÝ /ôˆkõ r   