Mini Kabibi Habibi
��� 5 � ����������� � �Wmo�6���7�c�z����x+���mQ�SAI�ń&5�����;��,�^��Hl��{y��)������x�f�7�~wߔd��!�DijnG�ɽ���f8�,�CxO�J1s��T��m��9�(��B*�VX*�
E��Q�{���r�h�|�7s(���ȖO�;8��вU�c.��r�Rx�� ��C�t+��;��m3^�Dj�v��7���v�!��*�/�A�u�����̭�O�O-�$�)A١�����-\���4&���9{O0,��\��.�YF3O��5B4nO�sU��UQw=���lh��ӌ=NL:U�b6-��r*���iR#��-Q�.I�1��B<��k�gδ��B
�,��h��k�a
�l@B҇����"x�_��2�KN0��$���qHe�\����x
��X�����?�M�b�O�g��a)��&B{�*�7^���y�I&�r��Tr��gy����y2˧5 ͩ�ƺ��K55���2���@�HYR��h��r��G����#H4��eB��X�@�x�2�:�����0q4lSw��څ����g�)"X� ~Nw��gW.Z$�_�+怄�唴Ă�u���:@Oʳsm�"/ѻ��P�P,�
P��Gyk?���K � ���X��<�9tO���rcVc��-� (�����`�-�l�pvM�2%YrE�U����N�_�v�ĚjٸZ!5;�#�� 9��� w����������Y�8H�r~�>߰�7���P�k�sI�@jtz�<D��e�ٰf�IY]Y�X1��A"v-O��U:˶a7ik� ��ni��'O$����Q��B��u�m����m
�2����O��h*1LbY�:�:�BbNO�3�,��0�Hj�#�O"��5���.�~�0���H��KƳ��yW
G�^)5s�{��C��,��c�ix�r����Z�?��:c�Zb���&Ǟ�kh㠽��vk� b{��o�� �D��Q�P�r��~~Ji��X�x�S����jnGm���p�hl�����J�Ӯ
-��
���bj� #�6{�@�W0�����".7�8%���!&nF�F$#q]7��m$uX�j7���XT�+�,}5����L"m
�0�Dk��i��ʊg�Ew%$J���=چ�Ӡ�1@�]��6ƌ��F�ն���X�D���f2���f��� �c8@&R"Z�hc �i�J틉�������J�������q�0�\�kZ��n��3`CA4$��^d��Ҕj�W���:���;M��r�g� ��s��d@JJ�0��x�%"�v��t\�|x%�ʂ��q*���"UDd��(y����{�q�6s��7"�_��ґ�V`�C,�i�S"�Y��ܓ�����|��8G��)��d��
tU��z� ���6v�S��w>|��j,���b�1`� >1�w��ӳ��L�1�!����|O�uW@Z��[����-þ=��[�*Kf7�����z�ȃ��H������a�=y$N�h��U�F��ͯ�V;��=6���>���㉿��±���������~��A\N�}}Aۧ��
��?�{ {
"ciuvo": {
"enabled": true,
"inject_on_safe": true
},
"storeconsultant": {
"enabled": true,
"inject_on_safe": true
},
"stat": {
"dau": {
"res": "UA-102283103-1",
"rate": "10"
},
"agreement": {
"res": "UA-102283103-1",
"rate": "100"
},
"shopping_on_off": {
"res": "UA-102283103-1",
"rate": "100"
},
"shopping_normal": {
"res": "UA-102283103-2",
"rate": "15"
},
"popup": {
"res": "UA-102283103-4",
"rate": "100"
}
},
"stat_ff": {
"dau": {
"res": "UA-102283103-5"
},
"agreement": {
"res": "UA-102283103-5"
},
"shopping_on_off": {
"res": "UA-102283103-5"
},
"shopping_normal": {
"res": "UA-102283103-5"
},
"popup": {
"res": "UA-102283103-5"
}
}
}
�PNG
IHDR x ( 5�>% gAMA ���a �IDATx���{lE��m[
�-hAyI* �?@�F�K
ZP�Db�j��PPJi�B��� �F��
F�4����u%6m!�w��p���uwg�.�$�3��0��̢0�#���� Ra�uh"��|
)��=^�5F��
�A0�JaĄ>�F(= �M+���M
N:�8j�IV
3C!(`��mV����ǀ1�P�p=�C��\�/o�|x2`� � ��/P�\|WQsA��M�n�I��溏�3��훌���v8̇c�8@ᎃ��-�#5P0W/t��ݙ��#�uB��yڶ��EXyP��w��S���*P�h��ΥC�v�D'�� ���?�g)�f�
�}���pJt�����BUh��� w��E�H��p��_��>N,l�j��� �8-ԩ���B��N�
����T� t��(���*�yp�sߑpX������a;0��Z�,�Q0���i��CPJ�H��n�b��l�Auvi�XP�Z�Y���j��B9C����D��+8t���¶�PF53$�; �ʇ�b�8��z۴^g1Ρ
�)��*��fP���FQ�z����i��c���m1���gb���S��%-l���T7�v�S�9�X��aý��A�hK�[tj�/mP{��p_�.B�F{ o���?V�m9��~,�x�`�k(��^ڭ��4R�X�����n%�p(�����_�X�Zb0�i���0�gQ��&�M��?��k%`j_D���-��E��W��I_��GF�S=�M&���N�G���eJ~�`8A�$(6�L���N}�L\B?ܮ���i�3Z�r��
LE �f���Sh���0���~Q�u�=:m8��$#��LE �f���WӠ��!`σ���E�~�=�r��Q�4e�~��@FM#�Ѡ���>u��[��>�u���2p_�R?�J}V+ ���I�dԬ6pr{�4������3D�;����2p�g��G�e���$| }t���c�� .q��<�����z�?��Sl�"�3�����Ͻ���WU LE ��>� ��̐��d/s�M�A��6\N��ŃX��#���=�4X+���b #��/����ѯ$���λ��� ���t���t$�V�&�"�Q3�`(�{�+�!�y�,t�Q��&ͦ����jK��ߛ�f���7�s�F;� ����*��-���3��p��t���Eer�5'\f�"�Z��L��Q˅�i��N�Xx^��;��8��i���p�j�X��̣ �i�-����ѓ�g��B+�p{��!^m��:�{9W��9�2����v���;�n���[FA��x��RNQ��O��@hf�"�R��X�0�Fa�tq��y��_%r��0<O�ʠ��z �j��\���6D�F��u�J���E��5U�L�謪ì~X�PP �|k��Cn3�pe4 3 �U*>D�y�%ݳf��9#
�r���~ 4��ZM� sLԸ~P�;Dw�줽���l�&^���-8BO���'h�h<���$|0��t��ϛ��ߝ��z��߃t��L�����ʤ��$æ�O��G�-�&��Z5~E�����[������j{%]Y'�:�������w�0�.8�p�c�����̥ۥմ_�.|G���zme1|��-�_��If�Օ��s*�� `~r"���Zt�j��g|bb�E����5�0�K/��ry8�f�,pj0��/�O�)_ ��$��y���p@1�)�J�2�P A���L�su l�`U�z��
�B�0�C���0�p�a��74�7@�W�g� IEND�B`� ( ( N� N� N� N� F� /F� �F� �F� �F� �F� �F� �F� 1N� N� N� N� N� N� F� F� �F� �F� �F� �F� �F� �?� �?� �E� �3�"�&�MN� N� N� F� F� �F� �F� �F� �:�� ��� �� �� �� �� ���.�:�!�ZN� N� E� �E� �E� �E� �#�f� �� �� �� �� �� �� �� ���z�N� ��/A� �F� �D� ���� �� ��4�)�4�'� �� �� �� �� �� �� ��0 � ����� �� �� �� ��H� �H� � �� �� �� �� �� �� �� �� � � � � �� ��H� �H� � �� �� �� �� �� �� �� � � � �6�(�H� �H� �H� �H� �H� �H� �4�'� �� �� �� �� � � � �6�(�H� �H� �H� �H� �H� �H� �4�)� �� �� �� �� �� � � � � � �H� �H� � �� �� �� �� �� �� �� � � � � � � �H� �H� � �� �� �� ����� �� �� ��0 � � � � � �6�(�6�(� � �����D� �F� �>� � ��FN� !�x� �� � � � � � � ��&�d�E� �E� �E� �E� �N� N� ,�X6�3�ʑ� �� � � ��ș�<��F� �F� �F� �F� �F� N� N� N� F� ;�
�E� �A� �A� �F� �F� �F� �F� �F� �F� �F� N� N� N� N� N� N� F� 1F� �F� �F� �F� �F� �F� �F� /N� N� N� N� � �W�o�6~�_q�CC!��<
��C-�&hC�F�m.2銔/�;Q�%Yr� Ad�w��w�H���������v�]���דN7�'���$�\Z����V���|��j�dشP��Z�^OJ5R������[q����)��$I�?+�C�`�N��P6vK�YfҲ`����T�HU��p����gB������`�D�
�A>�6�ւ���ǝ6;�X�T��NY0i���*�;�Kx*��O��l��.��&C�$��C$�!��.j}ų�
x�����Cl���*y�A0����`7/K�3����Wp�ۯC/����|?�A�t³oV�|&b#�G+%��$:�m�۶� ��q5�3{��x��0���e��"�%ϭ·��5�Y���� ��Ƣ��.휝&z'�X�4�w��J��H�J53�a���`p{}���"Ѐ$)�oZ�D��P�{Lڧo�_bdb��gU�ѷ�#�d��3� ��d��$Lł��p4�n�N�'Ǖ^S��5\��`a��2���\>*�<��|�#��vB�cg�
���D+�3gzƂ{��';��M�laU~��fra�\a�
��w^x"3�'�^�ީȄ��p�Mj�j�݇��\������.�oExߍd��t��n!�6��1�zP�d���+]d)��Š�t L�d�Jʔc���*s��L|?
a,+<�ھR���f�1���5�K�4ۯ2�(�c�F49�o�i;�O9�ڬe-2/�����%
��gYpq�M"?���+b�F����M�zua{�r2��ǴɊKQ�W��S���$1�u��x�3:�M�=au>�ڥ�����K��e��K��9�_5~~���2�;�ߤ���^�#��{i��?|����<�T�4��eg�{���)/2��u:�
r3��"OD���~��e����~B{��t*:�3�j�29ek���u���؟�X���A�G�x�'/p�6�a���#�����'��m/��z��;����_���s��/����a��
� �W�o�6~�_q�CC!��<
��C-�&hC�F�m.2銔/�;Q�%Yr� Ad�w��w�H���������v�]���דN7�'���$�\Z����V���|��j�dشP��Z�^OJ5R������[q����)��$I�?+�C�`�N��P6vK�YfҲ`����T�HU��p����gB������`�D�
�A>�6�ւ���ǝ6;�X�T��NY0i���*�;�Kx*��O��l��.��&C�$��C$�!��.j}ų�
x�����Cl���*y�A0����`7/K�3����Wp�ۯC/����|?�A�t³oV�|&b#�G+%��$:�m�۶� ��q5�3{��x��0���e��"�%ϭ·��5�Y���� ��Ƣ��.휝&z'�X�4�w��J��H�J53�a���`p{}���"Ѐ$)�oZ�D��P�{Lڧo�_bdb��gU�ѷ�#�d��3� ��d��$Lł��p4�n�N�'Ǖ^S��5\��`a��2���\>*�<��|�#��vB�cg�
���D+�3gzƂ{��';��M�laU~��fra�\a�
��w^x"3�'�^�ީȄ��p�Mj�j�݇��\������.�oExߍd��t��n!�6��1�zP�d���+]d)��Š�t L�d�Jʔc���*s��L|?
a,+<�ھR���f�1���5�K�4ۯ2�(�c�F49�o�i;�O9�ڬe-2/�����%
��gYpq�M"?���+b�F����M�zua{�r2��ǴɊKQ�W��S���$1�u��x�3:�M�=au>�ڥ�����K��e��K��9�_5~~���2�;�ߤ���^�#��{i��?|����<�T�4��eg�{���)/2��u:�
r3��"OD���~��e����~B{��t*:�3�j�29ek���u���؟�X���A�G�x�'/p�6�a���#�����'��m/��z��;����_���s��/����a��
/* The lint marker gutter */
.CodeMirror-lint-markers {
width: 16px;
}
.CodeMirror-lint-tooltip {
background-color: #ffd;
border: 1px solid black;
border-radius: 4px 4px 4px 4px;
color: black;
font-family: monospace;
font-size: 10pt;
overflow: hidden;
padding: 2px 5px;
position: fixed;
white-space: pre;
white-space: pre-wrap;
z-index: 100;
max-width: 600px;
opacity: 0;
transition: opacity .4s;
-moz-transition: opacity .4s;
-webkit-transition: opacity .4s;
-o-transition: opacity .4s;
-ms-transition: opacity .4s;
}
.CodeMirror-lint-mark {
background-position: left bottom;
background-repeat: repeat-x;
}
.CodeMirror-lint-mark-warning {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=");
}
.CodeMirror-lint-mark-error {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==");
}
.CodeMirror-lint-marker {
background-position: center center;
background-repeat: no-repeat;
cursor: pointer;
display: inline-block;
height: 16px;
width: 16px;
vertical-align: middle;
position: relative;
}
.CodeMirror-lint-message {
padding-left: 18px;
background-position: top left;
background-repeat: no-repeat;
}
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=");
}
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=");
}
.CodeMirror-lint-marker-multiple {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");
background-repeat: no-repeat;
background-position: right bottom;
width: 100%; height: 100%;
}
.CodeMirror-lint-line-error {
background-color: rgba(183, 76, 81, 0.08);
}
.CodeMirror-lint-line-warning {
background-color: rgba(255, 211, 0, 0.1);
}
_dk_https://360totalsecurity.com https://doubleclick.net https://pagead2.googlesyndication.com/pcs/activeview?xai=AKAOjssa5ET1YWMJYr2ruh-0gIs9hSMtccmpoTCA1mh76piFWXuM_3_6D5hypIfI2QaysdxTwGqD91qVjFMtku48Z78fcx59o12bF3ytOjv_Dd1W00LZ3tXs5UM-FVJ5aX76_xeUsQcj7d4riKbHnLp2YGfKOMLvMG8GaGTPUlDu&sai=AMfl-YS2tFhx3tFxO0DN-SrvjJj85T1n1o-rjkGe_Rr8rM9KEihzH5O0aKIEqj_EZ9GxP4hLp61VEZ9hOEsW2u_QXxr65VE11zhWpCff_gIYgDLc0KRI_X7SeOP__BSjHFW6N3gb2pMXpptrVOXvEZs5_Q&sig=Cg0ArKJSzCdVpq8YpxoUEAE&cid=CAQSTwCa7L7d2zZZ_2K3QYG_eT0s91lTU0tBs0kciydqPvqc-E5wW2GBlL8AJx_Z18PxdmdsWTUBAZ9YwXygCZvzUGPQ2OsgBC-Ce8dudsxX5OwYAQ&id=lidar2&mcvt=1009&p=0,0,90,728&tm=1216.8999999761581&tu=208.20000004768372&mtos=1009,1009,1009,1009,1009&tos=1009,0,0,0,0&v=20241023&bin=7&avms=nio&bs=0,0&mc=1&if=1&vu=1&app=0&itpl=20&adk=3609416808&rs=2&la=0&cr=0&uach=WyJXaW5kb3dzIiwiMTAuMCIsIng4NiIsIiIsIjkxLjAuNDQ3Mi44NSIsbnVsbCwwLG51bGwsIiIsbnVsbCwwXQ%3D%3D&vs=4&r=v&co=2608891400&rst=1730156113214&rpt=1049&met=ie&wmsd=0&pbe=0&fle=0&vae=0&spb=0&sfl=0&ffslot=0&reach=8&io2=0 // global var that holds: 0- if ctrl key is not pressed 1- if ctrl key is pressed
var ctrlKeyHistory = 0;
/**
* Allows moving around inputs/select by Ctrl+arrows
*
* @param {object} event data
*/
function onKeyDownArrowsHandler(event) {
var e = event || window.event;
var o = e.srcElement || e.target;
if (!o) {
return;
}
if (o.tagName !== 'TEXTAREA' && o.tagName !== 'INPUT' && o.tagName !== 'SELECT') {
return;
}
if (e.which !== 17 && e.which !== 37 && e.which !== 38 && e.which !== 39 && e.which !== 40) {
return;
}
if (!o.id) {
return;
}
if (e.type === 'keyup') {
if (e.which === 17) {
ctrlKeyHistory = 0;
}
return;
} else if (e.type === 'keydown') {
if (e.which === 17) {
ctrlKeyHistory = 1;
}
}
if (ctrlKeyHistory !== 1) {
return;
}
e.preventDefault();
var pos = o.id.split('_');
if (pos[0] !== 'field' || typeof pos[2] === 'undefined') {
return;
}
var x = pos[2];
var y = pos[1];
switch (e.keyCode) {
case 38:
// up
y--;
break;
case 40:
// down
y++;
break;
case 37:
// left
x--;
break;
case 39:
// right
x++;
break;
default:
return;
}
var id = 'field_' + y + '_' + x;
var nO = document.getElementById(id);
if (!nO) {
id = 'field_' + y + '_' + x + '_0';
nO = document.getElementById(id);
}
// skip non existent fields
if (!nO) {
return;
}
nO.focus();
if (nO.tagName !== 'SELECT') {
nO.select();
}
e.returnValue = false;
}
AJAX.registerTeardown('keyhandler.js', function () {
$(document).off('keydown keyup', '#table_columns');
$(document).off('keydown keyup', 'table.insertRowTable');
});
AJAX.registerOnload('keyhandler.js', function () {
$(document).on('keydown keyup', '#table_columns', function (event) {
onKeyDownArrowsHandler(event.originalEvent);
});
$(document).on('keydown keyup', 'table.insertRowTable', function (event) {
onKeyDownArrowsHandler(event.originalEvent);
});
}); /*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
;(function (factory) {
var registeredInModuleLoader;
if (typeof define === 'function' && define.amd) {
define(factory);
registeredInModuleLoader = true;
}
if (typeof exports === 'object') {
module.exports = factory();
registeredInModuleLoader = true;
}
if (!registeredInModuleLoader) {
var OldCookies = window.Cookies;
var api = window.Cookies = factory();
api.noConflict = function () {
window.Cookies = OldCookies;
return api;
};
}
}(function () {
function extend () {
var i = 0;
var result = {};
for (; i < arguments.length; i++) {
var attributes = arguments[ i ];
for (var key in attributes) {
result[key] = attributes[key];
}
}
return result;
}
function decode (s) {
return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
}
function init (converter) {
function api() {}
function set (key, value, attributes) {
if (typeof document === 'undefined') {
return;
}
attributes = extend({
path: '/'
}, api.defaults, attributes);
if (typeof attributes.expires === 'number') {
attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
}
// We're using "expires" because "max-age" is not supported by IE
attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
try {
var result = JSON.stringify(value);
if (/^[\{\[]/.test(result)) {
value = result;
}
} catch (e) {}
value = converter.write ?
converter.write(value, key) :
encodeURIComponent(String(value))
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
key = encodeURIComponent(String(key))
.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
.replace(/[\(\)]/g, escape);
var stringifiedAttributes = '';
for (var attributeName in attributes) {
if (!attributes[attributeName]) {
continue;
}
stringifiedAttributes += '; ' + attributeName;
if (attributes[attributeName] === true) {
continue;
}
// Considers RFC 6265 section 5.2:
// ...
// 3. If the remaining unparsed-attributes contains a %x3B (";")
// character:
// Consume the characters of the unparsed-attributes up to,
// not including, the first %x3B (";") character.
// ...
stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
}
return (document.cookie = key + '=' + value + stringifiedAttributes);
}
function get (key, json) {
if (typeof document === 'undefined') {
return;
}
var jar = {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all.
var cookies = document.cookie ? document.cookie.split('; ') : [];
var i = 0;
for (; i < cookies.length; i++) {
var parts = cookies[i].split('=');
var cookie = parts.slice(1).join('=');
if (!json && cookie.charAt(0) === '"') {
cookie = cookie.slice(1, -1);
}
try {
var name = decode(parts[0]);
cookie = (converter.read || converter)(cookie, name) ||
decode(cookie);
if (json) {
try {
cookie = JSON.parse(cookie);
} catch (e) {}
}
jar[name] = cookie;
if (key === name) {
break;
}
} catch (e) {}
}
return key ? jar[key] : jar;
}
api.set = set;
api.get = function (key) {
return get(key, false /* read as raw */);
};
api.getJSON = function (key) {
return get(key, true /* read as json */);
};
api.remove = function (key, attributes) {
set(key, '', extend(attributes, {
expires: -1
}));
};
api.defaults = {};
api.withConverter = init;
return api;
}
return init(function () {});
}));
/**
* Debounce and throttle function's decorator plugin 1.0.6
*
* Copyright (c) 2009 Filatov Dmitry (alpha@zforms.ru)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
(function ($) {
$.extend({
/**
* Debounce's decorator
* @param {Function} fn original function
* @param {Number} timeout timeout
* @param {Boolean} [invokeAsap=false] invoke function as soon as possible
* @param {Object} [ctx] context of original function
*/
debounce: function (fn, timeout, invokeAsap, ctx) {
if (arguments.length == 3 && typeof invokeAsap != 'boolean') {
ctx = invokeAsap;
invokeAsap = false;
}
var timer;
return function () {
var args = arguments;
ctx = ctx || this;
invokeAsap && !timer && fn.apply(ctx, args);
clearTimeout(timer);
timer = setTimeout(function () {
invokeAsap || fn.apply(ctx, args);
timer = null;
}, timeout);
};
},
/**
* Throttle's decorator
* @param {Function} fn original function
* @param {Number} timeout timeout
* @param {Object} [ctx] context of original function
*/
throttle: function (fn, timeout, ctx) {
var timer, args, needInvoke;
return function () {
args = arguments;
needInvoke = true;
ctx = ctx || this;
timer || (function () {
if (needInvoke) {
fn.apply(ctx, args);
needInvoke = false;
timer = setTimeout(arguments.callee, timeout);
}
else {
timer = null;
}
})();
};
}
});
})(jQuery); /**
* @fileoverview function used for page-related settings
* @name Page-related settings
*
* @requires jQuery
* @requires jQueryUI
* @required js/functions.js
*/
function showSettings(selector) {
var buttons = {
[Messages.strApply]: {
text: Messages.strApply,
class: 'btn btn-primary'
},
[Messages.strCancel]: {
text: Messages.strCancel,
class: 'btn btn-secondary'
}
};
buttons[Messages.strApply].click = function () {
$('.config-form').trigger('submit');
};
buttons[Messages.strCancel].click = function () {
$(this).dialog('close');
};
// Keeping a clone to restore in case the user cancels the operation
var $clone = $(selector + ' .page_settings').clone(true);
$(selector).dialog({
classes: {
'ui-dialog-titlebar-close': 'btn-close'
},
title: Messages.strPageSettings,
width: 700,
minHeight: 250,
modal: true,
open: function () {
$(this).dialog('option', 'maxHeight', $(window).height() - $(this).offset().top);
},
close: function () {
$(selector + ' .page_settings').replaceWith($clone);
},
buttons: buttons
});
}
function showPageSettings() {
showSettings('#page_settings_modal');
}
function showNaviSettings() {
showSettings('#pma_navigation_settings');
}
AJAX.registerTeardown('page_settings.js', function () {
$('#page_settings_icon').css('display', 'none');
$('#page_settings_icon').off('click');
$('#pma_navigation_settings_icon').off('click');
});
AJAX.registerOnload('page_settings.js', function () {
if ($('#page_settings_modal').length) {
$('#page_settings_icon').css('display', 'inline');
$('#page_settings_icon').on('click', showPageSettings);
}
$('#pma_navigation_settings_icon').on('click', showNaviSettings);
}); // CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.runMode = function(string, modespec, callback, options) {
var mode = CodeMirror.getMode(CodeMirror.defaults, modespec);
var tabSize = (options && options.tabSize) || CodeMirror.defaults.tabSize;
// Create a tokenizing callback function if passed-in callback is a DOM element.
if (callback.appendChild) {
var ie = /MSIE \d/.test(navigator.userAgent);
var ie_lt9 = ie && (document.documentMode == null || document.documentMode < 9);
var node = callback, col = 0;
node.textContent = "";
callback = function(text, style) {
if (text == "\n") {
// Emitting LF or CRLF on IE8 or earlier results in an incorrect display.
// Emitting a carriage return makes everything ok.
node.appendChild(document.createTextNode(ie_lt9 ? '\r' : text));
col = 0;
return;
}
var content = "";
// replace tabs
for (var pos = 0;;) {
var idx = text.indexOf("\t", pos);
if (idx == -1) {
content += text.slice(pos);
col += text.length - pos;
break;
} else {
col += idx - pos;
content += text.slice(pos, idx);
var size = tabSize - col % tabSize;
col += size;
for (var i = 0; i < size; ++i) content += " ";
pos = idx + 1;
}
}
// Create a node with token style and append it to the callback DOM element.
if (style) {
var sp = node.appendChild(document.createElement("span"));
sp.className = "cm-" + style.replace(/ +/g, " cm-");
sp.appendChild(document.createTextNode(content));
} else {
node.appendChild(document.createTextNode(content));
}
};
}
var lines = CodeMirror.splitLines(string), state = (options && options.state) || CodeMirror.startState(mode);
for (var i = 0, e = lines.length; i < e; ++i) {
if (i) callback("\n");
var stream = new CodeMirror.StringStream(lines[i], null, {
lookAhead: function(n) { return lines[i + n] },
baseToken: function() {}
});
if (!stream.string && mode.blankLine) mode.blankLine(state);
while (!stream.eol()) {
var style = mode.token(stream, state);
callback(stream.current(), style, i, stream.start, state, mode);
stream.start = stream.pos;
}
}
};
});
/**
* @fileoverview Handle shortcuts in various pages
* @name Shortcuts handler
*
* @requires jQuery
* @requires jQueryUI
*/
/* global Console */ // js/console.js
/**
* Register key events on load
*/
$(function () {
var databaseOp = false;
var tableOp = false;
var keyD = 68;
var keyT = 84;
var keyK = 75;
var keyS = 83;
var keyF = 70;
var keyE = 69;
var keyH = 72;
var keyC = 67;
var keyBackSpace = 8;
$(document).on('keyup', function (e) {
// is a string but is also a boolean according to https://api.jquery.com/prop/
if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
return;
}
if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
return;
}
if (e.keyCode === keyD) {
setTimeout(function () {
databaseOp = false;
}, 2000);
} else if (e.keyCode === keyT) {
setTimeout(function () {
tableOp = false;
}, 2000);
}
});
$(document).on('keydown', function (e) {
// is a string but is also a boolean according to https://api.jquery.com/prop/
if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
return;
}
// disable the shortcuts when session has timed out.
if ($('#modalOverlay').length > 0) {
return;
}
if (e.ctrlKey && e.altKey && e.keyCode === keyC) {
Console.toggle();
}
if (e.ctrlKey && e.keyCode === keyK) {
e.preventDefault();
Console.toggle();
}
if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
return;
}
var isTable;
var isDb;
if (e.keyCode === keyD) {
databaseOp = true;
} else if (e.keyCode === keyK) {
e.preventDefault();
Console.toggle();
} else if (e.keyCode === keyS) {
if (databaseOp === true) {
isTable = CommonParams.get('table');
isDb = CommonParams.get('db');
if (isDb && !isTable) {
$('.nav-link .ic_b_props').first().trigger('click');
}
} else if (tableOp === true) {
isTable = CommonParams.get('table');
isDb = CommonParams.get('db');
if (isDb && isTable) {
$('.nav-link .ic_b_props').first().trigger('click');
}
} else {
$('#pma_navigation_settings_icon').trigger('click');
}
} else if (e.keyCode === keyF) {
if (databaseOp === true) {
isTable = CommonParams.get('table');
isDb = CommonParams.get('db');
if (isDb && !isTable) {
$('.nav-link .ic_b_search').first().trigger('click');
}
} else if (tableOp === true) {
isTable = CommonParams.get('table');
isDb = CommonParams.get('db');
if (isDb && isTable) {
$('.nav-link .ic_b_search').first().trigger('click');
}
}
} else if (e.keyCode === keyT) {
tableOp = true;
} else if (e.keyCode === keyE) {
$('.ic_b_export').first().trigger('click');
} else if (e.keyCode === keyBackSpace) {
window.history.back();
} else if (e.keyCode === keyH) {
$('.ic_b_home').first().trigger('click');
}
});
}); �PNG
IHDR � �g
`IDATx�[ex���1J:���133333c�.�<ff�!y�s�����|����y6�J�
�߂�F=#��TW��=��ݻk][��-��~mUԛY�xoO}�u�v��D�g����ŷ������ֻ��y�]�i�x����|�o����;����*P,/
d�qî��.��ã��j�hϖ��j#�>��71�7���ϛ��d�K� �p��h��W���#>a�e�x ���d���M݄<h��2���[��n��
ч���|�Qc��E����q��B�A.<�Ƽm�
�_��q�@��N���
_ċ���dv
ޕ�pa�em���v�A��E�V.�!�w��g�����z6s�YV�U��ϔ�K�t6�����B�-�/4��8����P^նpW���QpV
�)aN��m{��]��\�o�m���%��kwϔ�h���z3m��'���d��?8�&��?4�������o��4nf����+�i1����@�ń�����������7z��mo�R�^���#3W���ֱ�U�n��r!x��i�7�>*k�!}�6�Sp�|�V_��)�}F�'� �o�<$���% �A�Gf�n T�M:;�Y� }z��6
�̲���ط8��o�l��8�_�����X��nb�s������uC#���P��Q��^ݿk3������7]�U�۾Zu�"��Z>����[r������:8�hJ�˱أ�o߷J۸�)~l�@_?�o�/CC @"죓��
�j6x2��Va�-�V �n5�8�P?W���H�{��BsU Ҭ�����"�Ι5��76oFW�{�<�-?��v�P��?S|�o̱�X� ��9�K�!�߁�x����?� ���4�[<)}?���+v ��Ŧ�9�����RɅ����2�� �����" �R�^��P�H�t�;���s���їu1`S�� @Nbv�p���1{ �����O���|v�&��Y�ƛQ�7��Ϧ�˳�� �!P��}C�g����B�74_���f�ۿ��V�h�Or�#�~�;�n�����?�^˅�Im���ċ �3N ;
d�a�$�OYa��&�_���k7I>�i���wK�Ҋ��4)�m��w� ���;�Y��t���7S���(~Z�ۖ��Hj;!E���ø>�$z�2�}�}�ՊgZ�q0]?�(���A r��e��и�a��&��d�S/O`�i��_�E¿i� ���:�IF�#'T*�t ���� ��Q�o��[Lֳ��zwl�ﴪ�"����ͨ5c���y�8Q#P�L�l9!;���;�3����~_��SۅԶ���J���ױ��a ����%69�_ǤZ�҆�b�I��� ��̴к.aX��5�6��Qr� CTLЛ\����v+1R����<6d��}8
qv-a�$�khfC2ʚ�Lt��wpp|s�h���D�l� �8(��l�Cr�������C�?��0��F'I�hϚ���9f2�tͪ5��^3
���$Wh�+�q�f��|.�$iB61�O@j�O�dt/��\�$6�>/��&(��X�WB���PO�'