+
    AžÀjŸ  ã                   ór  a € R t0 t R t^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ]! ]4      tR]P                  3R R lltR]P"                  3R	 R
 lltR R lt]! 4       s] ^ k . t] ^k ]P,                  ! ]	R4      t]P1                  R4       F  t]P5                  4       tK  	  R R ltR R ltR# )aÿ  
API for propagation of context.

The propagators for the
``opentelemetry.propagators.composite.CompositePropagator`` can be defined
via configuration in the ``OTEL_PROPAGATORS`` environment variable. This
variable should be set to a comma-separated string of names of values for the
``opentelemetry_propagator`` entry point. For example, setting
``OTEL_PROPAGATORS`` to ``tracecontext,baggage`` (which is the default value)
would instantiate
``opentelemetry.propagators.composite.CompositePropagator`` with 2
propagators, one of type
``opentelemetry.trace.propagation.tracecontext.TraceContextTextMapPropagator``
and other of type ``opentelemetry.baggage.propagation.W3CBaggagePropagator``.
Notice that these propagator classes are defined as
``opentelemetry_propagator`` entry points in the ``pyproject.toml`` file of
``opentelemetry``.

Example::

    import flask
    import requests
    from opentelemetry import propagate


    PROPAGATOR = propagate.get_global_textmap()


    def get_header_from_flask_request(request, key):
        return request.headers.get_all(key)


    def set_header_into_requests_request(request: requests.Request, key: str, value: str):
        request.headers[key] = value


    def example_route():
        context = PROPAGATOR.extract(get_header_from_flask_request, flask.request)
        request_to_downstream = requests.Request("GET", "http://httpbin.org/get")
        PROPAGATOR.inject(
            set_header_into_requests_request,
            request_to_downstream,
            context=context,
        )
        session = requests.Session()
        session.send(request_to_downstream.prepare())


.. _Propagation API Specification:
    https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/api-propagators.md
)Ú	getLogger)Úenviron)ÚContext)ÚOTEL_PROPAGATORS)Ú	compositeÚtextmapNc                ó¨   € V ^8„  d   QhR\         P                  R\        R,          R\         P                  \         P                  ,          R\        /# )é   ÚcarrierÚcontextNÚgetterÚreturn)r   ÚCarrierTr   ÚGetter)Úformats   "Út/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/opentelemetry/propagate/__init__.pyÚ__annotate__r   B   sO   € ÷ Iñ IÜ×ÑðIä�t�^ðIô �N‰Nœ7×+Ñ+Õ,ðIô ñ	Ió    c                ó8   € \        4       P                  WVR7      # )a.  Uses the configured propagator to extract a Context from the carrier.

Args:
    getter: an object which contains a get function that can retrieve zero
        or more values from the carrier and a keys function that can get all the keys
        from carrier.
    carrier: and object which contains values that are
        used to construct a Context. This object
        must be paired with an appropriate getter
        which understands how to extract a value from it.
    context: an optional Context to use. Defaults to root
        context if not set.
)r   )Úget_global_textmapÚextract)r
   r   r   s   &&&r   r   r   B   s   € ô$ Ó×'Ñ'¨ÀÐ'ÓHÐHr   c                ó    € V ^8„  d   QhR\         P                  R\        R,          R\         P                  \         P                  ,          RR/# )r	   r
   r   NÚsetterr   )r   r   r   ÚSetter)r   s   "r   r   r   W   sO   € ÷ Iñ IÜ×ÑðIä�t�^ðIô �N‰Nœ7×+Ñ+Õ,ðIð 
ñ	Ir   c                ó<   € \        4       P                  WVR7       R# )a¿  Uses the configured propagator to inject a Context into the carrier.

Args:
    carrier: the medium used by Propagators to read
        values from and write values to.
        Should be paired with setter, which
        should know how to set header values on the carrier.
    context: An optional Context to use. Defaults to current
        context if not set.
    setter: An optional `Setter` object that can set values
        on the carrier.
)r   r   N)r   Úinject)r
   r   r   s   &&&r   r   r   W   s   € ô" Ó×Ñ ÀÐÖHr   c                ó8   € V ^8„  d   QhR\         P                  /# ©r	   r   ©r   ÚTextMapPropagator)r   s   "r   r   r   k   s   € ÷ *7ñ *7œ7×4Ñ4ñ *7r   c                  ó®  € \         P                  ! \        4      p V '       g/   ^ RIHp ^ RIHp \        P                  ! V! 4       V! 4       .4      # ^ RI	H
p . pV P                  R4       F”  pVP                  4       pVP                  4       R8X  d.   \        P                  R4       \        P                  ! . 4      u #  VP!                  \#        \%        V! RVR7      4      4      P'                  4       ! 4       4       K–  	  \        P                  ! V4      #   \(         d    \+        R	T R
24      h\,         d    \        P/                  RT4       h i ; i)é    )ÚW3CBaggagePropagator)ÚTraceContextTextMapPropagator)Úentry_pointsÚ,ÚnonezMOTEL_PROPAGATORS environment variable contains none, removing all propagatorsÚopentelemetry_propagator)ÚgroupÚnamezPropagator z5 not found. It is either misspelled or not installed.zFailed to load propagator: %s)r   Úgetr   Ú!opentelemetry.baggage.propagationr"   Ú,opentelemetry.trace.propagation.tracecontextr#   r   ÚCompositePropagatorÚ&opentelemetry.util._importlib_metadatar$   ÚsplitÚstripÚlowerÚloggerÚdebugÚappendÚnextÚiterÚloadÚStopIterationÚ
ValueErrorÚ	ExceptionÚ	exception)Ú
configuredr"   r#   r$   Ú_propagatorsÚ_propagators         r   Ú_load_propagatorsr?   k   s6  € Ü—’Ô-Ó.€Jßõ	
õ
	
ô ×,Ò,Ñ.KÓ.MÑOcÓOeÐ-fÓgÐgõð 57€LØ!×'Ñ'¨Ö,ˆØ!×'Ñ'Ó)ˆØ×ÑÓ &Ô(Ü�L‰LÐhÔiÜ×0Ò0°Ó4Ò4ð	Ø×ÑÜÜÙ$Ø"<Ø!,ôóó÷ ‘$“&ðó ö	ñ -ô* ×(Ò(¨Ó6Ð6øô ô 	oÜ˜{¨;¨-Ð7lÐmÓnÐnÜô 	Ü×ÑÐ<¸kÔJØð	ús   Ã >DÄ"EÄ;Eztracecontext,baggager%   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r   r   r   £   s   € ÷ ñ œG×5Ñ5ñ r   c                  ó   € \         # ©N©Ú_HTTP_TEXT_FORMAT© r   r   r   r   £   s   € ÜÐr   c                ó<   € V ^8„  d   QhR\         P                  RR/# )r	   Úhttp_text_formatr   Nr   )r   s   "r   r   r   §   s"   € ÷ )ñ )Ü×/Ñ/ð)à	ñ)r   c                 ó
   € V s R # rB   rC   )rG   s   &r   Úset_global_textmaprI   §   s
   € ð )Òr   c                ó¦   € V ^8„  d   Qh/ ^ \         9   d   \        P                  ;R&   ^\         9   d   \        \        P                  ,          ;R&   # )r	   rD   Úpropagators)Ú__conditional_annotations__r   r   Úlist)r   s   "r   r   r      sF   € ÷ 2ñ 2÷h CÒ B”7×,Ñ,Ñ Bñi2÷n 2Ò 1ŒT”'×+Ñ+Õ,Ñ 1òo2r   )rL   Ú__doc__Úloggingr   Úosr   Úopentelemetry.context.contextr   Ú#opentelemetry.environment_variablesr   Úopentelemetry.propagatorsr   r   Ú__name__r2   Údefault_getterr   Údefault_setterr   r?   rD   rK   r*   Úenviron_propagatorsr/   Ú
propagatorr0   r   rI   r   )rL   s   @r   Ú<module>rY      s®   øðö2õh Ý å 1Ý @ß 8á	�8Ó	€ð
 #Ø/6×/EÑ/E÷Ið. #Ø/6×/EÑ/E÷Iõ(*7ñZ 0AÓ/BÐ Ó Bð 02€Ó 1à—k’kÐ"2Ð4JÓKÐ à%×+Ñ+¨CÖ0€JØ×!Ñ!Ó#‚Jñ 1õ÷)r   