HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991109/cwd/usr/lib/python3/dist-packages/ntp/__pycache__/
Upload File :
Current File : //proc/1991109/cwd/usr/lib/python3/dist-packages/ntp/__pycache__/agentx_packet.cpython-311.pyc
�

|�d�����ddlmZddlZddlZddlmZdZee��Z	Gd�de
��ZGd�de��ZGd	�d
e��Z
Gd�de��ZGd
�d��Zd�ZGd�de��Zd�ZGd�de��Zd�ZGd�de��ZGd�de��Zd�ZGd�de��ZGd�de��Zd�ZGd �d!e��Zd"�ZGd#�d$e��Zd%�ZGd&�d'e��Zd(�Z Gd)�d*e��Z!d+�Z"Gd,�d-e��Z#d.�Z$Gd/�d0e��Z%d1�Z&Gd2�d3e��Z'd4�Z(Gd5�d6e��Z)Gd7�d8e)��Z*d9�Z+Gd:�d;e��Z,d<�Z-Gd=�d>e��Z.d?�Z/Gd@�dAe��Z0dB�Z1dC�Z2GdD�dE��Z3dF�Z4dG�Z5dH�Z6dI�Z7GdJ�dK��Z8dL�Z9dM�Z:dN�Z;dO�Z<dP�Z=dQ�Z>dR�Z?dS�Z@dT�ZAdU�ZBdV�ZCdW�ZDdX�ZEdY�ZFdZ�ZGd[�ZHGd\�d]��ZId^�ZJd_�ZKd`�ZLda�ZMdb�ZNdc�ZOdd�ZPde�ZQdf�ZRdg�ZSdh�ZTdi�ZUdj�ZVd�dk�ZWdl�ZXdmZYdnZZdoZ[dpZ\dqZ]drZ^dsZ_dtZ`duZadvZbdwZcdxZddyZeeYe;e9e:feZe6e4e5fe[eAe?e@fe\de3e2fe]eGeEeFfe^e>e<e=fe_e>e<e=fe`e>e<e=feae6e4e5febeDeBeCfeceAe?e@fedeAe?e@feeeAe?e@fi
ZfdzZgdmZhd{ZidnZjdoZkdpZld|Zmd}Znd~ZodZpd�Zqd�Zrd�Zsd�Ztd�Zud�Zvd�Zwd�Zxiege�ehe�eie�eje�eke�ele�eme�ene�eoe�epe �eqe"�ere&�ese$�ete(�eue(�eve+�ewe-�exe/i�ZydzZzdmZ{d{Z|dnZ}doZ~dpZeze{e|e}e~efZ�dZ�doZ�dpZ�d|Z�d}Z�d~Z�dZ�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�e�e�e�e�e�e�e�e�e�e�e�e�fZ�dZ�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�e�e�e�e�e�e�e�e�e�e�e�e�e�e�fZ�dS)��)�print_functionN)�	slicedata)���rc��eZdZdd�ZdS)�
ParseErrorN�c�r�t�|��||_||_||_||_dS�N)�	Exception�__init__�message�header�
packetData�
remainingData)�selfrrrrs     �3/usr/lib/python3/dist-packages/ntp/agentx_packet.pyrzParseError.__init__'s9�����4� � � �������$���*�����)Nr
r
��__name__�
__module__�__qualname__r�rrr	r	&s(������+�+�+�+�+�+rr	c��eZdZdS)�ParseDataLengthErrorN�rrrrrrrr/��������Drrc��eZdZdS)�ParseVersionErrorNrrrrr r 3rrr c��eZdZdS)�ParsePDUTypeErrorNrrrrr"r"7rrr"c�0�eZdZ	dd�Zd�Zd�Zd�Zd�ZdS)	�	AgentXPDUFNc�h�||_||_||_||_||_||_||_dSr)�pduType�	bigEndian�	sessionID�
transactionID�packetID�context�_hascontext)rr&r'�sID�tactID�pktID�
hascontextr+s        rrzAgentXPDU.__init__Ns;�����"������#�����
����%����rc���i}t|��}|�d��|D]4}|ddkr�t||��}t|��r�/|||<�5|jr
|j|d<|S)zAAssembles a list of class variables that it is desirable to printr+r�_)�dir�remove�getattr�callabler,r+)r�pktvars�names�vname�vars     r�
packetVarszAgentXPDU.packetVarsXs������D�	�	��
���Y�����	!�	!�E��Q�x�3�����$��&�&�C���}�}�
�� �G�E�N�N���	.�!%��G�I���rc�X�|jjdz}g}|���}t|�����}|���|D]1}||}|�|�dt|�������2|d�|��dzz
}|S)N�(�=�, �))	�	__class__rr;�list�keys�sort�append�repr�join)r�s�v�myvarsrC�name�values       r�__repr__zAgentXPDU.__repr__js����N�#�c�)�������"�"���F�K�K�M�M�"�"���	�	�����	4�	4�D��4�L�E�
�H�H����d�5�k�k�k�2�3�3�3�3�	�T�Y�Y�q�\�\�C�
����rc�>�t||j��sdS|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdS|jr|j|jkrdSdS�NFT)	�
isinstancerAr&r'r(r)r*r,r+�r�others  r�__eq__zAgentXPDU.__eq__vs����%���0�0�	��5��<�5�=�(�(��5��>�U�_�,�,��5��>�U�_�,�,��5����!4�4�4��5��=�E�N�*�*��5���u�0�0�0��5���	��|�u�}�,�,��u��trc�.�|�|��Sr�rSrQs  r�__ne__zAgentXPDU.__ne__�����;�;�u�%�%�%�%r)FN)rrrrr;rMrSrVrrrr$r$Msg������+/�&�&�&�&����$
�
�
����(&�&�&�&�&rr$c	�X�|d}t|d��\}}tjdtj�|����d}t
||��\}}t||��d}t|d|d|d|d|||��}|S)	N�flags��Bxxxrr'�
session_id�transaction_id�	packet_id)	r�struct�unpack�ntp�poly�	polybytes�
decode_OID�decode_octetstr�OpenPDU)�datarrY�temp�timeout�oid�description�results        r�decode_OpenPDUrm�s����7�O�E��4��#�#�J�D�$��m�F�C�H�$6�$6�t�$<�$<�=�=�a�@�G��4��(�(�I�C��!�$��/�/��2�K�
�U�;�'���)=��,�-�v�k�/B��c�;�0�0�F��Mrc� �eZdZd�Zd�Zd�ZdS)rfc��t�|t||||��||_t	|��|_||_dSr)r$r�PDU_OPENri�classifyOIDrjrk)rr'r-r.r/rirjrks        rrzOpenPDU.__init__�sD�����4��9�c�6�5�I�I�I�����s�#�#���&����rc��t�||��durdS|j|jkrdS|j|jkrdS|j|jkrdSdS�NTF)r$rSrirjrkrQs  rrSzOpenPDU.__eq__�se�����D�%�(�(��4�4��5��<�5�=�(�(��5��8�u�y� � ��5���u�0�0�0��5��trc�:�tjd|j��}||j�|j��z
}|t
|j|j��z
}t|j	dddd|j|j
|j|jt|���
�
}||zS�Nr[F)r_�packrirj�encoder'�encode_octetstrrk�encode_pduheaderr&r(r)r*�len�r�payloadrs   rrwzOpenPDU.encode�s����+�f�d�l�3�3���4�8�?�?�4�>�2�2�2���?�4�>�4�3C�D�D�D��!�$�,�"'���u�d�n�"&�.�$�2D�"&�-��W���?�?�����rN�rrrrrSrwrrrrfrf�sA������'�'�'�	�	�	� � � � � rrfc���|d}|d}t|t��rt|��}t|d|d|d|d|��}|S�NrYrr'r\r]r^)rP�str�ord�ClosePDU)rgrrY�reasonrls     r�decode_ClosePDUr��sh���7�O�E�
�!�W�F��&�#�����V����
�e�K�(�&��*>��-�.��{�0C����F��Mrc� �eZdZd�Zd�Zd�ZdS)r�c��t�|t||||��|tvrt	d|z���||_dS)Nz$Close reason %s not in defined types)r$r�	PDU_CLOSE�definedReasons�
ValueErrorr�)rr'r-r.r/r�s      rrzClosePDU.__init__�sJ�����4��I�s�F�E�J�J�J���'�'��C�f�L�M�M�M�����rc�h�t�||��durdS|j|jkrdSdSrs)r$rSr�rQs  rrSzClosePDU.__eq__�s;�����D�%�(�(��4�4��5��;�%�,�&�&��5��trc��tjd|j��}t|jdddd|j|j|j|jt|���
�
}||zSru)
r_rvr�ryr&r'r(r)r*rzr{s   rrwzClosePDU.encode�sY���+�f�d�k�2�2��!�$�,�"'���u�d�n�"&�.�$�2D�"&�-��W���?�?�����rNr}rrrr�r��sA������������ � � � � rr�c��|d}t|d��}t||��\}}t|d��\}}tj|dzt
j�|����\}}}t||��\}	}|dkrOt|d��\}}tj|dzt
j�|����d}
nd}
|dtkr1t|d|d|d	|d
|||	||
|�
�
}n/t|d|d|d	|d
||	||
|�	�	}|S)NrYr'rZ�BBBxr�I�typer\r]r^)�	getendian�decode_contextrr_r`rarbrcrd�PDU_REGISTER�RegisterPDU�
UnregisterPDU)rgrrY�endianTokenr+rhri�priority�
rangeSubidrj�
upperBoundrls            r�decode_xRegisterPDUr��sr���7�O�E��E�+�.�/�/�K�"�4��0�0�M�G�T��4��#�#�J�D�$�$*�M�+��2F�25�(�2D�2D�T�2J�2J�%L�%L�!�G�X�z��4��(�(�I�C���Q����t�Q�'�'�
��d��]�;��#4�#&�8�#5�#5�d�#;�#;�=�=�=>�@�
�
��
�
�f�~��%�%��U�;�/���1E�#�$4�5�v�k�7J�$�h��'��W�>�>���
�u�[�1�6�,�3G�%�&6�7���9L�'��j�*�g�O�O���Mrc�$�eZdZ	dd�Zd�Zd�ZdS)r�rNc
��t�|t||||d|
��||_||_t|��|_||_|	|_d|_	dS�NT)
r$rr�rir�rq�subtreer�r��_instReg)rr'r-r.r/rir�r�r�r�r+s           rrzRegisterPDU.__init__�sf��	���4��$�c�6�5�$��	I�	I�	I���� ��
�"�7�+�+���$���$�����
�
�
rc��t�||��durdSt|d��r|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdSdS)NTFri)r$rS�hasattrrir�r�r�r�rQs  rrSzRegisterPDU.__eq__s������D�%�(�(��4�4��5��4��#�#�	��|�u�}�,�,��u��=�E�N�*�*��5��<�5�=�(�(��5��?�e�.�.�.��5��?�e�.�.�.��5��trc��t|j��}t|j|j��\}}|jt
kr-|t
j|dz|j|j	|j
��z
}n&|t
j|dz|j	|j
��z
}||j�|j��z
}|j
dkr6|j
�td���|t
j|dz|j
��z
}t|j|jdd||j|j|j|jt)|���
�
}||z}|S)Nr��xBBxrz+upperBound must be set if rangeSubid is setr�F)r�r'�encode_contextr+r&r�r_rvrir�r�r�rwr�r�ryr�r(r)r*rz)rr��contextPr|r�packets      rrwzRegisterPDU.encodes;�����/�/��*�4�>�4�<�H�H���'��<�<�'�'��v�{�;��#7���#'�=�$�/�C�C�
C�G�G�
�v�{�;��#7�#'�=�$�/�C�C�
C�G��4�<�&�&�t�~�6�6�6���?�a�����&� �!N�O�O�O��v�{�;��#4�d�o�F�F�F�G�!�$�,��
�u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?���'�!���
r�rNNr}rrrr�r��sK������9=�
�
�
�
���� ����rr�c��eZdZ	dd�ZdS)r�rNc

�x�t�|||||d|||||	��t|_|`d|_dS�NF)r�r�PDU_UNREGISTERr&rir�)
rr'r-r.r/r�r�r�r�r+s
          rrzUnregisterPDU.__init__(sK�����T�9�c�6�5�!�8�W�'��W�	>�	>�	>�&����L���
�
�
rr�rrrrr�r�'s+������8<������rr�c�0�|d}t||��\}}t||��}|dtkr-t|d|d|d|d||��}n,t	|d|d|d|d||��}|S)NrYr�r'r\r]r^)r��decode_searchrange_list�PDU_GET_NEXT�
GetNextPDU�GetPDU)rgrrYr+�	oidrangesrls      r�decode_xGetPDUr�2s����7�O�E�"�4��0�0�M�G�T�'��f�5�5�I�
�f�~��%�%��E�+�.��|�0D�"�#3�4�f�[�6I�%�w�0�0�����k�*�F�<�,@��/�0�&��2E�!�7�,�,���Mrc�"�eZdZdd�Zd�Zd�ZdS)r�Nc
�`�t�|t||||d|��||_dSr�)r$r�PDU_GETr��rr'r-r.r/r�r+s       rrzGetPDU.__init__Bs9�����4��$�c�6�5�$��	I�	I�	I�"����rc�h�t�||��durdS|j|jkrdSdSrs)r$rSr�rQs  rrSz
GetPDU.__eq__Gs;�����D�%�(�(��4�4��5��>�U�_�,�,��5��trc��t|j|j��\}}|t|j|j��z
}t|jddd||j|j|j|j	t|���
�
}||zSr�)r�r'r+�encode_searchrange_listr�ryr&r(r)r*rz�rr�r|rs    rrwz
GetPDU.encodeNsw��*�4�>�4�<�H�H���'��*�4�>�4�>�J�J�J��!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrr�r�AsF������#�#�#�#�
��� � � � � rr�c��eZdZdd�ZdS)r�Nc	�^�t�|||||||��t|_dSr)r�rr�r&r�s       rrzGetNextPDU.__init__Ys2������i��f�e�!�7�	,�	,�	,�#����rrrrrrr�r�Xs(������$�$�$�$�$�$rr�c
�x�|d}t|d��}t||��\}}t|d��\}}tj|dzt
j�|����\}}t||��}t|d|d|d|d||||��}	|	S)NrYr'rZ�HHr\r]r^)
r�r�rr_r`rarbrcr��
GetBulkPDU)
rgrrYr�r+rh�nonReps�maxRepsr�rls
          r�decode_GetBulkPDUr�_s����7�O�E��E�+�.�/�/�K�"�4��0�0�M�G�T��4��#�#�J�D�$��}�[�4�%7�%(�X�%7�%7��%=�%=�?�?��G�W�'��f�5�5�I�
��k�*�F�<�,@��/�0�&��2E���)�W�>�>�F��Mrc�$�eZdZ	dd�Zd�Zd�ZdS)r�Nc	
�|�t�|t||||d|��||_||_||_dSr�)r$r�PDU_GET_BULKr�r�r�)	rr'r-r.r/r�r�r�r+s	         rrzGetBulkPDU.__init__nsG�����4��$�c�6�5�$��	I�	I�	I�������"����rc��t�||��durdS|j|jkrdS|j|jkrdS|j|jkrdSdSrs)r$rSr�r�r�rQs  rrSzGetBulkPDU.__eq__vsc�����D�%�(�(��4�4��5��<�5�=�(�(��5��<�5�=�(�(��5��>�U�_�,�,��5��trc�p�t|j��}t|j|j��\}}|t	j|dz|j|j��z
}|t|j|j	��z
}t|jddd||j|j|j
|jt|���
�
}||zS)Nr�F)r�r'r�r+r_rvr�r�r�r�ryr&r(r)r*rz)rr�r�r|rs     rrwzGetBulkPDU.encode�s������/�/��*�4�>�4�<�H�H���'��6�;�{�T�1�4�<���N�N�N���*�4�>�4�>�J�J�J��!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrr�r�msI������6:�#�#�#�#�	�	�	�	 �	 �	 �	 �	 rr�c��|d}t||��\}}t||��}t|d|d|d|d||��}|S�NrYr'r\r]r^)r��decode_varbindlist�
TestSetPDU�rgrrYr+�varbindsrls      r�decode_TestSetPDUr��sf���7�O�E�"�4��0�0�M�G�T�!�$��/�/�H�
��k�*�F�<�,@��/�0�&��2E� �'�+�+�F��Mrc�"�eZdZdd�Zd�Zd�ZdS)r�Nc
�`�t�|t||||d|��||_dSr�)r$r�PDU_TEST_SETr��rr'r-r.r/r�r+s       rrzTestSetPDU.__init__�s9�����4��$�c�6�5�$��	I�	I�	I� ��
�
�
rc�h�t�||��durdS|j|jkrdSdSrs�r$rSr�rQs  rrSzTestSetPDU.__eq__��;�����D�%�(�(��4�4��5��=�E�N�*�*��5��trc��t|j|j��\}}|t|j|j��z
}t|jddd||j|j|j|j	t|���
�
}||zSr��r�r'r+�encode_varbindlistr�ryr&r(r)r*rzr�s    rrwzTestSetPDU.encode��w��*�4�>�4�<�H�H���'��%�d�n�d�m�D�D�D��!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrr�r���F������!�!�!�!�
��� � � � � rr�c�j�|d}t|d|d|d|d��}|Sr�)�CommitSetPDU�rgrrYrls    r�decode_CommitSetPDUr��s?���7�O�E�
�%��,�f�\�.B� �!1�2�F�;�4G�I�I�F��Mrc��eZdZd�Zd�ZdS)r�c�N�t�|t||||��dSr)r$r�PDU_COMMIT_SET�rr'r-r.r/s     rrzCommitSetPDU.__init__�s1�����4��$�c�6�5�	:�	:�	:�	:�	:rc�h�t|jdddd|j|j|j|jd�
�
}|S�NFr�ryr&r'r(r)r*�rrs  rrwzCommitSetPDU.encode��:��!�$�,�"'���u�d�n�"&�.�$�2D�"&�-��4�4���
rN�rrrrrwrrrr�r���2������:�:�:�����rr�c�j�|d}t|d|d|d|d��}|Sr�)�
UndoSetPDUr�s    r�decode_UndoSetPDUr��s?���7�O�E�
��k�*�F�<�,@��/�0�&��2E�G�G�F��Mrc��eZdZd�Zd�ZdS)r�c�N�t�|t||||��dSr)r$r�PDU_UNDO_SETr�s     rrzUndoSetPDU.__init__�s1�����4��$�c�6�5�	:�	:�	:�	:�	:rc�h�t|jdddd|j|j|j|jd�
�
}|Sr�r�r�s  rrwzUndoSetPDU.encode�r�rNr�rrrr�r��r�rr�c�j�|d}t|d|d|d|d��}|Sr�)�
CleanupSetPDUr�s    r�decode_CleanupSetPDUr��s?���7�O�E�
�5��-�v�l�/C�!�"2�3�V�K�5H�J�J�F��Mrc��eZdZd�Zd�ZdS)r�c�N�t�|t||||��dSr)r$r�PDU_CLEANUP_SETr�s     rrzCleanupSetPDU.__init__�s1�����4��$�c�6�5�	:�	:�	:�	:�	:rc�h�t|jdddd|j|j|j|jd�
�
}|Sr�r�r�s  rrwzCleanupSetPDU.encode�r�rNr�rrrr�r��r�rr�c��|d}t||��\}}t|d|d|d|d|��}|Sr�)r��PingPDU)rgrrYr+rls     r�decode_PingPDUr��sU���7�O�E�"�4��0�0�M�G�T�
�U�;�'���)=��,�-�v�k�/B����F��Mrc��eZdZdd�Zd�ZdS)r�Nc
�R�t�|t||||d|��dSr�)r$r�PDU_PING)rr'r-r.r/r+s      rrzPingPDU.__init__�s:�����4��$�c�6�5�$��	I�	I�	I�	I�	Irc���t|j|j��\}}t|jddd||j|j|j|jt|���
�
}||zSr�)	r�r'r+ryr&r(r)r*rzr�s    rrwzPingPDU.encode�s^��*�4�>�4�<�H�H���'�!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr�rrrr�r��s;������I�I�I�I� � � � � rr�c��|d}t||��\}}t||��}t|d|d|d|d||��}|Sr�)r�r��	NotifyPDUr�s      r�decode_NotifyPDUrsf���7�O�E�"�4��0�0�M�G�T�!�$��/�/�H�
�u�[�)�6�,�+?��.�/���1D���*�*�F��Mrc�"�eZdZdd�Zd�Zd�ZdS)r�Nc
�`�t�|t||||d|��||_dSr�)r$r�
PDU_NOTIFYr�r�s       rrzNotifyPDU.__init__s9�����4��$�c�6�5�$��	I�	I�	I� ��
�
�
rc�h�t�||��durdS|j|jkrdSdSrsr�rQs  rrSzNotifyPDU.__eq__r�rc��t|j|j��\}}|t|j|j��z
}t|jddd||j|j|j|j	t|���
�
}||zSr�r�r�s    rrwzNotifyPDU.encoder�rrr}rrrr�r�r�rr�c
�
�|d}t||��\}}t||��}|dtk}|rtnt}||d|d|d|d|d|d||��}|S)	NrYr�r'r\r]r^�newIndex�anyIndex)r�r��PDU_INDEX_ALLOC�
IndexAllocPDU�IndexDeallocPDU)rgrrYr+r��isalloc�pdurls        r�decode_xIndexAllocPDUr"s����7�O�E�"�4��0�0�M�G�T�!�$��/�/�H��f�~��0�G�"�
7�-�-��C�
�S��{�#�V�L�%9��(�)�6�+�+>��z�"�E�*�$5��7�$�$�F��Mrc�$�eZdZ	dd�Zd�Zd�ZdS)r
Nc	
�|�t�|t||||d|��||_||_||_dSr�)r$rr	rrr��	rr'r-r.r/rrr�r+s	         rrzIndexAllocPDU.__init__0sG�����4��$�c�6�5�$��	I�	I�	I� ��
� ��
� ��
�
�
rc��t�||��durdS|j|jkrdS|j|jkrdS|j|jkrdSdSrs)r$rSrrr�rQs  rrSzIndexAllocPDU.__eq__8sc�����D�%�(�(��4�4��5��=�E�N�*�*��5��=�E�N�*�*��5��=�E�N�*�*��5��trc��t|j|j��\}}|t|j|j��z
}t|jd|j|j||j|j	|j
|jt|���
�
}||zSr�)
r�r'r+r�r�ryr&rrr(r)r*rzr�s    rrwzIndexAllocPDU.encodeCs|��*�4�>�4�<�H�H���'��%�d�n�d�m�D�D�D��!�$�,�"'����
�"*�D�N�"&�.�$�2D�"&�-��W���	?�?��
���rrr}rrrr
r
/sI������7;�!�!�!�!�	�	�	� � � � � rr
c��eZdZ	dd�ZdS)rNc	�b�t�|||||||||�	�	t|_dSr)r
r�PDU_INDEX_DEALLOCr&rs	         rrzIndexDeallocPDU.__init__Os;�����t�Y��V�U�'��8�W�	F�	F�	F�(����rrrrrrrrNs+������7;�)�)�)�)�)�)rrc	���|d}t||��\}}t||��\}}t||��d}t|d|d|d|d|||��}|Sr)r�rdre�AddAgentCapsPDU)rgrrYr+rj�descrrls       r�decode_AddAgentCapsPDUrVs����7�O�E�"�4��0�0�M�G�T��4��(�(�I�C���D�&�)�)�!�,�E�
�U�;�/���1E�#�$4�5�v�k�7J� �%��2�2�F��Mrc�$�eZdZ	dd�Zd�Zd�ZdS)rNc
��t�|t||||d|��t|��|_||_dSr�)r$r�PDU_ADD_AGENT_CAPSrqrjrk)rr'r-r.r/rjrkr+s        rrzAddAgentCapsPDU.__init__bsL�����4�!3�$�c�6�5�$��	I�	I�	I��s�#�#���&����rc��t�||��durdS|j|jkrdS|j|jkrdSdSrs)r$rSrjrkrQs  rrSzAddAgentCapsPDU.__eq__isQ�����D�%�(�(��4�4��5��8�u�y� � ��5���u�0�0�0��5��trc�@�t|j|j��\}}||j�|j��z
}|t|j|j��z
}t|jddd||j|j	|j
|jt|���
�
}||zSr�)
r�r'r+rjrwrxrkryr&r(r)r*rzr�s    rrwzAddAgentCapsPDU.encoders���*�4�>�4�<�H�H���'��4�8�?�?�4�>�2�2�2���?�4�>�4�3C�D�D�D��!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrrrasI������+/�'�'�'�'���� � � � � rrc��|d}t||��\}}t||��\}}t|d|d|d|d||��}|Sr�)r�rd�RMAgentCapsPDU)rgrrYr+rjrls      r�decode_RMAgentCapsPDUr"}sj���7�O�E�"�4��0�0�M�G�T��4��(�(�I�C��
�E�+�.��|�0D�"�#3�4�f�[�6I���*�*�F��Mrc�"�eZdZdd�Zd�Zd�ZdS)r!Nc
�z�t�|t||||d|��t|��|_dSr�)r$r�PDU_RM_AGENT_CAPSrqrj)rr'r-r.r/rjr+s       rrzRMAgentCapsPDU.__init__�sB�����4�!2�$�c�6�5�$��	I�	I�	I��s�#�#����rc�h�t�||��durdS|j|jkrdSdSrs)r$rSrjrQs  rrSzRMAgentCapsPDU.__eq__�s;�����D�%�(�(��4�4��5��8�u�y� � ��5��trc��t|j|j��\}}||j�|j��z
}t|jddd||j|j|j|j	t|���
�
}||zSr�)r�r'r+rjrwryr&r(r)r*rzr�s    rrwzRMAgentCapsPDU.encode�sx��*�4�>�4�<�H�H���'��4�8�?�?�4�>�2�2�2��!�$�,��u�e�"*�D�N�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrr!r!�sF������$�$�$�$�
��� � � � � rr!c
�^�|d}t|d��}t|d��\}}tj|dztj�|����\}}}|rt||��}nd}t|d|d|d|d||||��}	|	S)NrYr'��IHHr\r]r^)	r�rr_r`rarbrcr��ResponsePDU)
rgrrYr�rh�	sysUptime�resError�resIndexr�rls
          r�decode_ResponsePDUr/�s����7�O�E��E�+�.�/�/�K��4��#�#�J�D�$�$*�M�+��2E�25�(�2D�2D�T�2J�2J�%L�%L�!�I�x����%�d�F�3�3�����
��{�+�V�L�-A�� 0�1�6�+�3F�"�H�h��B�B�F��Mrc�$�eZdZ	dd�Zd�Zd�ZdS)r+Nc	��t�|t||||��||_||_||_||_dSr)r$r�PDU_RESPONSEr,r-r.r�)	rr'r-r.r/r,r-r.r�s	         rrzResponsePDU.__init__�s@�����4��y�#�v�u�M�M�M�"��� ��
� ��
� ��
�
�
rc���t�||��durdS|j|jkrdS|j|jkrdS|j|jkrdS|j|jkrdSdSrs)r$rSr,r-r.r�rQs  rrSzResponsePDU.__eq__�sw�����D�%�(�(��4�4��5��>�U�_�,�,��5��=�E�N�*�*��5��=�E�N�*�*��5��=�E�N�*�*��5��trc�J�t|j��}tj|dz|j|j|j��}|j�|t|j|j��z
}t|j
dddd|j|j|j|j
t|���
�
}||zS)Nr*F)r�r'r_rvr,r-r.r�r�ryr&r(r)r*rz)rr�r|rs    rrwzResponsePDU.encode�s������/�/���+�k�E�1�4�>�"�m�T�]�<�<���=�$��)�$�.�$�-�H�H�H�G�!�$�,�"'���u�d�n�"&�.�$�2D�"&�-��W���?�?�����rrr}rrrr+r+�sI������9=�!�!�!�!����
 �
 �
 �
 �
 rr+c�P�t|t��r|St|d��S)zFUtility function to allow the user to send a bare tuple for some casesF)rP�OID)rjs rrqrq�s'���#�s�����
��s�E�?�?�rc�F�|d}t|d��\}}tjdtj�|����\}}}|dkrt|fz}nd}t|��|z}d|cxkrdksntd���t|��}|dz}t||��\}}	t|d��}
|
d	|zz}|tj|tj�|����z
}t||��}||	fS)
NrYrZr�rr��OID has too many subidsr'r�)rr_r`rarbrc�internetPrefixrzr��boolr�r6)
rgrrY�n_subid�prefix�include�subids�totalLen�	byteCount�restr��formatStringrls
             rrdrd�s&���7�O�E��T�1�%�%�L�F�D�%�}�V�S�X�5G�5G��5O�5O�P�P��G�V�W�
��{�{��6�)�+������6�{�{�W�$�H�
�� � � � �S� � � � ��2�3�3�3��7�m�m�G��!��I��4��+�+�J�D�$��E�+�.�/�/�K��#��-�0�L�
�f�m�L�#�(�*<�*<�T�*B�*B�C�C�C�F�
���
!�
!�F��D�>�rc�X�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�ZdS)r6Fc�J�||_||_|���dSr)r?r>�sanity)rr?r>s   rrzOID.__init__�s!�����������
�
�
�
�
rc�|�t|t��sdS|j|jksdS|j|jkrdSdSrO)rPr6r?r>rQs  rrSz
OID.__eq__sF���%��%�%�	��5���u�|�+�+��5�
�\�U�]�
*�
*��5��trc�.�|�|��SrrUrQs  rrVz
OID.__ne__	rWrc�4�|�|��dkS)N�����
compareOIDrQs  r�__lt__z
OID.__lt__s�����u�%�%��+�+rc�0�|�|��dvS)N)rJrrKrQs  r�__le__z
OID.__le__s�����u�%�%��0�0rc�4�|�|��dkS)NrrKrQs  r�__gt__z
OID.__gt__s�����u�%�%��*�*rc�0�|�|��dvS)N)rrrKrQs  r�__ge__z
OID.__ge__s�����u�%�%��/�/rc��|j|jkrdSt|j��}t|j��}||kr|j}|j}|}d}n|j}|j}|}d}t|��D]D}||||kr�||||k||||kz
}	|r|	n|	}	|	cS|rdSdS)NrTFrrJ)r?rz�range)
rrR�lself�lother�x�y�lx�flipped�i�cs
          rrLzOID.compareOIDs����;�%�,�&�&��1��D�K� � ���U�\�"�"���6�>�>���A���A��B��G�G���A���A��B��G��r���	�	�A���t�q��t�|�|���q�T�A�a�D�[�Q�q�T�A�a�D�[�1��!�(�Q�B�B�q�������	��1��2rc�\�dt|j���dt|j���d�S)NzOID(r?r@)rFr?r>�rs rrMzOID.__repr__5s/��� $�T�[� 1� 1� 1� 1�4���3E�3E�3E�3E�F�Frc��t|jttf��st�t|j��dkrt�dS)Nr8)rPr?�tuplerB�	TypeErrorrzr�r_s rrFz
OID.sanity8sB���$�+��t�}�5�5�	��O��t�{���c�!�!���"�!rc�&�|js	|jsdSdSrs)r?r>r_s r�isNullz
OID.isNull>s���{�	�4�<�	��4��urc��|jdd�}t|��}d|cxkrdksntd���|dt�tkr.|tkr |t}|tdzd�}nd}nd}t|��}tt
|j����}t|��}tj
|dz|||��}|D]}	|tj
|dz|	��z
}�|S)Nrr8r9rr�r�)r?rzr��prefixCountr:�intr;r>r�r_rv)
rr'r?�numsubsr=r<r>r��body�subids
          rrwz
OID.encodeCs����Q�Q�Q����f�+�+���W�#�#�#�#��#�#�#�#��6�7�7�7��,�;�,��>�1�1���$�$���,����a�� 0� 0�1�������F��f�+�+���d�4�<�(�(�)�)���	�*�*���{�;��/��&�'�J�J���	:�	:�E��F�K��c� 1�5�9�9�9�D�D��rN)F)rrrrrSrVrMrOrQrSrLrMrFrdrwrrrr6r6�s�����������
���&�&�&�,�,�,�1�1�1�+�+�+�0�0�0����:G�G�G�������
����rr6c�V�t|��}t|��}tj|dz|��}|dz}|dkrd|z
}d|z}t	|��t
ur(tj�|��}||z|z}nd|z}tj|g|�R�}||z|z}|S)Nr�rZr��B)	rzr�r_rvr�r�rarbrc)r'�octets�	numoctetsr�r�padrg�fmts        rrxrxYs����F���I��I�&�&�K�
�[��s�*�I�
6�
6�F��q�=�C�
�Q�w�w��#�g��
�C�-�C��F�|�|�s�����#�#�F�+�+������$����I�o���{�3�(��(�(�(����}�s�"���Krc��|d}t|d��\}}t|d��}tj|dztj�|����d}t|��|krtd���|dz}|dkrd|z
}tj�	|d|���|||zd�fS)NrYrZr'r�rz Octet string shorter than length)
rr�r_r`rarbrcrzr��polystr)rgrrYr�rorps      rrereks����7�O�E��T�1�%�%�L�F�D��E�+�.�/�/�K��
�k�C�/���1C�1C�F�1K�1K�L�L�Q�O�I�
�4�y�y�9����;�<�<�<�
�a�-�C�
�Q�w�w��#�g���8���D��)��,�-�-�t�I��O�4D�4D�/E�E�Erc��t|t��rdSt|ttf��r|D]}d|cxkrdks	nt��dSt
�)Nr�)rPr�rBrar�rb)rgr]s  r�sanity_octetstrrvxsj���$��������$��u�
�&�&���	!�	!�A���L�L�L�L�S�L�L�L�L� � �!���
�Orc���|d}t|d��\}}t|d��}tj|dztj�|����d}t||��\}}|t�	��vrtd|z���t|}|d||��\}}t|||��}	|	|fS)NrYrZr'�Hxxr�"Value type %s not in defined types�)rr�r_r`rarbrcrd�definedValueTypesrCr��Varbind)
rgrrY�
bindheaderr��valTyperK�handlersr|rls
          r�decode_Varbindr��s����7�O�E� ��q�)�)��J���E�+�.�/�/�K��m�K�%�/��H�.�.�z�:�:�<�<�<=�?�G��D�&�)�)�J�D�$��'�,�,�.�.�.�.��=��G�H�H�H� ��)�H��H�Q�K��f�-�-�M�G�T�
�W�d�G�
,�
,�F��4�<�rc�4�eZdZdd�Zd�Zd�Zd�Zd�Zd�ZdS)	r|Nc�r�||_t|��|_||_|���dSr)�	valueTyperqrjr|rF)r�vtyperjr|s    rrzVarbind.__init__�s0������s�#�#���������
�
�
�
�
rc�r�|j|jkrdS|j|jkrdS|j|jkrdSdSrO)r�rjr|rQs  rrSzVarbind.__eq__�sC���>�U�_�,�,��5��8�u�y� � ��5��<�5�=�(�(��5��trc�.�|�|��SrrUrQs  rrVzVarbind.__ne__�rWrc��d}|t|j��t|j��t|j��fz}|S)Nz%Varbind(vtype=%s, oid=%s, payload=%s))rFr�rjr|)rrq�rs   rrMzVarbind.__repr__�s9��5���4���'�'��d�h����d�l�9K�9K�L�L���rc��|j���|j}|t���vrtd|z���t|\}}}|�|j���dS||j��dS)Nry)rjrFr�r{rCr�r|)r�vt�sanifyer�encoder�decoders     rrFzVarbind.sanity�s����������
�^��
�&�+�+�-�-�-�-��A�B�F�G�G�G�%6�r�%:�"��'�7����L���!�!�!�!�!��H�T�\�"�"�"�"�"rc�6�t|��}tj|dz|j��}|j�|��}t|j}|\}}}|�!||z|j�|��z}	n||z|||j��z}	|	S)Nrx)r�r_rvr�rjrwr{r|)
rr'r�rrKrr�r�r�rgs
          rrwzVarbind.encode�s����	�*�*����[�5�0�$�.�A�A���x���y�)�)��$�T�^�4��%-�"��'�7����D�=�4�<�#6�#6�y�#A�#A�A�D�D��D�=�7�7�9�d�l�#C�#C�C�D��rr�	rrrrrSrVrMrFrwrrrr|r|�ss�������������&�&�&����
	#�	#�	#�
�
�
�
�
rr|c�P�t|��}tj|dz|��S)Nr\�r�r_rv�r'�numr�s   r�encode_integer32r���&���I�&�&�K��;�{�S�(�#�.�.�.rc��|d}t|d��}t|d��\}}tj|dz|��d}||fS)NrYr'rZr\r�r�rr_r`�rgrrYr�r�s     r�decode_integer32r���U���7�O�E��E�+�.�/�/�K��$��"�"�I�C��
�-��c�)�3�
/�
/��
2�C���;�rc�p�t|��turtdt|��z���dS)Nz%s is not integer)r�rgrbrF�rgs r�sanity_integer32r��s5���D�z�z�����+�d�4�j�j�8�9�9�9��rc�P�t|��}tj|dz|��S)Nr�r�r�s   r�encode_unsigned32r��r�rc��|d}t|d��}t|d��\}}tj|dz|��d}||fS)NrYr'rZr�rr�r�s     r�decode_unsigned32r��r�rc�&�||dzkrt�dS)Nl���r�r�s r�sanity_unsigned32r��s ����z�!�"�"���#�"rc��dS�Nrr)r'rgs  r�encode_nullvaluer��s���3rc�
�d|fSrr)rgrs  r�decode_nullvaluer��s���$�<�rc��dSrrr�s r�sanity_nullvaluer��s���Drc�P�t|��}tj|dz|��S)N�Qr�r�s   r�encode_integer64r��r�rc���|d}t|d��}t|d��\}}tj|dztj�|����d}||fS)NrYr'r)r�r)r�rr_r`rarbrcr�s     r�decode_integer64r��se���7�O�E��E�+�.�/�/�K��$��"�"�I�C��
�-��c�)�3�8�+=�+=�c�+B�+B�
C�
C�A�
F�C���;�rc�&�||dzkrt�dS)Nl����r�r�s r�sanity_integer64r��s!����)�)�*�*���+�*rc�@�t|��t||��Sr)�
sanity_ipaddrrx)r'rns  r�
encode_ipaddrr�s ���&�����9�f�-�-�-rc��t||��\}}tjdtj�|����}||fS)N�BBBB)rer_r`rarbrc)rgr�addrs   r�
decode_ipaddrr�	s@�� ��v�.�.�J�D�$��=����!3�!3�D�!9�!9�:�:�D���:�rc�6�t|��dvrt�dS)N)rZ�)rzr�r�s rr�r�s!��
�4�y�y������ �rc�v�t||��\}}t||��\}}t||��}||fSr)rd�SearchRange)rgr�startOID�endOIDrls     r�decode_SearchRanger�sA����f�-�-�N�H�d��d�F�+�+�L�F�D�
��6�
*�
*�F��4�<�rc�4�eZdZdd�Zd�Zd�Zd�Zd�Zd�ZdS)	r�Nc��t|��|_t|��|_d|j_|�||j_|���dSr�)rq�start�endr>rF)rr�r�r>s    rrzSearchRange.__init__sM�� ��'�'��
��s�#�#��� ������")�D�J�����
�
�
�
�
rc�N�|j|jkrdS|j|jkrdSdSrO)r�r�rQs  rrSzSearchRange.__eq__&s/���:���$�$��5��8�u�y� � ��5��trc�.�|�|��SrrUrQs  rrVzSearchRange.__ne__-rWrc�`�dt|j���dt|j���d�}|S)NzSearchRange(r?r@)rFr�r�)rr�s  rrMzSearchRange.__repr__0s/���%)�$�*�%5�%5�%5�%5�t�D�H�~�~�~�~�F���rc��|j���|j���|jjrt�dSr)r�rFr�r>r�r_s rrFzSearchRange.sanity4sE���
��������������8��	���	�	rc�t�|j�|��}|j�|��}||zSr)r�rwr�)rr'�startOIDstr�	endOIDstrs    rrwzSearchRange.encode:s5���j�'�'�	�2�2���H�O�O�I�.�.�	��Y�&�&rrr�rrrr�r�ss�������������&�&�&�������'�'�'�'�'rr�c��g}|D]*}|�|�|�����+d�|��}|Sr�)rErwrG)r'�searchranges�encoded�srans    rr�r�@sM���G��/�/�����t�{�{�9�-�-�.�.�.�.��h�h�w���G��Nrc�|�g}|r*t||��\}}|�|��|�*t|��Sr)r�rEra)rgrr��oidss    rr�r�HsP���I�
��'��f�5�5�
��d��������������rc�D�d}|D]}||�|��z
}�|Sr�)rw)r'r�r|�varbinds    rr�r�Ps3���G��-�-���7�>�>�)�,�,�,����Nrc��|r>g}|r*t||��\}}|�|��|�*t|��}nd}|Sr)r�rEra)rgrr��vbs    rr�r�Ws_�������	 �%�d�F�3�3�H�B���O�O�B�����	 ���?�?������Orc��d}||dz}||ddzz}||ddzz}||ddzz}||d	d
zz}|S)Nr�instRegrrrrzr�rr'rZr)rY�flagbytes  r�encode_flagbyter�csk���H���i� � �H���j�!�Q�&�&�H���j�!�Q�&�&�H���j�!�Q�&�&�H���k�"�a�'�'�H��Orc
���tt|dz��t|dz��t|dz��t|dz��t|dz����}|S)NrrzrZr)r�)�	makeflagsr;)rY�flagDicts  r�decode_flagbyter�ms`����e�c�k�*�*�D����,=�,=��e�c�k�*�*�D����,=�,=��e�d�l�+�+�-�-�H��Orc��|||||d�S)N)r�rrr�r'r)�iR�nI�aI�cP�bEs     rr�r�ys �������	��rc��|rdndS)N�>�<r)r's rr�r��s���$�3�3��$rc

���|tvrtd|z���tt|||||����}
t	|��}tj|dzd||
||||	��}|S)N� PDU type %s not in defined types�BBBxIIIIr)�definedPDUTypesr�r�r�r�r_rv)
r&�instanceRegistrationrr�nonDefaultContextr'r(r)r*�
payloadLengthrYr�rgs
             rryry�s����o�%�%��;�g�E�F�F�F��I�&:�H�&.�0A�&/�1�1�
2�
2�E��I�&�&�K��;�{�Z�/��G�U� �-���0�0�D��Krc��t|d��\}}tjdtj�|����\}}}t
|��}t|d��dz}t|d��\}}tj|tj�|����\}}	}
}|||||	|
|d�}|S)NrZz>BBBxr'�IIIIr�)�versionr�rYr\r]r^�length)rr_r`rarbrcr�r�)
rg�lineoner�r&rYr�rq�linenr-�	tactionIDr/�dataLenrls
             r�decode_pduheaderr��s����d�A�&�&�M�G�T�$�m�G�,/�H�,>�,>�w�,G�,G�I�I��G�W�e��u�%�%�H��H�[�)�
*�
*�V�
3�C��D�"�%�%�K�E�4�%+�]�3�36�8�3E�3E�e�3L�3L�&N�&N�"�C��E�7� �'�H��9� �G�5�5�F��Mrc�<�|�d}t||��}nd}d}||fS)NTFr)rx)r'r+r�r|s    rr�r��s3������!�)�W�5�5��������g��rc�V�|d}|drt||��\}}nd}||fS)NrYr�)re)rgrrYr+s    rr�r��s<���7�O�E��Z���'��f�5�5�
�������T�?�rc�:�t|��dkrtd���t|d��\}}t|��}|dt|��krdd|fSt||d��\}}|ddkrt	d|dz|||���|d}|t
���vrtd	|z|||���t
|}	|||��}n"#t$rtd
|||��}|�wxYw|d|fS)N�zData too short for headerr�Fr�rzUnknown packet version %ir�r�zBody parsing errorT)
rzrrr�r r�rCr"r
r	)rgr�newData�packetSlice�pktTyper��	parsedPkt�errs        r�
decode_packetr�s]��
�4�y�y�2�~�~�"�#>�?�?�?���b�)�)�O�F�G�
�f�
%�
%�F�
�h��#�g�,�,�&�&��U�D� � �$�W�f�X�.>�?�?��K��
�i��A���� ;� &�y� 1�!2� &��W�>�>�	>��V�n�G��o�*�*�,�,�,�,�� B�W� L� &��W�>�>�	>��g�&�G���G�K��0�0�	�	�������-�v�{�G�L�L���	������d�G�#�#s�)C6�6Dc��g}|D�]:}t|��}|�t|dz����|�t|dz����|�t|dz����|�t|dz����|�t|dz����|�t|dz����|�t|dz����|�t|dz������<|�
|d|�}|S)	Nr8�@� r�r)rZrzr)r�rEr;)�	bitString�
cropLength�bits�octets    r�
bits2Boolsr�s-��
�D��	(�	(���E�
�
�����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'����D����&�&�'�'�'�'����K�Z�K� ���Krc�(�d}g}d}|D]K}|t|��d|z
zz
}|dz
}|dkr&d}|�t|����d}�L|dkr"|�t|����d�|��}|S)Nr�rr)r
)rgrE�chrrG)r�
bitCounterrn�current�bits     r�
bools2Bitsr�s����J�
�F��G��	(�	(���C��H�H��Z��0�1���a��
���?�?��J��M�M�#�g�,�,�'�'�'��G����?�?��M�M�#�g�,�,�'�'�'�
�W�W�V�_�_�F��MrrzrZ�rr�A�B�C�D�Fr8��rrr
r)�	�
���
��r���i	iiiiiiiii
iir)��
__future__rr_�ntp.polyra�ntp.utilrr:rzrfr
r	rr r"r$rmrfr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr
rrrr"r!r/r+rqrdr6rxrervr�r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryr�r�r�rrr�
VALUE_INTEGER�VALUE_OCTET_STR�
VALUE_NULL�	VALUE_OID�
VALUE_IP_ADDR�VALUE_COUNTER32�
VALUE_GAUGE32�VALUE_TIME_TICKS�VALUE_OPAQUE�VALUE_COUNTER64�VALUE_NO_SUCH_OBJECT�VALUE_NO_SUCH_INSTANCE�VALUE_END_OF_MIB_VIEWr{rpr�r�r�r�r�r�r�r�r�r�rr�r	rrr%r2r��	RSN_OTHER�RSN_PARSE_ERROR�RSN_PROTOCOL_ERROR�RSN_TIMEOUT�RSN_SHUTDOWN�RSN_BY_MANAGERr��ERR_NOERROR�
ERR_GENERR�
ERR_NO_ACCESS�ERR_WRONG_TYPE�
ERR_WRONG_LEN�ERR_WRONG_ENCODING�ERR_WRONG_VALUE�ERR_NO_CREATION�ERR_INCONSISTENT_VALUE�ERR_RESOURCE_UNAVAILABLE�ERR_COMMIT_FAILED�ERR_UNDO_FAILED�ERR_NOT_WRITABLE�ERR_INCONSISTENT_NAME�
definedErrors�RSPERR_NO_AGENTX�RSPERR_OPEN_FAILED�RSPERR_NOT_OPEN�RSPERR_INDEX_WRONG_TYPE�RSPERR_INDEX_ALREADY_ALLOCATED�RSPERR_INDEX_NONE_AVAILABLE�RSPERR_INDEX_NOT_ALLOCATED�RSPERR_UNSUPPORTED_CONTEXT�RSPERR_DUPLICATE_REGISTRATION�RSPERR_UNKNOWN_REGISTRATION�RSPERR_UNKNOWN_AGENT_CAPS�RSPERR_PARSE_ERROR�RSPERR_REQUEST_DENIED�RSPERR_PROCESSING_ERROR�responseErrorsrrr�<module>rUsq��
&�%�%�%�%�%�
�
�
�
��������������c�.�!�!��2+�+�+�+�+��+�+�+�	�	�	�	�	�:�	�	�	�	�	�	�	�	�
�	�	�	�	�	�	�	�	�
�	�	�	�,>&�>&�>&�>&�>&�>&�>&�>&�B	�	�	� � � � � �i� � � �<��� � � � � �y� � � �.���40�0�0�0�0�)�0�0�0�f�����K������� � � � � �Y� � � �.$�$�$�$�$��$�$�$���� � � � � �� � � �@��� � � � � �� � � �.���
�
�
�
�
�9�
�
�
����
�
�
�
�
��
�
�
����
�
�
�
�
�I�
�
�
���� � � � � �i� � � ���� � � � � �	� � � �.
�
�
� � � � � �I� � � �>)�)�)�)�)�m�)�)�)���� � � � � �i� � � �8��� � � � � �Y� � � �.
�
�
�   �  �  �  �  �)�  �  �  �\������.\�\�\�\�\�\�\�\�~���$
F�
F�
F�������-�-�-�-�-�-�-�-�`/�/�/�
���:�:�:�
/�/�/�
������
������	�	�	�/�/�/�
������
.�.�.�
������
���"'�"'�"'�"'�"'�"'�"'�"'�J���������	�	�	����������%�%�%����*���$������$�$�$�2����"���&�
���
�
�
�	��
����
�������������
�$�$�$�&��o�%�%�'��!�!�!�#���c�:�&��M�!�!�#��'�'�'�)��%�%�%�'��(�(�(�*��?�"�"�$��&�&�&�(��+�+�+�-��-�-�-�/��,�,�,�.�G%/��P
��
�	�����
��������������
�
�
������������&��n�&�
��&��%�&��'�	&�
�^�&��.�
&��#�&��#�&��'�&��#�&��)�&�� �&�
�n�&��*�&��,�&� �.�!&�"�,�#&�$�$�%&�&��*
�	������������_�.@��|�^�=����
�
��
����
��������������������j�-��� 2�O� �"8�)�+;�&�	(�
���������!$��!�� �� �� #��!����������"�$6��)�+I�-�/I�,�.K�-�/H�$�&;�)�
+���r