
    i                         d Z dZddlZddlZddlZddlmZ ddlmZ 	 e	 d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Z G d dej0                        Zy# e
$ r eZ	Y Cw xY w)zpUtilities for Python proto2 tests.

This is intentionally modeled on C++ code in
//google/protobuf/test_util.*.
z#robinson@google.com (Will Robinson)    N)unittest_import_pb2)unittest_pb2c                 4    | j                   j                  dk(  S )Nproto2)
DESCRIPTORsyntaxmessages    t/var/www/catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/google/protobuf/internal/test_util.pyIsProto2r   7   s    				"	"h	..    c                 P   d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d
| _	        d| _
        d| _        d| _        d| _        d| _        t        |       rd| j                   _        d| j$                  _        d| j(                  _        d| j,                  _        d| j0                  _        t4        j6                  j8                  | _        t4        j<                  | _        t        |       rt@        jB                  | _"        d| _#        d| _$        | jJ                  jM                  d       | jN                  jM                  d       | jP                  jM                  d       | jR                  jM                  d       | jT                  jM                  d       | jV                  jM                  d       | jX                  jM                  d       | jZ                  jM                  d       | j\                  jM                  d       | j^                  jM                  d        | j`                  jM                  d!       | jb                  jM                  d"       | jd                  jM                  d       | jf                  jM                  d#       | jh                  jM                  d$       t        |       rd%| jj                  jm                         _        d&| jn                  jm                         _        d'| jp                  jm                         _        d(| jr                  jm                         _        d)| jt                  jm                         _        | jv                  jM                  t4        j6                  jx                         | jz                  jM                  t4        j|                         t        |       r)| j~                  jM                  t@        j                         | j                  jM                  d*       | j                  jM                  d+       | jJ                  jM                  d,       | jN                  jM                  d,       | jP                  jM                  d,       | jR                  jM                  d,       | jT                  jM                  d,       | jV                  jM                  d,       | jX                  jM                  d,       | jZ                  jM                  d,       | j\                  jM                  d,       | j^                  jM                  d,       | j`                  jM                  d,       | jb                  jM                  d,       | jd                  jM                  d       | jf                  jM                  d-       | jh                  jM                  d.       d/| jJ                  d0<   d1| jN                  d0<   d2| jP                  d0<   d3| jR                  d0<   d4| jT                  d0<   d5| jV                  d0<   d6| jX                  d0<   d7| jZ                  d0<   d8| j\                  d0<   d9| j^                  d0<   d:| j`                  d0<   d;| jb                  d0<   d<| jd                  d0<   d=| jf                  d0<   d>| jh                  d0<   t        |       rd?| jj                  jm                         _        d@| jn                  jm                         _        dA| jp                  jm                         _        dB| jr                  jm                         _        dC| jt                  jm                         _        | jv                  jM                  t4        j6                  jx                         t4        j6                  j8                  | jv                  d0<   | jz                  jM                  t4        j<                         t        |       r)| j~                  jM                  t@        jB                         | j                  jM                  dD       | j                  jM                  dE       t        |       rdF| _C        dG| _D        dH| _E        dI| _F        dJ| _G        dK| _H        dL| _I        dM| _J        dN| _K        dO| _L        dP| _M        dQ| _N        d<| _O        dR| _P        dS| _Q        t4        j6                  j                  | _S        t4        j                  | _U        t@        j                  | _W        dT| _X        dU| _Y        dV| _Z        dW| j                  _        dX| _\        dY| _]        yZ)[zmSets every non-lazy field in the message to a unique value.

  Args:
    message: A TestAllTypes instance.
  e   f   g   h   i   j   k   l   m   n   o   p   T115   116u   v   w   x   ~   124125                                    215   216               224225r   0   0-     .  /  0  1  2  3  4  5  6  7  8  F315   316=  >  ?  @  G  324325                        415   416424425Y  Z  603   604N)^optional_int32optional_int64optional_uint32optional_uint64optional_sint32optional_sint64optional_fixed32optional_fixed64optional_sfixed32optional_sfixed64optional_floatoptional_doubleoptional_booloptional_stringoptional_bytesr   optionalgroupaoptional_nested_messagebboptional_foreign_messagecoptional_import_messagedoptional_public_import_messageer   TestAllTypesBAZoptional_nested_enumFOREIGN_BAZoptional_foreign_enumr   
IMPORT_BAZoptional_import_enumoptional_string_pieceoptional_cordrepeated_int32appendrepeated_int64repeated_uint32repeated_uint64repeated_sint32repeated_sint64repeated_fixed32repeated_fixed64repeated_sfixed32repeated_sfixed64repeated_floatrepeated_doublerepeated_boolrepeated_stringrepeated_bytesrepeatedgroupaddrepeated_nested_messagerepeated_foreign_messagerepeated_import_messagerepeated_lazy_messagerepeated_nested_enumBARrepeated_foreign_enumFOREIGN_BARrepeated_import_enum
IMPORT_BARrepeated_string_piecerepeated_corddefault_int32default_int64default_uint32default_uint64default_sint32default_sint64default_fixed32default_fixed64default_sfixed32default_sfixed64default_floatdefault_doubledefault_booldefault_stringdefault_bytesFOOdefault_nested_enumFOREIGN_FOOdefault_foreign_enum
IMPORT_FOOdefault_import_enumdefault_string_piecedefault_cordoneof_uint32oneof_nested_messageoneof_stringoneof_bytesr	   s    r   SetAllNonLazyFieldsr   ;   sb    "'!'!'!'!'!'!'!'!'!'!'!'"'$'$'g!G'*'!!$'*'""$&)'!!#-0'((*!-!:!:!>!>'".":":'g#6#A#AG "(' ' 
$	$	  %	  %	  %	  %	!!#&	!!#&	""3'	""3'	$	  %	t$	  (	'g$'G!-0'!!%%'*-0'""&&(*,/'!!%%')+.'##%(	%%l&?&?&C&CD	&&|'?'?@g  ''(;(F(FG	&&v.	v& 
"	"	  #	  #	  #	  #	!!!$	!!!$	""1%	""1%	"	  #	t$	  &	%!'!'"'!"'!"'!"'! #'1 #'1!$'A!$'A!'"'!"'%'!$'g$'G!-0'!!%%'*-0'""&&(*,/'!!%%')+.'##%(	%%l&?&?&C&CD$0$=$=$A$A'q!	&&|'?'?@g  ''(;(F(FG	&&v.	v& gGG G G G G!G!G"G"GG G G"G"G".";";"?"?G#/#;#;G "5"@"@G#(G  G'$''!''r   c                 ^    t        |        d| j                  _        d| j                  _        y )N      )r   optional_lazy_messagerw    optional_unverified_lazy_messager	   s    r   SetAllFieldsr      s&    g%('"03'**-r   c                    | j                   }t        }t        }d||j                  <   d||j                  <   d||j
                  <   d||j                  <   d||j                  <   d||j                  <   d||j                  <   d||j                  <   d	||j                  <   d
||j                  <   d||j                  <   d||j                  <   d||j                  <   d||j                   <   d||j"                  <   d||j$                     _        d||j(                     _        d||j,                     _        d||j0                     _        d||j4                     _        d||j8                     _        d||j:                     _        |j<                  j>                  ||j@                  <   |j<                  j>                  ||j@                  <   |jB                  ||jD                  <   |jF                  ||jH                  <   d||jJ                  <   d||jL                  <   ||jN                     jQ                  d       ||jR                     jQ                  d       ||jT                     jQ                  d       ||jV                     jQ                  d       ||jX                     jQ                  d       ||jZ                     jQ                  d       ||j\                     jQ                  d       ||j^                     jQ                  d        ||j`                     jQ                  d!       ||jb                     jQ                  d"       ||jd                     jQ                  d#       ||jf                     jQ                  d$       ||jh                     jQ                  d       ||jj                     jQ                  d%       ||jl                     jQ                  d&       d'||jn                     jq                         _        d(||jr                     jq                         _        d)||jt                     jq                         _        d*||jv                     jq                         _        d+||jx                     jq                         _        ||jz                     jQ                  |j<                  j|                         ||j~                     jQ                  |j                         ||j                     jQ                  |j                         ||j                     jQ                  d,       ||j                     jQ                  d-       ||jN                     jQ                  d.       ||jR                     jQ                  d/       ||jT                     jQ                  d0       ||jV                     jQ                  d1       ||jX                     jQ                  d2       ||jZ                     jQ                  d3       ||j\                     jQ                  d4       ||j^                     jQ                  d5       ||j`                     jQ                  d6       ||jb                     jQ                  d7       ||jd                     jQ                  d8       ||jf                     jQ                  d9       ||jh                     jQ                  d:       ||jj                     jQ                  d;       ||jl                     jQ                  d<       d=||jn                     jq                         _        d>||jr                     jq                         _        d?||jt                     jq                         _        d@||jv                     jq                         _        dA||jx                     jq                         _        ||jz                     jQ                  |j<                  j>                         ||j~                     jQ                  |jB                         ||j                     jQ                  |jF                         ||j                     jQ                  dB       ||j                     jQ                  dC       dD||j                  <   dE||j                  <   dF||j                  <   dG||j                  <   dH||j                  <   dI||j                  <   dJ||j                  <   dK||j                  <   dL||j                  <   dM||j                  <   dN||j                  <   dO||j                  <   d:||j                  <   dP||j                  <   dQ||j                  <   |j<                  j                  ||j                  <   |j                  ||j                  <   |j                  ||j                  <   dR||j                  <   dS||j                  <   dT||j                  <   dU||j                     _        dV||j                  <   dW||j                  <   yX)YzzSets every extension in the message to a unique value.

  Args:
    message: A unittest_pb2.TestAllExtensions instance.
  r   r   r   r   r   r   r   r   r   r   r   r   Tr   r   r   r   r   r    r!   r   r   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r;   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   FrH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   N)`
Extensionsr   r   optional_int32_extensionoptional_int64_extensionoptional_uint32_extensionoptional_uint64_extensionoptional_sint32_extensionoptional_sint64_extensionoptional_fixed32_extensionoptional_fixed64_extensionoptional_sfixed32_extensionoptional_sfixed64_extensionoptional_float_extensionoptional_double_extensionoptional_bool_extensionoptional_string_extensionoptional_bytes_extensionoptionalgroup_extensionru   !optional_nested_message_extensionrw   "optional_foreign_message_extensionry   !optional_import_message_extensionr{   (optional_public_import_message_extensionr}   optional_lazy_message_extension*optional_unverified_lazy_message_extensionr~   r   optional_nested_enum_extensionr   optional_foreign_enum_extensionr   optional_import_enum_extensionoptional_string_piece_extensionoptional_cord_extensionrepeated_int32_extensionr   repeated_int64_extensionrepeated_uint32_extensionrepeated_uint64_extensionrepeated_sint32_extensionrepeated_sint64_extensionrepeated_fixed32_extensionrepeated_fixed64_extensionrepeated_sfixed32_extensionrepeated_sfixed64_extensionrepeated_float_extensionrepeated_double_extensionrepeated_bool_extensionrepeated_string_extensionrepeated_bytes_extensionrepeatedgroup_extensionr   !repeated_nested_message_extension"repeated_foreign_message_extension!repeated_import_message_extensionrepeated_lazy_message_extensionrepeated_nested_enum_extensionr   repeated_foreign_enum_extensionr   repeated_import_enum_extensionr   repeated_string_piece_extensionrepeated_cord_extensiondefault_int32_extensiondefault_int64_extensiondefault_uint32_extensiondefault_uint64_extensiondefault_sint32_extensiondefault_sint64_extensiondefault_fixed32_extensiondefault_fixed64_extensiondefault_sfixed32_extensiondefault_sfixed64_extensiondefault_float_extensiondefault_double_extensiondefault_bool_extensiondefault_string_extensiondefault_bytes_extensionr   default_nested_enum_extensionr   default_foreign_enum_extensionr   default_import_enum_extensiondefault_string_piece_extensiondefault_cord_extensiononeof_uint32_extensiononeof_nested_message_extensiononeof_string_extensiononeof_bytes_extension)r
   
extensionspb2
import_pb2s       r   SetAllExtensionsr     s    !!*#"* .1*S))*-0*S))*.1*S**+.1*S**+.1*S**+.1*S**+/2*S++,/2*S++,03*S,,-03*S,,--0*S))*.1*S**+,0*S(().4*S**+-3*S))*.1*S(()+9<*S22369<*S33468;*S2235?B*S99:<7:*S0014BE*S;;<?363C3C3G3G*S//0363C3C3G3G*S//047OO*S0013=3H3H*S//04:*S001,2*S(() S))*11#6S))*11#6S**+2237S**+2237S**+2237S**+2237S++,33C8S++,33C8S,,-44S9S,,-44S9S))*11#6S**+2237S(()006S**+226:S))*11&947*S(()--/1?B*S223779<?B*S33488:<>A*S223779;=@*S001557:S//0778H8H8L8LMS00188IS//077
8M8MNS00188@S(()008 S))*11#6S))*11#6S**+2237S**+2237S**+2237S**+2237S++,33C8S++,33C8S,,-44S9S,,-44S9S))*11#6S**+2237S(()007S**+226:S))*11&947*S(()--/1?B*S223779<?B*S33488:<>A*S223779;=@*S001557:S//0778H8H8L8LMS00188IS//077
8M8MNS00188@S(()008 -0*S((),/*S(()-0*S))*-0*S))*-0*S))*-0*S))*.1*S**+.1*S**+/2*S++,/2*S++,,/*S(()-0*S))*+0*S''(-3*S))*,2*S(()252B2B2F2F*S../36??*S//02<2G2G*S../39*S//0+0*S''(+.*S''(69*S//03+1*S''(*0*S&&'r   c                     d| _         d| _        d| _        d| j                  t        j
                  <   d| j                  t        j                  <   y)zSets every field and extension in the message to a unique value.

  Args:
    message: A unittest_pb2.TestAllExtensions message.
  r<   foo      ?   barN)my_int	my_stringmy_floatr   r   my_extension_intmy_extension_stringr	   s    r   SetAllFieldsAndExtensionsr#  o  sG     '.''68'\2239>'\556r   c                    t         j                  }t         j                  }g }t        j                         }d|_        |j                  |j                                |j                          d|j                  |<   |j                  |j                                |j                          d|_	        |j                  |j                                |j                          d|j                  |<   |j                  |j                                |j                          d|_
        |j                  |j                                |j                          dj                  |      }|| k7  rt        d|d|       y	)
zEnsures that serialized is the serialization we expect for a message
  filled with SetAllFieldsAndExtensions().  (Specifically, ensures that the
  serialization is in canonical, tag-number order).
  r<   r  r  r  r  r   z	Expected z, found N)r   r!  r"  TestFieldOrderingsr  r   SerializeToStringClearr   r  r   join
ValueError)
serializedr!  r"  expected_stringsr
   expecteds         r   #ExpectAllFieldsAndExtensionsInOrderr-  |  s5   
 "22$88++-''.'3356	--/)+'%&'3356	--/''3356	--/,1'()'3356	--/''3356	--/XX&'(
*E
FF r   c                 :+   | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d	             | j                  |j                  d
             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             t        |      r | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  |j                  j                  d             | j                  |j                  j                  d             | j                  |j
                  j                  d             | j                  |j                  j                  d             | j                  |j                  d             | j                  |j                  d             t        |      r | j                  |j                  d             | j                  |j                  d             | j                  |j                  d             | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d |j                         | j                  d!|j                         | j                  d"|j                         | j                  d#|j                         | j                  d$|j                         | j                  d%|j                          | j                  d&|j"                         | j                  d'|j$                         | j                  d(|j&                         | j                  d)|j(                         | j                  d*|j*                         | j                  d+|j,                         t        |      r&| j                  d,|j                  j.                         | j                  d-|j                  j0                         | j                  d.|j
                  j2                         | j                  d/|j                  j4                         | j                  d0|j6                  j8                         | j                  d1|j:                  j0                         | j                  d2|j<                  j0                         | j                  t>        j@                  jB                  |jD                         | j                  t>        jF                  |jH                         t        |      r*| j                  tJ        jL                  |jN                         | j                  d3tQ        |jR                               | j                  d3tQ        |jT                               | j                  d3tQ        |jV                               | j                  d3tQ        |jX                               | j                  d3tQ        |jZ                               | j                  d3tQ        |j\                               | j                  d3tQ        |j^                               | j                  d3tQ        |j`                               | j                  d3tQ        |jb                               | j                  d3tQ        |jd                               | j                  d3tQ        |jf                               | j                  d3tQ        |jh                               | j                  d3tQ        |jj                               | j                  d3tQ        |jl                               | j                  d3tQ        |jn                               t        |      r%| j                  d3tQ        |jp                               | j                  d3tQ        |jr                               | j                  d3tQ        |jt                               | j                  d3tQ        |jv                               | j                  d3tQ        |jx                               | j                  d3tQ        |jz                               t        |      r%| j                  d3tQ        |j|                               | j                  d3tQ        |j~                               | j                  d3tQ        |j                               | j                  d4|jR                  d5          | j                  d6|jT                  d5          | j                  d7|jV                  d5          | j                  d8|jX                  d5          | j                  d9|jZ                  d5          | j                  d:|j\                  d5          | j                  d;|j^                  d5          | j                  d<|j`                  d5          | j                  d=|jb                  d5          | j                  d>|jd                  d5          | j                  d?|jf                  d5          | j                  d@|jh                  d5          | j                  d)|jj                  d5          | j                  dA|jl                  d5          | j                  dB|jn                  d5          t        |      r)| j                  dC|jp                  d5   j.                         | j                  dD|jr                  d5   j0                         | j                  dE|jt                  d5   j2                         | j                  dF|jv                  d5   j4                         | j                  dG|j                  d5   j0                         | j                  t>        j@                  j                  |jx                  d5          | j                  t>        j                  |jz                  d5          t        |      r-| j                  tJ        j                  |j|                  d5          | j                  dH|jR                  dI          | j                  dJ|jT                  dI          | j                  dK|jV                  dI          | j                  dL|jX                  dI          | j                  dM|jZ                  dI          | j                  dN|j\                  dI          | j                  dO|j^                  dI          | j                  dP|j`                  dI          | j                  dQ|jb                  dI          | j                  dR|jd                  dI          | j                  dS|jf                  dI          | j                  dT|jh                  dI          | j                  dU|jj                  dI          | j                  dV|jl                  dI          | j                  dW|jn                  dI          t        |      r)| j                  dX|jp                  dI   j.                         | j                  dY|jr                  dI   j0                         | j                  dZ|jt                  dI   j2                         | j                  d[|jv                  dI   j4                         | j                  d\|j                  dI   j0                         | j                  t>        j@                  jB                  |jx                  dI          | j                  t>        jF                  |jz                  dI          t        |      r-| j                  tJ        jL                  |j|                  dI          t        |      rm| j                  |j                  d]             | j                  |j                  d^             | j                  |j                  d_             | j                  |j                  d`             | j                  |j                  da             | j                  |j                  db             | j                  |j                  dc             | j                  |j                  dd             | j                  |j                  de             | j                  |j                  df             | j                  |j                  dg             | j                  |j                  dh             | j                  |j                  di             | j                  |j                  dj             | j                  |j                  dk             | j                  |j                  dl             | j                  |j                  dm             | j                  |j                  dn             | j                  do|j                         | j                  dp|j                         | j                  dq|j                         | j                  dr|j                         | j                  ds|j                         | j                  dt|j                         | j                  du|j                         | j                  dv|j                         | j                  dw|j                         | j                  dx|j                         | j                  dy|j                         | j                  dz|j                         | j                  dU|j                         | j                  d{|j                         | j                  d||j                         | j                  t>        j@                  j                  |j                         | j                  t>        j                  |j                         | j                  tJ        j                  |j                         y}y})~zFCheck all fields for correct values have after Set*Fields() is called.re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   rv   rx   rz   ru   rw   ry   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Tr   r   r   r   r   r    r!   r   r      r$   r   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   FrH   rI   rJ   rK   rL   rM   rN   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   N)Z
assertTrueHasFieldr   rt   rv   rx   rz   assertEqualre   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   ru   rw   ry   r{   r|   r}   r   r   r   r~   r   r   r   r   r   r   r   lenr   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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )	test_caser
   s     r   ExpectAllFieldsSetr5    s    w''(89:w''(89:w''(9:;w''(9:;w''(9:;w''(9:;w''(:;<w''(:;<w''(;<=w''(;<=w''(89:w''(9:;w''89w''(9:;w''(89:g))/:;w''(ABCw''(BCDw''(ABCw,,55c:;w66??EFw77@@EFw66??DEw''(>?@w''(?@Ag))*@ABw''(?@Aw''89W334W334W445W445W445W445W556W556W667W667W334W445g334w667 6 67g#w44667W<<??@W==??@W<<>>?WCCEEFW::==>WEEHHI115544600557g-88!668
 3w55673w55673w66783w66783w66783w66783w77893w77893w889:3w889:3w55673w66783w44563w66783w5567g!S!6!6783w>>?@3w??@A3w>>?@3w;;<=3w<<=>g!S!=!=>?3w<<=>3w4456W33A67W33A67W44Q78W44Q78W44Q78W44Q78W55a89W55a89W66q9:W66q9:W33A67W44Q78g33A67w66q9: 6 6q 9:g#w44Q799:W<<Q?BBCW==a@BBCW<<Q?AABW::1=@@A115544Q790055a8:g-88!66q9; W33A67W33A67W44Q78W44Q78W44Q78W44Q78W55a89W55a89W66q9:W66q9:W33A67W44Q78w44Q78w66q9: 6 6q 9:g#w44Q799:W<<Q?BBCW==a@BBCW<<Q?AABW::1=@@A115544Q790055a8:g-88!66q9;
 g))/:;))/:;))*:;<))*:;<))*:;<))*:;<))*;<=))*;<=))*<=>))*<=>))/:;))*:;<)).9:))*:;<))/:;))*?@A))*@AB))*?@A#w445#w445#w556#w556#w556#w556#w667#w667#w778#w778#w445#w556%!5!56%!7!78&'"7"78,3377!557,22!668-88!557S r   c                    d}t         j                  j                  |      rt         j                  j                  t         j                  j                  |d            r-t         j                  j                  |d|       }t	        |d      S t         j                  j                  |d      }t         j                  j                  |      rd}t         j                  j                  |d|       }t         j                  j                  |      rt	        |d      S t         j                  j                  d|       }t         j                  j                  |      rt	        |d      S t        d      )	zFFinds the given golden file and returns a file object representing it..zsrc/google/protobufzsrc/google/protobuf/testdatarbz..z'third_party/py/google/protobuf/testdataz9external/com_google_protobuf/src/google/protobuf/testdatazCould not find golden files.  This test must be run from within the protobuf source package so that it can read test data files from the C++ source tree.)ospathexistsr(  openRuntimeError)filenamer:  	full_paths      r   
GoldenFiler@  l  s
    
$
t	ww~~bggll4)>?@'',,t%CXNi)T""77<<d#D 	t 
$ggll4!J#%)WW^^I	4   ggllV#%)WW^^I	4  	 r   c                 d    t        |       5 }|j                         cddd       S # 1 sw Y   yxY w)z5Finds the given golden file and returns its contents.N)r@  read)r>  fs     r   GoldenFileDatarD    s*    ( q668  s   &/c                 h   | j                   j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j
                  j                  d	d
g       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  t        j                   t        j"                  g       y)zgSets every field in the message to a unique value.

  Args:
    message: A TestPackedTypes instance.
  ra     rb     [    \    ]    ^    _    `    a    b         @     8@      @     @@TFN)packed_int32extendpacked_int64packed_uint32packed_uint64packed_sint32packed_sint64packed_fixed32packed_fixed64packed_sfixed32packed_sfixed64packed_floatpacked_doublepacked_boolpacked_enumr   r   r   r	   s    r   SetAllPackedFieldsrk    sf    
sCj)	sCj)	Sz*	Sz*	Sz*	Sz*	c
+	c
+	  #s,	  #s,	uen-	u~.	dE]+	l66*668 9r   c                    | j                   }t        }||j                     j                  ddg       ||j                     j                  ddg       ||j
                     j                  ddg       ||j                     j                  ddg       ||j                     j                  d	d
g       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                     j                  ddg       ||j                      j                  t        j"                  t        j$                  g       y)z}Sets every extension in the message to a unique value.

  Args:
    message: A unittest_pb2.TestPackedExtensions instance.
  ra   rF  rb   rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  TFN)r   r   packed_int32_extensionr]  packed_int64_extensionpacked_uint32_extensionpacked_uint64_extensionpacked_sint32_extensionpacked_sint64_extensionpacked_fixed32_extensionpacked_fixed64_extensionpacked_sfixed32_extensionpacked_sfixed64_extensionpacked_float_extensionpacked_double_extensionpacked_bool_extensionpacked_enum_extensionr   r   )r
   r  r  s      r   SetAllPackedExtensionsr{    s    !!*#S''(//c
;S''(//c
;S(()00#s<S(()00#s<S(()00#s<S(()00#s<S))*113*=S))*113*=S**+22C:>S**+22C:>S''(//?S(()00%@S&&'..e}=S&&'..0H0H0<0H0H0J Kr   c                 h   | j                   j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j
                  j                  d	d
g       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  ddg       | j                  j                  t        j                   t        j"                  g       y)zvSets every field in the message to a unique value.

  Args:
    message: A unittest_pb2.TestUnpackedTypes instance.
  ra   rF  rb   rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  TFN)unpacked_int32r]  unpacked_int64unpacked_uint32unpacked_uint64unpacked_sint32unpacked_sint64unpacked_fixed32unpacked_fixed64unpacked_sfixed32unpacked_sfixed64unpacked_floatunpacked_doubleunpacked_boolunpacked_enumr   r   r   r	   s    r   SetAllUnpackedFieldsr    sf    
c
+	c
+	  #s,	  #s,	  #s,	  #s,	!!3*-	!!3*-	""C:.	""C:.	/	  %0	e}-	 8 8 , 8 8 : ;r   c                      e Zd ZdZd,dZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$ Z%d% Z&d& Z'd' Z(d( Z)d) Z*d* Z+d+ Z,y)-NonStandardIntegera  An integer object that does not subclass int.

  This is used to verify that both C++ and regular proto systems can handle
  integer others than int and long and that they handle them in predictable
  ways.

  NonStandardInteger is the minimal legal specification for a custom Integral.
  As such, it does not support 0 < x < 5 and it is not hashable.

  Note: This is added here instead of relying on numpy or a similar library
  with custom integers to limit dependencies.
  Nc                     t        |t        j                        sJ t        |t              r|j                  }|| _        || _        y N)
isinstancenumbersIntegralr  valerror_string_on_conversion)selfr  r  s      r   __init__zNonStandardInteger.__init__  s;    c7++,,,#)*GGcDH&@D#r   c                 n    | j                   rt        | j                         t        | j                        S r  )r  r=  longr  r  s    r   __long__zNonStandardInteger.__long__  s*    &&8899>r   c                 R    t        t        j                  | j                              S r  )r  operatorabsr  r  s    r   __abs__zNonStandardInteger.__abs__      hll488455r   c                 T    t        t        j                  | j                  |            S r  r  r  r   r  r  ys     r   __add__zNonStandardInteger.__add__      hll488Q788r   c                 T    t        t        j                  | j                  |            S r  r  r  divr  r  s     r   __div__zNonStandardInteger.__div__  r  r   c                 B    t        j                  | j                  |      S r  )r  eqr  r  s     r   __eq__zNonStandardInteger.__eq__  s    ;;txx##r   c                 T    t        t        j                  | j                  |            S r  r  r  floordivr  r  s     r   __floordiv__zNonStandardInteger.__floordiv__  s    h//!<==r   c                 T    t        t        j                  | j                  |            S r  r  r  truedivr  r  s     r   __truediv__zNonStandardInteger.__truediv__  s    h..txx;<<r   c                 R    t        t        j                  | j                              S r  )r  r  invertr  r  s    r   
__invert__zNonStandardInteger.__invert__  s    hoodhh788r   c                 T    t        t        j                  | j                  |            S r  r  r  modr  r  s     r   __mod__zNonStandardInteger.__mod__
  r  r   c                 T    t        t        j                  | j                  |            S r  r  r  mulr  r  s     r   __mul__zNonStandardInteger.__mul__  r  r   c                 R    t        t        j                  | j                              S r  )r  r  negr  r  s    r   __neg__zNonStandardInteger.__neg__  r  r   c                 R    t        t        j                  | j                              S r  )r  r  posr  r  s    r   __pos__zNonStandardInteger.__pos__  r  r   c                 T    t        t        j                  | j                  |            S r  r  r  powr  r  s     r   __pow__zNonStandardInteger.__pow__  r  r   c                 ,    t        | j                        S r  )intr  r  s    r   	__trunc__zNonStandardInteger.__trunc__  s    txx=r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __radd__zNonStandardInteger.__radd__      hll1dhh788r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rdiv__zNonStandardInteger.__rdiv__  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rmod__zNonStandardInteger.__rmod__"  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rmul__zNonStandardInteger.__rmul__%  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rpow__zNonStandardInteger.__rpow__(  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rfloordiv__z NonStandardInteger.__rfloordiv__+  s    h//488<==r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rtruediv__zNonStandardInteger.__rtruediv__.  s    h..q$((;<<r   c                 T    t        t        j                  | j                  |            S r  r  r  lshiftr  r  s     r   
__lshift__zNonStandardInteger.__lshift__1      hoodhh:;;r   c                 T    t        t        j                  | j                  |            S r  r  r  rshiftr  r  s     r   
__rshift__zNonStandardInteger.__rshift__4  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rlshift__zNonStandardInteger.__rlshift__7      hooa:;;r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rrshift__zNonStandardInteger.__rrshift__:  r  r   c                 z    t        |t              r|j                  }t        j                  | j                  |      S r  )r  r  r  r  ler  s     r   __le__zNonStandardInteger.__le__=  +    !'(
%%a;;txx##r   c                 z    t        |t              r|j                  }t        j                  | j                  |      S r  )r  r  r  r  ltr  s     r   __lt__zNonStandardInteger.__lt__B  r  r   c                 T    t        t        j                  | j                  |            S r  r  r  and_r  r  s     r   __and__zNonStandardInteger.__and__G  s    hmmDHHa899r   c                 T    t        t        j                  | j                  |            S r  r  r  or_r  r  s     r   __or__zNonStandardInteger.__or__J  r  r   c                 T    t        t        j                  | j                  |            S r  r  r  xorr  r  s     r   __xor__zNonStandardInteger.__xor__M  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rand__zNonStandardInteger.__rand__P  s    hmmAtxx899r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __ror__zNonStandardInteger.__ror__S  r  r   c                 T    t        t        j                  || j                              S r  r  r  s     r   __rxor__zNonStandardInteger.__rxor__V  r  r   c                     | j                   S r  r  r  s    r   __bool__zNonStandardInteger.__bool__Y      88Or   c                     | j                   S r  r  r  s    r   __nonzero__zNonStandardInteger.__nonzero__\  r  r   c                     | S r   r  s    r   __ceil__zNonStandardInteger.__ceil___      Kr   c                     | S r  r
  r  s    r   	__floor__zNonStandardInteger.__floor__b  r  r   c                 n    | j                   rt        | j                         t        | j                        S r  )r  r=  r  r  r  s    r   __int__zNonStandardInteger.__int__e  s*    &&8899txx=r   c                     | S r  r
  r  s    r   	__round__zNonStandardInteger.__round__j  r  r   c                      d| j                   z  S )NzNonStandardInteger(%s)r  r  s    r   __repr__zNonStandardInteger.__repr__m  s    #dhh..r   r  )-__name__
__module____qualname____doc__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  r  r  r  r   r  r  r  r  r  r  r  r  r
  r   r   r  r    s    A
699$>=99966999999>=<<<<$
$
:99:99
/r   r  )r  
__author__r  r  os.pathr9  google.protobufr   r   r  	NameErrorr  r   r   r   r  r#  r-  r5  r@  rD  rk  r{  r  r  r  r
  r   r   <module>r     s   > 3
    / (/\~4L1^
?G<O7dB9.K4;.S/)) S/W  	$s   A A$#A$