����JFIF�����%%��� }!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������� w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|��O�������h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,��������ο�O�P��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������k�w���~���v��������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j�?�5o�%��?��� g����U@�����&O3�����a�;�^=�wH���D��/��*� �fX�I���,������k?g_���?�5o�%��?��� g����U@�F�����������*������?�o�}��Τ~g��ʀ�#V��Y������~ο�T�j��K/� ������������z��������#;�~���A�;��� w�F�����������*���տ��_�@�o��5����EU������������u�誠��W��[�����������O��?jW���@��տ���@�o��5����EM������������v�訠�#V��Y�������������V��Zv��~����vw�~���c�Q@���,��~���kgo���?�5o�%��/��� o����Q@��o�%�>�ߤ���߳����S������?��o�%�~�ߠ�d�߳����S����g�P��j��K?� _������������[� g�D����[�;�TP7���������'Ѿ���=��;/�P��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���a������۔���B{���ea�`T�+ �n%Ц �����j��K?� _������������[� g�D����[�;�TP���,��~���kgo����?���%�/�~�����#����x��c�~�q�v�t`ȫ��_'h���������'�]�;{s� Pp=N= 5���%�����ڜs�����=���J��A@�����Kp�b��}��X�����4g v+:�Բ�+60�ʩ,� @�����������I �uO�����ToUv��bgUl�cP�T?�#V��Y������������j��K?� _����������!��X��]���������TK�|4��`� ��#��P\y��aa >NgL��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���o�F�����$��ہ�� ��vݞr6��S�q''*02���[� g�D����[�;�TP���,��~���kgo���?�5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE������������v�訠��������~1�o���}G�L�������5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE5����%�˷���r�v����y�\~���)(?0���=[� i����>��gc��N=����5o�%��/��� o����Q@�F�����������*(��W��Z�l����m#���X�wn_�j`0C6윅����5o�%��/��� o����Q@��տ��y9���gbO�G�5@�n�>���#V��Y������~ο�T��V��Y����9�gc��s�T.�?Z_��[� e�D����Y�:��UP���,������k?g_����_�=_� n�~~�rI������w�,"~ԓ�!72���)( u��#V��Y������~ο�T�j��K/� ��������������K
�����Kr_���}�De>~��Z=��pjX�n[p(�"� �a,Ub�/�×�<����;��<�����K>��o���[�:����V���,��$��ϧ�*�����5O����տ��_�@�o��5����EU5��o�%����?�ꜜm�_�;>Gbs�S�����@��տ��_�@�o��5����EU ��տ��}�~�����v?�������-��o�l��~�ȥ�v����r��B1���@��տ���A�?����ggP��c�S�`@%�*����տ��_�@�o��5����EU������������u�誠7���� O���!c�|0��ёv��4�+�X�Vx�RX3��8����K>��o���[�:���u#�x��#V��Y������~ο�T�j��K/� ������������[� e�D����Y�:��UP���,������k?g_���O��[� g�D����[�:��T��=_� k����~��k����c�;����.8����c��z��Ͽ�/��zc�o����F?Z_��[� e�D����Y�:��UP���,������k?g_���C���,�v����v�o���H������(�z���w�/�����v ��T.G��Ϡ���տ��_�@�o��5����EU������������u�誠��W��[��'����%��o���:�Cڕ�R̀���j���������?�o���[�;������g0q�?��o�%�>o�_��>�gf����~4�������������u�誠�z���7�/��o���������_��[� e�D����Y�:��UP���,������k?g_���C���,�|�����o��;�Ԟ��9�l�z��ؠ3|��O�X�~���;~�q����Z�F�����������*���տ��_�@�o��5����EU!��տ��}�~����-��G��I�T�������������u�誠�#V��Y������~ο�T�j��K/� ����������#�=_� n|���KbB�gtdM��"�ڒA#n�63�6�m�P�����,���/���gS�u����#�9��5o�%��?��� g����U@��o�%�o�_�����u��'�������?��o��� ���3��?go���|m�ڇ���-S�O��x��>���^�����7����x�]_�>�qke>���m��4��7P�Yހ��
0byt3m1n1
0byt3m1n1
Path:
/
hermes
/
bosweb
/
web
/
sb_web
/
web
/
b2680
/
zoompc.info
/
cindy
/
wp-content
/
plugins
/
assets
/
js
/
[
Home
]
File: admin.js
/** * Developer's Notice: * * Note: JS in this file (and this file itself) is not garunteed backwards compatibility. JS can be added, changed or removed at any time without notice. * For more information see the `Backwards Compatibility Guidelines for Developers` section of the README.md file. */ /** * Handles: * - Copy to Clipboard functionality * - Dismissable Notices * * @since 6.0.0 */ (function() { var list, dbjsError, errors = []; window.onerror = function( errorMsg, url, lineNumber ) { if ( ! document.getElementById( 'monsterinsights-ublock-origin-error' ) ) errors[ errors.length ] = [errorMsg, url, lineNumber]; else dbjsError(errorMsg, url, lineNumber); } jQuery(document).ready( function(){ for ( err in errors ) dbjsError( errors[err][0], errors[err][1], errors[err][2] ); }); dbjsError = function( errorMsg, url, lineNumber ) { var errorLine, place, button, tab; if ( !list ) list = document.getElementById( 'monsterinsights-ublock-origin-error' ); if (!list ) return; // threw way too early... @todo cache these? errorLine = document.createElement( 'li' ); errorLine.className = 'debug-bar-js-error'; errorLine.textContent = errorMsg + ' on '; place = document.createElement( 'span' ); place.textContent = url + ' line ' + lineNumber; errorLine.appendChild( place ); list.appendChild( errorLine ); }; })(); jQuery( document ).ready( function( $ ) { $("#screen-meta-links").prependTo("#monsterinsights-header-temp"); $("#screen-meta").prependTo("#monsterinsights-header-temp"); // Tooltips $('.monsterinsights-help-tip').tooltip({ content: function() { return $(this).prop('title'); }, tooltipClass: 'monsterinsights-ui-tooltip', position: { my: 'center top', at: 'center bottom+10', collision: 'flipfit', }, hide: { duration: 200, }, show: { duration: 200, }, }); /** * Copy to Clipboard */ if ( typeof Clipboard !== 'undefined' ) { var monsterinsights_clipboard = new Clipboard( '.monsterinsights-copy-to-clipboard' ); $( document ).on( 'click', '.monsterinsights-copy-to-clipboard', function( e ) { e.preventDefault(); } ); function fallbackMessage(action){ var actionMsg='';var actionKey=(action==='cut'?'X':'C'); if (/iPhone|iPad/i.test(navigator.userAgent ) ) { actionMsg='No support :('; } else if (/Mac/i.test(navigator.userAgent ) ) { actionMsg='Press ⌘-'+ actionKey+' to '+ action; } else { actionMsg='Press Ctrl-'+ actionKey+' to '+ action; } return actionMsg; } monsterinsights_clipboard.on('success',function(e){ e.trigger.textContent = monsterinsights_admin.copied; window.setTimeout(function() { e.trigger.textContent = monsterinsights_admin.copytoclip; }, 2000); }); monsterinsights_clipboard.on('error',function(e){ e.trigger.textContent = fallbackMessage(e.action); }); } /** * Dismissable Notices * - Sends an AJAX request to mark the notice as dismissed */ $( 'div.monsterinsights-notice' ).on( 'click', '.notice-dismiss', function( e ) { e.preventDefault(); $( this ).closest( 'div.monsterinsights-notice' ).fadeOut(); // If this is a dismissible notice, it means we need to send an AJAX request if ( $( this ).hasClass( 'is-dismissible' ) ) { $.post( monsterinsights_admin.ajax, { action: 'monsterinsights_ajax_dismiss_notice', nonce: monsterinsights_admin.dismiss_notice_nonce, notice: $( this ).parent().data( 'notice' ) }, function( response ) { }, 'json' ); } } ); function modelMatcher(params, data) { data.parentText = data.parentText || ""; // Always return the object if there is nothing to compare if ($.trim(params.term) === '') { return data; } // Do a recursive check for options with children if (data.children && data.children.length > 0) { // Clone the data object if there are children // This is required as we modify the object to remove any non-matches var match = $.extend(true, {}, data); // Check each child of the option for (var c = data.children.length - 1; c >= 0; c--) { var child = data.children[c]; child.parentText += data.parentText + " " + data.text; var matches = modelMatcher(params, child); // If there wasn't a match, remove the object in the array if (matches == null) { match.children.splice(c, 1); } } // If any children matched, return the new object if (match.children.length > 0) { return match; } // If there were no matching children, check just the plain object return modelMatcher(params, match); } // If the typed-in term matches the text of this term, or the text from any // parent term, then it's a match. var original = (data.parentText + ' ' + data.text).toUpperCase(); var term = params.term.toUpperCase(); // Check if the text contains the term if (original.indexOf(term) > -1) { return data; } // If it doesn't contain the term, don't return anything return null; } // Setup Select2 $('.monsterinsights-select300').select300(); var fields_changed = false; $(document).on('change', '#monsterinsights-settings :input', function(){ fields_changed = true; }); $(document).on('click', 'a:not(.monsterinsights-settings-click-excluded)', function( e ){ if ( fields_changed ) { var answer = confirm( monsterinsights_admin.settings_changed_confirm ); if ( answer ){ fields_changed = false; return true; } else { e.preventDefault(); return false; } } }); $('#monsterinsights-google-authenticate-submit').on( "click", function( e ) { e.preventDefault(); $('<div id="monsterinsights_google_auth_view" class="monsterinsights-hideme"></div>').prependTo('body'); $('<div id="monsterinsights_google_auth_block_view" class="monsterinsights-hideme"></div>').prependTo('body'); var data = { 'action': 'monsterinsights_google_view', 'view': 'prestart', 'reauth': false }; jQuery.post(ajaxurl, data, function(response) { $('#monsterinsights_google_auth_view').html(response); $('#monsterinsights_google_auth_view').removeClass('monsterinsights-hideme'); $('#monsterinsights_google_auth_block_view').removeClass('monsterinsights-hideme'); $('#wpadminbar').addClass('monsterinsights-hideme'); document.body.style.overflowY = "hidden"; document.body.style.overflowX = "hidden"; window.scrollTo( 0, 0 ); $('#adminmenumain').addClass('monsterinsights_opacity_60'); }).fail( function(xhr, textStatus, errorThrown) { var message = $(xhr.responseText).text(); message = message.substring(0, message.indexOf("Call Stack")); console.log( message ); }); }); $('#monsterinsights-google-reauthenticate-submit').on( "click", function( e ) { e.preventDefault(); $('<div id="monsterinsights_google_auth_view" class="monsterinsights_google_auth_reauth monsterinsights-hideme"></div>').prependTo('body'); $('<div id="monsterinsights_google_auth_block_view" class="monsterinsights-hideme"></div>').prependTo('body'); var data = { 'action': 'monsterinsights_google_view', 'view': 'prestart', 'reauth': true }; jQuery.post(ajaxurl, data, function(response) { $('#monsterinsights_google_auth_view').html(response); $('#monsterinsights_google_auth_view').removeClass('monsterinsights-hideme'); $('#monsterinsights_google_auth_block_view').removeClass('monsterinsights-hideme'); $('#wpadminbar').addClass('monsterinsights-hideme'); document.body.style.overflowY = "hidden"; document.body.style.overflowX = "hidden"; window.scrollTo( 0, 0 ); $('#adminmenumain').addClass('monsterinsights_opacity_60'); }).fail( function(xhr, textStatus, errorThrown) { var message = $(xhr.responseText).text(); message = message.substring(0, message.indexOf("Call Stack")); console.log( message ); }); }); $( document ).on( "click", '#monsterinsights_google_auth_box_next', function( e ) { e.preventDefault(); var stepdata = ''; if ( document.getElementById('monsterinsights_step_data') != null ) { stepdata = document.getElementById('monsterinsights_step_data').value; } var data = { 'action': 'monsterinsights_google_view', 'view': document.getElementById('monsterinsightsview').value, 'reauth': document.getElementById('monsterinsightsreauth').value, 'stepdata': stepdata, }; $('#monsterinsights_google_auth_box_footer').html( '<div class="monsterinsights-google-loading">' + monsterinsights_admin.loadingtext + '</div>' ); $('.monsterinsights_google_auth_box_cancel').hide(); jQuery.post(ajaxurl, data, function(response) { $('#monsterinsights_google_auth_view').html(response); $('#monsterinsights_google_auth_view').removeClass('monsterinsights-hideme'); $('#monsterinsights_google_auth_block_view').removeClass('monsterinsights-hideme'); var view = document.getElementById('monsterinsightsview').value; if ( view == 'selectprofile' ) { $('.monsterinsights_select_ga_profile').select300({matcher: modelMatcher}); monsterinsights_closepopupwindow(); } }).fail( function(xhr, textStatus, errorThrown) { var message = $(xhr.responseText).text(); message = message.substring(0, message.indexOf("Call Stack")); console.log( message ); }); }); $( document ).on( "click", '.monsterinsights_google_auth_box_done', function( e ) { e.preventDefault(); location.reload(); }); $( document ).on( "click", '.monsterinsights_google_auth_box_cancel_error', function( e ) { e.preventDefault(); location.reload(); }); $( document ).on( "click", '.monsterinsights_google_auth_box_cancel', function( e ) { e.preventDefault(); var stepdata = ''; if ( document.getElementById('monsterinsights_step_data') != null ) { stepdata = document.getElementById('monsterinsights_step_data').value; } var data = { 'action': 'monsterinsights_google_cancel', 'view': document.getElementById('monsterinsightsview').value, 'reauth': document.getElementById('monsterinsightsreauth').value, 'stepdata': stepdata, }; jQuery.post(ajaxurl, data, function(response) { document.body.style.overflowY = "visible"; document.body.style.overflowX = "visible"; $('#monsterinsights_google_auth_view').html(''); $('#monsterinsights_google_auth_view').addClass('monsterinsights-hideme'); $('#monsterinsights_google_auth_block_view').addClass('monsterinsights-hideme'); $('#adminmenumain').removeClass('monsterinsights_opacity_60'); $('#wpadminbar').removeClass('monsterinsights-hideme'); }).fail( function(xhr, textStatus, errorThrown) { var message = $(xhr.responseText).text(); message = message.substring(0, message.indexOf("Call Stack")); console.log( message ); }); }); // Tools JS $('#monsterinsights-url-builder input').keyup(monsterinsights_update_campaign_url); $('#monsterinsights-url-builder input').click(monsterinsights_update_campaign_url); function monsterinsights_update_campaign_url() { var domain = $('#monsterinsights-url-builer-domain').val().trim(); var source = $('#monsterinsights-url-builer-source').val().trim(); var medium = $('#monsterinsights-url-builer-medium').val().trim(); var term = $('#monsterinsights-url-builer-term').val().trim(); var content = $('#monsterinsights-url-builer-content').val().trim(); var name = $('#monsterinsights-url-builer-name').val().trim(); var fragment = $('#monsterinsights-url-builer-fragment').is(':checked'); var file = domain.substring(domain.lastIndexOf("/") + 1); if ( fragment && file.length > 0 && file.indexOf('#') > -1 ) { // If we're going to use hash, but there's already a hash, use & fragment = '&'; } else if ( ! fragment && file.length > 0 && file.indexOf('?') > -1 ) { // If we're going to use ?, but there's already one of those, use & fragment = '&'; } else { // The attachment we want to use doesn't exist yet, use requested (? or #) fragment = fragment ? '#' : '?'; } var html = domain + fragment + 'utm_source=' + encodeURIComponent(source); if (medium) { var html = html + '&utm_medium=' + encodeURIComponent(medium); } if (name) { var html = html + '&utm_campaign=' + encodeURIComponent(name); } if (term) { var html = html + '&utm_term=' + encodeURIComponent(term); } if (content) { var html = html + '&utm_content=' + encodeURIComponent(content); } if ( domain && source ) { $('#monsterinsights-url-builer-url').html(html.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")); } else { $('#monsterinsights-url-builer-url').html(''); } } $( document ).on( 'click', '#monsterinsights-shorten-url', function( e ) { e.preventDefault(); $("#monsterinsights-shorten-url").text( monsterinsights_admin.working ); var url = decodeURIComponent( $('#monsterinsights-url-builer-url').val() ); var data = { 'action': 'monsterinsights_get_shortlink', 'url' : url, 'nonce': monsterinsights_admin.admin_nonce, }; jQuery.post(ajaxurl, data, function(response) { $('#monsterinsights-url-builer-url').html(response.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")); $("#monsterinsights-shorten-url").text( monsterinsights_admin.shortened ); window.setTimeout(function() { $("#monsterinsights-shorten-url").text( monsterinsights_admin.shorten ); }, 2000); }).fail( function(xhr, textStatus, errorThrown) { $("#monsterinsights-shorten-url").text( monsterinsights_admin.failed ); window.setTimeout(function() { $("#monsterinsights-shorten-url").text( monsterinsights_admin.shorten ); }, 2000); }); } ); // Addons JS // Addon background color if ( $( "#monsterinsights-addons" ).length !== 0 ) { $( "#wpbody").css("background-color", "#f1f1f1"); $( "body").css("background-color", "#f1f1f1"); $( "#wpfooter").css("background-color", "#f1f1f1"); $( "#wpbody-content").css("padding-bottom", "0px"); } // Addons Search var addon_search_timeout; $( 'form#add-on-search input#add-on-searchbox' ).on( 'keyup', function() { // Clear timeout clearTimeout( addon_search_timeout ); // Get the search input, heading, results and cancel elements var search = $( this ), search_terms = $( search ).val().toLowerCase(), search_heading = $( search ).data( 'heading' ), search_results = $( search ).data( 'results' ), search_cancel = $( search ).data( 'cancel' ); // Show the Spinner $( 'form#add-on-search .spinner' ).css( 'visibility', 'visible' ); // If the search terms is less than 3 characters, show all Addons if ( search_terms.length < 3 ) { $( 'div.monsterinsights-addon' ).fadeIn( 'fast', function() { // Hide the Spinner $( 'form#add-on-search .spinner' ).css( 'visibility', 'hidden' ); } ); return; } // Iterate through the Addons, showing or hiding them depending on whether they // match the given search terms. $( 'div.monsterinsights-addon' ).each( function() { if ( $( 'h3.monsterinsights-addon-title', $( this ) ).text().toLowerCase().search( search_terms ) >= 0 ) { // This Addon's title does match the search terms // Show $( this ).fadeIn(); } else { // This Addon's title does not match the search terms // Hide $( this ).fadeOut(); } } ); // Hide the Spinner $( 'form#add-on-search .spinner' ).css( 'visibility', 'hidden' ); } ); // Addons Sorting var monsterinsights_addons_licensed_sorting = new List( 'monsterinsights-addons-licensed', { valueNames: [ 'monsterinsights-addon-title' ] } ); var monsterinsights_addons_unlicensed_sorting = new List( 'monsterinsights-addons-unlicensed', { valueNames: [ 'monsterinsights-addon-title' ] } ); $( 'select#monsterinsights-filter-select' ).on( 'change', function() { if ( typeof monsterinsights_addons_licensed_sorting.sort !== 'undefined' ) { monsterinsights_addons_licensed_sorting.sort( 'monsterinsights-addon-title', { order: $( this ).val(), } ); } if ( typeof monsterinsights_addons_unlicensed_sorting.sort !== 'undefined' ) { monsterinsights_addons_unlicensed_sorting.sort( 'monsterinsights-addon-title', { order: $( this ).val(), } ); } } ); // Re-enable install button if user clicks on it, needs creds but tries to install another addon instead. $('#monsterinsights-addons').on('click.refreshInstallAddon', '.monsterinsights-addon-action-button', function(e) { var el = $(this); var buttons = $('#monsterinsights-addons').find('.monsterinsights-addon-action-button'); $.each(buttons, function(i, element) { if ( el == element ) { return true; } monsterinsightsAddonRefresh(element); }); }); // Activate Addon $('#monsterinsights-addons').on('click.activateAddon', '.monsterinsights-activate-addon', function(e) { e.preventDefault(); var $this = $(this); // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. $('.monsterinsights-addon-error').remove(); $(this).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.activating); $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'}); var button = $(this); var plugin = $(this).attr('rel'); var el = $(this).parent().parent(); var message = $(this).parent().parent().find('.addon-status'); // Process the Ajax to perform the activation. var opts = { url: ajaxurl, type: 'post', async: true, cache: false, dataType: 'json', data: { action: 'monsterinsights_activate_addon', nonce: monsterinsights_admin.activate_nonce, plugin: plugin, isnetwork: monsterinsights_admin.isnetwork }, success: function(response) { // If there is a WP Error instance, output it here and quit the script. if ( response && true !== response ) { $(el).slideDown('normal', function() { $(this).after('<div class="monsterinsights-addon-error"><strong>' + response.error + '</strong></div>'); $this.next().hide(); $('.monsterinsights-addon-error').delay(3000).slideUp(); }); return; } // The Ajax request was successful, so let's update the output. if ( monsterinsights_admin.isnetwork ) { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.networkdeactivate).removeClass('monsterinsights-activate-addon').addClass('monsterinsights-deactivate-addon'); } else { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.deactivate).removeClass('monsterinsights-activate-addon').addClass('monsterinsights-deactivate-addon'); } $(message).text(monsterinsights_admin.active); // Trick here to wrap a span around he last word of the status var heading = $(message), word_array, last_word, first_part; word_array = heading.html().split(/\s+/); // split on spaces last_word = word_array.pop(); // pop the last word first_part = word_array.join(' '); // rejoin the first words together heading.html([first_part, ' <span>', last_word, '</span>'].join('')); // Proceed with CSS changes $(el).removeClass('monsterinsights-addon-inactive').addClass('monsterinsights-addon-active'); $this.next().hide(); }, error: function(xhr, textStatus ,e) { $this.next().hide(); return; } } $.ajax(opts); }); // Deactivate Addon $('#monsterinsights-addons').on('click.deactivateAddon', '.monsterinsights-deactivate-addon', function(e) { e.preventDefault(); var $this = $(this); // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. $('.monsterinsights-addon-error').remove(); $(this).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.deactivating); $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'}); var button = $(this); var plugin = $(this).attr('rel'); var el = $(this).parent().parent(); var message = $(this).parent().parent().find('.addon-status'); // Process the Ajax to perform the activation. var opts = { url: ajaxurl, type: 'post', async: true, cache: false, dataType: 'json', data: { action: 'monsterinsights_deactivate_addon', nonce: monsterinsights_admin.deactivate_nonce, plugin: plugin, isnetwork: monsterinsights_admin.isnetwork }, success: function(response) { // If there is a WP Error instance, output it here and quit the script. if ( response && true !== response ) { $(el).slideDown('normal', function() { $(this).after('<div class="monsterinsights-addon-error"><strong>' + response.error + '</strong></div>'); $this.next().hide(); $('.monsterinsights-addon-error').delay(3000).slideUp(); }); return; } // The Ajax request was successful, so let's update the output. if ( monsterinsights_admin.isnetwork ) { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.networkactivate).removeClass('monsterinsights-deactivate-addon').addClass('monsterinsights-activate-addon'); } else { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.activate).removeClass('monsterinsights-deactivate-addon').addClass('monsterinsights-activate-addon'); } $(message).text(monsterinsights_admin.inactive); // Trick here to wrap a span around he last word of the status var heading = $(message), word_array, last_word, first_part; word_array = heading.html().split(/\s+/); // split on spaces last_word = word_array.pop(); // pop the last word first_part = word_array.join(' '); // rejoin the first words together heading.html([first_part, ' <span>', last_word, '</span>'].join('')); // Proceed with CSS changes $(el).removeClass('monsterinsights-addon-active').addClass('monsterinsights-addon-inactive'); $this.next().hide(); }, error: function(xhr, textStatus ,e) { $this.next().hide(); return; } } $.ajax(opts); }); // Install Addon $('#monsterinsights-addons').on('click.installAddon', '.monsterinsights-install-addon', function(e) { e.preventDefault(); var $this = $(this); // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated. $('.monsterinsights-addon-error').remove(); $(this).html('<i class="monsterinsights-cloud-download"></i> ' + monsterinsights_admin.installing); $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'}); var button = $(this); var plugin = $(this).attr('rel'); var el = $(this).parent().parent(); var message = $(this).parent().parent().find('.addon-status'); // Process the Ajax to perform the activation. var opts = { url: ajaxurl, type: 'post', async: true, cache: false, dataType: 'json', data: { action: 'monsterinsights_install_addon', nonce: monsterinsights_admin.install_nonce, plugin: plugin }, success: function(response) { // If there is a WP Error instance, output it here and quit the script. if ( response.error ) { $(el).slideDown('normal', function() { $(button).parent().parent().after('<div class="monsterinsights-addon-error"><div class="xinterior"><p><strong>' + response.error + '</strong></p></div></div>'); $(button).html('<i class="monsterinsights-cloud-download"></i> ' + monsterinsights_admin.install); $this.next().hide(); $('.monsterinsights-addon-error').delay(4000).slideUp(); }); return; } // If we need more credentials, output the form sent back to us. if ( response.form ) { // Display the form to gather the users credentials. $(el).slideDown('normal', function() { $(this).after('<div class="monsterinsights-addon-error">' + response.form + '</div>'); $this.next().hide(); }); // Add a disabled attribute the install button if the creds are needed. $(button).attr('disabled', true); $('#monsterinsights-addons').on('click.installCredsAddon', '#upgrade', function(e) { // Prevent the default action, let the user know we are attempting to install again and go with it. e.preventDefault(); $this.next().hide(); $(this).html('<i class="monsterinsights-cloud-download"></i> ' + monsterinsights_admin.installing); $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'}); // Now let's make another Ajax request once the user has submitted their credentials. var hostname = $(this).parent().parent().find('#hostname').val(); var username = $(this).parent().parent().find('#username').val(); var password = $(this).parent().parent().find('#password').val(); var proceed = $(this); var connect = $(this).parent().parent().parent().parent(); var cred_opts = { url: ajaxurl, type: 'post', async: true, cache: false, dataType: 'json', data: { action: 'monsterinsights_install_addon', nonce: monsterinsights_admin.install_nonce, plugin: plugin, hostname: hostname, username: username, password: password }, success: function(response) { // If there is a WP Error instance, output it here and quit the script. if ( response.error ) { $(el).slideDown('normal', function() { $(button).parent().parent().after('<div class="monsterinsights-addon-error"><strong>' + response.error + '</strong></div>'); $(button).html('<i class="monsterinsights-cloud-download"></i> ' + monsterinsights_admin.install); $this.next().hide(); $('.monsterinsights-addon-error').delay(4000).slideUp(); }); return; } if ( response.form ) { $this.next().hide(); $('.monsterinsights-inline-error').remove(); $(proceed).val(monsterinsights_admin.proceed); $(proceed).after('<span class="monsterinsights-inline-error">' + monsterinsights_admin.connect_error + '</span>'); return; } // The Ajax request was successful, so let's update the output. $(connect).remove(); $(button).show(); if ( monsterinsights_admin.isnetwork ) { $(button).text(monsterinsights_admin.networkactivate).removeClass('monsterinsights-install-addon').addClass('monsterinsights-activate-addon'); } else { $(button).text(monsterinsights_admin.activate).removeClass('monsterinsights-install-addon').addClass('monsterinsights-activate-addon'); } $(button).attr('rel', response.plugin); $(button).removeAttr('disabled'); $(message).text(monsterinsights_admin.inactive); // Trick here to wrap a span around he last word of the status var heading = $(message), word_array, last_word, first_part; word_array = heading.html().split(/\s+/); // split on spaces last_word = word_array.pop(); // pop the last word first_part = word_array.join(' '); // rejoin the first words together heading.html([first_part, ' <span>', last_word, '</span>'].join('')); // Proceed with CSS changes $(el).removeClass('monsterinsights-addon-not-installed').addClass('monsterinsights-addon-inactive'); $this.next().hide(); }, error: function(xhr, textStatus ,e) { $this.next().hide(); return; } } $.ajax(cred_opts); }); // No need to move further if we need to enter our creds. return; } // The Ajax request was successful, so let's update the output. if ( monsterinsights_admin.isnetwork ) { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.networkactivate).removeClass('monsterinsights-install-addon').addClass('monsterinsights-activate-addon'); } else { $(button).html('<i class="monsterinsights-toggle-on"></i> ' + monsterinsights_admin.activate).removeClass('monsterinsights-install-addon').addClass('monsterinsights-activate-addon'); } $(button).attr('rel', response.plugin); $(message).text(monsterinsights_admin.inactive); // Trick here to wrap a span around he last word of the status var heading = $(message), word_array, last_word, first_part; word_array = heading.html().split(/\s+/); // split on spaces last_word = word_array.pop(); // pop the last word first_part = word_array.join(' '); // rejoin the first words together heading.html([first_part, ' <span>', last_word, '</span>'].join('')); // Proceed with CSS changes $(el).removeClass('monsterinsights-addon-not-installed').addClass('monsterinsights-addon-inactive'); $this.next().hide(); }, error: function(xhr, textStatus ,e) { $this.next().hide(); return; } } $.ajax(opts); }); // Function to clear any disabled buttons and extra text if the user needs to add creds but instead tries to install a different addon. function monsterinsightsAddonRefresh(element) { if ( $(element).attr('disabled') ) { $(element).removeAttr('disabled'); } if ( $(element).parent().parent().hasClass('monsterinsights-addon-not-installed') ) { $(element).text( monsterinsights_admin.install ); } } /** * Handles tabbed interfaces within MonsterInsights: * - Settings Page * - Reports Page * - Tools Page */ /* @todo: remove this comment, convert other comments to multiline (reduction safe), and namespace all variables (reduction safe) */ $( function() { MonsterInsightsTriggerTabs( true ); }); $( window ).on( "hashchange", function( e ) { e.preventDefault(); MonsterInsightsTriggerTabs( false ); }); function MonsterInsightsTriggerTabs( init ) { var window_hash = window.location.hash; var current_tab = ''; var tab_nav = '.monsterinsights-main-nav-container'; var tabs_section = '.monsterinsights-main-nav-tabs'; var current_sub_tab = ''; var sub_tabs_nav = '.monsterinsights-sub-nav-container'; var sub_tabs_section = '.monsterinsights-sub-nav-tabs'; var current_sub_tab_div = ''; // If there's no hash, then we're on the default, which the page will auto load first tab + subtab as active if ( window_hash.indexOf( '#' ) > -1 ) { if ( window_hash.indexOf( '?' ) < 1 ) { // No ?, but there is a # current_tab = window_hash; var firstchildclick = $( sub_tabs_nav ); // If there's no subtab defined, let's see if the page has subtabs, and if so select the first one. if ( "0" in firstchildclick && "firstElementChild" in firstchildclick[0] && "hash" in firstchildclick[0].firstElementChild ) { current_sub_tab = firstchildclick[0].firstElementChild.hash; current_sub_tab_div = '#' + ( firstchildclick[0].firstElementChild.hash ).split( '?' )[1]; } } else { // ? and a # var tab_split = window_hash.split( '?' ); current_tab = tab_split[0]; current_sub_tab = window_hash; current_sub_tab_div = '#' + tab_split[1]; } // @todo: if the tab doesn't exist, we should fallback to finding the first tab and opening that // If we fallback, we should clear the sub_tab so we ensure we land on the first subtab of the new // tab, if that pages has subtabs. $( tab_nav ).find( '.monsterinsights-active' ).removeClass( 'monsterinsights-active' ); $( tabs_section ).find( '.monsterinsights-active' ).removeClass( 'monsterinsights-active' ); $( sub_tabs_nav ).find( '.monsterinsights-active' ).removeClass( 'monsterinsights-active' ); $( sub_tabs_section ).find( '.monsterinsights-active' ).removeClass( 'monsterinsights-active' ); $( tab_nav ).find( 'a[href="' + current_tab + '"]' ).addClass( 'monsterinsights-active' ); $( tabs_section ).find( current_tab ).addClass( 'monsterinsights-active' ); // Check to make sure the subtab given in the url exists, and then open it. if ( $( sub_tabs_nav ).find( 'a[href="' + current_sub_tab + '"]' ).length == 1 ) { $( sub_tabs_nav ).find( 'a[href="' + current_sub_tab + '"]' ).addClass( 'monsterinsights-active' ); $( sub_tabs_section ).find( current_sub_tab_div ).addClass( 'monsterinsights-active' ); } else { // If the subtab given in the URL doesn't exist, let's see if the page has subtabs, and if so select the first one. var firstchildclick = $( sub_tabs_nav ); if ( "0" in firstchildclick && "firstElementChild" in firstchildclick[0] && "hash" in firstchildclick[0].firstElementChild ) { $( sub_tabs_nav ).find( 'a[href="#' + (firstchildclick[0].firstElementChild.hash).split( '?' )[1] + '"]' ).addClass( 'monsterinsights-active' ); $( sub_tabs_section ).find( '#' + (firstchildclick[0].firstElementChild.hash).split( '?' )[1] ).addClass( 'monsterinsights-active' ); } } if ( $('.monsterinsights-main-nav-tabs .monsterinsights-main-nav-tab:not(".monsterinsights-active") .monsterinsights-tab-settings-notices .monsterinsights-notice' ).length > 0 ) { $('.monsterinsights-main-nav-tabs .monsterinsights-main-nav-tab:not(".monsterinsights-active") .monsterinsights-tab-settings-notices .monsterinsights-notice' ).remove(); } if ( $('.monsterinsights-sub-nav-tabs .monsterinsights-sub-nav-tab:not("' + current_sub_tab_div + '") .monsterinsights-subtab-settings-notices .monsterinsights-notice' ).length > 0 ) { $('.monsterinsights-sub-nav-tabs .monsterinsights-sub-nav-tab:not("' + current_sub_tab_div + '") .monsterinsights-subtab-settings-notices .monsterinsights-notice' ).remove(); } if ( current_tab !== '#monsterinsights-main-tab-tracking' ) { if ( $('.monsterinsights-sub-nav-tabs .monsterinsights-sub-nav-tab .monsterinsights-subtab-settings-notices .monsterinsights-notice' ).length > 0 ) { $('.monsterinsights-sub-nav-tabs .monsterinsights-sub-nav-tab .monsterinsights-subtab-settings-notices .monsterinsights-notice' ).remove(); } } // Is the window taller than the #adminmenuwrap? if ($(window).height() > $("#adminmenuwrap").height()) { // ...if so, make the #adminmenuwrap fixed $('#adminmenuwrap').css('position', 'fixed'); } else { //...otherwise, leave it relative $('#adminmenuwrap').css('position', 'relative'); } } } }); function monsterinsights_popupwindow(url, w, h) { 'use strict'; monsterinsights_closepopupwindow(); var left = (screen.width/2)-(w/2); var top = (screen.height/8); monsterinsights_authwindow = window.open(url, 'monsterinsights_ga_auth_window', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); } function monsterinsights_closepopupwindow() { if( monsterinsights_authwindow ){ monsterinsights_authwindow.close(); } } function monsterinsights_show_manual( ){ document.getElementById("monsterinsights-google-ua-box").className = ""; } var uorigindetected = 'no'; var monsterinsights_authwindow;
© 2017 -
ZeroByte.ID
.