§
    ¦”j–/  ã                  óJ  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ  ej        e¦  «        ZeZd                     ¦   «         Zd	Zd
ZdZd„ Z G d„ d¦  «        Zd„ Zd„ Z d„ Z!ddœd„Z"dd„Z#d„ Z$edk    r e¦   «          dS dS )é    )ÚannotationsN)Ú__version__)Ú
httpConfig)ÚDEFAULT_CSS)ÚpisaDocument)ÚgetFilea  

USAGE: pisa [options] SRC [DEST]

SRC
  Name of a HTML file or a file pattern using * placeholder.
  If you want to read from stdin use "-" as file name.
  You may also load an URL over HTTP. Take care of putting
  the <src> in quotes if it contains characters like "?".

DEST
  Name of the generated PDF file or "-" if you like
  to send the result to stdout. Take care that the
  destination file is not already opened by an other
  application like the Adobe Reader. If the destination is
  not writeable a similar name will be calculated automatically.

[options]
  --base, -b:
    Specify a base path if input come via STDIN
  --css, -c:
    Path to default CSS file
  --css-dump:
    Dumps the default CSS definitions to STDOUT
  --debug, -d:
    Show debugging information
  --encoding:
    the character encoding of SRC. If left empty (default) this
    information will be extracted from the HTML header data
  --help, -h:
    Show this help text
  --quiet, -q:
    Show no messages
  --start-viewer, -s:
    Start PDF default viewer on Windows and MacOSX
    (e.g. AcrobatReader)
  --version:
    Show version information
  --warn, -w:
    Show warnings
  --xml, --xhtml, -x:
    Force parsing in XML Mode
    (automatically used if file ends with ".xml")
  --html:
    Force parsing in HTML Mode (default)

[HTTP Connection options]

  --http_nosslcheck:
    No check ssl certificate.

See http.client.HTTPSConnection documentation for this parameters

  --http_key_file
  --http_cert_file
  --http_source_address
  --http_timeout
a6  
Copyright 2010 Dirk Holtwick, holtwick.it

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.z$%(levelname)s [%(name)s] %(message)szB%(levelname)s [%(name)s] %(pathname)s line %(lineno)d: %(message)sc                 ó.   — t          t          ¦  «         d S ©N)ÚprintÚUSAGE© ó    ú]/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/xhtml2pdf/pisa.pyÚusager   r   s   € Ý	�%�L„L€L€L€Lr   c                  ó0   — e Zd ZdZddœd
d„Zd
d„Zdd	„ZdS )ÚpisaLinkLoaderzÞ
    Helper to load page from an URL and load corresponding
    files to temporary files. If getFileName is called it
    returns the temporary filename and takes care to delete
    it when pisaLinkLoader is unloaded.
    T)ÚquietÚreturnÚNonec               ó0   — || _         || _        g | _        d S r
   )r   ÚsrcÚ	tfileList)Úselfr   r   s      r   Ú__init__zpisaLinkLoader.__init__~   s   € ØˆŒ
ØˆŒØ$&ˆŒˆˆr   c                óB   — | j         D ]}t          j        |¦  «         Œd S r
   )r   ÚosÚremove)r   Úpaths     r   Ú__del__zpisaLinkLoader.__del__ƒ   s,   € Ø”Nð 	ð 	ˆDÝŒI�d‰OŒOˆOˆOð	ð 	r   Nc                óþ   — t          j        |p| j        |¦  «        }t          |¦  «        }|                     ¦   «         }|j        }| j                             |¦  «         | j        st          d|› d|› �¦  «         |S )Nz
  Loading ú to )
ÚurlparseÚurljoinr   r   ÚgetNamedFileÚnamer   Úappendr   r   )r   r%   ÚrelativeÚurlÚinstanceÚfiletmpdownloadedr   s          r   ÚgetFileNamezpisaLinkLoader.getFileName‡   s„   € ÝÔ˜xÐ3¨4¬8°TÑ:Ô:ˆÝ˜3‘<”<ˆØ$×1Ò1Ñ3Ô3ÐØ Ô%ˆØŒ×Ò˜dÑ#Ô#Ð#àŒzð 	0ÝÐ.˜sÐ.Ð.¨Ð.Ð.Ñ/Ô/Ð/àˆr   )r   r   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r+   r   r   r   r   r   v   si   € € € € € ðð ð &*ð 'ð 'ð 'ð 'ð 'ð 'ð
ð ð ð ð
ð 
ð 
ð 
ð 
ð 
r   r   c                 ód  — dt           j        v r“t          d¦  «         dd l} dd l}|                      ¦   «         }|                     t          ¦  «         |                     |¦  «         	                    ¦   «          
                    d¦  «                             ¦   «          d S t          ¦   «          d S )Nz	--profilez*** PROFILING ENABLEDr   Ú
cumulative)ÚsysÚargvr   ÚcProfileÚpstatsÚProfileÚruncallÚexecuteÚStatsÚ
strip_dirsÚ
sort_statsÚprint_stats)r4   r5   Úprofs      r   Úcommandr>   ”   sž   € Ø•c”hÐÐÝÐ%Ñ&Ô&Ð&ØˆˆˆØˆˆˆà×ÒÑ!Ô!ˆØ�Š•WÑÔÐØ�Š�TÑÔ×%Ò%Ñ'Ô'×2Ò2°<Ñ@Ô@×LÒLÑNÔNÐNÐNÐNå‰	Œ	ˆ	ˆ	ˆ	r   c                 ó¼  — 	 t          j         t          j        dd …         dg d¢¦  «        \  } }n7# t           j        $ r% t	          ¦   «          t          j        d¦  «         Y nw xY wd}d}d}d}d }d}d }d }	d }
d }d }t          j        }t          }| D �]M\  }}|dv r"t	          ¦   «          t          j        ¦   «          Œ,|dv r)t          t          ¦  «         t          j        d¦  «         ŒY|d	v r)t          t          ¦  «         t          j        d¦  «         Œ†|d
v r¸t          t          ¦  «         t          ¦   «          t          d¦  «         t          d¦  «         t          dt          j        z  ¦  «         t          dt          j        z  ¦  «         t          d¦  «         dd l}t          d|j        z  ¦  «         t          j        d¦  «         �ŒB|dv rd}�ŒJ|dv rd}�ŒR|dv rt!          |t          j        ¦  «        }�Œr|dv r&t          j        }t&          }|rt)          |¦  «        }�Œœ|dv r|}�Œ¤|dv r|}�Œ¬|dv r|r|}
�Œ¶|dv r?t+          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   �Œù|dv rt          t.          ¦  «          d S |dv rt          j        }�Œ&|dv rd}	�Œ.|dv rd }	�Œ6t3          j        ||¦  «        r�ŒM�ŒO|st          j        ||¬!¦  «         t9          |¦  «        d"vr"t	          ¦   «          t          j        d¦  «         t9          |¦  «        dk    r|\  }}n
|d         }d }d#|v rt;          j        |¦  «        n|g}|D �]î}|	€'|                     ¦   «                              d$¦  «        }	d }|d%k    s|�$t          j         }tC          j"        ¦   «         }|r|}nÙ| #                    d&¦  «        rg|}tI          |¦  «         %                    ¦   «         }d' &                    tO          j(        |¦  «        dd(…         ¦  «         )                    d)d%¦  «        }n]tB          j*         +                    |¦  «        x}}t+          |d*¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |�€|}|                     ¦   «                              d+¦  «        s'|                     ¦   «                              d,¦  «        r0d- &                    | ,                    d-¦  «        d d.…         ¦  «        }|d-z   |                     ¦   «         z   }t[          d/¦  «        D ]m}	 t+          |d0¦  «        5 }| .                    ¦   «          d d d ¦  «         n# 1 swxY w Y    n-# t^          $ r Y nw xY w|d1||                     ¦   «         fz  z   }Œnn|}d}|d%k    s|r_t          j        d2k    r@dd l0}| 1                    t          j         2                    ¦   «         tB          j3        ¦  «         t          j        }d}n¥tB          j*         +                    |¦  «        }	 t+          |d0¦  «        5 }| .                    ¦   «          d d d ¦  «         n# 1 swxY w Y   n6# t^          $ r) t          d3|z  ¦  «         t          j        d¦  «         Y nw xY wt+          |d0¦  «        }d}|st          d4|› d5|› d6�¦  «         ti          ||||t          j        |||||	|
|¬7¦  «         |r| 5                    ¦   «          |r| .                    ¦   «          |s%|r#|st          d8|z  ¦  «         tm          |¦  «         �Œðd S )9Né   Ú	dhqstwcxb)r   Úhelpzstart-viewerÚstartzdebug=Ú	copyrightÚversionÚwarnztempdir=zformat=zcss=zbase=zcss-dumpzxml-dumpÚxhtmlÚxmlÚhtmlz	encoding=ÚsystemÚprofileÚhttp_nosslcheckÚhttp_key_fileÚhttp_cert_fileÚhttp_source_addressÚhttp_timeouté   r   Úpdf>   ú-hú--help>   ú	--versionz--copyright>   ú--systemzSYSTEM INFORMATIONz,--------------------------------------------zOS:                %szPython:            %szhtml5lib:          ?zReportlab:         %s>   ú-sú--startú--start-viewer>   ú-qú--quiet>   ú-wú--warn>   ú-dú--debug>   ú-tú--format>   ú-bú--base>   ú
--encoding>   ú-cú--csszutf-8)Úencoding>   ú
--css-dump>   ú
--xml-dump>   ú-xú--xmlú--xhtmlT>   ú--htmlF©ÚlevelÚformat>   r@   rQ   Ú*z.xmlú-)zhttp:zhttps:Ú é   ú/Úrbz.htmlz.htmú.éÿÿÿÿé
   Úwbz-%d.%sÚwin32z4File '%s' seems to be in use of another application.zConverting r!   z...)
Údebugr   ÚerroutÚtempdirrp   Úlink_callbackÚdefault_cssrG   rg   Ú
xml_outputzOpen viewer for file %s)7Úgetoptr2   r3   ÚGetoptErrorr   ÚexitÚloggingÚERRORÚ
LOG_FORMATr   r   Ú	COPYRIGHTÚplatformrE   Ú	reportlabÚVersionÚminÚWARNINGÚDEBUGÚLOG_FORMAT_DEBUGÚintÚopenÚreadr   Ústdoutr   Úis_http_configÚbasicConfigÚlenÚglobÚlowerÚendswithÚstdinr   ÚgetcwdÚ
startswithr   ÚgetFileContentÚjoinr"   ÚurlsplitÚreplacer   ÚabspathÚsplitÚrangeÚcloseÚ	ExceptionÚmsvcrtÚsetmodeÚfilenoÚO_BINARYr   ÚgetvalueÚstartViewer) ÚoptsÚargsÚerrorsÚstartviewerr   r|   r~   Úfile_formatÚcssrG   rg   r�   Úbase_dirÚ	log_levelÚ
log_formatÚoÚarŠ   Úfile_handlerÚa_srcÚa_destr   ÚlcÚfsrcÚwpathÚ	dest_partÚdestÚiÚfileÚ
fdestcloser¦   Úfdests                                    r   r8   r8   ¡   sü  € ð"Ý”]ÝŒH�Q�R�RŒLØðð ð ñ
ô 
‰
ˆˆdˆdøõ> Ôð ð ð Ý‰ŒˆÝŒ�‰Œˆˆˆðøøøð €FØ€KØ€EØ€EØ€GØ€KØ
€CØ€EØ€HØ€JØ€Hå”€IÝ€Jàð Nñ N‰ˆˆ1ØÐ Ð Ð å‰GŒGˆGÝŒH‰JŒJˆJˆJà�-ÐÐÝ•+ÑÔÐÝŒH�Q‰KŒKˆKˆKà�=Ð!Ð!Ý•)ÑÔÐÝŒH�Q‰KŒKˆKˆKà�,ÐÐÝ•)ÑÔÐÝ‰GŒGˆGÝÐ&Ñ'Ô'Ð'ÝÐ@ÑAÔAÐAÝÐ)­C¬LÑ8Ñ9Ô9Ð9ÝÐ)­C¬KÑ7Ñ8Ô8Ð8ÝÐ(Ñ)Ô)Ð)ØÐÐÐåÐ)¨IÔ,=Ñ=Ñ>Ô>Ð>ÝŒH�Q‰KŒKˆK‰KàÐ5Ð5Ð5àˆK‰KàÐ#Ð#Ð#àˆE‰EàÐ"Ð"Ð"å˜I¥w¤Ñ7Ô7ˆI‰IàÐ#Ð#Ð#åœˆIÝ)ˆJàð #Ý ™FœF�	ùàÐ$Ð$Ð$àˆK‰KàÐ"Ð"Ð"ØˆH‰Hà�.Ð Ð  QÐ àˆH‰Hà�/Ð!Ð!å�a 'Ð*Ñ*Ô*ð *¨lØ"×'Ò'Ñ)Ô)�ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ùð �.Ð Ð å•+ÑÔÐØˆFˆFà�.Ð Ð ÝœˆJ‰JàÐ,Ð,Ð,ØˆE‰Eà�*ˆ_ˆ_ØˆE‰EåÔ& q¨!Ñ,Ô,ð 	Ùñ	ð ð @ÝÔ )°JÐ?Ñ?Ô?Ð?å
ˆ4�y„y˜ÐÐÝ‰ŒˆÝŒ�‰Œˆå
ˆ4�y„y�A‚~€~Ø‰ˆˆvˆvà�Q”ˆØˆà # u  �DŒI�eÑÔÐ°5°'€Eàð Yñ Yˆð ˆ=Ø—I’I‘K”K×(Ò(¨Ñ0Ô0ˆEàˆà�#Š:ˆ:˜Ð-å”9ˆDÝ”I‘K”KˆEØð !Ø �øØ�^Š^Ð/Ñ0Ô0ð 	+ØˆEÝ˜3‘<”<×.Ò.Ñ0Ô0ˆDØ—'’'�(Ô+¨CÑ0Ô0°°1°Ô5Ñ6Ô6×>Ò>¸sÀCÑHÔHˆCˆCåœ7Ÿ?š?¨3Ñ/Ô/Ð/ˆD�5Ý�d˜DÑ!Ô!ð + \Ø#×(Ò(Ñ*Ô*�ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð ‰>ØˆIØ�ŠÑ Ô ×)Ò)¨'Ñ2Ô2ð :°i·o²oÑ6GÔ6G×6PÒ6PØñ7ô 7ð :ð  ŸHšH S§Y¢Y¨s¡^¤^°C°R°CÔ%8Ñ9Ô9�	Ø˜s‘? [×%6Ò%6Ñ%8Ô%8Ñ8ˆDÝ˜2‘Y”Yð Gð G�ðÝ˜d DÑ)Ô)ð %¨TØŸ
š
™œ˜ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %à�EøÝ ð ð ð Ø�Dðøøøà  8¨q°+×2CÒ2CÑ2EÔ2EÐ.FÑ#FÑF��øàˆDàˆ
à�3Š;ˆ;˜(ˆ;ÝŒ|˜wÒ&Ð&Ø���à—’�sœz×0Ò0Ñ2Ô2µB´KÑ@Ô@Ð@å”JˆEØˆKˆKå”7—?’? 4Ñ(Ô(ˆDðÝ˜$ Ñ%Ô%ð !¨Ø—J’J‘L”L�Lð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !øøåð ð ð ÝÐLÈtÑSÑTÔTÐTÝ”˜‘”���ðøøøõ ˜˜tÑ$Ô$ˆEØˆJàð 	4ÝÐ2 Ð2Ð2¨Ð2Ð2Ð2Ñ3Ô3Ð3åØØØØÝ”:ØØØØØØØ!ð	
ñ 	
ô 	
ð 	
ð ð 	"Ø×ÒÑ!Ô!Ð!àð 	Ø�KŠK‰MŒMˆMàð 	˜Kð 	Øð 8ÝÐ/°$Ñ6Ñ7Ô7Ð7Ý˜ÑÔÐùðsYð YsŸ   ‚-0 °1A$Á#A$ÉI>É>J	ÊJ	Ñ3RÒR	ÒR	ÕVÕU?Õ3VÕ?VÖVÖVÖVÖ
VÖVÙZÙY6Ù*ZÙ6Y:	Ù:ZÙ=Y:	Ù>ZÚ0Z5Ú4Z5c                óˆ   — | r?	 t          j        | ¦  «         dS # t          $ r t          j        d| z  ¦  «         Y dS w xY wdS )zHelper for opening a PDF file.z	open "%s"N)r   Ú	startfiler¥   rJ   ©Úfilenames    r   r«   r«   �  sh   € àð .ð	.ÝŒL˜Ñ"Ô"Ð"Ð"Ð"øÝð 	.ð 	.ð 	.åŒI�k HÑ,Ñ-Ô-Ð-Ð-Ð-Ð-ð	.øøøð.ð .s   „ š!?¾?F)r|   c                ó¾   — 	 t           j        }t          }| rt           j        }t          j        ||¬¦  «         dS # t
          $ r t          j        ¦   «          Y dS w xY w)zShortcut for enabling log dump.rn   N)r…   r�   r�   rŽ   r•   r¥   )r|   r³   r´   s      r   ÚshowLoggingrÈ   š  sq   € ðÝ”Oˆ	Ý%ˆ
Øð 	&ÝœˆIÝÔ )°JÐ?Ñ?Ô?Ð?Ð?Ð?øÝð ð ð ÝÔÑÔÐÐÐÐðøøøs   ‚7; »AÁAc                ó0  — dd l }|sL|r9dd l}|                     |¦  «        d                              d¦  «        d         }nd}t	          |¦  «        ‚|                     | ¦  «                             ¦   «         }d|z   dz   d                     |¦  «        z   S )Nr   ú;z<You need to provide a mimetype or a filename for makeDataURIzdata:z;base64,rs   )Úbase64Ú	mimetypesÚ
guess_typer¢   ÚRuntimeErrorÚencodebytesrž   )ÚdataÚmimetyperÆ   rË   rÌ   ÚmsgÚencoded_datas          r   ÚmakeDataURIrÔ   ª  s§   € Ø€M€M€Màð $Øð 	$ØÐÐÐà ×+Ò+¨HÑ5Ô5°aÔ8×>Ò>¸sÑCÔCÀAÔFˆHˆHàPˆCÝ˜sÑ#Ô#Ð#à×%Ò% dÑ+Ô+×1Ò1Ñ3Ô3€Là�XÑ 
Ñ*¨R¯WªW°\Ñ-BÔ-BÑBÐBr   c                óœ   — t          | d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          || ¬¦  «        S )Nrv   rÅ   )r‘   r’   rÔ   )rÆ   r·   rÐ   s      r   ÚmakeDataURIFromFilerÖ   »  sˆ   € Ý	ˆh˜Ñ	Ô	ð # Ø× Ò Ñ"Ô"ˆð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å�t hÐ/Ñ/Ô/Ð/s   ‘2²6¹6Ú__main__)NNN)%Ú
__future__r   r‚   r—   r…   r   r2   Úurllib.parseÚparser"   Ú	xhtml2pdfr   Úxhtml2pdf.config.httpconfigr   Úxhtml2pdf.defaultr   Úxhtml2pdf.documentr   Úxhtml2pdf.filesr   Ú	getLoggerr,   ÚlogÚ	CreatePDFÚstripr   rˆ   r‡   r�   r   r   r>   r8   r«   rÈ   rÔ   rÖ   r   r   r   ú<module>rä      sÈ  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø )Ð )Ð )Ð )Ð )Ð )Ø +Ð +Ð +Ð +Ð +Ð +Ø #Ð #Ð #Ð #Ð #Ð #à€gÔ˜Ñ!Ô!€ð €	ð9÷t ‚%�'„'ðw ðz"€	ð 4€
ØWÐ ðð ð ðð ð ð ð ñ ô ð ð<
ð 
ð 
ðlð lð lð^.ð .ð .ð ð 	ð 	ð 	ð 	ð 	ð Cð Cð Cð Cð"0ð 0ð 0ð ˆzÒÐØ€G�I„I€I€I€Ið Ðr   