§
    £”jô>  ã                   óÌ   — d Z dZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZmZmZmZmZmZmZmZmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zdd„Zdd„Zd„ Z  G d„ dee¦  «        Z!dS )z.this code is derived from that used by svglib.)ÚSvgPathé    N)
ÚacosÚceilÚcopysignÚcosÚdegreesÚfabsÚhypotÚradiansÚsinÚsqrté   )	ÚGroupÚmmultÚrotateÚ	translateÚtransformPointÚPathÚFILL_EVEN_ODDÚ
_CLOSEPATHÚUserNodec                 óö   — d„ t          j        d|¦  «        D ¦   «         }g }t          dt          |¦  «        |¦  «        D ]8}|dk    r| dv r
| dk    rdnd} |                     | ||||z   …         g¦  «         Œ9|S )a;  Split `value`, a list of numbers as a string, to a list of float numbers.

    Also optionally insert a `l` or `L` operation depending on the operation
    and the length of values.
    Example: with op='m' and value='10,20 30,40,' the returned value will be
             ['m', [10.0, 20.0], 'l', [30.0, 40.0]]
    c                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS © ©Úfloat)Ú.0Úseqs     úi/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/graphics/svgpath.pyú
<listcomp>z split_floats.<locals>.<listcomp>   s$   € Ð`Ð`Ð`˜SÐ\_Ð`�e�C‰jŒjÐ`Ð`Ð`ó    ú(-?\d*\.?\d*(?:[eE][+-]?\d+)?)r   >   ÚMÚmr$   ÚlÚL)ÚreÚfindallÚrangeÚlenÚextend)ÚopÚmin_numÚvalueÚfloatsÚresÚis         r   Úsplit_floatsr2      sœ   € ð aÐ`¥B¤JÐ/PÐRWÑ$XÔ$XÐ`Ñ`Ô`€FØ
€CÝ�1•c˜&‘k”k 7Ñ+Ô+ð 0ð 0ˆØˆqŠ5ˆ5�R˜:Ð%Ð%Ø˜cš	˜	�� sˆBØ�
Š
�B˜˜q  W¡˜}Ô-Ð.Ñ/Ô/Ð/Ð/Ø€Jr!   c           	      ó
  — d}d}d                      |||||||g¦  «        dz   }g }t          j        ||                     ¦   «         ¦  «        D ]5}|                     | d„ |                     ¦   «         D ¦   «         g¦  «         Œ6|S )Nr"   z([1|0])z[\s,]*c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   )r   Únums     r   r    z$split_arc_values.<locals>.<listcomp>    s   € Ð<Ð<Ð<¨�˜s™œÐ<Ð<Ð<r!   )Újoinr'   ÚfinditerÚstripr+   Úgroups)r,   r.   Úfloat_reÚflag_reÚa_seq_rer0   r   s          r   Úsplit_arc_valuesr=      s›   € Ø0€HØ€Gà�~Š~Ø�(˜H g¨w¸À(ðñ ô à	ñ€Hð €CÝŒ{˜8 U§[¢[¡]¤]Ñ3Ô3ð ?ð ?ˆØ�
Š
�BÐ<Ð<¨s¯zªz©|¬|Ð<Ñ<Ô<Ð=Ñ>Ô>Ð>Ð>Ø€Jr!   c                 óº  — 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œ¥}|                      ¦   «         }g }t          j        d|                      ¦   «         t          j        ¬¦  «        }d}|D ]Ñ}|                     ¦   «         dk    rŒ||v rD|dk    r	||k    rd}n|dk    r	||k    rd}n|}||         dk    r|                     |g g¦  «         Œc|                     ¦   «         dk    r$|                     t          ||¦  «        ¦  «         n*|                     t          |||         |¦  «        ¦  «         |d         }ŒÒ|S )aÀ  Normalise SVG path.

    This basically introduces operator codes for multi-argument
    parameters. Also, it fixes sequences of consecutive M or m
    operators to MLLL... and mlll... operators. It adds an empty
    list as argument for Z and z only in order to make the resul-
    ting list easier to iterate over.

    E.g. "M 10 20, M 20 20, L 30 40, 40 40, Z"
      -> ['M', [10, 20], 'L', [20, 20], 'L', [30, 40], 'L', [40, 40], 'Z', []]
    ÚAé   ÚaÚQé   ÚqÚTé   ÚtÚSÚsr#   r&   r$   r%   ÚHr   ÚVÚhÚvÚCé   r   )ÚcÚZÚzz([achlmqstvz]))ÚflagsNÚ éþÿÿÿ)	Úkeysr'   Úsplitr8   ÚIr+   Úlowerr=   r2   )ÚattrÚopsÚop_keysÚresultr9   r,   Úitems          r   Únormalise_svg_pathr_   #   s  € ðØˆQðØ�QðàˆQðà�Qðà˜Qðà # Qðà(+¨Qðà03°Qðð 	ˆQðð �Qðð ˜Qðð !$ Qðð ),¨Qðð 14°Qðð 	ˆQð	ð �Qð	ð ˜Qð	ð &'¨Q°Qð	ð ð €Cð �hŠh‰jŒj€Gð €FÝŒXÐ&¨¯
ª
©¬½B¼DÐAÑAÔA€FØ	€BØð ð ˆØ�:Š:‰<Œ<˜2ÒÐØØ�7ˆ?ˆ?ð �sŠ{ˆ{˜t ršz˜zØ��Ø˜’� ¨¢ Ø��à�Ø�2Œw˜!Š|ˆ|Ø—’˜r 2˜hÑ'Ô'Ð'øà�xŠx‰zŒz˜SÒ Ð Ø—’Õ.¨r°4Ñ8Ô8Ñ9Ô9Ð9Ð9à—’�l¨2¨s°2¬w¸Ñ=Ô=Ñ>Ô>Ð>Ø˜”ˆBˆBà€Mr!   c                 óþ   — | }| d         d|d         | d         z
  z  z   | d         d|d         | d         z
  z  z   f}|d         d|d         | d         z
  z  z   |d         d|d         | d         z
  z  z   f}|}||||fS )zM
    Convert a quadratic Bezier curve through q0, q1, q2 to a cubic one.
    r   gUUUUUUå?r   gUUUUUUÕ?r   )Úq0Úq1Úq2Úc0Úc1Úc2Úc3s          r   Úconvert_quadratic_to_cubic_pathrh   T   s˜   € ð 
€BØ
ˆQŒ%�%˜2˜aœ5 2 a¤5™=Ñ)Ñ
)¨2¨a¬5°5¸B¸q¼EÀBÀqÄE¹MÑ3JÑ+JÐ	K€BØ
ˆQŒ%�%˜2˜aœ5 2 a¤5™=Ñ)Ñ
)¨2¨a¬5°5¸B¸q¼EÀBÀqÄE¹MÑ3JÑ+JÐ	K€BØ	€BØˆr�2�rˆ>Ðr!   c                 ó@  — t          | Ž t          |Ž z  }|dk    rdS | d         |d         z  | d         |d         z  z   |z  }|dk     rd}n|dk    rd}| d         |d         z  | d         |d         z  z
  }t          t          t          |¦  «        |¦  «        ¦  «        S )Nr   r   éÿÿÿÿ)r
   r   r   r   )ÚurM   ÚdrP   rI   s        r   Úvector_anglerm   a   s§   € Ýˆqˆ	•E˜1�IÑ€AØˆA‚v€vØˆqØ	
ˆ1Œ��!”‰�q˜”t˜a œd‘{Ñ	" aÑ'€AØˆ2‚v€vØˆˆØ	
ˆQŠˆØˆØ	ˆ!Œˆq�Œt‰�a˜”d˜Q˜qœT‘kÑ!€AÝ•8�D ™GœG QÑ'Ô'Ñ(Ô(Ð(r!   c	                 óÎ  — t          |¦  «        }t          |¦  «        }|rTt          |¦  «        }	t          |	¦  «        }
t          |	¦  «        }d| |z
  z  }d||z
  z  }||z  |
|z  z
  }|
|z  ||z  z   }nd| |z
  z  }d||z
  z  }||z  ||z  z  ||z  ||z  z  z   }|dk    r9t	          |¦  «        }||z  }||z  }||z  ||z  z  ||z  ||z  z  z   }d|z  dz
  }n|dk    rd|z  dz
  }d|cxk     rdk     rn nd}t	          |¦  «        }||k    r| }||z  |z  |z  }||z  |z   |z  }|r)||z  |
|z  z
  d| |z   z  z   }|
|z  ||z  z   d||z   z  z   }n|d| |z   z  z   }|d||z   z  z   }t          d||z
  |z  ||z
  |z  f¦  «        }t          ||z
  |z  ||z
  |z  f| |z
  |z  | |z
  |z  f¦  «        dz  }|dk    r|dk    r|dz  }n|dk    r|dk     r|dz  }||||| | fS )zŠ
    See http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes F.6.5
    note that we reduce phi to zero outside this routine
    ç      à?r   r   g»½×Ùß|Û½)r   r   ih  )r	   r   r   r   r   rm   )Úx1Úy1Úx2Úy2ÚfAÚfSÚrxÚryÚphiÚphi_radÚsin_phiÚcos_phiÚtxÚtyÚx1dÚy1dÚrÚrrÚcxdÚcydÚcxÚcyÚtheta1Údthetas                           r   Úend_point_to_center_parametersrˆ   m   sÉ  € õ
 
ˆb‰Œ€BÝ	ˆb‰Œ€Bð ð 
Ý˜#‘,”,ˆÝ�g‘,”,ˆÝ�g‘,”,ˆØ�B˜‘G‰_ˆØ�B˜‘G‰_ˆØ˜‰l˜W r™\Ñ)ˆØ˜‰l˜W r™\Ñ)ˆˆà�R˜"‘W‰oˆØ�R˜"‘W‰oˆð, 	ˆc‰	�R˜"‘WÑ  c¡	¨R°"©WÑ 5Ñ5€AØˆ1‚u€uÝ�!‰WŒWˆØ
ˆb‰ˆØ
ˆb‰ˆØ�#‰I˜˜b™Ñ! C¨#¡I°°b±Ñ$9Ñ9ˆØ�‰E�A‰IˆˆØ	
ˆaŠˆØ�‰E�A‰IˆØ�€~€~‚~€~�A‚~€~€~€~€~ØˆÝˆQ‰Œ€AØ	ˆR‚x€xØˆBˆØˆr‰6�C‰<˜2Ñ
€CØ�‰F�S‰Lˆ/˜BÑ
€Cð ð #Ø�s‰]˜W s™]Ñ*¨S°B¸±G©_Ñ<ˆØ�s‰]˜W s™]Ñ*¨S°B¸±G©_Ñ<ˆˆà�3˜"˜r™'‘?Ñ"ˆØ�3˜"˜r™'‘?Ñ"ˆõ ˜& C¨#¡I°Ñ#3°c¸C±iÀ2Ñ5EÐ"FÑGÔG€FÝØ
�‰)�rÑ	˜C #™I¨Ñ+Ð,Øˆ$�‰*˜Ñ	˜c˜T C™Z¨2Ñ-Ð.ñô ð 	ñ€Fð 
ˆQ‚w€w�6˜A’:�:Ø�#‰ˆˆØ	ˆqŠˆ�V˜a’Z�ZØ�#‰ˆØˆr�2�r˜F˜7 V GÐ+Ð+r!   éZ   c                 óÖ  — t          |¦  «        dk    rd}|}n$t          t          |¦  «        dz  ¦  «        }||z  }|dk    rg S t          |¦  «        }|dz  }	t          ddt          |	¦  «        z
  z  t	          |	¦  «        z  ¦  «        }
|dk     r|
 }
g }t          |¦  «        }||z   }t          |¦  «        }t	          |¦  «        }t          |¦  «        D ]‘}|}|}|||z  z   }t          |¦  «        }t	          |¦  «        }|                     | ||z  z   |||z  z
  | |||
|z  z
  z  z   ||||
|z  z   z  z
  | |||
|z  z   z  z   ||||
|z  z
  z  z
  | ||z  z   |||z  z
  f¦  «         Œ’|S )Nr‰   r   r   ro   gUUUUUUõ?)Úabsr   r   r   r   r)   Úappend)r„   r…   rv   rw   Ú	start_angÚextentÚnfragÚ
frag_angleÚfrag_radÚhalf_radÚkappaÚ
point_listr†   Ú	start_radre   Ús1r1   rd   Ús0s                      r   Úbezier_arc_from_centrer˜   »   sº  € Ý
ˆ6�{„{�bÒÐØˆØˆ
ˆ
å•S˜‘[”[ 2Ñ%Ñ&Ô&ˆØ˜e‘^ˆ
Ø�Q‚€Øˆ	å�zÑ"Ô"€HØ˜#‰~€HÝ�˜�S ™]œ]Ñ*Ñ+­c°(©m¬mÑ;Ñ<Ô<€Eà�A‚~€~Ø�ˆà€JÝ�YÑÔ€FØ˜Ñ!€Iå	ˆV‰Œ€BÝ	ˆV‰Œ€BÝ�5‰\Œ\ð )ð )ˆØˆØˆØ˜Q ™\Ñ)ˆÝ�‰[Œ[ˆÝ�‰[Œ[ˆØ×Ò˜2  R¡™<Ø˜r B™w™,Ø˜r R¨%°"©*¡_Ñ5Ñ5Ø˜r R¨%°"©*¡_Ñ5Ñ5Ø˜r R¨%°"©*¡_Ñ5Ñ5Ø˜r R¨%°"©*¡_Ñ5Ñ5Ø˜r B™w™,Ø˜r B™w™,ð(ñ 	)ô 	)ð 	)ð 	)ð Ðr!   c	           
      ó¤  — | |k    r||k    rg S |�rt          t          | ¦  «        t          |  | ¦  «        ¦  «        }	t          |	||f¦  «        \  }
}t	          dd|
|||||¦  «        \  }}}}}}t          ||||||¦  «        }t          t          | |¦  «        t          |¦  «        ¦  «        }	g }|D ]i\  } }}}}}}}|                     t          |	| |f¦  «        t          |	||f¦  «        z   t          |	||f¦  «        z   t          |	||f¦  «        z   ¦  «         Œj|S t	          | |||||||¦  «        \  }}}}}}t          ||||||¦  «        S )Nr   )r   r   r   r   rˆ   r˜   rŒ   )rp   rq   rv   rw   rx   rt   ru   rr   rs   ÚmxÚtx2Úty2r„   r…   r�   rŽ   Úbpr0   Úx3Úy3Úx4Úy4s                         r   Úbezier_arc_from_end_pointsr¢   â   s¥  € Ø
ˆbŠˆ�R˜2’X�Xð ˆ	Ø
ñ Iõ •6˜3˜$‘<”<¥¨B¨3°°Ñ!4Ô!4Ñ5Ô5ˆÝ! " r¨2 hÑ/Ô/‰ˆˆSå,JØˆq�#�s˜B  B¨ñ-
ô -
Ñ)ˆˆB��B˜	 6õ $ B¨¨B°°I¸vÑFÔFˆå•9˜R Ñ$Ô$¥f¨S¡k¤kÑ2Ô2ˆØˆØ.0ð 	ð 	Ñ*ˆB��B˜˜B  B¨Ø�JŠJÝ˜r B¨ 8Ñ,Ô,­~¸bÀ2ÀrÀ(Ñ/KÔ/KÑKÝ˜r B¨ 8Ñ,Ô,ñ-Ý/=¸bÀ2ÀrÀ(Ñ/KÔ/KñLñô ð ð ð ˆ
å,JØ��B˜˜B  B¨ñ-
ô -
Ñ)ˆˆB��B˜	 6õ & b¨"¨b°"°iÀÑHÔHÐHr!   c                   ó0   ‡ — e Zd ZdZddefˆ fd„	Zd„ Zˆ xZS )r   zPath, from an svg path stringr   Nc                 ó(  •— |                      dd¦  «        }|                      dd¦  «        } t          ¦   «         j        d%d d |||dœ|¤Ž |sd S t          |¦  «        }| j        }	g }
g }d}d }t          dt          |¦  «        d¦  «        D �]}|||dz   …         \  }}|dv rC|dk    r=| j        d         t          k    r'|
 	                    t          | j        ¦  «        ¦  «         |d	k    r | j
        |Ž  |	d
d …         }�n›|dk    r | j        |Ž  �n‰|dk    rst          |	¦  «        dk    rJ|dv r|}n
|	d
d …         }|d         |d         z   |d         |d         z   }}|  
                    ||¦  «         n
 | j
        |Ž  |	d
d …         }�n|dk    r:|	d
         |d         z   |	d         |d         z   }}|                      ||¦  «         �nÐ|dk    r$|                      |d         |	d         ¦  «         �n¦|dk    r$|                      |	d
         |d         ¦  «         �n||dk    r-|                      |	d
         |d         z   |	d         ¦  «         �nI|dk    r-|                      |	d
         |	d         |d         z   ¦  «         �n|dk    r | j        |Ž  �n|dk    rl|\  }}}}t          |	¦  «        dk     s|dvr|	d
d …         dz  \  }}}}n|	dd …         \  }}}}|||z
  z   |||z
  z   }}|                      ||||||¦  «         �n’|dk    rD|	d
d …         \  }}|\  }}}}}}|                      ||z   ||z   ||z   ||z   ||z   ||z   ¦  «         �nH|dk    rx|\  }}}}t          |	¦  «        dk     s|dvr|	d
d …         dz  \  }}}}n|	dd …         \  }}}}|||z
  z   |||z
  z   }}|                      ||||z   ||z   ||z   ||z   ¦  «         �nÊ|dk    r\|	d
d …         \  }}|\  }}}}||f}t          ||f||f||f¦  «        \  \  }}\  }}\  }}\  }}|                      ||||||¦  «         �nh|dk    r|�|\  }}n|	d
d …         \  }}|	d
d …         \  }}|||z
  z   |||z
  z   }}||f}|\  }}t          ||f||f||f¦  «        \  \  }}\  }}\  }}\  }}|                      ||||||¦  «         �nã|dk    rs|	d
d …         \  }}|\  }}}}||z   ||z   ||z   ||z   f\  }}}}||f}t          ||f||f||f¦  «        \  \  }}\  }}\  }}\  }}|                      ||||||¦  «         �nj|dk    rˆ|�|\  }}n|	d
d …         \  }}|	d
d …         \  }}|\  }}||z   ||z   }}|||z
  z   |||z
  z   }}||f}t          ||f||f||f¦  «        \  \  }}\  }}\  }}\  }}|                      ||||||¦  «         nÜ|dv r¤|\  }}} }!}"}}|	d
d …         \  }}|d k    r
||z  }||z  }t          |¦  «        d!k    st          |¦  «        d!k    r|                      ||¦  «         ntt          ||||| |!|"||¦	  «	        }#|#D ]%\  }$}$}}}}}}|                      ||||||¦  «         Œ&n4|dv r|                      ¦   «          nt"                               d"|¦  «         |d#vrd }|}�Œ| j        d         t          k    r'|
 	                    t          | j        ¦  «        ¦  «         |s|r˜|                      ¦   «         }%|r@|%d         |%d         z   }&t          dt          |	¦  «        d¦  «        D ]}|&|	|         z
  |	|<   Œ|r@|%d$         |%d         z   }&t          dt          |	¦  «        d¦  «        D ]}|&|	|         z
  |	|<   Œ|
rˆ| j        ��t+          ¦   «         }'|'j                             t1          j        | j        ¦  «        ¦  «         t5          |
¦  «        D ]"}(|'j                             |(t          ¦  «         Œ#|'| _        d | _        d S d | _        d S )&NÚvswapr   Úhswap)ÚpointsÚ	operatorsÚ
isClipPathÚ	autocloseÚfillModerT   rF   )r$   r#   rj   r#   rU   r&   r$   )rQ   rR   r   r%   rJ   rK   rL   rM   rN   rH   rC   >   rN   rH   rP   rI   éüÿÿÿrP   rI   rB   rE   rD   rG   )r?   rA   rA   g»½×Ùß|Û=zSuspicious self operator: %s)rB   rD   rE   rG   é   r   )ÚpopÚsuperÚ__init__r_   r§   r)   r*   r¨   r   rŒ   ÚmoveToÚlineToÚcurveTorh   r‹   r¢   Ú	closePathÚloggerÚdebugÚ	getBoundsÚ	fillColorr   Ú__dict__ÚupdateÚcopyÚdeepcopyÚreversedÚinsertÚ_SvgPath__closed_path)*ÚselfrI   r©   rª   r«   Úkwr¥   r¦   ÚnormPathr§   Úunclosed_subpath_pointersÚsubpath_startÚlastopÚlast_quadratic_cpr1   r,   ÚnumsÚstarting_pointÚxnÚynrr   rs   ÚxpÚypÚx0Úy0ÚxiÚyirp   rq   rv   rw   rx   rt   ru   r�   Ú_Úbr$   Úclosed_pathÚpointerÚ	__class__s*                                            €r   r°   zSvgPath.__init__  s(
  ø€ Ø—’�w˜qÑ!Ô!ˆØ—’�w˜qÑ!Ô!ˆØ�‰ŒÔð 	1Ø#¨dØ#-Ø"+Ø!)ð		1ð 	1ð .0ð		1ð 	1ð 	1ð
 Ð�&�&Ý% aÑ(Ô(ˆØ”ˆà$&Ð!ØˆØˆØ Ðå�q�#˜h™-œ-¨Ñ+Ô+ð H	ñ H	ˆAØ  ! A¡# ”‰HˆB�à�ZÐÐ A¨¢E E¨d¬n¸RÔ.@ÅJÒ.NÐ.NØ)×0Ò0µ°T´^Ñ1DÔ1DÑEÔEÐEð �SŠyˆyØ�”˜TÐ"Ð"Ø & r s s¤�‘à�s’�Ø�”˜TÐ"Ð"Ñ"ð �s’�Ý�v‘;”; !Ò#Ð#Ø Ð+Ð+Ø)6˜˜à)/°°°¬˜Ø+¨AÔ.°°a´Ñ8¸.ÈÔ:KÈdÐSTÌgÑ:U˜�BØ—K’K  BÑ'Ô'Ð'Ð'à�D”K Ð&Ð&Ø & r s s¤�‘à�s’�Ø œ d¨1¤gÑ-¨v°b¬z¸DÀ¼GÑ/C�B�Ø—’˜B Ñ#Ô#Ð#Ñ#ð �s’�Ø—’˜D œG V¨B¤ZÑ0Ô0Ð0Ñ0Ø�s’�Ø—’˜F 2œJ¨¨Q¬Ñ0Ô0Ð0Ñ0ð �s’�Ø—’˜F 2œJ¨¨a¬Ñ0°&¸´*Ñ=Ô=Ð=Ñ=Ø�s’�Ø—’˜F 2œJ¨¨r¬
°T¸!´WÑ(<Ñ=Ô=Ð=Ñ=ð �s’�Ø�”˜dÐ#Ð#Ñ#Ø�s’�Ø!%‘��B˜˜BÝ�v‘;”; ’?�? fÐ4HÐ&HÐ&HØ%+¨B¨C¨C¤[°1¡_‘N�B˜˜B  à%+¨B¨C¨C¤[‘N�B˜˜B Ø˜r B™w™¨¨r°B©w©�B�Ø—’˜R  R¨¨R°Ñ4Ô4Ð4Ñ4ð �s’�Ø   œ‘��BØ)-Ñ&��B˜˜B  BØ—’˜R "™W b¨2¡g¨r°B©w¸¸R¹ÀÀbÁÈ"ÈrÉ'ÑRÔRÐRÑRØ�s’�Ø!%‘��B˜˜BÝ�v‘;”; ’?�? fÐ4HÐ&HÐ&HØ%+¨B¨C¨C¤[°1¡_‘N�B˜˜B  à%+¨B¨C¨C¤[‘N�B˜˜B Ø˜r B™w™¨¨r°B©w©�B�Ø—’˜R  R¨"¡W¨b°2©g°r¸B±wÀÀRÁÑHÔHÐHÑHð �s’�Ø   œ‘��BØ!%‘��B˜˜BØ%'¨ HÐ!å3°R¸°H¸rÀ2¸hÈÈRÈÑQÔQñ 7‘��R™(˜2˜r¡H R¨©h¨r°2à—’˜R  R¨¨R°Ñ4Ô4Ð4Ñ4Ø�s’�Ø$Ð0Ø.‘F�B˜˜à# B C Cœ[‘F�B˜Ø   œ‘��BØ˜r B™w™¨¨r°B©w©�B�Ø%'¨ HÐ!Ø‘��Bå3°R¸°H¸rÀ2¸hÈÈRÈÑQÔQñ 7‘��R™(˜2˜r¡H R¨©h¨r°2à—’˜R  R¨¨R°Ñ4Ô4Ð4Ñ4ð �s’�Ø   œ‘��BØ!%‘��B˜˜BØ!# b¡¨"¨r©'°2¸±7¸BÀ¹GÐ!C‘��B˜˜BØ%'¨ HÐ!å3°R¸°H¸rÀ2¸hÈÈRÈÑQÔQñ 7‘��R™(˜2˜r¡H R¨©h¨r°2à—’˜R  R¨¨R°Ñ4Ô4Ð4Ñ4Ø�s’�Ø$Ð0Ø.‘F�B˜˜à# B C Cœ[‘F�B˜Ø   œ‘��BØ‘��BØ˜b™ " r¡'�B�Ø˜r B™w™¨¨r°B©w©�B�Ø%'¨ HÐ!å3°R¸°H¸rÀ2¸hÈÈRÈÑQÔQñ 7‘��R™(˜2˜r¡H R¨©h¨r°2à—’˜R  R¨¨R°Ñ4Ô4Ð4Ð4ð �zÐ!Ð!Ø.2Ñ+��B˜˜R  R¨Ø   œ‘��BØ˜’9�9Ø˜"‘H�BØ˜"‘H�BÝ�r‘7”7˜eÒ#Ð#¥s¨2¡w¤w°%Ò'7Ð'7Ø—K’K  BÑ'Ô'Ð'Ð'å3°B¸¸BÀÀCÈÈRÐQSÐUWÑXÔX�BØ8:ð =ð =Ñ4˜˜1˜b " b¨"¨b°"ØŸš R¨¨R°°R¸Ñ<Ô<Ð<Ð<ð=ð �zÐ!Ð!Ø—’Ñ Ô Ð Ð õ —’Ð;¸RÑ@Ô@Ð@àÐ-Ð-Ð-Ø$(Ð!ØˆF‰FàŒ>˜"Ô¥Ò+Ð+Ø%×,Ò,­S°´Ñ-@Ô-@ÑAÔAÐAàð 		.�Eð 		.Ø—’Ñ Ô ˆAØð .Ø�a”D˜˜1œ‘I�Ý˜q¥ V¡¤¨QÑ/Ô/ð .ð .�AØ ! F¨1¤I¡�F˜1‘I�IØð .Ø�a”D˜˜1œ‘I�Ý˜q¥ V¡¤¨QÑ/Ô/ð .ð .�AØ ! F¨1¤I¡�F˜1‘I�Ià$ð 	&¨¬Ð)Cõ ™&œ&ˆKØÔ ×'Ò'­¬°d´mÑ(DÔ(DÑEÔEÐEÝ#Ð$=Ñ>Ô>ð Bð B�ØÔ%×,Ò,¨WµjÑAÔAÐAÐAØ!,ˆDÔØ!ˆDŒNˆNˆNà!%ˆDÔÐÐr!   c                 óî   — t          ¦   «         }| j                             ¦   «         |_        |`| j        r?t	          ¦   «         }|                     | j        ¦  «         |                     |¦  «         |S |S )N)r   r¹   r»   r¿   r   Úadd)rÀ   ÚpÚgs      r   ÚprovideNodezSvgPath.provideNode¹  sh   € Ý‰FŒFˆØ”]×'Ò'Ñ)Ô)ˆŒ
ØÐ#ØÔð 	Ý‘”ˆAØ�EŠE�$Ô$Ñ%Ô%Ð%Ø�EŠE�!‰HŒHˆHØˆHàˆHr!   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r°   rÚ   Ú__classcell__)rÕ   s   @r   r   r     s`   ø€ € € € € Ø'Ð'Ø%&°$Àð t&ð t&ð t&ð t&ð t&ð t&ðl
ð 
ð 
ð 
ð 
ð 
ð 
r!   r   )r   )r   r‰   )"rÞ   Ú__all__r'   r»   Úmathr   r   r   r   r   r	   r
   r   r   r   Úshapesr   r   r   r   r   r   r   r   r   r2   r=   r_   rh   rm   rˆ   r˜   r¢   r   r   r!   r   ú<module>rã      sw  ðØ 4Ð 4Ø€Ø €€€€€€€Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nðð ð ð 
ð 
ð 
ð/ð /ð /ðbð ð ð
)ð 
)ð 
)ðL,ð L,ð L,ð L,ð\%ð %ð %ð %ðNIð Ið Ið>Bð Bð Bð Bð Bˆd�8ñ Bô Bð Bð Bð Br!   