o ?Og@sr ddlZddlmZddlmZgdZGdddeZGdddeZd d Z Gd d d Z Gd ddZ dS)N)BytesIOwraps)ErrorPackerUnpackerConversionErrorc@s&eZdZ ddZddZddZdS)rcC ||_dSN)msg)selfr r -/opt/alt/python310/lib64/python3.10/xdrlib.py__init__ zError.__init__cC t|jSr )reprr r r r r__repr__rzError.__repr__cCrr )strr rr r r__str__rz Error.__str__N)__name__ __module__ __qualname__rrrr r r rrs   rc@s eZdZdS)rN)rrrr r r rr srcs tfdd}|S)Nc s8z||WStjy}zt|jddd}~wwNr)structerrorrargs)r valueefunctionr rresult&s  z&raise_conversion_error..resultr)r!r"r r rraise_conversion_error#sr#c@seZdZ ddZddZddZeZeddZed d Z e Z d d Z d dZ e Z eddZeddZddZeZddZeZeZddZddZddZdS)rcCs |dSr resetrr r rr2 zPacker.__init__cCs t|_dSr )r _Packer__bufrr r rr%5r&z Packer.resetcCs |jSr )r'getvaluerr r r get_buffer8rzPacker.get_buffercC|jtd|dS)N>Lr'writerZpackr xr r r pack_uint=zPacker.pack_uintcCr*)N>lr,r.r r rpack_intAr1zPacker.pack_intcCs$|r |jddS|jddS)Nss)r'r-r.r r r pack_boolGszPacker.pack_boolc Csz ||d?d@Wnttjfy"}zt|jddd}~wwz ||d@WdSttjfyD}zt|jddd}~ww)N lr)r0 TypeErrorrrrr)r r/rr r r pack_uhyperKszPacker.pack_uhypercCr*)N>fr,r.r r r pack_floatWr1zPacker.pack_floatcCr*)N>dr,r.r r r pack_double[r1zPacker.pack_doublecCsP|dkrtd|d|}|ddd}||t|d}|j|dS)Nr fstring size must be nonnegative) ValueErrorlenr'r-)r nsdatar r r pack_fstring_s  zPacker.pack_fstringcCs"t|}|||||dSr )rAr0rE)r rCrBr r r pack_stringis zPacker.pack_stringcCs*|D] }|d||q|ddS)Nr)r0)r list pack_itemitemr r r pack_listqs  zPacker.pack_listcCs*t||kr td|D]}||q dS)Nzwrong array size)rAr@)r rBrHrIrJr r r pack_farrayws  zPacker.pack_farraycCs$t|}||||||dSr )rAr0rL)r rHrIrBr r r pack_array}s zPacker.pack_arrayN)rrrrr%r)Zget_bufr#r0r3Z pack_enumr4r7Z pack_hyperr9r;rEZ pack_fopaquerFZ pack_opaqueZ pack_bytesrKrLrMr r r rr/s4      rc@seZdZ ddZddZddZddZd d Zd d Zd dZ ddZ e Z ddZ ddZ ddZddZddZddZeZddZeZeZdd Zd!d"Zd#d$Zd%S)&rcCs||dSr r$r rDr r rrszUnpacker.__init__cCs||_d|_dSr)_Unpacker__buf_Unpacker__posrNr r rr%s zUnpacker.resetcC|jSr rPrr r r get_positionzUnpacker.get_positioncCr r rR)r Zpositionr r r set_positionrzUnpacker.set_positioncCrQr )rOrr r rr)rTzUnpacker.get_buffercCs|jt|jkr tddS)Nzunextracted data remains)rPrArOrrr r rdonesz Unpacker.donecCB|j}|d|_}|j||}t|dkrttd|dS)Nr>r+rrPrOrAEOFErrorrZunpackr ijrDr r r unpack_uint  zUnpacker.unpack_uintcCrW)Nr>r2rrXrZr r r unpack_intr^zUnpacker.unpack_intcCs t|Sr )boolr_rr r r unpack_boolr&zUnpacker.unpack_boolcCs |}|}t|d>|BS)Nr5)r]int)r hilor r r unpack_uhyperszUnpacker.unpack_uhypercCs|}|dkr |d}|S)Nll)rer.r r r unpack_hyperszUnpacker.unpack_hypercCrW)Nr>r8rrXrZr r r unpack_floatr^zUnpacker.unpack_floatcCrW)Nr:rrXrZr r r unpack_doubler^zUnpacker.unpack_doublecCsT|dkrtd|j}||ddd}|t|jkrt||_|j|||S)Nrr<r=r>)r@rPrArOrY)r rBr[r\r r runpack_fstringszUnpacker.unpack_fstringcCs|}||Sr )r]rj)r rBr r r unpack_strings zUnpacker.unpack_stringcCsBg} |}|dkr |S|dkrtd|f|}||q)NrGrz0 or 1 expected, got %r)r]rappend)r unpack_itemrHr/rJr r r unpack_lists zUnpacker.unpack_listcCs"g}t|D]}||q|Sr )rangerl)r rBrmrHr[r r r unpack_farrays zUnpacker.unpack_farraycCs|}|||Sr )r]rp)r rmrBr r r unpack_arrays zUnpacker.unpack_arrayN)rrrrr%rSrUr)rVr]r_Z unpack_enumrarerfrgrirjZunpack_fopaquerkZ unpack_opaqueZ unpack_bytesrnrprqr r r rrs0  r) rior functoolsr__all__ Exceptionrrr#rrr r r rs   U