Ë
    ^ãjE  ã                   óì   — d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ dZdZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej<                  eiZ G d„ d«      Z y)zeConvert between bytestreams and higher-level AMQP types.

2007-11-05 Barry Pederson <bp@barryp.org>

é    N)Údatetime)Útimezone)ÚDecimal)ÚBytesIO)ÚpackÚunpack_fromé   )ÚFrameSyntaxError)ÚBasic)Úbytes_to_str)Ústr_to_bytesz*    Table type {0!r} not handled by amqp.
zCTable type {0!r} for key {1!r} not handled by amqp. [value: {2!r}]
z9    Table type {0!r} not handled by amqp. [value: {1!r}]
c                 óî  — t        | |   «      }|dz  }|dk(  r/t        d| |«      \  }|dz  }	 t        | |||z    «      }||z  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  r%t        d| |«      \  }|dz  }| |||z    }||z  }||fS |d	k(  rt        d
| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rt        d| |«      \  }|dz  }||fS |dk(  rFt        d| |«      \  }|dz  }t        d| |«      \  }|dz  }t	        |«      t	        d|z  «      z  }||fS |dk(  rft        d| |«      \  }|dz  }||z   }	i }||	k  rBt        d| |«      \  }
|dz  }t        | |||
z    «      }||
z  }t        | |«      \  ||<   }||	k  rŒB||fS |dk(  rJt        d| |«      \  }|dz  }||z   }	g }||	k  r&t        | |«      \  }}|j                  |«       ||	k  rŒ&||fS |dk(  r#t        d| |«      \  }t        |«      }|dz  }||fS |d k(  rMt        d!| |«      \  }|dz  }t        j                  |t        j                  ¬"«      j                  d ¬#«      }||fS |d$k(  rd }||fS t        d%j                  |t        |«      «      «      ‚# t        $ r | |||z    }Y �Œ4w xY w)&Nr	   ÚSú>Ié   Úsz>hé   ÚxÚbz>bÚBú>BÚUÚuú>HÚIz>iÚiÚLz>qé   ÚlÚfú>fÚdz>dÚDé
   ÚFÚAÚtÚTú>Q©Útz©ÚtzinfoÚVz#Unknown value in table: {!r} ({!r}))Úchrr   Úpstr_tÚUnicodeDecodeErrorr   Ú
_read_itemÚappendÚboolr   Úfromtimestampr   ÚutcÚreplacer
   ÚformatÚtype)ÚbufÚoffsetÚftypeÚslenÚvalÚblenr"   ÚnÚtlenÚlimitÚkeylenÚkeyÚalenÚvs                 úT/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/amqp/serialization.pyr2   r2   !   s  € Ü��F‘Ó€EØ
ˆa�K€Fð �‚|Ü˜D # vÓ.‰ˆØ�!‰ˆð	,Ü˜˜V F¨T¡MÐ2Ó3ˆCð 	�$‰ˆðJ �ˆ;ÐðC 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆð~ �ˆ;Ðð{ 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ�&˜ $™Ð'ˆØ�$‰ˆðr �ˆ;Ððo 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðj �ˆ;Ððg 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðb �ˆ;Ðð_ 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðZ �ˆ;ÐðW 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðR �ˆ;ÐðO 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðJ �ˆ;ÐðG 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðB �ˆ;Ðð} 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðx �ˆ;Ððq 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðl �ˆ;Ðði 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆðd �ˆ;Ðða 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆð\ �ˆ;ÐðY 
�#ŠÜ˜˜s FÓ+‰ˆØ�!‰ˆÜ˜˜s FÓ+‰ˆØ�!‰ˆÜ�a‹jœ7 2¨¡7Ó+Ñ+ˆðN �ˆ;ÐðK 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ˜‘ˆØˆØ�uŠnÜ! $¨¨VÓ4‰GˆFØ�a‰KˆFÜ˜˜V F¨V¡OÐ4Ó5ˆCØ�fÑˆFÜ)¨#¨vÓ6ÑˆC�‰H�fð �u‹nð@ �ˆ;Ðð3 
�#ŠÜ˜D # vÓ.‰ˆØ�!‰ˆØ˜‘ˆØˆØ�uŠnÜ" 3¨Ó/‰IˆAˆvØ�J‰J�qŒMð �u‹nð( �ˆ;Ðð! 
�#ŠÜ˜4  fÓ-‰ˆÜ�3‹iˆØ�!‰ˆð �ˆ;Ðð 
�#ŠÜ˜4  fÓ-‰ˆØ�!‰ˆÜ×$Ñ$ S¬X¯\©\Ô:×BÑBÈ$ÐBÓOˆð �ˆ;Ðð 
�#ŠØˆð
 �ˆ;Ðô Ø1×8Ñ8Ø”t˜E“{ó$ó%ð 	%øôK "ò 	,Ø�f˜V d™]Ð+‹Cð	,ús   ®M ÍM4Í3M4c                 óž  — dx}}g }|j                   }t        | «      } | D �]§  }|dk(  r.|st        |||dz    «      }|dz  }d}|dz  dk(  }|dz  }|dz  }�ni|dk(  rdx}}t        d||«      \  }|dz  }�nJ|dk(  rdx}}t        d||«      \  }|d	z  }�n+|d
k(  rdx}}t        d||«      \  }|dz  }�n|dk(  rdx}}t        d||«      \  }|dz  }�ní|dk(  rdx}}t        d||«      \  }|dz  }�nÎ|dk(  r7dx}}t        d||«      \  }	|dz  }||||	z    j	                  dd«      }||	z  }�n’|dk(  r7dx}}t        d||«      \  }	|dz  }||||	z    j	                  dd«      }||	z  }�nV|dk(  r#t        d||«      \  }
|dz  }||||
z    }||
z  }�n.|dk(  rhdx}}t        d||«      \  }|dz  }||z   }i }||k  �rt        d||«      \  }|dz  }t        ||||z    «      }||z  }t        ||«      \  ||<   }||k  rŒBnÁ|dk(  rKdx}}t        d||«      \  }|dz  }||z   }g }||k  r˜t        ||«      \  }}|j                  |«       ||k  rŒ&nq|dk(  rNdx}}t        d||«      \  }|dz  }t        j                  |t        j                  ¬«      j                  d¬«      }nt        t        j                  |«      «      ‚ ||«       �Œª ||fS )zÂDeserialize amqp format.

    bit = b
    octet = o
    short = B
    long = l
    long long = L
    float = f
    shortstr = s
    longstr = S
    table = F
    array = A
    timestamp = T
    r   r   r	   r   Úor   r   r   r   r   r   r   r   r)   r    r!   r   úutf-8Úsurrogatepassr   r   r%   r&   r(   r*   Nr,   )r3   r0   Úordr   Údecoder2   r   r5   r   r6   r7   r
   ÚILLEGAL_TABLE_TYPEr8   )r8   r:   r;   ÚbitcountÚbitsÚvaluesr3   Úpr>   r=   r?   rA   rB   rC   rD   rE   Úavals                    rG   ÚloadsrT   –   s¬  € ð Ð€Hˆtà€FØ�]‰]€FÜ�F‹^€Fàó KˆØ�Š8ÙÜ˜3˜v f¨q¡jÐ1Ó2�Ø˜!‘�Ø�Ø˜!‘8 ‘/ˆCØ�Q‰JˆDØ˜‰MŠHØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KŠFØ�#ŠXØÐˆH�tÜ  S¨&Ó1‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+×2Ñ2°7¸OÓLˆCØ�d‰NŠFØ�#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+×2Ñ2°7¸OÓLˆCØ�d‰NŠFØ�#ŠXÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ�f˜V d™]Ð+ˆCØ�d‰NŠFØ�#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ˜T‘MˆEØˆCØ˜5“.Ü% d¨C°Ó8‘�Ø˜!‘�Ü˜S ¨°©Ð8Ó9�Ø˜&Ñ �Ü#-¨c°6Ó#:Ñ ��C‘˜&ð ˜5”.ð �#ŠXØÐˆH�tÜ  c¨6Ó2‰EˆDØ�a‰KˆFØ˜T‘MˆEØˆCØ˜5’.Ü)¨#¨vÓ6‘��fØ—
‘
˜4Ô ð ˜5”.ð �#ŠXØÐˆH�tÜ˜t S¨&Ó1‰DˆCØ�a‰KˆFÜ×(Ñ(¨´·±Ô>×FÑFØð Gó ‰Cô #Ô#5×#<Ñ#<¸QÓ#?Ó@Ð@ÙˆsŽðWKðX �6ˆ>Ðó    c                 óN   — | r# |t        dt        | «      z  g| ¢­Ž «       g | d d  y)Nr   r   )r   Úlen)rP   Úwrites     rG   Ú
_flushbitsrY   ú   s+   € ÙÙŒd�3œ˜T›‘?Ð* TÒ*Ô+Øˆ‰QˆØrU   c                 óD  — d}g }t        «       }|j                  }t        | «      } t        |«      D �]Q  \  }}| |   }|dk(  r7|rdnd}|dz  }	|	dk(  r|j	                  d«       |dxx   ||	z  z  cc<   |dz  }ŒH|dk(  rt        ||«      } |t        d|«      «       Œl|dk(  r(t        ||«      } |t        dt        |«      «      «       Œ™|d	k(  rt        ||«      } |t        d
|«      «       Œ½|dk(  rt        ||«      } |t        d|«      «       Œá|dk(  r t        ||«      } |t        d|«      «       �Œ|dk(  rY|xs d}t        ||«      }t        |t        «      r|j                  dd«      } |t        dt        |«      «      «        ||«       �Œd|dk(  s|dk(  rY|xs d}t        ||«      }t        |t        «      r|j                  dd«      } |t        d
t        |«      «      «        ||«       �ŒÇ|dk(  rt        ||«      }t        |xs i ||«       �Œë|dk(  rt        ||«      }t        |xs g ||«       �Œ|dk(  s�Œ |t        dt        t        j                  |j!                  «       «      «      «      «       �ŒT t        ||«       |j#                  «       S )zéSerialize AMQP arguments.

    Notes:
        bit = b
        octet = o
        short = B
        long = l
        long long = L
        shortstr = s
        longstr = S
        byte array = x
        table = F
        array = A
    r   r   r	   r   éÿÿÿÿrI   r   r   r   r   r   r)   r    r!   r   Ú rJ   rK   r   r   r%   r&   r(   )r   rX   r0   Ú	enumerater3   rY   r   ÚintÚ
isinstanceÚstrÚencoderW   Ú_write_tableÚ_write_arrayÚcalendarÚtimegmÚutctimetupleÚgetvalue)
r8   rQ   rO   rP   ÚoutrX   r   r>   rR   Úshifts
             rG   Údumpsrj     sm  € ð €HØ€DÜ
‹)€CØ�I‰I€Eä�F‹^€Fä˜FÓ#ó -H‰ˆˆ3Ø�1‰IˆØ�Š8Ù‘! ˆCØ˜q‘LˆEØ˜ŠzØ—‘˜A”Ø�‹H˜ ™Ñ&‹HØ˜‰M‰HØ�#ŠXÜ! $¨Ó.ˆHÙ”$�s˜C“.Õ!Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�tœS ›XÓ&Õ'Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Õ"Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Õ"Ø�#ŠXÜ! $¨Ó.ˆHÙ”$�t˜S“/Ö"Ø�#ŠXØ’)˜ˆCÜ! $¨Ó.ˆHÜ˜#œsÔ#Ø—j‘j ¨/Ó:�Ù”$�sœC ›HÓ%Ô&Ù�#ŽJØ�#ŠX˜˜cšØ’)˜ˆCÜ! $¨Ó.ˆHÜ˜#œsÔ#Ø—j‘j ¨/Ó:�Ù”$�tœS ›XÓ&Ô'Ù�#ŽJØ�#ŠXÜ! $¨Ó.ˆHÜ˜š  E¨4Ö0Ø�#ŠXÜ! $¨Ó.ˆHÜ˜š  E¨4Ö0Ø�#ŒXÙ”$�tœS¤§¡°×1AÑ1AÓ1CÓ!DÓEÓFÖGð[-Hô\ ˆt�UÔà�<‰<‹>ÐrU   c           	      óØ  — t        «       }|j                  }| j                  «       D ]X  \  }}t        |t        «      r|j                  dd«      } |t        dt        |«      «      «        ||«       	 t        |||«       ŒZ |j                  «       } |t        dt        |«      «      «        ||«       y # t        $ r* t        t        j                  t        |«      ||«      «      ‚w xY w)NrJ   rK   r   r   )r   rX   Úitemsr_   r`   ra   r   rW   Ú_write_itemÚ
ValueErrorr
   ÚILLEGAL_TABLE_TYPE_WITH_KEYr8   r9   rg   )r"   rX   rP   rh   ÚtwriteÚkrF   Ú
table_datas           rG   rb   rb   J  sÓ   € Ü
‹)€CØ�Y‰Y€FØ—‘“	ò 	C‰ˆˆ1Ü�aœÔØ—‘˜ /Ó2ˆAÙŒt�Cœ˜Q›Ó Ô!ÙˆqŒ	ð	CÜ˜˜6 4Õ(ð	Cð —‘“€JÙ	Œ$ˆt”S˜“_Ó
%Ô&Ù	ˆ*Õøô ò 	CÜ"Ü+×2Ñ2´4¸³7¸A¸qÓAóCð Cð	Cús   Á3B6Â63C)c           	      ó*  — t        «       }|j                  }| D ]  }	 t        |||«       Œ |j                  «       } |t        dt        |«      «      «        ||«       y # t        $ r) t	        t
        j                  t        |«      |«      «      ‚w xY w)Nr   )r   rX   rm   rn   r
   ÚILLEGAL_TABLE_TYPE_WITH_VALUEr8   r9   rg   r   rW   )Úlist_rX   rP   rh   ÚawriterF   Ú
array_datas          rG   rc   rc   \  s“   € Ü
‹)€CØ�Y‰Y€FØò Bˆð	BÜ˜˜6 4Õ(ðBð —‘“€JÙ	Œ$ˆt”S˜“_Ó
%Ô&Ù	ˆ*Õøô ò 	BÜ"Ü-×4Ñ4´T¸!³W¸aÓ@óBð Bð	Bús   �A Á 2Bc                 óì  — t        | t        t        f«      rGt        | t        «      r| j                  dd«      }  |t	        ddt        | «      «      «        || «       y t        | t        «      r |t	        ddt        | «      «      «       y t        | t        «      r |t	        dd| «      «       y t        | t        «      r2| d	kD  s| d
k  r |t	        dd| «      «       y  |t	        dd| «      «       y t        | t        «      r@| j                  «       \  }}}d} |D ]
  }| dz  |z   } Œ |r|  }  |t	        dd| | «      «       y t        | t        «      r> |t	        ddt        t        j                  | j                  «       «      «      «      «       y t        | t        «      r |d«       t!        | ||«       y t        | t"        t$        f«      r |d«       t'        | ||«       y | €	 |d«       y t)        «       ‚)NrJ   rK   z>cIó   Sz>cBó   tz>cdó   diÿÿÿi  €z>cqó   Lz>ció   Ir   r$   z>cBió   Dz>cQó   Tó   Fó   Aó   V)r_   r`   Úbytesra   r   rW   r4   r^   Úfloatr   Úas_tupler   rd   re   rf   Údictrb   ÚlistÚtuplerc   rn   )rF   rX   rP   ÚsignÚdigitsÚexponentr"   s          rG   rm   rm   j  s›  € Ü�!”cœ5�\Ô"Ü�aœÔØ—‘˜ /Ó2ˆAÙŒd�5˜$¤ A£Ó'Ô(Ùˆa�Ü	�A”tÔ	ÙŒd�5˜$¤ A£Ó'Õ(Ü	�A”uÔ	ÙŒd�5˜$ Ó"Õ#Ü	�A”sÔ	ØˆzŠ>˜Q š_Ù”$�u˜d AÓ&Õ'á”$�u˜d AÓ&Õ'Ü	�A”wÔ	Ø!"§¡£Ñˆˆf�hØˆØò 	ˆAØ�R‘˜1‘‰Að	áØ�ˆAÙŒd�6˜4 ( ¨AÓ.Õ/Ü	�A”xÔ	 ÙÜ�˜œc¤(§/¡/°!·.±.Ó2BÓ"CÓDÓEõ	Gä	�A”tÔ	ÙˆdŒÜ�Q˜˜tÕ$Ü	�Aœœe�}Ô	%ÙˆdŒÜ�Q˜˜tÕ$Ø	
ˆÙˆd�ä‹lÐrU   c                 óþ  — i }t        d| |«      \  }|dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|d	z  rt        d
| |«      \  }}|\  |d<   |dz  rt        d| |«      \  |d<   |dz  }|dz  rt        d| |«      \  |d<   |dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  rt        d| |«      \  |d<   |dz  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d<   ||z  }|dz  r-t        d| |«      \  }|dz  }t        | |||z    «      |d <   ||z  }|d!z  r-t        d| |«      \  }|dz  }t        | |||z    «      |d"<   ||z  }||fS )#zDecode basic properties.r   r   i €  r   r	   Úcontent_typei @  Úcontent_encodingi    r%   Úapplication_headersi   Údelivery_modei   Úpriorityi   Úcorrelation_idi   Úreply_toé   Ú
expirationé€   Ú
message_idé@   r)   Ú	timestampr   é    r9   é   Úuser_idÚapp_idr   Ú
cluster_id)r   r0   rT   )r:   r;   Ú
propertiesÚflagsr=   Ú_fs         rG   Údecode_properties_basicr¢   �  sd  € à€Jä˜˜s FÓ+�F€EØ
ˆa�K€Fàˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ%+¨C°°vÀ±}Ð,EÓ%Fˆ
�>Ñ"Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ)/°°F¸6ÀD¹=Ð0IÓ)Jˆ
Ð%Ñ&Ø�$‰ˆØˆv‚~Ü˜3  VÓ,‰
ˆˆFØ-/Ñ*ˆ
Ð(Ñ)Øˆv‚~Ü'2°4¸¸fÓ'EÑ$ˆ
�?Ñ#Ø�!‰ˆØˆv‚~Ü"-¨d°C¸Ó"@Ñˆ
�:ÑØ�!‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ'-¨c°&¸À$¹Ð.GÓ'Hˆ
Ð#Ñ$Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ!'¨¨F°6¸D±=Ð(AÓ!Bˆ
�:ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØˆv‚~Ü#.¨t°S¸&Ó#AÑ ˆ
�;ÑØ�!‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ# C¨¨v¸©}Ð$=Ó>ˆ
�6ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ & s¨6°&¸4±-Ð'@Ó Aˆ
�9ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ% c¨&°¸$±Ð&?Ó@ˆ
�8ÑØ�$‰ˆØˆv‚~Ü˜D # vÓ.‰ˆØ�!‰ˆÜ#)¨#¨f°V¸d±]Ð*CÓ#Dˆ
�<Ñ Ø�$‰ˆØ�vÐÐrU   c                   óF   — e Zd ZdZdZdgZdd„ZdZd„ Zd„ Z	d„ Z
dd	„Zd
„ Zy)ÚGenericContentzdAbstract base class for AMQP content.

    Subclasses should override the PROPERTIES attribute.
    N)Údummyr   c                 óf   — || _         || _        || _        g | _        d| _        d| _        d| _        y )Nr   F)Úframe_methodÚ
frame_argsrŸ   Ú_pending_chunksÚbody_receivedÚ	body_sizeÚready)Úselfr§   r¨   Úpropss       rG   Ú__init__zGenericContent.__init__æ  s6   € Ø(ˆÔØ$ˆŒàˆŒØ!ˆÔØˆÔØˆŒØˆ�
rU   )	r§   r¨   rŸ   r©   rª   r«   r¬   Ú__dict__Ú__weakref__c                 ór   — |dk(  rt        d«      ‚|| j                  v r| j                  |   S t        |«      ‚)NÚ__setstate__)ÚAttributeErrorrŸ   )r­   Únames     rG   Ú__getattr__zGenericContent.__getattr__ý  s=   € ð �>Ò!ä  Ó0Ð0à�4—?‘?Ñ"Ø—?‘? 4Ñ(Ð(Ü˜TÓ"Ð"rU   c                 ó8   — t        |   ||«      \  }}|| _        |S )zõLoad AMQP properties.

        Given the raw bytes containing the property-flags and property-list
        from a content-frame-header, parse and insert into a dictionary
        stored in this object as an attribute named 'properties'.
        )ÚPROPERTY_CLASSESrŸ   )r­   Úclass_idr:   r;   r®   s        rG   Ú_load_propertieszGenericContent._load_properties  s%   € ô )¨Ñ2°3¸Ó?‰ˆˆvØˆŒØˆrU   c                 ó  — d}d}g }g g }}| j                   }| j                  D ]p  \  }}|j                  |d«      }	|	�R|dk(  r|j                  |«       d}d}|d|z  z  }|dk7  r+|j                  t	        |«      «       |j                  |	«       |dz  }Œr |j                  |«       t        «       }
|
j                  }|D ]  } |t        d|«      «       Œ  |t        dj                  |«      |«      «       |
j                  «       S )zìSerialize AMQP properties.

        Serialize the 'properties' attribute (a dictionary) into
        the raw bytes making up a set of property flags and a
        property list, suitable for putting into a content frame header.
        é   r   Nr	   Úbitr   rU   )rŸ   Ú
PROPERTIESÚgetr3   r   r   rX   r   rj   Újoinrg   )r­   ri   Ú	flag_bitsr    ÚsformatÚsvaluesr®   rD   Úproptyper>   ÚresultrX   s               rG   Ú_serialize_propertiesz$GenericContent._serialize_properties  s  € ð ˆØˆ	ØˆØ˜r�ˆØ—‘ˆØ!Ÿ_™_ò 	‰MˆC�Ø—)‘)˜C Ó&ˆCØˆØ˜A’:Ø—L‘L Ô+Ø !�IØ�Eà˜a 5™jÑ)�	Ø˜uÒ$Ø—N‘N¤<°Ó#9Ô:Ø—N‘N 3Ô'à�Q‰J‰Eð	ð 	�‰�YÔÜ“ˆØ—‘ˆØò 	)ˆIÙ”$�t˜YÓ'Õ(ð	)áŒe�C—H‘H˜WÓ% wÓ/Ô0à�‰Ó Ð rU   c                 ó†   — t        d||«      \  }| _        |dz  }| j                  |||«       | j                  sd| _        |S )Nz>HxxQé   T)r   r«   rº   r¬   )r­   r:   r;   r¹   s       rG   Úinbound_headerzGenericContent.inbound_header7  sE   € Ü#.¨w¸¸VÓ#DÑ ˆ�$”.Ø�"‰ˆØ×Ñ˜h¨¨VÔ4Ø�~Š~ØˆDŒJØˆrU   c                 óF  — | j                   }| xj                  t        |«      z  c_        | j                  | j                  k\  rM|r<|j	                  |«       t        «       j                  |«      | _        g |d d  d| _        y || _        d| _        y |j	                  |«       y )NT)	r©   rª   rW   r«   r3   rƒ   rÀ   Úbodyr¬   )r­   r:   Úchunkss      rG   Úinbound_bodyzGenericContent.inbound_body?  sƒ   € Ø×%Ñ%ˆØ×Òœc #›hÑ&ÕØ×Ñ §¡Ò/ÙØ—‘˜cÔ"Ü!›GŸL™L¨Ó0�”	Ø�‘q�	ð ˆD�Jð  �”	ØˆD�Jà�M‰M˜#ÕrU   )NN)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚCLASS_IDr¾   r¯   Ú	__slots__r¶   rº   rÆ   rÉ   rÍ   © rU   rG   r¤   r¤   Ý  s<   „ ñð
 €HØ Ð!€Jóð
€Iò	#ò
ò!!óFórU   r¤   )!rÑ   rd   r   r   Údecimalr   Úior   Ústructr   r   Ú
exceptionsr
   Úspecr   Úutilsr   r0   r   rN   ro   rt   r2   rT   rY   rj   rb   rc   rm   r¢   rÒ   r¸   r¤   rÔ   rU   rG   ú<module>rÛ      s“   ðñó Ý Ý Ý Ý ß $å (Ý Ý )Ý ðÐ ðÐ ð!Ð ò
ròjaòHòFòRò$ò#òLEðR 
‡N�NÐ+ðÐ ÷
nò nrU   