+
    bIih              
       r   R t RP                  4       tRt^ RIHt  ! R R4      tRRRRR	R
/RRRRR	R/RRRRR	R/RRRRR	R/RRRRR	R/.tR tR t	]
R8X  da   ^ t] FV  t]! ]R,          4      P                  ]R,          4      t]! ]R,          4      P                  ]R	,          4      t]^,          tKX  	  R# R# )z
Arciv Stream  ciphering
zArcIV encode decodez1.0)	isUnicodec                   <   a  ] tR t^	t o RtR tR tR tR tRt	V t
R# )ArcIVz
performs 'ArcIV' Stream Encryption of S using key
Based on what is widely thought to be RSA's ArcIV algorithm.
It produces output streams that are identical.

NB there is no separate decoder arciv(arciv(s,key),key) == s
c                2    Wn         V P                  4        R # )N)_keyreset)selfkeys   &&|C:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\reportlab/lib/arciv.py__init__ArcIV.__init__   s    )**,    c                   V P                   p\        V4      '       d   VP                  R4      p\        \	        R4      4      p\        \	        R4      4      p\        V4      pV F  pWV,          ,          R,          W5&   K  	  ^ p\	        R4       F;  pWbV,          ,           W5,          ,           R,          pW&,          W%,          uW%&   W&&   K=  	  V^ ^ uV n        V n        V n        R# )z&restore the cipher to it's start stateutf8   N)	r   r   encodelistrangelen_sbox_i_j)r   r	   sboxklkijs   &      r
   r   ArcIV.reset   s     			#s^^3::f-S	eCj	$
5:!
3x"a
"f+
14  !:a	q'	!$#1gtw47DG  "&q!$*dgtwr   c                2   V P                   V P                  V P                  rCp\        V\        4      '       d   \        VP                  R4      4      M)\        V\        4      '       d   \        V4      MVR,          p\        V4      p^ pWv8  d   V^,           R,          ;V n        pWBV,          ,           R,          ;V n        pW$,          W#,          uW#&   W$&   WW,          W"V,          W$,          ,           R,          ,          ,          WW&   V^,          pK  V# )zh
return the list of encoded bytes of B, B might be a string or a
list of integers between 0 <= i <= 255
r   :NNNr   )	r   r   r   
isinstancestrr   r   bytesr   )r   Br   r   r   Cnps   &&      r
   _encodeArcIV._encode*   s    
 zz477DGG1$ *1S 1 1d188F:aPUCVCVQ\]^_\`!	!f!!	a%347Q1g+$$47Qgtw47DG
$Aw(C/0
01461	
(r   c                6    \        V P                  V4      4      # )zArcIV encode string S)r!   r&   )r   Ss   &&r
   r   ArcIV.encode?   s    	t||A	r   )r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r&   r   __static_attributes____classdictcell__)__classdict__s   @r
   r   r   	   s#     ,**   r   r   r	   s   #Eginputoutputs   uŖs           s   tKys   A7]:s   #Es
             s
   ֡A<8߽as   s   uJ	xJR3I=vS4IwǊ+f]S՜&ĐmkGZDz^Ngy
2DOw&Vu ~Ī;B1zCݥ
m1xNIZΐrG_b	;S/GP#q2}DD2sg/]DgPuKpw#k[tG9mbt!=.Dn5Nw=5X\	)/fK@Uo')BdE]SL㢷UW&Rn#S[ٜs]=58g-{꥕ؿo	l lzb>L=3> UW"ԸiI՝NyXkKjtԛKK$7,U5I z=ṟ͆`:ԫ4=BXU@h<(MLXq7Tq&Ԟ'U@c                6    \        V4      P                  V 4      # )z.One-line shortcut for making an encoder objectr   r   textr	   s   &&r
   r   r      s    c
$r   c                6    \        V4      P                  V 4      # )zOne-line shortcut for decodingr6   r7   s   &&r
   decoder:      s     	c
$r   __main__N)r/   split__all____version__reportlab.lib.utilsr   r   _TESTSr   r:   r+   r   to r   r
   <module>rD      s%   	"'') )8  8 v 	,	.
/	 	,	.
/ 	,	.
/ 		6
7 	,	 3h 
 3mj1CJ  
 Z
QAeHoQwZ(!AeHoQx[)!q&!  r   