§
    9xÅjN  ã                   ó,   — d dl mZ  G d„ d¦  «        ZdS )é    )Úis_json_value_headerc                   ó>   — e Zd ZdZ	 d	d„Z	 	 	 	 d
d„Zd„ Zd„ Zd„ ZdS )ÚShapeDocumenterÚ Nc                 óX   — || _         || _        || _        || _        |€di i| _        d S d S )NÚspecial_shape_types)Ú_service_nameÚ_operation_nameÚ_event_emitterÚ_context)ÚselfÚservice_nameÚoperation_nameÚevent_emitterÚcontexts        úDC:\Projects\Historical\venv\Lib\site-packages\botocore/docs/shape.pyÚ__init__zShapeDocumenter.__init__   s?   € ð *ˆÔØ-ˆÔØ+ˆÔØˆŒØˆ?Ø2°BÐ7ˆDŒMˆMˆMð ˆ?ó    Fc           
      ó´  — |j         }t          |di ¦  «                             d¦  «        rd}|j        |v r|                      |||¬¦  «         dS |                     |j        ¦  «         t          |¦  «        dk    }	t          |d¦  «        r	|j        rd} t          | d|› �| j	        ¦  «        |||||||	|¬	¦  «         |	r7| j
                             d
| j        › d| j        › d| j        › d|› �|¬¦  «         t          |¦  «        dk    }
|
r5| j
                             d
| j        › d| j        › d| j        › d�|¬¦  «         |                     ¦   «          dS )aÿ  Traverses and documents a shape

        Will take a self class and call its appropriate methods as a shape
        is traversed.

        :param section: The section to document.

        :param history: A list of the names of the shapes that have been
            traversed.

        :type include: Dictionary where keys are parameter names and
            values are the shapes of the parameter names.
        :param include: The parameter shapes to include in the documentation.

        :type exclude: List of the names of the parameters to exclude.
        :param exclude: The names of the parameters to exclude from
            documentation.

        :param name: The name of the shape.

        :param is_required: If the shape is a required member.
        ÚserializationÚeventstreamÚevent_stream)Únameé   Úis_document_typeÚdocumentÚdocument_shape_type_)Úhistoryr   ÚincludeÚexcludeÚis_top_level_paramÚis_requiredzdocs.ú.)Úsectioné   z.complete-sectionN)Ú	type_nameÚgetattrÚgetr   Údocument_recursive_shapeÚappendÚlenÚhasattrr   Údocument_shape_defaultr   ÚemitÚ
EVENT_NAMEr	   r
   Úpop)r   r$   Úshaper   r   r    r   r"   Ú
param_typer!   Úat_overlying_method_sections              r   Útraverse_and_document_shapez+ShapeDocumenter.traverse_and_document_shape#   sË  € ð@ ”_ˆ
Ý�5˜/¨2Ñ.Ô.×2Ò2°=ÑAÔAð 	(Ø'ˆJØŒ:˜Ð Ð Ø×)Ò)¨'°5¸tÐ)ÑDÔDÐDÐDÐDà�NŠN˜5œ:Ñ&Ô&Ð&Ý!$ W¡¤°Ò!2ÐÝ�uÐ0Ñ1Ô1ð (°eÔ6Lð (Ø'�
ð�GØØ3 zÐ3Ð3ØÔ+ñô ð
 ØØØØØØ#5Ø'ðñ ô ð ð "ð ØÔ#×(Ò(Ø`˜DœOÐ`Ð`¨dÔ.@Ð`Ð`À4ÔCWÐ`Ð`ÐZ^Ð`Ð`Ø#ð )ñ ô ð õ +.¨g©,¬,¸!Ò*;Ð'Ø*ð ØÔ#×(Ò(Øj˜DœOÐjÐj¨dÔ.@ÐjÐjÀ4ÔCWÐjÐjÐjØ#ð )ñ ô ð ð �KŠK‰MŒMˆMˆMˆMr   c                 ó>   — ddddddœ}|                       ||¦  «        S )Nz({...}|[...]|123|123.4|'string'|True|Nonezb'bytes'|filezStreamingBody()zEventStream()©Údocument_typeÚjsonvalue_headerÚstreaming_input_shapeÚstreaming_output_shapeÚeventstream_output_shape©Ú_get_value_for_special_type)r   r1   Úspecial_defaultss      r   Ú_get_special_py_defaultz'ShapeDocumenter._get_special_py_defaulth   s7   € àIØ LØ%6Ø&7Ø(7ð
ð 
Ðð ×/Ò/°Ð7GÑHÔHÐHr   c                 ó>   — ddddddœ}|                       ||¦  «        S )Nz:ref:`document<document>`zJSON serializablez"bytes or seekable file-like objectz:class:`.StreamingBody`z:class:`.EventStream`r6   r<   )r   r1   Úspecial_type_namess      r   Ú_get_special_py_type_namez)ShapeDocumenter._get_special_py_type_namer   s7   € à8Ø 3Ø%IØ&?Ø(?ð
ð 
Ðð ×/Ò/°Ð7IÑJÔJÐJr   c                 óä   — t          |¦  «        r|d         S t          |d¦  «        r|j        r|d         S | j        d                              ¦   «         D ]\  }}||v r||k    r
||         c S Œd S )Nr8   r   r7   r   )r   r,   r   r   Úitems)r   r1   Úspecial_type_mapÚspecial_typeÚmarked_shapes        r   r=   z+ShapeDocumenter._get_value_for_special_type|   s�   € Ý Ñ&Ô&ð 	8Ø#Ð$6Ô7Ð7Ý�5Ð,Ñ-Ô-ð 	5°%Ô2Hð 	5Ø# OÔ4Ð4Ø*.¬-Ø!ô+
ç
Š%‰'Œ'ð	:ð 	:Ñ&ˆL˜,ð Ð/Ð/Ð/Ø˜LÒ(Ð(Ø+¨LÔ9Ð9Ð9Ð9øØˆtr   )N)NNNF)	Ú__name__Ú
__module__Ú__qualname__r/   r   r4   r?   rB   r=   © r   r   r   r      sŽ   € € € € € Ø€Jð DHð8ð 8ð 8ð 8ð ØØØðCð Cð Cð CðJIð Ið IðKð Kð Kðð ð ð ð r   r   N)Úbotocore.utilsr   r   rK   r   r   ú<module>rM      sU   ðð& 0Ð /Ð /Ð /Ð /Ð /ðqð qð qð qð qñ qô qð qð qð qr   