§
    ZŠtjà  ã                   óŠ  — d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ  ee¦  «        Zd
ee         dedee         fd„Zd
ee         dedededee         f
d„Z G d„ dej        ¦  «        Zdeeef         dee         fd„Z deej!                 dz  dej!        dz  fd„Z"dS )é    )ÚIterableÚIteratorÚMapping)Ú	getLogger)Úsplit)Ú
quote_plusÚunquote_plus)Ú_is_valid_pairÚget_allÚset_baggage)Úget_current)ÚContext)Útextmap)Ú_DELIMITER_PATTERNÚentriesÚmax_pair_lengthÚreturnc              #   ód  K  — | D ]ª}|sŒ|                      ¦   «         s6t                               d|                     dd¦  «        d         ¦  «         ŒOt	          |¦  «        |k    rDt                               d|                     dd¦  «        d         t	          |¦  «        ¦  «         Œ¦|V — Œ«d S )Nz9Baggage entry with key `%s` contains non-ASCII charactersú=é   r   z_Baggage entry with key `%s` exceeded the maximum number of bytes per list-member with length %d)ÚisasciiÚ_loggerÚwarningr   Úlen)r   r   Úentrys      úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/opentelemetry/baggage/propagation/__init__.pyÚ_filter_valid_entriesr      sÉ   è è € ð ð ð ˆØð 	ØØ�}Š}‰Œð 	Ý�OŠOØKØ—’˜C Ñ#Ô# AÔ&ñô ð ð Ýˆu‰:Œ:˜Ò'Ð'Ý�OŠOØqØ—’˜C Ñ#Ô# AÔ&Ý�E‘
”
ñô ð ð
 Øˆˆˆˆð!ð ó    Ú	max_pairsÚmax_header_lengthc              #   ó"  K  — d}t          t          | |¦  «        ¦  «        D ]l\  }}||k    rt                               d¦  «          dS ||dk    rdndt	          |¦  «        z   z  }||k    rt                               d¦  «          dS |V — ŒmdS )z²Apply W3C Baggage size limits to a sequence of baggage entries.

    Yields entries that fit within the W3C specification limits.
    Logs warnings when entries are dropped.
    r   z3Baggage exceeded the maximum number of list-membersNr   z?Baggage exceeded the maximum number of bytes per baggage-string)Ú	enumerater   r   r   r   )r   r   r   r    ÚlengthÚindexr   s          r   Ú_apply_baggage_limitsr%   )   sÊ   è è € ð €FÝ!Ý˜g Ñ7Ô7ñô ð ð ‰ˆˆuð �IÒÐÝ�OŠOØEñô ð ð ˆFˆFà˜ š	˜	�1�1 q­C°©J¬JÑ6Ñ6ˆØÐ%Ò%Ð%Ý�OŠOØQñô ð ð ˆFˆFØˆˆˆˆðð r   c            	       óú   — e Zd ZdZdZdZdZdZdej	        fdej
        dedz  d	ej        ej
                 d
efd„Zdej        fdej
        dedz  dej        ej
                 d
dfd„Zed
ee         fd„¦   «         ZdS )ÚW3CBaggagePropagatorzAExtracts and injects Baggage which is used to annotate telemetry.i    i   é´   ÚbaggageNÚcarrierÚcontextÚgetterr   c                 ó  — |€t          ¦   «         }t          |                     || j        ¦  «        ¦  «        }|s|S t	          |                     ¦   «         ¦  «        | j        k    rt                               d|¦  «         |S t          t          |¦  «        }t          || j        | j        | j        ¬¦  «        D ]È}	 | 	                    dd¦  «        \  }}n+# t          $ r t                               d|¦  «         Y ŒDw xY wt          ||¦  «        st                               d|¦  «         Œtt!          |¦  «                             ¦   «         }t!          |¦  «                             ¦   «         }t%          |||¬¦  «        }ŒÉ|S )	z}Extract Baggage from the carrier.

        See
        `opentelemetry.propagators.textmap.TextMapPropagator.extract`
        NzKBaggage header `%s` exceeded the maximum number of bytes per baggage-string©r   r   r    r   r   z1Baggage list-member `%s` doesn't match the formatzInvalid baggage entry: `%s`©r+   )r   Ú_extract_first_elementÚgetÚ_BAGGAGE_HEADER_NAMEr   ÚencodeÚ_MAX_HEADER_LENGTHr   r   r   r   r%   Ú
_MAX_PAIRSÚ_MAX_PAIR_LENGTHÚ	Exceptionr
   r	   Ústripr   )	Úselfr*   r+   r,   ÚheaderÚbaggage_entriesr   ÚnameÚvalues	            r   ÚextractzW3CBaggagePropagator.extractO   s¦  € ð ˆ?Ý!‘m”mˆGå'Ø�JŠJ�w Ô 9Ñ:Ô:ñ
ô 
ˆð ð 	ØˆNåˆv�}Š}‰ŒÑÔ $Ô"9Ò9Ð9Ý�OŠOØ]Øñô ð ð ˆNåÕ 2°FÑ;Ô;ˆå*ØØ”oØ Ô1Ø"Ô5ð	
ñ 
ô 
ð 	ð 	ˆEðØ#Ÿkšk¨#¨qÑ1Ô1‘��e�eøÝð ð ð Ý—’ØGÈñô ð ð �ð	øøøõ " $¨Ñ.Ô.ð Ý—’Ð =¸uÑEÔEÐEØå Ñ%Ô%×+Ò+Ñ-Ô-ˆDÝ  Ñ'Ô'×-Ò-Ñ/Ô/ˆEå!ØØØðñ ô ˆGˆGð ˆs   Â>CÃ%D Ã?D Úsetterc                 óò   — t          |¬¦  «        }|sdS d                     t          t          |¦  «        | j        | j        | j        ¬¦  «        ¦  «        }|r|                     || j        |¦  «         dS dS )z|Injects Baggage into the carrier.

        See
        `opentelemetry.propagators.textmap.TextMapPropagator.inject`
        r/   Nú,r.   )	r   Újoinr%   Ú_encode_baggage_pairsr5   r6   r4   Úsetr2   )r9   r*   r+   r?   r;   Úbaggage_strings         r   ÚinjectzW3CBaggagePropagator.inject‹   s˜   € õ "¨'Ð2Ñ2Ô2ˆØð 	ØˆFàŸšÝ!Ý% oÑ6Ô6Øœ/Ø $Ô 5Ø"&Ô"9ð	ñ ô ñ
ô 
ˆð ð 	KØ�JŠJ�w Ô 9¸>ÑJÔJÐJÐJÐJð	Kð 	Kr   c                 ó   — | j         hS )z.Returns a set with the fields set in `inject`.)r2   )r9   s    r   ÚfieldszW3CBaggagePropagator.fields¦   s   € ð Ô)Ð*Ð*r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   r6   r5   r2   r   Údefault_getterÚCarrierTr   ÚGetterr>   Údefault_setterÚSetterrF   ÚpropertyrD   ÚstrrH   © r   r   r'   r'   G   s  € € € € € ØKÐKàÐØÐØ€JØ$Ðð
 #'Ø3:Ô3Ið	:ð :àÔ!ð:ð ˜4‘ð:ð ”˜wÔ/Ô0ð	:ð
 
ð:ð :ð :ð :ð~ #'Ø3:Ô3Ið	Kð KàÔ!ðKð ˜4‘ðKð ”˜wÔ/Ô0ð	Kð
 
ðKð Kð Kð Kð6 ð+˜˜Cœð +ð +ð +ñ „Xð+ð +ð +r   r'   r;   c              #   óº   K  — |                       ¦   «         D ]C\  }}t          t          |¦  «        ¦  «        dz   t          t          |¦  «        ¦  «        z   V — ŒDdS )z9Yield URL-encoded 'key=value' pairs from baggage entries.r   N)Úitemsr   rS   )r;   Úkeyr=   s      r   rC   rC   ¬   sj   è è € ð &×+Ò+Ñ-Ô-ð Bð B‰
ˆˆUÝ�˜S™œÑ"Ô" SÑ(­:µc¸%±j´jÑ+AÔ+AÑAÐAÐAÐAÐAðBð Br   rV   Nc                 óD   — | €d S t          t          | ¦  «        d ¦  «        S )N)ÚnextÚiter)rV   s    r   r0   r0   ´   s$   € ð €}ØˆtÝ•�U‘”˜TÑ"Ô"Ð"r   )#Úcollections.abcr   r   r   Úloggingr   Úrer   Úurllib.parser   r	   Úopentelemetry.baggager
   r   r   Úopentelemetry.contextr   Úopentelemetry.context.contextr   Úopentelemetry.propagatorsr   Úopentelemetry.util.rer   rI   r   rS   Úintr   r%   ÚTextMapPropagatorr'   ÚobjectrC   rN   r0   rT   r   r   ú<module>rg      s  ðð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ -Ð -Ð -Ð -Ð -Ð -Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø -Ð -Ð -Ð -Ð -Ð -Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à
ˆ)�HÑ
Ô
€ðØ�cŒ]ðàðð ˆc„]ðð ð ð ð.Ø�cŒ]ðàðð ðð ð	ð
 ˆc„]ðð ð ð ð<b+ð b+ð b+ð b+ð b+˜7Ô4ñ b+ô b+ð b+ðJBØ˜S &˜[Ô)ðBàˆc„]ðBð Bð Bð Bð#Ø�GÔ$Ô%¨Ñ,ð#àÔ˜Ñð#ð #ð #ð #ð #ð #r   