
    d                         d Z ddl ddl ddl ddlmZmZ dZdZdZ	e
ZeZeZeZeZeZddlZddlZd	 Z ee      Z ee      Z ee      Z ee      Z  ee!      Z" ee!      Z# ee$      Z% ee&      Z'g d
Z(y)a  
    ####                                                               ####
   ##     ####  ##  ##  #### ###### #####  ##  ##  #### ######        ##  ##
   ##    ##  ## ### ## ##      ##   ##  ## ##  ## ##      ##    ####      ##
   ##    ##  ## ######  ###    ##   #####  ##  ## ##      ##            ##
   ##    ##  ## ## ###    ##   ##   ##  ## ##  ## ##      ##          ##
    ####  ####  ##  ## ####    ##   ##  ##  #####  ####   ##          ######

                 Parsing made even more fun (and faster too)

Homepage:
    http://construct.wikispaces.com (including online tutorial)

Typical usage:
    >>> from construct import *

Hands-on example:
    >>> from construct import *
    >>> s = Struct("foo",
    ...     UBInt8("a"),
    ...     UBInt16("b"),
    ... )
    >>> s.parse("\x01\x02\x03")
    Container(a = 1, b = 515)
    >>> print s.parse("\x01\x02\x03")
    Container:
        a = 1
        b = 515
    >>> s.build(Container(a = 1, b = 0x0203))
    "\x01\x02\x03"
   )*)ProbeDebuggerz)tomer filiba (tomerfiliba [at] gmail.com)z*Corbin Simpson <MostAwesomeDude@gmail.com>z2.06    Nc                 B     t        j                          fd       }|S )Nc                  f    t        j                  dj                  z  t        d        | i |S )Nz'This name is deprecated, use %s instead   )
stacklevel)warningswarn__name__DeprecationWarning)argskwargsfs     =/usr/lib/python3/dist-packages/elftools/construct/__init__.pywrapperzdeprecated.<locals>.wrapper?   s2    5

B1	. $!&!!    )	functoolswraps)r   r   s   ` r   
deprecatedr   >   s%    __Q" "
 Nr   )AdaptationErrorAdapterAliasAlignedAlignedStructAnchorArray
ArrayErrorBFloat32BFloat64BitBitFieldBitIntegerAdapterBitIntegerError	BitStructBitsBitwiseBufferedByteBytesCStringCStringAdapterConstConstAdapter
ConstError	ConstructConstructError	Containerr   EmbedEmbeddedEmbeddedBitStructEnumExprAdapterField
FieldErrorFlagFlagsAdapterFlagsContainer	FlagsEnumFormatFieldGreedyRangeGreedyRepeaterHexDumpAdapterIf
IfThenElseIndexingAdapterLFloat32LFloat64	LazyBoundLengthValueAdapterListContainerMappingAdapterMappingError	MetaArray	MetaBytes	MetaFieldMetaRepeaterNFloat32NFloat64NibbleNoneOfNoneOfValidatorOctetOnDemandOnDemandPointerOneOfOneOfValidator	OpenRangeOptionalOptionalGreedyRangeOptionalGreedyRepeaterPaddedStringAdapterPaddingPaddingAdapterPaddingErrorPascalStringPassPeekPointerPrefixedArrayr   Range
RangeErrorReconfigRenameRepeatUntilRepeaterRestreamSBInt16SBInt32SBInt64SBInt8SLInt16SLInt32SLInt64SLInt8SNInt16SNInt32SNInt64SNInt8SelectSelectErrorSequenceSizeofErrorSlicingAdapterStaticFieldStrictRepeaterStringStringAdapterStructSubconstructSwitchSwitchErrorSymmetricMapping
TerminatorTerminatorErrorTunnelTunnelAdapterUBInt16UBInt32UBInt64UBInt8ULInt16ULInt32ULInt64ULInt8UNInt16UNInt32UNInt64UNInt8UnionValidationError	ValidatorValueMagic))__doc__coreadaptersmacrosdebugr   r   
__author____maintainer____version__r#   r'   r   r*   r9   r+   r/   r.   r   r   r5   r4   r   r   r   rO   rN   r@   rA   r]   r^   rh   rm   r   r   rP   rY   rZ   rT   rU   __all__ r   r   <module>r      s   @    " 9
=
 	  y!	K(#$78 eE"% E"V$
r   