+
    ŒvjIk ã                   ó@  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ t^ tRt^ RIHtHtHtHt  ! R R	4      tR
 tR t^ RIHt R tR tR t]3R ltR t ! R R4      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//t ! R0 R1]4      t R2 t!RgR4 lt" ! R5 R6]4      t# ! R7 R84      t$ ! R9 R:4      t% ! R; R<]%4      t& ! R= R>]%4      t' ! R? R@]'4      t( ! RA RB]'4      t) ! RC RD]%4      t* ! RE RF4      t+RG t,RgRH lt-RhRI lt. ! RJ RK4      t/]/! 4       t0 ! RL RM]/4      t1 ! RN RO]14      t2 ! RP RQ]14      t3RR t4RSt5RTt6RU t7]1! RV4      t8RiRjRkRlRW]3RX]
3RmRn.]4! RY4      ,           RZ]83.,           ]4! R[4      ,           R\]83RoRW]3RpRX]
3RmRn.,           ]4! R]4      ,           RoRW]3RqRrRmRnRiRs.,           ]4! R^4      ,           RZ]03.,           ]4! R_4      ,           R\]03RtR`RaRuRbRaRtRcRaRvRjRwRoRW]3RxRyRmRn.,           ]4! Rd4      ,           RvRo.,           t9Re t:];Rf8X  d
   ]:! 4        R3# R3# )za!  new experimental paragraph implementation

Intended to allow support for paragraphs in paragraphs, hotlinks,
embedded flowables, and underlining.  The main entry point is the
function

def Paragraph(text, style, bulletText=None, frags=None)

Which is intended to be plug compatible with the "usual" platypus
paragraph except that it supports more functionality.

In this implementation you may embed paragraphs inside paragraphs
to create hierarchically organized documents.

This implementation adds the following paragraph-like tags (which
support the same attributes as paragraphs, for font specification, etc).

- Unnumberred lists (ala html)::

    <ul>
        <li>first one</li>
        <li>second one</li>
    </ul>


Also <ul type="disc"> (default) or <ul type="circle">, <ul type="square">.

- Numberred lists (ala html)::

    <ol>
        <li>first one</li>
        <li>second one</li>
    </ol>

Also <ul type="1"> (default) or <ul type="a">, <ul type="A">.

- Display lists (ala HTML):

For example

<dl bulletFontName="Helvetica-BoldOblique" spaceBefore="10" spaceAfter="10">
<dt>frogs</dt> <dd>Little green slimy things. Delicious with <b>garlic</b></dd>
<dt>kittens</dt> <dd>cute, furry, not edible</dd>
<dt>bunnies</dt> <dd>cute, furry,. Delicious with <b>garlic</b></dd>
</dl>

ALSO the following additional internal paragraph markup tags are supported

<u>underlined text</u>

<a href="http://www.reportlab.com">hyperlinked text</a>
<a href="http://www.reportlab.com" color="blue">hyperlinked text</a>

<link destination="end" >Go to the end (go to document internal destination)</link>
<link destination="start" color="cyan">Go to the beginning</link>

<setLink destination="start" color="magenta">This is the document start
  (define document destination inside paragraph, color is optional)</setLink>

©ÚstringWidth)Úfp_str)ÚFlowable©Úcolors)Ú_baseFontNamegñhãˆµøä>)ÚTA_LEFTÚ	TA_CENTERÚTA_RIGHTÚ
TA_JUSTIFYc                   ó€   a € ] tR t^Ut o RR ltRtR tR tRR ltR t	R t
R tR	 tR
 tR tR tR tR tR tRtV tR# )ÚparagraphEngineNc                óè   € ^ RI Hp Vf   . p. V n        Wn        R;V n        V n        RV n        RV n        ^
V n        ^V n	        W n
        R;V n        ;V n        V n        ^ RIHp W0n        . V n        R# )é    ©ÚblackNç        Ú	Helvetica)r	   )Úreportlab.lib.colorsr   ÚlineOpHandlersÚprogramÚindentÚrightIndentÚ
baseindentÚfontNameÚfontSizeÚleadingÚ	fontColorÚxÚyÚriseÚreportlab.lib.enumsr	   Ú	alignmentÚtextStateStack)Úselfr   r   r	   s   &&  Ú[/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/platypus/para.pyÚ__init__ÚparagraphEngine.__init__W   sq   € Ý.ØŠ?ØˆGØ ˆÔØŒØ),Ð,ˆŒ�dÔ&ØˆŒØ#ˆŒØˆŒØˆŒØŒØ&)Ð)ˆŒÐ)�”˜$œ)Ý/Ø ŒØ ˆÖó    c                óš   € . pV P                    F  p\        W4      pVP                  V4       K!  	  V P                  V.,           V n        V# ©N)ÚTEXT_STATE_VARIABLESÚgetattrÚappendr$   ©r%   ÚstateÚvarÚvals   &   r&   ÚpushTextStateÚparagraphEngine.pushTextStatem   sK   € ØˆØ×,Ô,ˆCÜ˜$Ó$ˆCØ�L‰L˜Öñ -ð #×1Ñ1°5°'Õ9ˆÔð ˆr)   c                ó¼   € V P                   R,          pV P                   RR V n         VR,          pV P                   F  pV^ ,          pV^  \        WV4       K  	  R# )é   NºNNNéÿÿÿÿ)r$   r,   Úsetattrr/   s   &   r&   ÚpopTextStateÚparagraphEngine.popTextStatex   s\   € Ø×#Ñ# BÕ'ˆØ"×1Ñ1°#°2Ð6ˆÔà�a•ˆð ×,Ô,ˆCØ˜•(ˆCØ�a�Ü�D˜sÖ#ó -r)   c                ó  € V P                   P                  4       pVR,          p. pTpV'       d   W@n        ^p	^ p
V'       Ed‚   V	'       Edy   V P                  pV P                  pW,
          V,
          pV P                   P                  4       pV\
        8  d,   \        RV P                  : RV P                  : RV: 24      h V P                  Wa4      w  pppppppT
T,           p
T P                  pY„8”  d
   Y„,
          pM^ p	T P                   P                  T4       EM¤T P                  pTTR pT'       g   TR T\        8X  d)   T'       d   \        TT4      pMT P                  T4      pEM(T\        8X  d;   T'       d   \        TT4      pMT P                  T4      pT P                  TTT4      pMãT\        8X  d;   T'       d   \        TT4      pMT P                  T4      pT P!                  TTT4      pMžT\"        8X  dy   T'       d3   T'       d+   T'       d   \%        TTT4      pMmT P'                  TTT4      pMYT'       d   \        TT4      pMT P                  T4      p\(        '       d   \+        R4       M\        R\-        T4      ,           4      hT'       g   T P/                  T4      pTP1                  T4       EKŠ  V P                   P                  4       pV P                   P                  V4       W(,
          pWvVV3#    h ; i)	zCreturn program with line operations added if at least one line fitsr7   zindents Ú z too wide for space Nz2no justify because line is not full or end of parazbad alignment r8   )Ú__dict__Úcopyr   r   r   ÚTOOSMALLSPACEÚ
ValueErrorÚfitLineÚupdater#   r	   Ú
stringLineÚ
shrinkWrapr
   ÚcenterAlignr   Ú
rightAlignr   ÚsimpleJustifyAlignÚjustifyAlignÚdebugÚprintÚreprÚcleanProgramÚextend)r%   ÚmaxwidthÚ	maxheightr   r   Ú
startstateÚ	remainderÚlineprogramÚheightremainingÚroomÚcursorcountr   r   Ú	linewidthÚbeforelinestateÚ
lineIsFullÚlineÚcursorÚcurrentLengthÚ
usedIndentÚ	maxLengthÚjustStringsr#   Ú	laststateÚ
heightuseds   &&&&&                    r&   ÚformatÚparagraphEngine.format„   sª  € ð —]‘]×'Ñ'Ó)ˆ
à˜A•Jˆ	àˆð $ˆß 7”LØˆØˆßˆiŸD˜Dð —[‘[ˆFØ×*Ñ*ˆKØ Õ)¨KÕ7ˆIØ"Ÿm™m×0Ñ0Ó2ˆOØœÔ&Ý È$Ï+Ì+ÐW[×WgÔWgÚKSð"Uó Vð Vðà7;·|±|ÀIÓ7Xñ5�˜T 6¨=Ø˜Y¨ð & fÕ,ˆKØ—l‘lˆGØÔ&Ø"1Õ"9‘à�à—‘×$Ñ$ _Ô5Ùð Ÿ™ˆIð " & 'Ð*ˆIßà˜�Hð œ'Ô!÷ Ü% d¨MÓ:‘DàŸ?™?¨4Ó0�DÙØœIÔ%÷ Ü% d¨MÓ:‘DàŸ?™?¨4Ó0�DØ×'Ñ'¨¨m¸YÓG‘ØœHÔ$÷ Ü% d¨MÓ:‘DàŸ?™?¨4Ó0�DØ—‘ t¨]¸IÓF‘ØœJÔ&÷ §ß"Ü1°$¸ÀyÓQ™à#×0Ñ0°°}ÀiÓP™ç"Ü)¨$°Ó>™à#Ÿ™¨tÓ4˜ß“uÜÐRÔSøä Ð!1´$°y³/Õ!AÓBÐBßØ×(Ñ(¨Ó.�Ø×Ñ˜t×$Ø—M‘M×&Ñ&Ó(ˆ	à�‰×Ñ˜ZÔ(ØÕ0ˆ
Ø¨	°:Ð>Ð>øðcð ús   ÃL ÌL	c                ó6   € V P                   P                  4       # r+   )r>   r?   ©r%   s   &r&   ÚgetStateÚparagraphEngine.getStateò   s   € à�}‰}×!Ñ!Ó#Ð#r)   c                ó<   € V P                   P                  V4       R # r+   )r>   rC   )r%   r0   s   &&r&   Ú
resetStateÚparagraphEngine.resetStateö   s   € à�‰×Ñ˜UÖ#r)   c                ó  € ^ RI Hp V P                  pW$,
          V P                  ,
          p^ p. p^ p^ p	^ p
\	        V4      p^ p^pRpV P
                  pV P                  pV! RVV4      p^pV'       Egv   W‹8  Edo   W,          p\        V\        4      '       g   \        VR4      '       Ed	   Tp^ p\        VR4      '       d   ^ pVP                  V 4      p^ pMNTpVP                  4       pV'       d   V! VVV4      pM^ pV'       d   V'       g	   V
'       d   VR,          R8H  pM^ pTpV'       d
   VV,           pV
V,           pVV8”  d   V'       g   ^p^p	MZV'       d   VP                  V4       V'       d   VP                  V4       \        V4      \        8”  d   VP                  V) 4       Tp
^ pEM\        V\        4      '       dV   ^ p\        V4      pV\        8”  d<   V
V,           pVV8”  d   V'       g   ^pMV\        8”  d   Tp
VP                  V4       ^ pEM³\        V\         4      '       Ed‚   ^ pV^ ,          pVR8X  d    VP                  V4       V^,          p^;ræEMkVR8X  d\   V P"                  pVw  pp\        V\        4      '       d   \%        \&        V4      ;pV n        M	T;pV n        VP                  V4       EM	VR8X  d+   Vw  pp T ;qðn        V! RVV4      pVP                  V4       EMØVR8X  d²   Vw  pp!\        \        V!4      4      p"\        V!\        4      '       d]   V!R	,          R
8X  d   V P                  V",           ;pV n        M<V!R	,          R8X  d   V P                  V",
          ;pV n        MT";pV n        M	T";pV n        V! RVV4      pVP                  V4       EM VR8X  d    Vw  pp#V#V n        VP                  V4       EMúVR8X  d`   Vw  pp$V P                  V$,           ;p%V n        V'       d&   \+        V%V4      pW$,
          V P                  ,
          pVP                  V4       EM”VR8X  d$   V P-                  4        VP                  V4       EMjVR8X  dG    V P/                  4        T P
                  pT P                  pT! RTT4      pTP                  T4       EMVR8X  d¬   Vw  pp&p%p'p"V%V P0                  ,           p%VV&V%V'V"3pV'       g   \3        R4      h\        V! V&V'V"4      4      p(\        V! RV'V"4      4      pV%V,           V(,           p)\+        V)V4      pV'       d   W$,
          V P                  ,
          pVP                  V4       EMkVR8X  dR   Vw  pp$V P                  V$,           V n        V'       d   W$,
          V P                  ,
          pVP                  V4       EMVR8X  d2   Vw  pp*V P4                  V*,           ;p+V n        VP                  V4       MÛVR8X  d   Vw  pp,V,V n        VP                  V4       M¶VR8X  d1   Vw  pp-VP                  V4       V P8                  V-.,           V n        MVR8X  dC   Vw  pp-V P8                  R,          p.V.P;                  V-4       V.V n        VP                  V4       M6\3        R\=        V4      ,           4      h\3        R\=        V4      ,           4      hV'       d   EKr  V^,          pEK~  V'       g   VP                  R4       W—WŠWEV3#    h ; i)z(fit words (and other things) onto a liner   Nr=   ÚwidthÚnextLineÚcolorÚfaceÚsizeºNr6   NÚ+Ú-r   r   ÚpushÚpopÚbulletúbullet not at beginning of liner   r!   ÚalignÚlineOperationÚendLineOperationr7   z*at format time don't understand indicator z-op must be string, float, instance, or tuple r8   ©rm   r   )Úreportlab.pdfbase.pdfmetricsr   r   r   Úlenr   r   Ú
isinstanceÚstrÚhasattrrl   Ústripr.   Úabsr@   ÚfloatÚtupler   r-   r   r   Úmaxr3   r:   r   rA   r!   r#   r   ÚremoverL   )/r%   r   ÚtotalLengthr   r]   r^   ÚdonerZ   r[   rY   r\   Ú	maxcursorÚ	needspaceÚfirstÚ
terminatedr   r   Ú
spacewidthr_   ÚopcodeÚlastneedspacerl   Ú
saveopcodeÚ	fullwidthÚ	newlengthÚaopcodeÚ
nextLengthÚ	indicatorÚoldcolorÚiÚ	colornamern   ÚfontnameÚfontsizerp   r   Ú	incrementr   rv   ÚfontÚbulletwidthÚ	bulletminr!   Únewriser#   ÚhandlerÚhs/   &&&                                            r&   rB   ÚparagraphEngine.fitLineþ   sX  € õ 	=Ø—[‘[ˆ
ØÕ,¨t×/?Ñ/?Õ?ˆ	ØˆØˆØˆØˆ
ØˆÜ˜“Lˆ	Øˆ	ØˆØˆ
Ø—=‘=ˆØ—=‘=ˆÙ   h°Ó9ˆ
Øˆß�$˜6Õ+Ø•_ˆFä˜&¤×%Ò%¬°¸×)@Ó)@Ø )�Ø�	Ü˜6 '×*Ò*Ø"#�KØ"ŸL™L¨Ó.�EØ !‘Ià!'�JØ#Ÿ\™\›^�FßÙ +¨F°H¸hÓ G™à !˜ß!§u·à%/°¥^°SÑ%8™	à$%˜	Ø!�	ß à %¨
Õ 2�IØ)¨)Õ3�	Ø˜YÔ&¯uð
 �DØ!"‘J÷ %ØŸ™ ZÔ1ßØŸ™ VÔ-Ü˜5“z¤-Ô/ØŸ™ e VÔ-Ø(1˜ð ’Ü˜F¤5×)Ò)Ø�Ü˜f›+�Øœ=Ô(Ø!.¨wÕ!6�JØ! )Ô+·Eà ™à"¤=Ô0Ø,6˜MØ ŸK™K¨Ô/Ø�EùÜ˜F¤5×)Ó)Ø�Ø" 1�I�	à˜jÔ(ð —K‘K Ô'Ø˜a•K�FØ()Ð)�J¡ð  Ô'à#Ÿ~™~�HØ%+‘N�Q˜	ä! )¬C×0Ò0Ü18¼ÀÓ1KÐK˜ ¥à1:Ð:˜ ¤Ø—K‘K Ö'Ø Ô&à$*‘M�Q˜Ø/7Ð7�Hœ}Ù!,¨S°(¸HÓ!E�JØ—K‘K Ö'Ø Ô&à$*‘M�Q˜Üœu X›Ó/�DÜ! (¬3×/Ò/Ø# B�<¨Ô,Ø7;·}±}ÀtÕ7KÐK˜H t¥}Ø% b�\¨3Ô.Ø7;·}±}ÀtÕ7KÐK˜H t¥}à7;Ð;˜H t¥}à37Ð7˜ 4¤=Ù!,¨S°(¸HÓ!E�JØ—K‘K Ö'Ø 	Ô)à#)‘L�Q˜Ø#*�D”LØ—K‘K Ö'Ø Ô(à%+‘N�Q˜	Ø+/¯;©;¸Õ+BÐB�F˜Tœ[ßÜ%(¨°Ó%<˜
Ø$/Õ$<¸t×?OÑ?OÕ$O˜	Ø—K‘K Ö'Ø Ô&Ø×&Ñ&Ô(Ø—K‘K Ö'Ø Ô%ðØ×)Ñ)Ô+ð  $Ÿ}™}�HØ#Ÿ}™}�HÙ!,¨S°(¸HÓ!E�JØ—K‘K Ö'Ø Ô(Ø6<Ñ3�Q˜ ¨¨dà# d§o¡oÕ5�FØ ¨°°tÐ<�Fß Ü(Ð)JÓKÐKÜ"'©°F¸DÀ$Ó(GÓ"H�KÜ!&¡{°3¸¸dÓ'CÓ!D�JØ & zÕ 1°+Õ =�Iä!$ Y°
Ó!;�JßØ$/Õ$<¸t×?OÑ?OÕ$O˜	Ø—K‘K Ö'Ø Ô-à%+‘N�Q˜	Ø'+×'7Ñ'7¸	Õ'A�DÔ$ßØ$/Õ$<¸t×?OÑ?OÕ$O˜	Ø—K‘K Ö'Ø Ô&Ø &‘I�Q˜Ø*.¯)©)°D­.Ð8�G˜dœiØ—K‘K Õ'Ø Ô'Ø%+‘N�Q˜	ð &/�D”NØ—K‘K Õ'Ø Ô/Ø#)‘L�Q˜Ø—K‘K Ô'Ø*.×*=Ñ*=ÀÀ	Õ*I�DÕ'ØÐ 2Ô2Ø#)‘L�Q˜Ø×+Ñ+¨AÕ.�AØ—H‘H˜WÔ%Ø*+�DÔ'Ø—K‘K Õ'ô %Ð%QÔRVÐW`ÓRaÕ%aÓbÐbä Ð!PÔQUÐV\ÓQ]Õ!]Ó^Ð^ß’4Ø˜!•“÷ Ø�K‰K˜Ô*à &¸ÐP[Ð\Ð\øðKð ús   Ñ0\ Ü\c                ó`   € W2,
          pVR ,          pV\         8”  d   V P                  W4      # V# )ç       @©r@   ÚinsertShift)r%   rZ   Ú
lineLengthr^   ÚdiffÚshifts   &&&&  r&   rF   ÚparagraphEngine.centerAlignÒ  s1   € ØÕ#ˆØ�S•ˆØ”ÔØ×#Ñ# DÓ0Ð0Øˆr)   c                óN   € W2,
          pV\         8”  d   V P                  W4      # V# r+   r¥   )r%   rZ   r§   r^   r©   s   &&&& r&   rG   ÚparagraphEngine.rightAlignÙ  s(   € ØÕ$ˆà”ÔØ×#Ñ# DÓ0Ð0Øˆr)   c                óÈ   € . p^pV FW  pV'       d<   \        V\        4      '       g   \        VR4      '       d   VP                  V4       ^ pVP                  V4       KY  	  V# )r6   rl   )r~   r   r€   r.   )r%   rZ   r©   Úresultr‹   Úes   &&&   r&   r¦   ÚparagraphEngine.insertShiftà  sU   € àˆØˆÛˆAßœ* Q¤s×+Ò+¬w°q¸×/AÒ/AØ—‘˜eÔ$Ø�Ø�M‰M˜!Öñ	 ð
 ˆr)   c                ó¦  € W2,
          p^ p^ p^pV Fo  p\        V\        4      '       d   V\        8”  d   V'       d   V^,          pK7  V'       g   KA  \        V\        4      '       g   \	        VR4      '       g   Kk  ^p^ pKq  	  V^8  d   V# V\        V4      ,          p	V	\        8:  d   V# ^p^ p. p
^ p\        V4      pW¼8  d�   W,          pV
P                  V4       V'       d,   \        V\        4      '       g   \	        VR4      '       d   ^pM5\        V\        4      '       d    V\        8”  d   V'       d   W‰,           pWÚR&   V^,          pK’  V
# )r   rl   r8   )r~   rƒ   r@   r   r€   r}   r.   )r%   rZ   r§   r^   r¨   Ú
spacecountÚvisibler‹   r¯   r©   r®   r[   ÚnlineÚexpandeds   &&&&          r&   rI   ÚparagraphEngine.justifyAlignë  s  € ØÕ#ˆàˆ
ØˆØˆÛˆAÜ˜!œE×"Ò" q¬¤¿7Ø˜a•’
ß‘œJ q¬×-Ò-´¸¸7×1CÔ1CØ�Ø’ñ ð �aŒ<ØˆKØ”U˜:Ó&Õ&ˆØ”-ÔàˆKØˆØˆØˆØˆÜ�D“	ˆØŒlØ•ˆAØ�M‰M˜!Ôßœ* Q¤s×+Ò+¬w°q¸×/AÒ/AØ‘Ü˜Aœe×$Ò$¨¬=¬¿WØ�7�Ø%�r‘
Ø�a�KŠFØˆr)   c                óÈ  € . p^ p\        V4      pW48  EdL   W,          p\        V\        4      '       Ed   W4^,
          8  Ed   V.pRpV^,          pW,          pW48  d    \        V\        \        34      '       d„   \        V\        4      '       d,   V^ 8  d   V^ 8”  d   V) pV^ 8  d   V^ 8”  d   V) pWx,          pM'\        V\        4      '       d   VP	                  V4       V^,          pW48  g   K›  W,          pK¥  RP                  V4      p	VP	                  V	4       VP	                  \        V4      4       V^,          pMVP	                  V4       V^,          pEKR  V# )r   r   r=   )r}   r~   r   rƒ   r.   Újoin)
r%   rZ   r®   ÚindexÚmaxindexr¯   Ú
thestringsÚ	thefloatsÚnexteÚss
   &&        r&   rE   ÚparagraphEngine.shrinkWrap*  s#  € àˆØˆÜ�t“9ˆØ�nØ•ˆAÜ˜!œC× Ó  U°A­:Õ%5à˜S�
Ø�	Ø˜•
�Ø��Ø”n¬°E¼5Ä¸+×)FÒ)Fä! %¬×.Ò.Ø$ Qœ;¨5°¬7Ø)2¨
˜IØ  œ7 y°¤{Ø%* F˜EØ!Õ*™	Ü# E¬#×.Ò.Ø"×)Ñ)¨%Ô0Ø˜Q•J�EØ–~Ø $¥šà—H‘H˜ZÓ(�Ø—‘˜aÔ Ø—‘œe IÓ.Ô/à˜•
‘à—‘˜aÔ Ø�Q�J‹Eàˆr)   c                óÆ  € . p^ pV F‡  p\        V\        4      '       d7   V^ 8  d   V^ 8”  d   V) pV^ 8  d   V^ 8”  d   V) p\        V4      V,           pKO  \        V4      \        8”  d   VP	                  V4       VP	                  V4       ^ pK‰  	  V'       d   VP	                  V4       ^p\        \        \        V4      ^,
          4      4      pV'       Ed   ^ pV Fü  pV^,           pW',          p	W(,          p
^ p\        V	\        4      '       g;   \        V
\        4      '       g%   \        V	R4      '       g   \        V
R4      '       d   ^ pMw\        V	\        4      '       db   V	^ ,          p\        V
\        4      '       d$   V
^ ,          p^ pVR8X  d   VR8w  d
   VR8w  d   ^pM\        V
\        4      '       d
   VR8X  d   ^pV'       g   Kò  W¢V&   W’V&   ^pKþ  	  EK  V# )zcollapse adjacent spacingsrl   rz   ry   )r~   rƒ   r‚   r@   r.   ÚlistÚranger}   r   r€   r„   )r%   rZ   r®   Úlastr¯   ÚchangeÚrliner¹   Ú	nextindexÚthisÚnextÚdoswapÚthisindicatorÚnextindicators   &&            r&   rM   ÚparagraphEngine.cleanProgramP  s¥  € ð ˆØˆÛˆAÜ˜!œE×"Ò"à˜”6˜a œcØ ˜5�DØ�Q”3˜4 œ6Ø˜�AÜ˜T“{ 1•}’ä�t“9œ]Ô*Ø—M‘M $Ô'Ø—‘˜aÔ Ø’ñ ÷ Ø�M‰M˜$Ôð ˆÜ”Uœ3˜v›; q�=Ó)Ó*ˆßˆfàˆFÛ�Ø! !�G�	Ø•}�ØÕ(�Ø�ä˜d¤3×'Ò'Ü˜d¤3×'Ò'Ü˜4 ×(Ò(¬G°D¸×,AÒ,AØ‘Fä ¤U×+Ò+Ø$(¨¥G�MÜ! $¤u×-Ò-Ø(,¨Q­˜Ø!"˜Ø)Ð+=Ô=À-ÐQcÔBcØ -¨Ô >Ø%&˜FøÜ# D¬×/Ò/Ø(¨/Ô9Ø%&˜Fß‘6à$(˜5‘MØ(,˜9Ñ%Ø’Fô5 ð6 ˆr)   c           	     ó¢  € VP                   pVP                  pV P                  P                  4       pRpRpVP	                  V P
                  4       V P                  p	V P                  p
V P                  p^ pV EF  p\        V\        4      '       g   \        VR4      '       Ed   V'       g‹   \        V
4      \        8”  d<   VP                  R\        V
^ 4      ,          4       V ;P                  V
,          un        V P                    F+  pVP#                  V P                  V P$                  WV4       K-  	  ^pWpP&                  8w  g   W€P(                  8w  d*   V P&                  pV P(                  pVP+                  Wx4       \        V\        4      '       d   VP-                  V4       EK4  VP/                  WV4       EKI  \        V\0        4      '       dX   \        V4      pV\        8”  d?   VP                  R\        V^ 4      ,          4       V ;P                  V,          un        EK³  EK¶  \        V\2        4      '       Ed7   V^ ,          pVR8X  d¡   Vw  ppV P                  pV P$                  pV P$                  V P4                  ,
          ;pV n        T	;pV n        V P                  p
V P                  p^ pV P                    F  pVP7                  VVWV4       K  	  VP9                  VV4       EK}  VR8X  dg   V P
                  pVw  pp\        V\        4      '       d   \;        \<        V4      ;pV n        M	T;pV n        VV8w  d   VP	                  V4       EKç  EKê  VR8X  d   Vw  ppVV n        EK   VR8X  dÂ   Vw  pp\        \1        V4      4      p\        V\        4      '       dX   VR,          R	8X  d   V ;P(                  V,          un        M5VR,          R
8X  d   V ;P(                  V,          un        MW€n        MW€n        V P(                  pVP+                  V P&                  V P(                  4       EKÈ  VR8X  d   Vw  ppVV n        EKÞ  VR8X  d/   Vw  ppV P                  V,           ;pV n        \?        V
V4      p
EK  VR8X  d   V PA                  4        EK-  VR8X  dg   V P
                  pV P&                  pV P(                  p V PC                  4        VV P
                  8w  d   VP	                  V P
                  4       EK—  EKš  VR8X  d   Vw  pp!VPE                  V!4       EKº  VR8X  dë   Vw  pp"prx\        V P                  V	,
          4      \        8”  d   \G        R4      h\1        \I        V"Wx4      4      p#\1        \I        RWx4      4      p$VV$,           V#,           p%V%V
8”  d   T%p
VPK                  V^ 4       VP+                  Wx4       VP-                  V"4       VPK                  V) ^ 4       VP+                  V P&                  V P(                  4       EK«  VR8X  d!   Vw  ppV P                  V,           V n        EKÒ  VR8X  d4   Vw  pp&V PL                  V&,           ;p'V n&        VPO                  V'4       EK  VR8X  d   Vw  pp(V(V n(        EK"  VR8X  dJ   Vw  ppVP#                  V P                  V P$                  WV4       V P                   V.,           V n        EKr  VR8X  dp   Vw  ppVP7                  V P                  V P$                  WV4       V P                   R,          ;p)V n        VV)9   d   V P                   PS                  V4       EKå  EKè  \G        R\U        V4      ,           4      h\G        R\U        V4      ,           4      h	  V P                  P                  4       p*V P                  PW                  V4       V*# )zrender the line(s)Nrl   z%s Tdrm   rn   ro   rp   rq   rr   rs   r   r   rt   ru   ÚwordSpacingrv   rw   r=   r   r!   rx   ry   rz   r7   zdon't understand indicator z!op must be string float or tuple ),Ú_escapeÚ_coder>   r?   ÚsetFillColorr   r   r   r   r~   r   r€   r‚   r@   r.   r   r   Ústart_atr    r   r   ÚsetFontÚtextOutÚexecuterƒ   r„   r   Úend_atÚsetTextOriginr-   r   r…   r3   r:   ÚsetWordSpacerA   r   Ú
moveCursorr!   ÚsetRiser#   r†   rL   rC   )+r%   r   ÚcanvasÚ
textobjectÚescapeÚcoderQ   rœ   rp   ÚxstartÚthislineindentÚthislinerightIndentÚindentedrŽ   r    r•   r—   Úendallmarksr   r    ÚnewyÚnewxr–   r˜   rn   r™   rš   r   r   r›   r   ÚoldfontÚoldsizeÚwsrv   r�   r�   rž   r!   rŸ   r#   Únewhr`   s+   &&&&                                       r&   Ú
runOpCodesÚparagraphEngine.runOpCodes‘  sa  € ð —‘ˆØ×ÑˆØ—]‘]×'Ñ'Ó)ˆ
ØˆØˆð 	×Ñ §¡Ô/Ø—‘ˆØŸ™ˆØ"×.Ñ.ÐØˆÜˆFÜ˜&¤×%Ò%¬'°&¸×*AÓ*AßÜ˜>Ó*¬=Ô8ð Ÿ™ G¬f°^ÀQÓ.GÕ$GÔHØŸš .Õ0�Ø#'×#6Ô#6˜à×(Ñ(¨¯©°·±¸ÀzÖRñ $7ð �àŸ™Ô&¨$·±Ô*=ØŸ=™=�DØŸ=™=�DØ×&Ñ& tÔ2Ü˜f¤S×)Ò)Ø×&Ñ& v×.ð —N‘N 4°V×<Ü˜F¤5×)Ò)ä˜V›�Øœ-Ô'à—K‘K ¬&°¸Ó*;Õ ;Ô<Ø—F’F˜fÕ$—F�Fò (ô ˜F¤5×)Ó)Ø" 1�I�	Ø˜jÔ(à'-Ñ$�Q˜ØŸ™�AØŸ™�AØ$(§F¡F¨4¯<©<Õ$7Ð7�D˜4œ6Ø$*Ð*�D˜4œ6Ø%)§[¡[�NØ*.×*:Ñ*:Ð'Ø �HØ#'×#6Ô#6˜ØŸ™ q¨!¨T¸:ÖFñ $7ð ×,Ñ,¨T°4×8Ø Ô'à#Ÿ~™~�HØ%+‘N�Q˜	ä! )¬C×0Ò0Ü18¼ÀÓ1KÐK˜ ¥à1:Ð:˜ ¤ð ˜h”Ø"×/Ñ/°×6ò 'à Ô&à$*‘M�Q˜Ø$,�D—Mà Ô&à$*‘M�Q˜Üœu X›Ó/�DÜ! (¬3×/Ò/Ø# B�<¨Ô,Ø ŸMšM¨TÕ1žMØ% b�\¨3Ô.Ø ŸMšM¨TÕ1žMà,0�Mà(,œØ#Ÿ}™}�HØ×&Ñ& t§}¡}°d·m±m×DØ 	Ô)à#)‘L�Q˜Ø#*�D—LØ Ô(à%+‘N�Q˜	Ø+/¯;©;¸Õ+BÐB�F˜Tœ[Ü%(¨¸Ó%@“NØ Ô&Ø×&Ñ&×(Ø Ô%Ø#Ÿ~™~�HØ"Ÿm™m�GØ"Ÿm™m�GØ×%Ñ%Ô'ð   §¡Ô/Ø"×/Ñ/°·±×?ò 0à Ô-Ø$‘G�Q˜Ø×+Ñ+¨B×/Ø Ô(Ø6<Ñ3�Q˜ ¨Ü˜4Ÿ6™6 &�=Ó)¬-Ô7Ü(Ð)JÓKÐKÜ"'¬°F¸DÓ(GÓ"H�KÜ!&¤{°3¸Ó'CÓ!D�JØ & zÕ 1°+Õ =�Ià  >Ô1à)2˜Ø×)Ñ)¨&°!Ô4Ø×&Ñ& tÔ2Ø×&Ñ& vÔ.Ø×)Ñ)¨6¨'°1Ô5à×&Ñ& t§}¡}°d·m±m×DØ Ô-à%+‘N�Q˜	Ø'+×'7Ñ'7¸	Õ'A�D×$Ø Ô&Ø &‘I�Q˜Ø*.¯)©)°D­.Ð8�G˜dœiØ×&Ñ& w×/Ø Ô'Ø%+‘N�Q˜	Ø%.�D—NØ Ô/Ø#)‘L�Q˜Ø×$Ñ$ T§V¡V¨T¯V©V°TÀ:ÔNð +/×*=Ñ*=ÀÀ	Õ*I�D×'ØÐ 2Ô2Ø#)‘L�Q˜Ø—N‘N 4§6¡6¨4¯6©6°4ÀÔLØ15×1DÑ1DÀQÕ1GÐG�D˜4Ô.à $”Ø×+Ñ+×2Ñ2°7×;âô %Ð%BÄ4È	Ã?Õ%RÓSÐSä Ð!DÄTÈ&Ã\Õ!QÓRÐRñq ðr —M‘M×&Ñ&Ó(ˆ	à�‰×Ñ˜ZÔ(ØÐ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   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r'   r,   r3   r:   rb   rf   ri   rB   rF   rG   r¦   rI   rE   rM   rê   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r&   r   r   U   sb   ø‡ € ô!ð")Ðò
	ò
$ôl?ò\$ò$òR]òhòò	ò!ò~$òL?÷Bkð kr)   r   c                óü   € . pV  F,  p\        V\        4      '       g   K  VP                  V4       K.  	  RP                  V4      pV\	        V4      .pRpV '       d    V R,          V8X  d   VP                  V4       V# )zEsimple case: line with just strings and spacings which can be ignoredr=   r{   r8   )r~   r   r.   r¸   rƒ   )rZ   ÚlengthÚstringsr   Útextr®   Únextlinemarks   &&     r&   rD   rD   >  sn   € ð €GÛˆÜ�aœ×ÔØ�N‰N˜1Öñ ð �8‰8�GÓ€DØ”E˜&“MÐ"€FØ"€Lß��R•˜,Ô&Ø�‰�|Ô%Ø€Mr)   c                ót  € . pV RR  F,  p\        V\        4      '       g   K  VP                  V4       K.  	  \        V4      ^,
          pW!,
          pRP	                  V4      pV^ 8”  d"   V^ 8”  d   V\        V4      ,          pRV3WrR.p	MWqR.p	Rp
V '       d    V R,          V
8X  d   V	P                  V
4       V	# )z&simple justification with only stringsNr=   rÎ   r8   )rÎ   r   r{   )r~   r   r.   r}   r¸   rƒ   )rZ   r\   r^   rö   r   ÚnspacesÚslackr÷   Úwordspacingr®   rø   s   &&&        r&   rH   rH   L  s²   € ð €GØ�#�2‹YˆÜ�aœ×ÔØ�N‰N˜1Öñ ô �'‹l˜1�n€GØÕ#€EØ�8‰8�GÓ€DØˆq„y�U˜1”WØœE '›NÕ*ˆØ  +Ð.°ÐASÐT‰à Ð7ˆØ"€Lß��R•˜,Ô&Ø�‰�|Ô%Ø€Mr)   r   c                 ó‚   € V P                  4       R9   d   ^# V P                  4       R9   d   ^ # \        RV ,          4      h)ÚYz+true/false attribute has illegal value '%s')rþ   ÚYESÚTRUEÚ1)ÚNÚNOÚFALSEÚ0)ÚupperrA   )r÷   s   &r&   ÚreadBoolr  b  s7   € Ø‡z�zƒ|Ð0Ô0ÙØ	�‰‹Ð2Ô	2ÙäÐFÈÕMÓNÐNr)   c                 óŽ   € V P                  4       pVR 8X  d   \        # VR8X  d   \        # VR9   d   \        # VR8X  d   \        # R# )ÚLEFTÚRIGHTÚJUSTIFYN)ÚCENTERÚCENTRE)r  r	   r   r
   r   )r÷   Úups   & r&   ÚreadAlignmentr  j  sF   € Ø	�‰‹€BØ	ˆV„|ÜˆØ	ˆwŒÜˆØ	Ð#Ô	#ÜÐØ	ˆyŒÜÐñ 
r)   c           	     ó‚  € V P                  4       p  \        V 4      #   \         d—    T P                  4       p T RR	 T R	R r!TP                  4       p \        T4      pM!  \         d    \        RT ,          4      hi ; i R^HRRRRR^/T,          pM!  \         d    \        RT ,          4      hi ; iY4,          u # i ; i)
zERead a dimension measurement: accept "3in", "5cm",
"72 pt" and so on.Nzinvalid length attribute '%s'ÚinÚcmg^|Åb±X<@ÚmmgåÉjµZ­@Úptéþÿÿÿ)r�   rƒ   rA   ÚlowerÚKeyError)r÷   Ú
numberTextÚunitsÚnumberÚ
multipliers   &    r&   Ú
readLengthr  u  så   € ð �:‰:‹<€Dð#Ü�T‹{ÐøÜô #Ø�z‰z‹|ˆØ   "˜I d¨2¨3 i�EØ×%Ñ%Ó'ˆ
ð	EÜ˜:Ó&‰FøÜô 	EÜÐ<¸tÕCÓDÐDð	Eúð	Eà�RØ�]Ø�]Ø�Qð	ð
 õ‰Jøô ô 	EÜÐ<¸tÕCÓDÐDð	Eúð Õ"Ò"ð%#ús?   ’
 �4B>ÁAÁB>ÁA<Á<B>Â BÂB>ÂB0Â0B>Â=B>c                óþ   € V P                  4       p V R,          R8X  d   V RR R8X  d   V ^R p V P                  R4      pV U u. uF  q P                  4       NK  	  pp V U u. uF
  q! V 4      NK  	  pp V# u up i u up i )z0from "(2, 1)" or "2,1" return [2,1], for examplerq   Ú(NÚ)Ú,r8   )r�   Úsplit)r¾   Ú	converterÚsls   && r&   ÚlengthSequencer$  �  sy   € à	�‰‹	€AØˆ…uˆc„z�a˜˜�f˜c”kØˆa�ˆGˆØ	
�‰�‹€BÙÓ	 ™R˜�'‰'Ž)™R€BÐ	 Ù "Ó	#¡˜1ˆ)�AŽ,¡€BÐ	#Ø€Iùò 
!ùÚ	#s   ÁA5Á!A:c                ó¸  € V '       g   R# ^ RI Hp ^ RIHp V ^ ,          V9   d   VP                  V ,          # \        V 4      pRp^\        V4      u;8:  d   ^8:  g   Q V4       h Q V4       hRp\        \        V4      4       F  pW5,          R8:  d   K  Q V4       h	  \        V4      ^8X  d   VP                  pM\        V4      ^8X  d   VP                  pX! V!  # )zCRead color names or tuples, RGB or CMYK, and return a Color object.Nr   )Úlettersz:Color tuple must have 3 (or 4) elements for RGB (or CMYC).z*Color tuple must have all elements <= 1.0.ç      ð?)
Úreportlab.libr   Ústringr&  r>   r$  r}   rÂ   ÚColorÚ	CMYKColor)r÷   r   r&  ÚtupÚmsgr—   ÚcolClasss   &      r&   Ú	readColorr/  š  s¿   € çÙÝ$ÝØˆA…w�'ÔØ�‰˜tÕ$Ð$Ü
˜Ó
€Cà
F€CØ”�C“Ö˜AÔÐ"˜sÓ"ÑÐ"˜sÓ"ÐØ
6€CÜ”3�s“8Ž_ˆØ�v˜Ž}Ð!˜cÓ!ˆ}ñ ô ˆ3ƒx�1„}Ø—<‘<‰Ü	ˆS‹�QŒØ×#Ñ#ˆÙ�S‰>Ðr)   c                   ó^   € ] tR tRt].t].t].t].t].t	]
.t].t].t].t].t].t].tRtR# )ÚStyleAttributeConvertersi°  © N)rì   rí   rî   rï   r  r   r   Ú
leftIndentr   ÚfirstLineIndentr  r#   ÚspaceBeforeÚ
spaceAfterÚbulletFontSizeÚbulletIndentr/  Ú	textColorÚ	backColorrð   r2  r)   r&   r1  r1  °  sV   † Øˆ\€HØˆL€GØˆ|€JØ�€KØ�L€OØˆo€IØ�€KØˆ|€JØ�<€NØ�€LØˆk€IØˆk„Ir)   r1  c                   óp   a € ] tR tRt o RtRt]t^
t^t	^ t
^ t^ t]t^ t^ t]t^
t^ t]tRtRR ltR tRtV tR# )	ÚSimpleStylei¾  z6simplified paragraph style without all the fancy stuffÚbasicNc                ó¶   € V P                   pV'       d(   VP                   P                  4        F	  w  rVWdV&   K  	  VP                  4        F	  w  rVWdV&   K  	  R # r+   )r>   Úitems)r%   ÚnameÚparentÚkwÚmydictÚaÚbs   &&&,   r&   r'   ÚSimpleStyle.__init__Ð  sG   € Ø—‘ˆßØ—‘×,Ñ,Ö.‘�Ø�q“	ñ /à—8‘8–:‰CˆAØ�1‹Ió r)   c                óÒ   € VP                  4        FR  pW,          pVf   K  \        \        V4      '       d    \        \        V4      ^ ,          pV! V4      p\	        WV4       KT  	  R # r+   )Úkeysr€   r1  r-   r9   )r%   Ú
dictionaryÚkeyÚvaluer"  s   &&   r&   ÚaddAttributesÚSimpleStyle.addAttributesØ  sT   € Ø—?‘?Ö$ˆCØ•OˆEØÔ ÜÔ3°S×9Ò9Ü 'Ô(@À#Ó FÀqÕ I�IÙ% eÓ,�EÜ˜ 5Ö)ó %r)   r2  r+   )rì   rí   rî   rï   Ú__doc__r@  r   r   r   r   r3  r   r4  r	   r#   r5  r6  ÚbulletFontNamer7  r8  r   r9  r:  r'   rL  rð   rñ   rò   s   @r&   r<  r<  ¾  sb   ø‡ € Ù<Ø€DØ€HØ€HØ€GØ€JØ€KØ€OØ€IØ€KØ€JØ €NØ€NØ€LØ€IØ€Iô÷*ð *r)   r<  zh1.defaultStyleÚHeading1zh2.defaultStyleÚHeading2zh3.defaultStyleÚHeading3zh4.defaultStyleÚHeading4zh5.defaultStyleÚHeading5zh6.defaultStyleÚHeading6ztitle.defaultStyleÚTitlezsubtitle.defaultStyleÚSubTitleúpara.defaultStyleÚNormalzpre.defaultStyleÚCodezul.defaultStyleÚUnorderedListzol.defaultStyleÚOrderedListúli.defaultStyleÚ
Definitionc                   óH   a € ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )ÚFastParaiò  zAparagraph with no special features (not even a single ampersand!)c                óP   € R V9   d   \        R4      hWn        W n        RV n        R# )Ú&zno ampersands please!N)rA   ÚstyleÚ
simpletextÚlines)r%   rc  rd  s   &&&r&   r'   ÚFastPara.__init__õ  s)   € ð �*ÔÜÐ4Ó5Ð5ØŒ
Ø$ŒØˆŽ
r)   c                ó´  € V P                   pWn        V P                  pV P                   pVP                  pVP                  pVP
                  pVP                  p	VP                  p
VP                  pVP                  4       p. p^ RI
Hp V! RWš4      p. p^ pW,
          V,
          pW,
          V,
          pVV8  d   Wö,           V,           V3# W(8  d   W3# V P                  EfA   ^ p^ p\        V4      p^ pVV8  d»   V'       g³   TpV'       g   TpVV,          pV! VWš4      pV'       d
   VV,           pVV,           pV'       d   VV8  d   V^,          pTpVP                  V4       Kt  VP                  RP                  V4      V\        V4      34       . p^ pVV,           pVV,           V8”  g   K½  ^pKÁ  V'       d>   V'       g6   VP                  RP                  V4      V\        V4      34       VV,           pWÐn        VV n        RP                  VVR 4      ;pV n        MRpV P                   pV P                  pV'       d   WV,           3pV# VV3pV# )r   r   r=   N)rd  ÚavailableWidthrc  r   r3  r   r   r   r4  r!  r|   r   re  r}   r.   r¸   ÚheightrR   )r%   rh  ÚavailableHeightrd  rc  r÷   r   r3  r   rœ   rp   ÚfirstindentÚwordsre  r   r�   ÚcurrentlineÚcurrentlengthÚfirstmaxlengthÚ	maxlengthra   r[   Únwordsrˆ   ÚthismaxlengthÚthiswordÚthiswordsizeÚ
nextlengthrR   r®   s   &&&                           r&   ÚwrapÚFastPara.wrapþ  s:  € Ø—_‘_ˆ
Ø,ÔØ—
‘
ˆØ�‰ˆØ×'Ñ'ˆØ×%Ñ%ˆ
Ø—-‘-ˆØ�~‰~ˆØ�~‰~ˆØ×+Ñ+ˆà× Ñ Ó"ˆØˆÝ<Ù   dÓ1ˆ
ØˆØˆØ'Õ5¸ÕCˆØ"Õ0°:Õ=ˆ	Ø�ZÔØÕ*¨;Õ6¸ÐHÐHØÔ"Ø"Ð,Ð,Ø�:‰:ÓØˆJØˆFÜ˜“ZˆFØˆDà˜”-¯Ø )�ßØ$2�MØ  �=�Ù*¨8°TÓ@�ß Ø#/°
Õ#:�LØ*¨\Õ9�
ß$¨
°9Ô(<à˜a•K�FØ$.�MØ×&Ñ& xÖ0ð —L‘L 3§8¡8¨KÓ#8¸-ÌÈ[ÓIYÐ"ZÔ\Ø"$�KØ$%�MØ!+¨GÕ!3�JØ! 'Õ)¨/Ö9Ø šß§TØ—‘˜sŸx™x¨Ó4°mÄSÈÓEUÐWÔXØ'¨Õ/�
ØŒJØ$ˆDŒKØ),¯©°%¸¸°.Ó)AÐAˆI˜�ð ˆIØŸ™ˆJØ—J‘JˆEßØ$°gÕ&=Ð>ˆFð ˆð % jÐ1ˆFàˆr)   c                óÂ   € V P                   pVP                  pW$8  d   . # V P                  pVf   \        R4      hV P                  pV'       d   \        W64      pW.# V .# )Nzmust wrap before split)rc  r   re  rA   rR   r`  )r%   rh  rj  rc  r   re  rR   rÈ   s   &&&     r&   r!  ÚFastPara.splitF  s^   € Ø—
‘
ˆØ—-‘-ˆØÔ"ØˆIØ—
‘
ˆØŠ=ÜÐ5Ó6Ð6Ø—N‘Nˆ	ßÜ˜EÓ-ˆDØ�;Ðà�6ˆMr)   c                ój  € V P                   pV P                  pVP                  pVP                  pVP                  pVP
                  pVP                  pVP                  pVP                  p	V P                  p
V
P                  pV P                  pV
P                  ^ WÇ,
          4       V
P                  4       pVP                  pVP                  Wg4       VP                   '       d   VP#                  VP                   4       ^p^ pV P$                  V,
          p^ p\'        V4      pVV8  dõ   VV,          w  pppV^,          pTpV'       d   T	pV\(        8X  d   TpM–V\*        8X  d   VV,
          pVVR,          ,           pMqV\,        8X  d   VV,
          pVV,           pMSV\.        8X  dI   TpVV8  d/   V^8”  d(   VP1                  VV,
          VR,
          ,          4       MVP1                  R4       VP3                  XV4       VP5                  V4       VV,
          pKû  V
P7                  V4       R# )r   r¤   r'  r   N)rc  re  r   r3  r   r   r   r#   r4  ÚcanvrÏ   ri  Ú	translateÚ	beginTextrÐ   rÓ   r9  rÑ   rh  r}   r	   r
   r   r   rØ   r×   rÔ   ÚdrawText)r%   rc  re  r   r3  r   rœ   rp   r#   rk  ÚcrÝ   ri  rÜ   rÞ   r‹   r    Ú
basicWidthÚcountÚnlinesr÷   rõ   rq  Ú
thisindentr   Úextras   &                         r&   ÚdrawÚFastPara.drawU  sÜ  € Ø—
‘
ˆØ—
‘
ˆØ×'Ñ'ˆØ×%Ñ%ˆ
Ø—-‘-ˆØ�~‰~ˆØ�~‰~ˆØ—O‘Oˆ	Ø×+Ñ+ˆØ�I‰IˆØ—‘ˆð —‘ˆð 	
�‰�A�v•{Ô#Ø—[‘[“]ˆ
Ø×Ñˆà×Ñ˜4Ô&Ø�?�?ˆ?Ø×#Ñ# E§O¡OÔ4ØˆØˆØ×(Ñ(¨;Õ6ˆ
ØˆÜ�U“ˆØ�FŒlØ%*¨5¥\Ñ"ˆT�6˜6Ø�Q�JˆEØ#ˆJßØ(�
Øœ'Ô!Ø‘ØœIÔ%Ø" VÕ+�Ø  s¥Õ*‘ØœHÔ$Ø" VÕ+�Ø Õ&‘ØœJÔ&Ø�Ø˜”< F¨1¤Hà×+Ñ+¨Z¸Õ->ÀÈÅÕ,LÕMà×+Ñ+¨CÔ0Ø×$Ñ$ Q qÔ)Ø×Ñ˜tÔ$Ø�'•	ŠAØ	�
‰
�:Ör)   c                ó.   € V P                   P                  # r+   )rc  r5  re   s   &r&   ÚgetSpaceBeforeÚFastPara.getSpaceBeforeŒ  s   € ð �z‰z×%Ñ%Ð%r)   c                ó.   € V P                   P                  # r+   )rc  r6  re   s   &r&   ÚgetSpaceAfterÚFastPara.getSpaceAfter‘  s   € à�z‰z×$Ñ$Ð$r)   )rh  ri  re  rR   rd  rc  N)rì   rí   rî   rï   rN  r'   rv  r!  r…  rˆ  r‹  rð   rñ   rò   s   @r&   r`  r`  ò  s.   ø‡ € ÙGòòFòPò5òn&÷
%ð %r)   r`  c                  ór   € / p ^ RI Hp V! 4       p\        P                  4        F  w  r4W$,          W&   K  	  V # ©r   )ÚgetSampleStyleSheet©Úreportlab.lib.stylesr�  ÚDEFAULT_ALIASESr?  )r®   r�  ÚstylesÚstylenamekeyÚstylenamevalues        r&   ÚdefaultContextr–  •  s9   € Ø€FÝ8Ù Ó"€FÜ(7×(=Ñ(=Ö(?Ñ$ˆØ%Õ5ˆÓñ )@à€Mr)   Nc                 óV  € / p^ RI Hp V e_   \        P                  4        F  w  r4W09   g   K  W,          W&   K  	  \        P                  4        F  w  r4W@9   g   K  W,          W&   K  	  V! 4       p\        P                  4        F  w  r4W19  g   K  WE9   g   K  WT,          W&   K!  	  V# rŽ  r�  )Ú
stylesheetr®   r�  r”  r•  r“  s   &     r&   ÚbuildContextr™  �  s    € Ø€FÝ8ØÒä,;×,AÑ,AÖ,CÑ(ˆLØÖ)Ø'1Õ'?�Ó$ñ -Dô -<×,AÑ,AÖ,CÑ(ˆLØÖ+Ø'1Õ'A�Ó$ñ -Dñ !Ó"€Fä(7×(=Ñ(=Ö(?Ñ$ˆØÖ%¨.Ö*BØ#)Õ#9ˆFÓ ñ )@ð €Mr)   c                   ó  a € ] tR tRt o ^ t^ tR'R ltR tR tR t	R t
R tR(R	 ltR)R
 ltR tR*R ltR tR tR tR tR tR tR+R ltR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R,R% lt(R&t)V t*R# )-ÚParai±  Nc                ó@  € W`n         \        V4      V n        W n        W0n        Wn        . V n        . V n        R V n        W@n	        V'       g#   VP                  V n
        VP                  V n        ^ V n        ^ V n        VP                  V n        VP                   V n        R # r+   )r   r™  ÚcontextÚ
parsedTextÚ
bulletTextÚstyle1r   ÚformattedProgramrR   r0   r5  r6  ÚboldÚitalicr   ro   r   rp   )r%   rc  rž  rŸ  r0   r�  r   s   &&&&&&&r&   r'   ÚPara.__init__¶  s�   € à$ŒÜ# GÓ,ˆŒØ$ŒØ$ŒØŒàˆŒØ "ˆÔØˆŒØŒ
ßØ$×0Ñ0ˆDÔØ#×.Ñ.ˆDŒOð ˆŒ	ØˆŒØ—N‘NˆŒ	Ø—N‘NˆŽ	r)   c                ó   € V P                   # r+   )r5  re   s   &r&   rˆ  ÚPara.getSpaceBeforeÍ  s   € ð ×ÑÐr)   c                ó   € V P                   # r+   )r6  re   s   &r&   r‹  ÚPara.getSpaceAfterÒ  s   € à�‰Ðr)   c                ó$  € \         '       dC   \        R \        V 4      W4       \        RV P                  4       \        RV P                  4       W n        \        4       ;V n        pV P                  Vn        V P                  pV P                  pV P                  pV'       d   VR,          pMV P                  P                  pV P                  p^V n        V'       d*   VP                  V4       ^ Vn        ^ Vn        VR,          p	MV P                  P                  p	W)8:  d   ^ V n        V^,           V3# Vf   Vf   \#        R4      hV'       g   V P%                  V4      ;V n        pV P                  '       g/   VP'                  WW‡4      w  rZr¼WPn        WÀn        W°n        W n        MV P(                  pRp
V
'       df   V^,           p\/        V P                  RRXV P0                  R7      V n        W P2                  n        V P4                  V P2                  n        ^ V n        MRV n        TpWÒ8”  d
   VR,
          pW3p\         '       dG   Vw  pp\7        VV,
          4      R8  d   \        R\9        VV4      ,           4       \        R	W3V4       V# )
ÚWRAPPINGz   r   Nzneed parsedText for formatting©rž  rŸ  r0   r�  gš™™™™™¹?gš™™™™™É?zexact match???zwrap is)rJ   rK   Úidr¡  r   rj  r   Úmyenginer   rž  r0   r   r   Úcansplitri   r   r    rA   ÚcompileProgramrb   ri  r`   ÚremainderProgramr›  r�  rR   r6  r‚   rL   )r%   rh  rj  Úprž  r¡  r0   r   r   ÚneedatleastrR   r`   ra   ri  r®   Úwr¡   s   &&&              r&   rv  Ú	Para.wrapÖ  s/  € ß‹5Ü�*œb ›h¨ÔHÜ�%˜×.Ñ.Ô/Ü�%˜Ÿ™Ô&Ø.ÔÜ+Ó-Ð-ˆŒ˜Ø—‘ˆŒØ—_‘_ˆ
Ø×0Ñ0ÐØ—
‘
ˆßØ˜IÕ&‰Gà—k‘k×)Ñ)ˆGØ—,‘,ˆØˆŒßØ�L‰L˜ÔØˆAŒCØˆAŒCØ 	Õ*‰KàŸ+™+×-Ñ-ˆKØÔ'ØˆDŒMð $ AÕ% ~Ð6Ð6ØÒ '¢/ÜÐ=Ó>Ð>ßØ%)×%8Ñ%8¸Ó%DÐDˆDŒL˜7Ø×$×$Ð$à&'§h¡h¨~ÐPWÓ&añ$ÐØØ$4Ô!Ø$ŒKØ&ŒNØ$-Õ!àŸ™ˆJØˆIçð
 % qÕ(ˆFô " $§+¡+¸$È4Ø(1¸4¿<¹<ôIˆDŒNà%.�N‰NÔ"Ø(,¯©ˆD�N‰NÔ%ØˆD�Oà!ˆDŒNØˆFØÔ%Ø(¨Õ,�ð !Ð)ˆß‹5Ø‰FˆQ�Ü�? 1Õ$Ó% cÔ)ÜÐ&¬¨o¸qÓ)AÕAÔBÜ�)˜nÐ>ÀÔGØˆr)   c                óÊ   € V^ 8:  g   V P                   '       g   . # W n        V P                  pVf   \        R4      hV'       g   . # V P                  pV'       d   W.pV# V .pV# )r   zmust call wrap before split)r®  rj  r¡  rA   rR   )r%   rh  rj  r¡  rR   r®   s   &&&   r&   r!  Ú
Para.split  sp   € ð ˜AÔ T§]§] ]ð ˆIØ.ÔØ×0Ñ0ÐàÒ#ÜÐ:Ó;Ð;ß!àˆIØ—N‘Nˆ	ßàÐ%ˆFð ˆð �FˆFàˆr)   c                ó‚  € V P                   pV P                  pVf   \        R4      hV P                  pV P                  pV'       d    VP                  V4       ^ Vn        ^ Vn        V P                  pV P                  pV'       d   VR,          pMV P                  P                  pVP                  ^ W`P                  ,
          4       VP                  4       p\        '       g   \         '       d,   \#        RR4       V F  p	\#        V	4       K  	  \#        R4       VP%                  W%V4      pVP'                  V4       R # )Nzmust call wrap before drawr   znow running programz,============================================z,--------------------------------------------)r­  r¡  rA   r0   r`   ri   r   r    r{  ri  r   r   r|  rp   r}  ÚDUMPPROGRAMrJ   rK   rê   r~  )
r%   r±  r¡  r0   r`   r  ri  r   Útr   s
   &         r&   r…  Ú	Para.draw6  sò   € Ø�M‰MˆØ×0Ñ0ÐØÒ#ÜÐ9Ó:Ð:Ø—
‘
ˆØ—N‘Nˆ	ßØ�L‰L˜ÔØˆAŒCØˆAŒCØ�I‰Iˆð —‘ˆßØ˜IÕ&‰Gà—k‘k×)Ñ)ˆGð 	
�‰�A�vŸi™iÕ'Ô(Ø�K‰K‹Mˆç‹;Ÿ%›%Ü�&Ð/Ô0Û%�Ü�a–ñ &ä�&ŒMØ—L‘LÐ!1°aÓ8ˆ	à	�
‰
�1Žr)   c                óŽ  € V P                   pVf   . pTP                  pVP                  pV! RV34       ^ RIHp V! V4      w  V n        V n        V n        V! RVP                  34       VP                  V n	        V! RVP                  34       V! RVP                  34       VP                  '       d   V! RVP                  34       V! RVP                  34       V! RVP                  34       VP                  '       d   V! RVP                  34       V P                   '       d   V P#                  V P                   V4       V P%                  W4       VP                  '       d^   ^ pV F6  pV^,          p\'        V\(        4      '       g   \+        VR	4      '       g   K6   M	  VP-                  VRVP                  ) 34       V# )
Nro   )Úps2ttrp   rx   r   r   r   rn   rl   )r   r.   r   Úreportlab.lib.fontsr¼  ro   r¢  r£  r   rp   r#   r3  r4  r   r   r9  rŸ  Ú	do_bulletÚcompileComponentr~   r   r€   Úinsert)	r%   rž  r   rc  rD  Úfnr¼  r�  r   s	   &&&      r&   r¯  ÚPara.compileProgramW  sy  € Ø—‘ˆð Š?ØˆGØ�N‰NˆØ�^‰^ˆá	ˆF�Bˆ=ÔÝ-Ù.3°B«iÑ+ˆŒ�D”I˜tœ{Ù	ˆF�E—N‘NÐ$Ô&Ø—N‘NˆŒ	Ù	ˆG�U—_‘_Ð&Ô(Ù	ˆH�e×&Ñ&Ð(Ô*Ø× × Ð Ù�˜%×/Ñ/Ð1Ô3Ù	ˆM˜5×,Ñ,Ð.Ô0Ù	ˆI�u—}‘}Ð%Ô'Ø�?�?ˆ?Ù�˜Ÿ™Ð)Ô+à�?�?ˆ?Ø�N‰N˜4Ÿ?™?¨GÔ4Ø×Ñ˜jÔ2à× × Ð ØˆEÛ�Ø˜•
�Ü˜a¤×$Ò$¬°°'×(:Ô(:Ùñ ð �N‰N˜E H¨u×/DÑ/DÐ.DÐ#FÔHð. ˆr)   c                óx  € Vf   V P                   pV P                  pVf   . pVP                  R4       VP                  '       d0   VP                  RVP                  VP                  ,           34       MVP                  RVP                  34       VP                  R4       V P                  W!R7      pVP                  R4       VP                  R4       VP                  '       d   VP                  RVP                  34       MVP                  R4       VP                  R4       VP                  R4       R # )Nr   ©r   ©rt   r{   ©ru   )r   r   )rž  r   r.   r5  r   r¯  r6  )r%   r   rž  rc  s   &&& r&   Ú	linearizeÚPara.linearize‘  sñ   € ð ÒØŸ™ˆJØ—‘ˆØŠ?ØˆGØ�‰˜	Ô#Ø××ÐØ�N‰N˜Y¨×(9Ñ(9¸%¿-¹-Õ(GÐHÕJà�N‰N˜Y¨¯©Ð6Ô8Ø�‰˜Ô)Ø×%Ñ% jÐ%ÓBˆØ�‰˜Ô"à�‰˜	Ô#Ø××ÐØ�N‰N˜Y¨×(8Ñ(8Ð9Õ;à�N‰N˜NÔ,Ø�‰˜Ô)Ø�‰˜Ö"r)   c                ó>  € \        V\        4      '       dD   V'       d:   VP                  4       pV'       g   VP                  R 4       R# \	        WV4       R# R# \        V\
        4      '       d   V F  pV P                  WB4       K  	  R# \        V\        4      '       dü   Vw  rVrxV'       g   / pRV,           p	\        W	R4      p
V
e   V
! WgW‚4       R# \        '       d¢   RV,           .pVP                  pV'       g   / pVP                  4        F  w  rÞV! R V: RV: 24       K  	  V'       d*   V! R4       V! \        V4      4       V! RV,          4       MV! R4       RP                  V4      p\	        WV4       R# \        R	\        V4      ,           4      hR# )
r=   Úcompile_NÚ<Ú=Ú>z</%s>z/>Ú zdon't know how to handle tag )r~   r   r�   r.   ÚhandleSpecialCharactersrÁ   r¿  r„   r-   rJ   r?  r¸   rA   rL   )r%   rž  r   Ústextr¯   ÚtagnameÚattdictÚcontentr„  ÚcompilernameÚcompilerÚLrD  ÚkÚvr¹  s   &&&             r&   r¿  ÚPara.compileComponentª  sH  € ä�j¤×%Ò%÷ Ø"×(Ñ(Ó*�ßØ—N‘N 3Ö'ä+¨D¸gÖFñ ô ˜
¤4×(Ò(Û�Ø×%Ñ% aÖ1ó  ä˜
¤5×)Ò)Ø1;Ñ.ˆW˜wßØ�Ø% gÕ-ˆLÜ˜t°4Ó8ˆHØÒ#Ù˜¨5Ö:÷ “5Ø �-Ð)�AØŸ™�Aß"¨b GØ '§¡¦™˜Ú£aªÐ*Ö+ñ !0çÙ˜#œÙœ#˜g›,œÙ˜' GÕ+Õ,á˜$œØŸ™ ›
�AÜ+¨D°WÖ=ä$Ð%DÄtÈGÃ}Õ%TÓUÐUñ3 *r)   c                ó   € V P                   pV P                  pV P                  pWVV3pVf   TpVf   TpVf   TpY n         W0n        W@n        ^ RIHp	 V	! W#V4      p
V	! WVV4      pW«8w  d   VP                  RV
34       V# )N©Útt2psro   )ro   r¢  r£  r½  rÜ  r.   )r%   r   ro   r¢  r£  ÚoldfaceÚoldboldÚ	olditalicÚoldfontinforÜ  rœ   ræ   s   &&&&&       r&   Ú	shiftfontÚPara.shiftfontÓ  s‡   € Ø—)‘)ˆØ—)‘)ˆØ—K‘Kˆ	Ø¨Ð3ˆØŠ< ˜ØŠ< ˜ØŠ> I˜6ØŒ	ØŒ	ØŒÝ-Ù�T˜vÓ&ˆÙ˜¨	Ó2ˆØŒ=Ø�N‰N˜V T˜OÔ-ØÐr)   c                ó:   € V F  pV P                  WT4       K  	  R # r+   )r¿  ©r%   rÒ  rÓ  r„  r   r¯   s   &&&&& r&   rÊ  ÚPara.compile_å  s   € ãˆAØ×!Ñ! !Ö-ó r)   c                ó8   € VP                  \        4       4       R # r+   )r.   ÚPageNumberObject©r%   rÒ  rÓ  r„  r   s   &&&&&r&   Úcompile_pageNumberÚPara.compile_pageNumberë  s   € Ø�‰Ô'Ó)Ö*r)   c                óŠ   € V P                  V^R7      w  rVpV F  pV P                  W„4       K  	  V P                  WFR7       R# )r6   )r¢  N©rá  r¿  ©	r%   rÒ  rÓ  r„  r   ÚfrE  r—   r¯   s	   &&&&&    r&   Ú	compile_bÚPara.compile_bî  s>   € Ø—.‘. ¨q�.Ó1‰ˆˆQÛˆAØ×!Ñ! !Ö-ñ à�‰�wˆÖ'r)   c                óŠ   € V P                  V^R7      w  rVpV F  pV P                  W„4       K  	  V P                  WGR7       R# )r6   )r£  Nrì  rí  s	   &&&&&    r&   Ú	compile_iÚPara.compile_iô  s>   € Ø—.‘. °�.Ó3‰ˆˆQÛˆAØ×!Ñ! !Ö-ñ à�‰�wˆÖ)r)   c                ó–   € VP                  R \        34       V F  pV P                  WT4       K  	  VP                  R\        34       R# )ry   rz   N)r.   Ú	UNDERLINEr¿  rä  s   &&&&& r&   Ú	compile_uÚPara.compile_uú  s?   € ð 	�‰˜¬)Ð4Ô6ÛˆAØ×!Ñ! !Ö-ñ à�‰Ð+¬YÐ7Ö9r)   c                ó*  € V P                   pVR ,          ;V n         pVR,          pVP                  RV34       WPn         VP                  RV) 34       V F  pV P                  W„4       K  	  VP                  RV34       VP                  RV34       R# ©gffffffæ?g      à?rp   r!   N©rp   r.   r¿  ©	r%   rÒ  rÓ  r„  r   rp   Únewsizer!   r¯   s	   &&&&&    r&   Úcompile_subÚPara.compile_sub  s„   € Ø�y‰yˆØ" S�jÐ(ˆŒ	�GØ�C�xˆà�‰˜ Ð)Ô+ØŒ	Ø�‰˜ $ ˜Ô)ÛˆAØ×!Ñ! !Ö-ñ à�‰˜ ˜Ô(Ø�‰˜ ˜Ö(r)   c                óì  € VP                  4       p\        WVV P                  4      pV FÇ  p\        V\        4      '       d$   VP                  4       '       d   \        R 4      hK<  \        V\        4      '       g   KT  Vw  rYr£VR8w  d   \        R\        V4      ,          4      hVP                  4       pV	'       d   VP                  V	4       VP                  V4       V P                  WºW44       KÉ  	  R# )ú(don't expect CDATA between list elementsÚlizdon't expect %s inside listN)r?   ÚbulletMakerr�  r~   r   r�   rA   r„   rL   rC   Ú
makeBulletÚcompile_para)r%   rÒ  rÓ  r„  r   rÑ  ÚattsÚbulletmakerr¯   Úattdict1Úcontent1Únewattss   &&&&&&      r&   Ú
compile_ulÚPara.compile_ul  s½   € ð �|‰|‹~ˆÜ! '°·±Ó>ˆãˆAÜ˜!œC× Ò Ø—7‘7—9’9Ü$Ð%OÓPÐPñ ä˜Aœe×$Ô$Ø78Ñ4� HØ˜D”=Ü$Ð%BÄTÈ'Ã]Õ%RÓSÐSØŸ)™)›+�ßØ—N‘N 8Ô,Ø×&Ñ& wÔ/Ø×!Ñ! '°UÖDó r)   c                ó*   € V P                  WW4R R7      # )Úol)rÑ  )r
  rè  s   &&&&&r&   Ú
compile_olÚPara.compile_ol#  s   € Ø�‰˜w°ÈˆÓNÐNr)   c                óR  € VP                  4       pVP                  4       p\        R WPP                  4      p\        V4      pRpV'       Ed8   V^ ,          p	V^  \	        V	\
        4      '       d-   V	P                  4       '       d   \        R4      hV'       g   MëKW  \	        V	\        4      '       g   Ko  V	w  r«rÃV
R8w  d#   V
R8w  d   \        R\        V
4      ,          4      hV
R8X  dB   V'       d   \        R\        V4      ,           4      hV'       d   V P                  W¼W44       Kã  Kå  V
R8X  g   Kî  VP                  4       pV'       d   VP                  V4       VP                  WØR7       V P                  WÜW44       RpEK@  V'       d   \        R\        V4      ,           4      hR	# )
ÚdlrÎ  r   ÚddÚdtz5don't expect %s here inside list, expect 'dd' or 'dt'z2dt will not be displayed unless followed by a dd: )Úblz0dt will not be displayed unless followed by a ddN)r?   r  r�  rÁ   r~   r   r�   rA   r„   rL   r  rC   r  )r%   rÒ  rÓ  r„  r   r  r  Úcontentcopyrv   r¯   rÑ  r  r  r	  s   &&&&&         r&   Ú
compile_dlÚPara.compile_dl&  s_  € ð �|‰|‹~ˆð �|‰|‹~ˆÜ! $¨¯l©lÓ;ˆä˜7“mˆØˆßˆkØ˜A•ˆAØ˜A�Ü˜!œC× Ò Ø—7‘7—9’9Ü$Ð%OÓPÐPß$ØáÜ˜Aœe×$Ô$Ø78Ñ4� HØ˜D”= W¨d¤]Ü$Ð%\Ü˜w›-õ&(ó )ð )à˜D”=ßÜ(Ð)]Ô^bÐciÓ^jÕ)jÓkÐkßØ×)Ñ)¨(¸eÖMñ  ð ˜d–]Ø"Ÿi™i›k�GßØŸ™ xÔ0Ø×*Ñ*¨7Ð*Ô>Ø×%Ñ% g¸ÔHØ“FßÜÐOÔPTÐU[ÓP\Õ\Ó]Ð]ñ r)   c                ó*  € V P                   pVR ,          ;V n         pVR,          pVP                  RV34       VP                  RV34       V F  pV P                  W„4       K  	  VP                  RV34       WPn         VP                  RV) 34       R# rù  rú  rû  s	   &&&&&    r&   Úcompile_superÚPara.compile_superQ  s„   € Ø�y‰yˆØ" S�jÐ(ˆŒ	�GØ�C�xˆà�‰˜ Ð)Ô+Ø�‰˜ ˜Ô(ÛˆAØ×!Ñ! !Ö-ñ à�‰˜ ˜Ô(ØŒ	Ø�‰˜ $ ˜Ö)r)   c                óª  € VP                  R4       RV9   dA   TR,          p^ RIHp  V! WPP                  V P                  4      pTP                  RT34       RV9   d   VR,          pVP                  RV34       RV9   d   VR,          p	VP                  RV	34       V F  p
V P                  W¤4       K  	  VP                  R4       R#    Tp LŒ; i)rt   ro   rÛ  rn   rp   NrÅ  rÆ  )r.   r½  rÜ  r¢  r£  r¿  )r%   rÒ  rÓ  r„  r   ro   rÜ  rœ   r˜   rp   r¯   s   &&&&&      r&   Úcompile_fontÚPara.compile_font^  sÁ   € à�‰˜	Ô#Ø�WÔØ˜6•?ˆDÝ1ðÙ˜T§)¡)¨D¯K©KÓ8�ð �N‰N˜V T˜OÔ-Ø�gÔØ Õ(ˆIØ�N‰N˜W iÐ0Ô2Ø�WÔà˜6•?ˆDØ�N‰N˜V T˜NÔ,ÛˆAØ×!Ñ! !Ö-ñ à�‰˜Ö"øðØ’ús   ©C ÃCc                ó˜  € VR ,          pVP                  RR4      p\        V4      pVP                  R4       VP                  RV34       VP                  RV34       VP                  R\        34       V F  pV P	                  W„4       K  	  VP                  R\        34       VP                  RV34       VP                  R4       R# )Úhrefrn   Úbluery   rz   NrÅ  rÆ  )ÚgetÚHotLinkr.   rõ  r¿  )	r%   rÒ  rÓ  r„  r   Úurlr˜   ÚLinkr¯   s	   &&&&&    r&   Ú	compile_aÚPara.compile_at  s«   € Ø�f�oˆØ—K‘K ¨Ó0ˆ	ä�s‹|ˆØ�‰˜	Ô#Ø�‰˜ )Ð,Ô.Ø�‰˜¨$Ð/Ô1Ø�‰˜¬)Ð4Ô6ÛˆAØ×!Ñ! !Ö-ñ à�‰Ð+¬YÐ7Ô9Ø�‰Ð+¨TÐ2Ô4Ø�‰˜Ö"r)   c                ó¨  € VR ,          pVP                  RR4      p\        V4      pVP                  R4       V'       d   VP                  RV34       VP                  RV34       VP                  R\        34       V F  pV P	                  W„4       K  	  VP                  R\        34       VP                  RV34       VP                  R4       R# )Údestinationrn   Nry   rz   rÅ  rÆ  )r!  ÚInternalLinkr.   rõ  r¿  ©	r%   rÒ  rÓ  r„  r   Údestr˜   r$  r¯   s	   &&&&&    r&   Úcompile_linkÚPara.compile_linkƒ  s°   € Ø�}Õ%ˆØ—K‘K ¨Ó.ˆ	ä˜DÓ!ˆØ�‰˜	Ô#ßØ�N‰N˜W iÐ0Ô2Ø�‰˜¨$Ð/Ô1Ø�‰˜¬)Ð4Ô6ÛˆAØ×!Ñ! !Ö-ñ à�‰Ð+¬YÐ7Ô9Ø�‰Ð+¨TÐ2Ô4Ø�‰˜Ö"r)   c                óÈ  € VR ,          pVP                  RR4      p\        V4      pVP                  R4       V'       d   VP                  RV34       VP                  RV34       V'       d   VP                  R\        34       V F  pV P	                  W„4       K  	  V'       d   VP                  R\        34       VP                  RV34       VP                  R4       R# )r(  rn   r   ry   rz   NrÅ  rÆ  )r!  ÚDefDestinationr.   rõ  r¿  r*  s	   &&&&&    r&   Úcompile_setLinkÚPara.compile_setLink“  s¶   € Ø�}Õ%ˆØ—K‘K ¨Ó0ˆ	ä˜dÓ#ˆØ�‰˜	Ô#ßØ�N‰N˜W iÐ0Ô2Ø�‰˜¨$Ð/Ô1ßØ�N‰N˜_¬iÐ8Ô:ÛˆAØ×!Ñ! !Ö-ñ çØ�N‰NÐ/´Ð;Ô=Ø�‰Ð+¨TÐ2Ô4Ø�‰˜Ö"r)   c                óª   € \        V4      ^8w  g   \        V^ ,          \        4      '       g   \        R4      hV^ ,          pV P	                  WT4       R# )r6   z*content for bullet must be a single stringN)r}   r~   r   rA   r¾  )r%   rÒ  rÓ  r„  r   r÷   s   &&&&& r&   Úcompile_bulletÚPara.compile_bullet©  s>   € äˆw‹<˜Œ?¤*¨W°Q­Z¼×"<Ò"<ÜÐIÓJÐJØ�q�zˆØ�‰�tÖ%r)   c                ó°   € V P                   pVP                  V P                  ,           pVP                  pVP                  pVP                  R WWV34       R# )rv   N)r   r8  r   rO  r7  r.   )r%   r÷   r   rc  r   rœ   rp   s   &&&    r&   r¾  ÚPara.do_bullet°  sH   € Ø—‘ˆà×#Ñ# d§o¡oÕ5ˆØ×#Ñ#ˆØ×#Ñ#ˆØ�‰˜ 4°Ð<Ö>r)   c                óŠ   € V P                  VR R7      w  rVpV F  pV P                  W„4       K  	  V P                  WER7       R# )ÚCourier)ro   Nrì  rí  s	   &&&&&    r&   Ú
compile_ttÚPara.compile_tt¸  s>   € Ø—.‘. ¨y�.Ó9‰ˆˆQÛˆAØ×!Ñ! !Ö-ñ à�‰�wˆÖ'r)   c                ó0   € V P                  R R/W#V4       R# )ro   ÚsymbolN)r  rè  s   &&&&&r&   Úcompile_greekÚPara.compile_greek¾  s   € Ø×Ñ˜6 8Ð,¨g¸gÖFr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   ÚEvalStringObjectr�  rè  s   &&&&&r&   Úcompile_evalStringÚPara.compile_evalStringÁ  ó   € Ø�‰Ô(¨¸5Ç,Á,ÓOÖQr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   Ú
NameObjectr�  rè  s   &&&&&r&   Úcompile_nameÚPara.compile_nameÄ  s   € Ø�‰œ
 7°U¿L¹LÓIÖKr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   ÚGetNameObjectr�  rè  s   &&&&&r&   Úcompile_getNameÚPara.compile_getNameÇ  s   € Ø�‰œ g¸¿|¹|ÓLÖNr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   Ú	SeqObjectr�  rè  s   &&&&&r&   Úcompile_seqÚPara.compile_seqÊ  s   € Ø�‰œ	 '°E¿<¹<ÓHÖJr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   ÚSeqResetObjectr�  rè  s   &&&&&r&   Úcompile_seqResetÚPara.compile_seqResetÍ  s   € Ø�‰œ w¸ÇÁÓMÖOr)   c                óP   € VP                  \        WW0P                  4      4       R # r+   )r.   ÚSeqDefaultObjectr�  rè  s   &&&&&r&   Úcompile_seqDefaultÚPara.compile_seqDefaultÐ  rC  r)   c                ó¬  € Vf   / pV P                   pVP                  RV4      pWe,          p\        RVR7      pVP                  V4       VP                  RR 4      p	V P                  p
\        W‚WiR7      pV P                  pV
P                  V P                  ,           ;V n        Vn        VP                  VR7       VP                  R4       WÀn        R # )Nrc  zrml2pdf internal embedded style©r@  rA  rŸ  ©r�  rŸ  rÄ  r{   )
r�  r!  r<  rL  r   r›  r   r3  rÇ  r.   )r%   rÒ  rÓ  r„  r   Ú	stylenamer�  rc  ÚnewstylerŸ  ÚmystyleÚtheparaÚmybaseindents   &&&&&&       r&   r  ÚPara.compile_paraÓ  s¸   € ØŠ?ØˆGØ—,‘,ˆØ—K‘K ¨Ó3ˆ	ØÕ"ˆÜÐ$EÈeÔTˆØ×Ñ˜wÔ'Ø—[‘[ ¨tÓ4ˆ
Ø—+‘+ˆÜ�x°'ÔQˆð —‘ˆØ/6×/AÑ/AÀDÇOÁOÕ/SÐSˆŒ˜'Ô,Ø×Ñ 'ÐÔ*Ø�‰˜Ô)Ø&Žr)   )rj  r   r¢  rŸ  r®  r�  ro   r¡  ri  r£  r`   r­  rž  r   rR   r°  rp   r6  r5  r0   r   )NNNNr   r+   )NN©NNN)Úul)rX  )+rì   rí   rî   rï   r5  r6  r'   rˆ  r‹  rv  r!  r…  r¯  rÇ  r¿  rá  rÊ  ré  rï  rò  rö  rý  r
  r  r  r  r  r%  r,  r0  r3  r¾  r9  r=  rA  rF  rJ  rN  rR  rV  r  rð   rñ   rò   s   @r&   r›  r›  ±  sÔ   ø‡ € à€KØ€Jô#ò. ò
òFòPò0ôB8ôt#ò2'VôRò$.ò+ò(ò*ò:ò)ôEò(Oò)^òV*ò#ò,#ò#ò #ò,&ò?ò(òGòRòLòOòKòPòR÷'ò 'r)   r›  c                   ó0   a € ] tR tRt o R tRR ltRtV tR# )r  iæ  c                ó&  € Wn         R pVP                  RV4      ;V n        pRRRRRR/V,          pVP                  RV4      ;V n        pR	V9  d3   Y4,          p^ R
IHp VP                  pV! RRV4      p	\        V	4      VR	&   ^ V n        ^V n	        R# )r]  rc  rb  Údiscr  r  r  NÚtyper3  r   ÚXXXr8  )
rÑ  r!  rc  Útypr|   r   r   r   r�  Ú_first)
r%   rÑ  r  r�  rc  rh  Úthestyler   rp   r   s
   &&&&      r&   r'   ÚbulletMaker.__init__ç  s˜   € ØŒà!ˆØ!ŸX™X g¨uÓ5Ð5ˆŒ
�UØ�V˜T 3¨¨dÐ3°GÕ<ˆàŸ™ ¨Ó-Ð-ˆŒ�#à˜tÔ#à•~ˆHÝ@Ø×$Ñ$ˆDÙ  ¨	°4Ó8ˆFÜ!$ V£ˆD�ÑØˆŒ
ØˆŽr)   Nc                ó�  € V P                   '       g   R VR&   M^ V n         V P                  pV P                  pVEfg   VR8X  db   VR8X  d   \        ^m4      pMAVR8X  d   \        ^l4      pM.VR8X  d   \        ^n4      pM\	        R\        V4      ,          4      hRV9  d   R	VR&   MþVR
8X  dÝ   RV9   d   \        VR,          4      V n        MV ;P                  ^,          un        VR8X  d   \        V P                  4      pM¢VR8X  d0   \        R4      V P                  ,           ^,
          p\        V4      pMlVR8X  d0   \        R4      V P                  ,           ^,
          p\        V4      pM6\	        R\        V4      ,          4      h\	        R\        V4      ,           4      hRV9  d   W!R&   RV9  d   V P                  VR&   R# R# )r  r5  Nrb  re  ÚcircleÚsquarez&unordered list type %s not implementedrO  ÚZapfDingbatsr  rK  r  rD  ÚAz&ordered bullet type %s not implementedzbad tagname rŸ  rc  )ri  rh  rÑ  ÚchrrA   rL   Úintr�  r   Úordrc  )r%   r  r  rh  rÑ  Útheords   &&&   r&   r  ÚbulletMaker.makeBulletú  su  € Ø�{�{ˆ{à"%ˆD�ÒàˆDŒKØ�h‰hˆØ—,‘,ˆØ‹:Ø˜Œ}Ø˜”;¤S¨£X¡Ø˜(”]¬¨S«¡BØ˜(”]¬¨S«¡Bä$Ð%MÔPTÐUXÓPYÕ%YÓZÐZØ#¨4Ô/Ø-;�DÐ)Ñ*øØ˜$”Ø˜d”?Ü!$ T¨'¥]Ó!3�D•Jà—J’J !•O•JØ˜”8¤# d§j¡j£/™RØ˜#”XÜ  ›X d§j¡jÕ0°Õ2�FÜ˜V›‘BØ˜#”XÜ  ›X d§j¡jÕ0°Õ2�FÜ˜V›‘Bä$Ð%MÔPTÐUXÓPYÕ%YÓZÐZä  ´°W³Õ!=Ó>Ð>Ø˜tÔ#Ø!#�ÑØ˜$ÔØ ŸJ™JˆD�‹Mñ r)   )ri  r�  rc  rÑ  rh  r+   )rì   rí   rî   rï   r'   r  rð   rñ   rò   s   @r&   r  r  æ  s   ø‡ € ò÷&$'ò $'r)   r  c                   ó@   a € ] tR tRt o RtRtR tR tR tR t	Rt
V tR	# )
r@  i   z)this will only work if rml2pdf is presentÚ
evalStringc                óJ   € V'       g   / pWn         W n        W@n        W0n        R # r+   )rÒ  rÓ  r�  r„  )r%   rÒ  rÓ  r„  r�  s   &&&&&r&   r'   ÚEvalStringObject.__init__%  s   € ßØˆGØŒØŒØŒØŽ
r)   c                óV   € ^ RI Hp VP                  WP                  / 4      ;q@n        V# )r   )Ú
Controller)Úrlextra.rml2pdf.rml2pdfr{  ÚprocessTupler�  Úop)r%   r„   Úenginer{  r~  s   &&&  r&   ÚgetOpÚEvalStringObject.getOp-  s%   € Ý6à!×.Ñ.¨u·l±lÀBÓGÐGˆŒWØˆ	r)   c                óþ   € ^ RI Hp V P                  pV'       g   . pV P                  V P                  W0P
                  3pV P                  WA4      ;qPn        \        V4      pV! WaP                  VP                  4      # ©r   r   )r|   r   rÓ  rÑ  rÒ  r„  r€  r~  r   r   r   )r%   r  r   rÓ  r„   r~  r¾   s   &&     r&   rl   ÚEvalStringObject.width3  sa   € Ý<Ø—,‘,ˆßØˆGØ—‘˜tŸ|™|¨W·j±jÐAˆØ—z‘z %Ó0Ð0ˆŒWô �‹GˆÙ˜1Ÿo™o¨v¯©Ó?Ð?r)   c                óN   € VP                  \        V P                  4      4       R # r+   )rÔ   r   r~  ©r%   r  rÜ   rÛ   s   &&&&r&   rÕ   ÚEvalStringObject.execute@  s   € Ø×Ñœ3˜tŸw™w›<Ö(r)   )rÒ  rÓ  r�  r„  r~  N)rì   rí   rî   rï   rN  rÑ  r'   r€  rl   rÕ   rð   rñ   rò   s   @r&   r@  r@     s'   ø‡ € Ù/à€Gòòò@÷)ð )r)   r@  c                   ó&   a € ] tR tRt o R tRtV tR# )rM  iC  c                óÌ   € ^ RI Hp V! 4       pV P                  pRV9   d   VR,          pWd,          ;qpn        V# RV9   d   VR,          pMRpVP	                  V4      ;qpn        V# )r   ©ÚgetSequencerÚtemplater¬  N)Úreportlab.lib.sequencerr‹  rÒ  r~  Únextf)	r%   r„   r  r‹  ÚglobalsequencerÚattrÚtemplr~  r¬  s	   &&&      r&   r€  ÚSeqObject.getOpE  sj   € Ý8Ù&›.ˆØ�|‰|ˆð ˜ÔØ˜Õ$ˆEØ Õ2Ð2ˆB”ØˆIØ�TŒ\Ø�d•‰BàˆBØ&×,Ñ,¨RÓ0Ð0ˆŒWØˆ	r)   ©r~  N©rì   rí   rî   rï   r€  rð   rñ   rò   s   @r&   rM  rM  C  s   ø‡ € ÷ð r)   rM  c                   ó*   a € ] tR tRt o RtR tRtV tR# )rE  iV  r@  c                ó   € R # r+   r2  r†  s   &&&&r&   rÕ   ÚNameObject.executeX  s   € Ùr)   r2  N)rì   rí   rî   rï   rÑ  rÕ   rð   rñ   rò   s   @r&   rE  rE  V  s   ø‡ € Ø€G÷ð r)   rE  c                   ó&   a € ] tR tRt o R tRtV tR# )rU  i[  c                ó¢   € ^ RI Hp V! 4       pV P                  p VR,          pVP	                  V4       RV n        R#   \         d    Rp L)i ; i)r   rŠ  r¬  NrÎ  )r�  r‹  rÒ  r  ÚsetDefaultCounterr~  )r%   r„   r  r‹  r�  r�  Údefaults   &&&    r&   r€  ÚSeqDefaultObject.getOp]  sS   € Ý8Ù&›.ˆØ�|‰|ˆð	Ø˜4•jˆGð 	×)Ñ)¨'Ô2ØˆŒÙøô	 ô 	ØŠGð	ús   ›	> ¾AÁAr“  Nr”  rò   s   @r&   rU  rU  [  s   ø‡ € ÷
ð 
r)   rU  c                   ó&   a € ] tR tRt o R tRtV tR# )rQ  ii  c                óÚ   € ^ RI Hp V! 4       pV P                  p VR,          p \	        VR,          4      pTP                  Yg4       RT n        R#   \         d    Rp L<i ; i   ^ p L3; i)r   rŠ  r¬  NÚbaserÎ  )r�  r‹  rÒ  r  rr  Úresetr~  )r%   r„   r  r‹  r�  r�  r¬  rŸ  s   &&&     r&   r€  ÚSeqResetObject.getOpk  sq   € Ý8Ù&›.ˆØ�|‰|ˆð	Ø�d•ˆBð	Ü�t˜F•|Ó$ˆDð 	×Ñ˜bÔ'ØˆŒÙøô ô 	ØŠBð	ûð	ØŠDús   ›	A ¥A$ ÁA!Á A!Á$A*r“  Nr”  rò   s   @r&   rQ  rQ  i  s   ø‡ € ÷ð r)   rQ  c                   ó   € ] tR tRtRtRtR# )rI  i{  ÚgetNamer2  N)rì   rí   rî   rï   rÑ  rð   r2  r)   r&   rI  rI  {  s   † Ø„Gr)   rI  c                   ó6   a € ] tR tRt o RR ltR tR tRtV tR# )rç  i~  c                ó   € Wn         R # r+   ©Úexample)r%   r§  s   &&r&   r'   ÚPageNumberObject.__init__€  s   € ØŽr)   c                ó^   € ^ RI Hp V! V P                  VP                  VP                  4      # rƒ  )r|   r   r§  r   r   )r%   r  r   s   && r&   rl   ÚPageNumberObject.widthƒ  s    € Ý<Ù˜4Ÿ<™<¨¯©¸&¿/¹/ÓJÐJr)   c                óZ   € VP                  4       pVP                  \        V4      4       R # r+   )ÚgetPageNumberrÔ   r   )r%   r  rÜ   rÛ   Úns   &&&& r&   rÕ   ÚPageNumberObject.execute‡  s"   € Ø× Ñ Ó"ˆØ×Ñœ3˜q›6Ö"r)   r¦  N)rg  )	rì   rí   rî   rï   r'   rl   rÕ   rð   rñ   rò   s   @r&   rç  rç  ~  s   ø‡ € ôòK÷#ð #r)   rç  c                 óÜ   € ^ RI Hp Hp  ! R RV 4      s\        4       s ! R RV 4      s\        4       pW!R&   W!R&   W!R&   \        VR	&   \        VR
&   \        VR&   \        VR&   \        VR&   R# )z8make the para the default para implementation in rml2pdf)ÚMapNoder{  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú
paraMapperi‘  c                ón  € Vw  rVrxVR ,           p	VP                  RV	4      p	W9,          p
\        RV
R7      pVP                  V4       VP                  RR4      pRpV'       gB   \        V4      ^8X  d2   V^ ,          p\	        V\
        4      '       d   RV9  d   \        W¾4      pVf   \        W·W<R7      pV# )z.defaultStylerc  zrml2pdf internal stylerY  rŸ  Nrb  rZ  )r!  r<  rL  r}   r~   r   r`  r›  )r%   Ú	nodetupleÚ
controllerr�  Ú	overridesrÑ  rÒ  rÓ  r„  r[  rc  r]  rŸ  r®   r÷   s   &&&&&          r&   r|  ÚparaMapper.translate“  s§   € Ø1:Ñ.ˆW˜wØ Õ/ˆIØŸ™ G¨YÓ7ˆIØÕ&ˆEÜ!Ð'?ÈÔNˆGØ×!Ñ! 'Ô*Ø Ÿ™ \°4Ó8ˆJàˆFß¤# g£,°¤/Ø˜q•z�Ü˜d¤3×'Ò'¨C°t¬OÜ% gÓ4�FØŠ~Ü˜g¸ÔW�ØˆMr)   r2  N©rì   rí   rî   rï   r|  rð   rñ   rò   s   @r&   r²  r²  ‘  s   ø‡ € ÷	ð 	r)   r²  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚulMapperi§  c                ó<   € R / V.R3p\         P                  WRW44      # )ÚparaN)ÚtheParaMapperr|  )r%   r´  rµ  r�  r¶  r^  s   &&&&& r&   r|  ÚulMapper.translate©  s%   € Ø˜r I ;°Ð5ˆGÜ ×*Ñ*¨7ÀÓSÐSr)   r2  Nr¸  rò   s   @r&   rº  rº  §  s   ø‡ € ÷	Tð 	Tr)   rº  rb  r  r  r¼  Úh1Úh2Úh3ÚtitleN)r|  r°  r{  r²  r½  rº  )r°  r{  ÚtheListMappers      r&   ÚEmbedInRml2pdfrÄ  Œ  s{   € ç;ô�Wô ô( “L€MôT�7ô Tô “J€MØ$ˆtÑØ$ˆtÑØ$ˆtÑÜ&€JˆvÑÜ$€JˆtÑÜ$€JˆtÑÜ$€JˆtÑÜ'€JˆwÓr)   c                 ó®  € ^ RI Hp ^ RIHp RRRRRR/pVR	,          V9   d   VP	                  R
4        Tf   . pTP                  R4      p	^p
T	R,          pT	 EFã  pT
'       Eg3   TP                  R4      pT^ 8”  Ed   TRT pT^ ,          R8X  dd    T^,          R8X  d   \        TR,          ^4      pM\        TR,          4      p T^ 8¼  d   \        T4      YÍ^,           R ,           pM­RT,           pM£Yå9   dC   Y^,          p\        T\        4      '       d   TP                  R4      pTYÍ^,           R ,           pM[Yã9   dC   Y>,          p\        T\        4      '       d   TP                  R4      pTYÍ^,           R ,           pMRT,           pM	RT,           pTP                  4       pTRR  F  pTP	                  TR
,           4       K  	  T'       dg   T'       d_   TR,          T9   d!   TP	                  TR,          R
,           4       M0TR,          P                  4       pT'       d   TP	                  T4       ^ p
EKæ  	  T#   \         d    Rp EL‹i ; i)r   )Úgreeks)Ú
whitespaceÚltrË  ÚgtrÍ  Úamprb  :r   r6   Nr=   NÚ;Ú#r   :é   NN:r6   NNÚutf8r8   )Úreportlab.platypus.paraparserrÆ  r)  rÇ  r.   r!  r�   rN   Úfindrr  rA   rq  r~   ÚbytesÚdecode)r  r÷   r   rÆ  rÇ  Ústandardr®   r   rÃ   Úamptextr‹   ÚlastfragÚfragmentÚsemir@  r­  r¾   Ú	sfragmentr³  s   &&&                r&   rÏ  rÏ  ¸  s  € Ý4Ý!Ø�3˜˜S %¨Ð,€HàˆC…y�JÔØ�‰�sÔð 	ð ‚ØˆØ�j‰j˜‹o€GØ€EØ�r�{€HÜˆßˆuà—=‘= Ó%ˆDØ�A�vØ  ��Ø˜•7˜C”<ðØ �7 cœ>Ü # D¨¥H¨bÓ 1™Aä # D¨¥H£™Að ˜!”tÜ#& q£6¨(¸µ6°7Ð*;Õ#;™à#& x¥<™ØÔ%Ø ��AÜ! (¬5×1Ò1ØŸH™H VÓ,˜Ø  ¨q­&¨'Ð!2Õ2‘HØ”^Ø��AÜ! (¬5×1Ò1ØŸH™H VÓ,˜Ø  ¨q­&¨'Ð!2Õ2‘Hð  # 8�|‘Hð ˜x�<�à—N‘NÓ$ˆ	Ø˜3˜B“ˆAØ�N‰N˜1˜S�5Ö!ñ  ÷ Ÿà˜�|˜zÔ)Ø—‘ 	¨"¥¨cÕ 1Õ3à  •}×*Ñ*Ó,�ßà—N‘N DÔ*Ø‹ña ðd €NøôM &ô Ø›ðús   Â!IÂ5IÉIÉIc                ó†   € RV 9  d   RV 9  d   \        WR7      # ^ RIHp VP                  V RR7      p\	        WVRVR7      # )z]Paragraph(text, style, bulletText=None)
intended to be like a platypus Paragraph but better.
rb  rË  )rd  ©Ú	rparsexmlN©ÚentityReplacerr«  )r`  r(  rÛ  ÚparsexmlSimpler›  )r÷   rc  rŸ  Úfragsr�  rÛ  Ú
parsedparas   &&&&&  r&   Ú	Paragraphrá    sH   € ð
 �$„˜3 dœ?Ü˜Ô/Ð/õ 	,Ø×-Ñ-¨dÀ$Ð-ÓGˆ
Ü�E¸ZÈtÐ]dÔeÐer)   c                   ó6   a € ] tR tRt o RR ltR tR tRtV tR# )ÚUnderLineHandleri  Nc                ó   € Wn         R # r+   )rn   )r%   rn   s   &&r&   r'   ÚUnderLineHandler.__init__  s   € ØŽ
r)   c                ó   € Wn         W n        R # r+   )ÚxStartÚyStart)r%   r   r    r¼  rÛ   rÜ   s   &&&&&&r&   rÒ   ÚUnderLineHandler.start_at  s   € ØŒØŽr)   c                óD  € VP                   R ,          pVP                  4        V P                  pV P                  f   VP                  pVP	                  V4       VP                  V P                  V P                  V,
          WV,
          4       VP                  4        R# )g       @N)	r   Ú	saveStatern   r   ÚsetStrokeColorrZ   rç  rè  ÚrestoreState)r%   r   r    r¼  rÛ   rÜ   Úoffsetrn   s   &&&&&&  r&   rÖ   ÚUnderLineHandler.end_at  ss   € Ø—‘˜sÕ"ˆØ×ÑÔØ—
‘
ˆØ�:‰:ÒØ—N‘NˆEØ×Ñ˜eÔ$Ø�‰�D—K‘K §¡¨VÕ!3°Q¸µxÔ@Ø×ÑÖr)   )rn   rç  rè  r+   )	rì   rí   rî   rï   r'   rÒ   rÖ   rð   rñ   rò   s   @r&   rã  rã    s   ø‡ € ôò÷ð r)   rã  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )r"  i#  c                ó   € Wn         R # r+   ©r#  )r%   r#  s   &&r&   r'   ÚHotLink.__init__%  s   € ØŽr)   c                ó°   € VP                   pV P                  V P                  WV,           .p\        '       d   \	        R V4       V P                  Wt4       R# )zLINKING RECTANGLEN)r   rç  rè  rJ   rK   Úlink)r%   r   r    r¼  rÛ   rÜ   rš   Úrects   &&&&&&  r&   rÖ   ÚHotLink.end_at(  s?   € Ø—=‘=ˆØ—‘˜TŸ[™[¨!¨h­JÐ7ˆß‹5ÜÐ% tÔ,à�	‰	�$Ör)   c                óB   € VP                  V P                  V^R7       R# )r6   )ÚrelativeN)ÚlinkURLr#  )r%   rö  rÛ   s   &&&r&   rõ  ÚHotLink.link0  s   € Ø�‰�t—x‘x °ˆÖ2r)   rò  N)	rì   rí   rî   rï   r'   rÖ   rõ  rð   rñ   rò   s   @r&   r"  r"  #  s   ø‡ € òò ÷3ð 3r)   r"  c                   ó&   a € ] tR tRt o R tRtV tR# )r)  i3  c                óJ   € V P                   pR pVP                  WCVRR7       R# )rÎ  z[0 0 0])ÚBorderN)r#  ÚlinkRect)r%   rö  rÛ   ÚdestinationnameÚcontentss   &&&  r&   rõ  ÚInternalLink.link5  s"   € ØŸ(™(ˆØˆØ�‰˜°4À	ˆÖJr)   r2  N)rì   rí   rî   rï   rõ  rð   rñ   rò   s   @r&   r)  r)  3  s   ø‡ € ÷Kð Kr)   r)  c                   ó*   a € ] tR tRt o ^ tR tRtV tR# )r/  i:  c                ó‚   € V P                   pV P                  '       g!   Vw  rErgVP                  W4V4       ^V n        R# R# )r6   N)r#  ÚdefinedÚbookmarkHorizontal)r%   rö  rÛ   r   r   r    Úx1Úy1s   &&&     r&   rõ  ÚDefDestination.link>  s9   € ØŸ(™(ˆØ�|�|ˆ|Ø!‰NˆQ�2Ø×%Ñ% o¸"Ô=ØˆDŽLñ r)   )r  N)rì   rí   rî   rï   r  rõ  rð   rñ   rò   s   @r&   r/  r/  :  s   ø‡ € à€G÷ð r)   r/  c                 ól   € V P                  4       p. pV F  pVP                  VR ,           4       K  	  V# )r=   )r!  r.   )r÷   rÐ  r®   r¯   s   &   r&   Ú
splitspacer  E  s1   € à�J‰J‹L€EØ€FÛˆØ�‰�a˜•eÖñ à€Mr)   a¤  
This is Text.
<b>This is bold text.</b>
This is Text.
<i>This is italic text.</i>

<ul>
    <li> this is an element at 1
more text and even more text &amp; on and on and so forth
more text and even more text and on &amp; on and so forth
more text and even more text and on and on &amp; so forth
more text and even more text and on and on and so forth
more text and even more text and on and on and so forth --&gt;
more text <tt>monospaced</tt> and back to normal

    <ul>
        <li> this is an element at 2

more text and even more text and on and on and so forth
more text and even more text and on and on and so forth

        <ul>
            <li> this is an element at 3

more text and even more text and on and on and so forth


                <dl bulletFontName="Helvetica-BoldOblique" spaceBefore="10" spaceAfter="10">
                <dt>frogs</dt> <dd>Little green slimy things. Delicious with <b>garlic</b></dd>
                <dt>kittens</dt> <dd>cute, furry, not edible</dd>
                <dt>bunnies</dt> <dd>cute, furry,. Delicious with <b>garlic</b></dd>
                </dl>

more text and even more text and on and on and so forth

            <ul>
                <li> this is an element at  4
more text and even more text and on and on and so forth
                </li>
                <li> this is an element at4
more text and even more text and on and on and so forth
                </li>
            </ul>
more text and even more text and on and on and so forth
more text and even more text and on and on and so forth

            </li>
        </ul>
more text and even more text and on and on and so forth
more text and even more text and on and on and so forth
        </li>
    </ul>
<u><b>UNDERLINED</b> more text and even more text and on and on and so forth
more text and even more text and on and on and so forth</u>

<ol type="a">
    <li value="3">first element of the alpha list

     <ul type="square">
        <li>first element of the square unnumberred list</li>

        <li>second element of the unnumberred list</li>

        <li>third element of the unnumberred list
        third element of the unnumberred list
        third element of the unnumberred list
        third element of the unnumberred list
        third element of the unnumberred list
        third element of the unnumberred list
        third element of the unnumberred list
        </li>

        <li>fourth element of the unnumberred list</li>

      </ul>

    </li>

    <li>second element of the alpha list</li>

    <li>third element of the alpha list
    third element of the unnumberred list &amp;#33; --> &#33;
    third element of the unnumberred list &amp;#8704; --> &#8704;
    third element of the unnumberred list &amp;exist; --> &exist;
    third element of the unnumberred list
    third element of the unnumberred list
    third element of the unnumberred list
    </li>

    <li>fourth element of the alpha list</li>

  </ol>


    </li>
</ul>
u…  
<a href="http://www.reportlab.com">goto www.reportlab.com</a>.


<para alignment="justify">
<font color="red" size="15">R</font>ed letter. thisisareallylongword andsoisthis andthisislonger
justified text paragraph example with a pound sign Ã‚Â£
justified text paragraph example
justified text paragraph example
</para>

<para alignment="center">
<font color="green" size="15">G</font>reen letter.
centered text paragraph example
centered text paragraph example
centered text paragraph example
</para>
<para alignment="right">
<font color="blue" size="15">B</font>lue letter.
right justified text paragraph example
right justified text paragraph example
right justified text paragraph example
</para>
<para alignment="left">
<font color="yellow" size="15">Y</font>ellow letter.
left justified text paragraph example
left justified text paragraph example
left justified text paragraph example
</para>

c           	      ó~  € ^ RI Hp ^ RIHp ^ RIHp VP                  VRR7      pV! RR4      p\        We4      pVP                  ^V,          ^
V,          4      w  r‰\        RW˜34       V P                  4        V P                  ^V,          ^V,          4       V P                  ^ ^ ^V,          ^
V,          ^ ^R7       Wn        V P                  4        VP                  4        V P                  4        V P!                  ^^ ^ 4       V P                  ^ ^ W‰^ ^R7       V P                  4        V P#                  4        R# )	r   ©Úinch)ÚParagraphStylerÚ  NrÜ  rY  z
wrapped as)ÚfillÚstroke)Úreportlab.lib.unitsr  r‘  r  r(  rÛ  rÞ  r›  rv  rK   rë  r|  rö  r{  r…  rí  ÚsetStrokeColorRGBÚshowPage)
r{  Útestparar  r  rÛ  rà  ÚSÚPr³  r¡   s
   &&        r&   Útest2r  Ð  sý   € å(Ý3Ý'Ø×)Ñ)¨(À$Ð)ÓG€JÙ�x Ó&€AÜˆQÓ€AØ�V‰V�A�d•F˜B˜t�GÓ$�F€QÜ	ˆ,˜˜ÔØ‡N�NÔØ‡N�N�1�T•6˜1˜T�6Ô"Ø‡I�Iˆa��!�D•&˜˜D� q°€IÔ3Ø„FØ‡N�NÔØ‡F�F„HØ×ÑÔØ×Ñ˜1˜a Ô#à‡I�Iˆa��!˜A a€IÔ(Ø×ÑÔØ‡M�M†Or)   zhttp://www.reportlab.comrx   ro   z1This is the first segment of the first paragraph.ry   zÐHOTLINK This is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. rz   zþThis is the SECOND!!! segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. z4This is the THIRD!!! segment of the first paragraph.zÈThis is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. This is the first segment of the first paragraph. zraised ztext zlowered znormal a  And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a And this is the remainder of the paragraph indented further. a a a a a a a a c                  óþ  € ^ RI H p  ^ RIHp ^ RIHp RpVP                  V4      p\        V\        4       \        V\        4        \        \        ,           \        ,           p/ pV'       dö   \        R4       VP                  V^V,          4       VP                  4       pVP                  ^ ^ 4       \        4       pVP                  V4       ^ Vn        ^ Vn        ^V,          p	Rp
VP%                  WšV4      w  rµrl\&        '       d	   V ! V4       VP)                  W´V4      pVP+                  V4       VP-                  4        \        RRVR,          R	VR
,          4       Ký  VP/                  4        \        V4       R# )r   )Úpprint)rÛ   r  zparatest0.pdfzNEW PAGEiô  zx=r   zy=r    Nz==============================)r  Úreportlab.pdfgenrÛ   r  r  ÚCanvasr  ÚtestparagraphÚtestparagraph1Útest_programrK   r|  r}  r×   r   ri   r   r    rb   rJ   rê   r~  r  Úsave)r  rÛ   r  rÁ  r  rR   r`   r¹  r±  rO   rP   Úformattedprogramri  s                r&   Útestr"  	  s!  € Ýå'Ý(Ø	€BØ�‰�bÓ€AÜ	ˆ!ŒMÔÜ	ˆ!ŒNÔØÜ ¤<Õ/´,Õ>ˆ	Øˆ	ßÜ�*ÔØ�K‰K˜˜a �fÔ%Ø—‘“ˆAØ�O‰O˜A˜aÔ ÜÓ!ˆAØ�L‰L˜Ô#ØˆAŒCØˆAŒCØ˜•vˆHØˆIØ?@¿x¹xÈÐ]fÓ?gÑ<Ð¨)ß‹uÙÐ(Ô*ØŸ™Ð%5¸!Ó<ˆIØ�J‰J�qŒMØ�J‰JŒLÜ�&˜$ 	¨#¥°°iÀµnÖEØ‡F�F„HÜ	ˆ"†Ir)   Ú__main__r+   ra  rÅ  )r   éd   )r   éÈ   )rv   zvery long bulleté2   r8  é   )rp   é   )r   r'  r{   )rv   ÚBulleté
   r8  é   )rv   z"Bullet not quite as long this timer&  r8  r+  )ro   zHelvetica-Oblique)rn   Úred)r!   é   )r!   iöÿÿÿrÆ  )r   r&  )rv   ÚOr&  r8  r'  )ro   r   )<rN  r|   r   Úreportlab.lib.rl_accelr   Úreportlab.platypus.flowablesr   r(  r   r‘  r   rJ   r¸  r@   r"   r	   r
   r   r   r   rD   rH   r   r   r  r  r  r$  r/  r1  r<  r’  r`  r–  r™  r›  r  r@  rM  rE  rU  rQ  rI  rç  rÄ  rÏ  rá  rã  rõ  r"  r)  r/  r  r  r  r  Útestlinkr  r"  rì   r2  r)   r&   Ú<module>r2     sx  ðñ;õx 5Ý )Ý 1Ý  Ý .ð
 	
€à€à€ç HÓ H÷gñ gòRòõ( 'òOò	ò#ð4 !+ô ò÷,ñ ÷!*ñ !*ðJ �zØ�zØ�zØ�zØ�zØ�zØ˜'Ø˜ZØ˜Ø˜Ø�Ø�}Ø�|ð€ô a%ˆxô a%òFôô(s'ˆ8ô s'÷j8'ñ 8'÷t!)ñ !)ôFÐ ô ô&Ð!ô ô
�zô ô�Zô ô$Ð$ô ÷#ñ #ò*(ôXJôXf÷ñ ñ  Ó€	ô3Ðô 3ô K�7ô Kô	�Wô 	òð`€ðD€ò@ñ. Ð-Ó.€ð ØØ(ØEØ˜iÐ(Ø˜]Ð+Ø Ø#ð	ñ #Ð#VÓWõ	Xð % hÐ/ð[õñ !ð  "tó  uõuð (¨Ð2Ø#Ø˜gÐ&Ø:Ø˜]Ð+Ø Ø#ðxõñ& #ð  $dó  eõ'eð( $Ø˜jÐ)ØVØ1Ø Ø#ØØ$ð	hõ'ñ8 #Ð#Yó 'õ9'ð< % iÐ0ð*õ;ñ> #ð  $nó  oõ?oð@ (¨Ð3ØØ˜wØ!Ø ØØ˜wØØ#Ø'Ø#Ø˜hÐ'Ø6Ø)Ø Ø#ð!rõ?0ñ` #ð  $A	ó  B	õa0B	ðb ØðE	õa2€òhðB ˆZÔÙ†Fñ r)   