���� JFIF  XX �� �� �     $.' ",#(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�8 ds|\���Ҿp6�Ҵ���]��.����6� z<�v��@]�i% �� $j��~ �g��J>��no����pM[me�i$[�� �� s�o�ᘨ�˸ nɜG-�ĨU�ycP� 3.DB�li�;� �hj���x 7Z^�N�h��� ���N3u{�:j �x�힞��#M &��jL P@ _���� P�� &��o8 ������9 �����@Sz 6�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*-i H��g�D�)� E�m�|�ؘbҗ�a ��Ҿ���� t4��� o���G��*oCN�rP���Q��@z,|?W[0 �����:�n,j WiE��W� �$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S�� ��VN;� }�s?.����� w �9��˟<���Mq4�Wv' ��{)0�1mB ��V����W[� ����8�/<� �%���wT^�5���b��)iM� p g�N�&ݝ� �VO~� q���u���9� ����!��J27��� �$ O-���! �: �%H��� ـ ����y�ΠM=t{!S�� oK8������ t<����è :a�� ����[���� �ա�H���~��w��Qz`�p o�^ �� ��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�_�uX 6��3?nk��Wy�f;^*B� ��@ �~a�`��Eu������ +� �� 6�L��.ü>��}y���}_�O�6�͐�:�Yr G�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�!0 39C� �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 Xp 3�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@:)ִ�:�]��h v�E� w���T�l ��P� ��"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u� )]կ��� ��7x�� �s�M�-<ɯ�c��r� v�����@��$�ޮ}lk���a�� �'����>x��O\�Z Fu>��� ��ck#��&:��`�$ �ai�>2Δ����l���oF[h� �lE�ܺ�Π k:)���` �� $[6�����9�����kOw�\|��� 8}������ބ:��񶐕� �I�A1/� =�2[�,�!��.}gN#�u����b ��� ~� �݊��}34q��� �d�E��L c��$ ��"�[q�U�硬g^��%B � z���r�p J�ru%v\h 1Y�ne` ǥ:g�� �pQM~�^� Xi� ��`S�:V2 9.�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& Ú����2 g�}&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��f2 4;�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)*P t����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���#y w��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���/$�WP w���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��B S�('$�ɻ� �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 : 198.54.126.9  /  Your IP : 216.73.216.190
Web Server : Apache
System : Linux host56.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : ecssenvironment ( 1934)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/thread-self/root/opt/alt/python35/lib64/python3.5/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/thread-self/root/opt/alt/python35/lib64/python3.5/__pycache__/tarfile.cpython-35.opt-2.pyc


���]�k�@s�dZdZdZdZdZddlmZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZyddlZddlZWnek
r�dZZYnXeefZyeef7ZWnek
rYnXdd	d
dgZdZd
ZedZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/d Z0dZ1d!Z2d"Z3e2Z4e"e#e$e%e(e)e*e&e'e+e,e-fZ5e"e#e*e-fZ6e+e,e-fZ7d#d$d%d&d'd(d)d*fZ8d#d$d)d*hZ9d+e:d,e:d&e:d'e;d(e;d%e;iZ<e	j=d-d.fkr�d/Z>nej?�Z>d0d1�Z@d2d3�ZAd4d5�ZBd6e4d7d8�ZCd9d:�ZDded;d<�ZEd=d>�ZFd?d@�ZGGdAd�deH�ZIGdBdC�dCeI�ZJGdDdE�dEeI�ZKGdFdG�dGeI�ZLGdHdI�dIeI�ZMGdJdK�dKeI�ZNGdLdM�dMeN�ZOGdNdO�dOeN�ZPGdPdQ�dQeN�ZQGdRdS�dSeN�ZRGdTdU�dUeN�ZSGdVdW�dW�ZTGdXdY�dY�ZUGdZd[�d[eV�ZWGd\d]�d]eV�ZXGd^d_�d_e
jY�ZZGd`d	�d	eV�Z[Gdad�deV�Z\Gdbdc�dc�Z]ddd
�Z^e\jZdedf�Z_e`dgkr�e_�dS)hz0.9.0u"Lars Gustäbel (lars@gustaebel.de)z5$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $z?$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.�)�openN�TarFile�TarInfo�
is_tarfile�TarErrorsi�sustar  sustar00�d��0�1�2�3�4�5�6�7�L�K�S�x�g�X���path�linkpath�size�mtime�uid�gid�uname�gnameZatime�ctime�ntZcezutf-8cCs2|j||�}|d|�|t|�tS)N)�encode�len�NUL)�s�length�encoding�errors�r+�,/opt/alt/python35/lib64/python3.5/tarfile.py�stn�sr-cCs;|jd�}|dkr+|d|�}|j||�S)Nsr���)�find�decode)r'r)r*�pr+r+r,�nts�sr2cCs�|ddkrd}x:tt|�d�D]"}|dK}|||d7}q-W|ddkr�dt|�d|}nRy1t|dd�}t|j�p�d	d�}Wntk
r�td
��YnX|S)Nr��r���ascii�strict�0zinvalid header)r3r4)�ranger%r2�int�strip�
ValueError�InvalidHeaderError)r'�n�ir+r+r,�nti�s

rAr5cCsd|kod|dknrNtd|dt|�fd�t}n�|tkr�d|d|ko�d|dknr�|dkr�tdg�}ntdg�}d||}xEt|d�D]$}|jd|d@�|dL}q�Wntd	��|S)
Nrr5rz%0*or7r6r3r4zoverflow in number field)�bytesr;r&�
GNU_FORMAT�	bytearrayr:�insertr=)r?�digits�formatr'r@r+r+r,�itn�s$*9rHcCsBdttjd|��}dttjd|��}||fS)Nr6Z
148B8x356BZ
148b8x356b)�sum�struct�unpack_from)�bufZunsigned_chksumZ
signed_chksumr+r+r,�calc_chksums�s	rMc	Cs�|dkrdS|dkr0tj||�dSd}t||�\}}xNt|�D]@}|j|�}t|�|kr�|d��|j|�qXW|dkr�|j|�}t|�|kr�|d��|j|�dS)Nr�izunexpected end of datai@)�shutil�copyfileobj�divmodr:�readr%�write)	�src�dstr(�	exception�BUFSIZE�blocks�	remainder�brLr+r+r,rP�s$
rPcCs,ddl}|jdtd�tj|�S)Nrz$deprecated in favor of stat.filemoder)�warnings�warn�DeprecationWarning�stat�filemode)�moder[r+r+r,r_�s	
r_cCsPttjdd�}|dk	r<|j|d�j|�}t|dd�dS)Nr)�backslashreplace�end� )�getattr�sys�stdoutr$r0�print)r'r)r+r+r,�_safe_printsrhc@seZdZdS)rN)�__name__�
__module__�__qualname__r+r+r+r,rsc@seZdZdS)�ExtractErrorN)rirjrkr+r+r+r,rlsrlc@seZdZdS)�	ReadErrorN)rirjrkr+r+r+r,rmsrmc@seZdZdS)�CompressionErrorN)rirjrkr+r+r+r,rnsrnc@seZdZdS)�StreamErrorN)rirjrkr+r+r+r,rosroc@seZdZdS)�HeaderErrorN)rirjrkr+r+r+r,rpsrpc@seZdZdS)�EmptyHeaderErrorN)rirjrkr+r+r+r,rqsrqc@seZdZdS)�TruncatedHeaderErrorN)rirjrkr+r+r+r,rr srrc@seZdZdS)�EOFHeaderErrorN)rirjrkr+r+r+r,rs#srsc@seZdZdS)r>N)rirjrkr+r+r+r,r>&sr>c@seZdZdS)�SubsequentHeaderErrorN)rirjrkr+r+r+r,rt)srtc@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
_LowLevelFilecCsbdtjdtjtjBtjBi|}ttd�rF|tjO}tj||d�|_dS)N�r�w�O_BINARYi�)	�os�O_RDONLY�O_WRONLY�O_CREAT�O_TRUNC�hasattrrxr�fd)�self�namer`r+r+r,�__init__6s	
z_LowLevelFile.__init__cCstj|j�dS)N)ry�closer)r�r+r+r,r�?sz_LowLevelFile.closecCstj|j|�S)N)ryrRr)r�rr+r+r,rRBsz_LowLevelFile.readcCstj|j|�dS)N)ryrSr)r�r'r+r+r,rSEsz_LowLevelFile.writeN)rirjrkr�r�rRrSr+r+r+r,ru0s	ruc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ddd�Zddd�Zdd�Z
dd�ZdS)�_Streamc	Cs{d|_|dkr-t||�}d|_|dkrQt|�}|j�}|pZd|_||_||_||_||_d|_	d|_
d|_y�|dkr,yddl}Wnt
k
r�td��YnX||_|jd�|_|d	kr|j�|j|_qI|j�n|d
kr�yddl}Wnt
k
rhtd��YnX|d	kr�d|_|j�|_t|_qI|j�|_n�|dkr-yddl}Wnt
k
r�td
��YnX|d	krd|_|j�|_|j|_qI|j�|_n|dkrItd|��Wn*|jsf|jj�d|_�YnXdS)NTF�*��r�gzzzlib module is not availablerv�bz2zbz2 module is not available�xzzlzma module is not available�tarzunknown compression type %r) �_extfileobjru�_StreamProxy�getcomptyper�r`�comptype�fileobj�bufsizerL�pos�closed�zlib�ImportErrorrn�crc32�crc�
_init_read_gz�errorrV�_init_write_gzr��dbuf�BZ2Decompressor�cmp�OSError�
BZ2Compressor�lzma�LZMADecompressor�	LZMAError�LZMACompressorr�)	r�r�r`r�r�r�r�r�r�r+r+r,r�Ssl									
	


	
		
	z_Stream.__init__cCs't|d�r#|jr#|j�dS)Nr�)r~r�r�)r�r+r+r,�__del__�sz_Stream.__del__cCs�|jjd|jj|jj|jjd�|_tjdtt	j	���}|j
d|d�|jjd�r�|jdd
�|_|j
|jj
dd	�t�dS)N�	rz<Ls�s�z.gz�z
iso-8859-1�replace���)r��compressobj�DEFLATED�	MAX_WBITS�
DEF_MEM_LEVELr�rJ�packr;�time�_Stream__writer��endswithr$r&)r�Z	timestampr+r+r,r��s
	z_Stream._init_write_gzcCsq|jdkr*|jj||j�|_|jt|�7_|jdkr`|jj|�}|j|�dS)Nr�r�)	r�r�r�r�r�r%r��compressr�)r�r'r+r+r,rS�sz
_Stream.writecCsk|j|7_xUt|j�|jkrf|jj|jd|j��|j|jd�|_qWdS)N)rLr%r�r�rS)r�r'r+r+r,Z__write�s z_Stream.__writecCs�|jr
dSd|_z�|jdkrO|jdkrO|j|jj�7_|jdkr�|jr�|jj|j�d|_|jdkr�|jjtj	d|j
��|jjtj	d|jd@��Wd|js�|jj
�XdS)NTrwr�r�r�z<Ll��)r�r`r�rLr��flushr�rSrJr�r�r�r�r�)r�r+r+r,r��s			'	z
_Stream.closecCsO|jj|jj�|_d|_|jd�dkrFtd��|jd�dkrgtd��t|jd��}|jd�|d	@r�t|jd��d
t|jd��}|j	|�|d@rx'|jd�}|s�|t
kr�Pq�W|d@r4x'|jd�}|s/|t
kr
Pq
W|d@rK|jd�dS)
Nr�rs�znot a gzip filerszunsupported compression method��r6r5rN)r��
decompressobjr�r�r��
_Stream__readrmrn�ordrRr&)r��flagZxlenr'r+r+r,r��s.	

,



z_Stream._init_read_gzcCs|jS)N)r�)r�r+r+r,�tell�sz_Stream.tellrcCs|||jdkrit||j|j�\}}x$t|�D]}|j|j�q?W|j|�ntd��|jS)Nrz seeking backwards is not allowed)r�rQr�r:rRro)r�r�rXrYr@r+r+r,�seek�sz_Stream.seekNcCsy|dkrQg}x*|j|j�}|s.P|j|�qWdj|�}n|j|�}|jt|�7_|S)Nr�)�_readr��append�joinr�r%)r�r�trLr+r+r,rRsz_Stream.readcCs�|jdkr|j|�St|j�}x�||kr�|j|j�}|sSPy|jj|�}Wn!|jk
r�td��YnX|j|7_|t|�7}q.W|jd|�}|j|d�|_|S)Nr�zinvalid compressed data)	r�r�r%r�r�r��
decompressrVrm)r�r�crLr+r+r,r�s 
z
_Stream._readcCs�t|j�}xK||kr\|jj|j�}|s:P|j|7_|t|�7}qW|jd|�}|j|d�|_|S)N)r%rLr�rRr�)r�rr�rLr+r+r,Z__read,sz_Stream.__read)rirjrkr�r�r�rSr�r�r�r�r�rRr�r�r+r+r+r,r�HsF
	
r�c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r�cCs"||_|jjt�|_dS)N)r�rR�	BLOCKSIZErL)r�r�r+r+r,r�As	z_StreamProxy.__init__cCs|jj|_|jS)N)r�rRrL)r�rr+r+r,rREsz_StreamProxy.readcCsj|jjd�rdS|jdd�dkrL|jdd�dkrLd	S|jjd�rbdSd
SdS)Ns�r�rr�sBZhr��
s1AY&SYr��]���7zXZr�r�)r�r�)rL�
startswith)r�r+r+r,r�Is2z_StreamProxy.getcomptypecCs|jj�dS)N)r�r�)r�r+r+r,r�Ssz_StreamProxy.closeN)rirjrkr�rRr�r�r+r+r+r,r�<s
r�c@s�eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Ze	j
dd�Zddd�Zdd�Z
dd�ZdS)�_FileInFileNcCs#||_||_||_d|_t|dd�|_d|_|dkr]d|fg}d|_g|_d}|j}xp|D]h\}}||kr�|jj	d||df�|jj	d||||f�||7}||}q�W||jkr|jj	d||jdf�dS)Nrr�FT)
r��offsetr�positionrdr�r��	map_index�mapr�)r�r�r�rZ	blockinfoZlastposZrealposr+r+r,r�`s(								 
z_FileInFile.__init__cCsdS)Nr+)r�r+r+r,r�ysz_FileInFile.flushcCsdS)NTr+)r�r+r+r,�readable|sz_FileInFile.readablecCsdS)NFr+)r�r+r+r,�writablesz_FileInFile.writablecCs
|jj�S)N)r��seekable)r�r+r+r,r��sz_FileInFile.seekablecCs|jS)N)r�)r�r+r+r,r��sz_FileInFile.tellcCs�|tjkr0tt|d�|j�|_n�|tjkr�|dkrgt|j|d�|_q�t|j||j�|_nC|tjkr�tt|j||j�d�|_ntd��|jS)NrzInvalid argument)	�io�SEEK_SET�min�maxrr��SEEK_CUR�SEEK_ENDr=)r�r��whencer+r+r,r��s!(z_FileInFile.seekc	Csf|dkr|j|j}nt||j|j�}d}x!|dkraxs|j|j\}}}}||jko�|knr�PqP|jd7_|jt|j�krPd|_qPWt|||j�}|r7|jj||j|�|jj|�}t|�|kr*t	d��||7}n|t
|7}||8}|j|7_qAW|S)Nr�rrzunexpected end of data)rr�r�r�r�r%r�r�rRrmr&)	r�rrL�data�start�stopr�r(rZr+r+r,rR�s.


z_FileInFile.readcCs5|jt|��}||dt|��<t|�S)N)rRr%)r�rZrLr+r+r,�readinto�sz_FileInFile.readintocCs
d|_dS)NT)r�)r�r+r+r,r��sz_FileInFile.close)rirjrkr�r�r�r�r�r�r�r�r�rRr�r�r+r+r+r,r�Zsr�cs"eZdZ�fdd�Z�S)�ExFileObjectcs5t|j|j|j|j�}t�j|�dS)N)r�r��offset_datar�sparse�superr�)r��tarfile�tarinfor�)�	__class__r+r,r��szExFileObject.__init__)rirjrkr�r+r+)r�r,r��sr�c@sJeZdZdhZddd�Zdd�Zdd�Zeee�Zdd�Z	dd�Z
ee	e
�Zd d!�Zd"d#�Z
eed$d%d&�Zd'd(�Zd)d*�Zd+d,�Zed-d.��Zd/d0�Zed1d2��Zed3d4��Zed5d6��Zed7d8��Zed9d:��Zed;d<��Zd=d>�Zd?d@�ZdAdB�Z dCdD�Z!dEdF�Z"dGdH�Z#dIdJ�Z$dKdL�Z%dMdN�Z&dOdP�Z'dQdR�Z(dSdT�Z)dUdV�Z*dWdX�Z+dYdZ�Z,d[d\�Z-d]d^�Z.d_d`�Z/dadb�Z0dcdd�Z1dedf�Z2dgS)irr�r`rrrr�chksum�type�linknamer r!�devmajor�devminorr�r��pax_headersr�r��_sparse_structs�_link_targetr�cCs�||_d|_d|_d|_d|_d|_d|_t|_d|_	d|_
d|_d|_d|_
d|_d|_d|_i|_dS)Ni�rr�)r�r`rrrrr��REGTYPEr�r�r r!r�r�r�r�r�r�)r�r�r+r+r,r��s"																zTarInfo.__init__cCs|jS)N)r�)r�r+r+r,�_getpath�szTarInfo._getpathcCs
||_dS)N)r�)r�r�r+r+r,�_setpath�szTarInfo._setpathcCs|jS)N)r�)r�r+r+r,�_getlinkpath�szTarInfo._getlinkpathcCs
||_dS)N)r�)r�r�r+r+r,�_setlinkpath�szTarInfo._setlinkpathcCs d|jj|jt|�fS)Nz<%s %r at %#x>)r�rir��id)r�r+r+r,�__repr__szTarInfo.__repr__cCs�d|jd|jd@d|jd|jd|jd|jd|jd	|jd
|jd|j	d|j
d
|jd|ji
}|d	t
kr�|djd�r�|dd7<|S)Nr�r`i�rrrrr�r�r�r r!r�r��/)r�r`rrrrr�r�r�r r!r�r��DIRTYPEr�)r��infor+r+r,�get_infos 	
										$zTarInfo.get_info�surrogateescapecCsv|j�}|tkr+|j|||�S|tkrJ|j|||�S|tkrf|j||�Std��dS)Nzinvalid format)r��USTAR_FORMAT�create_ustar_headerrC�create_gnu_header�
PAX_FORMAT�create_pax_headerr=)r�rGr)r*r�r+r+r,�tobufsz
TarInfo.tobufcCs�t|d<t|dj||��tkr8td��t|dj||��tkr�|j|d||�\|d<|d<|j|t||�S)N�magicr�zlinkname is too longr��prefix)	�POSIX_MAGICr%r$�LENGTH_LINKr=�LENGTH_NAME�_posix_split_name�_create_headerr�)r�r�r)r*r+r+r,r�*s
""'zTarInfo.create_ustar_headercCs�t|d<d}t|dj||��tkrR||j|dt||�7}t|dj||��tkr�||j|dt||�7}||j|t	||�S)Nr�r�r�r�)
�	GNU_MAGICr%r$r��_create_gnu_long_header�GNUTYPE_LONGLINKr��GNUTYPE_LONGNAMErrC)r�r�r)r*rLr+r+r,r�7s
" " zTarInfo.create_gnu_headerc
Cs�t|d<|jj�}x�ddtfddtfddfD]�\}}}||kr\q>y||jd	d
�Wn#tk
r�||||<w>YnXt||�|kr>||||<q>Wx�dD]}\}}||kr�d||<q�||}d|kod|dkns,t|t	�r�t
|�||<d||<q�W|rh|j|t|�}	nd}	|	|j
|td	d�S)Nr�r�rr�rr � r!r7r8rr5rr�rrrr�r�)r r r)r!r!r�rr5�rr5�rr�rr)rrr	r
)r�r��copyr�r�r$�UnicodeEncodeErrorr%�
isinstance�float�str�_create_pax_generic_header�XHDTYPErr�)
r�r�r)r�r�Zhnamer(rF�valrLr+r+r,r�Es4



4zTarInfo.create_pax_headercCs|j|td�S)Nzutf-8)r�XGLTYPE)�clsr�r+r+r,�create_pax_global_headervsz TarInfo.create_pax_global_headercCs�|jd�}x�tdt|��D]u}dj|d|��}dj||d��}t|j||��tkr%t|j||��tkr%Pq%Wtd��||fS)Nr�rzname is too long)�splitr:r%r�r$�
LENGTH_PREFIXr�r=)r�r�r)r*Z
componentsr@r�r+r+r,r�|szTarInfo._posix_split_namecCs�t|jdd�d||�t|jdd�d@d|�t|jdd�d|�t|jd	d�d|�t|jd
d�d|�t|jdd�d|�d
|jdt�t|jdd�d||�|jdt�t|jdd�d||�t|jdd�d||�t|jdd�d|�t|jdd�d|�t|jdd�d||�g}tjdtdj|��}t	|td��d}|dd�t
d|d�|dd�}|S) Nr�r�rr`ri�r5rrrrrs        r�r�r�r rr!r�r�r�r	z%dsr�ilz%06or7iei����i����)r-�getrHr�r�rJr�r�r�rMrB)r�rGr)r*�partsrLr�r+r+r,r�s&$/zTarInfo._create_headercCs=tt|�t�\}}|dkr9|t|t7}|S)Nr)rQr%r�r&)ZpayloadrXrYr+r+r,�_create_payload�szTarInfo._create_payloadcCsm|j||�t}i}d|d<||d<t|�|d<t|d<|j|t||�|j|�S)Nz
././@LongLinkr�r�rr�)r$r&r%rrr�r)rr�r�r)r*r�r+r+r,r�s


zTarInfo._create_gnu_long_headercCs�d}xJ|j�D]<\}}y|jdd�Wqtk
rNd}PYqXqWd}|ri|d7}x�|j�D]�\}}|jd�}|r�|j|d�}n|jd�}t|�t|�d}d	}	}
x-|tt|
��}	|	|
krP|	}
q�W|tt|
�d
�d|d|d
7}qvWi}d|d<||d<t|�|d<t|d<|j|td
d�|j	|�S)NFzutf-8r8Tr�s21 hdrcharset=BINARY
r�r�rr7� �=s
z././@PaxHeaderr�r�rr�r�)
�itemsr$rr%rrBr�rr�r)rr�r�r)�binary�keyword�value�records�lr?r1r�r+r+r,r�s<




1


z"TarInfo._create_pax_generic_headercCsNt|�dkrtd��t|�tkr<td��|jt�tkr]td��t|dd��}|t|�kr�t	d��|�}t
|dd�||�|_t|dd	��|_t|d	d
��|_
t|d
d��|_t|dd��|_t|dd��|_||_|dd
�|_t
|d
d�||�|_t
|dd�||�|_t
|dd�||�|_t|dd��|_t|dd��|_t
|dd�||�}|jtkr'|jjd�r't|_|jtkrd}g}x�td�D]u}	y<t|||d��}
t||d|d��}Wntk
r�PYnX|j|
|f�|d7}qOWt|d�}t|dd��}
|||
f|_ |j!�r!|jj"d�|_|rJ|jt#krJ|d|j|_|S)Nrzempty headerztruncated headerzend of file header��zbad checksumr�l�t�|��ii	i)iIiQiYi�r�i�r�r�i�i�i�)$r%rqr�rr�countr&rsrArMr>r2r�r`rrrrr�r�r�r r!r�r��AREGTYPEr�r��GNUTYPE_SPARSEr:r=r��boolr��isdir�rstrip�	GNU_TYPES)rrLr)r*r��objr�r��structsr@r��numbytes�
isextended�origsizer+r+r,�frombuf�sZ		!	"
zTarInfo.frombufcCsP|jjt�}|j||j|j�}|jj�t|_|j|�S)N)	r�rRr�r7r)r*r�r��_proc_member)rr�rLr2r+r+r,�fromtarfile5szTarInfo.fromtarfilecCst|jttfkr"|j|�S|jtkr>|j|�S|jtttfkrc|j	|�S|j
|�SdS)N)r�rr�
_proc_gnulongr-�_proc_sparserr�SOLARIS_XHDTYPE�	_proc_pax�
_proc_builtin)r�r�r+r+r,r8Js


zTarInfo._proc_membercCsu|jj�|_|j}|j�s6|jtkrL||j|j�7}||_|j	|j
|j|j�|S)N)
r�r�r��isregr��SUPPORTED_TYPES�_blockrr��_apply_pax_infor�r)r*)r�r�r�r+r+r,r>Ws		zTarInfo._proc_builtincCs�|jj|j|j��}y|j|�}Wntk
rQtd��YnX|j|_|jt	kr�t
||j|j�|_
n*|jtkr�t
||j|j�|_|S)Nz missing or bad subsequent header)r�rRrArr9rprtr�r�rr2r)r*r�rr�)r�r�rL�nextr+r+r,r:hs
zTarInfo._proc_gnulongc
Cs#|j\}}}|`x�|r�|jjt�}d}x�td�D]�}y<t|||d��}t||d|d��}	Wntk
r�PYnX|r�|	r�|j||	f�|d7}qFWt|d�}qW||_	|jj
�|_|j|j|j
�|_||_
|S)Nr�rr*i�)r�r�rRr�r:rAr=r�r.r�r�r�rArr�)
r�r�r3r5r6rLr�r@r�r4r+r+r,r;~s(	"
		zTarInfo._proc_sparsecCs�|jj|j|j��}|jtkr9|j}n|jj�}tj	d|�}|dk	r�|j
d�jd�|d<|jd�}|dkr�|j
}nd}tjd�}d}x�|j||�}|s�P|j�\}	}
t|	�}	||jd�d|jd�|	d�}|j|
dd|j�}
|
tkrt|j|||j
|j�}n|j|dd|j�}|||
<||	7}q�Wy|j|�}Wntk
r�td	��YnXd
|kr�|j||�n_d|kr|j|||�n=|jd�d
krY|jd�dkrY|j|||�|jttfkr�|j||j
|j�|j |_ d|kr�|j!}
|j"�s�|jt#kr�|
|j|j�7}
|
|_ |S)Ns\d+ hdrcharset=([^\n]+)\nrzutf-8�
hdrcharsetZBINARYs(\d+) ([^=]+)=rrz missing or bad subsequent headerzGNU.sparse.mapzGNU.sparse.sizezGNU.sparse.major�1zGNU.sparse.minorr9r)$r�rRrArr�rr�r�re�search�groupr0rr)�compile�match�groupsr;rbr��_decode_pax_fieldr*�PAX_NAME_FIELDSr9rprt�_proc_gnusparse_01�_proc_gnusparse_00�_proc_gnusparse_10rr<rBr�r�r?r@)r�r�rLr�rKrEr)Zregexr�r(rr rCr�r+r+r,r=�s`.	

*		zTarInfo._proc_paxcCs�g}x6tjd|�D]"}|jt|jd���qWg}x6tjd|�D]"}|jt|jd���qXWtt||��|_dS)Ns\d+ GNU.sparse.offset=(\d+)\nrs\d+ GNU.sparse.numbytes=(\d+)\n)rG�finditerr�r;rI�list�zipr�)r�rCr�rLZoffsetsrKr4r+r+r,rPs  zTarInfo._proc_gnusparse_00cCsVdd�|djd�D�}tt|ddd�|ddd���|_dS)NcSsg|]}t|��qSr+)r;)�.0�xr+r+r,�
<listcomp>s	z.TarInfo._proc_gnusparse_01.<locals>.<listcomp>zGNU.sparse.map�,rr)rrSrTr�)r�rCr�r�r+r+r,rOs zTarInfo._proc_gnusparse_01cCs�d}g}|jjt�}|jdd�\}}t|�}xgt|�|dkr�d|kr}||jjt�7}|jdd�\}}|jt|��qEW|jj�|_t	t
|ddd�|ddd���|_dS)Ns
rr)r�rRr�rr;r%r�r�r�rSrTr�)r�rCr�r�Zfieldsr�rLZnumberr+r+r,rQszTarInfo._proc_gnusparse_10c
Csx�|j�D]�\}}|dkr8t|d|�q
|dkr]t|dt|��q
|dkr�t|dt|��q
|tkr
|tkr�yt||�}Wntk
r�d}YnX|dkr�|jd�}t|||�q
W|j�|_dS)NzGNU.sparse.namerzGNU.sparse.sizerzGNU.sparse.realsizerr�)	r�setattrr;�
PAX_FIELDS�PAX_NUMBER_FIELDSr=r0rr�)r�r�r)r*rr r+r+r,rB!s"
zTarInfo._apply_pax_infocCs=y|j|d�SWn"tk
r8|j||�SYnXdS)Nr8)r0�UnicodeDecodeError)r�r r)Zfallback_encodingZfallback_errorsr+r+r,rM8s
zTarInfo._decode_pax_fieldcCs-t|t�\}}|r%|d7}|tS)Nr)rQr�)r�r+rXrYr+r+r,rA@s
zTarInfo._blockcCs
|jtkS)N)r��
REGULAR_TYPES)r�r+r+r,r?Isz
TarInfo.isregcCs
|j�S)N)r?)r�r+r+r,�isfileKszTarInfo.isfilecCs
|jtkS)N)r�r�)r�r+r+r,r/Msz
TarInfo.isdircCs
|jtkS)N)r��SYMTYPE)r�r+r+r,�issymOsz
TarInfo.issymcCs
|jtkS)N)r��LNKTYPE)r�r+r+r,�islnkQsz
TarInfo.islnkcCs
|jtkS)N)r��CHRTYPE)r�r+r+r,�ischrSsz
TarInfo.ischrcCs
|jtkS)N)r��BLKTYPE)r�r+r+r,�isblkUsz
TarInfo.isblkcCs
|jtkS)N)r��FIFOTYPE)r�r+r+r,�isfifoWszTarInfo.isfifocCs
|jdk	S)N)r�)r�r+r+r,�issparseYszTarInfo.issparsecCs|jtttfkS)N)r�rcrerg)r�r+r+r,�isdev[sz
TarInfo.isdevN)r�r`rrrrr�r�r�r r!r�r�r�r�r�r�r�r�r�)3rirjrk�	__slots__r�r�r��propertyrr�r�rr�r��DEFAULT_FORMAT�ENCODINGr�r�r�r��classmethodrr��staticmethodrrrrr7r9r8r>r:r;r=rPrOrQrBrMrAr?r^r/r`rbrdrfrhrirjr+r+r+r,r�s^
1
3?
f	c@s�eZdZdZdZdZdZeZe	Z
dZeZ
eZdddddddddddddd�Zeddded	d
��Zedddd��Zeddd
dd��Zeddd
dd��Zeddddd��ZddddddddiZdd�Zdd�Zd d!�Zd"d#�Zdddd$d%�Zd&d'dd(d)�Zdd&dd*dd+d,�Zdd-d.�Z d/dd0dd1d2�Z!d3d&d0dd4d5�Z"d6d7�Z#d&dd8d9�Z$d:d;�Z%d<d=�Z&d>d?�Z'd@dA�Z(dBdC�Z)dDdE�Z*dFdG�Z+dHdI�Z,dJdK�Z-dLdM�Z.dddNdO�Z/dPdQ�Z0ddRdS�Z1dTdU�Z2dVdW�Z3dXdY�Z4dZd[�Z5d\d]�Z6dS)^rrFrNrvr�c
Cs�ddddddddi}
||
kr6td	��||_|
||_|s�|jdkr�tjj|�r�d|_d|_t||j�}d
|_n`|dkr�t|d�r�t	|j
ttf�r�|j
}t|d�r�|j|_d
|_|rtjj
|�nd|_
||_|dk	rC||_|dk	rX||_|dk	rm||_|dk	r�||_|dk	r�||_|	|_|
dk	r�|jtkr�|
|_n	i|_|dk	r�||_|dk	r�||_d
|_g|_d
|_|jj�|_i|_y:|jdkrZd|_|j �|_|jdkrx�|jj!|j�y&|jj"|�}|jj#|�Wqlt$k
r�|jj!|j�PYqlt%k
r}zt&t|���WYdd}~XqlXqlW|jdkrid
|_|jri|jj'|jj(��}|jj)|�|jt*|�7_Wn*|js�|jj+�d
|_�YnXdS)Nrv�rb�azr+brw�wbrV�xbz!mode must be 'r', 'a', 'w' or 'x'Fr�r`T)rrrwrV),r=r`�_moderyr�exists�	bltn_openr�r~r
r�rrB�abspathr�rGr��dereference�ignore_zerosr)r*r�r��debug�
errorlevelr��members�_loadedr�r��inodes�firstmemberrCr�r9r�rsrprmrrrSr%r�)r�r�r`r�rGr�ryrzr)r*r�r{r|Zmodes�erLr+r+r,r�ys�	
"				!															
)			
	zTarFile.__init__csY|r|rtd��|dkr��fdd�}x�t�jd|�D]�}t��j|�}|dk	r�|j�}	y||d||�SWqNttfk
r�}
z!|dk	r�|j|	�wNWYdd}
~
XqNXqNWtd��nSd|kr}|jdd	�\}}|p#d}|p/d
}|�jkrZt��j|�}ntd|��|||||�Sd|kr'|jdd	�\}}|p�d}|p�d
}|dkr�td��t	|||||�}y�||||�}
Wn|j
��YnXd|
_|
S|dkrI�j||||�Std��dS)Nznothing to openrv�r:*cs�j|dkS)N�taropen)�	OPEN_METH)r�)rr+r,�not_compressedsz$TarFile.open.<locals>.not_compressed�keyz%file could not be opened successfully�:rr�zunknown compression type %r�|rwzmode must be 'r' or 'w'FrrrVzundiscernible mode)rvr�)rvrw)rrrwrV)
r=�sortedr�rdr�rmrnr�rr�r�r�r�)rr�r`r�r��kwargsr�r��funcZ	saved_posr�r_�streamr�r+)rr,r�sP%

	zTarFile.opencKs+|dkrtd��|||||�S)NrvrrrwrVz!mode must be 'r', 'a', 'w' or 'x')rvrrrwrV)r=)rr�r`r�r�r+r+r,r�AszTarFile.taropenr�cKs)|d
krtd��yddl}|jWn$ttfk
rUtd��YnXy |j||d||�}Wn9tk
r�|dk	r�|dkr�td���YnXy|j||||�}WnKtk
r|j	�|dkrtd���Yn|j	��YnXd	|_
|S)NrvrwrVzmode must be 'r', 'w' or 'x'rzgzip module is not availablerZznot a gzip fileF)rvrwrV)r=�gzipZGzipFiler��AttributeErrorrnr�rmr�r�r�)rr�r`r��
compresslevelr�r�r�r+r+r,�gzopenIs2 



	zTarFile.gzopencKs�|d
krtd��yddl}Wntk
rHtd��YnX|j|pX||d|�}y|j||||�}WnQttfk
r�|j�|dkr�t	d���Yn|j��YnXd	|_
|S)NrvrwrVzmode must be 'r', 'w' or 'x'rzbz2 module is not availabler�znot a bzip2 fileF)rvrwrV)r=r�r�rn�BZ2Filer�r��EOFErrorr�rmr�)rr�r`r�r�r�r�r�r+r+r,�bz2openks(
	

	zTarFile.bz2opencKs�|d
krtd��yddl}Wntk
rHtd��YnX|j|pX||d|�}y|j||||�}WnT|jtfk
r�|j�|dkr�t	d���Yn|j��YnXd	|_
|S)NrvrwrVzmode must be 'r', 'w' or 'x'rzlzma module is not available�presetznot an lzma fileF)rvrwrV)r=r�r�rn�LZMAFiler�r�r�r�rmr�)rr�r`r�r�r�r�r�r+r+r,�xzopen�s&


	zTarFile.xzopenr�r�r�r�r�r�r�r�c
Cs�|jr
dSd|_zz|jdkr�|jjttd�|jtd7_t|jt�\}}|dkr�|jjtt|�Wd|j	s�|jj
�XdS)NTrrrwrVrr)rrrwrV)r�r`r�rSr&r�r�rQ�
RECORDSIZEr�r�)r�rXrYr+r+r,r��s			z
TarFile.closecCs/|j|�}|dkr+td|��|S)Nzfilename %r not found)�
_getmember�KeyError)r�r�r�r+r+r,�	getmember�szTarFile.getmembercCs$|j�|js|j�|jS)N)�_checkr~�_loadr})r�r+r+r,�
getmembers�s
	
zTarFile.getmemberscCsdd�|j�D�S)NcSsg|]}|j�qSr+)r�)rUr�r+r+r,rW�s	z$TarFile.getnames.<locals>.<listcomp>)r�)r�r+r+r,�getnames�szTarFile.getnamescCsI|jd�|dk	r"|j}|dkr4|}tjj|�\}}|jtjd�}|jd�}|j�}||_	|dkr�t
td�r�|jr�tj|�}q�tj
|�}ntj|j��}d}|j}t
j|�r�|j|jf}	|jrd|jdkrd|	|jkrd||j|	krdt}
|j|	}qt}
|	dr||j|	<n�t
j|�r�t}
nst
j|�r�t}
n[t
j|�r�t}
tj|�}n4t
j|�r�t }
nt
j!|�rt"}
ndS||_||_#|j$|_%|j&|_'|
tkrT|j(|_)n	d|_)|j*|_+|
|_,||_-t.r�yt.j/|j%�d|_0Wnt1k
r�YnXt2r�yt2j3|j'�d|_4Wnt1k
r�YnX|
t t"fkrEt
td�rEt
td�rEtj5|j6�|_7tj8|j6�|_9|S)	N�awxr��lstatr�rr�major�minor):r�r�ryr�
splitdriver��sep�lstripr�r�r~ryr�r^�fstat�fileno�st_mode�S_ISREG�st_ino�st_dev�st_nlinkrrar��S_ISDIRr��S_ISFIFOrg�S_ISLNKr_�readlink�S_ISCHRrc�S_ISBLKrer`�st_uidr�st_gidr�st_sizer�st_mtimerr�r��pwd�getpwuidr r��grp�getgrgidr!r��st_rdevr�r�r�)r�r��arcnamer�Zdrvr�Zstatresr�Zstmd�inoder�r+r+r,�
gettarinfo�s~	
			"
									

zTarFile.gettarinfoTr}cCsQ|j�|dkr|}x.|D]&}|r�ttj|j��td|jpZ|j|jpi|jf�|j	�s�|j
�r�tdd|j|jf�ntd|j
�tdtj|j�dd��t|j|j�r�dnd�|rB|j�r%td	|j�|j�rBtd
|j�t�q#WdS)Nz%s/%sz%10sz%d,%dz%10dz%d-%02d-%02d %02d:%02d:%02dr�r�r�z-> zlink to )r�rhr^r_r`r rr!rrdrfr�r�rr��	localtimerr�r/r`r�rbrg)r��verboser}r�r+r+r,rSCs*

#zTarFile.list�filterc	
Cs�|jd�|dkr|}|dk	rnddl}|jdtd�||�rn|jdd|�dS|jdk	r�tjj|�|jkr�|jdd|�dS|jd|�|j	||�}|dkr�|jdd|�dS|dk	r2||�}|dkr2|jdd|�dS|j
�rjt|d	��}|j||�WdQRXn�|j
�r�|j|�|r�xatj|�D]@}|jtjj||�tjj||�||d
|�q�Wn
|j|�dS)Nr�rzuse the filter argument insteadrztarfile: Excluded %rztarfile: Skipped %rrztarfile: Unsupported type %rrqr�)r�r[r\r]�_dbgr�ryrrxr�r?rw�addfiler/�listdir�addr�)	r�r�r�Z	recursiveZexcluder�r[r��fr+r+r,r�csB
	
*
*zTarFile.addcCs�|jd�tj|�}|j|j|j|j�}|jj|�|jt	|�7_|dk	r�t
||j|j�t|jt
�\}}|dkr�|jjtt
|�|d7}|j|t
7_|jj|�dS)Nr�rr)r�rr�rGr)r*r�rSr�r%rPrrQr�r&r}r�)r�r�r�rLrXrYr+r+r,r��s

zTarFile.addfile�.�
numeric_ownercCsUg}|dkr|}xb|D]Z}|j�rV|j|�tj|�}d|_|j||d|j�d|�qW|jddd��|j�x�|D]�}tjj	||j
�}y:|j||d|�|j||�|j
||�Wq�tk
rL}z.|jdkr&�n|jdd|�WYdd}~Xq�Xq�WdS)	Ni��	set_attrsr�r�cSs|jS)N)r�)rrr+r+r,�<lambda>�sz$TarFile.extractall.<locals>.<lambda>rztarfile: %s)r/r�rr`�extract�sort�reverseryrr�r��chown�utime�chmodrlr|r�)r�rr}r�Zdirectoriesr��dirpathr�r+r+r,�
extractall�s,

	

zTarFile.extractallr�cCsd|jd�t|t�r.|j|�}n|}|j�r[tjj||j�|_	y2|j
|tjj||j�d|d|�Wn�tk
r}zc|j
dkr��nI|jdkr�|jdd|j�n |jdd|j|jf�WYdd}~XnNtk
r_}z.|j
dkr9�n|jdd|�WYdd}~XnXdS)Nrvr�r�rrztarfile: %sztarfile: %s %r)r�r
rr�rbryrr�r�r��_extract_memberr�r�r|�filenamer��strerrorrl)r��memberrr�r�r�r�r+r+r,r��s(	
!2zTarFile.extractcCs�|jd�t|t�r.|j|�}n|}|j�sO|jtkr_|j||�S|j�sw|j	�r�t|j
t�r�td��q�|j
|j|��SndSdS)Nrvz'cannot extract (sym)link as file object)r�r
rr�r?r�r@�
fileobjectrbr`r�r�ro�extractfile�_find_link_target)r�r�r�r+r+r,r�s
zTarFile.extractfilecCs�|jd�}|jdtj�}tjj|�}|r\tjj|�r\tj|�|j�st|j	�r�|j
dd|j|jf�n|j
d|j�|j
�r�|j||�n�|j�r�|j||�n�|j�r|j||�n�|j�s|j�r2|j||�n]|j�sJ|j	�r]|j||�n2|jtkr|j||�n|j||�|r�|j|||�|j	�s�|j||�|j||�dS)Nr�rz%s -> %s)r0r�ryr�r�dirnamerv�makedirsrbr`r�r�r�r?�makefiler/�makedirrh�makefifordrf�makedev�makelinkr�r@�makeunknownr�r�r�)r�r��
targetpathr�r�Z	upperdirsr+r+r,r�&s4
#zTarFile._extract_membercCs-ytj|d�Wntk
r(YnXdS)Ni�)ry�mkdir�FileExistsError)r�r�r�r+r+r,r�Ws
zTarFile.makedirc
Cs�|j}|j|j�t|d���}|jdk	r�x7|jD],\}}|j|�t|||t�qDW|j|j�|j�nt|||jt�WdQRXdS)Nrs)	r�r�r�rwr�rPrmr�truncate)r�r�r��source�targetr�rr+r+r,r�as	

zTarFile.makefilecCs+|j||�|jdd|j�dS)Nrz9tarfile: Unknown file type %r, extracted as regular file.)r�r�r�)r�r�r�r+r+r,r�pszTarFile.makeunknowncCs/ttd�rtj|�ntd��dS)N�mkfifozfifo not supported by system)r~ryr�rl)r�r�r�r+r+r,r�xszTarFile.makefifocCs�ttd�s ttd�r,td��|j}|j�rQ|tjO}n
|tjO}tj||tj	|j
|j��dS)N�mknodr�z'special devices not supported by system)r~ryrlr`rfr^�S_IFBLK�S_IFCHRr�r�r�r�)r�r�r�r`r+r+r,r��s 	
zTarFile.makedevcCs�yj|j�r%tj|j|�nDtjj|j�rPtj|j|�n|j|j	|�|�WnPt
k
r�y|j|j	|�|�Wntk
r�td��YnXYnXdS)Nz%unable to resolve link inside archive)
r`ry�symlinkr�rrvr��linkr�r��symlink_exceptionr�rl)r�r�r�r+r+r,r��s

zTarFile.makelinkc Cs2tr.ttd�r.tj�dkr.|rB|j}|j}npytj|j�d}Wnt	k
ry|j}YnXytj
|j�d}Wnt	k
r�|j}YnXyH|j�r�ttd�r�tj
|||�ntj|||�Wn1tk
r-}ztd��WYdd}~XnXdS)N�geteuidrr�lchownzcould not change owner)r�r~ryr�rrr��getgrnamr!r��getpwnamr r`r�r�r�rl)r�r�r�r��g�ur�r+r+r,r��s$'	

z
TarFile.chowncCs^ttd�rZytj||j�Wn1tk
rY}ztd��WYdd}~XnXdS)Nr�zcould not change mode)r~ryr�r`r�rl)r�r�r�r�r+r+r,r��s
z
TarFile.chmodcCskttd�sdSy tj||j|jf�Wn1tk
rf}ztd��WYdd}~XnXdS)Nr�z"could not change modification time)r~ryr�rr�rl)r�r�r�r�r+r+r,r��s z
TarFile.utimecCsV|jd�|jdk	r2|j}d|_|S|j|jj�kr|jj|jd�|jjd�std��d}x�y|jj	|�}Wn�t
k
r�}z=|jr�|jdd|j|f�|jt
7_w�WYdd}~Xn(tk
r}}za|jrJ|jdd|j|f�|jt
7_w�n!|jdkrktt|���WYdd}~Xn�tk
r�|jdkr�td��Yn|tk
r�}z&|jdkr�tt|���WYdd}~Xn7tk
r$}ztt|���WYdd}~XnXPq�W|dk	rI|jj|�n	d|_|S)	NZrarzunexpected end of datarz0x%X: %srz
empty fileT)r�r�r�r�r�r�rRrmr�r9rsrzr�r�r>rrqrrrtr}r�r~)r��mr�r�r+r+r,rC�sL
				$
$%	zTarFile.nextcCs�|j�}|dk	r1|d|j|��}|rItjj|�}xKt|�D]=}|rztjj|j�}n	|j}||krV|SqVWdS)N)r��indexryr�normpath�reversedr�)r�r�r��	normalizer}r��member_namer+r+r,r�
	s	zTarFile._getmembercCs-x|j�}|dkrPqWd|_dS)NT)rCr~)r�r�r+r+r,r�!	s
z
TarFile._loadcCsQ|jrtd|jj��|dk	rM|j|krMtd|j��dS)Nz%s is closedzbad operation for mode %r)r�r�r�rir`)r�r`r+r+r,r�+	s	zTarFile._checkcCs�|j�rEdjtdtjj|j�|jf��}d}n|j}|}|j|d|dd�}|dkr�t	d|��|S)Nr�r�r�Tzlinkname %r not found)
r`r�r�ryrr�r�r�r�r�)r�r�r��limitr�r+r+r,r�4	s0		zTarFile._find_link_targetcCs$|jrt|j�St|�SdS)N)r~�iterr}�TarIter)r�r+r+r,�__iter__G	s	
zTarFile.__iter__cCs&||jkr"t|dtj�dS)N�file)r{rgre�stderr)r��level�msgr+r+r,r�O	szTarFile._dbgcCs|j�|S)N)r�)r�r+r+r,�	__enter__U	s
zTarFile.__enter__cCs<|dkr|j�n|js/|jj�d|_dS)NT)r�r�r�r�)r�r�r �	tracebackr+r+r,�__exit__Y	s

	
zTarFile.__exit__)7rirjrkr{ryrzr|rmrGrnr)r*rr�r�r�r�ror�rr�r�r�r�r�r�r�r�r�r�rSr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rCr�r�r�r�r�r�rrr+r+r+r,r_srkZ!
d =(&0
	6
	c@s4eZdZdd�Zdd�Zdd�ZdS)r�cCs||_d|_dS)Nr)r�r�)r�r�r+r+r,r�k	s	zTarIter.__init__cCs|S)Nr+)r�r+r+r,r�p	szTarIter.__iter__cCs�|jdkr3|jjdk	r3|jj�}nm|jt|jj�krd|jj|j}n<|jjs�|jj�}|s�d|j_t�nt�|jd7_|S)NrTr)r�r�r�rCr%r}r~�
StopIteration)r�r�r+r+r,�__next__t	s!	zTarIter.__next__N)rirjrkr�r�rr+r+r+r,r�d	sr�cCs;yt|�}|j�dSWntk
r6dSYnXdS)NTF)rr�r)r�r�r+r+r,r�	s

cCs�ddl}d}|jd|�}|jdddddd	d
d�|j�}|jdd
ddd
d�|jdddddd9d
d�|jdddddd:d
d�|jddddd
d�|j�}|jro|j}t|�rSt|d��*}|j�t	|j�d t
j�WdQRX|jrlt	d!j
|��q�|jd"d#j
|��n{|jr�|j}t|�r�tj|d$��}|jd%|j�WdQRXq�|jd"d#j
|��n|jr�t|j�d"kr|jd}tj}n=t|j�d&kr9|j\}}n|jd"|j��t|�r�tj|d$��}|jd'|�WdQRX|jr�|d(kr�d)j
|�}	nd*j
||�}	t	|	�q�|jd"d#j
|��n|jr�|jjd�}
tjj|
�\}}d+d,d-d,d.d/d0d/d1d2d3d2d4d2d5d2i}
||
krld6|
|nd7}|j}tj|
|��%}x|D]}|j|�q�WWdQRX|jr�t	d8j
|
��n|jd"|j��dS);Nrz3A simple command line interface for tarfile module.�descriptionz-vz	--verbose�action�
store_true�defaultF�helpzVerbose outputz-lz--list�metavar�	<tarfile>zShow listing of a tarfilez-ez	--extract�nargs�+�<output_dir>zExtract tarfile into target dirz-cz--create�<name>�<file>zCreate tarfile from sourcesz-tz--testzTest if a tarfile is validrvr�z{!r} is a tar archive.rz{!r} is not a tar archive.
zr:*r�rrr�z{!r} file is extracted.z+{!r} file is extracted into {!r} directory.z.gzr�z.tgzz.xzr�z.txzz.bz2r�z.tbzz.tbz2z.tb2zw:rwz{!r} file created.)rr)rr)�argparse�ArgumentParser�add_argument�add_mutually_exclusive_group�
parse_argsZtestrrr�rgrerr�rG�exitrSrr�r%ry�curdir�format_helpr�Zcreate�popr�splitextr�)rr�parserrI�argsrTr�ZtfrrZtar_name�_�extZcompressionsZtar_modeZ	tar_files�	file_namer+r+r,�main�	s�		
 				
	
	 	
	r#�__main__)a�version�
__author__�__date__Z	__cvsid__�__credits__�builtinsrrwreryr�rOr^r�rJrrGr�r�r�r��NotImplementedErrorr�r��	NameError�__all__r&r�r�rr�r�r�rr�r,rar_rcrer�rgZCONTTYPErrr-rrr<r�rCr�rmr@r]r1rZrNrr;r[r�rn�getfilesystemencodingr-r2rArHrMrPr_rh�	Exceptionrrlrmrnrorprqrrrsr>rtrur��objectr�r��BufferedReaderr�rrr�rr#rir+r+r+r,�<module> s�


						
�h�������	)	Z

Youez - 2016 - github.com/yon3zu
LinuXploit