Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_queue.cpython-312.opt-1.pyc

�

'ΜguR����ddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	e	jd��ejddg�	�Zejddg�
�Z
eje
d�ZdZd
�ZGd�dej$�ZGd�d�ZGd�de�ZGd�de�ZGd�deej.�ZeGd�deej.��ZGd�de�ZGd�deej.�ZeGd�deej.��ZGd �d!e�ZGd"�d#eej.�ZeGd$�d%eej.��ZGd&�d'e �Z!Gd(�d)e�Z"Gd*�d+e"ej.�Z#eGd,�d-e"ej.��Z$Gd.�d/�Z%Gd0�d1e%ej.�Z&eGd2�d3e%ej.��Z'e(d4k(rejR�yy)5�N)�
gc_collect)�
import_helper)�threading_helperT)�module�queue�_queue)�blocked)�freshzNo _queue module found�c�^�|jdkDxr|j�|jk(S�Nr)�maxsize�qsize)�qs �,/usr/local/lib/python3.12/test/test_queue.py�qfullrs$���9�9�q�=�3�Q�W�W�Y�!�)�)�3�3�c��eZdZd�Zd�Zy)�_TriggerThreadc��||_||_tj�|_tj
j
|�y�N)�fn�args�	threading�Event�startedEvent�Thread�__init__)�selfrrs   rrz_TriggerThread.__init__s3�������	�%�O�O�-������!�!�$�'rc��tjd�|jj�|j|j
�y)N皙�����?)�time�sleepr�setrr�rs r�runz_TriggerThread.run!s3��	
�
�
�3���������������rN)�__name__�
__module__�__qualname__rr&�rrrrs��(�rrc��eZdZd�Zd�Zy)�BlockingTestMixinc�"�t||�}|j�	||�|_|jj	�s|jd|z�|jt
j|�S#t
j|�wxYw)Nz*blocking function %r appeared not to block)r�start�resultr�is_set�failr�join_thread)r�
block_func�
block_args�trigger_func�trigger_args�threads      r�do_blocking_testz"BlockingTestMixin.do_blocking_test<sv����l�;������	1�$�j�1�D�K��&�&�-�-�/��	�	�F�$�%�&��;�;��(�(��0���(�(��0�s�AA7�7Bc��t||�}|j�		||�|jd|z�	tj|�|j
j
�s|jd�yy#|$r�wxYw#tj|�|j
j
�s|jd�wwxYw)Nzexpected exception of kind %rz(trigger thread ended but event never set)rr.r1rr2rr0)rr3r4r5r6�expected_exception_classr7s       r�do_exceptional_blocking_testz.BlockingTestMixin.do_exceptional_blocking_testJs�����l�;������	F�
;��J�'��	�	�9�!9�:�;�
�(�(��0��&�&�-�-�/��	�	�D�E�0��,�
��
��
�(�(��0��&�&�-�-�/��	�	�D�E�0�s�A;�B�;B�B�ACN)r'r(r)r8r;r*rrr,r,:s
��1�Frr,c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�BaseQueueTestMixinc�D�d|_tj�|_yr
)�cumr�Lock�cumlockr%s r�setUpzBaseQueueTestMixin.setUp]s����� �~�~�'��rc��|j�rtd��|j|j��|j	|j��|j
d�|j
d�|j
d�tgd�gd�gd���}|j�|j�|j�g}|j|||jjd	�ttd
z
�D]3}|j
|�|j|j�d��5|jt|�d�d
tz}dtz}|j
|�|jt|�d�|j	|j��|j|j��	|j
|d��|jd�	|j
|d��|jd�|j%|j|f|jd�|j%|j|ddf|jd�tt�D]}|j��|j|j�d�	|jd��|jd�	|jd��|jd�|j%|jd|jd�|j%|jd|jd�y#|j j"$rY��swxYw#|j j"$rY��nwxYw#|j j&$rY��wxYw#|j j&$rY��wxYw)N�&Call this function with an empty queue�o�M��)rErFrG)rGrFrE)rErGrF)�Queue�	LifoQueue�
PriorityQueuez&Didn't seem to queue the correct data!��Queue should not be empty�Queue should not be full���Queue should be fullr��blockz(Didn't appear to block with a full queueg{�G�z�?��timeoutz+Didn't appear to time-out with a full queuer*T�
�Queue should be emptyz*Didn't appear to block with an empty queuez-Didn't appear to time-out with an empty queue��empty)TrU)r�RuntimeError�
assertTruerX�assertFalse�full�put�dict�get�assertEqual�	__class__r'�range�
QUEUE_SIZErr1r�Fullr8�Empty)rr�target_order�actual_order�i�lastr\s       r�basic_queue_testz#BaseQueueTestMixin.basic_queue_testas����7�7�9��G�H�H�������	�"��������"�	���c�
�	���c�
�	���c�
��O�(7�,;�=����������!�%�%�'�2������|�A�K�K�4H�4H�'I�A�	C��z�!�|�$�A�
�E�E�!�H��O�O�A�G�G�I�'B�C�%�	
���E�!�H��&@�A��:�~���z�!��	���d������a��"8�9��������#��������!�	�
�E�E�$�a�E� ��I�I�@�A�	�
�E�E�$��E�%��I�I�C�D�	
���a�e�e�d�W�a�e�e�R�8����a�e�e�d�D�"�%5�q�u�u�b�A��z�"�A�
�E�E�G�#����A�G�G�I�
�'>�?�	�
�E�E��E�N��I�I�B�C�	�
�E�E�$�E���I�I�E�F�	
���a�e�e�R����
�;����a�e�e�Z����
�C��5�z�z���	��	��
�z�z���	��	���z�z���	��	��
�z�z���	��	�sH�$M�$M6�>#N�"#N5�M3�2M3�6N�N�N2�1N2�5O�Oc���	|j�}|dkr|j�y|j5|xj|z
c_ddd�|j��a#1swY�xYwr
)r_�	task_donerAr?)rr�xs   r�workerzBaseQueueTestMixin.worker�sR�������A��1�u����
��������A�
���
�K�K�M��
��s�A#�#A,c���d|_g}dD]E}tj|j|f��}|j	�|j|��Gt
d�D]}|j|��|j�|j|jtt
d��d�dD]}|jd��|j�|D]}|j��y)Nr)rrK��targetr�dz0q.join() did not block until all tasks were done���)r?rrrnr.�appendrbr]�joinr`�sum)rr�threadsrhr7s     r�queue_join_testz"BaseQueueTestMixin.queue_join_test�s���������A��%�%�T�[�[��t�D�F��L�L�N��N�N�6�"���s��A�
�E�E�!�H��	����������3�u�S�z�?�K�	M��A�
�E�E�"�I��	�����F��K�K�M�rc��|j�}	|j�|jd�y#t$rYywxYw�Nz(Did not detect task count going negative)�	type2testrlr1�
ValueError�rrs  r�test_queue_task_donez'BaseQueueTestMixin.test_queue_task_done�s@���N�N���	B�
�K�K�M�
�I�I�@�A���	��	�s�4�	A�Ac���|j�}|j|�|j|�	|j�|jd�y#t$rYywxYwrz)r{rxrlr1r|r}s  r�test_queue_joinz"BaseQueueTestMixin.test_queue_join�s^��
�N�N������Q�����Q��	B�
�K�K�M�
�I�I�@�A���	��	�s�A�	A"�!A"c�r�|jt�}|j|�|j|�yr)r{rcrjr}s  r�
test_basiczBaseQueueTestMixin.test_basic�s.��
�N�N�:�&�����a� ����a� rc�"�|jt�}|jt�5|j	dd��ddd�|jt�5|jdd��ddd�y#1swY�;xYw#1swYyxYw�NrKrsrS)r{rc�assertRaisesr|r]r_r}s  r�&test_negative_timeout_raises_exceptionz9BaseQueueTestMixin.test_negative_timeout_raises_exception�si���N�N�:�&��
�
�
�z�
*�
�E�E�!�R�E� �+�
�
�
�z�
*�
�E�E�!�R�E� �+�
*�+�
*��
*�
*�s�A9�B�9B�Bc���|jt�}tt�D]}|jd��|j	|j
j�5|jd�ddd�tt�D]}|j��|j	|j
j�5|j�ddd�y#1swY�lxYw#1swYyxYw)NrK)	r{rcrb�
put_nowaitr�rrd�
get_nowaitre�rrrhs   r�test_nowaitzBaseQueueTestMixin.test_nowait�s����N�N�:�&���z�"�A�
�L�L��O�#�
�
�
�t�z�z���
/�
�L�L��O�0��z�"�A�
�L�L�N�#�
�
�
�t�z�z�/�/�
0�
�L�L�N�1�
0�0�
/��
1�
0�s� C�C)�C&�)C2c��|jd�}|jd�|jd�|jd�|j|jj�5|jd�ddd�|j
|j�d�d|_|j|jj�5|jd�ddd�y#1swY�pxYw#1swYyxYw)N�rKrN�)	r{r]r�rrdr�r`rrr}s  r�test_shrinking_queuez'BaseQueueTestMixin.test_shrinking_queue�s����N�N�1���	���a��	���a��	���a��
�
�
�t�z�z���
/�
�L�L��O�0��������A�&���	�
�
�
�t�z�z���
/�
�L�L��O�0�
/�	0�
/��0�
/�s�*C+�C7�+C4�7DN)
r'r(r)rBrjrnrxr~r�r�r�r�r�r*rrr=r=\s8��(�6D�r��$B�B�!�!�
�rr=c���eZdZ�fd�Z�xZS)�	QueueTestc�X��|jj|_t�|��yr)rrHr{�superrB�rras �rrBzQueueTest.setUp�s������)�)���
��
�r�r'r(r)rB�
__classcell__�ras@rr�r���
����rr�c��eZdZeZy)�PyQueueTestN�r'r(r)�py_queuerr*rrr�r������Err�c��eZdZeZy)�
CQueueTestN�r'r(r)�c_queuerr*rrr�r������Err�c���eZdZ�fd�Z�xZS)�
LifoQueueTestc�X��|jj|_t�|��yr)rrIr{r�rBr�s �rrBzLifoQueueTest.setUps������-�-���
��
�rr�r�s@rr�r�r�rr�c��eZdZeZy)�PyLifoQueueTestNr�r*rrr�r�
r�rr�c��eZdZeZy)�CLifoQueueTestNr�r*rrr�r�r�rr�c���eZdZ�fd�Z�xZS)�PriorityQueueTestc�X��|jj|_t�|��yr)rrJr{r�rBr�s �rrBzPriorityQueueTest.setUps������1�1���
��
�rr�r�s@rr�r�r�rr�c��eZdZeZy)�PyPriorityQueueTestNr�r*rrr�r�r�rr�c��eZdZeZy)�CPriorityQueueTestNr�r*rrr�r�r�rr�c��eZdZy)�FailingQueueExceptionN�r'r(r)r*rrr�r�$s�rr�c�*��eZdZ�fd�Zd�Zd�Z�xZS)�FailingQueueTestc�x���|jj�G�fd�d��}||_t�|��y)Nc�,��eZdZ�fd�Z�fd�Z�fd�Zy)�,FailingQueueTest.setUp.<locals>.FailingQueuec�H��d|_d|_�j|g|���y)NF)�
fail_next_put�
fail_next_getr)rrrHs  �rrz5FailingQueueTest.setUp.<locals>.FailingQueue.__init__.s&���%*��"�%*��"�����t�+�d�+rc�d��|jrd|_td���j||�S�NFzYou Lose)r�r��_put)r�itemrHs  �rr�z1FailingQueueTest.setUp.<locals>.FailingQueue._put2s0����%�%�).�D�&�/�
�;�;��z�z�$��-�-rc�b��|jrd|_td���j|�Sr�)r�r��_get)rrHs �rr�z1FailingQueueTest.setUp.<locals>.FailingQueue._get7s.����%�%�).�D�&�/�
�;�;��z�z�$�'�'rN)r'r(r)rr�r�)rHs�r�FailingQueuer�-s���
,�
.�

(rr�)rrHr�r�rB)rr�rHras  @�rrBzFailingQueueTest.setUp)s1����
�
� � ��	(�5�	(� )���
��
�rc�\�|j�rtd��ttdz
�D]}|j	|��d|_	|j	dd��|j
d�d|_	|j	dd�	�|j
d�|j	d
�|jt|�d�d|_	|j|jd|jd
�|j
d�|j	d
�d|_	|j|jd|jd
t�|j
d�|j	d
�|jt|�d�|j�|jt|�d�|j	d
�|jt|�d�|j|jd|jd
�tt�D]}|j��|j|j�d�|j	d�d|_
	|j�|j
d�|j|j�d�d|_
	|jd�	�|j
d�|j|j�d�|j�|j|j�d�d|_
	|j|jd
|jdt�|j
d�|j|j�d�|j�|j|j�d�y#t$rY��[wxYw#t$rY��?wxYw#t$rY���wxYw#t$rY���wxYw#t$rY���wxYw#t$rY��EwxYw#t$rY��wxYw)NrDrKT�oopsrrQz)The queue didn't fail when it should haver!rSrirP)r\r*)r\TrUrMrV�firstrLrW)rrYrbrcr]r�r1r�rZrr8r_r;r�r�s   r�failing_queue_testz#FailingQueueTest.failing_queue_testAsl���7�7�9��G�H�H��z�!�|�$�A�
�E�E�!�H�%����	�
�E�E�&��E�"��I�I�A�B����	�
�E�E�&�#�E�&��I�I�A�B�	
���f�
�����a��"8�9����	��!�!�!�%�%��A�E�E�2�>��I�I�A�B�
	
���f�
����	��-�-�a�e�e�5G����PR�.C�
E��I�I�A�B�
	
���f�
�����a��"8�9�	�������E�!�H��&@�A�	���f�
�����a��"8�9����a�e�e�Y����r�:��z�"�A�
�E�E�G�#����A�G�G�I�
�'>�?�	���g�����	�
�E�E�G��I�I�A�B�	
������	�#>�?����	�
�E�E�#�E���I�I�A�B�	
������	�#>�?�	�������A�G�G�I�
�'>�?����	��-�-�a�e�e�R����
�.C�
E��I�I�A�B�	
������	�#>�?�	�������A�G�G�I�
�'>�?��K%�	��	��%�	��	��%�	��	��%�	��	��*%�	��	��%�	��	��%�	��	�s~�$N?�8$O�9O�">O/�*!O?�3#P�/>P�?	O�O�	O�O�	O,�+O,�/	O<�;O<�?	P�P�	P�P�	P+�*P+c�r�|jt�}|j|�|j|�yr)r�rcr�r}s  r�test_failing_queuez#FailingQueueTest.test_failing_queue�s0��
���j�)������"�����"r)r'r(r)rBr�r�r�r�s@rr�r�'s����0O@�b#rr�c��eZdZeZy)�PyFailingQueueTestNr�r*rrr�r��r�rr�c��eZdZeZy)�CFailingQueueTestNr�r*rrr�r��r�rr�c�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zy)�BaseSimpleQueueTestc�.�|j�|_yr)r{rr%s rrBzBaseSimpleQueueTest.setUp�s�����!��rc��		|j�}|j|�|j�dkDr&t	j
|j�dz��\#t$r|j|�YywxYw)Ng�?���MbP?)�pop�
IndexErrorr]�randomr"r#)rr�seq�rnd�sentinel�vals      r�feedzBaseSimpleQueueTest.feed�sk���
��g�g�i��
�E�E�#�J��z�z�|�c�!��
�
�3�:�:�<�$�.�/����
����h���
�s�A�A;�:A;c�T�	|j�}||k(ry|j|��(r)r_rt�rr�resultsr�r�s     r�consumezBaseSimpleQueueTest.consume�s+����%�%�'�C��h����N�N�3��	rc���			|jd��}	||k(ry|j|��-#|jj$rtjd�YnwxYw�a)NFrQ��h㈵��>)r_rrer"r#rtr�s     r�consume_nonblockz$BaseSimpleQueueTest.consume_nonblock�si������%�%�e�%�,�C���h����N�N�3�����z�z�'�'�%��J�J�t�$�%��s�/�.A �A c��			|jd��}	||k(ry|j|��-#|jj$rYnwxYw�L)Nr�rS)r_rrertr�s     r�consume_timeoutz#BaseSimpleQueueTest.consume_timeout�s`������%�%��%�-�C���h����N�N�3�����z�z�'�'�����s�/�A�
Ac
�r��g}d}|j�}|j�tjd�}	g��fd�}
t	|�D�cgc]#}tj|
|�|||	|f����%}}t	|�D�cgc]"}tj|
|�|||f����$}
}tj||
z�5	ddd�|j��|j|j��|j|j�d�|Scc}wcc}w#1swY�exYw)N�*c������fd�}|S)Nc�f��	�|i|��y#t$r}�j|�Yd}~yd}~wwxYwr)�
BaseExceptionrt)r�kwargs�e�
exceptions�fs   ��r�wrapperzHBaseSimpleQueueTest.run_threads.<locals>.log_exceptions.<locals>.wrapper�s6���)��t�&�v�&��$�)��%�%�a�(�(��)�s��	0�+�0r*)r�r�r�s` �r�log_exceptionsz7BaseSimpleQueueTest.run_threads.<locals>.log_exceptions�s���
)�
�Nrrpr)�copy�reverser��Randomrbrrr�
start_threadsr[rZrXr`r)r�	n_threadsr�inputs�	feed_func�consume_funcr�r�r�r�r�rh�feeders�	consumersr�s              @r�run_threadszBaseSimpleQueueTest.run_threads�s2��������k�k�m�����
��m�m�B����
�	�"�)�,�.�,�q��#�#�>�)�+D�*+�S�#�x�)@�B�,�	�.�
$�I�.�0�.���%�%�^�L�-I�,-�w��+A�C�.�	�0��
+�
+�G�i�,?�
@��A�	
����$�������	�"��������A�&����.��0�A�
@�s�(D#�'D(�D-�-D6c���|j}|j|j��|j|j	�d�|jd�|j
|j��|j|j	�d�|jd�|jd�|jd�|j
|j��|j|j	�d�|j|j�d�|j|j	�d�|j|j�d�|j|j	�d�|j|jd��d�|j
|j��|j|j	�d�|j|jd�	�d�|j|j��|j|j	�d�|j|jj�5|jd��ddd�|j|jj�5|jd
�	�ddd�|j|jj�5|j�ddd�|j|j��|j|j	�d�y#1swY��xYw#1swY��xYw#1swY�axYw)NrrKrNr�r�FrQr!rSr�)
rrZrXr`rr]r[r�r_r�r�rrer}s  rr�zBaseSimpleQueueTest.test_basic�sN���F�F��������	�"��������A�&�	���a���������#��������A�&�	���a��	���Q��	���a���������#��������A�&��������!�$��������A�&���������+��������A�&�������U��+�Q�/��������#��������A�&�������s��+�Q�/�������	�"��������A�&�
�
�
�t�z�z�/�/�
0�
�E�E��E��1�
�
�
�t�z�z�/�/�
0�
�E�E�$�E��1�
�
�
�t�z�z�/�/�
0�
�L�L�N�1�������	�"��������A�&�1�
0��
0�
0��
0�
0�s$�5M�5M�5M&�M�M#�&M/c��|j}|jd�|jt�5|j	d��ddd�y#1swYyxYwr�)rr]r�r|r_r}s  rr�z:BaseSimpleQueueTest.test_negative_timeout_raises_exceptions>���F�F��	���a��
�
�
�z�
*�
�E�E�"�E��+�
*�
*�s�A�Ac��|j}ttd��}|jd|||j|j
�}|j
||�y)NrrrK)r�listrbr�r�r�r`)rrr�r�s    r�
test_orderzBaseSimpleQueueTest.test_order!sK���F�F���e�C�j�!���"�"�1�a�����D�L�L�I��	
����&�)rc���d}|j}ttd��}|j||||j|j
�}|j
t|�|�y�N�2�')rr�rbr�r�r�r`�sorted�r�Nrr�r�s     r�test_many_threadsz%BaseSimpleQueueTest.test_many_threads*sT�����F�F���e�E�l�#���"�"�1�a�����D�L�L�I��	
������&�1rc���d}|j}ttd��}|j||||j|j
�}|j
t|�|�yr�)rr�rbr�r�r�r`rrs     r�test_many_threads_nonblockz.BaseSimpleQueueTest.test_many_threads_nonblock5sZ�����F�F���e�E�l�#���"�"�1�a��#'�9�9�d�.C�.C�E��	
������&�1rc���d}|j}ttd��}|j||||j|j
�}|j
t|�|�y)Nri�)rr�rbr�r�r�r`rrs     r�test_many_threads_timeoutz-BaseSimpleQueueTest.test_many_threads_timeout?sZ�����F�F���e�D�k�"���"�"�1�a��#'�9�9�d�.B�.B�D��	
������&�1rc�&�Gd�d�}d}|j}t|�D]}|j|���t|�D]E}tj|j��}t
�|j|���Gy)Nc��eZdZy)�.BaseSimpleQueueTest.test_references.<locals>.CNr�r*rr�CrLs��rr
�)rrbr]�weakref�refr_r�assertIsNone)rr
rrrh�wrs      r�test_referencesz#BaseSimpleQueueTest.test_referencesIsn��	�	�
���F�F���q��A�
�E�E�!�#�J���q��A����Q�U�U�W�%�B��L����b�d�#�rN)r'r(r)rBr�r�r�r�r�r�r�r�rrr	rr*rrr�r��sE��"�	0� � � ��@#'�J�*�	2�2�2�
$rr�c�"��eZdZeZ�fd�Z�xZS)�PySimpleQueueTestc�X��|jj|_t�|��yr)r�_PySimpleQueuer{r�rBr�s �rrBzPySimpleQueueTest.setUp\s������2�2���
��
�r)r'r(r)r�rrBr�r�s@rrrYs����E��rrc�.��eZdZeZ�fd�Zd�Zd�Z�xZS)�CSimpleQueueTestc�X��|jj|_t�|��yr)r�SimpleQueuer{r�rBr�s �rrBzCSimpleQueueTest.setUpfs������/�/���
��
�rc���|j|j|jj�|j|j|jj�yr)�assertIsr{rrr%s r�test_is_defaultz CSimpleQueueTest.test_is_defaultjs:���
�
�d�n�n�d�j�j�&<�&<�=��
�
�d�n�n�d�j�j�&<�&<�=rc	�Z���|j�tj��d}g}G��fd�dt�}	|�}�j	t���~|j
�j��|d|k\rn�K|j|tt|dz���y)Nrc� ��eZdZd�Z��fd�Zy)�2CSimpleQueueTest.test_reentrancy.<locals>.Circularc��||_yr)�circularr%s rrz;CSimpleQueueTest.test_reentrancy.<locals>.Circular.__init__zs	�� $��
rc�:���jt���yr)r]�next)r�genrs ��r�__del__z:CSimpleQueueTest.test_reentrancy.<locals>.Circular.__del__}s������d�3�i� rN)r'r(r)rr')r&rs��r�Circularr!ys
���
%�
!rr(rsrK)r�	itertools�count�objectr]r%rtr_r`r�rb)rrr�r(�or&rs     @@r�test_reentrancyz CSimpleQueueTest.test_reentrancyns����
�F�F���o�o�������
	!�v�	!���
�A�
�E�E�$�s�)����N�N�1�5�5�7�#��r�{�a���
�	
����$�u�Q��U�|�"4�5r)	r'r(r)r�rrBrr-r�r�s@rrras���
�E��>�6rr�__main__)*r)r�rr"�unittestr�test.supportrrr�requires_working_threading�import_fresh_moduler�r��
skipUnless�need_c_queuercrrrr,r=r��TestCaser�r�r�r�r�r�r�r��	Exceptionr�r�r�r�r�rrr'�mainr*rr�<module>r8s2���
�����#�&�)�,��+�+�4�8�,�=�,�,�W�x�j�I��
+�-�
+�
+�G�H�:�
F��"�x�"�"�7�,D�E��
�
�4��Y�%�%��@F�F�DV�*�V�p�"���)�X�.�.�����H�-�-�����&���m�X�%6�%6����]�H�$5�$5�����*���+�X�->�->����*�H�,=�,=����
-�I�,�q#�(�q#�j�)�8�+<�+<����(�(�*;�*;����q$�q$�h�+�X�->�->���&6�*�H�,=�,=�&6��&6�R�z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists