+
     Ii#  c                   sH    ^ RI t ^ RIt^ RIHt ^ RIHt  ! R R4      tR tR# )    N)escape_controls)parse_timestampc                   sr   a  ] tR t^t o R tR tR tR tRR ltR t	R t
R tR	 tR
 tR tR tR tRtV tR# )SharedExampleDocumenterc                s   VP                   P                  4        VP                  VP                  R4      4       VP                   P	                  4        V P                  W1W$P                  4       V P                  W1VP                  4       R# )a  Documents a single shared example based on its definition.

:param example: The model of the example

:param prefix: The prefix to use in the method example.

:param section: The section to write to.

:param operation_model: The model of the operation used in the example
ZdescriptionN)	stylenew_paragraphwritegetnew_linedocument_inputZinput_shapedocument_outputZoutput_shape)selfexampleprefixsectionoperation_models   &&&&&@/usr/lib/python3.14/site-packages/botocore/docs/sharedexample.pydocument_shared_exampleZ/SharedExampleDocumenter.document_shared_example   sj     	##%gkk-01 f&A&A	
 	W/K/KL    c                s(   VP                  R 4      pVP                  P                  4        Ve   VP                  V4       VP	                  R / 4      pVP	                  R4      pV'       d   VP	                  R 4      pVP                  R4      pV P                  WV. V4       VP                  R4      p	V	P                  P                  4        V	P                  P                  4        V	P                  R4       V	P                  P                  4        R# )ZinputNcommentsZ
parameterszinput-closezprint(response))add_new_sectionr   start_codeblockr   r   _document_paramsr   end_codeblock)
r   r   r   r   shapeZinput_sectionparamsr   param_sectionclosing_sections
   &&&&&     r   r	   Z&SharedExampleDocumenter.document_input*   s    //8++-'Wb);;z*||G,H%55lCmXr5I'77F&&(&&(/0++-r   c                s   VP                  R 4      pVP                  P                  4        VP                  R4       VP                  P                  4        VP                  P	                  4        VP                  R / 4      pRR/VR&   VP                  R4      pV'       d   VP                  R 4      pV P                  WEV. VR4       VP                  R4      pVP                  P                  4        R# )ZoutputzExpected Output:z...ZResponseMetadatar   Tzoutput-closeN)r   r   r   r   r   r   _document_dictr   )r   r   r   r   Zoutput_sectionr   r   r   s   &&&&    r   r
   Z'SharedExampleDocumenter.document_output;   s     00:%%'/0%%',,.Xr* ',U^!";;z*||H-HNHb%N(88H++-r   c                s   \        V\        4      '       d   V P                  WW4V4       R# \        V\        4      '       d   V P	                  WW4V4       R# \        V\
        P                  4      '       d   V P                  WV4       R# V'       d&   VP                  R8X  d   V P                  WV4       R# V P                  WV4       R# )a  
:param section: The section to add the docs to.

:param value: The input / output values representing the parameters that
              are included in the example.

:param comments: The dictionary containing all the comments to be
                 applied to the example.

:param path: A list describing where the documenter is in traversing the
             parameters. This is used to find the equivalent location
             in the comments dictionary.
Z	timestampN)Z
isinstanceZdictr   Zlist_document_listnumbersZNumber_document_number	type_name_document_datetime_document_str)r   r   valuer   pathr   s   &&&&&&r   	_documentZ!SharedExampleDocumenter._documentL   s     eT""Ft$$Fw~~..!!'$7u+5##GD9wt4r   c                s   VP                  R 4      pV P                  VR4       VP                  4        EF  w  rVP                  RV 24       VP                  V4      p
V
P                  P                  4        V P                  WC4      pV'       d,   V
P                  V4       V
P                  P                  4        V
P                  RV R24       RpV'       dK   VP                  R8X  d   VP                  P                  V4      pMVP                  R8X  d   VP                  pV P                  WW4V4       VP                  4        EK  	  VP                  R4      pV P                  VR	4       V'       g   VP                  R
4       R# R# )z
dict-valueZ{.'z': NZ	structureZmapzending-braceZ},)r   _start_nested_valueitemsappendr   r   _get_commentr   r    membersr   r#   r%   pop_end_nested_value)r   r   r#   r   r$   r   Z	top_levelZdict_sectionkeyvalitem_sectionitem_comment
item_shapeZdict_section_ends   &&&&&&&       r   r   Z&SharedExampleDocumenter._document_dicte   sE    ..|<  s3HCKK!C5	"'77<L''),,T<L""<0""++-3%s|, J??k1!&!2!23!7J__-!&JNN<hjIHHJ% && (77G/5""3' r   c                s   VP                  R 4      pV P                  VR4       VP                  4        F  w  rxVP                  RV 24       VP                  V4      p	V	P                  P                  4        V P                  WC4      p
V
'       d,   V	P                  V
4       V	P                  P                  4        V	P                  VR,           4       RpV'       d   VP                  P                  V4      pV P                  WW4V4       VP                  4        K  	  VP                  R4      pV P                  VR4       R# )zparam-valuesZ(r&   Z=Nzending-parenthesisZ))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   Zparam_section_end   &&&&&&       r   r   Z(SharedExampleDocumenter._document_params   s	   //?  4HCKK!C5	"(88=L''),,T<L""<0""++-sSy) J"]]..s3
NN<hjIHHJ &  *99:NO0#6r   c                s    VP                  R 4      pV P                  VR4       VP                  p\        V4       F  w  rVP                  V4      p
V
P                  P                  4        VP                  RV R24       V P                  WC4      pV'       d,   V
P                  V4       V
P                  P                  4        V P                  WW4V4       VP                  4        K  	  VP                  R4      pV P                  VR4       R# )zlist-sectionZ[Z]zending-bracketz],N)r   r)   ZmemberZ	enumerater   r   r+   r,   r   r%   r.   r/   )r   r   r#   r   r$   r   Zlist_sectionr4   Zindexr1   r2   r3   Zlist_section_endr5   r   r   Z&SharedExampleDocumenter._document_list   s    ..~>  s3\\
#E*JE'77>L'')KK!E7!%,,T<L""<0""++-NN<hjIHHJ + (778HI/6r   c                sF    \        V4      pVP                  R V R24       R# )r'   z',N)r   r   )r   r   r#   r$   Z
safe_values   &&&& r   r"   Z%SharedExampleDocumenter._document_str   s#     %U+
*R()r   c                s@    VP                  \        V4       R 24       R# )r(   N)r   str)r   r   r#   r$   s   &&&&r   r   Z(SharedExampleDocumenter._document_number   s    UA&'r   c                s    \        V4      P                  4       p\        V^ ,          4      p\        ^\	        V4      4       F"  pVR\        WF,          4      ,           ,          pK$  	  VP                  RV R24       R# )r    z, z	datetime(z),N)r   Z	timetupler6   ZrangeZlenr   )r   r   r#   r$   Zdatetime_tupleZdatetime_strZi   &&&&   r   r!   Z*SharedExampleDocumenter._document_datetime   sf    (/99;>!,-q#n-.AD3~'8#999L /	,r23r   c                s    \         P                  ! R RRP                  V4      4      pV'       d   W29   d   RW#,          ,           # R# )z^\.Z z# )reZsubZjoin)r   r$   r   r0   s   &&& r   r,   Z$SharedExampleDocumenter._get_comment   s3    ffVR/(-''r   c                s    VP                  V4       VP                  P                  4        VP                  P                  4        R # N)r   r   Zindent)r   r   Zstart   &&&r   r)   Z+SharedExampleDocumenter._start_nested_value   s.    er   c                s    VP                   P                  4        VP                   P                  4        VP                   P                  4        VP                  V4       R # r9   )r   Zdedentr   r   )r   r   Zendr:   r   r/   Z)SharedExampleDocumenter._end_nested_value   s>     cr    N)F)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r	   r
   r%   r   r   r   r"   r   r!   r,   r)   r/   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sL     M*."."52(:7,7"*(4
 r   r   c                s   V P                  R4      pVP                  P                  4        VP                  P                  R4       \	        4       pV F.  pVP                  VVP                  VR,          4      VVR7       K0  	  R# )a   Documents the shared examples

:param section: The section to write to.

:param operation_model: The model of the operation.

:param example_prefix: The prefix to use in the method example.

:param shared_examples: The shared JSON examples from the model.
zshared-examplesZExamplesZid)r   r   r   r   N)r   r   r   Zboldr   r   )r   r   Zexample_prefixZshared_examplesZcontainer_sectionZ
documenterr   r7   r   document_shared_examplesr<      s|      //0AB))+  ,(*J"**%55gdmD!+	 	+ 	
 #r   )r   r8   Zbotocore.docs.utilsr   Zbotocore.utilsr   r   r<   r;   r   r   <module>r=      s%     	 / *u up
r   