Ë
    èlÖi	  ã                   ó:   — d dl mZ d dlmZ d dlmZ edd„«       Zy)é    )ÚOrderedDict)ÚDataTypeError)ÚRowNc           	      óæ  — ddl m} t        «       }|D ]…  }t        dt	        |j
                  «      «      D ]a  }|�|j                  |   |v sŒ|j                  |   }|j                  |   }	||v r$t        |	t        ||   «      «      rŒRt        d«      ‚|	||<   Œc Œ‡ t        |j                  «       «      }
t        |j                  «       «      }g }|D ]’  }|j                  |
k(  r+|j                  |k(  r|j                  |j                  «       Œ=|j                  D ]G  }g }|
D ]#  }|j!                  |j#                  |d«      «       Œ% |j!                  t%        ||
«      «       ŒI Œ”  |||
||d¬«      S )aB  
    Create a new table from a sequence of similar tables.

    This method will not carry over row names from the merged tables, but new
    row names can be specified with the :code:`row_names` argument.

    It is possible to limit the columns included in the new :class:`.Table`
    with :code:`column_names` argument. For example, to only include columns
    from a specific table, set :code:`column_names` equal to
    :code:`table.column_names`.

    :param tables:
        An sequence of :class:`.Table` instances.
    :param row_names:
        See :class:`.Table` for the usage of this parameter.
    :param column_names:
        A sequence of column names to include in the new :class:`.Table`. If
        not specified, all distinct column names from `tables` are included.
    :returns:
        A new :class:`.Table`.
    r   )ÚTableNz@Tables contain columns with the same names, but different types.T)Ú	row_namesÚ_is_fork)Úagate.tabler   r   ÚrangeÚlenÚcolumnsÚcolumn_namesÚcolumn_typesÚ
isinstanceÚtyper   ÚtupleÚkeysÚvaluesÚextendÚrowsÚappendÚgetr   )ÚclsÚtablesr   r   r   Únew_columnsÚtableÚiÚcolumn_nameÚcolumn_typeÚcolumn_keysr   r   ÚrowÚdataÚ
column_keys                   úV/var/www/html/strategist-ai/venv_dbt/lib/python3.12/site-packages/agate/table/merge.pyÚmerger%      sv  € õ. "ä“-€Kàò 
;ˆÜ�qœ#˜eŸm™mÓ,Ó-ò 		;ˆAØÐ# u×'9Ñ'9¸!Ñ'<ÀÒ'LØ#×0Ñ0°Ñ3�Ø#×0Ñ0°Ñ3�à +Ñ-Ü% k´4¸ÀKÑ8PÓ3QÕRÜ+Ð,nÓoÐoà/:�K Ò,ñ		;ð
;ô ˜×(Ñ(Ó*Ó+€KÜ˜×+Ñ+Ó-Ó.€Là€Dàò 4ˆà×Ñ Ò,°×1CÑ1CÀ|Ò1SØ�K‰K˜Ÿ
™
Õ#à—z‘zò 4�Ø�à"-ò ;�JØ—K‘K §¡¨
°DÓ 9Õ:ð;ð —‘œC  kÓ2Õ3ñ4ð4ñ ��{ L¸IÐPTÔUÐUó    )NN)Úcollectionsr   Úagate.exceptionsr   Ú
agate.rowsr   Úclassmethodr%   © r&   r$   ú<module>r,      s$   ðÝ #å *Ý ð ò8Vó ñ8Vr&   