+
    i+&                         ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt Rt	]P                  ! R4      tRt] P                  ! R4      tR	R
RRR/RR
RRR/RR
RRR/RR
RRR//tR^R^R^/t ! R R4      t ! R R]4      tR# )    N)OrderedDict)DocStringParser)	ReSTStylez&https://docs.aws.amazon.com/index.htmlzX`AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/[a-z0-9-.]*/[a-zA-Z]*>`_z

    **{}**
    ::

        # This section is too large to render.
        # Please see the AWS API Documentation linked below.

    {}
    bcdocszresponse-examplenamezResponse Syntax
line_limiti  descriptionzResponse Structurei  zrequest-examplezRequest Syntaxzrequest-params
Parametersz
client-apizpaginator-apiz
waiter-apic                   l   a  ] tR t^2t o RR ltR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )ReSTDocumentc                    \        V 4      V n        Wn        \        V 4      V n        R V n        RV n        / V n        / V n        . V n	        RV n
        R# )TFN)r   styletargetr   parser	keep_datado_translationtranslation_maphrefs_writes_last_doc_string)selfr   s   &&=/usr/lib/python3/dist-packages/botocore/docs/bcdoc/restdoc.py__init__ReSTDocument.__init__3   sK    t_
%d+#!
 $    c                p    V P                   '       d$   Ve   V P                  P                  V4       R # R # R # N)r   r   appendr   ss   &&r   _writeReSTDocument._write>   s(    >>>amLL" ,>r   c                (    V P                  V4       R# )z"
Write content into the document.
N)r!   r   contents   &&r   writeReSTDocument.writeB   s     	Gr   c                b    V P                  V P                  P                  4        V R24       R# )z
Write content on a newline.

N)r!   r   spacesr$   s   &&r   writelnReSTDocument.writelnH   s)     	tzz((*+G9B78r   c                (    V P                   R,          # )zV
Returns the last content written to the document without
removing it from the stack.
r   r   s   &r   
peek_writeReSTDocument.peek_writeN   s    
 ||Br   c                n    \        V P                  4      ^ 8  d   V P                  P                  4       # R# )z<
Removes and returns the last content written to the stack.
N)lenr   popr0   s   &r   	pop_writeReSTDocument.pop_writeU   s,     &)%6%:t||!DDr   c                <    V P                   P                  V4       R# )z"
Places new content on the stack.
N)r   r   r   s   &&r   
push_writeReSTDocument.push_write[   s     	Ar   c                *   V P                   '       dY   V P                  P                  4        V P                   P                  4        F   w  rV P                  P	                  W4       K"  	  RP                  V P                  4      P                  R4      # )z:
Returns the current content of the document as a string.
 utf-8)r   r   new_paragraphitemslink_target_definitionjoinr   encode)r   refnamelinks   &  r   getvalueReSTDocument.getvaluea   sf     :::JJ$$&!%!1!1!3

11'@ "4wwt||$++G44r   c                `    V Uu. uF  q P                   P                  W"4      NK  	  up# u upi r   )r   get)r   wordsws   && r   translate_wordsReSTDocument.translate_wordsk   s)    8=>1$$((.>>>s   #+c                d    V'       d(   V P                   '       d   V P                  V4       R # R # R # r   )r   r!   )r   datas   &&r   handle_dataReSTDocument.handle_datan   s     DNNNKK #4r   c                f   V'       dk    \        V P                  4      pV P                  P                  V4       V P                  P	                  4        \        V P                  4      pW#3V n        R# R#   \         d1    \        P                  R RR7       \        P                  T4        R# i ; i)zError parsing doc stringT)exc_infoN)	r4   r   r   feedcloser   	ExceptionLOGdebug)r   
doc_stringstartends   &&  r   include_doc_stringReSTDocument.include_doc_stringr   s    &DLL)  ,!!#$,,').%   &		4t	D		*%&s   A'A5 57B0/B0c                ^    V P                   e   V P                   w  rV P                  W1 R # R # r   )r   r   )r   rY   rZ   s   &  r   remove_last_doc_string#ReSTDocument.remove_last_doc_string~   s.      ,..JEUY' -r   )	r   r   r   r   r   r   r   r   r   N)man)__name__
__module____qualname____firstlineno__r   r!   r&   r+   r1   r6   r9   rE   rK   rO   r[   r^   __static_attributes____classdictcell__)__classdict__s   @r   r   r   2   sG     	%#9 E5?
&( (r   r   c                      a a ] tR t^t oRV 3R llt]R 4       t]R 4       t]P                  R 4       t]R 4       t	]R 4       t
R tRR ltR	 tR
 tR tRR ltR tR tR tR tR tRtVtV ;t# )DocumentStructurec                   < \         SV `  VR7       Wn        \        4       V n        V P                  .V n        / V n        Ve   W@n        Ve   V P                  V4       R# R# )a  Provides a Hierarichial structure to a ReSTDocument

You can write to it similiar to as you can to a ReSTDocument but
has an innate structure for more orginaztion and abstraction.

:param name: The name of the document
:param section_names: A list of sections to be included
    in the document.
:param target: The target documentation of the Document structure
:param context: A dictionary of data to store with the strucuture. These
    are only stored per section not the entire structure.
)r   N)superr   _namer   
_structure_path_context_generate_structure)r   r   section_namesr   context	__class__s   &&&&&r   r   DocumentStructure.__init__   s[     	'
%-jj\
#M$$$]3 %r   c                    V P                   # )z"The name of the document structure)rl   r0   s   &r   r   DocumentStructure.name   s     zzr   c                    V P                   # )z^
A list of where to find a particular document structure in the
overlying document structure.
rn   r0   s   &r   pathDocumentStructure.path   s     zzr   c                    Wn         R # r   rx   )r   values   &&r   ry   rz      s    
r   c                ,    \        V P                  4      # r   )listrm   r0   s   &r   available_sections$DocumentStructure.available_sections   s    DOO$$r   c                    V P                   # r   )ro   r0   s   &r   rr   DocumentStructure.context   s    }}r   c                :    V F  pV P                  V4       K  	  R # r   )add_new_section)r   rq   section_names   && r   rp   %DocumentStructure._generate_structure   s    )L  . *r   c                   V P                  WP                  VR7      pV P                  V.,           Vn        V P                  P                  VP                  n        V P
                  Vn        V P                  Vn        W0P                  V&   V# )a7  Adds a new section to the current document structure

This document structure will be considered a section to the
current document structure but will in itself be an entirely
new document structure that can be written to and have sections
as well

:param name: The name of the section.
:param context: A dictionary of data to store with the strucuture. These
    are only stored per section not the entire structure.
:rtype: DocumentStructure
:returns: A new document structure to add to but lives as a section
    to the document structure it was instantiated from.
)r   r   rr   )rs   r   ry   r   indentationr   r   rm   )r   r   rr   sections   &&& r   r   !DocumentStructure.add_new_section   st      ..kk7 ! 
 yyD6)$(JJ$:$:!"&"6"6

 'r   c                (    V P                   V,          # )zRetrieve a sectionrm   r   r   s   &&r   get_sectionDocumentStructure.get_section   s    t$$r   c                    WP                   9   # r   r   r   s   &&r   has_sectionDocumentStructure.has_section   s    &&r   c                     V P                   V R# )zDelete a sectionNr   r   s   &&r   delete_section DocumentStructure.delete_section   s    OOD!r   c                   \        V P                  4      pV^8X  dl   V P                  '       dY   V P                  P	                  4        V P                  P                  4        F   w  r4V P                  P                  W44       K"  	  M-V\        P                  V P                  ^,          4      8X  d   RpV P                  4       pV P                  P                  4        Fk  w  rg\        P                  VP                  4       4      pV'       d#   VP                  ^ 4       R2P                  4       MTpWWP!                  V4      ,          pKm  	  \        VP#                  4       4      p	\$        P                  V P&                  4      p
Ve   VP                  4       M\(        pV
'       d9   WR,          8  d,   \*        P-                  V
R,          V4      P                  4       pV# )zFlushes a doc structure to a ReSTructed string

The document is flushed out in a DFS style where sections and their
subsections' values are added to the string as they are visited.
Nz

r   r   )r4   ry   r   r   r>   r?   r@   SECTION_METHOD_PATH_DEPTHrH   rE   rm   DOCUMENTATION_LINK_REGEXsearchdecodegrouprB   flush_structure
splitlinesSECTION_LINE_LIMIT_CONFIGr   DEFAULT_AWS_DOCS_LINKLARGE_SECTION_MESSAGEformat)r   	docs_linkpath_lengthrC   rD   r|   r   r   match
line_countsection_configaws_docs_links   &&          r   r   !DocumentStructure.flush_structure   sx    $))n!zzz

((*%)ZZ%5%5%7MGJJ55gD &8 599$))A,GGI!__224MD -33ELLNCE495;;q>"$'..0y  ,,Y77E 5 ))+,
266tyyA $ & 	
 j,+GG)00v&fh  r   c                V    R P                  V P                  4      P                  R4      # )r<   r=   )rA   r   rB   r0   s   &r   rE   DocumentStructure.getvalue
  s     wwt||$++G44r   c                $    \        4       V n        R # r   )r   rm   r0   s   &r   remove_all_sections%DocumentStructure.remove_all_sections  s    %-r   c                    . V n         R # r   r/   r0   s   &r   
clear_textDocumentStructure.clear_text  s	    r   c                ^    V P                  R 4      pVP                  P                  V4       V# )title)r   r   h1)r   r   title_sections   && r   add_title_section#DocumentStructure.add_title_section  s,    ,,W5u%r   c                `   \         P                  P                  V4      '       g   \         P                  ! V4       \         P                  P	                  W R 24      p\        VR4      ;_uu_ 4       pVP                  V P                  4       4       RRR4       R#   + '       g   i     R# ; i)z.rstwbN)osry   existsmakedirsrA   openr&   r   )r   	full_path	file_namesub_resource_file_pathfs   &&&  r   write_to_fileDocumentStructure.write_to_file  so    ww~~i((KK	"!#i;d9K!L($//1GGD((*+ 0///s   2 BB-	)ro   rl   rn   rm   r   )Nr`   Nr   )ra   rb   rc   rd   r   propertyr   ry   setterr   rr   rp   r   r   r   r   r   rE   r   r   r   r   re   rf   __classcell__)rs   rg   s   @@r   ri   ri      s     4.     
[[  % %  /6%'"(T5(
, ,r   ri   )loggingr   rebotocore.compatr   #botocore.docs.bcdoc.docstringparserr   botocore.docs.bcdoc.styler   r   compiler   r   	getLoggerrV   r   r   r   ri    r   r   <module>r      s     	 	 ' ? /@ ::I 	  !!2L$GF0,E 0,Ev|\4@	  !Q! P( P(fX, X,r   