+
    i,  c                   s    ^ RI t ^ RIt^ RIHtHt ^ RItR tR t^]P                  ! ]P                  4      ^,          ^,
          ,          ^,
          t
 ! R R4      tR tR tR# )	    N)CFieldbuffer_infoc                 s     W,          V,          # N nZmultiple   &&'/usr/lib64/python3.14/ctypes/_layout.py
round_downr	      s     MX%%    c                 s<    W,           ^,
          V,          V,          # )i   r   r   r   r   round_upr      s     \A(*h66r
   c                   s&   a  ] tR t^t o R tRtV tR# )StructUnionLayoutc                s6    Wn         W n        W0n        W@n        R # r   fieldssizealignformat_spec)Zselfr   r   r   r   s   &&&&&r   __init__ZStructUnionLayout.__init__   s     	 
 'r
   )r   r   r   r   N)__name__Z
__module__Z__qualname__Z__firstlineno__r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     ' 'r
   r   c                 sx   \        V R R4      p\        V RR4      pVfz   \        P                  R8X  d   RpMV'       dW   V'       d   RpMRp\        P                  ! RRV P
                   R	V R
2R,           R,           R,           R,           R+R7       RpM&RpM#VR8X  d   RpMVR8X  d   RpM\        RV: 24      h\        V R^4      pV^ 8  d   \        R4      hV^ 8X  d   ^pV'       d!   \        \        P                  ! V4      V4      p\        V R4      p	V	'       d   \        P                  R8H  p
M\        P                  R8H  p
VeH    \        V4      pT^ 8  d   \        R4      hT\        8  d   \        R4      hT'       d   \        R4      h. pV'       d   R.pMR.p^ p^ p^ p^ p^ pV'       d+   \        P                  ! V4      pV'       d   V^,          pMTpTp\!        V4       EF  w  ppV'       g   ^ p^ p^ p\#        V4      p Vw  ppRp\        P                  ! V4      pV^,          pT^,          p\        P                  ! T4      ;'       g    ^pT^,          pT'       dz   \%        TT4      pTT,           pTT,           p T T8  d   \'        TT4      p\%        TT4      ^,          p!T'       d   T^T!,          ,
          p"TT,          p\'        T^4      ^,          pMuT'       d   \)        TT4      p^ TT,           8  g   TT8w  d   \'        TT4      pTT,          pTpT) pY^,          ,
          p!T'       d	   Y,           p"T'       d   TT,          pTpT'       d   T
'       d   TT,
          X",
          p"T'       d   T!T,
          p#TP+                  \-        T#4      4       \/        T4      w  p$p%p&T&'       d+   TP1                  R R!P3                  R" T& 4       4      R#34       T$f   Rp$\5        T\6        4      '       d   \        R$T: R%24      hTP+                  T$ R&T R&24       TP+                  \9        TTTT!T'       d   TMRT'       d   X"MRTRR'7      4       T'       d	   T'       g   \        TT4      pTpT'       d   EK  \        TT4      pEK  	  V'       d   Tp'MTp'\'        V'V4      p(V'       d5   V(V',
          p#VP+                  \-        V#4      4       VP+                  R(4       \;        VV(VR)P3                  V4      R*7      #   \        \        3 d    \        R4      hi ; i  \        \        3 d}     Tw  pppM%  \        \        3 d   p\        R,4      ThRp?ii ; iRpT^ 8:  d   \        RT: 24      h\        P                  ! T4      pTT^,          8  d   \        RT: 24      h ELi ; i)-Z_pack_NZ_layout_Zwin32FZ	StructureZUnionz_pack_ without _layout_zDue to '_pack_', the 'z' z will z2use memory layout compatible with MSVC (Windows). z+If this is intended, set _layout_ to 'ms'. z8The implicit default is deprecated and slated to become zan error in Python {remove}.)ZremoveTZmszgcc-sysvzunknown _layout_: Z_align_z&_align_ must be a non-negative integerZ_swappedbytes_ZlittleZbigz_pack_ must be an integerz%_pack_ must be a non-negative integerz_pack_ too bigz-_pack_ is not compatible with gcc-sysv layoutzT{ZBz%number of bits invalid for bit field Z(Z,c              3   s8   "   T F  p\        V4      x  K  	  R # 5ir   )Zstr)Z.0r   s   & r   Z	<genexpr>Zget_layout.<locals>.<genexpr>  s     6XSVVXs   Z)zfield z": name must be a string, not bytesZ:)nameZtypeZ	byte_sizeZbyte_offsetbit_size
bit_offsetZindexZ_internal_useZ} r   )i   i   zW_fields_ must be a sequence of (name, C type) pairs or (name, C type, bit size) triples)ZgetattrsysZplatformwarningsZ_deprecatedr   Z
ValueErrorZmaxctypesZ	alignmentZhasattrZ	byteorderZintZ	TypeError_INT_MAXsizeofZ	enumerateZtupler	   r   ZminZappendpadding_specr   ZextendZjoinZ
isinstanceZbytesr   r   ))ZclsZinput_fieldsZ	is_structZbaseZpackZlayoutZ
gcc_layoutZbase_type_namer   Zswapped_bytesZ
big_endianZresult_fieldsZformat_spec_partsZlast_field_bit_sizeZnext_bit_offsetZnext_byte_offsetZstruct_sizeZ
union_sizeZ	last_sizeZiZfieldr   ZctypeZis_bitfieldZ	type_sizer   ZexcZtype_bit_sizeZ
type_alignZtype_bit_alignZslot_start_bitZslot_end_bitZfield_end_bitZoffsetr   paddingZfieldfmtZbf_ndimZbf_shapeZ
total_sizeZaligned_sizes)   &&&&                                     r   
get_layoutr   *   s   8 3$'DS*d+F~<<7"J!,!(  )(b8HOFG?@ MM 1	1
  JJ	4
	:	
-fZ899CA&EqyABB	!F$$T*E2C!12M]]h.
]]e+
	:t9D !8DEE(?-..LMMM!F E O KJmmD))AoO*Il+5"#O  e	%KD%"  Ke,I 1}H!A%%e,11
#a (HN)M9L+h6M|+ #+?N"K@AEF,q6z9

 x'O"?A6!;K z2
 _x//!%88 $,,<j#I  I- &3#
 $7"6 &q(@@F0B
 x'O*K: '1J>J y(G$$\'%:;*5e*<'Hgx!((HH6X66*  $&&  TH$FGI I$$z4&%:;V!,X$%0zd 
 	 z E:&	y[*5Je ,h  

 J.L +  g!67  %GG-.	 M :& 	:899	:^ I& 	FF(-%eX	* F <=BEFF K1} ;D8DF Fe,I)a-' ;D8DF F (	FsC   T T,T),V9>UV9U'U""U''AV98V9c                 s0    V ^ 8:  d   R# V ^8X  d   R# V  R2# )r    r   Zxr   )r   s   &r   r   r   E  s"    !|!|Ya=r
   )r   r   Z_ctypesr   r   r   r	   r   r   Zc_intr   r   r   r   r   r
   r   <module>r       s[      ' &
7
 &---1Q66!;' ' Xvr
   