§
    tŠtj=Q  ã                  ób  — d dl mZ d dlmZmZ d dlZd dlmZmZm	Z	m
Z
 d dlZd dlmZ d dlmZ d dlmZ d dlZd dlmZmZ erd d	lmZ d d
lmZmZ d;d„Ze
	 	 	 	 d<d=d„¦   «         Ze
	 	 	 	 d<d>d„¦   «         Z	 	 	 	 d?d@d!„ZdAd'„ZdBd(„Z	 dCdDd*„Z dEd.„Z! ed/¦  «        	 	 	 	 	 	 	 dFdGd:„¦   «         Z"dS )Hé    )Úannotations)ÚabcÚdefaultdictN)ÚTYPE_CHECKINGÚAnyÚDefaultDictÚoverload©Úconvert_json_to_lines)Ú
set_module)Ú	is_scalar)Ú	DataFrameÚSeries)ÚIterable)ÚIgnoreRaiseÚScalarÚsÚstrÚreturnc                óh   — | d         dk    s| d         dk    r| S | dd…         } t          | ¦  «        S )zJ
    Helper function that converts JSON lists to line delimited JSON.
    r   ú[éÿÿÿÿú]é   r
   )r   s    úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/io/json/_normalize.pyÚconvert_to_line_delimitsr   '   s=   € ð ˆQŒ4�3Š;ˆ;˜1˜Rœ5 Cš<˜<ØˆØ	ˆ!ˆBˆ$Œ€Aå  Ñ#Ô#Ð#ó    .ÚdsÚdictÚprefixÚsepÚlevelÚintÚ	max_levelú
int | Noneúdict[str, Any]c                ó   — d S ©N© ©r   r    r!   r"   r$   s        r   Únested_to_recordr+   4   s	   € ð �Sr   ú
list[dict]úlist[dict[str, Any]]c                ó   — d S r(   r)   r*   s        r   r+   r+   >   s	   € ð ˜3r   Ú ú.údict | list[dict]ú%dict[str, Any] | list[dict[str, Any]]c                óH  — d}t          | t          ¦  «        r| g} d}g }| D ]ö}t          j        |¦  «        }|                     ¦   «         D ]¶\  }	}
t          |	t
          ¦  «        st          |	¦  «        }	|dk    r|	}n||z   |	z   }t          |
t          ¦  «        r|�'||k    r!|dk    r|                     |	¦  «        }
|
||<   Œx|                     |	¦  «        }
|                     t          |
|||dz   |¦  «        ¦  «         Œ·| 	                    |¦  «         Œ÷|r|d         S |S )a�  
    A simplified json_normalize

    Converts a nested dict into a flat dict ("record"), unlike json_normalize,
    it does not attempt to extract a subset of the data.

    Parameters
    ----------
    ds : dict or list of dicts
    prefix: the prefix, optional, default: ""
    sep : str, default '.'
        Nested records will generate names separated by sep,
        e.g., for sep='.', { 'foo' : { 'bar' : 0 } } -> foo.bar
    level: int, optional, default: 0
        The number of levels in the json string.

    max_level: int, optional, default: None
        The max depth to normalize.

    Returns
    -------
    d - dict or list of dicts, matching `ds`

    Examples
    --------
    >>> nested_to_record(
    ...     dict(flat1=1, dict1=dict(c=1, d=2), nested=dict(e=dict(c=1, d=2), d=2))
    ... )
    {'flat1': 1, 'dict1.c': 1, 'dict1.d': 2, 'nested.e.c': 1, 'nested.e.d': 2, 'nested.d': 2}
    FTr   Nr   )
Ú
isinstancer   ÚcopyÚdeepcopyÚitemsr   ÚpopÚupdater+   Úappend)r   r    r!   r"   r$   Ú	singletonÚnew_dsÚdÚnew_dÚkÚvÚnewkeys               r   r+   r+   H   sP  € ðX €IÝ�"•dÑÔð ØˆTˆØˆ	Ø€FØð ð ˆÝ”˜aÑ Ô ˆØ—G’G‘I”Ið 	Qð 	Q‰DˆAˆqå˜a¥Ñ%Ô%ð Ý˜‘F”F�Ø˜ŠzˆzØ��à #™¨Ñ)�õ ˜a¥Ñ&Ô&ð ØÐ%¨%°9Ò*<Ð*<à˜A’:�:ØŸ	š	 !™œ�AØ$%�E˜&‘MØà—	’	˜!‘”ˆAØ�LŠLÕ)¨!¨V°S¸%À!¹)ÀYÑOÔOÑPÔPÐPÐPØ�Š�eÑÔÐÐàð Ø�aŒyÐØ€Mr   Údatar   Ú
key_stringÚnormalized_dictÚ	separatorc                óÔ   — t          | t          ¦  «        rM|                      ¦   «         D ]7\  }}|› |› |› �}|s|                     |¦  «        }t	          ||||¬¦  «         Œ8n| ||<   |S )a3  
    Main recursive function
    Designed for the most basic use case of pd.json_normalize(data)
    intended as a performance improvement, see #15621

    Parameters
    ----------
    data : Any
        Type dependent on types contained within nested Json
    key_string : str
        New key (with separator(s) in) for data
    normalized_dict : dict
        The new normalized/flattened Json dict
    separator : str, default '.'
        Nested records will generate names separated by sep,
        e.g., for sep='.', { 'foo' : { 'bar' : 0 } } -> foo.bar
    ©rB   rC   rD   rE   )r4   r   r7   ÚremoveprefixÚ_normalize_json)rB   rC   rD   rE   ÚkeyÚvalueÚnew_keys          r   rI   rI   ™   s    € õ. �$�ÑÔð +ØŸ*š*™,œ,ð 	ð 	‰JˆC�Ø#Ð5 YÐ5°Ð5Ð5ˆGàð :Ø!×.Ò.¨yÑ9Ô9�åØØ"Ø /Ø#ð	ñ ô ð ð ð	ð '+ˆ˜
Ñ#ØÐr   c                ó¨   — d„ |                       ¦   «         D ¦   «         }t          d„ |                       ¦   «         D ¦   «         di |¬¦  «        }i |¥|¥S )aw  
    Order the top level keys and then recursively go to depth

    Parameters
    ----------
    data : dict or list of dicts
    separator : str, default '.'
        Nested records will generate names separated by sep,
        e.g., for sep='.', { 'foo' : { 'bar' : 0 } } -> foo.bar

    Returns
    -------
    dict or list of dicts, matching `normalized_json_object`
    c                óD   — i | ]\  }}t          |t          ¦  «        °||“ŒS r)   ©r4   r   ©Ú.0r?   r@   s      r   ú
<dictcomp>z+_normalize_json_ordered.<locals>.<dictcomp>Ñ   s-   € ÐJÐJÐJ™$˜!˜QµjÀÅDÑ6IÔ6IÐJ��AÐJÐJÐJr   c                óD   — i | ]\  }}t          |t          ¦  «        ¯||“ŒS r)   rO   rP   s      r   rR   z+_normalize_json_ordered.<locals>.<dictcomp>Ó   s-   € ÐCÐCÐC‘t�q˜!­z¸!½TÑ/BÔ/BÐCˆa�ÐCÐCÐCr   r/   rG   )r7   rI   )rB   rE   Ú	top_dict_Únested_dict_s       r   Ú_normalize_json_orderedrV   Â   sh   € ð KÐJ $§*¢*¡,¤,ÐJÑJÔJ€IÝ"ØCÐC˜tŸzšz™|œ|ÐCÑCÔCØØØð	ñ ô €Lð )ˆiÐ(˜<Ð(Ð(r   údict | list[dict] | Anyc                ó¤   ‡— i }t          | t          ¦  «        rt          | ‰¬¦  «        }n%t          | t          ¦  «        rˆfd„| D ¦   «         }|S |S )a™  
    An optimized basic json_normalize

    Converts a nested dict into a flat dict ("record"), unlike
    json_normalize and nested_to_record it doesn't do anything clever.
    But for the most basic use cases it enhances performance.
    E.g. pd.json_normalize(data)

    Parameters
    ----------
    ds : dict or list of dicts
    sep : str, default '.'
        Nested records will generate names separated by sep,
        e.g., for sep='.', { 'foo' : { 'bar' : 0 } } -> foo.bar

    Returns
    -------
    frame : DataFrame
    d - dict or list of dicts, matching `normalized_json_object`

    Examples
    --------
    >>> _simple_json_normalize(
    ...     {
    ...         "flat1": 1,
    ...         "dict1": {"c": 1, "d": 2},
    ...         "nested": {"e": {"c": 1, "d": 2}, "d": 2},
    ...     }
    ... )
    {'flat1': 1, 'dict1.c': 1, 'dict1.d': 2, 'nested.e.c': 1, 'nested.e.d': 2, 'nested.d': 2}

    )rB   rE   c                ó2   •— g | ]}t          |‰¬ ¦  «        ‘ŒS )©r!   )Ú_simple_json_normalize)rQ   Úrowr!   s     €r   ú
<listcomp>z*_simple_json_normalize.<locals>.<listcomp>  s'   ø€ ÐSÐSÐSÈÕ 6°sÀÐ DÑ DÔ DÐSÐSÐSr   )r4   r   rV   Úlist)r   r!   Únormalized_json_objectÚnormalized_json_lists    `  r   r[   r[   Û   sm   ø€ ðV  Ðå�"•dÑÔð $Ý!8¸bÈCÐ!PÑ!PÔ!PÐÐÝ	�B�Ñ	Ô	ð $ØSÐSÐSÐSÐPRÐSÑSÔSÐØ#Ð#Ø!Ð!r   Úmetaú"str | list[str | list[str]] | NoneÚNonec                ól  — | €dS t          | t          ¦  «        rdS | D ]•}t          |t          ¦  «        rB|D ]>}t          |t          ¦  «        s't          dt	          |¦  «        j        › d|›�¦  «        ‚Œ?ŒYt          |t          ¦  «        s't          dt	          |¦  «        j        › d|›�¦  «        ‚Œ–dS )aD  
    Validate that meta parameter contains only strings or lists of strings.
    Parameters
    ----------
    meta : str or list of str or list of list of str or None
        The meta parameter to validate.
    Raises
    ------
    TypeError
        If meta contains elements that are not strings or lists of strings.
    Nz9All elements in nested meta paths must be strings. Found z: zBAll elements in 'meta' must be strings or lists of strings. Found )r4   r   r^   Ú	TypeErrorÚtypeÚ__name__)ra   ÚitemÚsubitems      r   Ú_validate_metarj     s  € ð €|ØˆÝ�$�ÑÔð ØˆØð ð ˆÝ�d�DÑ!Ô!ð 	Øð ð �Ý! '­3Ñ/Ô/ð Ý#ðGÝ!% g¡¤Ô!7ðGð GØ;BðGð Gñô ð ððõ ˜D¥#Ñ&Ô&ð 	Ýð9Ý˜d™œÔ,ð9ð 9Ø04ð9ð 9ñô ð ð	ðð r   ÚpandasÚraiseúdict | list[dict] | SeriesÚrecord_pathústr | list | NoneÚmeta_prefixú
str | NoneÚrecord_prefixÚerrorsr   r   c                ó¤  ‡‡‡‡‡‡‡‡‡‡‡‡— t          |¦  «         	 d"d#ˆfd
„Šd$ˆfd„Št          | t          ¦  «        r| j        }nd}t          | t          ¦  «        r| st          ¦   «         S t          | t          ¦  «        r| g} n¿t          | t          j        ¦  «        ržt          | t          ¦  «        s‰t	          | ¦  «        } t          | ¦  «        D ]i\  }	}
t          |
t          ¦  «        rŒt          |
¦  «        rt          j        |
¦  «        ri | |	<   ŒDdt          |
¦  «        j        › �}t!          |¦  «        ‚nt"          ‚|€(|€&|€$‰€"‰€ t          t%          | ‰¬¦  «        |¬¦  «        S |€Yt'          d„ | D ¦   «         ¦  «        rt)          | ‰‰¬¦  «        } t          | |¬¦  «        }‰�|                     ˆfd„¬¦  «        }|S t          |t          ¦  «        s|g}|€g }nt          |t          ¦  «        s|g}d„ |D ¦   «         Šg Šg Št-          t          ¦  «        Šˆfd„‰D ¦   «         Šd%d&ˆˆˆˆˆˆˆˆˆˆf
d„Š ‰| |i d¬¦  «         t          ‰¦  «        }‰�|                     ˆfd„¬¦  «        }‰                     ¦   «         D ]¤\  }}|�||z   }||v rt1          d|› d�¦  «        ‚t3          j        |t6          ¬ ¦  «        }|j        d!k    rCt3          j        t=          |¦  «        ft6          ¬ ¦  «        }t          |¦  «        D ]
\  }	}|||	<   Œ|                     ‰¦  «        ||<   Œ¥|�|                     ‰¦  «        |_        |S )'a>  
    Normalize semi-structured JSON data into a flat table.

    This method is designed to transform semi-structured JSON data, such as nested
    dictionaries or lists, into a flat table. This is particularly useful when
    handling JSON-like data structures that contain deeply nested fields.

    Parameters
    ----------
    data : dict, list of dicts, or Series of dicts
        Unserialized JSON objects.
    record_path : str or list of str, default None
        Path in each object to list of records. If not passed, data will be
        assumed to be an array of records.
    meta : list of paths (str or list of str), default None
        Fields to use as metadata for each record in resulting table.
    meta_prefix : str, default None
        String to prefix records with dotted path, e.g. foo.bar.field if
        meta is ['foo', 'bar'].
    record_prefix : str, default None
        String to prefix records with dotted path, e.g. foo.bar.field if
        path to records is ['foo', 'bar'].
    errors : {'raise', 'ignore'}, default 'raise'
        Configures error handling.

        * 'ignore' : will ignore KeyError if keys listed in meta are not
          always present.
        * 'raise' : will raise KeyError if keys listed in meta are not
          always present.
    sep : str, default '.'
        Nested records will generate names separated by sep.
        e.g., for sep='.', {'foo': {'bar': 0}} -> foo.bar.
    max_level : int, default None
        Max number of levels(depth of dict) to normalize.
        if None, normalizes all levels.

    Returns
    -------
    DataFrame
        The normalized data, represented as a pandas DataFrame.

    See Also
    --------
    DataFrame : Two-dimensional, size-mutable, potentially heterogeneous tabular data.
    Series : One-dimensional ndarray with axis labels (including time series).

    Examples
    --------
    >>> data = [
    ...     {"id": 1, "name": {"first": "Coleen", "last": "Volk"}},
    ...     {"name": {"given": "Mark", "family": "Regner"}},
    ...     {"id": 2, "name": "Faye Raker"},
    ... ]
    >>> pd.json_normalize(data)
        id name.first name.last name.given name.family        name
    0  1.0     Coleen      Volk        NaN         NaN         NaN
    1  NaN        NaN       NaN       Mark      Regner         NaN
    2  2.0        NaN       NaN        NaN         NaN  Faye Raker

    >>> data = [
    ...     {
    ...         "id": 1,
    ...         "name": "Cole Volk",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ...     {"name": "Mark Reg", "fitness": {"height": 130, "weight": 60}},
    ...     {
    ...         "id": 2,
    ...         "name": "Faye Raker",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ... ]
    >>> pd.json_normalize(data, max_level=0)
        id        name                        fitness
    0  1.0   Cole Volk  {'height': 130, 'weight': 60}
    1  NaN    Mark Reg  {'height': 130, 'weight': 60}
    2  2.0  Faye Raker  {'height': 130, 'weight': 60}

    Normalizes nested data up to level 1.

    >>> data = [
    ...     {
    ...         "id": 1,
    ...         "name": "Cole Volk",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ...     {"name": "Mark Reg", "fitness": {"height": 130, "weight": 60}},
    ...     {
    ...         "id": 2,
    ...         "name": "Faye Raker",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ... ]
    >>> pd.json_normalize(data, max_level=1)
        id        name  fitness.height  fitness.weight
    0  1.0   Cole Volk             130              60
    1  NaN    Mark Reg             130              60
    2  2.0  Faye Raker             130              60

    >>> data = [
    ...     {
    ...         "id": 1,
    ...         "name": "Cole Volk",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ...     {"name": "Mark Reg", "fitness": {"height": 130, "weight": 60}},
    ...     {
    ...         "id": 2,
    ...         "name": "Faye Raker",
    ...         "fitness": {"height": 130, "weight": 60},
    ...     },
    ... ]
    >>> series = pd.Series(data, index=pd.Index(["a", "b", "c"]))
    >>> pd.json_normalize(series)
        id        name  fitness.height  fitness.weight
    a  1.0   Cole Volk             130              60
    b  NaN    Mark Reg             130              60
    c  2.0  Faye Raker             130              60

    >>> data = [
    ...     {
    ...         "state": "Florida",
    ...         "shortname": "FL",
    ...         "info": {"governor": "Rick Scott"},
    ...         "counties": [
    ...             {"name": "Dade", "population": 12345},
    ...             {"name": "Broward", "population": 40000},
    ...             {"name": "Palm Beach", "population": 60000},
    ...         ],
    ...     },
    ...     {
    ...         "state": "Ohio",
    ...         "shortname": "OH",
    ...         "info": {"governor": "John Kasich"},
    ...         "counties": [
    ...             {"name": "Summit", "population": 1234},
    ...             {"name": "Cuyahoga", "population": 1337},
    ...         ],
    ...     },
    ... ]
    >>> result = pd.json_normalize(
    ...     data, "counties", ["state", "shortname", ["info", "governor"]]
    ... )
    >>> result
             name  population    state shortname info.governor
    0        Dade       12345   Florida    FL    Rick Scott
    1     Broward       40000   Florida    FL    Rick Scott
    2  Palm Beach       60000   Florida    FL    Rick Scott
    3      Summit        1234   Ohio       OH    John Kasich
    4    Cuyahoga        1337   Ohio       OH    John Kasich

    >>> data = {"A": [1, 2]}
    >>> pd.json_normalize(data, "A", record_prefix="Prefix.")
        Prefix.0
    0          1
    1          2

    Returns normalized data with columns prefixed with the given string.
    FÚjsr&   Úspecú
list | strÚextract_recordÚboolr   úScalar | Iterablec                ó4  •— | }	 t          |t          ¦  «        r|D ]}|€t          |¦  «        ‚||         }Œn||         }nV# t          $ rI}|rt          d|› d�¦  «        |‚‰dk    rt          j        cY d}~S t          d|› d|› d�¦  «        |‚d}~ww xY w|S )zInternal function to pull fieldNzKey zS not found. If specifying a record_path, all elements of data should have the path.Úignorez) not found. To replace missing values of z% with np.nan, pass in errors='ignore')r4   r^   ÚKeyErrorÚnpÚnan)ru   rv   rx   ÚresultÚfieldÚers   s         €r   Ú_pull_fieldz#json_normalize.<locals>._pull_fieldÛ  s  ø€ ð ˆð	Ý˜$¥Ñ%Ô%ð &Ø!ð +ð +�EØ�~Ý& u™oœoÐ-Ø# Eœ]�F�Fð+ð
   œ�øøÝð 	ð 	ð 	Øð Ýð2˜1ð 2ð 2ð 2ñô ð ðð ˜Ò!Ð!Ý”v������åð7˜1ð 7ð 7Àqð 7ð 7ð 7ñô ð ðøøøøð	øøøð ˆs#   …<A Á
BÁ'BÁ3BÁ9BÂBr^   c                óÊ   •—  ‰| |d¬¦  «        }t          |t          ¦  «        s>t          j        |¦  «        rg }n't	          dt          |¦  «        j        › d|›�¦  «        ‚|S )z¶
        Internal function to pull field for records, and similar to
        _pull_field, but require to return list. And will raise error
        if has non iterable value.
        T)rx   z(Path must contain list or null, but got z at )r4   r^   ÚpdÚisnullre   rf   rg   )ru   rv   r€   rƒ   s      €r   Ú_pull_recordsz%json_normalize.<locals>._pull_recordsø  sŽ   ø€ ð �˜R °dÐ;Ñ;Ô;ˆõ ˜&¥$Ñ'Ô'ð 	ÝŒy˜Ñ Ô ð Ø��åðCÝ# F™|œ|Ô4ðCð CØ:>ðCð Cñô ð ð ˆr   Nz9All items in data must be of type dict or NA-like, found rZ   )Úindexc              3  óR   K  — | ]"}d „ |                      ¦   «         D ¦   «         V — Œ#dS )c                ó8   — g | ]}t          |t          ¦  «        ‘ŒS r)   rO   )rQ   Úxs     r   r]   z,json_normalize.<locals>.<genexpr>.<listcomp>5  s"   € Ð8Ð8Ð8¨•
˜1�dÑ#Ô#Ð8Ð8Ð8r   N)Úvalues)rQ   Úys     r   ú	<genexpr>z!json_normalize.<locals>.<genexpr>5  s9   è è € ÐGÐG¸QÐ8Ð8¨Q¯XªX©Z¬ZÐ8Ñ8Ô8ÐGÐGÐGÐGÐGÐGr   ©r!   r$   c                ó   •— ‰› | › �S r(   r)   ©r‹   rr   s    €r   ú<lambda>z json_normalize.<locals>.<lambda>@  s   ø€ ¸Ð5JÀqÐ5JÐ5J€ r   )Úcolumnsc                óB   — g | ]}t          |t          ¦  «        r|n|g‘ŒS r)   )r4   r^   )rQ   Úms     r   r]   z"json_normalize.<locals>.<listcomp>J  s-   € Ð=Ð=Ð=°1•*˜Q¥Ñ%Ô%Ð.ˆQˆQ¨A¨3Ð=Ð=Ð=r   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r)   )Újoin)rQ   Úvalr!   s     €r   r]   z"json_normalize.<locals>.<listcomp>Q  s#   ø€ Ð0Ð0Ð0 3�—’˜#‘”Ð0Ð0Ð0r   r   r"   r#   rc   c                óÄ  •
— t          | t          ¦  «        r| g} t          |¦  «        dk    rp| D ]k}t          ‰	‰d¬¦  «        D ]0\  }}|dz   t          |¦  «        k    r ‰
||d         ¦  «        ||<   Œ1 ‰||d                  |dd …         ||dz   ¬¦  «         Œld S | D ]À} ‰||d         ¦  «        }ˆˆfd„|D ¦   «         }‰                     t          |¦  «        ¦  «         t          ‰	‰d¬¦  «        D ]S\  }}|dz   t          |¦  «        k    r	||         }n ‰
|||d …         ¦  «        }‰|                              |¦  «         ŒT‰                     |¦  «         ŒÁd S )Nr   T)Ústrictr   r   ©r"   c                ób   •— g | ]+}t          |t          ¦  «        rt          |‰‰¬ ¦  «        n|‘Œ,S )r�   )r4   r   r+   )rQ   Úrr$   r!   s     €€r   r]   z>json_normalize.<locals>._recursive_extract.<locals>.<listcomp>`  sR   ø€ ð ð ð ð õ " !¥TÑ*Ô*ðÕ$ Q¨C¸9ÐEÑEÔEÐEàðð ð r   )r4   r   ÚlenÚzipr:   Úextend)rB   ÚpathÚ	seen_metar"   Úobjr˜   rJ   ÚrecsÚmeta_valÚ_metarƒ   r‡   Ú_recursive_extractÚlengthsr$   Ú	meta_keysÚ	meta_valsÚrecordsr!   s            €€€€€€€€€€r   r§   z*json_normalize.<locals>._recursive_extractS  sÑ  ø€ Ý�d�DÑ!Ô!ð 	Ø�6ˆDÝˆt‰9Œ9�qŠ=ˆ=Øð Wð W�Ý # E¨9¸TÐ BÑ BÔ Bð Cð C‘H�C˜Ø˜q‘y¥C¨¡H¤HÒ,Ð,Ø)4¨°S¸#¸b¼'Ñ)BÔ)B˜	 #™øà"Ð" 3 t¨A¤w¤<°°a°b°b´¸9ÈEÐTUÉIÐVÑVÔVÐVÐVðWð Wð ð %ð %�Ø$�} S¨$¨q¬'Ñ2Ô2�ðð ð ð ð ð "ð	ñ ô �ð —’�s 4™yœyÑ)Ô)Ð)Ý # E¨9¸TÐ BÑ BÔ Bð 4ð 4‘H�C˜Ø˜q‘y¥3 s¡8¤8Ò+Ð+Ø#,¨S¤>˜˜à#. ;¨s°C¸¸¸´KÑ#@Ô#@˜Ø˜c”N×)Ò)¨(Ñ3Ô3Ð3Ð3Ø—’˜tÑ$Ô$Ð$Ð$ð#%ð %r   r›   c                ó   •— ‰› | › �S r(   r)   r‘   s    €r   r’   z json_normalize.<locals>.<lambda>v  s   ø€ °MÐ1FÀ1Ð1FÐ1F€ r   zConflicting metadata name z, need distinguishing prefix )Údtyper   )F)ru   r&   rv   rw   rx   ry   r   rz   )ru   r&   rv   rw   r   r^   )r   )r"   r#   r   rc   ) rj   r4   r   rˆ   r^   r   r   r   r   r   Ú	enumerater   r…   Úisnarf   rg   re   ÚNotImplementedErrorr[   Úanyr+   Úrenamer   r7   Ú
ValueErrorr~   ÚarrayÚobjectÚndimÚemptyrž   Úrepeat)rB   rn   ra   rp   rr   rs   r!   r$   rˆ   Úirh   Úmsgr€   r?   r@   rŒ   r˜   r¦   rƒ   r‡   r§   r¨   r©   rª   r«   s       ````         @@@@@@@@r   Újson_normalizer»   /  sL  øøøøøøøøøøøø€ õT �4ÑÔÐð FKðð ð ð ð ð ð ð:ð ð ð ð ð õ( �$�ÑÔð Ø”
ˆˆàˆå�$�ÑÔð " dð "Ý‰{Œ{ÐÝ	�D�$Ñ	Ô	ð "àˆvˆˆÝ	�D�#œ,Ñ	'Ô	'ð "µ
¸4ÅÑ0EÔ0Eð "õ �D‰zŒzˆÝ  ‘”ð 
	%ð 
	%‰GˆAˆtÝ˜$¥Ñ%Ô%ð ØÝ˜‰Œð %¥2¤7¨4¡=¤=ð %Ø��Q‘�ð3Ý! $™ZœZÔ0ð3ð 3ð õ   ‘n”nÐ$ð
	%õ "Ð!ð 	ÐØˆLØÐØÐ!ØÐåÕ/°¸#Ð>Ñ>Ô>ÀeÐLÑLÔLÐLàÐÝÐGÐGÀ$ÐGÑGÔGÑGÔGð 	Hõ $ D¨c¸YÐGÑGÔGˆDÝ˜4 uÐ-Ñ-Ô-ˆØÐ$Ø—]’]Ð+JÐ+JÐ+JÐ+J�]ÑKÔKˆFØˆÝ˜¥TÑ*Ô*ð $Ø"�mˆà€|ØˆˆÝ˜�dÑ#Ô#ð Øˆvˆà=Ð=¸Ð=Ñ=Ô=€Eð €GØ€Gå(­Ñ.Ô.€IØ0Ð0Ð0Ð0¨%Ð0Ñ0Ô0€Ið%ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð< Ð�t˜[¨"°AÐ6Ñ6Ô6Ð6å�wÑÔ€FàÐ Ø—’Ð'FÐ'FÐ'FÐ'F�ÑGÔGˆð —’Ñ!Ô!ð +ð +‰ˆˆ1ØÐ"Ø˜a‘ˆAà�ˆ;ˆ;ÝØM¨QÐMÐMÐMñô ð õ
 ”˜!¥6Ð*Ñ*Ô*ˆàŒ;˜Š?ˆ?å”X�s 1™vœv˜i­vÐ6Ñ6Ô6ˆFÝ# A™,œ,ð  ð  ‘��3Ø��q‘	�	à—M’M 'Ñ*Ô*ˆˆq‰	ˆ	ØÐØ—|’| GÑ,Ô,ˆŒØ€Mr   )r   r   r   r   )....)r   r   r    r   r!   r   r"   r#   r$   r%   r   r&   )r   r,   r    r   r!   r   r"   r#   r$   r%   r   r-   )r/   r0   r   N)r   r1   r    r   r!   r   r"   r#   r$   r%   r   r2   )
rB   r   rC   r   rD   r&   rE   r   r   r&   )rB   r&   rE   r   r   r&   )r0   )r   r1   r!   r   r   rW   )ra   rb   r   rc   )NNNNrl   r0   N)rB   rm   rn   ro   ra   rb   rp   rq   rr   rq   rs   r   r!   r   r$   r%   r   r   )#Ú
__future__r   Úcollectionsr   r   r5   Útypingr   r   r   r	   Únumpyr~   Úpandas._libs.writersr   Úpandas.util._decoratorsr   Úpandas.core.dtypes.commonr   rk   r…   r   r   Úcollections.abcr   Úpandas._typingr   r   r   r+   rI   rV   r[   rj   r»   r)   r   r   ú<module>rÅ      sŸ  ðð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð €€€ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø .Ð .Ð .Ð .Ð .Ð .à /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð ðð ð ð ð ð ð ð ð
 ð Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ð ð ð ð ð
$ð 
$ð 
$ð 
$ð 
ð ØØØðð ð ð ñ 
„ðð 
ð ØØØðð ð ð ñ 
„ðð ØØØ ðNð Nð Nð Nð Nðb&ð &ð &ð &ðR)ð )ð )ð )ð6 ð2"ð 2"ð 2"ð 2"ð 2"ðjð ð ð ð> €ˆHÑÔð &*Ø/3Ø"Ø $Ø!ØØ ð^ð ^ð ^ð ^ñ Ôð^ð ^ð ^r   