����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 213.165.242.4  /  Your IP : 216.73.217.83
Web Server : Apache
System : Linux amsngx344.inmotionhosting.com 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64
User : aquafi9 ( 1305)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/imh-python/lib/python3.9/site-packages/serial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/imh-python/lib/python3.9/site-packages/serial/__pycache__/rfc2217.cpython-39.pyc
a

]�h4��@szddlmZddlZddlZddlZddlZddlZzddlZWney^ddl	m
ZYn0zddlZWney�ddlZYn0ddl
Z
ddlmZmZmZmZmZmZejejejejd�ZdZdZdZdZd	Zd
ZdZ dZ!d
Z"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d Z7d!Z8d"Z9d#Z:d$Z;d%Z<d&Z=d'Z>d(Z?d)Z@d*ZAd+ZBd,ZCd-ZDd.ZEd/ZFe/e;e0e<e1e=e2e>e3e?e4e@e5eAe6eBe7eCe8eDe9eEe:eFiZGdZHdZIdZJdZKdZLdZMdZNdZOdZPd ZQd!ZRd"ZSd#ZTd0ZUd1ZVd2ZWd3ZXd4ZYd5ZZd6Z[d7Z\d8Z]d9Z^d:Z_d;Z`d<Zad=Zbd>Zcd7Zdd8Zed9Zfd:Zgd;Zhd<Zid=Zjd>ZkdZldZmdZne
jod>e
jpd=e
jqd?e
jrd<e
jsd@iZteudAdB�et�v�D��Zwe
jxd>e
jyd?e
jzd=iZ{eudCdB�e{�v�D��Z|dZ}d>Z~d=ZdDZ�dEZ�dFZ�dGZ�GdHdI�dIe��Z�GdJdK�dKe��Z�GdLdM�dMe�Z�GdNdO�dOe��Z�e�dPk�rvddl�Z�e�dQdR�Z�e�j���dS��e���e�j���dT�e���dU�e����e�j���dV��e���d@���e����dS)W�)�absolute_importN)�
SerialBase�SerialException�to_bytes�	iterbytes�PortNotOpenError�Timeout)�debug�info�warning�error��������������������������������s������,�������	�
���e�f�g�h�i�j�k�l�m�n�o�p�
��������@� �������ccs|]\}}||fVqdS�N���.0�k�vrIrI�~/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/serial/rfc2217.py�	<genexpr>��rOccs|]\}}||fVqdSrHrIrJrIrIrNrO�rP�	REQUESTED�ACTIVE�INACTIVE�REALLY_INACTIVEc@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�TelnetOptionz@Manage a single telnet option, keeps track of DO/DONT WILL/WONT.Nc

Cs@||_||_||_||_||_||_||_||_d|_|	|_	dS)a;        Initialize option.
        :param connection: connection used to transmit answers
        :param name: a readable name for debug outputs
        :param send_yes: what to send when option is to be enabled.
        :param send_no: what to send when option is to be disabled.
        :param ack_yes: what to expect when remote agrees on option.
        :param ack_no: what to expect when remote disagrees on option.
        :param initial_state: options initialized with REQUESTED are tried to
            be enabled on startup. use INACTIVE for all others.
        FN)
�
connection�name�option�send_yes�send_no�ack_yes�ack_no�state�active�activation_callback)
�selfrVrWrXrYrZr[r\Z
initial_stater_rIrIrN�__init__�s
zTelnetOption.__init__cCsdj|d�S)zString for debug outputsz{o.name}:{o.active}({o.state}))�o��format�r`rIrIrN�__repr__szTelnetOption.__repr__cCs&||jkr�|jtur4t|_d|_|jdur�|��nt|jtur@nh|jtur|t|_|j�|j	|j
�d|_|jdur�|��n,|jtur�|j�|j|j
�nt
d�|���nx||jk�r"|jtur�t|_d|_nT|jtur�t|_|j�|j|j
�d|_n*|jtu�rn|jtu�rnt
d�|���dS)zo        A DO/DONT/WILL/WONT was received for this option, update state and
        answer when needed.
        TNzoption in illegal state {!r}F)r[r]rQrRr^r_rSrV�telnet_send_optionrYrXrTrZ�
ValueErrorrdr\�r`�commandrIrIrN�process_incomings<










zTelnetOption.process_incoming)N)�__name__�
__module__�__qualname__�__doc__rarfrkrIrIrIrNrU�s
�
rUc@sLeZdZdZddd�Zdd�Zdd�Zd	d
�Zee�Z	ddd
�Z
dd�ZdS)�TelnetSubnegotiationz�    A object to handle subnegotiation of options. In this case actually
    sub-sub options for RFC 2217. It is used to track com port options.
    NcCs4|dur|}||_||_||_d|_||_t|_dSrH)rVrWrX�value�
ack_optionrSr])r`rVrWrXrrrIrIrNra9szTelnetSubnegotiation.__init__cCsdj|d�S)zString for debug outputs.z{sn.name}:{sn.state})ZsnrcrerIrIrNrfCszTelnetSubnegotiation.__repr__cCsD||_t|_|j�|j|j�|jjr@|jj�d�|j	|j��dS)z�        Request a change of the value. a request is sent to the server. if
        the client needs to know if the change is performed he has to check the
        state of this object.
        zSB Requesting {} -> {!r}N)
rqrQr]rV�rfc2217_send_subnegotiationrX�loggerr	rdrW)r`rqrIrIrN�setGs
zTelnetSubnegotiation.setcCs$|jtkrtd�|j���|jtkS)z{        Check if answer from server has been received. when server rejects
        the change, raise a ValueError.
        z%remote rejected value for option {!r})r]rTrhrdrWrRrerIrIrN�is_readySs
zTelnetSubnegotiation.is_readyrFcCs:t|�}|��s&t�d�|��rq6qtd�|j���dS)z�        Wait until the subnegotiation has been acknowledged or timeout. It
        can also throw a value error when the answer from the server does not
        match the value sent.
        皙�����?z%timeout while waiting for option {!r}N)r�expired�time�sleeprvrrdrW)r`�timeoutZ
timeout_timerrIrIrN�wait^s
zTelnetSubnegotiation.waitcCsN|j|dt|j��kr t|_nt|_|jjrJ|jj�d�|j	||j��dS)z�        Check an incoming subnegotiation block. The parameter already has
        cut off the header like sub option number and com port option value.
        NzSB Answer {} -> {!r} -> {})
rq�lenrRr]rTrVrtr	rdrW)r`�	suboptionrIrIrN�check_answerls
z!TelnetSubnegotiation.check_answer)N)rF)rlrmrnrorarfrurv�propertyr^r|rrIrIrIrNrp3s

	
rpcseZdZdZdZ�fdd�Zdd�Zdd�Zd	d
�Zdd�Z	e
d
d��Zd=dd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Ze
dd��Ze
d d!��Ze
d"d#��Ze
d$d%��Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd>d3d4�Zd5d6�Zd7d8�Zd9d:�Z d;d<�Z!�Z"S)?�Serialz<Serial port implementation for RFC 2217 remote serial ports.)�2�K�n����i,iXi�ii`	i�i�%iKi�i���csxd|_d|_d|_d|_td�|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_tt|�j|i|��dS)Nr���FrF)�_thread�_socket�
_linestate�_modemstater�_modemstate_timeout�_remote_suspend_flow�_write_lockrt�_ignore_set_control_answer�_poll_modem_state�_network_timeout�_telnet_options�_rfc2217_port_settings�_rfc2217_options�_read_buffer�superr�ra)r`�args�kwargs��	__class__rIrNra�s 
zSerial.__init__c
Csd|_d|_d|_d|_|jdur*td��|jr8td��z0tj|�	|j
�dd�|_|j�tj
tjd�Wn<ty�}z$d|_td	�|j
|���WYd}~n
d}~00t��|_t��|_t|d
tttttt�t|dtttttt�g}t|dtttttt�t|d
t ttttt�t|dt ttttt�t|dtttttt�t|dtttttt�g||_!t"|dt#t$�t"|dt%t&�t"|dt't(�t"|dt)t*�d�|_+t"|dt,t-�t"|dt.t/�d�|_0|j0�1|j+�d|_2d|_3t4d�|_5d|_6d|_tj7|j8d�|_9|j9�:d�|j9�;d�|j��|j9�<�z�|j!D]"}|j=tu�r|�>|j?|j@��qt4|j�}|�A��s�tB�Cd�tDdd �|D��tDd!d �|D��k�rL�q��qLtd"�|���|j�r�|j�Ed#�|j!��|�F�|jG�s�|�H�|jI�s�|�J�|�K�|�L�Wn|�M��Yn0dS)$zx        Open port with current settings. This may throw a SerialException
        if the port cannot be opened.
        NFrFz.Port must be configured before it can be used.zPort is already open.rG)r{rEzCould not open port {}: {}�	we-BINARY�
we-RFC2217�ECHO�we-SGA�they-SGA�they-BINARY�they-RFC2217�baudrate�datasize�parity�stopsize)r�r�r�r��purge�control)r�r�rr�T)�targetz&pySerial RFC 2217 reader thread for {}rwcss|]}|jVqdSrH�r^�rKrbrIrIrNrO�rPzSerial.open.<locals>.<genexpr>css|]}|jtkVqdSrH)r]rSr�rIrIrNrO�rPz;Remote does not seem to support RFC2217 or BINARY mode {!r}zNegotiated options: {})Nrtr�r�r�Z_portr�is_open�socket�create_connection�from_urlZportstrr��
setsockopt�IPPROTO_TCP�TCP_NODELAY�	Exceptionrd�Queuer��	threading�Lockr�rU�BINARY�WILL�WONT�DO�DONTrS�COM_PORT_OPTIONrQr��SGAr�rp�SET_BAUDRATE�SERVER_SET_BAUDRATE�SET_DATASIZE�SERVER_SET_DATASIZE�
SET_PARITY�SERVER_SET_PARITY�SET_STOPSIZE�SERVER_SET_STOPSIZEr��
PURGE_DATA�SERVER_PURGE_DATA�SET_CONTROL�SERVER_SET_CONTROLr��updater�r�rr�r��Thread�_telnet_read_loopr��	setDaemon�setName�startr]rgrYrXrxryrz�sumr
�_reconfigure_portZ_dsrdtr�_update_dtr_state�_rtscts�_update_rts_state�reset_input_buffer�reset_output_buffer�close)r`�msgZmandadory_optionsrXr{rIrIrN�open�s�
(

���
�	�





&�zSerial.opencCs�|jdurtd��|jdur$td��d|jkr:dksLntd�|j���|jd�t	�
d|j��|jd	�t	�
d
|j��|jd�t	�
d
t|j
��|jd�t	�
d
t|j��|j��}|jr�|j�d
�|��t|j�}|���st�d�tdd�|D��t|�kr�q*q�td�|���|j�rD|j�d�|��|j�r^|j�r^td��n2|j�rr|�t�n|j�r�|�t�n
|�t �dS)z,Set communication parameters on opened port.NzCan only operate on open portsz(write_timeout is currently not supportedrlzinvalid baudrate: {!r}r��!Ir��!Br�r�zNegotiating settings: {}rwcss|]}|jVqdSrHr�r�rIrIrNrOrPz+Serial._reconfigure_port.<locals>.<genexpr>z7Remote does not accept parameter change (RFC2217): {!r}zNegotiated settings: {}z-xonxoff and rtscts together are not supported)!r�rZ_write_timeout�NotImplementedErrorZ	_baudraterhrdr�ru�struct�packZ	_bytesize�RFC2217_PARITY_MAPZ_parity�RFC2217_STOPBIT_MAPZ	_stopbits�valuesrtr	rr�rxryrzr�r}r
r�Z_xonxoff�rfc2217_set_control�SET_CONTROL_USE_HW_FLOW_CONTROL�SET_CONTROL_USE_SW_FLOW_CONTROL�SET_CONTROL_USE_NO_FLOW_CONTROL)r`�itemsr{rIrIrNr��s8






zSerial._reconfigure_portcCsbd|_|jr6z|j�tj�|j��WnYn0|jrX|j�d�d|_t�	d�d|_dS)z
Close portF�N�333333�?)
r�r��shutdownr��	SHUT_RDWRr�r��joinryrzrerIrIrNr�s
zSerial.closec
Cs*t�|�}|jdkr$td�|j���z�t�|jd���D]�\}}|dkr~t�	�t�
d�|_|j�t
|d�|j�d�q8|dkr�d|_q8|d	kr�d|_q8|d
kr�t|d�|_q8td�|���q8d|jkr�dks�ntd
��Wn4t�y}ztd�|���WYd}~n
d}~00|j|jfS)zu        extract host and port from an URL string, other settings are extracted
        an stored in instance
        Zrfc2217zqexpected a string in the form "rfc2217://<host>:<port>[?option[&option...]]": not starting with rfc2217:// ({!r})T�loggingzpySerial.rfc2217rzenabled loggingZign_set_controlZ
poll_modemr{zunknown option: {!r}izport not in range 0...65535zPexpected a string in the form "rfc2217://<host>:<port>[?option[&option...]]": {}N)�urlparse�urlsplit�schemerrd�parse_qs�queryr�r��basicConfig�	getLoggerrt�setLevel�
LOGGER_LEVELSr	r�r��floatr�rh�port�hostname)r`�url�partsrXr��erIrIrNr�0s<

����zSerial.from_urlcCs|jst��|j��S)z9Return the number of bytes currently in the input buffer.)r�rr��qsizererIrIrN�
in_waitingUszSerial.in_waitingrEcCs�|jst��t�}znt|j�}t|�|kr~|jdus>|j��sFtd��|j	�
d|���}|durjt|�WS||7}|�
�rq~qWntjy�Yn0t|�S)z�        Read size bytes from the serial port. If a timeout is set it may
        return less characters as requested. With no timeout it will block
        until the requested number of bytes is read.
        Nz&connection failed (reader thread died)T)r�r�	bytearrayr�_timeoutr}r��is_aliverr��getZ	time_left�bytesrxr��Empty)r`�size�datar{�bufrIrIrN�read\s"

zSerial.readcCs�|jst��|j�bz|j�t|��tt��Wn4t	j
yd}ztd�|���WYd}~n
d}~00Wd�n1sz0Yt
|�S)z�        Output the given byte string over the serial port. Can block if the
        connection is blocked. May raise SerialException if the connection is
        closed.
        z$connection failed (socket error): {}N)r�rr�r��sendallr�replace�IAC�IAC_DOUBLEDr�rrrdr})r`rr�rIrIrN�writetsBzSerial.writecCs2|jst��|�t�|j��r.|j�d�qdS)z9Clear input buffer, discarding all that is in the buffer.FN)r�r�rfc2217_send_purge�PURGE_RECEIVE_BUFFERr�r�rrerIrIrNr��s


zSerial.reset_input_buffercCs|jst��|�t�dS)zs        Clear output buffer, aborting the current output and
        discarding all that is in the buffer.
        N)r�rr�PURGE_TRANSMIT_BUFFERrerIrIrNr��szSerial.reset_output_buffercCsN|jst��|jr.|j�d�|jr&dnd��|jr@|�t�n
|�t�dS)z[        Set break: Controls TXD. When active, to transmitting is
        possible.
        zset BREAK to {}r^�inactiveN)	r�rrtr
rdZ_break_stater��SET_CONTROL_BREAK_ON�SET_CONTROL_BREAK_OFFrerIrIrN�_update_break_state�szSerial._update_break_statecCsN|jst��|jr.|j�d�|jr&dnd��|jr@|�t�n
|�t�dS)z*Set terminal status line: Request To Send.z
set RTS to {}r^rN)	r�rrtr
rdZ
_rts_stater��SET_CONTROL_RTS_ON�SET_CONTROL_RTS_OFFrerIrIrNr��szSerial._update_rts_statecCsN|jst��|jr.|j�d�|jr&dnd��|jr@|�t�n
|�t�dS)z.Set terminal status line: Data Terminal Ready.z
set DTR to {}r^rN)	r�rrtr
rdZ
_dtr_stater��SET_CONTROL_DTR_ON�SET_CONTROL_DTR_OFFrerIrIrNr��szSerial._update_dtr_statecCs|jst��t|��t@�S)z)Read terminal status line: Clear To Send.)r�r�bool�get_modem_state�MODEMSTATE_MASK_CTSrerIrIrN�cts�sz
Serial.ctscCs|jst��t|��t@�S)z*Read terminal status line: Data Set Ready.)r�rrr�MODEMSTATE_MASK_DSRrerIrIrN�dsr�sz
Serial.dsrcCs|jst��t|��t@�S)z*Read terminal status line: Ring Indicator.)r�rrr�MODEMSTATE_MASK_RIrerIrIrN�ri�sz	Serial.ricCs|jst��t|��t@�S)z*Read terminal status line: Carrier Detect.)r�rrr�MODEMSTATE_MASK_CDrerIrIrN�cd�sz	Serial.cdc
Cs�t}d}�z�|j�r�z|j�d�}Wnntjy<YqYnXtjy�}z>|jrd|j�d�	|��|j
�d�WYd}~�q�WYd}~n
d}~00|s�|j
�d��q�t|�D]�}|tkr�|t
kr�t}n|dur�||7}n|j
�|�q�|tk�r�|t
k�r$|du�r|t
7}n|j
�t
�t}nb|tk�r:t�}t}nL|tk�r\|�t|��d}t}n*|ttttfv�rx|}t}n|�|�t}q�|tkr�|�||�t}q�qW|j�r�|j�d�n|j�r�|j�d�0dS)zRead loop for the socket.Niz!socket error in reader thread: {}zread thread terminated)�M_NORMALr�r��recvr�r{rrtr	rdr��putrr�
M_IAC_SEEN�SBr��SE�_telnet_process_subnegotiationrr�r�r�r��M_NEGOTIATE�_telnet_process_command�_telnet_negotiate_option)r`�moder~rr��byte�telnet_commandrIrIrNr��s`$








�zSerial._telnet_read_loopcCs|jr|j�d�|��dS�z1Process commands other than DO, DONT, WILL, WONT.zignoring Telnet command: {!r}N�rtrrdrirIrIrNr+szSerial._telnet_process_commandcCspd}|jD]}|j|kr
|�|�d}q
|sl|tks<|tkrl|�|tkrLtnt|�|jrl|j�	d�
|��dS�z&Process incoming DO, DONT, WILL, WONT.FTzrejected Telnet option: {!r}N�r�rXrkr�r�rgr�r�rtrrd�r`rjrXZknown�itemrIrIrNr,$s


zSerial._telnet_negotiate_optioncCsZ|dd�tk�r<|dd�tkr\t|�dkr\t|dd��|_|jrZ|j�d�|j��n�|dd�tkr�t|�dkr�t|dd��|_	|jr�|j�d�|j	��|j
�d�n�|dd�tkr�d|_
np|dd�tkr�d	|_
nX|j��D]2}|j|dd�kr�|�t|dd
����qVq�|j�rV|j�d�|��n|j�rV|j�d�|��d
S)
�;Process subnegotiation, the data between IAC SB and IAC SE.rrErDrFzNOTIFY_LINESTATE: {}�NOTIFY_MODEMSTATE: {}r�TFNzignoring COM_PORT_OPTION: {!r}zignoring subnegotiation: {!r})r��SERVER_NOTIFY_LINESTATEr}�ordr�rtr
rd�SERVER_NOTIFY_MODEMSTATEr�r�Zrestart�FLOWCONTROL_SUSPENDr��FLOWCONTROL_RESUMEr�r�rrrrr)r`r~r5rIrIrNr)7s,z%Serial._telnet_process_subnegotiationcCs6|j�|j�|�Wd�n1s(0YdS)zGinternal socket write with no data escaping. used to send telnet stuff.N)r�r�r	)r`rrIrIrN�_internal_raw_writeWszSerial._internal_raw_writecCs|�t||�dS�zSend DO, DONT, WILL, WONT.N)r=r�r`�actionrXrIrIrNrg\szSerial.telnet_send_optionrPcCs2|�tt�}|�ttt||tt�dS)z%Subnegotiation of RFC2217 parameters.N)r
rrr=r'r�r(�r`rXrqrIrIrNrs`sz"Serial.rfc2217_send_subnegotiationcCs$|jd}|�|�|�|j�dS)z~        Send purge request to the remote.
        (PURGE_RECEIVE_BUFFER / PURGE_TRANSMIT_BUFFER / PURGE_BOTH_BUFFERS)
        r�N)r�rur|r��r`rqr5rIrIrNres

zSerial.rfc2217_send_purgecCs6|jd}|�|�|jr&t�d�n|�|j�dS)z)transmit change of control line to remoter�g�������?N)r�rur�ryrzr|r�rBrIrIrNr�ns


zSerial.rfc2217_set_controlcCsdS)z`        check if server is ready to receive data. block for some time when
        not.
        NrIrerIrIrN�rfc2217_flow_server_readyzsz Serial.rfc2217_flow_server_readycCs�|jrh|j��rh|jr"|j�d�|�t�t|j�}|��sVt	�
d�|j��s6qhq6|jrh|j�d�|jdur�|jr�|j�d�|jSt
d��dS)z�        get last modem state (cached value. If value is "old", request a new
        one. This cache helps that we don't issue to many requests when e.g. all
        status lines, one after the other is queried by the user (CTS, DSR
        etc.)
        zpolling modem staterwzpoll for modem state failedNzusing cached modem statez!remote sends no NOTIFY_MODEMSTATE)r�r�rxrtr	rs�NOTIFY_MODEMSTATErr�ryrzrr�r)r`r{rIrIrNr�s 




zSerial.get_modem_state)rE)rP)#rlrmrnroZ	BAUDRATESrar�r�r�r�r�r�rr
r�r�rr�r�rrr r"r�r+r,r)r=rgrsrr�rCr�
__classcell__rIrIr�rNr�zsFa,%

		



D 
	r�c@sfeZdZdZddd�Zdd�Zdd�Zdd
d�Zdd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�PortManagerz�    This class manages the state of Telnet and RFC 2217. It needs a serial
    instance and a connection to work with. Connection is expected to implement
    a (thread safe) write function, that writes the string to the network.
    NcCs||_||_||_d|_t|_d|_d|_d|_d|_	d|_
t|dtt
tttt�t|dtt
tttt�t|dtttt
tt�t|dtt
tttt�t|dtttt
tt�t|d	tt
tttt|j�	t|d
tttt
tt|j�	g|_|jr�|j�d�|jD]}|jtur�|�|j|j�q�dS)NF�rr�r�r�r�r�r�r�z*requesting initial Telnet/RFC 2217 options)�serialrVrt�_client_is_rfc2217r#r-r~r/�modemstate_mask�last_modemstate�
linstate_maskrUr�r�r�r�r�rQr�rSr�r��
_client_okr�r	r]rgrYrX)r`Zserial_portrVrtrXrIrIrNra�s.�

zPortManager.__init__cCs(d|_|jr|j�d�|jdd�dS)a        callback of telnet option. It gets called when option is activated.
        This one here is used to detect when the client agrees on RFC 2217. A
        flag is set so that other functions like check_modem_lines know if the
        client is OK.
        Tzclient accepts RFC 2217��force_notificationN)rIrtr
�check_modem_linesrerIrIrNrM�szPortManager._client_okcCs|j�t||�dSr>)rVr
rr?rIrIrNrg�szPortManager.telnet_send_optionrPcCs4|�tt�}|j�ttt||tt�dS)z&Subnegotiation of RFC 2217 parameters.N)r
rrrVr
r'r�r(rArIrIrNrs�sz'PortManager.rfc2217_send_subnegotiationFcCs�|jjo
t|jjotB|jjo tB|jjo,tB}||j	p:dA}|t@rN|t
O}|t@r^|tO}|t@rn|tO}|t@r~|t
O}||j	ks�|r�|jr�||j@s�|r�|�tt||j@g��|jr�|j�d�|��|d@|_	dS)z�        read control lines from serial port and compare the last value sent to remote.
        send updates on changes.
        rr7��N)rHrrrrr rr"r!rK�MODEMSTATE_MASK_CTS_CHANGE�MODEMSTATE_MASK_DSR_CHANGE�MODEMSTATE_MASK_RI_CHANGE�MODEMSTATE_MASK_CD_CHANGErIrJrsr:rrtr
rd)r`rOZ
modemstateZdeltasrIrIrNrP�s4

�
�
���zPortManager.check_modem_linesccs.t|�D] }|tkr"tVtVq|VqdS)z�        This generator function is for the user. All outgoing data has to be
        properly escaped, so that no IAC character in the data stream messes up
        the Telnet state machine in the server.

        socket.sendall(escape(data))
        N)rr�r`rr.rIrIrN�escapes
zPortManager.escapeccst|�D�]}|jtkrJ|tkr(t|_n |jdurB|j|7_n|Vq|jtkr�|tkr�|jdurv|j|7_n|Vt|_nl|tkr�t�|_t|_nT|tkr�|�	t
|j��d|_t|_n.|ttt
tfvr�||_t|_n|�|�t|_q|jtkr|�|j|�t|_qdS)a�        Handle a bunch of incoming bytes. This is a generator. It will yield
        all characters not of interest for Telnet/RFC 2217.

        The idea is that the reader thread pushes data from the socket through
        this filter:

        for byte in filter(socket.recv(1024)):
            # do things like CR/LF conversion/whatever
            # and write data to the serial port
            serial.write(byte)

        (socket error handling code left as exercise for the reader)
        N)rr-r#rr&r~r'r�r(r)rr�r�r�r�r/r*r+r,rVrIrIrN�filter(s8





zPortManager.filtercCs|jr|j�d�|��dSr0r1rirIrIrNr+csz#PortManager._telnet_process_commandcCspd}|jD]}|j|kr
|�|�d}q
|sl|tks<|tkrl|�|tkrLtnt|�|jrl|j�	d�
|��dSr2r3r4rIrIrNr,is


z$PortManager._telnet_negotiate_optionc
Cs$	|dd�tk�	r|jr*|j�d�|��|dd�tkr�|jj}z*t�d|dd��\}|dkrj||j_WnDt	y�}z,|jr�|j�
d�|��||j_WYd}~n0d}~00|jr�|j�d	�|r�d
nd|jj��|�t
t�d|jj���	q |dd�tk�r�|jj}z,t�d|dd
��\}|dk�r8||j_WnHt	�y�}z.|j�rf|j�
d�|��||j_WYd}~n4d}~00|j�r�|j�d�|�r�d
nd|jj��|�tt�d|jj���	q |dd�tk�r�|jj}z2t�d|dd
��d}|dk�rt||j_WnHt	�y^}z.|j�rB|j�
d�|��||j_WYd}~n4d}~00|j�r�|j�d�|�r|d
nd|jj��|�tt�dt|jj���	q |dd�tk�r�|jj}z2t�d|dd
��d}|dk�r�t||j_WnHt	�y>}z.|j�r"|j�
d�|��||j_WYd}~n4d}~00|j�rj|j�d�|�r\d
nd|jj��|�tt�dt|jj���	q |dd�tk�r�|dd
�tk�r�|jj�r�|�tt �n$|jj!�r�|�tt"�n|�tt#��	q|dd
�t#k�r4d|j_d|j_!|j�r$|j�d�|�tt#��	q|dd
�t k�rrd|j_|j�rb|j�d�|�tt ��	q|dd
�t"k�r�d|j_!|j�r�|j�d�|�tt"��	q|dd
�t$k�r�|j�r�|j�%d��	q|dd
�t&k�rd|j_'|j�r|j�d�|�tt&��	q|dd
�t(k�rVd|j_'|j�rF|j�d�|�tt(��	q|dd
�t)k�r�|j�r�|j�%d��	q|dd
�t*k�r�d|j_+|j�r�|j�d�|�tt*�n�|dd
�t,k�r�d|j_+|j�r�|j�d�|�tt,�n�|dd
�t-k�r |j�r�|j�%d�nv|dd
�t.k�r\d|j_/|j�rN|j�d �|�tt.�n:|dd
�t0k�	rd|j_/|j�r�|j�d!�|�tt0��	q |dd�t1k�r�|�t2t3dg���	q |dd�t4k�r�|j�r�|j�d"�|j5dd#��	q |dd�t6k�r(|j�r|j�d$�d|_7�	q |dd�t8k�rX|j�rN|j�d%�d|_7�	q |dd�t9k�r�t:|dd
��|_;|j�	r|j�d&�|j;���	q |dd�t<k�r�t:|dd
��|_=|j�	r|j�d'�|j=���	q |dd�t>k�r�|dd
�t?k�r0|j�@�|j�r"|j�d(�|�tAt?�n�|dd
�tBk�rn|j�C�|j�r`|j�d)�|�tAtB�nn|dd
�tDk�r�|j�@�|j�C�|j�r�|j�d*�|�tAtD�n&|j�	r|j�
d+�tE|dd����n&|j�	r |j�
d,�tE|dd����n|j�	r |j�%d-�|��dS).r6rrEzreceived COM_PORT_OPTION: {!r}rDr��zfailed to set baud rate: {}Nz{} baud rate: {}rurr�rFzfailed to set data size: {}z{} data size: {}zfailed to set parity: {}z
{} parity: {}zfailed to set stop bits: {}z{} stop bits: {}Fzchanged flow control to NoneTz changed flow control to XON/XOFFzchanged flow control to RTS/CTSz'requested break state - not implementedzchanged BREAK to activezchanged BREAK to inactivez%requested DTR state - not implementedzchanged DTR to activezchanged DTR to inactivez%requested RTS state - not implementedzchanged RTS to activezchanged RTS to inactivezrequest for modem staterNZsuspend�resumezline state mask: 0x{:02x}zmodem state mask: 0x{:02x}zpurge inz	purge outz
purge bothzundefined PURGE_DATA: {!r}zundefined COM_PORT_OPTION: {!r}zunknown subnegotiation: {!r})Fr�rtr	rdr�rHr�r��unpackrhrr
rsr�r�r�Zbytesizer�r�r��RFC2217_REVERSE_PARITY_MAPr�r�r��stopbits�RFC2217_REVERSE_STOPBIT_MAPr�r�r��SET_CONTROL_REQ_FLOW_SETTINGZxonxoffr�r�Zrtsctsr�r��SET_CONTROL_REQ_BREAK_STATErrZbreak_conditionr�SET_CONTROL_REQ_DTRrZdtrr�SET_CONTROL_REQ_RTSr�rtsr�NOTIFY_LINESTATEr8rrDrPr;r�r<�SET_LINESTATE_MASKr9rL�SET_MODEMSTATE_MASKrJr�rr�r�rr��PURGE_BOTH_BUFFERS�list)r`r~�backupr�r�r�r�r]rIrIrNr)|s\ 
"
"�
"�

�





  z*PortManager._telnet_process_subnegotiation)N)rP)F)rlrmrnrorarMrgrsrPrWrXr+r,r)rIrIrIrNrF�s
#

$;rF�__main__zrfc2217://localhost:7000r�z{}
z	write...
shello
z	read: {}
)��
__future__rr�r�r�r�ryr��ImportError�urllib.parse�parser��queuerHZserial.serialutilrrrrrr�DEBUG�INFO�WARNING�ERRORr�r(�NOPZDMZBRKZIPZAOZAYTZECZELZGAr'r�r�r�r�rrr�r�r�r�r�r�r�r�r�rdrDr;r<rerfr�r�r�r�r�r�r8r:ZSERVER_FLOWCONTROL_SUSPENDZSERVER_FLOWCONTROL_RESUMEZSERVER_SET_LINESTATE_MASKZSERVER_SET_MODEMSTATE_MASKr�ZRFC2217_ANSWER_MAPr_r�r�r�r`rrrarrrbrrZSET_CONTROL_REQ_FLOW_SETTING_INZ"SET_CONTROL_USE_NO_FLOW_CONTROL_INZ!SET_CONTROL_USE_SW_FLOW_CONTOL_INZ!SET_CONTROL_USE_HW_FLOW_CONTOL_INZ SET_CONTROL_USE_DCD_FLOW_CONTROLZ SET_CONTROL_USE_DTR_FLOW_CONTROLZ SET_CONTROL_USE_DSR_FLOW_CONTROLZLINESTATE_MASK_TIMEOUTZLINESTATE_MASK_SHIFTREG_EMPTYZLINESTATE_MASK_TRANSREG_EMPTYZLINESTATE_MASK_BREAK_DETECTZLINESTATE_MASK_FRAMING_ERRORZLINESTATE_MASK_PARTIY_ERRORZLINESTATE_MASK_OVERRUN_ERRORZLINESTATE_MASK_DATA_READYr!rrrrUrTrSrRrrrgZPARITY_NONEZ
PARITY_ODDZPARITY_EVENZPARITY_MARKZPARITY_SPACEr��dictr�r\ZSTOPBITS_ONEZSTOPBITS_ONE_POINT_FIVEZSTOPBITS_TWOr�r^r#r&r*rQrRrSrT�objectrUrpr�rFrl�sys�s�stdoutr
rd�flushrr�rIrIrIrN�<module>=s8 
�	���FG3




Youez - 2016 - github.com/yon3zu
LinuXploit