
    3jz                        d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZmZmZmZmZ ddlmZ ddlmZmZ ddlZ e       Z edddd      Zg g g g d	Z ed`i d
dddddddddddddddddddddd d!d"d#d$dd%d&d'd(d)d*d+d,d-d.Z eddd/d0d1d2d3d4d56	      Zded7<    ed8d9d:d;d<=      Z d> Z!d? Z"efd@Z# G dA dBe      Z$ G dC dDe      Z%dE Z& e       Z' G dF dGe      Z( G dH dI      Z) e e)g dJg dKdL       e)g dMg dNdO       e)g dPg dQdR       e)g dSg dTdU       e)g dVg dWdX      Y      Z* edZd[d\d]d^Y      Z+e,d_k(  rddl-Z- e-j\                          yy)a)AcroForm    )		PDFObjectPDFArrayPDFDictionary	PDFString	pdfdocEncPDFName	PDFStreamPDFStreamFilterZCompress	escapePDF)stringWidth)Color	CMYKColorWhiterBlackeropaqueColorfp_str)isStrasNativeN)visiblehiddenvisibleNonPrintinghiddenPrintable)r   Z      i  readOnly   required   noExport   noToggleToOffi @  radioi   
pushButtoni   radiosInUnisoni   	multilinei   passwordi    
fileSelecti   doNotSpellChecki  @ doNotScrolli   combi   richTextcomboi   editi   sorti   multiSelecti    commitOnSelChangei             @         i   )		invisibler   nozoomnorotatenoviewreadonlylockedtogglenoviewlockedcontentsprintSDBIU)soliddashedbevelledinset
underlinedc                     t        | t        t        |               }|dk(  r-|sdg}nt        |t        t
        f      s|g}t        |      |d<   t        |      S )N)WrB   rH      rC   )dictr	   	_bsStyles
isinstancelisttupler   r   )borderWidthborderStyledashLends       f/var/www/html/eeg-assistent/abrechnung/venv/lib/python3.12/site-packages/reportlab/pdfbase/acroform.pybsPDFrY   I   sX    {WY{%;<=AHcGGT%L1iG'"#    c                 8    t        |       j                  dd      S )N%z\045)r   replace)ss    rX   escPDFr_   S   s    Q<G,,rZ   c                 h    t        | t              s!| }d} |j                         D ]
  }| ||   z  }  | S )Nr   )rQ   intsplit)r^   rW   vxs       rX   	makeFlagsre   V   s=    a 	A1IA	HrZ   c                       e Zd Zd Zd Zy)PDFFromStringc                 D    t        |      st        d|z        || _        y )Nz$need a unicode/bytes argument not %r)r   
ValueError_s)selfr^   s     rX   __init__zPDFFromString.__init___   s!    QxCaGHHrZ   c                 ,    t        | j                        S N)r   rj   )rk   documents     rX   formatzPDFFromString.formatd   s    !!rZ   N__name__
__module____qualname__rl   rp    rZ   rX   rg   rg   ^   s    
"rZ   rg   c                       e Zd ZddZd Zy)
RadioGroupc                     |st        d      || _        t        |t              | _        g | _        || _        d | _        y )NzRadioGroup created with no name)ri   TUre   fieldFlagValuesFfkidsTV)rk   nametooltip
fieldFlagss       rX   rl   zRadioGroup.__init__h   s;    >??J7	rZ   c           	         | j                   }t        |      }|dk  rt        d| j                  |fz        t	        | j
                  t        | j                   D cg c]  }| c}      t        d      t        | j                              }| j                  rt        | j                        |d<   | j                  rt        | j                        |d<   t        |      j                  |      }|S c c}w )Nr    z#RadioGroup:%s has %d < 2 RadioBoxesBtn)r{   KidsFTr}   r~   ry   )r|   lenri   r}   rO   r{   r   r	   r   r~   ry   r   rp   )rk   docr|   rW   krs         rX   rp   zRadioGroup.formatq   s    yyIQ3j!F$&&QR!STT77DII 6q 67U^dff%	 66GDFFO1S677Ytww/AdG!##C( !7s   	C1N) noToggleToOff required radiorq   ru   rZ   rX   rw   rw   g   s    rZ   rw   c                     t        | t              r%ddj                  d | j                  D              z  S t        | t              r| j
                  S t        |       S )Nz[%s]r   c              3   2   K   | ]  }t        |        y wrn   _pdfObjToStr).0es     rX   	<genexpr>z_pdfObjToStr.<locals>.<genexpr>   s      GQa Gs   )rQ   r   joinsequencerg   rj   str)objs    rX   r   r      sF    #h G#,, GHHH#m$vvs8OrZ   c                      e Zd Zddddddddd	d
dddZd Zed        Zed        Zd Zd Z	d Z
d Zd Z	 	 	 	 	 	 	 	 	 dJdZedKd       Zd Zd  Zd! Z e ed"d"d"d#       ed"d"d"d#       ed$d%d"d"       ed&d&d&       ed&d&d&       ed'd(d)      d)*      Zd+ Zd, Zed-        Zd. Zdd/deeeeddd"d"ddd0d1dddfd2Zddddeeeeddd"d"ddd0d3dddfd4Zd5 Zddddddd6d7dd8g g d9d:fd;Zd< Z d=eeeedd6d7d"d"ddd0d=ddd>dddddfd?Z!d=eeeedd6d7d"d"ddd0d=ddd>dddfd@Z"d=eeeedd6d7d"d"ddd0d=ddddddg fdAZ#d=eeeedd6d7d"d"ddd0dBddddddg fdCZ$dD Z%dE Z&dF Z'dG Z(dH Z)edI        Z*y)Lr   HelvHeBoCourCoBoCoObCoBOHeObHeBOTimeTiBoTiItTiBI)	HelveticazHelvetica-BoldCourierzCourier-BoldzCourier-ObliquezCourier-BoldObliquezHelvetica-ObliquezHelvetica-BoldObliquezTimes-Romanz
Times-BoldzTimes-ItaliczTimes-BoldItalicc                     i | _         t        j                  |      | _        i | _        g | _        i | _        i | _        i | _        d | _	        i | _
        y rn   )referenceMapweakrefref_canvfontsfields_radios_refMap
_pdfdocencsigFlagsextras)rk   canvkwdss      rX   rl   zAcroForm.__init__   sK    [[&

rZ   c                     t         S rn   )_useDefaultrk   s    rX   
useDefaultzAcroForm.useDefault   s    rZ   c                 n    | j                         }|"t        d| j                  j                  z        |S )Nz%s.canv is no longer available)r   ri   	__class__rr   )rk   r   s     rX   r   zAcroForm.canv   s2    

==@W@WWXXrZ   c                 .    d|d| j                   |   dS )Nz
/Font << /  >>)r   )rk   fs     rX   fontRefzAcroForm.fontRef   s    '(A77rZ   c           
      b   t        t        | j                  D cg c]  }| j                  |       c}            }| j                  r| j                  |d<   | j
                  rt        t        | j
                  j                                     }|D cg c]  }| j                  |       }}t        d|d   z        |d<   t        d| j                  ddj                  |      d	      |d
<   |j                  | j                         t!        |      j#                  |      }|S c c}w c c}w )N)FieldsSigFlagsz/%s 0 Tf 0 gr   DAz<< /Encoding
<<
/RLAFencoding
z
>>

z
>>DR)rO   r   r   getRefr   r   rR   sortedkeysr   r   rg   	encRefStrr   updater   r   rp   )rk   r   r   rW   FKFr   s          rX   rp   zAcroForm.format   s    !4;;"Ga4;;q>"GH ==$--!J-::fTZZ__./0B*,-Qa-A-A 67AdG#Y]YgYghlhqhqrsht$uvAdG	!##C( #H
 .s   D'D,c                     ||j                   dk(  ryt        |t              r|j                         S |j	                         S )Nr   ru   )alpharQ   r   cmykrgb)rk   cs     rX   
colorTuplezAcroForm.colorTuple   s6     91%a	2qvvx??rZ   c                 ^    | j                  |      }t        | t        |      dk(  rdz   S dz   S )Nr"   z kz rgr   r   r   rk   r   ts      rX   streamFillColorzAcroForm.streamFillColor   1    OOAqz3q619488%88rZ   c                 ^    | j                  |      }t        | t        |      dk(  rdz   S dz   S )Nr"   z Kz RGr   r   s      rX   streamStrokeColorzAcroForm.streamStrokeColor   r   rZ   circlesquareNrG      rN   c           	         
 g j                   }
}|dk(  r |d       t        |      r j                  |      } |d       |t        |      r j                  |      }|dz  }
|z
  }|}|	dk(  r	 |d       n"|	dv r|	dk(  rd	t	        |      z  }nd
} |d       |	dv rXt        |      rMd|z  }
|z
  }|}t        |d      }|}|dk7  r||}} j                  |      } j                  |      } |d        |d       ns|dk(  rm 
fd}
dz  }t        |      r7 j                  |      } |d        | ||              |d        |d       |t        |      r |d        j                  |      }|dz  }
|z
  }|	dk(  r	 |d       n/|	dv r+|	dk(  rd}nd
} |d        | |||z
                |d        |d       |	dv rt        |      rd|z  }
|z
  }t        |d      }t        |d      }d}d}|	dk(  r||}}|dk7  r||}} j                  |      } j                  |      } |d        | |||z
  d|              |d         | |||z
  d|              |d!       |d"k(  rt        |      r# j                  |      } j                  |      }nd#}d$} |d%       t        |   }|dk(  r/|dk(  r* | t        
|z
  z
  d&      dz                |d       n ||j                  

|z
                |d       d'j                  |j                        t               z  j                  d(d)      j                  d*d'      } j                  

|t        d+      ,      S )-Nr   qz11 g 1 G %(streamFill)s 0 0 %(size)s %(size)s re f      ?rK   zC%(streamStroke)s %(borderWidth)s w 0 %(hbw)s m %(size)s %(hbw)s l srH   rJ   rI   rG   rH   z
 [%s ] 0 dr   zQ%(streamStroke)s%(dash)s %(borderWidth)s w %(hbw)s %(hbw)s %(smbw)s %(smbw)s re srI   rJ   r    rC   a5  %(bbs0)s %(borderWidth)s %(borderWidth)s m %(borderWidth)s %(smbw)s l %(smbw)s %(smbw)s l %(sm2bw)s %(sm2bw)s l %(_2bw)s %(sm2bw)s l %(_2bw)s %(_2bw)s l f %(bbs1)s %(smbw)s %(smbw)s m %(smbw)s %(borderWidth)s l %(borderWidth)s %(borderWidth)s l %(_2bw)s %(_2bw)s l %(sm2bw)s %(_2bw)s l %(sm2bw)s %(sm2bw)s l fQr   c                 ,     j                   | fi |S rn   )circleArcStream)_r_casKwdsrk   sizes     rX   <lambda>z%AcroForm.checkboxAP.<locals>.<lambda>  s    (<(<(<T"(Px(P rZ   zq 1 g 1 G %(streamFill)sr   zGq %(streamStroke)s %(borderWidth)s w 0 %(hbw)s m %(size)s %(hbw)s l s Qz	 [3 ] 0 dz*%(streamStroke)s%(dash)s %(borderWidth)s wr^   rN   )r   r   )r    rN   rJ   zq %(bbs0)s %(borderWidth)s wT)rotatedarcszS Q %(bbs1)s qzS QYes0 gz0 Gz'q %(textFillColor)s %(textStrokeColor)sr   r     r   

z<< /ProcSet [/PDF] >>	Resources)appendr   r   r   r   r   r   cbmarksmaxscaledRenderr   __self__varsr]   
makeStreamrg   )rk   keyvaluebuttonStyleshape	fillColorborderColor	textColorrT   rU   r   rV   streamds
streamFillstreamStrokehbwsmbwdash_2bwsm2bwbbs0bbs1casr   _3bwha0a1textFillColortextStrokeColorcbms   `         `                    rX   
checkboxAPzAcroForm.checkboxAP   s    (?3K9%!11)<
JK&;{+C#55kB!#ok),`a $II"H,+fWo=!no"66;y;Q[=D 4KEB"9S1D$DCx%)4d//5D//5D  S  T3KH_PCSA9%!11)<
12s1vss&;{+Cs#55kB!#oK',de $II"H,*!GH3qu:&3Ks"66;y;QcEEB"9S1D!)C0DBB"G+%)4dCx%)4d11$7D11$7D9:3qwt<=+,3qwt<=5M%<9% $ 4 4Y ?"&"8"8"C %"'<=+&Ch;#8sC47A.345ss''T"W563K))FOO,tv5>>tCHPPQWX\]dF)*AB   	rZ   Fc                    g j                   }|j                  j                  }| dz  }| dz  }| |z  } ||z  }||z  }t        d|z        }t        |      }t        |      }|rdnd}	 |d       d|v r |       dk(  r |d	        |d
       d|v r |       dk(  r |d        |d       d|v r |       dk(  r |d        |d       d|v r |       dk(  r |d        |d       dj	                  |j                        t               z  S )Nr   g      4@gh?z0.7071 0.7071 -0.7071 0.7071z1 0 0 1z%(mx)s %(hsize)s %(hsize)s cmr   r   z	%(r)s 0 mz#%(r)s %(cp)s %(cp)s %(r)s 0 %(r)s cz	0 %(r)s mz&-%(cp)s %(r)s -%(r)s %(cp)s -%(r)s 0 cr    z
-%(r)s 0 mz(-%(r)s -%(cp)s -%(cp)s -%(r)s 0 -%(r)s crN   z
0 -%(r)s mz%%(cp)s -%(r)s %(r)s -%(cp)s %(r)s 0 cr   )r   r   __len__r   r   r   )
r   r   r   r   Rrlenhsizer   cpmxs
             rX   r   zAcroForm.circleArcStreamB  s   IIzz!!s
4K	
	QGaK 1Iu/6+I	
)*9vqy!K.349vqy!K.679vqy!L/899vqy!L/56yy$tv--rZ   c                     t         |   }||z
  x}}|dz  }t        t        |d|            }||kD  r|||z  z  }|d||z
  z  z   }	d}
dt               z  S )N333333?ZapfDingbatsr   r   zCBT %(iFontName)s %(fs)s Tf %(dx)s %(dy)s Td %(fs)s TL (%(c)s) Tj ET)ZDSymsfloatr   r   )rk   r   r   r   	iFontNamerM   Hfswdxdys              rX   zdMarkzAcroForm.zdMark^  sm    1IRAsU+ar23Q3!A#IB#qs)^TW[W]]]rZ   c                 L    | j                   j                  j                  |      S rn   )r   _doc	Referencerk   r   s     rX   r   zAcroForm.getRefj  s    yy~~'',,rZ   c                 |    t        | j                  |      j                  | j                  j                              S rn   )r   r   rp   r   r&  r(  s     rX   	getRefStrzAcroForm.getRefStrm  s)    C(//		?@@rZ   r   ?gQ?gjt?g?g?g`"?r   )cmyk_textColorcmyk_borderColorcmyk_fillColorrgb_textColorrgb_borderColorrgb_fillColorrT   c                    d| j                   vr)| j                  j                  j                         | _        | j                         }||j	                         v r{d|v r@|d d dk(  rt        |t        t        f      rG|||<   y t        |t        t        f      r+|||<   y t         |t        t        t                    r|||<   y t        d|d|d      t        d|d|d      )	N_defaultValues_r"   r   z%Invalid value in acroForm.setDefault(,)z$Invalid name in acroForm.setDefault()__dict__r   r3  cloner   rQ   r   NoneTyper   r  ra   ri   )rk   r   r   rW   s       rX   
setDefaultzAcroForm.setDefaultz  s    4==0"&.."?"?"E"E"GD!1668d{8V#!%8(<="'$uX&67"'$E%H56$DTHAeYVWXYY?xq	QRSTTrZ   c                 b   t        |t              xs" t        |t              xs t        |t              }|s$t        | j                  j                  dd      dk7  }|rdnd}| j
                  }|t        ur|n||dz      |t        ur|n||dz      |t        ur|n||dz      |t        ur|fS |d   fS )	Nrr   _enforceRGBcmyk_rgb_r   r   r   rT   )rQ   r   getattrr   _enforceColorSpacer3  r   )rk   r   r   r   rT   pfxrW   s          rX   getDefaultszAcroForm.getDefaults  s    )I. 1)I.1+i0 	 '$))">">z-XZggCg&&k9	q[?Q*+=1SEVCW&k9	q[?Q*+= 	 DE]CS 	rZ   c                     | dk7  r3| dk(  rt         nt        }|||fD cg c]  }|	 ||d      nd  c}\  }}}|||fS c c}w )NNr  r+  )r   r   )r   r   br   funcr   s         rX   
varyColorszAcroForm.varyColors  sR    8 #X67DFG!WMAMT!C[t;MEAa1u Ns   >c                 
   |r | j                   }|j                          |j                          |5t        |	      r*d|z  }|j	                  |       |j                  |	       d}ndx}}|d|z  z  }|d|z  z  }||z  }||z  }t        |
      }|r|j                  |
       |dk(  r|j                  ||||||rdnd       n/t        ||      dz  }|j                  ||z   ||z   |||rdnd       |j                          y y )Nr   r   r   r    r   )strokefill)r   	saveStateresetTransformsr   setLineWidthsetStrokeColorsetFillColorrectminr   restoreState)rk   rd   ywidthheightforceBorderr   rU   rT   r   r   r   r  r^   doFillr   s                   rX   checkForceBorderzAcroForm.checkForceBorder  s   99DNN  "&;{+C+o!!+.##K0CQsUNEaeOFHAHA +F!!),h		!AeF!f!	Lf%+AaC!AQAQG/ rZ   checkrA   r   c                 p   |rdnd}| j                  ||||      \  }}}}| j                  }|r| j                  j                  |
|      \  }
}|j                  }i }dD ]  }i }| j	                  ||||      \  }}}dD ]  }| j                  ||||||||||	|      }|j                  | j                  v r| j                  |j                     }n*| j                  |      }|| j                  |j                  <   |||<    t        |      ||<   ~ t        t        d      |j                         t        |      t        |      t        |
||
|	z   ||	z   f      t        |      t        d      t        d      t        |t              t        |t               t        d	      
      }|rt#        |      |d<   |sdt%        | j&                        z  }|rt)        |||      |d<   t#        |      |d<   t        dt*        |   z        } |t        | j-                  |            | d<   |t        | j-                  |            | d<   t        |       |d<   t        |      }| j                  j/                  |       | j&                  j1                  | j                  |             | j3                  |
||	|	||||||
       y )Nr   OffNDR)r   r[  	r   r   r   r   r   rT   rU   r   rV   r   WidgetAnnotrD  )r   Pr~   ASRectAPSubtypeTyper   r{   r  ry   AFF%03dBSr}   (%s)CABCBGMK)rB  r   absolutePositionr&  rG  r  
_af_refstrr   r   r   rO   r	   thisPageRefr   re   annotationFlagValuesrz   r   r   r   rY   r  r   _addAnnotationr   rX  )!rk   checkedr   r   r   r   r   rT   rU   r   rd   rS  r   r   annotationFlagsr   rV  relativerV   initialValuer   r   rc  r   APVtCbCfCr   apr   CBrm  s!                                    rX   checkboxzAcroForm.checkbox  s   ( !(uU6:6F6FyQ\]fgr6s3	+iyy99--a2DAqii 	CCs9[KHBr"& __$'$)0;*/.002.00;0;)-,3 % & ==DLL0,,r}}5C++b/C25DLL/E
'( $C(BsG1	2 U^OO%L)\*1QtVAdF 34"2&!(+w'o.BCz/:#,  )BtHs4;;//D5[#I4D/3Vf[112" <=BtH 	 :;BtH $42		  $4;;r?+a$tKk+VabklrZ   r   c                    || j                   vrYt        |||      }| j                  |      |_        || j                   |<   | j                  j                  |j                         n@| j                   |   }t        |t              }||j                  k7  rt        d|d|d      |st        d|d|      |r|nd}| j                  ||||      \  }}}}||k(  r@|j                  -|j                  |k7  r%t        d|d|d|j                        ||_        | j                  }|r| j                  j                  ||      \  }}|j                  }i }d	D ]  }i }| j                  ||||      \  }}}|dfD ]  }| j!                  |||k(  rd
nd|||||||	|
|      }|j"                  | j$                  v r| j$                  |j"                     } n*| j                  |      } | | j$                  |j"                  <   | ||<    t'        |      ||<   ~ t)        t+        d      |j-                         t+        |      t/        ||||
z   ||
z   f      t'        |      t+        d      t+        d      t        |t0              |j                  t+        d      
      }!t)        dt2        |   z        }"|t/        | j5                  |            |"d<   |t/        | j5                  |            |"d<   |rt7        ||	|      |!d<   t'        |"      |!d<   t'        |!      }!| j                  j9                  |!       |j:                  j                  | j                  |!             | j=                  |||
|
|||	|||
       y )N)r   r   zradio..z created with different flagsz
bad value z for radio.r[  z% sets initial value conflicting with r\  r   r]  r   r^  r_  rD  )
r   r`  ra  rb  rc  rd  re  r   Parentr  rh  ri  rk  rl  rg  rm  )r   rw   r   _refr   r   re   rz   r{   ri   rB  r~   r   rn  r&  rG  r  ro  r   r   rO   r	   rp  r   rq  r  r   rY   rr  r|   rX  )#rk   r   selectedr   r   r   r   r   rT   rU   r   rd   rS  r   r   rt  r   rV  ru  rV   grouprv  r   r   rc  r   rw  rx  ry  rz  rc   r{  r   RBrm  s#                                      rX   r$   zAcroForm.radio  sO   * t||#tGzJEU+EJ!&DLLKKuzz*LL&E":o>J588# tTY!Z[[E$GHH (ue6:6F6FyQ\]fgr6s3	+iww"77E>$[_`efkfmfm%nooyy99--a2DAqii 	CCs9[KHBr"E] __$'-.XE50;*/.002.00;0;)-,3 % & ==DLL0,,r}}5C++b/C25DLL/A'( $C(BsG1	2 U^OO%\*1QtVAdF 34"2&!(+w'o.BC#, Vf[112" <=BtH 	 :;BtH5[#I4 $42		  $

$++b/*a$tKk+VabklrZ   c                 ~   t        g d      |d<   t        dd||g      |d<   t        d      |d<   t        d      |d<   d	|d
<   t        t        |      || j                  j
                  j                  rt               gnd       }|dj                  d t        |j                               D              z   |_        |S )N)      ?        r  r  r  r  Matrixr   BBoxFormrd  XObjectre  r   FormType)filtersr   c              3   B   K   | ]  \  }}|d t        |        yw)=Nr   )r   r   rc   s      rX   r   z&AcroForm.makeStream.<locals>.<genexpr>  s     (d31QAl1o)F(ds   )r   r	   r
   r   r   r&  compressionr   r   r   itemsro  )rk   rT  rU  r   rC   r^   s         rX   r   zAcroForm.makeStreamu  s     89(a%/0&	v)I&&	*a :>))..:T:T356Z^ dii(dRXYZY`Y`YbRc(deerZ   x   $   	textfieldz0.600006 0.756866 0.854904 rgr   c           
      $   g }|j                   }t        |      r| j                  |      } |d       dx}}|}|}d}|
d k7  rP|
dkD  rKt        |      r@|
dz  }||
z
  }||
z
  }d|
z  }|dv r2||z
  }||z
  }|dk(  rd}|s|rd	}nd
}nd}d
} |d       n
dx}x}}
|}|}d}t        |      rH|
rF| j                  |      } |dk(  r	 |d       n'|dv r#|dk(  rdt	        |      z  }!d}nd|
z  }! |d       d|
z  }"||"z
  }#||"z
  }$t        |	      r| j                  |	      nd}% |d       d|z  }&|dk(  r`t        |$|&z        }'|$t        |'      z  }&|'t        |      kD  rd}(t        |      }'nGt        |      dk  r)|r|d   nd}(|(r.|(|'k  rd}(n&t        |      |'z
  })|(|)k\  r|)}(n|d   |'k  rd}(n|d   }(t        |      }*|(|'z   })|)|*kD  r|)|*z
  }(t        |*|(|'z         }+|r?|(})||z
  |&z
  }* ||       |)|+k  r(|)|v r |dt	        |*      z         |*|&z  }*|)dz  })|)|+k  r(|(})||z
  |z
  }* |d       |)|+k  r |d       |)|(k(  r |d        ||)|v r|nd        |d t	        |*      d!t        ||)         d"       |*|&z  }*|)dz  }) |d#       |)|+k  r_n |d       |r |d$        |d%t	        ||z
  |z
        z         |j                  d&      D ]$  }, |d't        |,      d(t	        |&       d)       & |d*   d |d*   j                  d&       |d*<    |d#       t	        |&      }& |d+       d&j                  |      t               z  j                  d,d-      j                  d.d&      }| j                  |||t!        d/t               z        0      S )1Nz,%(streamFill)s
0 0 %(width)s %(height)s re
fr   r   r   r    r   rI   z1 gz-0.250977 0.749023 -0.250977 rgz.75293 gz	.501953 ga)  %(bbs0)s
%(borderWidth)s %(borderWidth)s m
%(borderWidth)s %(bwh)s l
%(bww)s %(bwh)s l
%(bw2w)s %(bw2h)s l
%(_2bw)s %(bw2h)s l
%(_2bw)s %(_2bw)s l
f
%(bbs1)s
%(bww)s %(bwh)s m
%(bww)s %(borderWidth)s l
%(borderWidth)s %(borderWidth)s l
%(_2bw)s %(_2bw)s l
%(bw2w)s %(_2bw)s l
%(bw2w)s %(bw2h)s l
frK   zD%(streamStroke)s %(borderWidth)s w 0 %(hbw)s m %(width)s %(hbw)s l sr   rH   z
[%s ] 0 d
z[] 0 dz
%s wz>%(streamStroke)s
%(dash)s
%(hbw)s %(hbw)s %(bww)s %(bwh)s re
sr"   r   z5/Tx BMC 
q
%(_2bw)s %(_2bw)s %(w4bw)s %(h4bw)s re
W
nr  listboxr   z(%%(_2bw)s %s %%(w4bw)s %%(leading)s re
fz0 g
0 G
%(undash)sBTz/%(iFontName)s %(fontSize)s Tfz%(textFill)sz	%(_4bw)s z Td
(z) TjETz.BT
/%(iFontName)s %(fontSize)s Tf
%(textFill)sz1 0 0 1 %%(_4bw)s %s Tmr   (z) Tj
0 z TdzQ
EMC
r   r   r   z/<< /ProcSet [/PDF /Text] /Font %(rFontName)s >>r   )r   r   r   r   r   ra   r  r   rQ  r_   rb   rfindr   r   r]   r   rg   )-rk   r   r   r  	rFontNamefontSizer   r   r   r   rT   rU   rT  rU  rV   wkindlabelsrE   sel_bgsel_fg_streamr   r  r  r  bwwbwhundashbw2wbw2hr  r	  r  r  _4bww4bwh4bwtextFillleadingnoptsi0irS  ilimlines-                                                rX   txAPzAcroForm.txAP  sK   * y!--i8JCD dQ;{3Kc/C+%C;&C[=D22t|}*, D K@)&D%D  R  S'((C($CC{#11+>LL(]^ EE(*VG_<D%F#k1DZ[}t|}6A)6L4''	2RWJK.)W%E5<'GS[ FQQqTA%xK%/q5!"BQ4:B1BFAU
AsQBqE?DTMG+vfAvJVTUYVWLAFA f A(A)*D&tb5;<av^<VAYvfQi?PQRWQt D& )*IJ06&8:Kd:R3SST!KK- QDfgX>NOPQ &bk*B72;+<+<T+BCt/z))G$tv-66tC@HHPTUvv)*[^b^d*de   	rZ   c                     |d}|| j                   vrt        d|z        | j                   |   }| j                  t        d|d|d| j                  d            }|| j
                  vr|| j
                  |<   ||fS )Nr   z7form font name, %r, is not one of the standard 14 fontsz<< /BaseFont /z /Subtype /Type1 /Name /z /Type /Font /Encoding r   )formFontNamesri   r*  rg   r   r   )rk   fontNamefnr   s       rX   makeFontzAcroForm.makeFont  s    "H4---VYaabb)nn] DNN,4 5 6TZZ DJJrNBwrZ   r   d   c                 
   | j                  |      \  }}|d uxs
 |d uxs |d u}|d}| j                  ||||      \  }}}}| j                  }|r| j                  j                  |	|
      \  }	}
|j                  }d|d|d}t        |t              }|dk7  rd}|dk(  r|t        d   z  }g }g }g } g }!g }"t        |t        t        f      st        |d	|d
      |D ]  }#t        |#      r|j                  t        |#             |#}$nqt        |#t        t        f      rJt        |#      dk(  r|#d   x}#}$n|#\  }$}#|j                  t        t        |#      t        |$      g             nt        |d|#d
      | j                  |#       |"j                  |$        t        |      }|rt        |t        t        f      s|g}|D ]n  }#|#| vr.|#|"vrt!        |d|#d| d|"      | |"j#                  |#         }#|!j                  | j#                  |#             |j                  t        |#             p |!j%                          |t        d   z  rt        |      dk(  r|dk(  r	|"|!d      }n|d d }|d d }t        |      dk(  r|d   n
t        |      }t'        |"|!|      }%n8t        |      }n,g x}!}i }%d}t        |      st        d|z        t        |      }i } dD ]  }&| j)                  |&|||      \  }'}(}) | j*                  |&||||f|)|(|'|||||d%}*|*j,                  | j.                  v r| j.                  |*j,                     }+n*| j1                  |*      }+|+| j.                  |*j,                  <   |+| |&<    t'        t3        |      |j5                         ||t        |	|
|	|z   |
|z   f      t7        |       t3        d      t3        d      t        |t8              |
      }"|r2t;        |      r| j=                  |      nd},t        d|||,fz        |"d<   |r||"d<   |!rt        |!      |"d<   |r||"d<   |rt        |      |"d <   |sd!t        | j>                        z  }t        |      |"d"<   i }-|t        | jA                  |            |-d#<   |r/tC        |||      |"d$<   |t        | jA                  |            |-d%<   |-rt7        |-      |"d&<   t7        |"      }"| j                  jE                  |"       | j>                  j                  | j1                  |"             | jG                  |	|
|||d'||||
       y )(N   z<</r   z>>r  Chchoicer.   z	 options=z is wrong typer   r   z option z value z is not in option
values z
or labels r1   )r  rE   r  Txz textfield value=%r is wrong typerD  )r   r   r   rT   rU   rT  rU  rV   r^  r_  )
r   r`  r~   DVrb  rc  rd  re  r   r{   r   z/%s %d Tf %sr   OptrE   MaxLenry   rf  r}   rl  rg  rk  rm  r   )$r  rB  r   rn  r&  re   rz   rQ   rR   rS   	TypeErrorr   r   r   r   r   ri   indexr0   rO   rG  r  ro  r   r   r	   rp  r   rq  r   r   r   r   rY   rr  rX  ).rk   r   r   r   r   rT   rU   rT  rU  rd   rS  r   r   rt  r   rV  ru  maxlenr  r  r  optionsrV   r  r  	_write_dar   r   r{   r   r~   r  rc  rE   TFrc   llbextrasr   rx  ry  rz  r{  r   da_colorrm  s.                                                 rX   
_textfieldzAcroForm._textfield  sZ   0  $}}X6	9
 T)YXT-AYXUYEY	H6:6F6FyQ\]fgr6s3	+iyy99--a2DAqii$-i8	z/2+ Bhog..ACBABgtEl3w OPP 8JJy|,A4,/1vqyaD!!JJx1il(CDE#E!$LMM		!		! 3-C!%e5"GE +A{B;",hmnoprsu-v"ww "288A;AHHRXXa[)HHYq\*+ _];;E
Ah "1Q4 %bq	"1AFAIAaD8A;rAE:e$LAHB< BU JKK% A 	Cs9[KHBr"!%%$ ')(*&((3(3"'#)&- 'B  }},ll2==1kk"o.1R]]+BsG/	2 R[OO%1QuWQvX 67"2&!(+w'o.BC" :Ei:Pt++I6V[H 9Xx2P!PQBtHC5	bg!BxL )BtHs4;;//DD/3 	 :;BtH [W=BtH&#DOOK$@A4$R(BtH2		  $4;;r?+a%{8KP[\ghqrrZ   c                 N    | j                  |||||||||	|
||||||||||d      S )Nr  )r   r   r   r   rT   rU   rT  rU  rd   rS  r   r   rt  r   rV  ru  r  r  r  rV   r  r  )rk   r   r   r   r   rT   rU   rT  rU  rd   rS  r   r   rt  r   rV  ru  r  r  r  rV   s                        rX   r  zAcroForm.textfield  sY    , #'#'' /%'!!!!+   	rZ   c                 P    | j                  |||||||||	|
||||||||||d|      S )Nr  r   r   r   r   rT   rU   rT  rU  rd   rS  r   r   rt  r   rV  ru  r  r  r  rV   r  r  r  rk   r   r   r   r   rT   rU   rT  rU  rd   rS  r   r   rt  r   rV  ru  r  r  rV   r  r  s                         rX   r  zAcroForm.listbox  s\    . #'#'' /%'!!!!-   	rZ   r.   c                 P    | j                  |||||||||	|
||||||||||d|      S )Nr  r  r  r  s                         rX   r  zAcroForm.choice#  s\    . #'#'' /%'!!!!-   	rZ   c                 2    d|d<    | j                   di | y)zSsame as checkbox except the x and y are relative to the canvas coordinate transformTru  Nru   )r}  rk   r   s     rX   checkboxRelativezAcroForm.checkboxRelativeS  s    ZrZ   c                 2    d|d<    | j                   di | y)zPsame as radio except the x and y are relative to the canvas coordinate transformTru  Nru   )r$   r  s     rX   radioRelativezAcroForm.radioRelativeX  s    Z

TrZ   c                 2    d|d<    | j                   di | yzTsame as textfield except the x and y are relative to the canvas coordinate transformTru  Nru   r  r  s     rX   textfieldRelativezAcroForm.textfieldRelative]      ZrZ   c                 2    d|d<    | j                   di | yr  r  r  s     rX   listboxRelativezAcroForm.listboxRelativeb  r  rZ   c                 2    d|d<    | j                   di | yr  r  r  s     rX   choiceRelativezAcroForm.choiceRelativef  r  rZ   c                 p    | j                   st        d      | _         | j                  | j                         S )Na  <</Type /Encoding /Differences [24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis]>>)r   rg   r*  r   s    rX   r   zAcroForm.encRefStrk  s/    +  -M  NDO~~doo..rZ   )	r   r   NNNNrG   r   rN   ))r   r   r    rN   F)+rr   rs   rt   r  rl   propertyr   r   r   rp   r   r   r   r  staticmethodr   r$  r   r*  rO   r   r   r3  r:  rB  rG  rX  r   r}  r$   r   r  r  r  r  r  r  r  r  r  r  r  r   ru   rZ   rX   r   r      sI    !%#!'"
M	    8@99 %  #l\ . .6	^-A '01Qs';)21Qq)='0eAa'@&+CC&8(-c#c(:&+Ca&8$%NU,   6 #%'%'# '%!%Qmh $%'%'# '9!'amF6   #!6'FP
 %'%'# '!-fsR %'%'# '!),^ %'%'# '!+.` %'%'# '"!+.`



 / /rZ   r   c                   @    e Zd Zdj                         ZdZddZddZy)CBMarkzm l c h)r   r   rN   r   c                 d    || _         |\  | _        | _        | _        | _        || _        || _        y rn   )opsxminyminxmaxymaxpointsslack)rk   r  r  boundsr  s        rX   rl   zCBMark.__init__u  s-    28/	$)DIdi
rZ   c           	         |d|z  z
  x}}| j                   | j                  | j                  z
  }| j                  z
  }| j                  t        ||      z  }|d|z  z
  t        |      z  |d|z  z
  t        |      z  t              x|z  }|z  }|||z
  dz  z   |||z
  dz  z   fd}fd}	| j                  }
| j                  }g j                  }d}| j                  }| j                  D ]L  }||   }t        |      D ],  } | |||                 | |	||dz                   |dz  }.  ||
|          N  |d       dj                  |j                        S )	a  
        >>> print(cbmarks['check'].scaledRender(20))
        12.97075 14.68802 m 15.00139 17.16992 l 15.9039 18.1727 17.93454 18.67409 19.2883 18.67409 c 19.46379 18.27298 l 17.13231 15.51532 l 11.91783 8.62117 l 8.307799 3.030641 l 7.430362 1.526462 l 7.305014 1.275766 7.154596 .97493 6.9039 .824513 c 6.577994 .674095 5.825905 .674095 5.47493 .674095 c 4.672702 .674095 4.497214 .674095 4.321727 .799443 c 4.071031 .97493 3.945682 1.325905 3.770195 1.67688 c 3.218663 2.830084 2.240947 5.337047 2.240947 6.590529 c 2.240947 7.016713 2.491643 7.21727 2.817549 7.442897 c 3.344011 7.818942 4.0961 8.245125 4.747911 8.245125 c 5.249304 8.245125 5.299443 7.818942 5.449861 7.417827 c 5.951253 6.239554 l 6.026462 6.038997 6.252089 5.337047 6.527855 5.337047 c 6.778552 5.337047 7.079387 5.913649 7.179666 6.089136 c 12.97075 14.68802 l h f
        >>> print(cbmarks['cross'].scaledRender(20))
        19.9104 17.43931 m 12.41908 10 l 19.9104 2.534682 l 18.37572 1 l 10.9104 8.491329 l 3.445087 1 l 1.910405 2.534682 l 9.427746 10 l 1.910405 17.46532 l 3.445087 19 l 10.9104 11.50867 l 18.37572 19 l 19.9104 17.43931 l h f
        >>> print(cbmarks['circle'].scaledRender(20))
        1.872576 9.663435 m 1.872576 14.64958 5.936288 18.61357 10.89751 18.61357 c 15.8338 18.61357 19.87258 14.59972 19.87258 9.663435 c 19.87258 4.727147 15.8338 .688366 10.89751 .688366 c 5.936288 .688366 1.872576 4.677285 1.872576 9.663435 c h f
        >>> print(cbmarks['star'].scaledRender(20))
        10.85542 18.3253 m 12.90361 11.84337 l 19.84337 11.84337 l 14.25301 7.650602 l 16.42169 1 l 10.85542 5.096386 l 5.289157 1 l 7.481928 7.650602 l 1.843373 11.84337 l 8.759036 11.84337 l 10.85542 18.3253 l h f
        >>> print(cbmarks['diamond'].scaledRender(20))
        17.43533 9.662031 m 15.63282 7.484006 l 10.85118 .649513 l 8.422809 4.329624 l 5.919332 7.659249 l 4.267038 9.662031 l 6.16968 12.0153 l 10.85118 18.64951 l 12.75382 15.4701 15.00695 12.49096 17.43533 9.662031 c h f
        r    r   c                 ,    t        | z
  z  z         S rn   r   )rc   r"  sxr  s    rX   r   z%CBMark.scaledRender.<locals>.<lambda>      ${2~. rZ   c                 ,    t        | z
  z  z         S rn   r   )rc   r#  syr  s    rX   r   z%CBMark.scaledRender.<locals>.<lambda>  r  rZ   r   r   r   r   )r  r  r  r  r  rQ  r  opNamesopCountr   r  r  ranger   r   )rk   r   r   rM   r  r!  hr  xscyscr  r  Cr  r  opr   r4  r"  r#  r  r  r  r  s                     @@@@@@rX   r   zCBMark.scaledRender{  s    qtAyyyyIIdNIIdN

3q8#!E'k58#!E'k58#b*R	R	RQ^Q^..,,,,II(( 	BA1X #fQi.!#fQqSk"#Q gbkN	 	
#xx

##rZ   N)g?)r   )rr   rs   rt   rb   r  r  rl   r   ru   rZ   rX   r  r  q  s    ooGG+$rZ   r  )r   r   r    r   r   r   r   r   r    r    r    r    r    r    r    r    r   r    r    r   rN   )T  "  i  i  C  i  i    i  r    i  it  r  i  i0  i  Q                  r     i      r     r     r  |   r  u   ik   r  f      _      I   r  "      r     r     ,      9   i  N     l   !     r     r     r     r8                  r     r     r              r  r  )r  ir  i  )r   r   r   r   r   r   r   r   r   r   r   r   r   rN   )  x  i  Z  r.  ;     r   }  i   ^   r   #   r1  iD  r0  r5  iy  r4    r3  i  r2  r6  r.  r/  )r5  r   r.  r6  )r   r    r    r    r    rN   )r5  r0  r5  r     r    r  S  r    i   r:  r0  r:     r9  r8  r<  r7  r<  r5     r5  r0  )r5  r<  r:  r  )r   r   r   r   r   r   r   r   r   r   r   rN   )  r  i      r?  i&    i  r<  r>  r!     r<  i  rA  r5  r?  iB  r?  r>  r  )r5  r<  r@  r  )
r   r   r   r   r   r   r   r   r    rN   )0  r0  i  i  )  r<        r  i
  r  r0  n   i  rD  r  iu  iB  i  i  rC  r0  )r  r<  rC  r  )rY  crossr   stardiamond45r  rD  u__main__ru   )/__all__reportlab.pdfbase.pdfdocr   r   r   r   r   r	   r
   r   r   reportlab.pdfbase.pdfmetricsr   reportlab.lib.colorsr   r   r   r   r   reportlab.lib.rl_accelr   reportlab.lib.utilsr   r   r   objectr   rO   visibilitiesorientationsrz   rq  rP   rY   r_   re   rg   rw   r   _NotSetr   r  r   r  rr   doctesttestmodru   rZ   rX   <module>r[     sp  ] ] ] 4 O O ) / H#$ !	 	     !&	
  # "' " ! # #( $  !$ %& '( )* $+, %*-2 "!!!%#'
  # W 	- ' "I " 8 (c/y c/J5$ 5$n S g$
 > M"
 & S$
 8 B$
 2 B$+
6 #CsC@zGOO rZ   