__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���ġ��^�SSKrSSKrSSKrSSKrSSKrSSKJrJrJ	r	 SSK
r
SSK
Jr SSKJr SSK
r
SSKrSSKrSSK7 SSK7 SSKJr SSKJr SS	KJr SS
KJr SSKJr SS
KJr SSKJrJrJr SS
KJrJrJrJr SSK7 SSK J!r!J"r"J#r#J$r$J%r%J&r& \RN"S\RP5r)Sr*Sr+\RX"S5r-\-R\r/Sq7Sq8SSK9r9SSK9J:r:J;r; Sq7SSK=r=\=R|"S\?5 /SQr@SrASrBSrCSrDSrE\RN"S \R�5rG\RN"S!\R�5rH\RN"S"\R�5rI\RN"S#\R�5rJ\R�"5rL\RN"S$\R�5rM\RN"S%\R�5rN\RN"S&\R�5rO"S'S(\P5rQ"S)S*\Q5rR"S+S,\Q5rSSvS-jrTSwS.jrUS/rVS0rW\@S1S2\CS3S4S4S5jrXS6/\C4S7jrYS6/\C4S8jrZS6/\C4S9jr[SxS:jr\S;r]SyS<jr^S=r_S>r`S?raS@rbSySAjrcSBrd0\eSC_\fSD_\gSD_\hSE_\iSF_\jSG_\kSH_\lSI_\mSJ_\nSK_\oSL_\pSM_\qSN_\rSO_\sSP_\tSQ_\uSR_\vSS\wSM\xST\ySU\zSV\{SW\|SX0Er}\~SC\SY\�SZ\�S[\�S\\�S]\�S^\�S_\�S`\�Sa\�Sb0r�\�Sc\�Sd\�Se\�Sf\�Sg\�Sh\�Si\�Sb0r�\�Sj\�Sj\�Sk0r�0r�"SlSm\P5r�"SnSo\GR25r�"SpSq\GR25r�"SrSs\GR25r�"StSu\GR25r�g!\0a Sr/GNrf=f!\1a= \Rd"S5(d"\3RiS5 \5RmS5 GN�f=f!\1a \3RyS5 GN�f=f)z�N�)�urllib_request�urllib_parse�urllib_error)�BytesIO)�http_client)�*)�utils)�services)�os_utils)�status)�pml)�pcl�ldl�cups)�models�mdns�slp�avahi)�PY3�
to_bytes_utf8�
to_unicode�to_string_latin�to_string_utf8�	xStringIOzHTTP/\d.\d\s(\d+)��i��hpmudext� �HPLIP_BUILDz>HPMUDEXT could not be loaded. Please check HPLIP installation.F)�lowlevel�
SessionBusTzpython-dbus not installed.�ignore)�usb�parr)r$�netrr#)r$r%r#)�print�scan�fax�pcard�copy)�hpz�(.*):/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*)|ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[^&]*)|zc=(\S+)|hostname=(\S+))(?:&port=(\d))?z6/(.*?)/(\S*?)\?(?:serial=(\S*)|device=(\S*))&loc=(\S*)z$direct (.*?) "(.*?)" "(.*?)" "(.*?)"zCTR:\d*\s.*;z]\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\bz/dev/.+z(\d+):(\d+)c�l�\rSrSr\R
SSS4SjrSrSrSSjr	SSjr
S	rS
rSr
Srg
)�Event�ir�c�D�[U5Ul[U5Ul[U5Ul[U5Ul[U5Ul[U5UlU(a[U5Ul	O[R"5Ul	SUlSUlg)N�80s80sI32sI80sf�ssisisd)
r�
device_uri�printer_name�int�
event_code�username�job_id�title�float�timedate�time�pipe_fmt�dbus_fmt)�selfr3r4r6r7r8r9r;s        �/usr/share/hplip/base/device.py�__init__�Event.__init__jst��%�Z�0���&�|�4����j�/���"�8�,��
��&�k�����&��
��!�(�O�D�M� �I�I�K�D�M�)��
�!��
�c���[RSUR-5 [RSUR-5 [RSUR-5 [RSUR
-5 [RSUR-5 [RSUR-5 [RSUR-5 g)Nz    device_uri=%sz    printer_name=%sz    event_code=%dz    username=%sz
    job_id=%dz    title=%sz    timedate=%s)	�log�debugr3r4r6r7r8r9r;�r?s r@rF�Event.debug~s����	�	�%����7�8��	�	�'�$�*;�*;�;�<��	�	�%����7�8��	�	�#�d�m�m�3�4��	�	�/�D�K�K�/�0��	�	�.�4�:�:�-�.��	�	�#�d�m�m�3�4rCc�T�[R"URURR	S5UR
R	S5URURR	S5URURR	S5UR5$)N�utf-8)�struct�packr=r3�encoder4r6r7r8r9r;rGs r@�
pack_for_pipe�Event.pack_for_pipe�su���{�{�4�=�=�$�/�/�*@�*@��*I�4�K\�K\�Kc�Kc�dk�Kl�������!5�!5�g�!>����T�Z�Z�M^�M^�_f�Mg��
�
��	rCc���UbJ[RSURX!4-5 [R"XR55 gg![a [RS5 gf=f)Nz'Sending event %d to %s (via pipe %d)...TzFailed.F)rErFr6�os�writerN�OSError)r?�fd�	recipients   r@�
send_via_pipe�Event.send_via_pipe�se��
�>��I�I�?�4�?�?�T]�Bb�b�c�
�����/�/�1�2��	��
�
��	�	�)�$��
�s�$A�A1�0A1c��Ub�[(ax[RSURU4-5 [R
"SUS5nUR"UR5SUR06 URU5 ggg)Nz$Sending event %d to %s (via dbus)...�/r-�	signature)
�
dbus_availrErFr6r �
SignalMessage�append�as_tupler>�send_message)r?�session_bus�	interface�msgs    r@�
send_via_dbus�Event.send_via_dbus�sm���"�z�z��I�I�<����QZ�?[�[�\��(�(��i��A�C��J�J�����A����A��$�$�S�)�	(2�"rCc�.�[UR56$�N)r-r^rGs r@r*�
Event.copy�s���d�m�m�o�&�&rCc�(�SUR5-$)Nz+<Event('%s', '%s', %d, '%s', %d, '%s', %f)>�r^rGs r@�__str__�
Event.__str__�s��<�t�}�}��N�NrCc��URURURURURUR
UR4$rf)r3r4r6r7r8r9r;rGs r@r^�Event.as_tuple�s<������!2�!2�D�O�O�
�]�]�D�K�K����T�]�]�D�	DrC)	r>r3r6r8r=r4r;r9r7N)�hpssd)�com.hplip.StatusService)�__name__�
__module__�__qualname__�__firstlineno__�propr7rArFrNrVrcr*rjr^�__static_attributes__�rCr@r-r-is:���-�-����"�(5���*�'�O�DrCr-c�,�\rSrSrSrSrSrSrSrg)�FaxEvent�c�v�[R"U/UR5Q76 XlSUlSUlg)N�80s80sI32sI80sfs�ssisisfs)r-rAr^�	temp_filer=r>)r?r}�events   r@rA�FaxEvent.__init__�s-��
���t�/�e�n�n�.�/�"��*��
�"��
rCc��[RS5 [RU5 [RSUR-5 g)NzFAX:z    temp_file=%s)rErFr-r}rGs r@rF�FaxEvent.debug�s0���	�	�&��
���D���	�	�$�t�~�~�5�6rCc�(�SUR5-$)Nz4<FaxEvent('%s', '%s', %d, '%s', %d, '%s', %f, '%s')>rirGs r@rj�FaxEvent.__str__�s��E��
�
��W�WrCc��URURURURURUR
URUR4$rf)r3r4r6r7r8r9r;r}rGs r@r^�FaxEvent.as_tuple�sA������!2�!2�D�O�O�
�]�]�D�K�K����T�]�]�
�^�^��	rC)r>r=r}N�	rprqrrrsrArFrjr^rurvrCr@rxrx�s��#�7�X�rCrxc�,�\rSrSrSrSrSrSrSrg)�
DeviceIOEvent��c�v�[R"U/UR5Q76 XlSUlSUlg)N�80s80sI32sI80sfI�ssisisfi)r-rAr^�
bytes_writtenr=r>)r?r�r~s   r@rA�DeviceIOEvent.__init__�s.��
���t�/�e�n�n�.�/�*��*��
�"��
rCc��[RS5 [RU5 [RSUR-5 g)NzDEVIO:z    bytes_written=%d)rErFr-r�rGs r@rF�DeviceIOEvent.debug�s2���	�	�(��
���D���	�	�(�4�+=�+=�=�>rCc�(�SUR5-$)Nz9<DeviceIOEvent('%s', '%s', %d, '%s', %d, '%s', %f, '%d')>rirGs r@rj�DeviceIOEvent.__str__�s��J�T�]�]�_�\�\rCc��URURURURURUR
URUR4$rf)r3r4r6r7r8r9r;r�rGs r@r^�DeviceIOEvent.as_tuple�sC������!2�!2�D�O�O�
�]�]�D�K�K����T�]�]�
�
�
�!�	!rC)r�r>r=Nr�rvrCr@r�r��s��#�?�]�!rCr�c�,�SnSn[R(dSq[SS4$[(a�[(d�[R
"5S:Xa [RS5 Sq[SS4$Uc[R"5nO[R"U5n[RS5 URSS5nS	q[X4$![RRa_n[R
"5S:wa[RSU-5 O[RSU-5 Sq[SS4sSnA$SnAff=f![RRGan[R"S
[R5 O![ a Of=f["R$"S5nU(a![R&R)US5nOl[R&R)[R*S5n[R&R-U5(d[R/S
5 SnAg[RSU-5 [R0"[R2USS5 [RS5 [4R6"S5 Sn[RSU-5 URSS5n[RS5 S	qSnAGM>![RRa^n[RS5 US-
nUS:�a[R/S5 SnASnAg[4R6"S5 SnAOSnAff=fM�SnAff=f)NFrz#Not starting dbus: running as root.z*Unable to connect to dbus session bus. %s z=Unable to connect to dbus session bus (running as root?). %s z1Connecting to com.hplip.StatusService (try #1)...roz/com/hplip/StatusServiceT���z
hp-systrayz
systray.pyzUnable to start hp-systray)FNNz&Running hp-systray: %s --force-startupz--force-startupz"Waiting for hp-systray to start...r�z2Connecting to com.hplip.StatusService (try #%d)...z
Connected.z1Unable to connect to dbus. Is hp-systray running?�)rt�	gui_buildr[�
dbus_disabledrQ�getuidrErF�dbusr!�
exceptions�
DBusException�error�
get_object�waitpid�WNOHANGrSr
�which�path�join�home_dir�exists�warn�spawnlp�P_NOWAITr<�sleep)�	dbus_loop�servicer`�er��ts      r@�	init_dbusr��s����G��K��>�>��
��4�$�&�&��z�-�-�
�9�9�;�!���I�I�;�<��J��t�d�*�*�	+�� �"�o�o�/��"�o�o�i�8��-	��I�I�I�J�!�,�,�-F�Hb�c�G��J�X�w�,�,��q���,�,�	+��y�y�{�a���	�	�F�q�H�I��	�	�Y�Z[�[�\��J��t�d�*�*��	+�����,�,�)	�
��
�
�2�r�z�z�*���
��
���;�;�|�,�D���w�w�|�|�D�,�7���w�w�|�|�D�M�M�<�@���w�w�~�~�d�+�+��H�H�9�:�-��I�I�>��E�F��J�J�r�{�{�D�,�8I�J��I�I�:�;��J�J�q�M��A����I�I�R�UV�V�W�)�4�4�5N�Pj�k�G��I�I�l�+�!%�J������4�4�"��I�I�Q�R���F�A��1�u����!T�U�1�1��J�J�q�M�M��"����/)	�s��5C�C�&)E�E�5AE�	E�E�N�7%F�N�
F*�'N�)F*�*B(N�A-N�*L
�/N�
N	�+5N� N�)N�?N�N	�	N�Nc
�D�Sup#nSn[RU5b�[RSU-5 [RU5upgU[R:Xa0U(a)[U5n[RSU-5 SnUnGO�[RS5 GO�[RU5b�[RU5nURS5n	URS5n
[RS	U	<S
U
<S35 [RX�5upgU[:Xa0U(a)[U5n[RSU-5 SnUnGO�[RS5 GO�[RU5b�[RSU-5 [RX5upgU[R:Xa0U(a)[U5n[RSU-5 SnUnGOD[RS5 GO-[RS
U-5 [U5S:Ga[RX5upgU[R:XaAU(a:[U5nUR!SS5n[RSU-5 SnUnO�[RSU-5 [RX5upgU[R:XaAU(a:[U5nUR!SS5n[RSU-5 SnUnO[RS5 U(GdQ[RSU-5 [#SS/S9nUGH'n[RU5 [%U5u	p�nnnnnnnUS:Xa�[)U5n[R+UUR-S[R.55unnU[R:XaH[R1U5unn[3U5R-SS5n[R5U5 UR75UR75:Xa[RSU-5 SnUn O[RS5 GM* U(a�[)U5nUR-S[85[8:�aSUR-SS5(aUR!SS5nUR-SS5(aUR!SS5nOSup#nOS!unnU(a[>RAS"S#U5 X#U4$![&a GM�f=f![&a1n[R;S UR<-5 Sup#nSnANjSnAff=f)$N)r/r/r/FzTrying parallel with %sz	Found: %sT�
Not found.rr�zTrying USB with bus=z dev=z...zTrying IP address %szTrying ZC hostname %s�zip=z	hostname=zADevice not found using mDNS hostname. Trying with DNS hostname %szTrying serial number %sr#r$��bus�io-mode�SNr/�support-type�	scan-typer�hp:�hpaio:�fax-type�hpfax:z	Error: %s�r/r/�	last_usedr3)!�dev_pat�searchrErFr�make_par_uri�
HPMUD_R_OKr�usb_pat�group�make_usb_uri�
ERROR_SUCCESS�ip_pat�make_net_uri�len�make_zc_uri�replace�probeDevices�parseDeviceURI�Error�queryModelByURI�open_device�get�HPMUD_UNI_MODE�
get_device_id�
parseDeviceID�close_device�lower�SUPPORT_TYPE_NONEr�rb�	user_conf�set)�param�port�cups_uri�sane_uri�fax_uri�found�result_code�uri�	match_obj�
usb_bus_id�
usb_dev_id�devices�d�back_end�is_hpr��model�serial�dev_file�host�zc�mq�	device_id�datar��scan_uris                          r@�makeURIr�6s���",��H���E��~�~�e��(��	�	�+�e�3�4�#�0�0��7����(�-�-�-�#� ��%�C��I�I�k�C�'�(��E��H��I�I�l�#�	����	�	*��N�N�5�)�	��_�_�Q�'�
��_�_�Q�'�
��	�	�
�J�O�P�#�0�0��H����-�'�C� ��%�C��I�I�k�C�'�(��E��H��I�I�l�#�	���u�	�	)��	�	�(�5�0�1�#�0�0��=����(�-�-�-�#� ��%�C��I�I�k�C�'�(��E��H��I�I�l�#�	�	�	�)�E�1�2�
�%�[�3�
�'�3�3�E�@��K��h�1�1�1�c�$�S�)���k�k�%��4���	�	�+��+�,������	�	�]�`e�e�f�#+�#8�#8��#E� ���(�"5�"5�5�#�(��-�C��+�+�e�K�8�C��I�I�k�C�/�0� �E�"�H��I�I�l�+���	�	�+�e�3�4��E�5�>�2���A��I�I�a�L�
�"�1�%�N���e�V�X�t�R��
�e�|�$�Q�'���(�(��B�F�F�9�h�>U�>U�,V�W�'��Y��(�"5�"5�5�(0�(>�(>�y�(I�%�K��*�4�0�4�4�T�2�>�F��)�)�)�4��|�|�~�����.��	�	�+��/�*�������	�	�,�'�7�:
�	9� ��*�B�
�v�v�n�&7�8�;L�L��6�6�+�q�)�)�'�/�/��x�@�H��6�6�*�a�(�(�&�.�.�u�h�?�G��/9�+��G�#���'���
�
�k�<��:��w�&�&��[�
��
��2�	5��I�I�k�A�E�E�)�*�*4�'�H���	5�s*�U�)U$�
U!� U!�$
V�.'V�Vc�\�[R"U5R5n[U$rf)r�normalizeModelNamer��	model_dat)r�s r@�queryModelByModelr��s&���%�%�e�,�2�2�4�E��U��rCc	�v�[U5u	pp4pVpxn	[U5$![a [[5ef=frf)r�r�r��ERROR_INVALID_DEVICE_URI)
r3r�r�r�r�r�r�r�r�r�s
          r@r�r��sK��(�
�:�&�	-����d��
!��'�'���.��,�-�-�.�s��8�
�r/rc
��S0p�U(a&[R"U[R5n	UGH2n
[RSU
-5 U
[;a[R	SU
-5 M@U
S:XGaUS:Xa[R"X!5nO5US	:Xa[R"X!5nO[R"X!5nUGH�n
[5 X�RS
S5nX�RSS5nX�RS
S5nUS:�dMR[!U5GHGnX�RSUS--S5nUcM#US:wdM+[#U5n[$R&"URSS55n[(R+U
U5unnU[(R,:XaU(a[/U5nOUS:XaSU<SU
<3nOSUU
US-4-nSn[1U5nU(d[RS5 SnOQ[3URS[455[4:Xa[RS5 SnOUS;a[7UU5nU(dGM?UUU4UU'GMJ GM� GMMU
S;Ga�U
S:Xa[(R8nO[(R:n[(R=U5unnU[(R,:XGanUR?5GHVn[@RCU5nURES5=(d SnURES5=(d SnURES5=(d SnURES5=(d Sn [RU5 [GU5u	n!n"n#nn$n%n&n'nSnU(dM�U(dM�U"(dM�[1U5nU(d[RS5 SnOQ[3URS[455[4:Xa[RS5 SnOUS;a[7UU5nU(dGMNUUU 4UU'GMY GMGMU
S :XdGM"[HRJ"5n([MU(5nU(H�n)U)RNn[RU<S!U)RP<35 US:wdM=[GU5u	n!n"n*nn$n%n&n'nU"(dM\Sn[1U5nU(dSn[RS5 OQ[3URS[455[4:Xa[RS5 SnOUS;a[7UU5nU(dM�UUS4UU'M� GM5 0n+UHynUS-
nUUunnn,SnU(aNW	RSU<S#U<S#U,<S#U<35n-U-c+[RU<S#U<S#U,<S#U<S$U<S%3
5 SnU(dMqUUU+U'M{ [U5 U+$! [R	S5 SnGN�=f![a.nU[l[R	SU-5 [eSnAff=f![a.nU[l[R	SU-5 [eSnAff=f![a.nU[l[R	SU-5 [eSnAff=f![a GM�f=f![a [RS"U-5 GM�f=f)&Nrz{Invalid search pattern. Search uses standard regular expressions. For more info, see: http://www.amk.ca/python/howto/regex/r/zProbing bus: %szInvalid bus: %sr%rz*An error occured during network probe.[%s]r�hnz	?UNKNOWN?�num_devices�	num_portsrzdevice%d�0�MDLzhp:/net/z?ip=zhp:/net/%s?ip=%s&port=%dTr�Fr��Not supported.�Nr&z
print-type)r#r$r$r��r�rz: zUnrecognized URI: %s� z: Does not match search 'z'.)+�re�compile�
IGNORECASErEr�rF�VALID_BUSESr�detectNetworkDevicesr��socket�ERROR_INTERNALrr�update_spinnerr��ranger�rr�rr�r�rr�r5r��
__checkFilter�HPMUD_BUS_PARALLEL�
HPMUD_BUS_USB�
probe_devices�
splitlines�
direct_pat�matchr�r�r�getPrintersr�r3�namer��cleanup_spinner).r��timeout�ttl�filterr��
net_search�back_end_filterr��ret_devices�
search_pat�b�detected_devices�socket_error�ipr��num_devices_on_jd�num_ports_on_jdr��devr�r�r�r�r3�includer��bnr��x�m�mdl�desc�devidr�r��bbr�r�r�r��
cups_printers�p�bs�probed_devices�devid_or_hnr�s.                                              r@r�r��s:�� !�"��
�	����F�B�M�M�:�J�
���	�	�#�a�'�(��K���I�I�'�!�+�,����:��U�"�)�'*�'?�'?��'M�$�
�w�&�)�',�'A�'A�#�'O�$�)�'+�'@�'@��'N�$�'��� �%�)�-�-�d�K�@��$4�$8�$<�$<�]�A�$N�!�"2�"6�":�":�;��"J��$�q�(� %�o� 6��.�2�6�6�z�T�!�V�7L�c�R���?�s�c�z�(5�c�(:�I�$*�$=�$=�i�m�m�E�S^�>_�$`�E�/7�/D�/D�R��/X�,�K��*�h�.A�.A�A�c�-;�C�-@�
�#2�a�#7�GL�b�1Q�J�1K�u�VX�[_�bc�[c�Ne�1e�J�&*�G�!2�5�!9�B�#%� #�	�	�,� 7�*/��!$�R�V�V�N�<M�%N�!O�Sd�!d� #�	�	�*:� ;�*/��!'�/L�!L�*7���*C��&�w�;@�%��:L��J� 7�?!7�'�P�.�
 ��E�z��0�0���+�+�� (� 6� 6�r� :��K���h�1�1�1����*�A�"�(�(��+�A��'�'�!�*�*��C��'�'�!�*�*��C��7�7�1�:�+��D��G�G�A�J�,�"�E��I�I�c�N�!�*�3�/�U��%��U�F�H�d�B�PT�
#�G��s�s�s�u�u�.�u�5��!��I�I�l�3�&+�G� �����8I�!J�K�O`�`��I�I�&6�7�&+�G�#�+H�H�&3�F�B�&?�G�"�7�03�T�5�/A�K��,�G+�2�L�&�[� �,�,�.�M��M�"�A�"���\�\�
��	�	�j�!�&�&�9�:���#�!�*�:�6�U��%��U�F�H�d�B�PT�!� �"�G�*�5�1�B��"'���	�	�,�/��R�V�V�N�4E�F�G�K\�\��	�	�"2�3�"'���'D�D�"/���";���w�38�%��2D��J�/�=#�m�l�N����q���"-�c�"2���U�K����"�)�)�3��{�TW�*X�Y�I�� ��	�	��U�T_�ad�fl�m�n����7�"-�c�"2�N�3��������W	��I�I�T�
U��F���)�#/�F�L��I�I�J�<�W�X�(�(��)���)�#/�F�L��I�I�J�<�W�X�(�(��)���)�#/�F�L��I�I�J�<�W�X�(�(��)��H!�!� �!��D!�!��	�	�"8�:�"E�F� �!�sw�%W7�X�Y�7Z�[�5[�7X�
Y� )Y	�	Y�
Z	�)Z�Z	�
[�)Z?�?[�
[�[�"\�?\r+c
��0n[R"5n[RU5 UGH%n[	UR
5u	pVpxp�p�n
US:XdXP;dSU;dM3US:XdM;U(dMDU(dMMSn[U5nU(d[RS5 SnOP[URS[55[:Xa[RS5 SnOUS	;a[X5nU(dM�SU;aUR
RS
S5nOUR
nUU UURUR5 GM( U$![a GM:f=f![a UR/UU'GM\f=f)Nr	�hpaior+Tr�Fr�rrr�r�)rrrErFr�r3r�r�r5r�r�rr�r]r�KeyError)rrr��printersr0r�r�r�r�r�r�r�r�r�r'r�r�s                 r@�getSupportedCUPSDevicesr8�sb���G����!�H��I�I�h��
��	��q�|�|�,�
J�H�S��4�T�
�s�"�h�&A�
��
'�H��,<��E�e�e��G�"�5�)�B���	�	�,�'����R�V�V�N�,=�>�?�CT�T��	�	�*�+����<�<�'��3���w��o�-����,�,�U�H�=�A����A�.��A�J��A�J�%�%�a�f�f�-�K�N�N��E�	��	��: �*�"#�&�&��G�A�J�*�s#�E�1E-�
E*�)E*�-F�Fc
�
�/n[R"5nUH�n[UR5u	pVpxp�p�n
US:XdXP;dM,U(dM5U(dM>Sn[U5nU(d[RS5 SnOP[URS[55[:Xa[RS5 SnOUS;a[X5nU(dM�URU5 M� U$![a M�f=f)Nr	Tr�Fr�rr)
rrr�r3r�r�rErFr5r�r�rr])rr�printer_listr7r0r�r�r�r�r�r�r�r�r�r'r�s                r@�getSupportedCUPSPrintersr;�s����L����!�H�
��	��q�|�|�,�
J�H�S��4�T�
�s�"�h�&A�u�u�QV�QV��G�"�5�)�B���	�	�,�'����R�V�V�N�,=�>�?�CT�T��	�	�*�+����<�<�'��3���w��#�#�A�&�1�6���-�	��	�s�C4�4
D�Dc�Z�[X5nUVs/sHo3RPM sn$s snfrf)r;r)rrr7r0s    r@�getSupportedCUPSPrinterNamesr=�s&��'��@�H�$�%�H�q�F�F�H�%�%��%s�(c
�@�UcgSn[R"5nUHkn[UR5u	pVpxp�p�n
U(dM(UR
U:XdM:U(aURR
SS5nOURn U$ U$![a M~f=f)Nr�r�)rrr�r3r�rr�)r4�
scan_uri_flagr3r7r0r�r�r�r�r�r�r�r�r�s              r@�getDeviceURIByPrinterNamer@�s�������J����!�H�
��	��q�|�|�,�
J�H�S��4�T��5�Q�V�V�|�+���\�\�1�1�%��B�
��\�\�
���������	��	�s�B�
B�Bc�t�0nUR5RS5Vs/sHo"(dMUR5PM nnUH;nURS5nURUSR5US5 M= URSS5 URSS5 SU;aUSUS'US	S	U;aUS	US'US		OS
U;aUS
US'US
	USR	S5(aSUS'U$s snf![a' URUSR5S5 M�f=f)N�;�:rrrr/r��MODEL�SERIAL�SERN�X)�strip�split�
setdefault�
IndexError�
startswith)r�r��yr)�zs     r@r�r��s1��	�A�%�O�O�-�3�3�C�8�>�8�q�A������8�A�>�
��
�G�G�C�L��	-�
�L�L��1�����q��t�,���L�L�����L�L�����!�|��W�:��%��
�g�J��1�}��H�+��$��
�h�K�	�1���F�)��$��
�f�I���w���#�����$���H��7	?���	-�
�L�L��1�����t�,�	-�s�
D�D�&D�-D7�6D7c�P�URS5up#[[R"[	U5S5=(d S5nU(a2[[R"[	U5S5=(d S5nX#4$![
a U(aSup#X#4$Sup#X#4$f=f)Nrr)rr)rr/)rIr5r
�xlstrip�str�
ValueError)�	ctr_field�convert_to_int�counter�values    r@�parseDynamicCounterrW"s����_�_�S�)�N�G�	#��e�m�m�C��L�#�6�=�#�>�����
�
�c�%�j�#�6�=�#�>�E��>���
�#��!�N�G�U��>��#�N�G�U��>��
#�s�A+B�B%�B%�$B%c��[RU5nUc'[RSU-5 [	[
5eUR
S5R5=(d SnUS;nUR
S5R5=(d SnUS;a'[RSU-5 [	[
5eUR
S5=(d SnUR
S5=(d SnUR
S	5=(d SnUR
S
5=(d SnUR
S5=(d Sn	UR
S5=(d Sn
U
(aU
nO	U	(aU	nUR
S5=(d SnUS
:Xa[U5nUS:XaSn[RU<SU<SU<SU<SU<SU<SU<SU<SU	<SU<35 X#XEXgX�U4	$![[4a SnN_f=f)Nz Device URI %s is invalid/unknownrr/)r+�hpfaxr5r�)r#r%�bt�fwr$rr�r����r%rz: back_end:z is_hp:z bus:z model:z serial:z
 dev_file:z host:z zc:z port:)�
pat_deviceurirrErFr�r�r�r�r5rR�	TypeError)r3r*r�r�r�r�r�r�r�r��hostnamer�s            r@r�r�6s������J�'�A��y��	�	�4�z�A�B��,�-�-��w�w�q�z���!�'�R�H�
�1�
1�E�
�'�'�!�*�
�
�
�
"��C�
�3�3��	�	�4�z�A�B��,�-�-�
�G�G�A�J��"�E�
�W�W�Q�Z�
�2�F��w�w�q�z��R�H��7�7�1�:���D�	
�����	�r�B��w�w�q�z��R�H����	����7�7�1�:�?��D�
�e�|�	��t�9�D��1�9��D��I�I�	�X�u�c�5�&�(�D�"�d�T�U��C��$�D�H�H���I�&�	��D�	�s�G(�(G=�<G=c��US;$)N)r$r#r[rZrvr�s r@�isLocalrcas���,�,�,rCc��US;$)N)r%rvr�s r@�	isNetworkrees���(�?�rCc�~�[UR55H up#UcM
UupEU"XU5(aM  g g)NFT)�list�items)rr��fr0�op�vals      r@rrms:���V�\�\�^�$����=��G�B��b�e�S�>�>��	%�rCc�|�UH6nU(a[nO[nX#;dM[RSU-5  g g)NzInvalid bus name: %sFT)r	�VALID_BUSES_WO_CUPSrEr�)r��
allow_cupsr �vbs    r@�validateBusListrpws8��
����B�$�B��;��I�I�,�a�/�0���rCc�f�UcgUH'nU[;dM[RSU-5  g g)NTz Invalid term '%s' in filter listF)�
VALID_FILTERSrEr�)rris  r@�validateFilterListrs�s6��
�~��
���M�!��I�I�8�1�<�=���
rC�invalid�black�cmy�kcm�cyan�magenta�yellow�
photo_cyan�
photo_magenta�photo_yellow�
photo_gray�
photo_blue�kcmy_cm�photo_cyan_and_photo_magenta�light_gray_and_photo_black�
light_gray�medium_gray�cyan_and_magenta�black_and_yellow�photo_black�matte_black�unspecified�head�supply�	cartridge�toner�	maint_kit�adf_kit�drum_kit�transfer_kit�battery�unknown�ok�misinstalled�	incorrect�failed�overtemp�charging�discharging�low�outc�$�\rSrSrSeSjrSfSjrSrSrSrSgS	jr	S
r
SrSrS
r
SrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrS r S!r!S"r"S#r#S$r$S%r%S&r&S'r'S(r(S)r)S*r*S+r+S,r,S-r-S.r.ShS/jr/S0r0ShS1jr1S2r2S3r3\4Rj4S4jr6S5r7SiS7jr8S\9RtS4S8jr;S\9RtS4S9jr<S\9RtS4S:jr=S\9RtS4S;jr>S\9RtS64S<jr?S\9RtS64S=jr@S\9RtS64S>jrAS\9RtS64S?jrBS\9RtS64S@jrCS\9RtS64SAjrDS\9RtS64SBjrESjSCjrFSjSDjrGS\9RtS4SEjrHSFrISGrJSHrKSIrLSJrMSKrNSLrOSMrPSNrQSOrRSPrSSQrTSkSRjrUSSrVSlSTjrWSmSUjrXSlSVjrYSmSWjrZSnSXjr[SYr\SZr]S[r^SoS\jr_SoS]jr`SoS^jraSoS_jrbSoS`jrcSardSbreSpScjrfSdrgg)q�Devicei�NFc�
�[RSU-5 [RSU-5 UqU(d*Uc[5uUlUlnOSUlX0lOSUlSUlSUl[R"5nUcmUbjUHUnURR5UR5:XdM1URn[RSU-5  O [[5eXlX lX@l[ UlURc[[5eURR%S5(a[&UlOWURR%S5(a[(UlO+URR%S5(a[*Ul[-UR5u	UlUlUlUlUlUlUlUlUl[RSUR.UR0UR2UR4UR6UR8UR:UR>4-5 [FRH"UR45Ul%[FRL"UR45Ul[RS	UR4<S
URJ<35 UR2S:XaUR:Ul'OSUl'0Ul(0Ul)S
Ul*/Ul+0Ul,SUl-SUl.SUl/SUl0[bUl![eUR25Ul3/Ul4SUl5URm5 URj(dI[RoSUR4-5 [pUl9URuURr5 OSUl5URPRwUR4URJS.5 [xUl=[|Ul?[�UlAUR�5 URPR�S[�5[�:waGURRRwSURR�SS5R�SS505 URPR�S[�5[�:waGURRRwSURR�SS5R�SS505 URRRw0SUR._SUR0_SUR6_SUR8_SUR:_SUR>_SURV_S UR�_S!S_S"S_S#S$_S%S_S&S_S'UR~_S(URz_S)UR_S*URR�SS5R�SS5_5 URURURR�SS5URR�SS5URR�SS5UR�[�R�S+.UlJg![a [@Ul![[D5ef=f),NzDevice URI: %szPrinter: %sTFr�r�r�zPURI: backend=%s, is_hp=%s, bus=%s, model=%s, serial=%s, dev=%s, host=%s, port=%dzModel/UI model: rYr%�	localhost�default_printerr�r/zUnsupported model: %s)r�zmodel-uir�zfax-urizhp:/zhpfax:/zhpaio:/r�zscan-urizback-endzis-hpr�zdev-filer�r��
cups-printers�status-code�status-desc�deviceid�panelr�panel-line1�panel-line2�device-state�error-statez
device-urizcups-uri)�URI�
DEVICE_URI�SCAN_URI�SANE_URI�FAX_URI�PRINTER�HOME)KrErFr�r�r[r��
last_eventrrrr�r3r��ERROR_DEVICE_NOT_FOUNDr4�callback�DEVICE_TYPE_UNKNOWN�device_typerL�DEVICE_TYPE_PRINTER�DEVICE_TYPE_SCANNER�DEVICE_TYPE_FAXr�r�r�r�r�r�r�r�r�r��IO_STATE_NON_HP�io_stater�r�normalizeModelUIName�model_uir��	http_hostr��dq�iconr/�channelsr��r_values�deviceID�panel_check�IO_STATE_HP_READYrc�is_local�hist�	supported�
queryModelr��STATUS_DEVICE_UNSUPPORTED�
error_code�	sendEvent�update�ERROR_STATE_ERROR�error_state�DEVICE_STATE_NOT_FOUND�device_state�EVENT_ERROR_DEVICE_NOT_FOUND�status_code�updateCUPSPrintersr��
FAX_TYPE_NONEr��SCAN_TYPE_NONE�first_cups_printerrtr��device_vars)	r?r3r4r�r��disable_dbusr`r7r0s	         r@rA�Device.__init__�s���	�	�	�"�Z�/�0��	�	�-�,�.�/�%�
����>G�k�;������"&���&��#�D�O��D�L�����#�#�%����,�":����6�6�<�<�>�\�%7�%7�%9�9�!"���J��I�I�.��;�<��	��2�3�3�$��(�� �
�.����?�?�"��.�/�/��?�?�%�%�e�,�,�2�D��
�_�_�
'�
'��
1�
1�2�D��
�_�_�
'�
'��
1�
1�.�D��	2��t���/�
J�D�M�4�:�t�x�����T�]�D�I�t�w��	�	�	�	�d�
�]�]�D�J�J����$�*�*�d�k�k�4�=�=�Z^�Zc�Zc�ei�en�en�o�p�	q��3�3�D�J�J�?��
��.�.�t�z�z�:��
��	�	�T�Z�Z����G�H��8�8�u��!�Y�Y�D�N�(�D�N�
������%��	������
������
���
����)��
�����)��
���	���������~�~��I�I�-��
�
�:�;�7�D�O��N�N�4�?�?�+�!�D�N�	
�����T�Z�Z�%)�]�]�4�	5�-���2���7������!��7�7�;�;�z�=�1�]�B��G�G�N�N�Y����)@�)@���)S�)[�)[�\e�gp�)q�r�s��7�7�;�;�{�N�3�~�E��G�G�N�N�Z�$�/�/�*A�*A�&�)�*T�*\�*\�]f�hq�*r�s�t�����������������
�����
����	�

�����
����
�
��!3�!3��
��!1�!1��
���
���
���
���
���
��!2�!2��
��!1�!1�� 
����!�"
����!8�!8��F�!K�!S�!S�T]�_e�!f�#�	�* �?�?��?�?��?�?�2�2�5�(�C��?�?�2�2�5�(�C��?�?�2�2�5�(�C��2�2��=�=�����_�	2�+�D�M��0�1�1�	2�s
�;AZ/�/%[c�b�UR(a^URbP[RSU-5 URR	UR
X![RX45 ggg![RRan[RS5 SnAgSnAff=f)NzSending event %d to hpssd...z dbus call to SendEvent() failed.)r[r�rErF�	SendEventr3rtr7r�r�r�)r?r6r4r8r9r�s      r@r��Device.sendEventds����?�?�t�|�|�7�
>��	�	�8�:�E�F����&�&�t����RV�R_�R_�ag�o� 8�?���?�?�0�0�
>��	�	�<�=�=��
>�s�AA1�1B.�B)�)B.c��grfrvrGs r@�quit�Device.quitm���rCc�0�UR(d[UR5Ul[UR5UlUR(a@URH/nURUUR
UR
SS5'M1 gg)N�-�_)r�r�r3�boolr��__dict__r�)r?r*s  r@r��Device.queryModelqsc���w�w�%�d�o�o�6�D�G��d�g�g�����>�>��W�W��48�G�G�A�J��
�
�a�i�i��C�0�1��rCc��[U5$rf)�queryString)r?�	string_ids  r@r��Device.queryString|s
���9�%�%rCc���UR(GaTUR[[4;Ga8URn[Ul[
Ul[Ul[Ul	SUl
XlU(aR[RSUR-5 URR!S["R$5UlOQ[RSUR-5 URR!S["R$5Ul[RSUR&-5 ["R)URUR&5uo0l
U["R*:wa�[UlU[,-UlUR1UR.5 U["R2:Xa#[R5SUR-5 O#[R5SX0R4-5 [7URS	[[8R:S
S	[<R<"55Ul[A[B5e[RSUR-5 [DUl[FUl[RSURHURURJURLURNURPURRURTURV4	-5 U[
:Xa[XUlO[ZUlUR]5 UR_5 UR$gg)
Nr�z!Opening device: %s (for printing)r�z%Opening device: %s (not for printing)�io-mfp-modezI/O mode=%dzDevice busy: %sz/Unable to communicate with device (code=%d): %sr/rzdevice-id=%dz_Opened device: %s (backend=%s, is_hp=%s, bus=%s, model=%s, dev=%s, serial=%s, host=%s, port=%d))0r�r�r��IO_STATE_HP_NOT_AVAILr�r�r�r�r�r�r��open_for_printingrErFr3r�r�rr��io_moder�r��ERROR_CODE_BASEr�r��HPMUD_R_DEVICE_BUSYr�r-rtr7r<r�r�r��IO_STATE_HP_OPEN�ERROR_STATE_CLEARr�r�r�r�r�r�r�r��DEVICE_STATE_JUST_FOUND�DEVICE_STATE_FOUND�getDeviceID�getSerialNumber)r?r��prev_device_stater�s    r@�open�Device.open�s^���>�>�>�d�m�m�0A�CX�/Y�Y� $� 1� 1��1�D�M� 6�D��0�D��;�D���D�N�%6�"� ��	�	�=����O�P�#�w�w�{�{�9�h�6M�6M�N����	�	�A�D�O�O�S�T�#�w�w�{�{�=�(�:Q�:Q�R����I�I�m�d�l�l�2�3��$�$�T�_�_�d�l�l�C�
(�K���h�1�1�1�#4�� �"-�o�"=������t���/��(�">�">�>��I�I�/�$�/�/�A�B��I�I�O�S^�`o�`o�Rp�p�q�"'�����=Y��
�
�q�"�d�i�i�k�#;����2�3�3��	�	�.�4�>�>�9�:� 0��
�#4�� ��	�	�{��]�]�D�O�O�T�Z�Z����4�:�:��]�]�D�K�K����D�I�I�G�G�H�%�(>�>�(?�D�%�(:�D�%�� � �"��$�$�&��~�~�%�eZ�>rCc��UR[:Xa�[RS5 [	UR
5S:�a;[
UR
R55HnURU5 M [RUR5n[RSU-5 UR
R5 [Ulgg)NzClosing device...rzResult-code = %d)r�r�rErFr�r�rg�keys�_Device__closeChannelrr�r��clearr�)r?�cr�s   r@�close�Device.close�s����=�=�,�,��I�I�)�*��4�=�=�!�A�%��d�m�m�0�0�2�3�A��'�'��*�4�#�/�/����?�K��I�I�(�;�6�7��M�M���!�-�D�M�-rCc��UR[:Xa�U[R:Xa3UR(d"UR5 UR
S5 OjU[R:wa2UR(a!UR5 UR
S5 O#UR
U[R:H5 URS[:Xd�UR5nXR;ab[RSU-5 [RURU5up#X0RU'[RSU-5 U$URU$g! [RS5 g=f)NTFzunable to open channelr�r�zOpening %s channel...z
channel-id=%d)r�r�r�HPMUD_S_PRINT_CHANNELr�rr�rEr�r��IO_MODE_UNI�upperr�rF�open_channelr�)r?�service_namer��
channel_ids    r@�
__openChannel�Device.__openChannel�s$��	��}�}� 0�0��8�#A�#A�A�$�J`�J`��J�J�L��I�I�d�O�!�X�%C�%C�C��H^�H^��J�J�L��I�I�e�$���	�	�,�(�*H�*H�H�I��w�w�y�!�[�0�'�-�-�/�L��=�=�0��	�	�1�L�@�A�*2�*?�*?����P\�*]�'��.8�
�
�l�+��	�	�/�J�6�7�!�!��}�}�\�2�2���#	��I�I�.�/��s�AE/�AE/�$"E/�/Fc�$�URU5$rf)�_Device__openChannel�r?rs  r@�openChannel�Device.openChannel�s���!�!�,�/�/rCc�@�UR[R5$rf)r
rrrGs r@�	openPrint�Device.openPrint�s���!�!�(�"@�"@�A�ArCc�@�UR[R5$rf)r
r�HPMUD_S_FAX_SEND_CHANNELrGs r@�openFax�Device.openFax�����!�!�(�"C�"C�D�DrCc�@�UR[R5$rf)r
r�HPMUD_S_MEMORY_CARD_CHANNELrGs r@�	openPCard�Device.openPCard�����!�!�(�"F�"F�G�GrCc�@�UR[R5$rf)r
r�HPMUD_S_EWS_CHANNELrGs r@�openEWS�Device.openEWS�����!�!�(�">�">�?�?rCc�@�UR[R5$rf)r
r�HPMUD_S_EWS_LEDM_CHANNELrGs r@�openEWS_LEDM�Device.openEWS_LEDM�rrCc�@�UR[R5$rf)r
r�HPMUD_S_LEDM_SCANrGs r@�openLEDM�Device.openLEDM�s���!�!�(�"<�"<�=�=rCc�@�UR[R5$rf)r
r�HPMUD_S_MARVELL_EWS_CHANNELrGs r@�openMarvell_EWS�Device.openMarvell_EWS�rrCc�@�UR[R5$rf)r�rrrGs r@�
closePrint�Device.closePrint�s���"�"�8�#A�#A�B�BrCc�@�UR[R5$rf)r�rrrGs r@�
closePCard�Device.closePCard����"�"�8�#G�#G�H�HrCc�@�UR[R5$rf)r�rrrGs r@�closeFax�Device.closeFax����"�"�8�#D�#D�E�ErCc�@�UR[R5$rf)r
r�HPMUD_S_PML_CHANNELrGs r@�openPML�Device.openPMLr"rCc�@�UR[R5$rf)r
r�HPMUD_S_WIFI_CHANNELrGs r@�openWifiConfig�Device.openWifiConfig	s���!�!�(�"?�"?�@�@rCc�@�UR[R5$rf)r�rr;rGs r@�closePML�Device.closePML����"�"�8�#?�#?�@�@rCc�@�UR[R5$rf)r�rrrGs r@�closeEWS�Device.closeEWSrErCc�@�UR[R5$rf)r�rr$rGs r@�
closeEWS_LEDM�Device.closeEWS_LEDMr9rCc�@�UR[R5$rf)r�rr(rGs r@�	closeLEDM�Device.closeLEDMs���"�"�8�#=�#=�>�>rCc�@�UR[R5$rf)r�rr,rGs r@�closeMarvell_EWS�Device.closeMarvell_EWSr5rCc�@�UR[R5$rf)r
r�HPMUD_S_CONFIG_UPLOAD_CHANNELrGs r@�
openCfgUpload�Device.openCfgUploads���!�!�(�"H�"H�I�IrCc�@�UR[R5$rf)r�rrSrGs r@�closeCfgUpload�Device.closeCfgUploads���"�"�8�#I�#I�J�JrCc�@�UR[R5$rf)r
r�HPMUD_S_CONFIG_DOWNLOAD_CHANNELrGs r@�openCfgDownload�Device.openCfgDownload!s���!�!�(�"J�"J�K�KrCc�@�UR[R5$rf)r�rrZrGs r@�closeCfgDownload�Device.closeCfgDownload$s���"�"�8�#K�#K�L�LrCc�@�UR[R5$rf)r
r�HPMUD_S_SOAP_FAXrGs r@�openSoapFax�Device.openSoapFax's���!�!�(�";�";�<�<rCc�@�UR[R5$rf)r
r�HPMUD_S_MARVELL_FAX_CHANNELrGs r@�openMarvellFax�Device.openMarvellFax*rrCc�@�UR[R5$rf)r�rrarGs r@�closeSoapFax�Device.closeSoapFax-s���"�"�8�#<�#<�=�=rCc�@�UR[R5$rf)r�rrerGs r@�closeMarvellFax�Device.closeMarvellFax0r5rCc�@�UR[R5$rf)r�rr?rGs r@�closeWifiConfig�Device.closeWifiConfig3s���"�"�8�#@�#@�A�ArCc��UR[:XasUR5nXR;aS[RSU-5 [RURURU5nURU	ggg)NzClosing %s channel...)	r�r�rr�rErFr�
close_channelr�)r?rr�s   r@�__closeChannel�Device.__closeChannel6ss���=�=�,�,�'�-�-�/�L��}�}�,��	�	�1�L�@�A�&�4�4�T�^�^��M�M�,�/�1���M�M�,�/�
-�	-rCc�$�URU5$rf)r�rs  r@�closeChannel�Device.closeChannelEs���"�"�<�0�0rCc�Z�SnSUl0UlUR[:waUR	5 Sn[
R
UR5up#U[
R:XaX0l[U5UlU(aUR5 UR$! g=f)NFr/r�T)�raw_deviceIDr�r�r�r�rr�r�r�r�r)r?�needs_closer�r�s    r@r��Device.getDeviceIDIs����������
��=�=�,�,���y�y�{��;�$�2�2�4�>�>�B����(�-�-�-� $��)�$�/�D�M���J�J�L��}�}�����s�B&�&B*c���UR(agURSUlUR(agURR	S[
5[
:wa8UR
[R5uolUR5 URcSUlgg![a N�f=f![a
 SUlNIf=f!UR5 f=f)Nr��status-typer/)r�r�r6r�r��STATUS_TYPE_NONE�getPMLr�OID_SERIAL_NUMBERr�rC)r?r�s  r@r��Device.getSerialNumberas����;�;��	��-�-��-�D�K��{�{����7�7�;�;�}�&6�7�;K�K�
 �%�.2�k�k�#�:O�:O�.P�+�J���
�
���;�;���D�K���#�	��	���%�"$�D�K�%���
�
��s5�B1�%&C�1
B>�=B>�C�C�C�C�C*c��grfrvrGs r@�getThreeBitStatus�Device.getThreeBitStatus|r�rCc�t�UR5 [R"[UR55$rf)r�r
�parseStatusr�ryrGs r@�getStatusFromDeviceID�Device.getStatusFromDeviceID�s*�������!�!�-��0A�0A�"B�C�CrCc��[U5nSRSS[U5-
-U/5nUSSUSSpC[U5nXX44UlXX44$)Nr/r�	r)rQr�r�r5r�)r?�r_value�r_value_str�rg�rrs     r@�__parseRValues�Device.__parseRValues�s`���'�l���g�g�s�A��K�(8�$8�9�;�G�H���R�a��+�a�b�/�B��b�'���b�4��
��R�+�+rCc���SupEpgUS:�GaFU[:wGa;URcwUR(a0[URRURS55nUS:wa0[RSU-5 URU5upEpgXEXg4$URGc�U[:Xa�UR(a�U[:wa�UR!S5nUbg[RSU-5 URU5upEpgUR(a)URR#URSU5 OO[R%S	5 SnUR)5 O�U[:XaU[*:XaUR(a
U[:Xa�UR-[.R05up�Ubg[RSU-5 URU5upEpgUR(a)URR#URSU5 OOSnUR35 OOURupEpgXEXg4$![RRa"n[RS5 SnSnAGN,SnAff=f![RRa n[RS5 SnAGNoSnAff=f![&a [R%S
5 SnGN�f=f!UR)5 f=f![RRa n[RS5 SnAGNSnAff=f!UR35 f=f)N�r�	000000000�000�000000rr�z(dbus call to GetCachedIntValue() failed.r�z
r_value=%d�z(dbus call to SetCachedIntValue() failed.z%Error attempting to read r-value (2).z%Error attempting to read r-value (1).)�STATUS_DYNAMIC_COUNTERS_NONEr�r[r5r��GetCachedIntValuer3r�r�r�rErF�_Device__parseRValues�
STATUS_TYPE_Sr�� STATUS_DYNAMIC_COUNTERS_PML_SNMP�getDynamicCounter�SetCachedIntValuer�r�r0�STATUS_DYNAMIC_COUNTERS_PCLrr�
OID_R_SETTINGrC)
r?�r_type�status_type�dynamic_countersr�r�r�r�r�r�s
          r@�
getRValues�Device.getRValues�s���'F�$��b��A�:�� <�<��}�}�$��?�?�%�"%�d�l�l�&D�&D�T�_�_�V_�&`�"a��
�b�=��I�I�l�W�4�5�37�3F�3F�w�3O�0�G�"�"��7�7��}�}�$��=�0��M�M�$�(H�H�*�(�&*�&<�&<�S�&A�G�&�2� #�	�	�,��*@� A�?C�?R�?R�SZ�?[� <��b�#'�?�?�%^�(,���(F�(F�t���Xa�cj�(k�$3�!$�	�	�*Q� R�*+��
���)�"�m�3�&�*E�E��-�-�&�*J�J�(�/3�{�{�3�;L�;L�/M�,��"�.��I�I�l�W�&<�=�;?�;N�;N�w�;W�8�G�"�#���!Z�$(�L�L�$B�$B�4�?�?�T]�_f�$g� /�'(�G��
�
��'K�,04�}�}�,��b��R�+�+��E �?�?�8�8�%��	�	�"L�M�"$���%��6,0�?�?�+H�+H�%^�(+�	�	�2\�(]�(]��%^��
 %�(��I�I�&M�N�&'�G�(�����)��$(,���'D�'D�!Z�$'�I�I�.X�$Y�$Y��!Z���
�
��s��/I�AK�#'J�
L�K�#L�%A!M�'L�.M�J�5J�J�K�8K�
K�L�K�K�!L�<L�?L�L�L�M�6M�M�M�M�M+c
���URRS[5n[UlU[:wGa�UR
[:wa�UR[[4;aUR5 UR+UR5nUR,R/UR0UR2URUUR4SSSUR
UR6S.
5 [R9S5 [:R<"U5upgU(a[>UlOU(a[@Ul[BRUR[D5UlURUl#URIURF5 UR,R/UR+UR5UR6S.5 URL(a*[OURRSS55Ul&URRS	[P5nURL(a�U[R[T[V4;a�U[:wav[R9S
5 [:RX"U5uUl&p�UR[5 UR,R/[]URL5U	U
S.5 U(dU(aUR_5 UR,H/nUR,UUR`URcSS
5'M1 [URSUR["R$SS[&R&"55Ul[R9UR,5 g![ann[RS5 [URS[ ["R$SS[&R&"55Ul[[ 5eSnAff=f![J[4a& UR,R/S[DS.5 GNyf=f!UR[5 f=f)Nr��Error getting device ID.r/r�
r�r�r�r�r�r�r�r�r�r�zFax activity check...�r�r��panel-check-typer}�Panel check...�r�r�r�r�r�)2r�r�r�STATUS_PRINTER_IDLEr�r�r��	tech_type�TECH_TYPE_MONO_INK�TECH_TYPE_COLOR_INKr�r�rEr�r-r3�ERROR_DEVICE_IO_ERRORrtr7r<r�r�r�r�r�r/ryr�rFr
�getFaxStatus�STATUS_FAX_TX_ACTIVE�STATUS_FAX_RX_ACTIVE�STATUS_TO_ERROR_STATE_MAPr�r�r�r6r�r�r~�STATUS_TYPE_LJr��STATUS_TYPE_VSTATUS�
PanelCheckrCr5r�r�r�)r?�quick�reread_cups_printersr�r��status_desc�	tx_active�	rx_activer��line1�line2r�s            r@�
__queryFax�Device.__queryFax�sA���'�'�+�+�i��5��.����k�!�� � �$:�:��>�>�&8�:M�%N�N�;��(�(�*�#�.�.�t�/?�/?�@�������)-���)-�);�);�)-�)9�)9�)4�)-�):�):�)*�)+�)+�)-�):�):�)-�)9�)9� ��
�I�I�-�.�#)�#6�#6�t�#<� �I��#7�� ��#7�� �8�<�<�T�=M�=M�O`�a�D��"�.�.�D�O��N�N�4�?�?�+�
#�������0@�0@��AQ�AQ�0R�04�0@�0@� "�#����#'������4F��(J�#K�� ��'�'�+�+�m�5E�F�K������
�?R�S�S��;�&��	�	�*�+�$�5;�5F�5F�t�5L�2�D�$�e��M�M�O�������T�-=�-=�)>�16�16� 9�:��1��'�'�)����A�04����
�D�M�M�!�)�)�C��,�-�� �����T�5E�5E�t�}�}�VW�Y[�]a�]f�]f�]h�i����	�	�$�'�'���S!�;��	�	�"<�=�*/�����EZ� �M�M�1�b�$�)�)�+�+?���$�$9�:�:��;��R�e�$�
#�������0A� "�#�
#��$�M�M�O�s8�&N%�AP �=Q�%
P�/A)P�P� 2Q�Q�Q+c�4�/Ul[RS5 [R"5nUH�nUR
UR
:XdMURR
UR5 URUlUR[:XdMkURRS5SUl
M� URRSUR05 URSUlg!["a
 SUlgf=f)Nz*Re-reading CUPS printer queue information.�,rr�r/)r/rErFrrr3r]r�stater�r��	makemodelrIr�r�r�r�rK)r?r7r0s   r@r��Device.updateCUPSPrinters4s�������	�	�>�?��#�#�%���A����!�,�,�.��"�"�)�)�!�&�&�1��W�W��
��=�=�O�3�!"���!2�!2�3�!7��!:�D�J�
�	
������$�*<�*<�=�>�	)�&*�&8�&8��&;�D�#���	)�&(�D�#�	)�s�.D�D�Dc�Z�UR(dM0Ul[URS[[
RSS[R"55UlgUR[:XaURX5$URRSS5nURRS[5nURRS[5nURRS[ 5nURRS["5nURRS[$5nURRS	[$5n	[&n
/nUR([*:wG
a�UR,[.[04;aUR35 UR=UR>5n
URRAURBURDUR>U
URFSSSUR(URHS.
5 0nU[:Xa[6RKS5 S
[&0nGO�U[L[N4;a7[6RQS5 [RRT"URV5nGO]U[X[Z4;a7[6RQS5 [RR\"XRV5nGOU[^:Xa-[6RQS5 [RR`"U5nGO�U[b:Xa-[6RQS5 [RRd"U5nGO�U[f:Xa7[6RQS5 [RRh"URj5nGOgU[l:Xa7[6RQS5 [RRh"URn5nGO&U[p:XaA[6RQS5 [RRr"URURt5nO�U[v:Xa�[6RQS5 URx(a![RRz"UR|5nO�SUR~-nUR�(a;[�R�UR�5unnU[�R�:XaSU-n[RR�"U5nO[6R9SU-5 U(a6U[$:wa,[6RQS5 [RR�"XU5 U(aH[6RQU5 URRAU5 US USnURS	URRS
[&5n
[�RU
[�5Ul$X�lIUR�UR�5 URRAUR=U
5URHS.5 SnU(Gd@U[:wGa5UR�(a*[�URRSS55UlKUR�(a�U[X[N[L4;a�U[$:waw[6RQS5 [RR�"U5uUlKnnUR�5 URRA[�UR�5UUS.5 U[":wa"U[$:waUR�X5U5unnnnOSunnnnURRAUUUUS.5 U(dU(aUR�5 U(Gd�US:�aEURRS U-S5S:Xa"SnURRAUWWWS.5 S!nUHnUS"S:waS#n OM S$unnU(a+U[�U5:�aGO�UUS%-
nUS"nUS&nUS'nS#nO�URRS(UU4-S)5n U S):XaGO]URRS*UU4-S5n!URRS+UU4-S5nS!n[6RQS,U U!4-5 UHnUS&nUS'nUU :XdMUU!:XdMS#n O U(Ga3[6RQS-UWW4-5 WRS.[�5n"URS/S05n#URS1[�5n$[6RQS2U"U#U$U
4-5 S3[�RUS45<S5[�RUS45<3n%UR=U%5n&S6n%U
[�:XdU
[�:XdU
[�:XGa�U"[�:XdU"[�:XGa�U[�:XGa�U$[�:�Ga�S7[�RU$S45-n%U[.[04;a
U[�-n'O	U[�-n'U'URS
'UR=U'5URS8'[�RU'[�5URS9'U'UlIUR�UR�5 U$[�[�4;aS:n%OS;n%UR=U%5n(URRAS<U-US=U-US>U-URS?S!5S@U-USAU-U#SBU-U$SCU-URSDS!5SEU-URSFS!5SGU-U"SHU-URSIS5SJU-URSKS!5SLU-U&SMU-URSNS5SOU-U(05 O�SP[�RU"[�5-n%UR=U%5n(URRAS<U-US=U-US>U-S!S@U-USAU-U#SBU-U$SCU-S!SEU-S!SGU-U"SHU-SSJU-S!SLU-U&SMU-SSOU-U(05 US%-
nO[6RQSQU-5 US%-
nGM9GO}SnUS:�aUR�bUR�SnUS:�a"URRS S5S:XaSnS%nURRS(UU4-S5n U S:XaGOURRS*UU4-S5n!URRS+UU4-S5nS3[�RU!S45<S5[�RU S45<3n%UR=U%5n&URRAS<U-U S=U-U!S>U-S!S@U-USAU-SSBU-[�SCU-S!SEU-S!SGU-[�SHU-SSJU-S!SOU-UR=SR5SLU-U&SMU-S05 US%-
nGM.URH/n)URU)UR�U)R�SSS55'M1 [URSU
[
RSS[R"55Ul[6RQUR5 g![4ann[6R9S
5 [URS[:[
RSS[R"55Ul[5[:5eSnAff=f![�a G	NRf=f![�[44a& URRAS[�S.5 GN�f=f!UR�5 f=f! GMS=f)TNr/rzr-typez	tech-typer}zstatus-battery-check�status-dynamic-countersr�r�r�r�zNo status available for device.r�z Type 1/2 (S: or VSTATUS:) statusz"Type 3/9 LaserJet PML(+PJL) statuszType 6: LJ XMLzType 8: LJ PJLz
Type 10: LEDMzType 11: LEDM_FF_CC_0zType 12: IPPzType 13: CDMz&http://%s/cdm/supply/v1/suppliesPubliczUnimplemented status type: %dzBattery check...�agentsr�r�r�r�r�)�r�rsr�r�zr%d-agent1-kindFz	agent-skuT)rrr�kind�typezr%d-agent%d-kindr�zr%d-agent%d-typezr%d-agent%d-skuzLooking for kind=%d, type=%d...zfound: r%d-kind%d-type%d�health�level�dz
level-triggerz5health=%d, level=%d, level_trigger=%d, status_code=%d�agent_r�r��agent_health_okzagent_level_%sr�r��agent_level_out�agent_level_lowzagent%d-kindzagent%d-typez
agent%d-known�knownzagent%d-skuz
agent%d-levelzagent%d-level-triggerzagent%d-ack�ackzagent%d-hp-inkzhp-inkzagent%d-healthzagent%d-dvc�dvczagent%d-virgin�virginzagent%d-descz
agent%d-id�idzagent%d-health-desczagent_health_%sz
Not found: %d�agent_health_unknownr�)hr�r�r-r3r�rtr7r<r�r�r��_Device__queryFaxr�r��TECH_TYPE_NONEr~�STATUS_BATTERY_CHECK_NONEr�r�STATUS_UNKNOWNr�r�r�r�r�r�r�rEr�r�r�r�r�r�r/ryr�r�r�r�rFr
r�r�r��STATUS_TYPE_PML_AND_PJL�StatusType3�STATUS_TYPE_LJ_XML�StatusType6�STATUS_TYPE_PJL�StatusType8�STATUS_TYPE_LEDM�StatusType10�getEWSUrl_LEDM�STATUS_TYPE_LEDM_FF_CC_0�getUrl_LEDM�STATUS_TYPE_IPP�
StatusTypeIPPr4�STATUS_TYPE_CDMr��StatusTypeCDM_USB�
getUrl_CDMr�r�r�get_zc_ip_addressr��StatusTypeCDM_Net�BatteryCheckr6r�r�r�r�r�r�r�rCr5r�r�r��AGENT_HEALTH_OK� AGENT_LEVEL_TRIGGER_SUFFICIENT_0�AGENT_types�AGENT_kinds�STATUS_PRINTER_POWER_SAVEr��STATUS_PRINTER_OUT_OF_INK�AGENT_HEALTH_FAIR_MODERATE�AGENT_KIND_HEAD�AGENT_LEVEL_TRIGGER_MAY_BE_LOW�AGENT_levels�STATUS_PRINTER_LOW_INK_BASE�STATUS_PRINTER_LOW_TONER_BASE�ERROR_STATE_LOW_SUPPLIES� AGENT_LEVEL_TRIGGER_PROBABLY_OUT�)AGENT_LEVEL_TRIGGER_ALMOST_DEFINITELY_OUT�
AGENT_healthsr��AGENT_HEALTH_MISINSTALLEDr�r�)*r?r�r�r�r�r��
battery_checkr�r��io_mfp_moder�r�r�r��status_block�resource_url�retnr#r�r�r�r�r�r��dynamic_sku_data�agent�a�aa�mq_agent_sku�
agent_kind�
agent_typer��
mq_agent_kind�
mq_agent_type�agent_health�agent_level�agent_level_trigger�query�
agent_desc�code�agent_health_descr�s*                                          r@�queryDevice�Device.queryDeviceJs�
���~�~��D�G�#�D�O�O�R�9R��
�
�q�"�d�i�i�k�3�D�O�
�����.��?�?�5�?�?������X�q�)���G�G�K�K��^�<�	��g�g�k�k�-�1A�B�������$:�<U�V�
��7�7�;�;�'@�B^�_���'�'�+�+�i��5���g�g�k�k�-��=��$������� 6�6��~�~�"4�6I�!J�J�7��$�$�&��*�*�4�+;�+;�<�K��G�G�N�N�%)�[�[�%)�%7�%7�%)�%5�%5�%0�%)�%6�%6�%&�%'�%'�%)�%6�%6�%)�%5�%5��
��L��.�.����:�;� -��?���!4�m� D�D��	�	�<�=�%�1�1�$�-�-�@����1H� I�I��	�	�>�?�%�1�1�$�
�
�F��� 2�2��	�	�*�+�%�1�1�$�7����/��	�	�*�+�%�1�1�$�7��� 0�0��	�	�/�*�%�2�2�4�3F�3F�G��� 8�8��	�	�1�2�%�2�2�4�3C�3C�D����/��	�	�.�)�%�3�3�D�O�O�D�DU�DU�V����/��	�	�.�)��=�=�#)�#;�#;�D�O�O�#L�L�#K�t�y�y�#Y�L��w�w�#+�#=�#=�d�g�g�#F���b��8�#6�#6�6�*R�VX�*Y�<�#)�#;�#;�L�#I�L��	�	�9�K�G�H���;�&��	�	�,�-��#�#�D�
�F���	�	�,�'������|�,�*� ��*�*�(�3�F�����)��'�'�+�+�m�^�D�K�8�<�<�[�J[�\�D��)�O��N�N�4�?�?�+�
#�������0@�0@��0M�04�0@�0@� "�#��G��[�,<�<��#�#�'+�D�G�G�K�K�8J�A�,N�'O�D�$��#�#��N�M�CV�#W�W��{�*��I�I�.�/�(�9?�9J�9J�4�9P�6��(�%���
�
���G�G�N�N�S��1A�1A�-B�5:�5:�$=�>�
$�'C�C��{�*�37�?�?�6�Xh�3i�0�G�[�"�b�3R�0�G�[�"�b������w�'2�')�')�  �!��1��'�'�)���Q�;�4�7�7�;�;�/@�7�/J�A�#N�RS�#S��G��G�G�N�N�7�+6�+-�+-�$$�%�$)� �#�E�� ��-��3�/3�,�!�4�$����2��'��s�6�{�?�!� &�q��s���',�[�'9��%*�6�]�
�%*�6�]�
� $��(,�����4F�'�ST��4U�WY�(Z�
�(�B�.�!�(,�����4F�'�ST��4U�WX�(Y�
�'+�w�w�{�{�3D��QR�|�3S�UW�'X�� %���	�	�"C�}�Vc�Fd�"d�e�%+�E�).�v��J�).�v��J�)�]�:�)�]�:�+/�5�#(�&,���	�	�"<���U_�?`�"`�a�',�y�y��?�'K��&+�i�i���&=��.3�i�i��<�/>�+��	�	�"Y�)�;�8K�[�Y�#Z�[�2=����Y�1W�1<����Y�1W�!Y��&*�%5�%5�e�%<�
� 1��(�+D�D��Wj�Hj�ny�~W�oW�)�_�<�*�.H�H�Z�[j�Mj�/�3Q�Q�$4�|�7G�7G�H[�]f�7g�$g�E�(�-?�AT�,U�U�'1�4O�'O��'1�4Q�'Q��59�D�G�G�M�2�59�5E�5E�d�5K�D�G�G�M�2�5N�5R�5R�SW�Yq�5r�D�G�G�M�2�.2�D�O� �N�N�4�?�?�;�2�!A�Cl� m� n�):��(9��04�0@�0@��0G�-� �G�G�N�N� .�� 3�z� .�� 3�z� /�"� 4�u�y�y��RW�?X� -�� 2�|� /�"� 4�{� 7�"� <�?R� -�� 2�u�y�y��PU�?V� 0�2� 5�u�y�y��SX�?Y� 0�2� 5�|� -�� 2�u�y�y��PQ�?R� 0�2� 5�u�y�y��SX�?Y� .�� 3�z� ,�r� 1�u�y�y��q�?Q� 5�� :�?P���&%6�
�8I�8I�,�Xg�8h�$h�E�04�0@�0@��0G�-� �G�G�N�N� .�� 3�z� .�� 3�z� /�"� 4�u� -�� 2�|� /�"� 4�{� 7�"� <�?R� -�� 2�u� 0�2� 5�u� 0�2� 5�|� -�� 2�q� 0�2� 5�u� .�� 3�z� ,�r� 1�q� 5�� :�?P���$�a����	�	�/�A�"5�6���F�A�s�/�h�G���z�d�m�m�7��-�-��*����{�t�w�w�{�{�+<�a�@�A�E����A�� $�����,>�'�1��,M�q� Q�
� �A�%�� $�����,>�'�1��,M�q� Q�
�#�w�w�{�{�+<���|�+K�R�P��)4����	�)R�)4����	�)R�T��"�-�-�e�4�
������"�Q�&�-�"�Q�&�-�#�a�'�%�!�A�%�,�#�a�'�!�+�a�/�2[�!�A�%�%�$�q�(�%�$�q�(�2K�!�A�%�!�$�q�(�%�)�A�-�$�2B�2B�CY�2Z�"�Q�&�*� �1�$�!���$�Q���?�B���A�04����
�D�M�M�!�)�)�C��,�-�� �����[�$�-�-�QR�TV�X\�Xa�Xa�Xc�d����	�	�$�'�'���c
�7��I�I�8�9�&+�D�O�O�R�AV��
�
�q�"�d�i�i�k�';�D�O� � 5�6�6��7��d �����$�e�$�
#�������0A� "�#�
#��&�
�
���T��sU�y
�){�!7{�.|�|$�

{�A)z=�={�
{�{�2|�|�|!�$|*c�t�URSS9 UR[[4;$![a gf=f)NT�r��rr�r�r��ERROR_STATE_BUSYrGs r@�isBusyOrInErrorState�Device.isBusyOrInErrorState�sF��	����4��(����$5�7G�#H�H�H���	��	���*�
7�7c�t�URSS9 UR[[4;$![a gf=f)NTrFrrGs r@�isIdleAndNoError�Device.isIdleAndNoError�sF��	����4��(����(9�;K�'L�L�L���	��	�rc�|�UR5n[RURU[R
"US5US5upEpgU[R:�a![RSUSU4-5 US4$[R"XQSU5n[R5(a�US[R[R4;a5[RSUSU4-5 [RU5 Xx4$[RSUSU[U54-5 Xx4$)Nrrz+PML/SNMP GET %s failed (result code = 0x%x)z.PML/SNMP GET %s (result code = 0x%x) returned:z1PML/SNMP GET %s (result code = 0x%x) returned: %s)r<r�get_pmlr�r�	PMLToSNMP�ERROR_MAX_OKrErF�ConvertFromPMLDataFormat�is_debug�TYPE_STRING�TYPE_BINARY�log_data�repr)	r?�oid�desired_int_sizer	r�r��typ�pml_result_code�converted_datas	         r@r�
Device.getPML�s���\�\�^�
����T�^�^�Z����s�1�v�9N�PS�TU�PV�W�	0��3��S�-�-�-��I�I�C�s�1�v��F_�_�`�"�D�(�(��5�5�d��F�DT�U���<�<�>�>��1�v�#�/�/�3�?�?�;�;��	�	�J���V�_�-�.�/����T�"��.�.��	�	�M���V�_�d�>�.B�C�D�E��.�.rCc
��UR5n[R"X!S5n[R	UR
U[R"US5USU5upE[R5(a|US[R[R4;a[RSUSU4-5 U$[RSUSU[URS554-5 U$)Nrrz(PML/SNMP SET %s (result code = 0x%x) to:z+PML/SNMP SET %s (result code = 0x%x) to: %srJ)r<r�ConvertToPMLDataFormatr�set_pmlr�r%rEr(r)r*rFr,�decode)r?r-rVr	r�r0s      r@�setPML�
Device.setPML�s����\�\�^�
��*�*�5�a�&�9�����T�^�^�Z����s�1�v�9N�PS�TU�PV�X]�^�	%���<�<�>�>��1�v�#�/�/�3�?�?�;�;��	�	�D���V�_�-�.�/����	�	�G���V�_�d�5�<�<��3H�.I�J�K�L��rCTc�`�URRS[5n[R	SU-5 U[:wGa]U[
:XaHUR
[R"5SS9 UR
[R"U5SS9 O$UR
[R"U5SS9 SupEpgn[R"S5 UR(aUR5 US-
nUS-
n[R"U5 UR5 SUR ;ar["R%UR&5bR[)UR SU5up�X:Xa2UR
[R"S	5SS9 U(dS
U-nU$XX:�axU[
:XaIUR
[R"55 UR
[R"U5SS9 gUR
[R"S	5SS9 gU[
:XaIUR
[R"55 UR
[R"U5SS9 O$UR
[R"U5SS9 GM�[+[,5e)Nr�zDynamic counters: %dT)�direct)rrr皙�����?r�r;r�CTRr�#)r�r�r�rErF�#STATUS_DYNAMIC_COUNTERS_LIDIL_0_5_4�	printDatar�buildResetPacket�buildDynamicCountersPacketr�buildDynamicCounterr<r�r�r�r��pat_dynamic_ctrr�ryrWr��'ERROR_DEVICE_DOES_NOT_SUPPORT_OPERATION)
r?rUrTr�rV�tries�
times_seen�sleepy_time�	max_tries�dev_counters
          r@r��Device.getDynamicCounter�s���7�7�;�;�'@�B^�_���	�	�(�+;�;�<��;�;��#F�F����s�3�3�5�d��C����s�=�=�g�F�t��T����s�6�6�w�?���M�?N�<�E�*�9��J�J�s�O���=�=��M�M�O��s�"����
���
�
�;�'�� � �"��D�M�M�)�#�*�*�4�+<�+<�=�I�)<�T�]�]�5�=Q�Sa�)b�&�K��-����s�'>�'>�q�'A�$��O�-�$'�%�K�E�$���$�'�+N�N����s�';�';�'=�>����s�'E�'E�g�'N�W[��\� ����s�'>�'>�q�'A�$��O��#�'J�J��N�N�3�#7�#7�#9�:��N�N�3�#A�#A�'�#J�SW�N�X��N�N�3�#:�#:�7�#C�D�N�Q�I�N�?�@�@rCc�<�URURXX45$rf)�_Device__readChannelr�r?�
bytes_to_read�streamr�allow_short_reads     r@�	readPrint�Device.readPrint-����!�!�$�.�.�-��c�crCc�<�URURXX45$rf)rLrrMs     r@�	readPCard�Device.readPCard0rSrCc�<�URURXX45$rf)rLrrMs     r@�readFax�Device.readFax3����!�!�$�,�,�
�w�a�arCc�<�URURXX45$rf)rLrTrMs     r@�
readCfgUpload�Device.readCfgUpload6s���!�!�$�"4�"4�m�W�g�grCc�<�URURXX45$rf)rLr rMs     r@�readEWS�Device.readEWS9rZrCc�<�URURXX45$rf)rLr%rMs     r@�readEWS_LEDM�Device.readEWS_LEDM<s���!�!�$�"3�"3�]�G�f�frCc�<�URURXX45$rf)rLr)rMs     r@�readLEDM�Device.readLEDM?s���!�!�$�-�-���b�brCc�<�URURXX45$rf)rLr-rMs     r@�readMarvell_EWS�Device.readMarvell_EWSBs���!�!�$�"6�"6�
�w�i�irCc�<�URURXX45$rf)rLrbrMs     r@�readSoapFax�Device.readSoapFaxEs���!�!�$�"2�"2�M�7�e�erCc�<�URURXX45$rf)rLrfrMs     r@�readMarvellFax�Device.readMarvellFaxH����!�!�$�"5�"5�}�g�h�hrCc�<�URURXX45$rf)rLr@rMs     r@�readWifiConfig�Device.readWifiConfigKrprCc��[S5nSnSnSnU"XRU5nUR5R5HYn	U	R5R	[S55S:wdM1[U	R
[S55S5nS	n O UR5R	[S
55n
U
S:waU[UR55U
-
-
nUS:�ab[5nU"X[U5nURUR55 U(dXh-
nUS::agOXKR5:XagUS:�aMagg)Nz0

�rTzcontent-lengthr�rCrFz<?xml)
r�getvaluerr��findr5rIr�rrR)r&�func�replyr�END_OF_DATA�bytes_requested�bytes_remaining�chunkedFlag�
bytes_read�line�xml_data_start�temp_bufs            r@�readLEDMData�Device.readLEDMDataOs+��!�+�.���������/�'�:�
��N�N�$�/�/�1�D��z�z�|� � ��/?�!@�A�R�G�#&�t�z�z�-��2D�'E�a�'H�#I��$���	2����)�.�.�}�W�/E�F���b� �-��U�^�^�5E�1F�.�1X�Y�O��1�n� �{�H��o��A�J��K�K��)�)�+�,��"1�">��"�a�'��(�� 1� 1� 3�3���1�nrCc�(�U"SX#5nUS:XagM)z�
Read any leftover response data from the previous session.
We read and disregard all such leftover data here to have a clean new session.
If we are getting a blank responses that means there is no more junk data. 
rurNrv)r&rxryrr~s     r@�readLEDMAllData�Device.readLEDMAllDataos"����d�E�3�J��Q���rCc��U"5n[RSX`RX%U4-5 SnUc[S5n[RURXbU5up�[RSU	-5 [
U
5nU	[R:Xa[RS5 O�U	[R:wa$[RS5 [[5eU(d[RS5 O�Uc[S5RWU
/5nOURU
5 X{-
nURbUR5 Xr:Xa[RS5 O)U(aXr:a[RS	Xr4-5 OGM[Uc[RS
U-5 W$[RSU-5 U$)NzRReading channel %d (device-id=%d, bytes_to_read=%d, allow_short=%s, timeout=%d)...rr/�Result code=%dzI/O timeoutzChannel read errorzEnd of datazFull read complete.z.Allowed short read of %d of %d bytes complete.z"Returned %d total bytes in buffer.zSaved %d total bytes to stream.)rErFr�rr�read_channelr��HPMUD_R_IO_TIMEOUTr�r�r�r�r�rRr�)r?�openerrNrOrrPr	�	num_bytes�bufferr�r��ls            r@�
__readChannel�Device.__readChannel{s����X�
��	�	�f�
����'�R�S�	T��	��>�"�2�&�F���%�%�d�n�n�j�QX�Y�
�K�
�I�I�&��4�5��D�	�A��h�9�9�9��	�	�-�(���h�1�1�1��	�	�.�/��1�2�2���	�	�-�(���~�&�r�*�/�/����?�����T�"��N�I��}�}�(��
�
���)��	�	�/�0���I�$=��	�	�J�i�Mg�g�h��I�L�>��I�I�:�Y�F�G��M��I�I�7�)�C�D��rCc�:�URURU5$rf)�_Device__writeChannelr�r?r�s  r@�
writePrint�Device.writePrint�����"�"�4�>�>�4�8�8rCc�:�URURU5$rf)r�rr�s  r@�
writePCard�Device.writePCard�r�rCc�:�URURU5$rf)r�rr�s  r@�writeFax�Device.writeFax�����"�"�4�<�<��6�6rCc�:�URURU5$rf)r�r r�s  r@�writeEWS�Device.writeEWS�r�rCc�:�URURU5$rf)r�r%r�s  r@�
writeEWS_LEDM�Device.writeEWS_LEDM�s���"�"�4�#4�#4�d�;�;rCc�:�URURU5$rf)r�r)r�s  r@�	writeLEDM�Device.writeLEDM�s���"�"�4�=�=�$�7�7rCc�:�URURU5$rf)r�r-r�s  r@�writeMarvell_EWS�Device.writeMarvell_EWS�����"�"�4�#7�#7��>�>rCc�:�URURU5$rf)r�r[r�s  r@�writeCfgDownload�Device.writeCfgDownload�r�rCc�:�URURU5$rf)r�rbr�s  r@�writeSoapFax�Device.writeSoapFax�s���"�"�4�#3�#3�T�:�:rCc��[U[5(d![US5(aUR5nUR	UR
U5$)N�tobytes)�
isinstance�bytes�hasattrr�r�rfr�s  r@�writeMarvellFax�Device.writeMarvellFax�s?���$��&�&�7�4��+C�+C��<�<�>�D��"�"�4�#6�#6��=�=rCc�:�URURU5$rf)r�r@r�s  r@�writeWifiConfig�Device.writeWifiConfig�s���"�"�4�#6�#6��=�=rCc�P�U"5nUS[U5pen[RSXcUR4-5 [U5S:�a�[RURUUS[R5upx[RSU-5 U[R:wa$[RS5 [[5eU[RSnXX-
nURbUR5 [U5S:�aM�Xe:wa[[5eU$)Nrz0Writing %d bytes to channel %d (device-id=%d)...r�zChannel write error)
r�rErFr�r�
write_channelrt�max_message_lenr�r�r�r�r�)	r?r�r�r	r��	bytes_out�total_bytes_to_writer�r�s	         r@�__writeChannel�Device.__writeChannel�s���X�
�26��3�t�9�/���	�	�D�H\�jn�jx�jx�Gy�y�z��&�k�A�o��&�&�t�~�~�z��0�D�0�0�1�3�
'�K�
�I�I�&��4�5��h�1�1�1��	�	�/�0��1�2�2��D�0�0�1�2�F��&�I��}�}�(��
�
���&�k�A�o�" �,��-�.�.��rCc
���US:Xa[RnO[RnU"[R"SSS[R
"USUUS555nUR
XdSS9 g)Nr�&r �WrT)r:�raw)r�buildEmbeddedPML2�buildEmbeddedPML�buildPCLCmdr�buildEmbeddedPMLSetPacketr?)r?r-rV�styler:rxr�s       r@�writeEmbeddedPML�Device.writeEmbeddedPML�sj���A�:��(�(�D��'�'�D��C�O�O�C��c��2�2�3�q�6�49�47��F�<�=�>��	
���t���5rCc���URRS[5nSXR[	U5U4-n[
R
U5 U[:Xa�[
RSU-5 URU5 [5nURURU5 UR5n[
R
U5 UR5 O�U[:Xa�[
RSU-5 UR!U5 [5nURUR"U5 UR5n[
R
U5 UR%5 O[
R'SU-5 [(R+[-W55nUc[.$[1UR3S55nU[.:H$![4[64a [8nU[.:H$f=f)Nr}z{POST %s HTTP/1.1
Connection: Keep-alive
User-agent: hplip/2.0
Host: %s
Content-type: text/xml
Content-length: %d

%szstatus-type: %dzNot an LEDM status-type: %dr)r�r�r~r�r�rEr+r�rFr�rr�rbrvrJr�r�rerMr��http_result_patrr�HTTP_OKr5r�rRr`�
HTTP_ERROR)r?�url�postr�r��responserrs        r@r��Device.post	s����g�g�k�k�-�1A�B���

�n�n�c�$�i��.�/��	���T���*�*��I�I�'�+�5�6����t�$��y�H����d�/�/��:��(�(�*�H��L�L��"���� �
�4�
4��I�I�'�+�5�6��N�N�4� ��y�H����d�m�m�X�6��(�(�*�H��L�L��"��N�N��
�I�I�3�k�A�B��%�%�n�X�&>�?���=��.�	��u�{�{�1�~�&�D��w�����I�&�	��D��w���	�s�/G�G3�2G3c�(�URXX4U5$rf)�	printFile)r?�	file_namer4r:r��removes      r@�
printGzipFile�Device.printGzipFile1	s���~�~�i�v�F�K�KrCc	��[R"U5 [
R"5up4[R"US5nUR5nUR[S55(dG[R"X65 UR5nUR[S55(dMG/nUR5nUR[S55(dBURU5 UR5nUR[S55(dMB[RUR UR"UR$UR&UR(UR*UR,S.nUR$S:XaSUS'O
SUS	'SUS
'[.(a UV	s/sHo�R1S5PM nn	UH%n	[R"U[X�-55 M' [R"X5R355 UR55 [R4"U5 UR7XBSSS
S9 g![a [R	SU-5 gf=fs sn	f)NzFile not found: %sr�z	%PY_BEGINz%PY_END)�VERSIONrDr��BUSrE�IP�PORT�DEVNODEr%zn/ar�r�r�rJFT)r:r�r�)rQ�statrSrEr�r
�make_temp_file�gzipr��readlinerLrrRr]rt�versionr�r3r�r�r�r�r�rr6�readrr�)
r?�
print_filer4�temp_file_fd�temp_file_namerir)�	sub_lines�SUBS�ss
          r@�printParsedGzipPostscript� Device.printParsedGzipPostscript4	s���	��G�G�J��
(-�';�';�'=�$���I�I�j�#�&��
�J�J�L���,�,�}�[�9�:�:��H�H�\�%��
�
��A��,�,�}�[�9�:�:��	�
�J�J�L���,�,�}�Y�7�8�8����Q���
�
��A��,�,�}�Y�7�8�8�!�L�L�!�]�]�!�_�_�!�X�X�!�[�[�!�Y�Y�!�Y�Y�!�]�]����8�8�u��#�D��O��D��J� �D��L��3�4=�>�I�q���'�*�I�I�>��A��H�H�\�=�!�(�#<�=��	����v�v�x�(�	���	�
��������~�E�u�UY��Z��]�	��I�I�*�Z�7�8��	��F?s�I!�=J	�!"J�Jc��[RRU5SR5S:HnUc"URnU(d[[5e[RSU<SU<SU<SU<SU<SU<S	3
5 U(afU(a5UR[R"US
5R55 gUR[US
5R55 g[R"S5(d�SnU(aS
nU(aSU<SU<SU<3nOSU<SU<SU<3n[R "U5n	U	S:wa[R#SU	-5 U(a[R$"U5 ggSup�U(aSn
U(aSnU(aSU<SU
<SU<SU<3nOSU<SU
<SU<SU<3n[R "U5n	U	S:wa[R#SU	-5 gg)Nr�z.gzzPrinting file 'z' to queue 'z' (gzip=z	, direct=z, raw=z	, remove=�)r��lprr/z-orawz
gunzip -c z | lp -c -drzlp -c -drz'Print command failed with exit code %d!r�z-o rawz-rz | lpr z -Pzlpr -P)rQr��splitextr�r�r��$ERROR_NO_CUPS_QUEUE_FOUND_FOR_DEVICErErFr�r�r�r�r
r�r�executer�r�)r?r�r4r:r�r��is_gzip�lp_optr�	exit_code�raw_str�rem_strs            r@r��Device.printFileh	s����'�'�"�"�9�-�b�1�7�7�9�U�B�����2�2�L���@�A�A��	�	��|�W�f�c�6�K�	L�������	�	�)�S� 9� >� >� @�A�����Y�� 4� 9� 9� ;�<��;�;�u�%�%����$�F��:C�\�SY�Z�A��/;�F�I�N�A�$�,�,�Q�/�	���>��I�I�G�)�S�T���I�I�i�(��$*� ���(���T�7��;D�g�w�Xd�e�A��0<�W�g�y�Y�A�$�,�,�Q�/�	���>��I�I�G�)�S�T�"rCc��UR[RR[R
SSS5U5$)Nr��psztestpage.ps.gz)r�rQr�r�rtr�)r?r4s  r@�
printTestPage�Device.printTestPage�	s8���-�-�b�g�g�l�l�D�M�M�6�.2�4D�/G�HT�V�	VrCc���U(aURU5 g[R"5upV[R"XQ5 [R
"U5 UR
XbSUSS9 g)NFT)r�)r�r
r�rQrRrr�)r?r�r4r:r�r�r�s       r@r?�Device.printData�	sN����O�O�D�!�+0�+?�+?�+A�(�L��H�H�\�(��H�H�\�"��N�N�>���D�N�QrCc�|�[R"U5 [UlUR	UR5 grf)r�	cancelJob�STATUS_PRINTER_CANCELINGr�r�)r?�jobids  r@r�Device.cancelJob�	s%�����u��2������t���'rCc�^�/nUR(a�URRUR5up#UR5 UH#nUR[[U565 M% USRUl["R%UR[&5UlO[ Ul[&UlXlU$![R
Ra!n[RS5 /sSnA$SnAff=f![a [ UlN�f=f)Nz!dbus call to GetHistory() failed.r)r[r��
GetHistoryr3r�r�r�rEr��reverser]r-�tupler6r�rKr�r�r�r�r�r�)r?�resultr3�historyr��hs      r@�queryHistory�Device.queryHistory�	s������?�?�
�&*�l�l�&=�&=�d�o�o�&N�#�
�

�O�O�����
�
�e�U�1�X�.�/��
1�"(��)�"6�"6��� 9�<�<�T�_�_�N_�`�D��-�D�O�0�D���	��
��+�?�?�0�0�
��	�	�=�>��	��
���
1�"0���
1�s/�'C�6D�D�0D�D�D�D,�+D,c� �UR(a&URRSS5<SU<3nUnOdSUR<U<3nUR(a>[
R
UR5upVU[
R:Xa	SU<U<3nSn[RSU-5 [05nURX45nURURR55 UR5 UR)5 g!UR5 f=f![ a< [R#SU-5 UR%S5 UR'5 Nkf=f!UR)5 f=f)Nr�r��&loc=zhttp://zOpening: %s�Status read failed: %sr)r�r3r�r�r�rr�r�rErF�LocalOpenerr�rR�fpr�rr�r��seek�truncaterG)	r?r�rO�url2r�r
r#r�ris	         r@�	getEWSUrl�Device.getEWSUrl�	s,��	��}�}�&*�o�o�&=�&=�h��&N�PS�T�����)-�	�	�3�7���7�7�!)�!;�!;�D�G�G�!D�J�F���!4�!4�4�02�C�8�����I�I�m�d�*�+� ��_�F�
��K�K��+����L�L�������-��G�G�I�
�M�M�O���G�G�I���
"��	�	�2�T�9�:����A�����!�
"��
�M�M�O�sC�B>E;�D2�)D�<E;�D/�/E;�2AE8�5E;�7E8�8E;�;F
c��URRSS5<SU<3nUn[05nU(a"URXEU5UR	5 $URXE5UR	5 $![
a [RSU-5 Of=fUR	5 g!UR	5 f=f�Nr�r�rr)r3r��LocalOpenerEWS_LEDM�open_hprJr�rErF�r?r�rO�footerrr�r�s       r@r��Device.getEWSUrl_LEDM�	s���	!�"&�/�/�"9�"9�(�E�"J�C�P�D��D�(��,�F�
;��!�>�>�$�f�=�
��� �	"�>�>�$�5�
��� ���
;��	�	�2�T�9�:�
;��:���� ��D��� ��.�0B7�A=�A=�="B"�B7�!B"�"B7�7C	c��URRSS5<SU<3nUn[05nU(a"URXEU5UR	5 $URXE5UR	5 $![
a [RSU-5 Of=fUR	5 g!UR	5 f=fr)r3r��LocalOpener_LEDMrrMr�rErFrs       r@r��Device.getUrl_LEDM
s���
	�"&�/�/�"9�"9�(�E�"J�C�P�D��D�%�b�)�F�
;��!�>�>�$�f�=�
�N�N��"�>�>�$�5�

�N�N���	�
;��	�	�2�T�9�:�
;��:�
�N�N���D�N�N��r c��SnURRSS5<SU<3nUn[05nU(a"URXEU5UR	5 $URXE5UR	5 $![
a [RSU-5 Of=fUR	5 g!UR	5 f=f)Nz/cdm/supply/v1/suppliesPublicr�r�rr)r3r��LocalOpener_CDMrrMr�rErFrs       r@r��Device.getUrl_CDM
s���
	�/�C�"&�/�/�"9�"9�(�E�"J�C�P�D��D�$�R�(�F�
;��!�>�>�$�f�=�
�N�N��	"�>�>�$�5�
�N�N����
;��	�	�2�T�9�:�
;��:��N�N���D�N�N��s.�2B9�A?�A?�?"B$�!B9�#B$�$B9�9Cc���[5nU(aURXU5nOURX5nU(a;UR[S5S5SnU(a[R
"U5nU$�N�

r)rr�rIrr
�ExtractXMLData�r?r�r�data_fpr�s     r@�FetchLEDMUrl�Device.FetchLEDMUrl 
sc���)����#�#�C�&�9�D��#�#�C�1�D���:�:�m�J�7��;�A�>�D���,�,�T�2���rCc���[5nU(aURXU5nOURX5nU(a;UR[S5S5SnU(a[R
"U5nU$r()rr�rIrr
r*r+s     r@�FetchEWS_LEDMUrl�Device.FetchEWS_LEDMUrl.
sc���)����&�&�s�V�<�D��&�&�s�4�D���:�:�m�J�7��;�A�>�D���,�,�T�2���rCc���[5nURU5nU(d[RS5 g[R
"5R
U5nXR$! [S5s$=f�Nz'Unable To read the XML data from devicer/)rr0rEr�r
�XMLToDictParser�parseXMLrQ�r?r��	attributerOr��xmlDicts      r@�readAttributeFromXml_EWS�Device.readAttributeFromXml_EWS:
sc������$�$�S�)����I�I�?�@���'�'�)�2�2�4�8��	��%�%��	��r�7�N���A"�"
A1c���[5nURU5nU(d[RS5 g[R
"5R
U5nXR$! [S5s$=fr3)rr-rEr�r
r4r5rQr6s      r@�readAttributeFromXml�Device.readAttributeFromXmlI
sc������ � ��%����I�I�?�@���'�'�)�2�2�4�9��	��%�%��	��r�7�N�r;c��Sn[RR[RSUR
R
5S-5n[RU5 [RRU5(a�[RSU-5 UR'5 UR)[R"U5R55n	[RS[*R,"U	5-5 UR/5 Sn[RS5 U$[R%S	U-5 U$![0a-n[R%SUR2-5 SnAU$SnAff=f)
NF�firmwarez.fw.gzz!Downloading firmware file '%s'...T�OKzAn error occured: %sz%s bytes downloaded.zFirmware file '%s' not found.)rQr�r�rt�data_dirr�r�rErFr�r��O_RDWRr�r�rRrrS�IOErrorr�rr�r
�commafyr0r�rb)
r?r��
usb_device_idr��filenamer0rir)r�r�s
          r@�downloadFirmware�Device.downloadFirmwareV
s ��
���7�7�<�<��
�
�z�4�:�:�;K�;K�;M�PX�;X�Y���	�	�(��
�7�7�>�>�(�#�#��I�I�9�H�D�E��>��N�N�$�$(�O�O�D�I�I�h�4G�4L�4L�4N�$O�M��I�I�4�u�}�}�]�7S�S�T��O�O�%��B��I�I�d�O��	�
�I�I�5��@�A��	���>��I�I�4�q�u�u�<�=�=��	��>�s� BE�
F	�"F�F	))r�r�r�r�r/r[r�r�r�r�r�r3r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r4r�ryr�r�r�r�r�r�)NNNF)r/rr/�F)FF�T)r\)rT)NFTFrf)NTT�r/)NN)hrprqrrrsrAr�r�r�r�r�rr
rrrrr r%r)r-r0r3r7r<r@rCrGrJrMrPrTrWr[r^rbrfrirlror�rvr�r�r�r�r�r�r�r�rrr!r�INT_SIZE_INTrr7r�rt�read_timeoutrQrUrXr\r_rbrerhrkrnrrr�r�rLr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r?rr
rr�r�r�r-r0r9r=rHrurvrCr@r�r��s���04�;@�L�b>�
�?�&�3&�l
.� �>0�B�E�H�@�E�>�H�C�I�F�@�A�A�A�F�?�I�J�K�L�M�=�H�>�I�B�0�1��0�6
�D�
,�L,�^S�n)�,p�fI�M�,/�+;�+;�/�,�$5A�p/3�D�<M�<M�`e�d�/3�D�<M�<M�`e�d�-1�$�:K�:K�^c�b�37��@Q�@Q�di�h�-1�$�:K�:K�^b�b�26�t�?P�?P�cg�g�.2�4�;L�;L�_c�c�59�$�BS�BS�fj�j�15�d�>O�>O�bf�f�48��AR�AR�ei�i�48��AR�AR�ei�i��@	�;?�"�/�/�%�8�v9�9�7�7�<�8�?�?�;�>�
>��8
6�+�ZL�2[�h3U�lV�
R�(��:�@
!�� � 
�
��
�#rCr�c��\rSrSrSrSrg)ri�
c�,�[RSU-5 [RU5nUR	S5=(d SnUR	S5=(d SnUR	S5=(d SnUR	S5=(d SnUR	S5=(d SnUR5 UR
SU-5 [5n	URS	U	SS
9(aURS	U	SS
9(aMU	RS5 [RU	R55 [R"U	5n
U
R5 U
R[R :wa[#[$5eU
$)N�open_hp(%s)rr/r�rr�r�zBGET %s HTTP/1.0
Content-Length:0
Host:localhost
User-Agent:hplip

r)rr)rErF�http_pat_urlr�r�r r�rr_rr+rvr�HTTPResponse�beginr
rAr��!ERROR_DEVICE_STATUS_NOT_AVAILABLE)r?r�r&r�r�r�r��device�locryr�s           r@r�LocalOpener.open_hp�
s,���	�	�-�#�%�&� �'�'��,�	��o�o�a� �&�B������"�(�b������#�)�r������#�)�r���o�o�a� �&�B�����
����b�eh�h�i�����k�k�$��q�k�1���k�k�$��q�k�1�1�	�
�
�1�
����U�^�^�%�&��+�+�E�2�������?�?�k�n�n�,��9�:�:��OrCrvN�rprqrrrsrrurvrCr@rr�
s��rCrc��\rSrSrSSjrSrg)ri�
c�,�[RSU-5 [RU5nUR	S5URS5nUR
5 U(aSSU;aURSU-5 OLURSU<S[U5<S35 URSU-5 OURSU-5 [5nURURU5 URS	5 UR5$�
NrQ�=�PUTz%szPOST z1 HTTP/1.1
Content-Type:text/xml
Content-Length:z?
Accept-Encoding: UTF-8
Host:localhost
User-Agent:hplip

 zIGET %s HTTP/1.1
Accept: text/plain
Host:localhost
User-Agent:hplip

r)rErFrRr�rI�countr%r�r�rr�rbrrv�r?r�r&�footr�rWrys       r@r�LocalOpenerEWS_LEDM.open_hp�
s����	�	�-�#�%�&� �'�'��,�	��i�i��n�S�Y�Y�s�^�,���������}��!�!�(�T�/�2��!�!�tw�y|�}A�yB�#C�D��!�!�(�T�/�2����w�z}�}�~��������)�)�%�0�
�
�
�1�
��~�~��rCrvNrLrYrvrCr@rr�
s�� rCrc��\rSrSrSSjrSrg)r"i�
c�,�[RSU-5 [RU5nUR	S5URS5nUR
5 U(aSSU;aURSU-5 OLURSU<S[U5<S35 URSU-5 OURSU-5 [5nURURU5 URS	5 UR5$r\)rErFrRr�rIr_r)r�r�rr�rerrvr`s       r@r�LocalOpener_LEDM.open_hp�
s����	�	�-�#�%�&� �'�'��,�	��i�i��n�S�Y�Y�s�^�,���������}��
�
�h��o�.��
�
�ps�ux�y}�u~��@��
�
�h��o�.��M�M�s�vy�y�z����	������e�,�
�
�
�1�
��~�~��rCrvNrLrYrvrCr@r"r"�
s�� rCr"c��\rSrSrSSjrSrg)r%i�
c��[RSU-5 [RU5nUR	S5URS5nUR
5 URSU<S[U5<S35 [5nURURU5 URS5 [R"U5nUR5 UR!5nUR#5n	U	$)NrQr]zGET z� HTTP/1.1
Content-Type: application/json
User-Agent: hplip
Accept: */*
Cache-Control: no-cache
Host:localhost
Connection: keep-alive
Content-Length: r)r)rErFrRr�rIr_r%r�r�rr�rbrrrSrT�getcoder�)
r?r�r&rar�rWryr��respcoder�s
          r@r�LocalOpener_CDM.open_hp�
s����	�	�-�#�%�&� �'�'��,�	��i�i��n�S�Y�Y�s�^�,���������]`�ad�eh�ai�j�	k��������)�)�%�0�
�
�
�1�
��+�+�E�2�������#�#�%���}�}����rCrvNrLrYrvrCr@r%r%�
s��
rCr%rf)rrJrK)�rrr��os.pathrQr<�sixext.movesrrr�iorrrK�string�g�codesr/r
rrr
r�prntrrrrrrr�strings�sixextrrrrrrr�Ir�r�r��
import_extr�HPMUD_BUFFER_SIZE�
MAX_BUFFER�AttributeError�ImportError�getenvrEr��sys�exitr[r�r�r r!r��warnings�simplefilter�DeprecationWarning�DEFAULT_PROBE_BUSr	rm�DEFAULT_FILTERrr�DEFAULT_BE_FILTERrr_rRrrC�	ModelDatar�r�r�r��objectr-rxr�r�r�r�r�r�r8r;r=r@r�rWr�rcrerrprs�AGENT_TYPE_NONE�AGENT_TYPE_BLACK�AGENT_TYPE_BLACK_B8800�AGENT_TYPE_CMY�AGENT_TYPE_KCM�AGENT_TYPE_CYAN�AGENT_TYPE_MAGENTA�AGENT_TYPE_YELLOW�AGENT_TYPE_CYAN_LOW�AGENT_TYPE_MAGENTA_LOW�AGENT_TYPE_YELLOW_LOW�AGENT_TYPE_GGK�AGENT_TYPE_BLUE�AGENT_TYPE_KCMY_CM�AGENT_TYPE_LC_LM�AGENT_TYPE_LG_PK�
AGENT_TYPE_LG�AGENT_TYPE_G�
AGENT_TYPE_PG�AGENT_TYPE_C_M�AGENT_TYPE_K_Y�AGENT_TYPE_PHOTO_BLACK�AGENT_TYPE_MATTE_BLACK�AGENT_TYPE_UNSPECIFIEDr��AGENT_KIND_NONEr��AGENT_KIND_SUPPLY�AGENT_KIND_HEAD_AND_SUPPLY�AGENT_KIND_TONER_CARTRIDGE�AGENT_KIND_MAINT_KIT�AGENT_KIND_ADF_KIT�AGENT_KIND_DRUM_KIT�AGENT_KIND_TRANSFER_KIT�AGENT_KIND_INT_BATTERY�AGENT_KIND_UNKNOWNr�r�r�AGENT_HEALTH_INCORRECT�AGENT_HEALTH_FAILED�AGENT_HEALTH_OVERTEMP�AGENT_HEALTH_CHARGING�AGENT_HEALTH_DISCHARGING�AGENT_HEALTH_UNKNOWNrr�r�r�r��string_cacher��	URLopenerrrr"r%rvrCr@�<module>r�s���.�	����D�D�	��%�
�
������������&�&��^�^��*�*�5�r�t�t�<��

��
�
��
�
�
�j�
)�H���/�/�
��
��
�+��)��J��	���h� 2�3�+��+��+����9�
����
�
�h�jl�jw�jw�x�
��z�z�W�Y[�Yf�Yf�g��
�Z�Z�?����
O�
��*�*�0�"�-�-�@��
����	�	���x�z|�{H�{H�
I��
�*�*�^�R�]�]�
3��
�*�*�'����
7��BD�F�BD�J�u��2!�E�!�8L-�fB'�R�
(�'���~�r�e�!(�t�t.2�F�>�,�^/3�V�N��D37���&�
�8
�F
�((I�V-����	����� ���&��������	�
 ���#��
�"���$���'���&������ ���#���!�)G��"!�)E�#�$��%�&�����);��);�&��&��&��3��8�I��V�!�X�*�[�*�W�$�[�"�Y�#�Z�'�^�&�Y�"�Y���!�T�+�n�(�k�%�h�'�j�'�j�*�m�&�i�	�
�/��1�E�:�U�����g�V�g�^5�.�*�*��< �.�2�2� �4 �~�/�/� �6�n�.�.���iT���
�����
�9�9�]�#�#��	�	�R�S���������"�+��H�H�
)�*�+�s6�6M�	L<�N�<M�M�?N�
N�N,�+N,

Filemanager

Name Type Size Permission Actions
CdmWifi.cpython-313.pyc File 16.36 KB 0644
LedmWifi.cpython-313.pyc File 32.9 KB 0644
__init__.cpython-313.pyc File 194 B 0644
avahi.cpython-313.pyc File 2.54 KB 0644
codes.cpython-313.pyc File 24.52 KB 0644
device.cpython-313.pyc File 119.56 KB 0644
dime.cpython-313.pyc File 4.41 KB 0644
exif.cpython-313.pyc File 32.61 KB 0644
g.cpython-313.pyc File 21.39 KB 0644
imageprocessing.cpython-313.pyc File 40.63 KB 0644
imagesize.cpython-313.pyc File 7.26 KB 0644
ldif.cpython-313.pyc File 18.57 KB 0644
local.cpython-313.pyc File 2.31 KB 0644
logger.cpython-313.pyc File 22.16 KB 0644
magic.cpython-313.pyc File 64.16 KB 0644
maint.cpython-313.pyc File 68.32 KB 0644
mdns.cpython-313.pyc File 12.97 KB 0644
mfpdtf.cpython-313.pyc File 11.25 KB 0644
models.cpython-313.pyc File 21.22 KB 0644
module.cpython-313.pyc File 28.83 KB 0644
os_utils.cpython-313.pyc File 2.97 KB 0644
password.cpython-313.pyc File 13.44 KB 0644
pkit.cpython-313.pyc File 15.27 KB 0644
pml.cpython-313.pyc File 26.85 KB 0644
queues.cpython-313.pyc File 18.9 KB 0644
services.cpython-313.pyc File 11.37 KB 0644
six.cpython-313.pyc File 27.04 KB 0644
sixext.cpython-313.pyc File 8.11 KB 0644
slp.cpython-313.pyc File 8.03 KB 0644
smart_install.cpython-313.pyc File 11.66 KB 0644
status.cpython-313.pyc File 74.51 KB 0644
strings.cpython-313.pyc File 38.94 KB 0644
tui.cpython-313.pyc File 18.18 KB 0644
utils.cpython-313.pyc File 115.18 KB 0644
validation.cpython-313.pyc File 5.31 KB 0644
vcard.cpython-313.pyc File 45.18 KB 0644
wifi.cpython-313.pyc File 24.22 KB 0644
Filemanager