<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
  <name>CMSMailer</name>
  <version>1.73.6</version>
  <help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+CjxoMz5BbiBFeGFtcGxlPC9oMz4KPHByZT4KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCdjYWxndXkxMDAwQGhvdG1haWwuY29tJywnY2FsZ3V5Jyk7CiAgJGNtc21haWxlci0+U2V0Qm9keSgnJmx0O2gxJmd0O1RoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UmbHQ7aDEmZ3Q7Jyk7CiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJ1Rlc3QgbWVzc2FnZScpOwogICRjbXNtYWlsZXItPlNlbmQoKTsKPC9wcmU+CjxoMz5BUEk8L2gzPgo8dWw+CjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPgo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPgo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPgo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+CjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPgo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+CjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+CjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIGhvc3RzPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPgo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPgo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+CjwvbGk+CjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPgo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+CjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+CjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+CjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAnJyApPC9iPjwvcD4KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICcnLCAkZW5jb2RpbmcgPSAnYmFzZTY0JywgJHR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbScgKTwvYj48L3A+CjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJycgKTwvYj48L3A+CjxwPkFkZCBhIEJDQydkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJycgKTwvYj48L3A+CjxwPkFkZCBhIENDJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAnJywgJGVuY29kaW5nID0gJ2Jhc2U2NCcsICR0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0nICk8L2I+PC9wPgo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAnJyApPC9iPjwvcD4KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJ2Jhc2U2NCcsICR0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0nICk8L2I+PC9wPgo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+CjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+CjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPgo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPgo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+CjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPgo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPgo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+CjwvbGk+CjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPgo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICcnICk8L2I+PC9wPgo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4KPC9saT4KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4KPC9saT4KPC91bD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+Jmx0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgo8aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==</help>
  <about>PGJyIC8+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuNzMuNjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPgo8dWw+CjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPgo8L3VsPjxiciAvPg==</about>
  <file>
    <filename>/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/CMSMailer.module.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENNU01haWxlciAtIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHBocG1haWxlcgojIFZlcnNpb246IDEuNzMuNiwgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnJlcXVpcmVfb25jZSgncGhwbWFpbGVyL2NsYXNzLnBocG1haWxlci5waHAnICk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKiBZb3VyIGluaXRpYWwgQ2xhc3MgZGVjbGFyYXRpb24uIFRoaXMgZmlsZSdzIG5hbWUgbXVzdAogICBiZSAiW2NsYXNzJ3MgbmFtZV0ubW9kdWxlLnBocCIsIG9yLCBpbiB0aGlzIGNhc2UsCiAgIFNrZWxldG9uLm1vZHVsZS5waHAKKi8gCmNsYXNzIENNU01haWxlciBleHRlbmRzIENNU01vZHVsZQp7CiAgdmFyICR0aGVfbWFpbGVyOwoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDTVNNYWlsZXIoKQogICBjb25zdHJ1Y3RvcgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIENNU01haWxlcigpCiAgewogICAgLy8gY2FsbCB0aGUgcGFyZW50IGNsYXNzJyBjb25zdHJ1Y3RvcgogICAgcGFyZW50OjpDTVNNb2R1bGUoKTsKCiAgICAvLyBub3cgZG8gb3VyIHN0dWZmCiAgICAkdGhpcy0+dGhlX21haWxlciA9IG5ldyBQSFBNYWlsZXI7CiAgICAkdGhpcy0+cmVzZXQoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0NNU01haWxlcic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS43My42JzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ0NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGhvdG1haWwuY29tJzsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24KICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mCiAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEknbGwgYmUgY2FsbGluZwogICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3IKICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluU2VjdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKICB7CiAgICByZXR1cm4gJ2V4dGVuc2lvbnMnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEFkbWluRGVzY3JpcHRpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnICk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXREZXBlbmRlbmNpZXMoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsKCkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWFpbGVyJywgJ3NtdHAnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdob3N0JywgJ2xvY2FsaG9zdCcpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BvcnQnLCAyNSApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Zyb20nLCAncm9vdEBsb2NhbGhvc3QnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcm9tdXNlcicsICdSb290Jyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZG1haWwnLCAnL3Vzci9zYmluL3NlbmRtYWlsJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsIDEwMDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NtdHBhdXRoJywwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZScsJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJywnJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVwZ3JhZGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVwZ3JhZGUoJG9sZHZlcnNpb24sICRuZXd2ZXJzaW9uKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZQogIH0KCQoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGwoKQogIHsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdtYWlsZXInKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdob3N0Jyk7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgncG9ydCcpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2Zyb20nKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdmcm9tdXNlcicpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3NlbmRtYWlsJyk7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndGltZW91dCcpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3NtdHBhdXRoJywwKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCd1c2VybmFtZScpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3Bhc3N3b3JkJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkPS0xKQogIHsKICAgIHN3aXRjaCAoJGFjdGlvbikKICAgICAgewogICAgICBjYXNlICdkZWZhdWx0JzoKCXsKCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ2RlZmF1bHRhZG1pbic6Cgl7CgkgICR0aGlzLT5fRGlzcGxheUFkbWluUGFuZWwoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRhZG1pbnByZWZzJzoKCXsKCSAgJHRoaXMtPl9TZXRBZG1pblByZWZzKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICBicmVhazsKCX0KICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9EaXNwbGF5QWRtaW5QYW5lbCgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQgKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5QYW5lbCgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJCSAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnc2V0YWRtaW5wcmVmcycsICRyZXR1cm5pZCApKTsKCiAgICAkbWFpbGVyaXRlbXMgPSBhcnJheSgpOwogICAgJG1haWxlcml0ZW1zWydtYWlsJ10gPSAnbWFpbCc7CiAgICAkbWFpbGVyaXRlbXNbJ3NlbmRtYWlsJ10gPSAnc2VuZG1haWwnOwogICAgJG1haWxlcml0ZW1zWydzbXRwJ10gPSAnc210cCc7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tYWlsZXInLAoJCQkgICR0aGlzLT5MYW5nKCdtYWlsZXInKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X21haWxlcicsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ2lucHV0X21haWxlcicsCgkJCQkJCSAgICAgICRtYWlsZXJpdGVtcywgLTEsCgkJCQkJCSAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYWlsZXInLC0xKSkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2hvc3QnLAoJCQkgICR0aGlzLT5MYW5nKCdob3N0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ob3N0JywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9ob3N0JywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaG9zdCcpLAoJCQkJCQkgIDQwLCAyMCApKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wb3J0JywKCQkJICAkdGhpcy0+TGFuZygncG9ydCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcG9ydCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfcG9ydCcsCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BvcnQnKSwKCQkJCQkJICA0LCA0KSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJvbScsCgkJCSAgJHRoaXMtPkxhbmcoJ2Zyb20nKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2Zyb20nLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X2Zyb20nLAoJCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcm9tJyksCgkJCQkJCSAgNTAsIDUwKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJvbXVzZXInLAoJCQkgICR0aGlzLT5MYW5nKCdmcm9tdXNlcicpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZnJvbXVzZXInLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X2Zyb211c2VyJywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJvbXVzZXInKSwKCQkJCQkJICA1MCwgNTApKTsKCQkJICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3NlbmRtYWlsJywKCQkJICAkdGhpcy0+TGFuZygnc2VuZG1haWwnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlbmRtYWlsJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9zZW5kbWFpbCcsCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRtYWlsJyksCgkJCQkJCSAgNTAsIDUwKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGltZW91dCcsCgkJCSAgJHRoaXMtPkxhbmcoJ3RpbWVvdXQnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RpbWVvdXQnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3RpbWVvdXQnLAoJCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lb3V0JyksCgkJCQkJCSAgNSwgNSkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3NtdHBhdXRoJywKCQkJICAkdGhpcy0+TGFuZygnc210cGF1dGgnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3NtdHBhdXRoJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9zbXRwYXV0aCcsMSwKCQkJCQkJICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc210cGF1dGgnKSkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywKCQkJICAkdGhpcy0+TGFuZygndXNlcm5hbWUnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF91c2VybmFtZScsCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lJyksCgkJCQkJCSAgMzAsIDMwKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFzc3dvcmQnLAoJCQkgICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcGFzc3dvcmQnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCAkaWQsICdpbnB1dF9wYXNzd29yZCcsCgkJCQkJCSAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZCcpKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnc3VibWl0JywgCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoICRpZCwgJ2NhbmNlbCcsIAoJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlPScnKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwogICAgaWYgKCRtZXNzYWdlICE9ICcnKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwogICAgICB9CiAgICAKICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICB9CgogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLy8vIEJFR0lOIEFQSSBTRUNUSU9OCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICByZXNldCgpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gcmVzZXQoKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5UaW1lb3V0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVvdXQnKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kbWFpbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kbWFpbCcpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlBvcnQgICA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwb3J0Jyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+TWFpbGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21haWxlcicpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkZyb21OYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Zyb211c2VyJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+RnJvbSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcm9tJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+SG9zdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdob3N0Jyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U01UUEF1dGggPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc210cGF1dGgnKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Vc2VybmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZScpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlBhc3N3b3JkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJBZGRyZXNzZXMoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckF0dGFjaG1lbnRzKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJDdXN0b21IZWFkZXJzKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJCQ0NzKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJDQ3MoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhclJlcGx5VG9zKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX1NldEFkbWluUHJlZnMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkICkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5QcmVmcygkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbWFpbGVyJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYWlsZXInLCRwYXJhbXNbJ2lucHV0X21haWxlciddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfaG9zdCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaG9zdCcsJHBhcmFtc1snaW5wdXRfaG9zdCddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcG9ydCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncG9ydCcsJHBhcmFtc1snaW5wdXRfcG9ydCddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZnJvbSddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJvbScsJHBhcmFtc1snaW5wdXRfZnJvbSddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZnJvbXVzZXInXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Zyb211c2VyJywkcGFyYW1zWydpbnB1dF9mcm9tdXNlciddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2VuZG1haWwnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRtYWlsJywkcGFyYW1zWydpbnB1dF9zZW5kbWFpbCddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdGltZW91dCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsJHBhcmFtc1snaW5wdXRfdGltZW91dCddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc210cGF1dGgnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NtdHBhdXRoJywkcGFyYW1zWydpbnB1dF9zbXRwYXV0aCddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJuYW1lJywkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJywkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICAgfQoKICAgICR0aGlzLT5yZXNldCgpOwogICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nICk7CiAgfQoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyAgICAgICAgICAgICAgICAgICAgIEFQSSBGVU5DVElPTlMgICAgICAgICAgICAgICAgICAgICAgLy8KICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgZnVuY3Rpb24gR2V0QWx0Qm9keSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5BbHRCb2R5OwogIH0KCiAgZnVuY3Rpb24gU2V0QWx0Qm9keSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkFsdEJvZHkgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0Qm9keSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Cb2R5OwogIH0KCiAgZnVuY3Rpb24gU2V0Qm9keSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkJvZHkgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0Q2hhclNldCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5DaGFyU2V0OwogIH0KCiAgZnVuY3Rpb24gU2V0Q2hhclNldCggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNoYXJTZXQgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0Q29uZmlybVJlYWRpbmdUbygpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Db25maXJtUmVhZGluZ1RvOwogIH0KCiAgZnVuY3Rpb24gU2V0Q29uZmlybVJlYWRpbmdUbyggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNvbmZpcm1SZWFkaW5nVG8gPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0Q29udGVudFR5cGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+Q29udGVudFR5cGU7CiAgfQoKICBmdW5jdGlvbiBTZXRDb250ZW50VHlwZSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNvbnRlbnRUeXBlID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEVuY29kaW5nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkVuY29kaW5nOwogIH0KCiAgZnVuY3Rpb24gU2V0RW5jb2RpbmcoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5FbmNvZGluZyA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRFcnJvckluZm8oKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+RXJyb3JJbmZvOwogIH0KCiAgZnVuY3Rpb24gR2V0RnJvbSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Gcm9tOwogIH0KCiAgZnVuY3Rpb24gU2V0RnJvbSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkZyb20gPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0RnJvbU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+RnJvbU5hbWU7CiAgfQoKICBmdW5jdGlvbiBTZXRGcm9tTmFtZSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkZyb21OYW1lID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEhlbG8oKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SGVsbzsKICB9CgogIGZ1bmN0aW9uIFNldEhlbG8oICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5IZWxvID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEhvc3QoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SG9zdDsKICB9CgogIGZ1bmN0aW9uIFNldEhvc3QoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Ib3N0ID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEhvc3RuYW1lKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkhvc3RuYW1lOwogIH0KCiAgZnVuY3Rpb24gU2V0SG9zdG5hbWUoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Ib3N0bmFtZSA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRNYWlsZXIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+TWFpbGVyOwogIH0KCiAgZnVuY3Rpb24gU2V0TWFpbGVyKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+TWFpbGVyID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFBhc3N3b3JkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlBhc3N3b3JkOwogIH0KCiAgZnVuY3Rpb24gU2V0UGFzc3dvcmQoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5QYXNzd29yZCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRQb3J0KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlBvcnQ7CiAgfQoKICBmdW5jdGlvbiBTZXRQb3J0KCAkdHh0ICkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+UG9ydCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRQcmlvcml0eSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Qcmlvcml0eTsKICB9CgogIGZ1bmN0aW9uIFNldFByaW9yaXR5KCAkdHh0ICkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+UHJpb3JpdHkgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U2VuZGVyKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNlbmRlcjsKICB9CgogIGZ1bmN0aW9uIFNldFNlbmRlciggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlNlbmRlciA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRTZW5kbWFpbCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kbWFpbDsKICB9CgogIGZ1bmN0aW9uIFNldFNlbmRtYWlsKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U2VuZG1haWwgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U01UUEF1dGgoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+U01UUEF1dGg7CiAgfQoKICBmdW5jdGlvbiBTZXRTTVRQQXV0aCggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBBdXRoID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFNNVFBEZWJ1ZygpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TTVRQRGVidWc7CiAgfQoKICBmdW5jdGlvbiBTZXRTTVRQRGVidWcoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5TTVRQRGVidWcgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U01UUEtlZXBBbGl2ZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TTVRQS2VlcEFsaXZlOwogIH0KCiAgZnVuY3Rpb24gU2V0U01UUEtlZXBBbGl2ZSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBLZWVwQWxpdmUgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U3ViamVjdCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TdWJqZWN0OwogIH0KCiAgZnVuY3Rpb24gU2V0U3ViamVjdCggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlN1YmplY3QgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0VGltZW91dCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5UaW1lb3V0OwogIH0KCiAgZnVuY3Rpb24gU2V0VGltZW91dCggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlRpbWVvdXQgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0VXNlcm5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+VXNlcm5hbWU7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VybmFtZSggJHR4dCApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPlVzZXJuYW1lID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFdvcmRXcmFwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPldvcmRXcmFwOwogIH0KCiAgZnVuY3Rpb24gU2V0V29yZFdyYXAoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Xb3JkV3JhcCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBBZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAnJyApCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgKTsKICB9CgogIGZ1bmN0aW9uIEFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICcnLCAkZW5jb2RpbmcgPSAnYmFzZTY0JywKCQkJICAkdHlwZSA9ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nICkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSwgJGVuY29kaW5nLCAkdHlwZSApOwogIH0KCiAgZnVuY3Rpb24gQWRkQkNDKCAkYWRkciwgJG5hbWUgPSAnJyApCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkFkZEJDQyggJGFkZHIsICRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBBZGRDQyggJGFkZHIsICRuYW1lID0gJycgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5BZGRDQyggJGFkZHIsICRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBBZGRDdXN0b21IZWFkZXIoICR0eHQgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTsKICB9CgogIGZ1bmN0aW9uIEFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICcnLCAkZW5jb2RpbmcgPSAnYmFzZTY0JywKCQkJICAgICAkdHlwZSA9ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nICkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAKCQkJCQkJJG5hbWUsICRlbmNvZGluZywgJHR5cGUgKTsKICB9CgogIGZ1bmN0aW9uIEFkZFJlcGx5VG8oICRhZGRyLCAkbmFtZSA9ICcnICkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+QWRkUmVwbHlUbyggJGFkZHIsICRuYW1lICk7CiAgfQoKCiAgZnVuY3Rpb24gQWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAnYmFzZTY0JywKCQkJCSR0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZywgJHR5cGUgKTsKICB9CgogIGZ1bmN0aW9uIENsZWFyQWRkcmVzc2VzKCkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJBZGRyZXNzZXMoKTsKICB9CgogIGZ1bmN0aW9uIENsZWFyQWxsUmVjaXBpZW50cygpCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQWxsUmVjaXBpZW50cygpOwogIH0KCiAgZnVuY3Rpb24gQ2xlYXJBdHRhY2htZW50cygpCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQXR0YWNobWVudHMoKTsKICB9CgogIGZ1bmN0aW9uIENsZWFyQkNDcygpCiAgewogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQkNDcygpOwogIH0KCiAgZnVuY3Rpb24gQ2xlYXJDQ3MoKQogIHsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckNDcygpOwogIH0KCiAgZnVuY3Rpb24gQ2xlYXJDdXN0b21IZWFkZXJzKCkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJDdXN0b21IZWFkZXJzKCk7CiAgfQoKICBmdW5jdGlvbiBDbGVhclJlcGx5VG9zKCkKICB7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJSZXBseVRvcygpOwogIH0KICAKICBmdW5jdGlvbiBJc0Vycm9yKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPklzRXJyb3IoKTsKICB9CgogIGZ1bmN0aW9uIElzSFRNTCgkdmFyID0gdHJ1ZSkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPklzSFRNTCgkdmFyKTsKICB9CgogIGZ1bmN0aW9uIElzTWFpbCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Jc01haWwoKTsKICB9CgogIGZ1bmN0aW9uIElzUW1haWwoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SXNRbWFpbCgpOwogIH0KCiAgZnVuY3Rpb24gSXNTZW5kbWFpbCgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Jc1NlbmRtYWlsKCk7CiAgfQoKICBmdW5jdGlvbiBJc1NNVFAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SXNTTVRQKCk7CiAgfQoKICBmdW5jdGlvbiBTZW5kKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNlbmQoKTsKICB9CgogIGZ1bmN0aW9uIFNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJycgKQogIHsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggKTsKICB9CgogIGZ1bmN0aW9uIFNtdHBDbG9zZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TbXRwQ2xvc2UoKTsKICB9Cgp9IC8vIGNsYXNzIENNU01haWxlcgoKPz4K]]></data>
  </file>
  <file>
    <filename>/index.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[]]></data>
  </file>
  <file>
    <filename>/lang/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/lang/en_US.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHAKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgQXV0aGVudGljYXRpb24nOwokbGFuZ1snbWFpbGVyJ10gICA9ICdNYWlsZXIgbWV0aG9kJzsKJGxhbmdbJ2hvc3QnXSAgICAgPSAnU01UUCBob3N0IG5hbWUgb3IgYWRkcmVzcyc7CiRsYW5nWydwb3J0J10gICAgID0gJ1BvcnQgb2YgU01UUCBzZXJ2ZXInOwokbGFuZ1snZnJvbSddICAgICA9ICdGcm9tIGFkZHJlc3MnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdGcm9tIFVzZXJuYW1lJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWwgbG9jYXRpb24nOwokbGFuZ1sndGltZW91dCddICA9ICdTTVRQIHRpbWVvdXQnOwokbGFuZ1snc3VibWl0J10gICA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gICA9ICdDYW5jZWwnOwoKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNU01haWxlciBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bGUgdW5pbnN0YWxsZWQuLi4gc29ycnkgdG8gc2VlIHlvdSBsZWF2ZSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1sndGl0bGVfc2luZ19sb3VkbHknXSA9ICdTaW5nIExvdWRseT8nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIGlzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIFBIUE1haWxlciwgaXQgaGFzIGFuIGVxdWl2YWxlbnQgQVBJIChmdW5jdGlvbiBmb3IgZnVuY3Rpb24pIGFuZCBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIHNvbWUgZGVmYXVsdHMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIENNU01haWxlciBtb2R1bGUgYWRtaW4gc2VjdGlvbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICcKPHVsPgo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPgo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPgo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPgo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgo8aDM+QW4gRXhhbXBsZTwvaDM+CjxwcmU+CiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZShcJ0NNU01haWxlclwnKTsKICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKFwnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnLFwnY2FsZ3V5XCcpOwogICRjbXNtYWlsZXItPlNldEJvZHkoXCcmbHQ7aDEmZ3Q7VGhpcyBpcyBhIHRlc3QgbWVzc2FnZSZsdDtoMSZndDtcJyk7CiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCdUZXN0IG1lc3NhZ2VcJyk7CiAgJGNtc21haWxlci0+U2VuZCgpOwo8L3ByZT4KPGgzPkFQSTwvaDM+Cjx1bD4KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+CjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+CjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+CjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPgo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPgo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPgo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+CjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPgo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPgo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+CjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+CjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPgo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgaG9zdHM8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPgo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+CjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPgo8L2xpPgo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+CjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPgo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+CjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+CjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+CjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+CjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+CjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPgo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+CjxwPkFkZCBhIEJDQ1wnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+CjxwPkFkZCBhIENDXCdkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+CjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+CjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPgo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPgo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSBcJ1wnICk8L2I+PC9wPgo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4KPC9saT4KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4KPC9saT4KPC91bD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+Jmx0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgonOwo/Pgo=]]></data>
  </file>
  <file>
    <filename>/phpmailer/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/ChangeLog.txt</filename>
    <isdir>0</isdir>
    <data><![CDATA[Q2hhbmdlTG9nDQoNClZlcnNpb24gMS43MyAoU3VuLCBKdW4gMTAgMjAwNSkNCiogRml4ZWQgZGVuaWFsIG9mIHNlcnZpY2UgYnVnOiBodHRwOi8vd3d3LmN5YnNlYy5jb20vdnVsbi9QSFBNYWlsZXItRE9TLnBkZg0KKiBOb3cgaGFzIGEgdG90YWwgb2YgMjAgdHJhbnNsYXRpb25zDQoqIEZpeGVkIGFsdCBhdHRhY2htZW50cyBidWc6IGh0dHA6Ly90aW55dXJsLmNvbS85OHU5aw0KDQpWZXJzaW9uIDEuNzIgKFdlZCwgTWF5IDI1IDIwMDQpDQoqIEFkZGVkIER1dGNoLCBTd2VkaXNoLCBDemVjaCwgTm9yd2VnaWFuLCBhbmQgVHVya2lzaCB0cmFuc2xhdGlvbnMuDQoqIFJlY2VpdmVkOiBSZW1vdmVkIHRoaXMgbWV0aG9kIGJlY2F1c2Ugc3BhbSBmaWx0ZXIgcHJvZ3JhbXMgbGlrZSANClNwYW1Bc3Nhc3NpbiByZWplY3QgdGhpcyBoZWFkZXIuDQoqIEZpeGVkIGVycm9yIGNvdW50IGJ1Zy4NCiogU2V0TGFuZ3VhZ2UgZGVmYXVsdCBpcyBub3cgImxhbmd1YWdlLyIuDQoqIEZpeGVkIG1hZ2ljX3F1b3Rlc19ydW50aW1lIGJ1Zy4NCg0KVmVyc2lvbiAxLjcxIChUdWUsIEp1bCAyOCAyMDAzKQ0KKiBNYWRlIHNldmVyYWwgc3BlZWQgZW5oYW5jZW1lbnRzDQoqIEFkZGVkIEdlcm1hbiBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbiBmaWxlcw0KKiBGaXhlZCBIRUxPL0FVVEggYnVncyBvbiBrZWVwLWFsaXZlIGNvbm5lY3RzDQoqIE5vdyBwcm92aWRlcyBhbiBlcnJvciBtZXNzYWdlIGlmIGxhbmd1YWdlIGZpbGUgZG9lcyBub3QgbG9hZA0KKiBGaXhlZCBhdHRhY2htZW50IEVPTCBidWcNCiogVXBkYXRlZCBzb21lIHVuY2xlYXIgZG9jdW1lbnRhdGlvbg0KKiBBZGRlZCBhZGRpdGlvbmFsIHRlc3RzIGFuZCBpbXByb3ZlZCBvdGhlcnMNCg0KVmVyc2lvbiAxLjcwIChNb24sIEp1biAyMCAyMDAzKQ0KKiBBZGRlZCBTTVRQIGtlZXAtYWxpdmUgc3VwcG9ydA0KKiBBZGRlZCBJc0Vycm9yIG1ldGhvZCBmb3IgZXJyb3IgZGV0ZWN0aW9uDQoqIEFkZGVkIGVycm9yIG1lc3NhZ2UgdHJhbnNsYXRpb24gc3VwcG9ydCAoU2V0TGFuZ3VhZ2UpDQoqIFJlZmFjdG9yZWQgbWFueSBtZXRob2RzIHRvIGluY3JlYXNlIGxpYnJhcnkgcGVyZm9ybWFuY2UNCiogSGVsbG8gbm93IHNlbmRzIHRoZSBuZXdlciBFSExPIG1lc3NhZ2UgYmVmb3JlIEhFTE8gYXMgcGVyIFJGQyAyODIxDQoqIFJlbW92ZWQgdGhlIGJvdW5kYXJ5IGNsYXNzIGFuZCByZXBsYWNlZCBpdCB3aXRoIEdldEJvdW5kYXJ5DQoqIFJlbW92ZWQgcXVldWUgc3VwcG9ydCBtZXRob2RzDQoqIE5ldyAkSG9zdG5hbWUgdmFyaWFibGUNCiogTmV3IE1lc3NhZ2UtSUQgaGVhZGVyDQoqIFJlY2VpdmVkIGhlYWRlciByZWZvcm1hdA0KKiBIZWxvIHZhcmlhYmxlIGRlZmF1bHQgY2hhbmdlZCB0byAkSG9zdG5hbWUNCiogUmVtb3ZlZCBleHRyYSBzcGFjZXMgaW4gQ29udGVudC1UeXBlIGRlZmluaXRpb24gKCM2NjcxODIpDQoqIFJldHVybi1QYXRoIHNob3VsZCBiZSBzZXQgdG8gU2VuZGVyIHdoZW4gc2V0DQoqIEFkZHMgUSBvciBCIGVuY29kaW5nIHRvIGhlYWRlcnMgd2hlbiBuZWNlc3NhcnkNCiogcXVvdGVkLWVuY29kaW5nIHNob3VsZCBub3cgZW5jb2RlIE5VTHMgXDAwMA0KKiBGaXhlZCBlbmNvZGluZyBvZiBib2R5L0FsdEJvZHkgKCM1NTMzNzApDQoqIEFkZHMgIlRvOiB1bmRpc2Nsb3NlZC1yZWNpcGllbnRzOjsiIHdoZW4gYWxsIHJlY2lwaWVudHMgYXJlIGhpZGRlbiAoQkNDKQ0KKiBNdWx0aXBsZSBidWcgZml4ZXMNCg0KVmVyc2lvbiAxLjY1IChGcmksIEF1ZyAwOSAyMDAyKQ0KKiBGaXhlZCBub24tdmlzaWJsZSBhdHRhY2htZW50IGJ1ZyAoIzU4NTA5NykgZm9yIE91dGxvb2sNCiogU01UUCBjb25uZWN0aW9ucyBhcmUgbm93IGNsb3NlZCBhZnRlciBlYWNoIHRyYW5zYWN0aW9uDQoqIEZpeGVkIFNNVFA6OkV4cGFuZCByZXR1cm4gdmFsdWUNCiogQ29udmVydGVkIFNNVFAgY2xhc3MgZG9jdW1lbnRhdGlvbiB0byBwaHBEb2N1bWVudG9yIGZvcm1hdA0KDQpWZXJzaW9uIDEuNjIgKFdlZCwgSnVuIDI2IDIwMDIpDQoqIEZpeGVkIG11bHRpLWF0dGFjaCBidWcNCiogU2V0IHByb3BlciB3b3JkIHdyYXBwaW5nDQoqIFJlZHVjZWQgbWVtb3J5IHVzZSB3aXRoIGF0dGFjaG1lbnRzDQoqIEFkZGVkIG1vcmUgZGVidWdnaW5nDQoqIENoYW5nZWQgZG9jdW1lbnRhdGlvbiB0byBwaHBEb2N1bWVudG9yIGZvcm1hdA0KDQpWZXJzaW9uIDEuNjAgKFNhdCwgTWFyIDMwIDIwMDIpDQoqIFNlbmRtYWlsIHBpcGUgYW5kIGFkZHJlc3MgcGF0Y2ggKENocmlzdGlhbiBIb2x0amUpDQoqIEFkZGVkIGVtYmVkZGVkIGltYWdlIGFuZCByZWFkIGNvbmZpcm1hdGlvbiBzdXBwb3J0IChBLiBPZ25pbykNCiogQWRkZWQgdW5pdCB0ZXN0cw0KKiBBZGRlZCBTTVRQIHRpbWVvdXQgc3VwcG9ydCAoKm5peCBvbmx5KQ0KKiBBZGRlZCBwb3NzaWJseSB0ZW1wb3JhcnkgUGx1Z2luRGlyIHZhcmlhYmxlIGZvciBTTVRQIGNsYXNzDQoqIEFkZGVkIExFIG1lc3NhZ2UgbGluZSBlbmRpbmcgdmFyaWFibGUNCiogUmVmYWN0b3JlZCBib3VuZGFyeSBhbmQgYXR0YWNobWVudCBjb2RlDQoqIEVsaW1pbmF0ZWQgU01UUCBjbGFzcyB3YXJuaW5ncw0KKiBBZGRlZCBTZW5kVG9RdWV1ZSBtZXRob2QgZm9yIGZ1dHVyZSBxdWV1aW5nIHN1cHBvcnQNCg0KVmVyc2lvbiAxLjU0IChXZWQsIERlYyAxOSAyMDAxKQ0KKiBBZGQgc29tZSBxdWV1aW5nIHN1cHBvcnQgY29kZQ0KKiBGaXhlZCBhIHBlc2t5IG11bHRpL2FsdCBidWcNCiogTWVzc2FnZXMgYXJlIG5vIGxvbmdlciBmb3JjZWQgdG8gaGF2ZSAiVG8iIGFkZHJlc3Nlcw0KDQpWZXJzaW9uIDEuNTAgKFRodSwgTm92IDA4IDIwMDEpDQoqIEZpeCBleHRyYSBsaW5lcyB3aGVuIG5vdCB1c2luZyBTTVRQIG1haWxlcg0KKiBTZXQgV29yZFdyYXAgdmFyaWFibGUgdG8gaW50IHdpdGggYSB6ZXJvIGRlZmF1bHQNCg0KVmVyc2lvbiAxLjQ3IChUdWUsIE9jdCAxNiAyMDAxKQ0KKiBGaXhlZCBSZWNlaXZlZCBoZWFkZXIgY29kZSBmb3JtYXQNCiogRml4ZWQgQWx0Qm9keSBvcmRlciBlcnJvcg0KKiBGaXhlZCBhbHRlcm5hdGUgcG9ydCB3YXJuaW5nDQoNClZlcnNpb24gMS40NSAoVHVlLCBTZXAgMjUgMjAwMSkNCiogQWRkZWQgZW5oYW5jZWQgU01UUCBkZWJ1ZyBzdXBwb3J0DQoqIEFkZGVkIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBvcnRzIG9uIFNNVFANCiogQWRkZWQgUmVjZWl2ZWQgaGVhZGVyIGZvciB0cmFjaW5nDQoqIEZpeGVkIEFkZFN0cmluZ0F0dGFjaG1lbnQgZW5jb2RpbmcNCiogRml4ZWQgcG9zc2libGUgaGVhZGVyIG5hbWUgcXVvdGUgYnVnDQoqIEZpeGVkIHdvcmR3cmFwKCkgdHJpbSBidWcNCiogQ291cGxlIG90aGVyIHNtYWxsIGJ1ZyBmaXhlcw0KDQpWZXJzaW9uIDEuNDEgKFdlZCwgQXVnIDIyIDIwMDEpDQoqIEZpeGVkIEFsdEJvZHkgYnVnIHcvbyBhdHRhY2htZW50cw0KKiBGaXhlZCByZmNfZGF0ZSgpIGZvciBjZXJ0YWluIG1haWwgc2VydmVycw0KDQpWZXJzaW9uIDEuNDAgKFN1biwgQXVnIDEyIDIwMDEpDQoqIEFkZGVkIG11bHRpcGFydC9hbHRlcm5hdGl2ZSBzdXBwb3J0IChBbHRCb2R5KQ0KKiBEb2N1bWVudGF0aW9uIHVwZGF0ZQ0KKiBGaXhlZCBidWcgaW4gTWVyY3VyeSBNVEENCg0KVmVyc2lvbiAxLjI5IChGcmksIEF1ZyAwMyAyMDAxKQ0KKiBBZGRlZCBBZGRTdHJpbmdBdHRhY2htZW50KCkgbWV0aG9kDQoqIEFkZGVkIFNNVFAgYXV0aGVudGljYXRpb24gc3VwcG9ydA0KDQpWZXJzaW9uIDEuMjggKE1vbiwgSnVsIDMwIDIwMDEpDQoqIEZpeGVkIGEgdHlwbyBpbiBTTVRQIGNsYXNzDQoqIEZpeGVkIGhlYWRlciBpc3N1ZSB3aXRoIEltYWlsICh3aW4zMikgU01UUCBzZXJ2ZXINCiogTWFkZSBmb3BlbigpIGNhbGxzIGZvciBhdHRhY2htZW50cyB1c2UgInJiIiB0byBmaXggd2luMzIgZXJyb3INCg0KVmVyc2lvbiAxLjI1IChNb24sIEp1bCAwMiAyMDAxKQ0KKiBBZGRlZCBSRkMgODIyIGRhdGUgZml4IChQYXRyaWNlKQ0KKiBBZGRlZCBpbXByb3ZlZCBlcnJvciBoYW5kbGluZyBieSBhZGRpbmcgYSAkRXJyb3JJbmZvIHZhcmlhYmxlDQoqIFJlbW92ZWQgTWFpbGVyRGVidWcgdmFyaWFibGUgKG9ic29sZXRlIHdpdGggbmV3IGVycm9yIGhhbmRsZXIpDQoNClZlcnNpb24gMS4yMCAoTW9uLCBKdW4gMjUgMjAwMSkNCiogQWRkZWQgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZyAoUGF0cmljZSkNCiogU2V0IFZlcnNpb24gYXMgcHVibGljIGFuZCByZW1vdmVkIFByaW50VmVyc2lvbigpDQoqIENoYW5nZWQgcGhwZG9jIHRvIG9ubHkgZGlzcGxheSBwdWJsaWMgdmFyaWFibGVzIGFuZCBtZXRob2RzDQoNClZlcnNpb24gMS4xOSAoVGh1LCBKdW4gMjEgMjAwMSkNCiogRml4ZWQgTVMgTWFpbCBoZWFkZXIgYnVnDQoqIEFkZGVkIGZpeCBmb3IgQmNjIHByb2JsZW0gd2l0aCBtYWlsKCkuICpEb2VzIG5vdCB3b3JrIG9uIFdpbjMyKg0KICAoU2VlIFBIUCBidWcgcmVwb3J0OiBodHRwOi8vd3d3LnBocC5uZXQvYnVncy5waHA/aWQ9MTE2MTYpDQoqIG1haWwoKSBubyBsb25nZXIgcGFzc2VzIGEgZmlmdGggcGFyYW1ldGVyIHdoZW4gbm90IG5lZWRlZA0KDQpWZXJzaW9uIDEuMTUgKEZyaSwgSnVuIDE1IDIwMDEpDQpbTm90ZTogdGhlc2UgY2hhbmdlcyBjb250cmlidXRlZCBieSBQYXRyaWNlIEZvdXJuaWVyXQ0KKiBDaGFuZ2VkIGFsbCByZW1haW5pbmcgXG4gdG8gXHJcbg0KKiBCY2M6IGhlYWRlciBubyBsb25nZXIgd3JpdGVuIHRvIG1lc3NhZ2UgZXhjZXB0DQp3aGVuIHNlbnQgZGlyZWN0bHkgdG8gc2VuZG1haWwNCiogQWRkZWQgYSBzbWFsbCBtZXNzYWdlIHRvIG5vbi1NSU1FIGNvbXBsaWFudCBtYWlsIHJlYWRlcg0KKiBBZGRlZCBTZW5kZXIgdmFyaWFibGUgdG8gY2hhbmdlIHRoZSBTZW5kZXIgZW1haWwNCnVzZWQgaW4gLWYgZm9yIHNlbmRtYWlsL21haWwgYW5kIGluICdNQUlMIEZST00nIGZvciBzbXRwIG1vZGUNCiogQ2hhbmdlZCBib3VuZGFyeSBzZXR0aW5nIHRvIGEgcGxhY2UgaXQgd2lsbCBiZSBzZXQgb25seSBvbmNlDQoqIFJlbW92ZWQgdHJhbnNmZXIgZW5jb2RpbmcgZm9yIHdob2xlIG1lc3NhZ2Ugd2hlbiB1c2luZyBtdWx0aXBhcnQNCiogTWVzc2FnZSBib2R5IG5vdyB1c2VzIEVuY29kaW5nIGluIG11bHRpcGFydCBtZXNzYWdlcw0KKiBDYW4gc2V0IGVuY29kaW5nIGFuZCB0eXBlIHRvIGF0dGFjaG1lbnRzIDdiaXQsIDhiaXQNCmFuZCBiaW5hcnkgYXR0YWNobWVudCBhcmUgc2VudCBhcyBpcywgYmFzZTY0IGFyZSBlbmNvZGVkDQoqIENhbiBzZXQgRW5jb2RpbmcgdG8gYmFzZTY0IHRvIHNlbmQgOCBiaXRzIGJvZHkNCnRocm91Z2ggNyBiaXRzIHNlcnZlcnMNCg0KVmVyc2lvbiAxLjEwIChUdWUsIEp1biAxMiAyMDAxKQ0KKiBGaXhlZCB3aW4zMiBtYWlsIGhlYWRlciBidWcgKHByaW50ZWQgb3V0IGhlYWRlcnMgaW4gbWVzc2FnZSBib2R5KQ0KDQpWZXJzaW9uIDEuMDkgKEZyaSwgSnVuIDA4IDIwMDEpDQoqIENoYW5nZWQgZGF0ZSBoZWFkZXIgdG8gd29yayB3aXRoIE5ldHNjYXBlIG1haWwgcHJvZ3JhbXMNCiogQWx0ZXJlZCBwaHBkb2MgZG9jdW1lbnRhdGlvbg0KDQpWZXJzaW9uIDEuMDggKFR1ZSwgSnVuIDA1IDIwMDEpDQoqIEFkZGVkIGVuaGFuY2VkIGVycm9yLWNoZWNraW5nDQoqIEFkZGVkIHBocGRvYyBkb2N1bWVudGF0aW9uIHRvIHNvdXJjZQ0KDQpWZXJzaW9uIDEuMDYgKEZyaSwgSnVuIDAxIDIwMDEpDQoqIEFkZGVkIG9wdGlvbmFsIG5hbWUgZm9yIGZpbGUgYXR0YWNobWVudHMNCg0KVmVyc2lvbiAxLjA1IChUdWUsIE1heSAyOSAyMDAxKQ0KKiBDb2RlIGNsZWFudXANCiogRWxpbWluYXRlZCBzZW5kbWFpbCBoZWFkZXIgd2FybmluZyBtZXNzYWdlDQoqIEZpeGVkIHBvc3NpYmxlIFNNVFAgZXJyb3INCg0KVmVyc2lvbiAxLjAzIChUaHUsIE1heSAyNCAyMDAxKQ0KKiBGaXhlZCBwcm9ibGVtIHdoZXJlIHFtYWlsIHNlbmRzIG91dCBkdXBsaWNhdGUgbWVzc2FnZXMNCg0KVmVyc2lvbiAxLjAyIChXZWQsIE1heSAyMyAyMDAxKQ0KKiBBZGRlZCBtdWx0aXBsZSByZWNpcGllbnQgYW5kIGF0dGFjaG1lbnQgQ2xlYXIqIG1ldGhvZHMNCiogQWRkZWQgU2VuZG1haWwgcHVibGljIHZhcmlhYmxlDQoqIEZpeGVkIHByb2JsZW0gd2l0aCBsb2FkaW5nIFNNVFAgbGlicmFyeSBtdWx0aXBsZSB0aW1lcw0KDQpWZXJzaW9uIDAuOTggKFR1ZSwgTWF5IDIyIDIwMDEpDQoqIEZpeGVkIHByb2JsZW0gd2l0aCByZWR1bmRhbnQgbWFpbCBob3N0cyBzZW5kaW5nIG91dCBtdWx0aXBsZSBtZXNzYWdlcw0KKiBBZGRlZCBhZGRpdGlvbmFsIGVycm9yIGhhbmRsZXIgY29kZQ0KKiBBZGRlZCBBZGRDdXN0b21IZWFkZXIoKSBmdW5jdGlvbg0KKiBBZGRlZCBzdXBwb3J0IGZvciBNaWNyb3NvZnQgbWFpbCBjbGllbnQgaGVhZGVycyAoYWZmZWN0cyBwcmlvcml0eSkNCiogRml4ZWQgc21hbGwgYnVnIHdpdGggTWFpbGVyIHZhcmlhYmxlDQoqIEFkZGVkIFByaW50VmVyc2lvbigpIGZ1bmN0aW9uDQoNClZlcnNpb24gMC45MiAoVHVlLCBNYXkgMTUgMjAwMSkNCiogQ2hhbmdlZCBmaWxlIG5hbWVzIHRvIGNsYXNzLnBocG1haWxlci5waHAgYW5kIGNsYXNzLnNtdHAucGhwIHRvIG1hdGNoDQogIGN1cnJlbnQgUEhQIGNsYXNzIHRyZW5kLg0KKiBGaXhlZCBwcm9ibGVtIHdoZXJlIGJvZHkgbm90IGJlaW5nIHByaW50ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgYXR0YWNoZWQNCiogU2V2ZXJhbCBzbWFsbCBidWcgZml4ZXMNCg0KVmVyc2lvbiAwLjkwIChUdWUsIEFwcmlsIDE3IDIwMDEpDQoqIEludGlhbCBwdWJsaWMgcmVsZWFzZQ0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/class.phpmailer.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vIFBIUE1haWxlciAtIFBIUCBlbWFpbCBjbGFzcw0KLy8NCi8vIENsYXNzIGZvciBzZW5kaW5nIGVtYWlsIHVzaW5nIGVpdGhlcg0KLy8gc2VuZG1haWwsIFBIUCBtYWlsKCksIG9yIFNNVFAuICBNZXRob2RzIGFyZQ0KLy8gYmFzZWQgdXBvbiB0aGUgc3RhbmRhcmQgQXNwRW1haWwodG0pIGNsYXNzZXMuDQovLw0KLy8gQ29weXJpZ2h0IChDKSAyMDAxIC0gMjAwMyAgQnJlbnQgUi4gTWF0emVsbGUNCi8vDQovLyBMaWNlbnNlOiBMR1BMLCBzZWUgTElDRU5TRQ0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQovKioNCiAqIFBIUE1haWxlciAtIFBIUCBlbWFpbCB0cmFuc3BvcnQgY2xhc3MNCiAqIEBwYWNrYWdlIFBIUE1haWxlcg0KICogQGF1dGhvciBCcmVudCBSLiBNYXR6ZWxsZQ0KICogQGNvcHlyaWdodCAyMDAxIC0gMjAwMyBCcmVudCBSLiBNYXR6ZWxsZQ0KICovDQpjbGFzcyBQSFBNYWlsZXINCnsNCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogICAgLy8gUFVCTElDIFZBUklBQkxFUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqIEVtYWlsIHByaW9yaXR5ICgxID0gSGlnaCwgMyA9IE5vcm1hbCwgNSA9IGxvdykuDQogICAgICogQHZhciBpbnQNCiAgICAgKi8NCiAgICB2YXIgJFByaW9yaXR5ICAgICAgICAgID0gMzsNCg0KICAgIC8qKg0KICAgICAqIFNldHMgdGhlIENoYXJTZXQgb2YgdGhlIG1lc3NhZ2UuDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJENoYXJTZXQgICAgICAgICAgID0gImlzby04ODU5LTEiOw0KDQogICAgLyoqDQogICAgICogU2V0cyB0aGUgQ29udGVudC10eXBlIG9mIHRoZSBtZXNzYWdlLg0KICAgICAqIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRDb250ZW50VHlwZSAgICAgICAgPSAidGV4dC9wbGFpbiI7DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIHRoZSBFbmNvZGluZyBvZiB0aGUgbWVzc2FnZS4gT3B0aW9ucyBmb3IgdGhpcyBhcmUgIjhiaXQiLA0KICAgICAqICI3Yml0IiwgImJpbmFyeSIsICJiYXNlNjQiLCBhbmQgInF1b3RlZC1wcmludGFibGUiLg0KICAgICAqIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRFbmNvZGluZyAgICAgICAgICA9ICI4Yml0IjsNCg0KICAgIC8qKg0KICAgICAqIEhvbGRzIHRoZSBtb3N0IHJlY2VudCBtYWlsZXIgZXJyb3IgbWVzc2FnZS4NCiAgICAgKiBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkRXJyb3JJbmZvICAgICAgICAgPSAiIjsNCg0KICAgIC8qKg0KICAgICAqIFNldHMgdGhlIEZyb20gZW1haWwgYWRkcmVzcyBmb3IgdGhlIG1lc3NhZ2UuDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJEZyb20gICAgICAgICAgICAgICA9ICJyb290QGxvY2FsaG9zdCI7DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIHRoZSBGcm9tIG5hbWUgb2YgdGhlIG1lc3NhZ2UuDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJEZyb21OYW1lICAgICAgICAgICA9ICJSb290IFVzZXIiOw0KDQogICAgLyoqDQogICAgICogU2V0cyB0aGUgU2VuZGVyIGVtYWlsIChSZXR1cm4tUGF0aCkgb2YgdGhlIG1lc3NhZ2UuICBJZiBub3QgZW1wdHksDQogICAgICogd2lsbCBiZSBzZW50IHZpYSAtZiB0byBzZW5kbWFpbCBvciBhcyAnTUFJTCBGUk9NJyBpbiBzbXRwIG1vZGUuDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJFNlbmRlciAgICAgICAgICAgID0gIiI7DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIHRoZSBTdWJqZWN0IG9mIHRoZSBtZXNzYWdlLg0KICAgICAqIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRTdWJqZWN0ICAgICAgICAgICA9ICIiOw0KDQogICAgLyoqDQogICAgICogU2V0cyB0aGUgQm9keSBvZiB0aGUgbWVzc2FnZS4gIFRoaXMgY2FuIGJlIGVpdGhlciBhbiBIVE1MIG9yIHRleHQgYm9keS4NCiAgICAgKiBJZiBIVE1MIHRoZW4gcnVuIElzSFRNTCh0cnVlKS4NCiAgICAgKiBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkQm9keSAgICAgICAgICAgICAgID0gIiI7DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIHRoZSB0ZXh0LW9ubHkgYm9keSBvZiB0aGUgbWVzc2FnZS4gIFRoaXMgYXV0b21hdGljYWxseSBzZXRzIHRoZQ0KICAgICAqIGVtYWlsIHRvIG11bHRpcGFydC9hbHRlcm5hdGl2ZS4gIFRoaXMgYm9keSBjYW4gYmUgcmVhZCBieSBtYWlsDQogICAgICogY2xpZW50cyB0aGF0IGRvIG5vdCBoYXZlIEhUTUwgZW1haWwgY2FwYWJpbGl0eSBzdWNoIGFzIG11dHQuIENsaWVudHMNCiAgICAgKiB0aGF0IGNhbiByZWFkIEhUTUwgd2lsbCB2aWV3IHRoZSBub3JtYWwgQm9keS4NCiAgICAgKiBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkQWx0Qm9keSAgICAgICAgICAgPSAiIjsNCg0KICAgIC8qKg0KICAgICAqIFNldHMgd29yZCB3cmFwcGluZyBvbiB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZSB0byBhIGdpdmVuIG51bWJlciBvZiANCiAgICAgKiBjaGFyYWN0ZXJzLg0KICAgICAqIEB2YXIgaW50DQogICAgICovDQogICAgdmFyICRXb3JkV3JhcCAgICAgICAgICA9IDA7DQoNCiAgICAvKioNCiAgICAgKiBNZXRob2QgdG8gc2VuZCBtYWlsOiAoIm1haWwiLCAic2VuZG1haWwiLCBvciAic210cCIpLg0KICAgICAqIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRNYWlsZXIgICAgICAgICAgICA9ICJtYWlsIjsNCg0KICAgIC8qKg0KICAgICAqIFNldHMgdGhlIHBhdGggb2YgdGhlIHNlbmRtYWlsIHByb2dyYW0uDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJFNlbmRtYWlsICAgICAgICAgID0gIi91c3Ivc2Jpbi9zZW5kbWFpbCI7DQogICAgDQogICAgLyoqDQogICAgICogUGF0aCB0byBQSFBNYWlsZXIgcGx1Z2lucy4gIFRoaXMgaXMgbm93IG9ubHkgdXNlZnVsIGlmIHRoZSBTTVRQIGNsYXNzIA0KICAgICAqIGlzIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeSB0aGFuIHRoZSBQSFAgaW5jbHVkZSBwYXRoLiAgDQogICAgICogQHZhciBzdHJpbmcNCiAgICAgKi8NCiAgICB2YXIgJFBsdWdpbkRpciAgICAgICAgID0gIiI7DQoNCiAgICAvKioNCiAgICAgKiAgSG9sZHMgUEhQTWFpbGVyIHZlcnNpb24uDQogICAgICogIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRWZXJzaW9uICAgICAgICAgICA9ICIxLjczIjsNCg0KICAgIC8qKg0KICAgICAqIFNldHMgdGhlIGVtYWlsIGFkZHJlc3MgdGhhdCBhIHJlYWRpbmcgY29uZmlybWF0aW9uIHdpbGwgYmUgc2VudC4NCiAgICAgKiBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkQ29uZmlybVJlYWRpbmdUbyAgPSAiIjsNCg0KICAgIC8qKg0KICAgICAqICBTZXRzIHRoZSBob3N0bmFtZSB0byB1c2UgaW4gTWVzc2FnZS1JZCBhbmQgUmVjZWl2ZWQgaGVhZGVycw0KICAgICAqICBhbmQgYXMgZGVmYXVsdCBIRUxPIHN0cmluZy4gSWYgZW1wdHksIHRoZSB2YWx1ZSByZXR1cm5lZA0KICAgICAqICBieSBTRVJWRVJfTkFNRSBpcyB1c2VkIG9yICdsb2NhbGhvc3QubG9jYWxkb21haW4nLg0KICAgICAqICBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkSG9zdG5hbWUgICAgICAgICAgPSAiIjsNCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBTTVRQIFZBUklBQkxFUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqICBTZXRzIHRoZSBTTVRQIGhvc3RzLiAgQWxsIGhvc3RzIG11c3QgYmUgc2VwYXJhdGVkIGJ5IGENCiAgICAgKiAgc2VtaWNvbG9uLiAgWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBkaWZmZXJlbnQgcG9ydA0KICAgICAqICBmb3IgZWFjaCBob3N0IGJ5IHVzaW5nIHRoaXMgZm9ybWF0OiBbaG9zdG5hbWU6cG9ydF0NCiAgICAgKiAgKGUuZy4gInNtdHAxLmV4YW1wbGUuY29tOjI1O3NtdHAyLmV4YW1wbGUuY29tIikuDQogICAgICogIEhvc3RzIHdpbGwgYmUgdHJpZWQgaW4gb3JkZXIuDQogICAgICogIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRIb3N0ICAgICAgICA9ICJsb2NhbGhvc3QiOw0KDQogICAgLyoqDQogICAgICogIFNldHMgdGhlIGRlZmF1bHQgU01UUCBzZXJ2ZXIgcG9ydC4NCiAgICAgKiAgQHZhciBpbnQNCiAgICAgKi8NCiAgICB2YXIgJFBvcnQgICAgICAgID0gMjU7DQoNCiAgICAvKioNCiAgICAgKiAgU2V0cyB0aGUgU01UUCBIRUxPIG9mIHRoZSBtZXNzYWdlIChEZWZhdWx0IGlzICRIb3N0bmFtZSkuDQogICAgICogIEB2YXIgc3RyaW5nDQogICAgICovDQogICAgdmFyICRIZWxvICAgICAgICA9ICIiOw0KDQogICAgLyoqDQogICAgICogIFNldHMgU01UUCBhdXRoZW50aWNhdGlvbi4gVXRpbGl6ZXMgdGhlIFVzZXJuYW1lIGFuZCBQYXNzd29yZCB2YXJpYWJsZXMuDQogICAgICogIEB2YXIgYm9vbA0KICAgICAqLw0KICAgIHZhciAkU01UUEF1dGggICAgID0gZmFsc2U7DQoNCiAgICAvKioNCiAgICAgKiAgU2V0cyBTTVRQIHVzZXJuYW1lLg0KICAgICAqICBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkVXNlcm5hbWUgICAgID0gIiI7DQoNCiAgICAvKioNCiAgICAgKiAgU2V0cyBTTVRQIHBhc3N3b3JkLg0KICAgICAqICBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkUGFzc3dvcmQgICAgID0gIiI7DQoNCiAgICAvKioNCiAgICAgKiAgU2V0cyB0aGUgU01UUCBzZXJ2ZXIgdGltZW91dCBpbiBzZWNvbmRzLiBUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IA0KICAgICAqICB3b3JrIHdpdGggdGhlIHdpbjMyIHZlcnNpb24uDQogICAgICogIEB2YXIgaW50DQogICAgICovDQogICAgdmFyICRUaW1lb3V0ICAgICAgPSAxMDsNCg0KICAgIC8qKg0KICAgICAqICBTZXRzIFNNVFAgY2xhc3MgZGVidWdnaW5nIG9uIG9yIG9mZi4NCiAgICAgKiAgQHZhciBib29sDQogICAgICovDQogICAgdmFyICRTTVRQRGVidWcgICAgPSBmYWxzZTsNCg0KICAgIC8qKg0KICAgICAqIFByZXZlbnRzIHRoZSBTTVRQIGNvbm5lY3Rpb24gZnJvbSBiZWluZyBjbG9zZWQgYWZ0ZXIgZWFjaCBtYWlsIA0KICAgICAqIHNlbmRpbmcuICBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZW4gdG8gY2xvc2UgdGhlIGNvbm5lY3Rpb24gDQogICAgICogcmVxdWlyZXMgYW4gZXhwbGljaXQgY2FsbCB0byBTbXRwQ2xvc2UoKS4gDQogICAgICogQHZhciBib29sDQogICAgICovDQogICAgdmFyICRTTVRQS2VlcEFsaXZlID0gZmFsc2U7DQoNCiAgICAvKiojQCsNCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKi8NCiAgICB2YXIgJHNtdHAgICAgICAgICAgICA9IE5VTEw7DQogICAgdmFyICR0byAgICAgICAgICAgICAgPSBhcnJheSgpOw0KICAgIHZhciAkY2MgICAgICAgICAgICAgID0gYXJyYXkoKTsNCiAgICB2YXIgJGJjYyAgICAgICAgICAgICA9IGFycmF5KCk7DQogICAgdmFyICRSZXBseVRvICAgICAgICAgPSBhcnJheSgpOw0KICAgIHZhciAkYXR0YWNobWVudCAgICAgID0gYXJyYXkoKTsNCiAgICB2YXIgJEN1c3RvbUhlYWRlciAgICA9IGFycmF5KCk7DQogICAgdmFyICRtZXNzYWdlX3R5cGUgICAgPSAiIjsNCiAgICB2YXIgJGJvdW5kYXJ5ICAgICAgICA9IGFycmF5KCk7DQogICAgdmFyICRsYW5ndWFnZSAgICAgICAgPSBhcnJheSgpOw0KICAgIHZhciAkZXJyb3JfY291bnQgICAgID0gMDsNCiAgICB2YXIgJExFICAgICAgICAgICAgICA9ICJcbiI7DQogICAgLyoqI0AtKi8NCiAgICANCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogICAgLy8gVkFSSUFCTEUgTUVUSE9EUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqIFNldHMgbWVzc2FnZSB0eXBlIHRvIEhUTUwuICANCiAgICAgKiBAcGFyYW0gYm9vbCAkYm9vbA0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIElzSFRNTCgkYm9vbCkgew0KICAgICAgICBpZigkYm9vbCA9PSB0cnVlKQ0KICAgICAgICAgICAgJHRoaXMtPkNvbnRlbnRUeXBlID0gInRleHQvaHRtbCI7DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICR0aGlzLT5Db250ZW50VHlwZSA9ICJ0ZXh0L3BsYWluIjsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgU01UUC4NCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBJc1NNVFAoKSB7DQogICAgICAgICR0aGlzLT5NYWlsZXIgPSAic210cCI7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIFBIUCBtYWlsKCkgZnVuY3Rpb24uDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gSXNNYWlsKCkgew0KICAgICAgICAkdGhpcy0+TWFpbGVyID0gIm1haWwiOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNldHMgTWFpbGVyIHRvIHNlbmQgbWVzc2FnZSB1c2luZyB0aGUgJFNlbmRtYWlsIHByb2dyYW0uDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gSXNTZW5kbWFpbCgpIHsNCiAgICAgICAgJHRoaXMtPk1haWxlciA9ICJzZW5kbWFpbCI7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIHRoZSBxbWFpbCBNVEEuIA0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIElzUW1haWwoKSB7DQogICAgICAgICR0aGlzLT5TZW5kbWFpbCA9ICIvdmFyL3FtYWlsL2Jpbi9zZW5kbWFpbCI7DQogICAgICAgICR0aGlzLT5NYWlsZXIgPSAic2VuZG1haWwiOw0KICAgIH0NCg0KDQogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAgIC8vIFJFQ0lQSUVOVCBNRVRIT0RTDQogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQogICAgLyoqDQogICAgICogQWRkcyBhICJUbyIgYWRkcmVzcy4gIA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFkZHJlc3MNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkQWRkcmVzcygkYWRkcmVzcywgJG5hbWUgPSAiIikgew0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPnRvKTsNCiAgICAgICAgJHRoaXMtPnRvWyRjdXJdWzBdID0gdHJpbSgkYWRkcmVzcyk7DQogICAgICAgICR0aGlzLT50b1skY3VyXVsxXSA9ICRuYW1lOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYSAiQ2MiIGFkZHJlc3MuIE5vdGU6IHRoaXMgZnVuY3Rpb24gd29ya3MNCiAgICAgKiB3aXRoIHRoZSBTTVRQIG1haWxlciBvbiB3aW4zMiwgbm90IHdpdGggdGhlICJtYWlsIg0KICAgICAqIG1haWxlci4gIA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFkZHJlc3MNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lDQogICAgICogQHJldHVybiB2b2lkDQogICAgKi8NCiAgICBmdW5jdGlvbiBBZGRDQygkYWRkcmVzcywgJG5hbWUgPSAiIikgew0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPmNjKTsNCiAgICAgICAgJHRoaXMtPmNjWyRjdXJdWzBdID0gdHJpbSgkYWRkcmVzcyk7DQogICAgICAgICR0aGlzLT5jY1skY3VyXVsxXSA9ICRuYW1lOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYSAiQmNjIiBhZGRyZXNzLiBOb3RlOiB0aGlzIGZ1bmN0aW9uIHdvcmtzDQogICAgICogd2l0aCB0aGUgU01UUCBtYWlsZXIgb24gd2luMzIsIG5vdCB3aXRoIHRoZSAibWFpbCINCiAgICAgKiBtYWlsZXIuICANCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzDQogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZQ0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEFkZEJDQygkYWRkcmVzcywgJG5hbWUgPSAiIikgew0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPmJjYyk7DQogICAgICAgICR0aGlzLT5iY2NbJGN1cl1bMF0gPSB0cmltKCRhZGRyZXNzKTsNCiAgICAgICAgJHRoaXMtPmJjY1skY3VyXVsxXSA9ICRuYW1lOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYSAiUmVwbHktdG8iIGFkZHJlc3MuICANCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzDQogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZQ0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEFkZFJlcGx5VG8oJGFkZHJlc3MsICRuYW1lID0gIiIpIHsNCiAgICAgICAgJGN1ciA9IGNvdW50KCR0aGlzLT5SZXBseVRvKTsNCiAgICAgICAgJHRoaXMtPlJlcGx5VG9bJGN1cl1bMF0gPSB0cmltKCRhZGRyZXNzKTsNCiAgICAgICAgJHRoaXMtPlJlcGx5VG9bJGN1cl1bMV0gPSAkbmFtZTsNCiAgICB9DQoNCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBNQUlMIFNFTkRJTkcgTUVUSE9EUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqIENyZWF0ZXMgbWVzc2FnZSBhbmQgYXNzaWducyBNYWlsZXIuIElmIHRoZSBtZXNzYWdlIGlzDQogICAgICogbm90IHNlbnQgc3VjY2Vzc2Z1bGx5IHRoZW4gaXQgcmV0dXJucyBmYWxzZS4gIFVzZSB0aGUgRXJyb3JJbmZvDQogICAgICogdmFyaWFibGUgdG8gdmlldyBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3IuICANCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTZW5kKCkgew0KICAgICAgICAkaGVhZGVyID0gIiI7DQogICAgICAgICRib2R5ID0gIiI7DQogICAgICAgICRyZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGlmKChjb3VudCgkdGhpcy0+dG8pICsgY291bnQoJHRoaXMtPmNjKSArIGNvdW50KCR0aGlzLT5iY2MpKSA8IDEpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygicHJvdmlkZV9hZGRyZXNzIikpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gU2V0IHdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgbXVsdGlwYXJ0L2FsdGVybmF0aXZlDQogICAgICAgIGlmKCFlbXB0eSgkdGhpcy0+QWx0Qm9keSkpDQogICAgICAgICAgICAkdGhpcy0+Q29udGVudFR5cGUgPSAibXVsdGlwYXJ0L2FsdGVybmF0aXZlIjsNCg0KICAgICAgICAkdGhpcy0+ZXJyb3JfY291bnQgPSAwOyAvLyByZXNldCBlcnJvcnMNCiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2VUeXBlKCk7DQogICAgICAgICRoZWFkZXIgLj0gJHRoaXMtPkNyZWF0ZUhlYWRlcigpOw0KICAgICAgICAkYm9keSA9ICR0aGlzLT5DcmVhdGVCb2R5KCk7DQoNCiAgICAgICAgaWYoJGJvZHkgPT0gIiIpIHsgcmV0dXJuIGZhbHNlOyB9DQoNCiAgICAgICAgLy8gQ2hvb3NlIHRoZSBtYWlsZXINCiAgICAgICAgc3dpdGNoKCR0aGlzLT5NYWlsZXIpDQogICAgICAgIHsNCiAgICAgICAgICAgIGNhc2UgInNlbmRtYWlsIjoNCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPlNlbmRtYWlsU2VuZCgkaGVhZGVyLCAkYm9keSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICJtYWlsIjoNCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPk1haWxTZW5kKCRoZWFkZXIsICRib2R5KTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgInNtdHAiOg0KICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkdGhpcy0+U210cFNlbmQoJGhlYWRlciwgJGJvZHkpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TWFpbGVyIC4gJHRoaXMtPkxhbmcoIm1haWxlcl9ub3Rfc3VwcG9ydGVkIikpOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBTZW5kcyBtYWlsIHVzaW5nIHRoZSAkU2VuZG1haWwgcHJvZ3JhbS4gIA0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNlbmRtYWlsU2VuZCgkaGVhZGVyLCAkYm9keSkgew0KICAgICAgICBpZiAoJHRoaXMtPlNlbmRlciAhPSAiIikNCiAgICAgICAgICAgICRzZW5kbWFpbCA9IHNwcmludGYoIiVzIC1vaSAtZiAlcyAtdCIsICR0aGlzLT5TZW5kbWFpbCwgJHRoaXMtPlNlbmRlcik7DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICRzZW5kbWFpbCA9IHNwcmludGYoIiVzIC1vaSAtdCIsICR0aGlzLT5TZW5kbWFpbCk7DQoNCiAgICAgICAgaWYoIUAkbWFpbCA9IHBvcGVuKCRzZW5kbWFpbCwgInciKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJleGVjdXRlIikgLiAkdGhpcy0+U2VuZG1haWwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnB1dHMoJG1haWwsICRoZWFkZXIpOw0KICAgICAgICBmcHV0cygkbWFpbCwgJGJvZHkpOw0KICAgICAgICANCiAgICAgICAgJHJlc3VsdCA9IHBjbG9zZSgkbWFpbCkgPj4gOCAmIDB4RkY7DQogICAgICAgIGlmKCRyZXN1bHQgIT0gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJleGVjdXRlIikgLiAkdGhpcy0+U2VuZG1haWwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU2VuZHMgbWFpbCB1c2luZyB0aGUgUEhQIG1haWwoKSBmdW5jdGlvbi4gIA0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIE1haWxTZW5kKCRoZWFkZXIsICRib2R5KSB7DQogICAgICAgICR0byA9ICIiOw0KICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT50byk7ICRpKyspDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmKCRpICE9IDApIHsgJHRvIC49ICIsICI7IH0NCiAgICAgICAgICAgICR0byAuPSAkdGhpcy0+dG9bJGldWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCR0aGlzLT5TZW5kZXIgIT0gIiIgJiYgc3RybGVuKGluaV9nZXQoInNhZmVfbW9kZSIpKTwgMSkNCiAgICAgICAgew0KICAgICAgICAgICAgJG9sZF9mcm9tID0gaW5pX2dldCgic2VuZG1haWxfZnJvbSIpOw0KICAgICAgICAgICAgaW5pX3NldCgic2VuZG1haWxfZnJvbSIsICR0aGlzLT5TZW5kZXIpOw0KICAgICAgICAgICAgJHBhcmFtcyA9IHNwcmludGYoIi1vaSAtZiAlcyIsICR0aGlzLT5TZW5kZXIpOw0KICAgICAgICAgICAgJHJ0ID0gQG1haWwoJHRvLCAkdGhpcy0+RW5jb2RlSGVhZGVyKCR0aGlzLT5TdWJqZWN0KSwgJGJvZHksIA0KICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRlciwgJHBhcmFtcyk7DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgJHJ0ID0gQG1haWwoJHRvLCAkdGhpcy0+RW5jb2RlSGVhZGVyKCR0aGlzLT5TdWJqZWN0KSwgJGJvZHksICRoZWFkZXIpOw0KDQogICAgICAgIGlmIChpc3NldCgkb2xkX2Zyb20pKQ0KICAgICAgICAgICAgaW5pX3NldCgic2VuZG1haWxfZnJvbSIsICRvbGRfZnJvbSk7DQoNCiAgICAgICAgaWYoISRydCkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJpbnN0YW50aWF0ZSIpKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNlbmRzIG1haWwgdmlhIFNNVFAgdXNpbmcgUGhwU01UUCAoQXV0aG9yOg0KICAgICAqIENocmlzIFJ5YW4pLiAgUmV0dXJucyBib29sLiAgUmV0dXJucyBmYWxzZSBpZiB0aGVyZSBpcyBhDQogICAgICogYmFkIE1BSUwgRlJPTSwgUkNQVCwgb3IgREFUQSBpbnB1dC4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTbXRwU2VuZCgkaGVhZGVyLCAkYm9keSkgew0KICAgICAgICBpbmNsdWRlX29uY2UoJHRoaXMtPlBsdWdpbkRpciAuICJjbGFzcy5zbXRwLnBocCIpOw0KICAgICAgICAkZXJyb3IgPSAiIjsNCiAgICAgICAgJGJhZF9yY3B0ID0gYXJyYXkoKTsNCg0KICAgICAgICBpZighJHRoaXMtPlNtdHBDb25uZWN0KCkpDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgJHNtdHBfZnJvbSA9ICgkdGhpcy0+U2VuZGVyID09ICIiKSA/ICR0aGlzLT5Gcm9tIDogJHRoaXMtPlNlbmRlcjsNCiAgICAgICAgaWYoISR0aGlzLT5zbXRwLT5NYWlsKCRzbXRwX2Zyb20pKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZXJyb3IgPSAkdGhpcy0+TGFuZygiZnJvbV9mYWlsZWQiKSAuICRzbXRwX2Zyb207DQogICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJGVycm9yKTsNCiAgICAgICAgICAgICR0aGlzLT5zbXRwLT5SZXNldCgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gQXR0ZW1wdCB0byBzZW5kIGF0dGFjaCBhbGwgcmVjaXBpZW50cw0KICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT50byk7ICRpKyspDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmKCEkdGhpcy0+c210cC0+UmVjaXBpZW50KCR0aGlzLT50b1skaV1bMF0pKQ0KICAgICAgICAgICAgICAgICRiYWRfcmNwdFtdID0gJHRoaXMtPnRvWyRpXVswXTsNCiAgICAgICAgfQ0KICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5jYyk7ICRpKyspDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmKCEkdGhpcy0+c210cC0+UmVjaXBpZW50KCR0aGlzLT5jY1skaV1bMF0pKQ0KICAgICAgICAgICAgICAgICRiYWRfcmNwdFtdID0gJHRoaXMtPmNjWyRpXVswXTsNCiAgICAgICAgfQ0KICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5iY2MpOyAkaSsrKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZighJHRoaXMtPnNtdHAtPlJlY2lwaWVudCgkdGhpcy0+YmNjWyRpXVswXSkpDQogICAgICAgICAgICAgICAgJGJhZF9yY3B0W10gPSAkdGhpcy0+YmNjWyRpXVswXTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKGNvdW50KCRiYWRfcmNwdCkgPiAwKSAvLyBDcmVhdGUgZXJyb3IgbWVzc2FnZQ0KICAgICAgICB7DQogICAgICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCRiYWRfcmNwdCk7ICRpKyspDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgaWYoJGkgIT0gMCkgeyAkZXJyb3IgLj0gIiwgIjsgfQ0KICAgICAgICAgICAgICAgICRlcnJvciAuPSAkYmFkX3JjcHRbJGldOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGVycm9yID0gJHRoaXMtPkxhbmcoInJlY2lwaWVudHNfZmFpbGVkIikgLiAkZXJyb3I7DQogICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJGVycm9yKTsNCiAgICAgICAgICAgICR0aGlzLT5zbXRwLT5SZXNldCgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoISR0aGlzLT5zbXRwLT5EYXRhKCRoZWFkZXIgLiAkYm9keSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygiZGF0YV9ub3RfYWNjZXB0ZWQiKSk7DQogICAgICAgICAgICAkdGhpcy0+c210cC0+UmVzZXQoKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICBpZigkdGhpcy0+U01UUEtlZXBBbGl2ZSA9PSB0cnVlKQ0KICAgICAgICAgICAgJHRoaXMtPnNtdHAtPlJlc2V0KCk7DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICR0aGlzLT5TbXRwQ2xvc2UoKTsNCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBJbml0aWF0ZXMgYSBjb25uZWN0aW9uIHRvIGFuIFNNVFAgc2VydmVyLiAgUmV0dXJucyBmYWxzZSBpZiB0aGUgDQogICAgICogb3BlcmF0aW9uIGZhaWxlZC4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTbXRwQ29ubmVjdCgpIHsNCiAgICAgICAgaWYoJHRoaXMtPnNtdHAgPT0gTlVMTCkgeyAkdGhpcy0+c210cCA9IG5ldyBTTVRQKCk7IH0NCg0KICAgICAgICAkdGhpcy0+c210cC0+ZG9fZGVidWcgPSAkdGhpcy0+U01UUERlYnVnOw0KICAgICAgICAkaG9zdHMgPSBleHBsb2RlKCI7IiwgJHRoaXMtPkhvc3QpOw0KICAgICAgICAkaW5kZXggPSAwOw0KICAgICAgICAkY29ubmVjdGlvbiA9ICgkdGhpcy0+c210cC0+Q29ubmVjdGVkKCkpOyANCg0KICAgICAgICAvLyBSZXRyeSB3aGlsZSB0aGVyZSBpcyBubyBjb25uZWN0aW9uDQogICAgICAgIHdoaWxlKCRpbmRleCA8IGNvdW50KCRob3N0cykgJiYgJGNvbm5lY3Rpb24gPT0gZmFsc2UpDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmKHN0cnN0cigkaG9zdHNbJGluZGV4XSwgIjoiKSkNCiAgICAgICAgICAgICAgICBsaXN0KCRob3N0LCAkcG9ydCkgPSBleHBsb2RlKCI6IiwgJGhvc3RzWyRpbmRleF0pOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRob3N0ID0gJGhvc3RzWyRpbmRleF07DQogICAgICAgICAgICAgICAgJHBvcnQgPSAkdGhpcy0+UG9ydDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoJHRoaXMtPnNtdHAtPkNvbm5lY3QoJGhvc3QsICRwb3J0LCAkdGhpcy0+VGltZW91dCkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5IZWxvICE9ICcnKQ0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c210cC0+SGVsbG8oJHRoaXMtPkhlbG8pOw0KICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNtdHAtPkhlbGxvKCR0aGlzLT5TZXJ2ZXJIb3N0bmFtZSgpKTsNCiAgICAgICAgDQogICAgICAgICAgICAgICAgaWYoJHRoaXMtPlNNVFBBdXRoKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgaWYoISR0aGlzLT5zbXRwLT5BdXRoZW50aWNhdGUoJHRoaXMtPlVzZXJuYW1lLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPlBhc3N3b3JkKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJhdXRoZW50aWNhdGUiKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c210cC0+UmVzZXQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRjb25uZWN0aW9uID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJGNvbm5lY3Rpb24gPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGluZGV4Kys7DQogICAgICAgIH0NCiAgICAgICAgaWYoISRjb25uZWN0aW9uKQ0KICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJjb25uZWN0X2hvc3QiKSk7DQoNCiAgICAgICAgcmV0dXJuICRjb25uZWN0aW9uOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsb3NlcyB0aGUgYWN0aXZlIFNNVFAgc2Vzc2lvbiBpZiBvbmUgZXhpc3RzLg0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNtdHBDbG9zZSgpIHsNCiAgICAgICAgaWYoJHRoaXMtPnNtdHAgIT0gTlVMTCkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYoJHRoaXMtPnNtdHAtPkNvbm5lY3RlZCgpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0aGlzLT5zbXRwLT5RdWl0KCk7DQogICAgICAgICAgICAgICAgJHRoaXMtPnNtdHAtPkNsb3NlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTZXRzIHRoZSBsYW5ndWFnZSBmb3IgYWxsIGNsYXNzIGVycm9yIG1lc3NhZ2VzLiAgUmV0dXJucyBmYWxzZSANCiAgICAgKiBpZiBpdCBjYW5ub3QgbG9hZCB0aGUgbGFuZ3VhZ2UgZmlsZS4gIFRoZSBkZWZhdWx0IGxhbmd1YWdlIHR5cGUNCiAgICAgKiBpcyBFbmdsaXNoLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxhbmdfdHlwZSBUeXBlIG9mIGxhbmd1YWdlIChlLmcuIFBvcnR1Z3Vlc2U6ICJiciIpDQogICAgICogQHBhcmFtIHN0cmluZyAkbGFuZ19wYXRoIFBhdGggdG8gdGhlIGxhbmd1YWdlIGZpbGUgZGlyZWN0b3J5DQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTZXRMYW5ndWFnZSgkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gImxhbmd1YWdlLyIpIHsNCiAgICAgICAgaWYoZmlsZV9leGlzdHMoJGxhbmdfcGF0aC4ncGhwbWFpbGVyLmxhbmctJy4kbGFuZ190eXBlLicucGhwJykpDQogICAgICAgICAgICBpbmNsdWRlKCRsYW5nX3BhdGguJ3BocG1haWxlci5sYW5nLScuJGxhbmdfdHlwZS4nLnBocCcpOw0KICAgICAgICBlbHNlIGlmKGZpbGVfZXhpc3RzKCRsYW5nX3BhdGguJ3BocG1haWxlci5sYW5nLWVuLnBocCcpKQ0KICAgICAgICAgICAgaW5jbHVkZSgkbGFuZ19wYXRoLidwaHBtYWlsZXIubGFuZy1lbi5waHAnKTsNCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoIkNvdWxkIG5vdCBsb2FkIGxhbmd1YWdlIGZpbGUiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICAkdGhpcy0+bGFuZ3VhZ2UgPSAkUEhQTUFJTEVSX0xBTkc7DQogICAgDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBNRVNTQUdFIENSRUFUSU9OIE1FVEhPRFMNCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCiAgICAvKioNCiAgICAgKiBDcmVhdGVzIHJlY2lwaWVudCBoZWFkZXJzLiAgDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICogQHJldHVybiBzdHJpbmcNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBBZGRyQXBwZW5kKCR0eXBlLCAkYWRkcikgew0KICAgICAgICAkYWRkcl9zdHIgPSAkdHlwZSAuICI6ICI7DQogICAgICAgICRhZGRyX3N0ciAuPSAkdGhpcy0+QWRkckZvcm1hdCgkYWRkclswXSk7DQogICAgICAgIGlmKGNvdW50KCRhZGRyKSA+IDEpDQogICAgICAgIHsNCiAgICAgICAgICAgIGZvcigkaSA9IDE7ICRpIDwgY291bnQoJGFkZHIpOyAkaSsrKQ0KICAgICAgICAgICAgICAgICRhZGRyX3N0ciAuPSAiLCAiIC4gJHRoaXMtPkFkZHJGb3JtYXQoJGFkZHJbJGldKTsNCiAgICAgICAgfQ0KICAgICAgICAkYWRkcl9zdHIgLj0gJHRoaXMtPkxFOw0KDQogICAgICAgIHJldHVybiAkYWRkcl9zdHI7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIEZvcm1hdHMgYW4gYWRkcmVzcyBjb3JyZWN0bHkuIA0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkckZvcm1hdCgkYWRkcikgew0KICAgICAgICBpZihlbXB0eSgkYWRkclsxXSkpDQogICAgICAgICAgICAkZm9ybWF0dGVkID0gJGFkZHJbMF07DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJGZvcm1hdHRlZCA9ICR0aGlzLT5FbmNvZGVIZWFkZXIoJGFkZHJbMV0sICdwaHJhc2UnKSAuICIgPCIgLiANCiAgICAgICAgICAgICAgICAgICAgICAgICAkYWRkclswXSAuICI+IjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkZm9ybWF0dGVkOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFdyYXBzIG1lc3NhZ2UgZm9yIHVzZSB3aXRoIG1haWxlcnMgdGhhdCBkbyBub3QNCiAgICAgKiBhdXRvbWF0aWNhbGx5IHBlcmZvcm0gd3JhcHBpbmcgYW5kIGZvciBxdW90ZWQtcHJpbnRhYmxlLg0KICAgICAqIE9yaWdpbmFsIHdyaXR0ZW4gYnkgcGhpbGlwcGUuICANCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFdyYXBUZXh0KCRtZXNzYWdlLCAkbGVuZ3RoLCAkcXBfbW9kZSA9IGZhbHNlKSB7DQogICAgICAgICRzb2Z0X2JyZWFrID0gKCRxcF9tb2RlKSA/IHNwcmludGYoIiA9JXMiLCAkdGhpcy0+TEUpIDogJHRoaXMtPkxFOw0KDQogICAgICAgICRtZXNzYWdlID0gJHRoaXMtPkZpeEVPTCgkbWVzc2FnZSk7DQogICAgICAgIGlmIChzdWJzdHIoJG1lc3NhZ2UsIC0xKSA9PSAkdGhpcy0+TEUpDQogICAgICAgICAgICAkbWVzc2FnZSA9IHN1YnN0cigkbWVzc2FnZSwgMCwgLTEpOw0KDQogICAgICAgICRsaW5lID0gZXhwbG9kZSgkdGhpcy0+TEUsICRtZXNzYWdlKTsNCiAgICAgICAgJG1lc3NhZ2UgPSAiIjsNCiAgICAgICAgZm9yICgkaT0wIDskaSA8IGNvdW50KCRsaW5lKTsgJGkrKykNCiAgICAgICAgew0KICAgICAgICAgICRsaW5lX3BhcnQgPSBleHBsb2RlKCIgIiwgJGxpbmVbJGldKTsNCiAgICAgICAgICAkYnVmID0gIiI7DQogICAgICAgICAgZm9yICgkZSA9IDA7ICRlPGNvdW50KCRsaW5lX3BhcnQpOyAkZSsrKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICAgJHdvcmQgPSAkbGluZV9wYXJ0WyRlXTsNCiAgICAgICAgICAgICAgaWYgKCRxcF9tb2RlIGFuZCAoc3RybGVuKCR3b3JkKSA+ICRsZW5ndGgpKQ0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHNwYWNlX2xlZnQgPSAkbGVuZ3RoIC0gc3RybGVuKCRidWYpIC0gMTsNCiAgICAgICAgICAgICAgICBpZiAoJGUgIT0gMCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGlmICgkc3BhY2VfbGVmdCA+IDIwKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkbGVuID0gJHNwYWNlX2xlZnQ7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCR3b3JkLCAkbGVuIC0gMSwgMSkgPT0gIj0iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAkbGVuLS07DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKHN1YnN0cigkd29yZCwgJGxlbiAtIDIsIDEpID09ICI9IikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgJGxlbiAtPSAyOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhcnQgPSBzdWJzdHIoJHdvcmQsIDAsICRsZW4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHdvcmQgPSBzdWJzdHIoJHdvcmQsICRsZW4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGJ1ZiAuPSAiICIgLiAkcGFydDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlIC49ICRidWYgLiBzcHJpbnRmKCI9JXMiLCAkdGhpcy0+TEUpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UgLj0gJGJ1ZiAuICRzb2Z0X2JyZWFrOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRidWYgPSAiIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgd2hpbGUgKHN0cmxlbigkd29yZCkgPiAwKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJGxlbiA9ICRsZW5ndGg7DQogICAgICAgICAgICAgICAgICAgIGlmIChzdWJzdHIoJHdvcmQsICRsZW4gLSAxLCAxKSA9PSAiPSIpDQogICAgICAgICAgICAgICAgICAgICAgICAkbGVuLS07DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoc3Vic3RyKCR3b3JkLCAkbGVuIC0gMiwgMSkgPT0gIj0iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJGxlbiAtPSAyOw0KICAgICAgICAgICAgICAgICAgICAkcGFydCA9IHN1YnN0cigkd29yZCwgMCwgJGxlbik7DQogICAgICAgICAgICAgICAgICAgICR3b3JkID0gc3Vic3RyKCR3b3JkLCAkbGVuKTsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCR3b3JkKSA+IDApDQogICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSAuPSAkcGFydCAuIHNwcmludGYoIj0lcyIsICR0aGlzLT5MRSk7DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICRidWYgPSAkcGFydDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGJ1Zl9vID0gJGJ1ZjsNCiAgICAgICAgICAgICAgICAkYnVmIC49ICgkZSA9PSAwKSA/ICR3b3JkIDogKCIgIiAuICR3b3JkKTsgDQoNCiAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRidWYpID4gJGxlbmd0aCBhbmQgJGJ1Zl9vICE9ICIiKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UgLj0gJGJ1Zl9vIC4gJHNvZnRfYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICRidWYgPSAkd29yZDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgICAgJG1lc3NhZ2UgLj0gJGJ1ZiAuICR0aGlzLT5MRTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkbWVzc2FnZTsNCiAgICB9DQogICAgDQogICAgLyoqDQogICAgICogU2V0IHRoZSBib2R5IHdyYXBwaW5nLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNldFdvcmRXcmFwKCkgew0KICAgICAgICBpZigkdGhpcy0+V29yZFdyYXAgPCAxKQ0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgDQogICAgICAgIHN3aXRjaCgkdGhpcy0+bWVzc2FnZV90eXBlKQ0KICAgICAgICB7DQogICAgICAgICAgIGNhc2UgImFsdCI6DQogICAgICAgICAgICAgIC8vIGZhbGwgdGhyb3VnaA0KICAgICAgICAgICBjYXNlICJhbHRfYXR0YWNobWVudHMiOg0KICAgICAgICAgICAgICAkdGhpcy0+QWx0Qm9keSA9ICR0aGlzLT5XcmFwVGV4dCgkdGhpcy0+QWx0Qm9keSwgJHRoaXMtPldvcmRXcmFwKTsNCiAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICR0aGlzLT5Cb2R5ID0gJHRoaXMtPldyYXBUZXh0KCR0aGlzLT5Cb2R5LCAkdGhpcy0+V29yZFdyYXApOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFzc2VtYmxlcyBtZXNzYWdlIGhlYWRlci4gIA0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gQ3JlYXRlSGVhZGVyKCkgew0KICAgICAgICAkcmVzdWx0ID0gIiI7DQogICAgICAgIA0KICAgICAgICAvLyBTZXQgdGhlIGJvdW5kYXJpZXMNCiAgICAgICAgJHVuaXFfaWQgPSBtZDUodW5pcWlkKHRpbWUoKSkpOw0KICAgICAgICAkdGhpcy0+Ym91bmRhcnlbMV0gPSAiYjFfIiAuICR1bmlxX2lkOw0KICAgICAgICAkdGhpcy0+Ym91bmRhcnlbMl0gPSAiYjJfIiAuICR1bmlxX2lkOw0KDQogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIkRhdGUiLCAkdGhpcy0+UkZDRGF0ZSgpKTsNCiAgICAgICAgaWYoJHRoaXMtPlNlbmRlciA9PSAiIikNCiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIlJldHVybi1QYXRoIiwgdHJpbSgkdGhpcy0+RnJvbSkpOw0KICAgICAgICBlbHNlDQogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJSZXR1cm4tUGF0aCIsIHRyaW0oJHRoaXMtPlNlbmRlcikpOw0KICAgICAgICANCiAgICAgICAgLy8gVG8gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IG1haWwoKQ0KICAgICAgICBpZigkdGhpcy0+TWFpbGVyICE9ICJtYWlsIikNCiAgICAgICAgew0KICAgICAgICAgICAgaWYoY291bnQoJHRoaXMtPnRvKSA+IDApDQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+QWRkckFwcGVuZCgiVG8iLCAkdGhpcy0+dG8pOw0KICAgICAgICAgICAgZWxzZSBpZiAoY291bnQoJHRoaXMtPmNjKSA9PSAwKQ0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIlRvIiwgInVuZGlzY2xvc2VkLXJlY2lwaWVudHM6OyIpOw0KICAgICAgICAgICAgaWYoY291bnQoJHRoaXMtPmNjKSA+IDApDQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+QWRkckFwcGVuZCgiQ2MiLCAkdGhpcy0+Y2MpOw0KICAgICAgICB9DQoNCiAgICAgICAgJGZyb20gPSBhcnJheSgpOw0KICAgICAgICAkZnJvbVswXVswXSA9IHRyaW0oJHRoaXMtPkZyb20pOw0KICAgICAgICAkZnJvbVswXVsxXSA9ICR0aGlzLT5Gcm9tTmFtZTsNCiAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+QWRkckFwcGVuZCgiRnJvbSIsICRmcm9tKTsgDQoNCiAgICAgICAgLy8gc2VuZG1haWwgYW5kIG1haWwoKSBleHRyYWN0IEJjYyBmcm9tIHRoZSBoZWFkZXIgYmVmb3JlIHNlbmRpbmcNCiAgICAgICAgaWYoKCgkdGhpcy0+TWFpbGVyID09ICJzZW5kbWFpbCIpIHx8ICgkdGhpcy0+TWFpbGVyID09ICJtYWlsIikpICYmIChjb3VudCgkdGhpcy0+YmNjKSA+IDApKQ0KICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+QWRkckFwcGVuZCgiQmNjIiwgJHRoaXMtPmJjYyk7DQoNCiAgICAgICAgaWYoY291bnQoJHRoaXMtPlJlcGx5VG8pID4gMCkNCiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkFkZHJBcHBlbmQoIlJlcGx5LXRvIiwgJHRoaXMtPlJlcGx5VG8pOw0KDQogICAgICAgIC8vIG1haWwoKSBzZXRzIHRoZSBzdWJqZWN0IGl0c2VsZg0KICAgICAgICBpZigkdGhpcy0+TWFpbGVyICE9ICJtYWlsIikNCiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIlN1YmplY3QiLCAkdGhpcy0+RW5jb2RlSGVhZGVyKHRyaW0oJHRoaXMtPlN1YmplY3QpKSk7DQoNCiAgICAgICAgJHJlc3VsdCAuPSBzcHJpbnRmKCJNZXNzYWdlLUlEOiA8JXNAJXM+JXMiLCAkdW5pcV9pZCwgJHRoaXMtPlNlcnZlckhvc3RuYW1lKCksICR0aGlzLT5MRSk7DQogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIlgtUHJpb3JpdHkiLCAkdGhpcy0+UHJpb3JpdHkpOw0KICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJYLU1haWxlciIsICJQSFBNYWlsZXIgW3ZlcnNpb24gIiAuICR0aGlzLT5WZXJzaW9uIC4gIl0iKTsNCiAgICAgICAgDQogICAgICAgIGlmKCR0aGlzLT5Db25maXJtUmVhZGluZ1RvICE9ICIiKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJEaXNwb3NpdGlvbi1Ob3RpZmljYXRpb24tVG8iLCANCiAgICAgICAgICAgICAgICAgICAgICAgIjwiIC4gdHJpbSgkdGhpcy0+Q29uZmlybVJlYWRpbmdUbykgLiAiPiIpOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gQWRkIGN1c3RvbSBoZWFkZXJzDQogICAgICAgIGZvcigkaW5kZXggPSAwOyAkaW5kZXggPCBjb3VudCgkdGhpcy0+Q3VzdG9tSGVhZGVyKTsgJGluZGV4KyspDQogICAgICAgIHsNCiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUodHJpbSgkdGhpcy0+Q3VzdG9tSGVhZGVyWyRpbmRleF1bMF0pLCANCiAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkVuY29kZUhlYWRlcih0cmltKCR0aGlzLT5DdXN0b21IZWFkZXJbJGluZGV4XVsxXSkpKTsNCiAgICAgICAgfQ0KICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJNSU1FLVZlcnNpb24iLCAiMS4wIik7DQoNCiAgICAgICAgc3dpdGNoKCR0aGlzLT5tZXNzYWdlX3R5cGUpDQogICAgICAgIHsNCiAgICAgICAgICAgIGNhc2UgInBsYWluIjoNCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nIiwgJHRoaXMtPkVuY29kaW5nKTsNCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49IHNwcmludGYoIkNvbnRlbnQtVHlwZTogJXM7IGNoYXJzZXQ9XCIlc1wiIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5Db250ZW50VHlwZSwgJHRoaXMtPkNoYXJTZXQpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAiYXR0YWNobWVudHMiOg0KICAgICAgICAgICAgICAgIC8vIGZhbGwgdGhyb3VnaA0KICAgICAgICAgICAgY2FzZSAiYWx0X2F0dGFjaG1lbnRzIjoNCiAgICAgICAgICAgICAgICBpZigkdGhpcy0+SW5saW5lSW1hZ2VFeGlzdHMoKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gc3ByaW50ZigiQ29udGVudC1UeXBlOiAlczslc1x0dHlwZT1cInRleHQvaHRtbFwiOyVzXHRib3VuZGFyeT1cIiVzXCIlcyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11bHRpcGFydC9yZWxhdGVkIiwgJHRoaXMtPkxFLCAkdGhpcy0+TEUsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmJvdW5kYXJ5WzFdLCAkdGhpcy0+TEUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5IZWFkZXJMaW5lKCJDb250ZW50LVR5cGUiLCAibXVsdGlwYXJ0L21peGVkOyIpOw0KICAgICAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5UZXh0TGluZSgiXHRib3VuZGFyeT1cIiIgLiAkdGhpcy0+Ym91bmRhcnlbMV0gLiAnIicpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImFsdCI6DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+SGVhZGVyTGluZSgiQ29udGVudC1UeXBlIiwgIm11bHRpcGFydC9hbHRlcm5hdGl2ZTsiKTsNCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5UZXh0TGluZSgiXHRib3VuZGFyeT1cIiIgLiAkdGhpcy0+Ym91bmRhcnlbMV0gLiAnIicpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJHRoaXMtPk1haWxlciAhPSAibWFpbCIpDQogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5MRS4kdGhpcy0+TEU7DQoNCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQXNzZW1ibGVzIHRoZSBtZXNzYWdlIGJvZHkuICBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBmYWlsdXJlLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gQ3JlYXRlQm9keSgpIHsNCiAgICAgICAgJHJlc3VsdCA9ICIiOw0KDQogICAgICAgICR0aGlzLT5TZXRXb3JkV3JhcCgpOw0KDQogICAgICAgIHN3aXRjaCgkdGhpcy0+bWVzc2FnZV90eXBlKQ0KICAgICAgICB7DQogICAgICAgICAgICBjYXNlICJhbHQiOg0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgIiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiwgIiIpOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkVuY29kZVN0cmluZygkdGhpcy0+QWx0Qm9keSwgJHRoaXMtPkVuY29kaW5nKTsNCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5MRS4kdGhpcy0+TEU7DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+R2V0Qm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzFdLCAiIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQvaHRtbCIsICIiKTsNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5FbmNvZGVTdHJpbmcoJHRoaXMtPkJvZHksICR0aGlzLT5FbmNvZGluZyk7DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+TEUuJHRoaXMtPkxFOw0KICAgIA0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkVuZEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICJwbGFpbiI6DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+RW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkdGhpcy0+RW5jb2RpbmcpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAiYXR0YWNobWVudHMiOg0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgIiIsICIiLCAiIik7DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+RW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkdGhpcy0+RW5jb2RpbmcpOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkxFOw0KICAgICANCiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5BdHRhY2hBbGwoKTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImFsdF9hdHRhY2htZW50cyI6DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSBzcHJpbnRmKCItLSVzJXMiLCAkdGhpcy0+Ym91bmRhcnlbMV0sICR0aGlzLT5MRSk7DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSBzcHJpbnRmKCJDb250ZW50LVR5cGU6ICVzOyVzIiAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcdGJvdW5kYXJ5PVwiJXNcIiVzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11bHRpcGFydC9hbHRlcm5hdGl2ZSIsICR0aGlzLT5MRSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5ib3VuZGFyeVsyXSwgJHRoaXMtPkxFLiR0aGlzLT5MRSk7DQogICAgDQogICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHRleHQgYm9keQ0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsyXSwgIiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiwgIiIpIC4gJHRoaXMtPkxFOw0KDQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+RW5jb2RlU3RyaW5nKCR0aGlzLT5BbHRCb2R5LCAkdGhpcy0+RW5jb2RpbmcpOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkxFLiR0aGlzLT5MRTsNCiAgICANCiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdGhlIEhUTUwgYm9keQ0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsyXSwgIiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0L2h0bWwiLCAiIikgLiAkdGhpcy0+TEU7DQogICAgDQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+RW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkdGhpcy0+RW5jb2RpbmcpOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkxFLiR0aGlzLT5MRTsNCg0KICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkVuZEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsyXSk7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+QXR0YWNoQWxsKCk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgaWYoJHRoaXMtPklzRXJyb3IoKSkNCiAgICAgICAgICAgICRyZXN1bHQgPSAiIjsNCg0KICAgICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXR1cm5zIHRoZSBzdGFydCBvZiBhIG1lc3NhZ2UgYm91bmRhcnkuDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICovDQogICAgZnVuY3Rpb24gR2V0Qm91bmRhcnkoJGJvdW5kYXJ5LCAkY2hhclNldCwgJGNvbnRlbnRUeXBlLCAkZW5jb2RpbmcpIHsNCiAgICAgICAgJHJlc3VsdCA9ICIiOw0KICAgICAgICBpZigkY2hhclNldCA9PSAiIikgeyAkY2hhclNldCA9ICR0aGlzLT5DaGFyU2V0OyB9DQogICAgICAgIGlmKCRjb250ZW50VHlwZSA9PSAiIikgeyAkY29udGVudFR5cGUgPSAkdGhpcy0+Q29udGVudFR5cGU7IH0NCiAgICAgICAgaWYoJGVuY29kaW5nID09ICIiKSB7ICRlbmNvZGluZyA9ICR0aGlzLT5FbmNvZGluZzsgfQ0KDQogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPlRleHRMaW5lKCItLSIgLiAkYm91bmRhcnkpOw0KICAgICAgICAkcmVzdWx0IC49IHNwcmludGYoIkNvbnRlbnQtVHlwZTogJXM7IGNoYXJzZXQgPSBcIiVzXCIiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudFR5cGUsICRjaGFyU2V0KTsNCiAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+TEU7DQogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkhlYWRlckxpbmUoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciLCAkZW5jb2RpbmcpOw0KICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5MRTsNCiAgICAgICANCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFJldHVybnMgdGhlIGVuZCBvZiBhIG1lc3NhZ2UgYm91bmRhcnkuDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICovDQogICAgZnVuY3Rpb24gRW5kQm91bmRhcnkoJGJvdW5kYXJ5KSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TEUgLiAiLS0iIC4gJGJvdW5kYXJ5IC4gIi0tIiAuICR0aGlzLT5MRTsgDQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFNldHMgdGhlIG1lc3NhZ2UgdHlwZS4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTZXRNZXNzYWdlVHlwZSgpIHsNCiAgICAgICAgaWYoY291bnQoJHRoaXMtPmF0dGFjaG1lbnQpIDwgMSAmJiBzdHJsZW4oJHRoaXMtPkFsdEJvZHkpIDwgMSkNCiAgICAgICAgICAgICR0aGlzLT5tZXNzYWdlX3R5cGUgPSAicGxhaW4iOw0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmKGNvdW50KCR0aGlzLT5hdHRhY2htZW50KSA+IDApDQogICAgICAgICAgICAgICAgJHRoaXMtPm1lc3NhZ2VfdHlwZSA9ICJhdHRhY2htZW50cyI7DQogICAgICAgICAgICBpZihzdHJsZW4oJHRoaXMtPkFsdEJvZHkpID4gMCAmJiBjb3VudCgkdGhpcy0+YXR0YWNobWVudCkgPCAxKQ0KICAgICAgICAgICAgICAgICR0aGlzLT5tZXNzYWdlX3R5cGUgPSAiYWx0IjsNCiAgICAgICAgICAgIGlmKHN0cmxlbigkdGhpcy0+QWx0Qm9keSkgPiAwICYmIGNvdW50KCR0aGlzLT5hdHRhY2htZW50KSA+IDApDQogICAgICAgICAgICAgICAgJHRoaXMtPm1lc3NhZ2VfdHlwZSA9ICJhbHRfYXR0YWNobWVudHMiOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBoZWFkZXIgbGluZS4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEhlYWRlckxpbmUoJG5hbWUsICR2YWx1ZSkgew0KICAgICAgICByZXR1cm4gJG5hbWUgLiAiOiAiIC4gJHZhbHVlIC4gJHRoaXMtPkxFOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJldHVybnMgYSBmb3JtYXR0ZWQgbWFpbCBsaW5lLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gVGV4dExpbmUoJHZhbHVlKSB7DQogICAgICAgIHJldHVybiAkdmFsdWUgLiAkdGhpcy0+TEU7DQogICAgfQ0KDQogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAgIC8vIEFUVEFDSE1FTlQgTUVUSE9EUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYW4gYXR0YWNobWVudCBmcm9tIGEgcGF0aCBvbiB0aGUgZmlsZXN5c3RlbS4NCiAgICAgKiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBmaWxlIGNvdWxkIG5vdCBiZSBmb3VuZA0KICAgICAqIG9yIGFjY2Vzc2VkLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggUGF0aCB0byB0aGUgYXR0YWNobWVudC4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE92ZXJyaWRlcyB0aGUgYXR0YWNobWVudCBuYW1lLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGVuY29kaW5nIEZpbGUgZW5jb2RpbmcgKHNlZSAkRW5jb2RpbmcpLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgRmlsZSBleHRlbnNpb24gKE1JTUUpIHR5cGUuDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkQXR0YWNobWVudCgkcGF0aCwgJG5hbWUgPSAiIiwgJGVuY29kaW5nID0gImJhc2U2NCIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUgPSAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIikgew0KICAgICAgICBpZighQGlzX2ZpbGUoJHBhdGgpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoImZpbGVfYWNjZXNzIikgLiAkcGF0aCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkcGF0aCk7DQogICAgICAgIGlmKCRuYW1lID09ICIiKQ0KICAgICAgICAgICAgJG5hbWUgPSAkZmlsZW5hbWU7DQoNCiAgICAgICAgJGN1ciA9IGNvdW50KCR0aGlzLT5hdHRhY2htZW50KTsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bMF0gPSAkcGF0aDsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bMV0gPSAkZmlsZW5hbWU7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzJdID0gJG5hbWU7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzNdID0gJGVuY29kaW5nOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVs0XSA9ICR0eXBlOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVs1XSA9IGZhbHNlOyAvLyBpc1N0cmluZ0F0dGFjaG1lbnQNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bNl0gPSAiYXR0YWNobWVudCI7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzddID0gMDsNCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBBdHRhY2hlcyBhbGwgZnMsIHN0cmluZywgYW5kIGJpbmFyeSBhdHRhY2htZW50cyB0byB0aGUgbWVzc2FnZS4NCiAgICAgKiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBmYWlsdXJlLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gQXR0YWNoQWxsKCkgew0KICAgICAgICAvLyBSZXR1cm4gdGV4dCBvZiBib2R5DQogICAgICAgICRtaW1lID0gYXJyYXkoKTsNCg0KICAgICAgICAvLyBBZGQgYWxsIGF0dGFjaG1lbnRzDQogICAgICAgIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPmF0dGFjaG1lbnQpOyAkaSsrKQ0KICAgICAgICB7DQogICAgICAgICAgICAvLyBDaGVjayBmb3Igc3RyaW5nIGF0dGFjaG1lbnQNCiAgICAgICAgICAgICRiU3RyaW5nID0gJHRoaXMtPmF0dGFjaG1lbnRbJGldWzVdOw0KICAgICAgICAgICAgaWYgKCRiU3RyaW5nKQ0KICAgICAgICAgICAgICAgICRzdHJpbmcgPSAkdGhpcy0+YXR0YWNobWVudFskaV1bMF07DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgJHBhdGggPSAkdGhpcy0+YXR0YWNobWVudFskaV1bMF07DQoNCiAgICAgICAgICAgICRmaWxlbmFtZSAgICA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVsxXTsNCiAgICAgICAgICAgICRuYW1lICAgICAgICA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVsyXTsNCiAgICAgICAgICAgICRlbmNvZGluZyAgICA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVszXTsNCiAgICAgICAgICAgICR0eXBlICAgICAgICA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVs0XTsNCiAgICAgICAgICAgICRkaXNwb3NpdGlvbiA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVs2XTsNCiAgICAgICAgICAgICRjaWQgICAgICAgICA9ICR0aGlzLT5hdHRhY2htZW50WyRpXVs3XTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoIi0tJXMlcyIsICR0aGlzLT5ib3VuZGFyeVsxXSwgJHRoaXMtPkxFKTsNCiAgICAgICAgICAgICRtaW1lW10gPSBzcHJpbnRmKCJDb250ZW50LVR5cGU6ICVzOyBuYW1lPVwiJXNcIiVzIiwgJHR5cGUsICRuYW1lLCAkdGhpcy0+TEUpOw0KICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6ICVzJXMiLCAkZW5jb2RpbmcsICR0aGlzLT5MRSk7DQoNCiAgICAgICAgICAgIGlmKCRkaXNwb3NpdGlvbiA9PSAiaW5saW5lIikNCiAgICAgICAgICAgICAgICAkbWltZVtdID0gc3ByaW50ZigiQ29udGVudC1JRDogPCVzPiVzIiwgJGNpZCwgJHRoaXMtPkxFKTsNCg0KICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoIkNvbnRlbnQtRGlzcG9zaXRpb246ICVzOyBmaWxlbmFtZT1cIiVzXCIlcyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3Bvc2l0aW9uLCAkbmFtZSwgJHRoaXMtPkxFLiR0aGlzLT5MRSk7DQoNCiAgICAgICAgICAgIC8vIEVuY29kZSBhcyBzdHJpbmcgYXR0YWNobWVudA0KICAgICAgICAgICAgaWYoJGJTdHJpbmcpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJG1pbWVbXSA9ICR0aGlzLT5FbmNvZGVTdHJpbmcoJHN0cmluZywgJGVuY29kaW5nKTsNCiAgICAgICAgICAgICAgICBpZigkdGhpcy0+SXNFcnJvcigpKSB7IHJldHVybiAiIjsgfQ0KICAgICAgICAgICAgICAgICRtaW1lW10gPSAkdGhpcy0+TEUuJHRoaXMtPkxFOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRtaW1lW10gPSAkdGhpcy0+RW5jb2RlRmlsZSgkcGF0aCwgJGVuY29kaW5nKTsgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYoJHRoaXMtPklzRXJyb3IoKSkgeyByZXR1cm4gIiI7IH0NCiAgICAgICAgICAgICAgICAkbWltZVtdID0gJHRoaXMtPkxFLiR0aGlzLT5MRTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICRtaW1lW10gPSBzcHJpbnRmKCItLSVzLS0lcyIsICR0aGlzLT5ib3VuZGFyeVsxXSwgJHRoaXMtPkxFKTsNCg0KICAgICAgICByZXR1cm4gam9pbigiIiwgJG1pbWUpOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBFbmNvZGVzIGF0dGFjaG1lbnQgaW4gcmVxdWVzdGVkIGZvcm1hdC4gIFJldHVybnMgYW4NCiAgICAgKiBlbXB0eSBzdHJpbmcgb24gZmFpbHVyZS4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEVuY29kZUZpbGUgKCRwYXRoLCAkZW5jb2RpbmcgPSAiYmFzZTY0Iikgew0KICAgICAgICBpZighQCRmZCA9IGZvcGVuKCRwYXRoLCAicmIiKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCJmaWxlX29wZW4iKSAuICRwYXRoKTsNCiAgICAgICAgICAgIHJldHVybiAiIjsNCiAgICAgICAgfQ0KICAgICAgICAkbWFnaWNfcXVvdGVzID0gZ2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKCk7DQogICAgICAgIHNldF9tYWdpY19xdW90ZXNfcnVudGltZSgwKTsNCiAgICAgICAgJGZpbGVfYnVmZmVyID0gZnJlYWQoJGZkLCBmaWxlc2l6ZSgkcGF0aCkpOw0KICAgICAgICAkZmlsZV9idWZmZXIgPSAkdGhpcy0+RW5jb2RlU3RyaW5nKCRmaWxlX2J1ZmZlciwgJGVuY29kaW5nKTsNCiAgICAgICAgZmNsb3NlKCRmZCk7DQogICAgICAgIHNldF9tYWdpY19xdW90ZXNfcnVudGltZSgkbWFnaWNfcXVvdGVzKTsNCg0KICAgICAgICByZXR1cm4gJGZpbGVfYnVmZmVyOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEVuY29kZXMgc3RyaW5nIHRvIHJlcXVlc3RlZCBmb3JtYXQuIFJldHVybnMgYW4NCiAgICAgKiBlbXB0eSBzdHJpbmcgb24gZmFpbHVyZS4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEVuY29kZVN0cmluZyAoJHN0ciwgJGVuY29kaW5nID0gImJhc2U2NCIpIHsNCiAgICAgICAgJGVuY29kZWQgPSAiIjsNCiAgICAgICAgc3dpdGNoKHN0cnRvbG93ZXIoJGVuY29kaW5nKSkgew0KICAgICAgICAgIGNhc2UgImJhc2U2NCI6DQogICAgICAgICAgICAgIC8vIGNodW5rX3NwbGl0IGlzIGZvdW5kIGluIFBIUCA+PSAzLjAuNg0KICAgICAgICAgICAgICAkZW5jb2RlZCA9IGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJHN0ciksIDc2LCAkdGhpcy0+TEUpOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlICI3Yml0IjoNCiAgICAgICAgICBjYXNlICI4Yml0IjoNCiAgICAgICAgICAgICAgJGVuY29kZWQgPSAkdGhpcy0+Rml4RU9MKCRzdHIpOw0KICAgICAgICAgICAgICBpZiAoc3Vic3RyKCRlbmNvZGVkLCAtKHN0cmxlbigkdGhpcy0+TEUpKSkgIT0gJHRoaXMtPkxFKQ0KICAgICAgICAgICAgICAgICRlbmNvZGVkIC49ICR0aGlzLT5MRTsNCiAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSAiYmluYXJ5IjoNCiAgICAgICAgICAgICAgJGVuY29kZWQgPSAkc3RyOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlICJxdW90ZWQtcHJpbnRhYmxlIjoNCiAgICAgICAgICAgICAgJGVuY29kZWQgPSAkdGhpcy0+RW5jb2RlUVAoJHN0cik7DQogICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygiZW5jb2RpbmciKSAuICRlbmNvZGluZyk7DQogICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkZW5jb2RlZDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBFbmNvZGUgYSBoZWFkZXIgc3RyaW5nIHRvIGJlc3Qgb2YgUSwgQiwgcXVvdGVkIG9yIG5vbmUuICANCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEVuY29kZUhlYWRlciAoJHN0ciwgJHBvc2l0aW9uID0gJ3RleHQnKSB7DQogICAgICAkeCA9IDA7DQogICAgICANCiAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkcG9zaXRpb24pKSB7DQogICAgICAgIGNhc2UgJ3BocmFzZSc6DQogICAgICAgICAgaWYgKCFwcmVnX21hdGNoKCcvW1wyMDAtXDM3N10vJywgJHN0cikpIHsNCiAgICAgICAgICAgIC8vIENhbid0IHVzZSBhZGRzbGFzaGVzIGFzIHdlIGRvbid0IGtub3cgd2hhdCB2YWx1ZSBoYXMgbWFnaWNfcXVvdGVzX3N5YmFzZS4NCiAgICAgICAgICAgICRlbmNvZGVkID0gYWRkY3NsYXNoZXMoJHN0ciwgIlwwLi5cMzdcMTc3XFxcIiIpOw0KDQogICAgICAgICAgICBpZiAoKCRzdHIgPT0gJGVuY29kZWQpICYmICFwcmVnX21hdGNoKCcvW15BLVphLXowLTkhIyQlJlwnKitcLz0/Xl9ge3x9fiAtXS8nLCAkc3RyKSkNCiAgICAgICAgICAgICAgcmV0dXJuICgkZW5jb2RlZCk7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiAoIlwiJGVuY29kZWRcIiIpOw0KICAgICAgICAgIH0NCiAgICAgICAgICAkeCA9IHByZWdfbWF0Y2hfYWxsKCcvW15cMDQwXDA0MVwwNDMtXDEzM1wxMzUtXDE3Nl0vJywgJHN0ciwgJG1hdGNoZXMpOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdjb21tZW50JzoNCiAgICAgICAgICAkeCA9IHByZWdfbWF0Y2hfYWxsKCcvWygpIl0vJywgJHN0ciwgJG1hdGNoZXMpOw0KICAgICAgICAgIC8vIEZhbGwtdGhyb3VnaA0KICAgICAgICBjYXNlICd0ZXh0JzoNCiAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAkeCArPSBwcmVnX21hdGNoX2FsbCgnL1tcMDAwLVwwMTBcMDEzXDAxNFwwMTYtXDAzN1wxNzctXDM3N10vJywgJHN0ciwgJG1hdGNoZXMpOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgfQ0KDQogICAgICBpZiAoJHggPT0gMCkNCiAgICAgICAgcmV0dXJuICgkc3RyKTsNCg0KICAgICAgJG1heGxlbiA9IDc1IC0gNyAtIHN0cmxlbigkdGhpcy0+Q2hhclNldCk7DQogICAgICAvLyBUcnkgdG8gc2VsZWN0IHRoZSBlbmNvZGluZyB3aGljaCBzaG91bGQgcHJvZHVjZSB0aGUgc2hvcnRlc3Qgb3V0cHV0DQogICAgICBpZiAoc3RybGVuKCRzdHIpLzMgPCAkeCkgew0KICAgICAgICAkZW5jb2RpbmcgPSAnQic7DQogICAgICAgICRlbmNvZGVkID0gYmFzZTY0X2VuY29kZSgkc3RyKTsNCiAgICAgICAgJG1heGxlbiAtPSAkbWF4bGVuICUgNDsNCiAgICAgICAgJGVuY29kZWQgPSB0cmltKGNodW5rX3NwbGl0KCRlbmNvZGVkLCAkbWF4bGVuLCAiXG4iKSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAkZW5jb2RpbmcgPSAnUSc7DQogICAgICAgICRlbmNvZGVkID0gJHRoaXMtPkVuY29kZVEoJHN0ciwgJHBvc2l0aW9uKTsNCiAgICAgICAgJGVuY29kZWQgPSAkdGhpcy0+V3JhcFRleHQoJGVuY29kZWQsICRtYXhsZW4sIHRydWUpOw0KICAgICAgICAkZW5jb2RlZCA9IHN0cl9yZXBsYWNlKCI9Ii4kdGhpcy0+TEUsICJcbiIsIHRyaW0oJGVuY29kZWQpKTsNCiAgICAgIH0NCg0KICAgICAgJGVuY29kZWQgPSBwcmVnX3JlcGxhY2UoJy9eKC4qKSQvbScsICIgPT8iLiR0aGlzLT5DaGFyU2V0LiI/JGVuY29kaW5nP1xcMT89IiwgJGVuY29kZWQpOw0KICAgICAgJGVuY29kZWQgPSB0cmltKHN0cl9yZXBsYWNlKCJcbiIsICR0aGlzLT5MRSwgJGVuY29kZWQpKTsNCiAgICAgIA0KICAgICAgcmV0dXJuICRlbmNvZGVkOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBFbmNvZGUgc3RyaW5nIHRvIHF1b3RlZC1wcmludGFibGUuICANCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEVuY29kZVFQICgkc3RyKSB7DQogICAgICAgICRlbmNvZGVkID0gJHRoaXMtPkZpeEVPTCgkc3RyKTsNCiAgICAgICAgaWYgKHN1YnN0cigkZW5jb2RlZCwgLShzdHJsZW4oJHRoaXMtPkxFKSkpICE9ICR0aGlzLT5MRSkNCiAgICAgICAgICAgICRlbmNvZGVkIC49ICR0aGlzLT5MRTsNCg0KICAgICAgICAvLyBSZXBsYWNlIGV2ZXJ5IGhpZ2ggYXNjaWksIGNvbnRyb2wgYW5kID0gY2hhcmFjdGVycw0KICAgICAgICAkZW5jb2RlZCA9IHByZWdfcmVwbGFjZSgnLyhbXDAwMC1cMDEwXDAxM1wwMTRcMDE2LVwwMzdcMDc1XDE3Ny1cMzc3XSkvZScsDQogICAgICAgICAgICAgICAgICAiJz0nLnNwcmludGYoJyUwMlgnLCBvcmQoJ1xcMScpKSIsICRlbmNvZGVkKTsNCiAgICAgICAgLy8gUmVwbGFjZSBldmVyeSBzcGFjZXMgYW5kIHRhYnMgd2hlbiBpdCdzIHRoZSBsYXN0IGNoYXJhY3RlciBvbiBhIGxpbmUNCiAgICAgICAgJGVuY29kZWQgPSBwcmVnX3JlcGxhY2UoIi8oW1wwMTFcMDQwXSkiLiR0aGlzLT5MRS4iL2UiLA0KICAgICAgICAgICAgICAgICAgIic9Jy5zcHJpbnRmKCclMDJYJywgb3JkKCdcXDEnKSkuJyIuJHRoaXMtPkxFLiInIiwgJGVuY29kZWQpOw0KDQogICAgICAgIC8vIE1heGltdW0gbGluZSBsZW5ndGggb2YgNzYgY2hhcmFjdGVycyBiZWZvcmUgQ1JMRiAoNzQgKyBzcGFjZSArICc9JykNCiAgICAgICAgJGVuY29kZWQgPSAkdGhpcy0+V3JhcFRleHQoJGVuY29kZWQsIDc0LCB0cnVlKTsNCg0KICAgICAgICByZXR1cm4gJGVuY29kZWQ7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogRW5jb2RlIHN0cmluZyB0byBxIGVuY29kaW5nLiAgDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICogQHJldHVybiBzdHJpbmcNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBFbmNvZGVRICgkc3RyLCAkcG9zaXRpb24gPSAidGV4dCIpIHsNCiAgICAgICAgLy8gVGhlcmUgc2hvdWxkIG5vdCBiZSBhbnkgRU9MIGluIHRoZSBzdHJpbmcNCiAgICAgICAgJGVuY29kZWQgPSBwcmVnX3JlcGxhY2UoIltcclxuXSIsICIiLCAkc3RyKTsNCg0KICAgICAgICBzd2l0Y2ggKHN0cnRvbG93ZXIoJHBvc2l0aW9uKSkgew0KICAgICAgICAgIGNhc2UgInBocmFzZSI6DQogICAgICAgICAgICAkZW5jb2RlZCA9IHByZWdfcmVwbGFjZSgiLyhbXkEtWmEtejAtOSEqK1wvIC1dKS9lIiwgIic9Jy5zcHJpbnRmKCclMDJYJywgb3JkKCdcXDEnKSkiLCAkZW5jb2RlZCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlICJjb21tZW50IjoNCiAgICAgICAgICAgICRlbmNvZGVkID0gcHJlZ19yZXBsYWNlKCIvKFtcKFwpXCJdKS9lIiwgIic9Jy5zcHJpbnRmKCclMDJYJywgb3JkKCdcXDEnKSkiLCAkZW5jb2RlZCk7DQogICAgICAgICAgY2FzZSAidGV4dCI6DQogICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgIC8vIFJlcGxhY2UgZXZlcnkgaGlnaCBhc2NpaSwgY29udHJvbCA9LCA/IGFuZCBfIGNoYXJhY3RlcnMNCiAgICAgICAgICAgICRlbmNvZGVkID0gcHJlZ19yZXBsYWNlKCcvKFtcMDAwLVwwMTFcMDEzXDAxNFwwMTYtXDAzN1wwNzVcMDc3XDEzN1wxNzctXDM3N10pL2UnLA0KICAgICAgICAgICAgICAgICAgIic9Jy5zcHJpbnRmKCclMDJYJywgb3JkKCdcXDEnKSkiLCAkZW5jb2RlZCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLy8gUmVwbGFjZSBldmVyeSBzcGFjZXMgdG8gXyAobW9yZSByZWFkYWJsZSB0aGFuID0yMCkNCiAgICAgICAgJGVuY29kZWQgPSBzdHJfcmVwbGFjZSgiICIsICJfIiwgJGVuY29kZWQpOw0KDQogICAgICAgIHJldHVybiAkZW5jb2RlZDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBBZGRzIGEgc3RyaW5nIG9yIGJpbmFyeSBhdHRhY2htZW50IChub24tZmlsZXN5c3RlbSkgdG8gdGhlIGxpc3QuDQogICAgICogVGhpcyBtZXRob2QgY2FuIGJlIHVzZWQgdG8gYXR0YWNoIGFzY2lpIG9yIGJpbmFyeSBkYXRhLA0KICAgICAqIHN1Y2ggYXMgYSBCTE9CIHJlY29yZCBmcm9tIGEgZGF0YWJhc2UuDQogICAgICogQHBhcmFtIHN0cmluZyAkc3RyaW5nIFN0cmluZyBhdHRhY2htZW50IGRhdGEuDQogICAgICogQHBhcmFtIHN0cmluZyAkZmlsZW5hbWUgTmFtZSBvZiB0aGUgYXR0YWNobWVudC4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGluZyBGaWxlIGVuY29kaW5nIChzZWUgJEVuY29kaW5nKS4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIEZpbGUgZXh0ZW5zaW9uIChNSU1FKSB0eXBlLg0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEFkZFN0cmluZ0F0dGFjaG1lbnQoJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAiYmFzZTY0IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZSA9ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKSB7DQogICAgICAgIC8vIEFwcGVuZCB0byAkYXR0YWNobWVudCBhcnJheQ0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPmF0dGFjaG1lbnQpOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVswXSA9ICRzdHJpbmc7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzFdID0gJGZpbGVuYW1lOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVsyXSA9ICRmaWxlbmFtZTsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bM10gPSAkZW5jb2Rpbmc7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzRdID0gJHR5cGU7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzVdID0gdHJ1ZTsgLy8gaXNTdHJpbmcNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bNl0gPSAiYXR0YWNobWVudCI7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzddID0gMDsNCiAgICB9DQogICAgDQogICAgLyoqDQogICAgICogQWRkcyBhbiBlbWJlZGRlZCBhdHRhY2htZW50LiAgVGhpcyBjYW4gaW5jbHVkZSBpbWFnZXMsIHNvdW5kcywgYW5kIA0KICAgICAqIGp1c3QgYWJvdXQgYW55IG90aGVyIGRvY3VtZW50LiAgTWFrZSBzdXJlIHRvIHNldCB0aGUgJHR5cGUgdG8gYW4gDQogICAgICogaW1hZ2UgdHlwZS4gIEZvciBKUEVHIGltYWdlcyB1c2UgImltYWdlL2pwZWciIGFuZCBmb3IgR0lGIGltYWdlcyANCiAgICAgKiB1c2UgImltYWdlL2dpZiIuDQogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBQYXRoIHRvIHRoZSBhdHRhY2htZW50Lg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNpZCBDb250ZW50IElEIG9mIHRoZSBhdHRhY2htZW50LiAgVXNlIHRoaXMgdG8gaWRlbnRpZnkgDQogICAgICogICAgICAgIHRoZSBJZCBmb3IgYWNjZXNzaW5nIHRoZSBpbWFnZSBpbiBhbiBIVE1MIGZvcm0uDQogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBPdmVycmlkZXMgdGhlIGF0dGFjaG1lbnQgbmFtZS4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGluZyBGaWxlIGVuY29kaW5nIChzZWUgJEVuY29kaW5nKS4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIEZpbGUgZXh0ZW5zaW9uIChNSU1FKSB0eXBlLiAgDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkRW1iZWRkZWRJbWFnZSgkcGF0aCwgJGNpZCwgJG5hbWUgPSAiIiwgJGVuY29kaW5nID0gImJhc2U2NCIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUgPSAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIikgew0KICAgIA0KICAgICAgICBpZighQGlzX2ZpbGUoJHBhdGgpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoImZpbGVfYWNjZXNzIikgLiAkcGF0aCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkcGF0aCk7DQogICAgICAgIGlmKCRuYW1lID09ICIiKQ0KICAgICAgICAgICAgJG5hbWUgPSAkZmlsZW5hbWU7DQoNCiAgICAgICAgLy8gQXBwZW5kIHRvICRhdHRhY2htZW50IGFycmF5DQogICAgICAgICRjdXIgPSBjb3VudCgkdGhpcy0+YXR0YWNobWVudCk7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzBdID0gJHBhdGg7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzFdID0gJGZpbGVuYW1lOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVsyXSA9ICRuYW1lOw0KICAgICAgICAkdGhpcy0+YXR0YWNobWVudFskY3VyXVszXSA9ICRlbmNvZGluZzsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bNF0gPSAkdHlwZTsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbJGN1cl1bNV0gPSBmYWxzZTsgLy8gaXNTdHJpbmdBdHRhY2htZW50DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzZdID0gImlubGluZSI7DQogICAgICAgICR0aGlzLT5hdHRhY2htZW50WyRjdXJdWzddID0gJGNpZDsNCiAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBpbmxpbmUgYXR0YWNobWVudCBpcyBwcmVzZW50Lg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIElubGluZUltYWdlRXhpc3RzKCkgew0KICAgICAgICAkcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPmF0dGFjaG1lbnQpOyAkaSsrKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZigkdGhpcy0+YXR0YWNobWVudFskaV1bNl0gPT0gImlubGluZSIpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBNRVNTQUdFIFJFU0VUIE1FVEhPRFMNCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCiAgICAvKioNCiAgICAgKiBDbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIFRPIGFycmF5LiAgUmV0dXJucyB2b2lkLg0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIENsZWFyQWRkcmVzc2VzKCkgew0KICAgICAgICAkdGhpcy0+dG8gPSBhcnJheSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsZWFycyBhbGwgcmVjaXBpZW50cyBhc3NpZ25lZCBpbiB0aGUgQ0MgYXJyYXkuICBSZXR1cm5zIHZvaWQuDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xlYXJDQ3MoKSB7DQogICAgICAgICR0aGlzLT5jYyA9IGFycmF5KCk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQ2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBCQ0MgYXJyYXkuICBSZXR1cm5zIHZvaWQuDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xlYXJCQ0NzKCkgew0KICAgICAgICAkdGhpcy0+YmNjID0gYXJyYXkoKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIFJlcGx5VG8gYXJyYXkuICBSZXR1cm5zIHZvaWQuDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xlYXJSZXBseVRvcygpIHsNCiAgICAgICAgJHRoaXMtPlJlcGx5VG8gPSBhcnJheSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsZWFycyBhbGwgcmVjaXBpZW50cyBhc3NpZ25lZCBpbiB0aGUgVE8sIENDIGFuZCBCQ0MNCiAgICAgKiBhcnJheS4gIFJldHVybnMgdm9pZC4NCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBDbGVhckFsbFJlY2lwaWVudHMoKSB7DQogICAgICAgICR0aGlzLT50byA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5jYyA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5iY2MgPSBhcnJheSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsZWFycyBhbGwgcHJldmlvdXNseSBzZXQgZmlsZXN5c3RlbSwgc3RyaW5nLCBhbmQgYmluYXJ5DQogICAgICogYXR0YWNobWVudHMuICBSZXR1cm5zIHZvaWQuDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xlYXJBdHRhY2htZW50cygpIHsNCiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnQgPSBhcnJheSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIENsZWFycyBhbGwgY3VzdG9tIGhlYWRlcnMuICBSZXR1cm5zIHZvaWQuDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xlYXJDdXN0b21IZWFkZXJzKCkgew0KICAgICAgICAkdGhpcy0+Q3VzdG9tSGVhZGVyID0gYXJyYXkoKTsNCiAgICB9DQoNCg0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiAgICAvLyBNSVNDRUxMQU5FT1VTIE1FVEhPRFMNCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCiAgICAvKioNCiAgICAgKiBBZGRzIHRoZSBlcnJvciBtZXNzYWdlIHRvIHRoZSBlcnJvciBjb250YWluZXIuDQogICAgICogUmV0dXJucyB2b2lkLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNldEVycm9yKCRtc2cpIHsNCiAgICAgICAgJHRoaXMtPmVycm9yX2NvdW50Kys7DQogICAgICAgICR0aGlzLT5FcnJvckluZm8gPSAkbXNnOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFJldHVybnMgdGhlIHByb3BlciBSRkMgODIyIGZvcm1hdHRlZCBkYXRlLiANCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFJGQ0RhdGUoKSB7DQogICAgICAgICR0eiA9IGRhdGUoIloiKTsNCiAgICAgICAgJHR6cyA9ICgkdHogPCAwKSA/ICItIiA6ICIrIjsNCiAgICAgICAgJHR6ID0gYWJzKCR0eik7DQogICAgICAgICR0eiA9ICgkdHovMzYwMCkqMTAwICsgKCR0eiUzNjAwKS82MDsNCiAgICAgICAgJHJlc3VsdCA9IHNwcmludGYoIiVzICVzJTA0ZCIsIGRhdGUoIkQsIGogTSBZIEg6aTpzIiksICR0enMsICR0eik7DQoNCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIHNlcnZlciB2YXJpYWJsZS4gIFNob3VsZCB3b3JrIHdpdGggYm90aCANCiAgICAgKiBQSFAgNC4xLjArIGFzIHdlbGwgYXMgb2xkZXIgdmVyc2lvbnMuICBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyANCiAgICAgKiBpZiBub3RoaW5nIGlzIGZvdW5kLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gbWl4ZWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBTZXJ2ZXJWYXIoJHZhck5hbWUpIHsNCiAgICAgICAgZ2xvYmFsICRIVFRQX1NFUlZFUl9WQVJTOw0KICAgICAgICBnbG9iYWwgJEhUVFBfRU5WX1ZBUlM7DQoNCiAgICAgICAgaWYoIWlzc2V0KCRfU0VSVkVSKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJF9TRVJWRVIgPSAkSFRUUF9TRVJWRVJfVkFSUzsNCiAgICAgICAgICAgIGlmKCFpc3NldCgkX1NFUlZFUlsiUkVNT1RFX0FERFIiXSkpDQogICAgICAgICAgICAgICAgJF9TRVJWRVIgPSAkSFRUUF9FTlZfVkFSUzsgLy8gbXVzdCBiZSBBcGFjaGUNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYoaXNzZXQoJF9TRVJWRVJbJHZhck5hbWVdKSkNCiAgICAgICAgICAgIHJldHVybiAkX1NFUlZFUlskdmFyTmFtZV07DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIHJldHVybiAiIjsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXR1cm5zIHRoZSBzZXJ2ZXIgaG9zdG5hbWUgb3IgJ2xvY2FsaG9zdC5sb2NhbGRvbWFpbicgaWYgdW5rbm93bi4NCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIHN0cmluZw0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNlcnZlckhvc3RuYW1lKCkgew0KICAgICAgICBpZiAoJHRoaXMtPkhvc3RuYW1lICE9ICIiKQ0KICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5Ib3N0bmFtZTsNCiAgICAgICAgZWxzZWlmICgkdGhpcy0+U2VydmVyVmFyKCdTRVJWRVJfTkFNRScpICE9ICIiKQ0KICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5TZXJ2ZXJWYXIoJ1NFUlZFUl9OQU1FJyk7DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgICRyZXN1bHQgPSAibG9jYWxob3N0LmxvY2FsZG9tYWluIjsNCg0KICAgICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBSZXR1cm5zIGEgbWVzc2FnZSBpbiB0aGUgYXBwcm9wcmlhdGUgbGFuZ3VhZ2UuDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICogQHJldHVybiBzdHJpbmcNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBMYW5nKCRrZXkpIHsNCiAgICAgICAgaWYoY291bnQoJHRoaXMtPmxhbmd1YWdlKSA8IDEpDQogICAgICAgICAgICAkdGhpcy0+U2V0TGFuZ3VhZ2UoImVuIik7IC8vIHNldCB0aGUgZGVmYXVsdCBsYW5ndWFnZQ0KICAgIA0KICAgICAgICBpZihpc3NldCgkdGhpcy0+bGFuZ3VhZ2VbJGtleV0pKQ0KICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5sYW5ndWFnZVska2V5XTsNCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgcmV0dXJuICJMYW5ndWFnZSBzdHJpbmcgZmFpbGVkIHRvIGxvYWQ6ICIgLiAka2V5Ow0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gZXJyb3Igb2NjdXJyZWQuDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gSXNFcnJvcigpIHsNCiAgICAgICAgcmV0dXJuICgkdGhpcy0+ZXJyb3JfY291bnQgPiAwKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDaGFuZ2VzIGV2ZXJ5IGVuZCBvZiBsaW5lIGZyb20gQ1Igb3IgTEYgdG8gQ1JMRi4gIA0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gRml4RU9MKCRzdHIpIHsNCiAgICAgICAgJHN0ciA9IHN0cl9yZXBsYWNlKCJcclxuIiwgIlxuIiwgJHN0cik7DQogICAgICAgICRzdHIgPSBzdHJfcmVwbGFjZSgiXHIiLCAiXG4iLCAkc3RyKTsNCiAgICAgICAgJHN0ciA9IHN0cl9yZXBsYWNlKCJcbiIsICR0aGlzLT5MRSwgJHN0cik7DQogICAgICAgIHJldHVybiAkc3RyOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZHMgYSBjdXN0b20gaGVhZGVyLiANCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBBZGRDdXN0b21IZWFkZXIoJGN1c3RvbV9oZWFkZXIpIHsNCiAgICAgICAgJHRoaXMtPkN1c3RvbUhlYWRlcltdID0gZXhwbG9kZSgiOiIsICRjdXN0b21faGVhZGVyLCAyKTsNCiAgICB9DQp9DQoNCj8+]]></data>
  </file>
  <file>
    <filename>/phpmailer/class.smtp.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vIFNNVFAgLSBQSFAgU01UUCBjbGFzcw0KLy8NCi8vIFZlcnNpb24gMS4wMg0KLy8NCi8vIERlZmluZSBhbiBTTVRQIGNsYXNzIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29ubmVjdA0KLy8gYW5kIGNvbW11bmljYXRlIHdpdGggYW55IFNNVFAgc2VydmVyLiBJdCBpbXBsZW1lbnRzDQovLyBhbGwgdGhlIFNNVFAgZnVuY3Rpb25zIGRlZmluZWQgaW4gUkZDODIxIGV4Y2VwdCBUVVJOLg0KLy8NCi8vIEF1dGhvcjogQ2hyaXMgUnlhbg0KLy8NCi8vIExpY2Vuc2U6IExHUEwsIHNlZSBMSUNFTlNFDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCi8qKg0KICogU01UUCBpcyByZmMgODIxIGNvbXBsaWFudCBhbmQgaW1wbGVtZW50cyBhbGwgdGhlIHJmYyA4MjEgU01UUA0KICogY29tbWFuZHMgZXhjZXB0IFRVUk4gd2hpY2ggd2lsbCBhbHdheXMgcmV0dXJuIGEgbm90IGltcGxlbWVudGVkDQogKiBlcnJvci4gU01UUCBhbHNvIHByb3ZpZGVzIHNvbWUgdXRpbGl0eSBtZXRob2RzIGZvciBzZW5kaW5nIG1haWwNCiAqIHRvIGFuIFNNVFAgc2VydmVyLg0KICogQHBhY2thZ2UgUEhQTWFpbGVyDQogKiBAYXV0aG9yIENocmlzIFJ5YW4NCiAqLw0KY2xhc3MgU01UUA0Kew0KICAgIC8qKg0KICAgICAqICBTTVRQIHNlcnZlciBwb3J0DQogICAgICogIEB2YXIgaW50DQogICAgICovDQogICAgdmFyICRTTVRQX1BPUlQgPSAyNTsNCiAgICANCiAgICAvKioNCiAgICAgKiAgU01UUCByZXBseSBsaW5lIGVuZGluZw0KICAgICAqICBAdmFyIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkQ1JMRiA9ICJcclxuIjsNCiAgICANCiAgICAvKioNCiAgICAgKiAgU2V0cyB3aGV0aGVyIGRlYnVnZ2luZyBpcyB0dXJuZWQgb24NCiAgICAgKiAgQHZhciBib29sDQogICAgICovDQogICAgdmFyICRkb19kZWJ1ZzsgICAgICAgIyB0aGUgbGV2ZWwgb2YgZGVidWcgdG8gcGVyZm9ybQ0KDQogICAgLyoqI0ArDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICovDQogICAgdmFyICRzbXRwX2Nvbm47ICAgICAgIyB0aGUgc29ja2V0IHRvIHRoZSBzZXJ2ZXINCiAgICB2YXIgJGVycm9yOyAgICAgICAgICAjIGVycm9yIGlmIGFueSBvbiB0aGUgbGFzdCBjYWxsDQogICAgdmFyICRoZWxvX3JwbHk7ICAgICAgIyB0aGUgcmVwbHkgdGhlIHNlcnZlciBzZW50IHRvIHVzIGZvciBIRUxPDQogICAgLyoqI0AtKi8NCg0KICAgIC8qKg0KICAgICAqIEluaXRpYWxpemUgdGhlIGNsYXNzIHNvIHRoYXQgdGhlIGRhdGEgaXMgaW4gYSBrbm93biBzdGF0ZS4NCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNNVFAoKSB7DQogICAgICAgICR0aGlzLT5zbXRwX2Nvbm4gPSAwOw0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOw0KICAgICAgICAkdGhpcy0+aGVsb19ycGx5ID0gbnVsbDsNCg0KICAgICAgICAkdGhpcy0+ZG9fZGVidWcgPSAwOw0KICAgIH0NCg0KICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICAgICogICAgICAgICAgICAgICAgICAgIENPTk5FQ1RJT04gRlVOQ1RJT05TICAgICAgICAgICAgICAgICAgKg0KICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KICAgIC8qKg0KICAgICAqIENvbm5lY3QgdG8gdGhlIHNlcnZlciBzcGVjaWZpZWQgb24gdGhlIHBvcnQgc3BlY2lmaWVkLg0KICAgICAqIElmIHRoZSBwb3J0IGlzIG5vdCBzcGVjaWZpZWQgdXNlIHRoZSBkZWZhdWx0IFNNVFBfUE9SVC4NCiAgICAgKiBJZiB0dmFsIGlzIHNwZWNpZmllZCB0aGVuIGEgY29ubmVjdGlvbiB3aWxsIHRyeSBhbmQgYmUNCiAgICAgKiBlc3RhYmxpc2hlZCB3aXRoIHRoZSBzZXJ2ZXIgZm9yIHRoYXQgbnVtYmVyIG9mIHNlY29uZHMuDQogICAgICogSWYgdHZhbCBpcyBub3Qgc3BlY2lmaWVkIHRoZSBkZWZhdWx0IGlzIDMwIHNlY29uZHMgdG8NCiAgICAgKiB0cnkgb24gdGhlIGNvbm5lY3Rpb24uDQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjIwDQogICAgICogU01UUCBDT0RFIEZBSUxVUkU6IDQyMQ0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gQ29ubmVjdCgkaG9zdCwkcG9ydD0wLCR0dmFsPTMwKSB7DQogICAgICAgICMgc2V0IHRoZSBlcnJvciB2YWwgdG8gbnVsbCBzbyB0aGVyZSBpcyBubyBjb25mdXNpb24NCiAgICAgICAgJHRoaXMtPmVycm9yID0gbnVsbDsNCg0KICAgICAgICAjIG1ha2Ugc3VyZSB3ZSBhcmUgX19ub3RfXyBjb25uZWN0ZWQNCiAgICAgICAgaWYoJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAjIG9rIHdlIGFyZSBjb25uZWN0ZWQhIHdoYXQgc2hvdWxkIHdlIGRvPw0KICAgICAgICAgICAgIyBmb3Igbm93IHdlIHdpbGwganVzdCBnaXZlIGFuIGVycm9yIHNheWluZyB3ZQ0KICAgICAgICAgICAgIyBhcmUgYWxyZWFkeSBjb25uZWN0ZWQNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiQWxyZWFkeSBjb25uZWN0ZWQgdG8gYSBzZXJ2ZXIiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKGVtcHR5KCRwb3J0KSkgew0KICAgICAgICAgICAgJHBvcnQgPSAkdGhpcy0+U01UUF9QT1JUOw0KICAgICAgICB9DQoNCiAgICAgICAgI2Nvbm5lY3QgdG8gdGhlIHNtdHAgc2VydmVyDQogICAgICAgICR0aGlzLT5zbXRwX2Nvbm4gPSBmc29ja29wZW4oJGhvc3QsICAgICMgdGhlIGhvc3Qgb2YgdGhlIHNlcnZlcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0LCAgICAjIHRoZSBwb3J0IHRvIHVzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlcnJubywgICAjIGVycm9yIG51bWJlciBpZiBhbnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXJyc3RyLCAgIyBlcnJvciBtZXNzYWdlIGlmIGFueQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0dmFsKTsgICAjIGdpdmUgdXAgYWZ0ZXIgPyBzZWNzDQogICAgICAgICMgdmVyaWZ5IHdlIGNvbm5lY3RlZCBwcm9wZXJseQ0KICAgICAgICBpZihlbXB0eSgkdGhpcy0+c210cF9jb25uKSkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0gYXJyYXkoImVycm9yIiA9PiAiRmFpbGVkIHRvIGNvbm5lY3QgdG8gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlcnJubyIgPT4gJGVycm5vLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVycnN0ciIgPT4gJGVycnN0cik7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICRlcnJzdHIgKCRlcnJubykiIC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICAjIHNvbWV0aW1lcyB0aGUgU01UUCBzZXJ2ZXIgdGFrZXMgYSBsaXR0bGUgbG9uZ2VyIHRvIHJlc3BvbmQNCiAgICAgICAgIyBzbyB3ZSB3aWxsIGdpdmUgaXQgYSBsb25nZXIgdGltZW91dCBmb3IgdGhlIGZpcnN0IHJlYWQNCiAgICAgICAgLy8gV2luZG93cyBzdGlsbCBkb2VzIG5vdCBoYXZlIHN1cHBvcnQgZm9yIHRoaXMgdGltZW91dCBmdW5jdGlvbg0KICAgICAgICBpZihzdWJzdHIoUEhQX09TLCAwLCAzKSAhPSAiV0lOIikNCiAgICAgICAgICAgc29ja2V0X3NldF90aW1lb3V0KCR0aGlzLT5zbXRwX2Nvbm4sICR0dmFsLCAwKTsNCg0KICAgICAgICAjIGdldCBhbnkgYW5ub3VuY2VtZW50IHN0dWZmDQogICAgICAgICRhbm5vdW5jZSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCg0KICAgICAgICAjIHNldCB0aGUgdGltZW91dCAgb2YgYW55IHNvY2tldCBmdW5jdGlvbnMgYXQgMS8xMCBvZiBhIHNlY29uZA0KICAgICAgICAvL2lmKGZ1bmN0aW9uX2V4aXN0cygic29ja2V0X3NldF90aW1lb3V0IikpDQogICAgICAgIC8vICAgc29ja2V0X3NldF90aW1lb3V0KCR0aGlzLT5zbXRwX2Nvbm4sIDAsIDEwMDAwMCk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJGFubm91bmNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUGVyZm9ybXMgU01UUCBhdXRoZW50aWNhdGlvbi4gIE11c3QgYmUgcnVuIGFmdGVyIHJ1bm5pbmcgdGhlDQogICAgICogSGVsbG8oKSBtZXRob2QuICBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bGx5IGF1dGhlbnRpY2F0ZWQuDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBBdXRoZW50aWNhdGUoJHVzZXJuYW1lLCAkcGFzc3dvcmQpIHsNCiAgICAgICAgLy8gU3RhcnQgYXV0aGVudGljYXRpb24NCiAgICAgICAgZnB1dHMoJHRoaXMtPnNtdHBfY29ubiwiQVVUSCBMT0dJTiIgLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJGNvZGUgIT0gMzM0KSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPQ0KICAgICAgICAgICAgICAgIGFycmF5KCJlcnJvciIgPT4gIkFVVEggbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gU2VuZCBlbmNvZGVkIHVzZXJuYW1lDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIGJhc2U2NF9lbmNvZGUoJHVzZXJuYW1lKSAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkY29kZSAhPSAzMzQpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiVXNlcm5hbWUgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gU2VuZCBlbmNvZGVkIHBhc3N3b3JkDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIGJhc2U2NF9lbmNvZGUoJHBhc3N3b3JkKSAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkY29kZSAhPSAyMzUpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiUGFzc3dvcmQgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogUmV0dXJucyB0cnVlIGlmIGNvbm5lY3RlZCB0byBhIHNlcnZlciBvdGhlcndpc2UgZmFsc2UNCiAgICAgKiBAYWNjZXNzIHByaXZhdGUNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBDb25uZWN0ZWQoKSB7DQogICAgICAgIGlmKCFlbXB0eSgkdGhpcy0+c210cF9jb25uKSkgew0KICAgICAgICAgICAgJHNvY2tfc3RhdHVzID0gc29ja2V0X2dldF9zdGF0dXMoJHRoaXMtPnNtdHBfY29ubik7DQogICAgICAgICAgICBpZigkc29ja19zdGF0dXNbImVvZiJdKSB7DQogICAgICAgICAgICAgICAgIyBobW0gdGhpcyBpcyBhbiBvZGQgc2l0dWF0aW9uLi4uIHRoZSBzb2NrZXQgaXMNCiAgICAgICAgICAgICAgICAjIHZhbGlkIGJ1dCB3ZSBhcmVuJ3QgY29ubmVjdGVkIGFueW1vcmUNCiAgICAgICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgICAgICBlY2hvICJTTVRQIC0+IE5PVElDRToiIC4gJHRoaXMtPkNSTEYgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICJFT0YgY2F1Z2h0IHdoaWxlIGNoZWNraW5nIGlmIGNvbm5lY3RlZCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICR0aGlzLT5DbG9zZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOyAjIGV2ZXJ5dGhpbmcgbG9va3MgZ29vZA0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBDbG9zZXMgdGhlIHNvY2tldCBhbmQgY2xlYW5zIHVwIHRoZSBzdGF0ZSBvZiB0aGUgY2xhc3MuDQogICAgICogSXQgaXMgbm90IGNvbnNpZGVyZWQgZ29vZCB0byB1c2UgdGhpcyBmdW5jdGlvbiB3aXRob3V0DQogICAgICogZmlyc3QgdHJ5aW5nIHRvIHVzZSBRVUlULg0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQ2xvc2UoKSB7DQogICAgICAgICR0aGlzLT5lcnJvciA9IG51bGw7ICMgc28gdGhlcmUgaXMgbm8gY29uZnVzaW9uDQogICAgICAgICR0aGlzLT5oZWxvX3JwbHkgPSBudWxsOw0KICAgICAgICBpZighZW1wdHkoJHRoaXMtPnNtdHBfY29ubikpIHsNCiAgICAgICAgICAgICMgY2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGNsZWFudXANCiAgICAgICAgICAgIGZjbG9zZSgkdGhpcy0+c210cF9jb25uKTsNCiAgICAgICAgICAgICR0aGlzLT5zbXRwX2Nvbm4gPSAwOw0KICAgICAgICB9DQogICAgfQ0KDQoNCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICAgICogICAgICAgICAgICAgICAgICAgICAgICBTTVRQIENPTU1BTkRTICAgICAgICAgICAgICAgICAgICAgICAqDQogICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiAgICAvKioNCiAgICAgKiBJc3N1ZXMgYSBkYXRhIGNvbW1hbmQgYW5kIHNlbmRzIHRoZSBtc2dfZGF0YSB0byB0aGUgc2VydmVyDQogICAgICogZmluaWFsaXppbmcgdGhlIG1haWwgdHJhbnNhY3Rpb24uICRtc2dfZGF0YSBpcyB0aGUgbWVzc2FnZQ0KICAgICAqIHRoYXQgaXMgdG8gYmUgc2VuZCB3aXRoIHRoZSBoZWFkZXJzLiBFYWNoIGhlYWRlciBuZWVkcyB0byBiZQ0KICAgICAqIG9uIGEgc2luZ2xlIGxpbmUgZm9sbG93ZWQgYnkgYSA8Q1JMRj4gd2l0aCB0aGUgbWVzc2FnZSBoZWFkZXJzDQogICAgICogYW5kIHRoZSBtZXNzYWdlIGJvZHkgYmVpbmcgc2VwZXJhdGVkIGJ5IGFuZCBhZGRpdGlvbmFsIDxDUkxGPi4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogREFUQSA8Q1JMRj4NCiAgICAgKg0KICAgICAqIFNNVFAgQ09ERSBJTlRFUk1FRElBVEU6IDM1NA0KICAgICAqICAgICBbZGF0YV0NCiAgICAgKiAgICAgPENSTEY+LjxDUkxGPg0KICAgICAqICAgICBTTVRQIENPREUgU1VDQ0VTUzogMjUwDQogICAgICogICAgIFNNVFAgQ09ERSBGQUlMVVJFOiA1NTIsNTU0LDQ1MSw0NTINCiAgICAgKiBTTVRQIENPREUgRkFJTFVSRTogNDUxLDU1NA0KICAgICAqIFNNVFAgQ09ERSBFUlJPUiAgOiA1MDAsNTAxLDUwMyw0MjENCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIERhdGEoJG1zZ19kYXRhKSB7DQogICAgICAgICR0aGlzLT5lcnJvciA9IG51bGw7ICMgc28gbm8gY29uZnVzaW9uIGlzIGNhdXNlZA0KDQogICAgICAgIGlmKCEkdGhpcy0+Y29ubmVjdGVkKCkpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAiZXJyb3IiID0+ICJDYWxsZWQgRGF0YSgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJEQVRBIiAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMikgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBGUk9NIFNFUlZFUjoiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDM1NCkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0NCiAgICAgICAgICAgICAgICBhcnJheSgiZXJyb3IiID0+ICJEQVRBIGNvbW1hbmQgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgIyB0aGUgc2VydmVyIGlzIHJlYWR5IHRvIGFjY2VwdCBkYXRhIQ0KICAgICAgICAjIGFjY29yZGluZyB0byByZmMgODIxIHdlIHNob3VsZCBub3Qgc2VuZCBtb3JlIHRoYW4gMTAwMA0KICAgICAgICAjIGluY2x1ZGluZyB0aGUgQ1JMRg0KICAgICAgICAjIGNoYXJhY3RlcnMgb24gYSBzaW5nbGUgbGluZSBzbyB3ZSB3aWxsIGJyZWFrIHRoZSBkYXRhIHVwDQogICAgICAgICMgaW50byBsaW5lcyBieSBcciBhbmQvb3IgXG4gdGhlbiBpZiBuZWVkZWQgd2Ugd2lsbCBicmVhaw0KICAgICAgICAjIGVhY2ggb2YgdGhvc2UgaW50byBzbWFsbGVyIGxpbmVzIHRvIGZpdCB3aXRoaW4gdGhlIGxpbWl0Lg0KICAgICAgICAjIGluIGFkZGl0aW9uIHdlIHdpbGwgYmUgbG9va2luZyBmb3IgbGluZXMgdGhhdCBzdGFydCB3aXRoDQogICAgICAgICMgYSBwZXJpb2QgJy4nIGFuZCBhcHBlbmQgYW5kIGFkZGl0aW9uYWwgcGVyaW9kICcuJyB0byB0aGF0DQogICAgICAgICMgbGluZS4gTk9URTogdGhpcyBkb2VzIG5vdCBjb3VudCB0b3dhcmRzIGFyZSBsaW1pdC4NCg0KICAgICAgICAjIG5vcm1hbGl6ZSB0aGUgbGluZSBicmVha3Mgc28gd2Uga25vdyB0aGUgZXhwbG9kZSB3b3Jrcw0KICAgICAgICAkbXNnX2RhdGEgPSBzdHJfcmVwbGFjZSgiXHJcbiIsIlxuIiwkbXNnX2RhdGEpOw0KICAgICAgICAkbXNnX2RhdGEgPSBzdHJfcmVwbGFjZSgiXHIiLCJcbiIsJG1zZ19kYXRhKTsNCiAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCRtc2dfZGF0YSk7DQoNCiAgICAgICAgIyB3ZSBuZWVkIHRvIGZpbmQgYSBnb29kIHdheSB0byBkZXRlcm1pbmUgaXMgaGVhZGVycyBhcmUNCiAgICAgICAgIyBpbiB0aGUgbXNnX2RhdGEgb3IgaWYgaXQgaXMgYSBzdHJhaWdodCBtc2cgYm9keQ0KICAgICAgICAjIGN1cnJlbnRseSBJJ20gYXNzdW1pbmcgcmZjIDgyMiBkZWZpbml0aW9ucyBvZiBtc2cgaGVhZGVycw0KICAgICAgICAjIGFuZCBpZiB0aGUgZmlyc3QgZmllbGQgb2YgdGhlIGZpcnN0IGxpbmUgKCc6JyBzcGVyYXRlZCkNCiAgICAgICAgIyBkb2VzIG5vdCBjb250YWluIGEgc3BhY2UgdGhlbiBpdCBfc2hvdWxkXyBiZSBhIGhlYWRlcg0KICAgICAgICAjIGFuZCB3ZSBjYW4gcHJvY2VzcyBhbGwgbGluZXMgYmVmb3JlIGEgYmxhbmsgIiIgbGluZSBhcw0KICAgICAgICAjIGhlYWRlcnMuDQogICAgICAgICRmaWVsZCA9IHN1YnN0cigkbGluZXNbMF0sMCxzdHJwb3MoJGxpbmVzWzBdLCI6IikpOw0KICAgICAgICAkaW5faGVhZGVycyA9IGZhbHNlOw0KICAgICAgICBpZighZW1wdHkoJGZpZWxkKSAmJiAhc3Ryc3RyKCRmaWVsZCwiICIpKSB7DQogICAgICAgICAgICAkaW5faGVhZGVycyA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICAkbWF4X2xpbmVfbGVuZ3RoID0gOTk4OyAjIHVzZWQgYmVsb3c7IHNldCBoZXJlIGZvciBlYXNlIGluIGNoYW5nZQ0KDQogICAgICAgIHdoaWxlKGxpc3QoLCRsaW5lKSA9IEBlYWNoKCRsaW5lcykpIHsNCiAgICAgICAgICAgICRsaW5lc19vdXQgPSBudWxsOw0KICAgICAgICAgICAgaWYoJGxpbmUgPT0gIiIgJiYgJGluX2hlYWRlcnMpIHsNCiAgICAgICAgICAgICAgICAkaW5faGVhZGVycyA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIyBvayB3ZSBuZWVkIHRvIGJyZWFrIHRoaXMgbGluZSB1cCBpbnRvIHNldmVyYWwNCiAgICAgICAgICAgICMgc21hbGxlciBsaW5lcw0KICAgICAgICAgICAgd2hpbGUoc3RybGVuKCRsaW5lKSA+ICRtYXhfbGluZV9sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAkcG9zID0gc3RycnBvcyhzdWJzdHIoJGxpbmUsMCwkbWF4X2xpbmVfbGVuZ3RoKSwiICIpOw0KDQogICAgICAgICAgICAgICAgIyBQYXRjaCB0byBmaXggRE9TIGF0dGFjaw0KICAgICAgICAgICAgICAgIGlmKCEkcG9zKSB7DQogICAgICAgICAgICAgICAgICAgICRwb3MgPSAkbWF4X2xpbmVfbGVuZ3RoIC0gMTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAkbGluZXNfb3V0W10gPSBzdWJzdHIoJGxpbmUsMCwkcG9zKTsNCiAgICAgICAgICAgICAgICAkbGluZSA9IHN1YnN0cigkbGluZSwkcG9zICsgMSk7DQogICAgICAgICAgICAgICAgIyBpZiB3ZSBhcmUgcHJvY2Vzc2luZyBoZWFkZXJzIHdlIG5lZWQgdG8NCiAgICAgICAgICAgICAgICAjIGFkZCBhIExXU1AtY2hhciB0byB0aGUgZnJvbnQgb2YgdGhlIG5ldyBsaW5lDQogICAgICAgICAgICAgICAgIyByZmMgODIyIG9uIGxvbmcgbXNnIGhlYWRlcnMNCiAgICAgICAgICAgICAgICBpZigkaW5faGVhZGVycykgew0KICAgICAgICAgICAgICAgICAgICAkbGluZSA9ICJcdCIgLiAkbGluZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkbGluZXNfb3V0W10gPSAkbGluZTsNCg0KICAgICAgICAgICAgIyBub3cgc2VuZCB0aGUgbGluZXMgdG8gdGhlIHNlcnZlcg0KICAgICAgICAgICAgd2hpbGUobGlzdCgsJGxpbmVfb3V0KSA9IEBlYWNoKCRsaW5lc19vdXQpKSB7DQogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRsaW5lX291dCkgPiAwKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgaWYoc3Vic3RyKCRsaW5lX291dCwgMCwgMSkgPT0gIi4iKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkbGluZV9vdXQgPSAiLiIgLiAkbGluZV9vdXQ7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZnB1dHMoJHRoaXMtPnNtdHBfY29ubiwkbGluZV9vdXQgLiAkdGhpcy0+Q1JMRik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjIG9rIGFsbCB0aGUgbWVzc2FnZSBkYXRhIGhhcyBiZWVuIHNlbnQgc28gbGV0cyBnZXQgdGhpcw0KICAgICAgICAjIG92ZXIgd2l0aCBhbGVhZHkNCiAgICAgICAgZnB1dHMoJHRoaXMtPnNtdHBfY29ubiwgJHRoaXMtPkNSTEYgLiAiLiIgLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJHJwbHk7DQogICAgICAgIH0NCg0KICAgICAgICBpZigkY29kZSAhPSAyNTApIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiREFUQSBub3QgYWNjZXB0ZWQgZnJvbSBzZXJ2ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX2NvZGUiID0+ICRjb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX21zZyIgPT4gc3Vic3RyKCRycGx5LDQpKTsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBFUlJPUjogIiAuICR0aGlzLT5lcnJvclsiZXJyb3IiXSAuDQogICAgICAgICAgICAgICAgICAgICAgICAgIjogIiAuICRycGx5IC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogRXhwYW5kIHRha2VzIHRoZSBuYW1lIGFuZCBhc2tzIHRoZSBzZXJ2ZXIgdG8gbGlzdCBhbGwgdGhlDQogICAgICogcGVvcGxlIHdobyBhcmUgbWVtYmVycyBvZiB0aGUgX2xpc3RfLiBFeHBhbmQgd2lsbCByZXR1cm4NCiAgICAgKiBiYWNrIGFuZCBhcnJheSBvZiB0aGUgcmVzdWx0IG9yIGZhbHNlIGlmIGFuIGVycm9yIG9jY3Vycy4NCiAgICAgKiBFYWNoIHZhbHVlIGluIHRoZSBhcnJheSByZXR1cm5lZCBoYXMgdGhlIGZvcm1hdCBvZjoNCiAgICAgKiAgICAgWyA8ZnVsbC1uYW1lPiA8c3A+IF0gPHBhdGg+DQogICAgICogVGhlIGRlZmluaXRpb24gb2YgPHBhdGg+IGlzIGRlZmluZWQgaW4gcmZjIDgyMQ0KICAgICAqDQogICAgICogSW1wbGVtZW50cyByZmMgODIxOiBFWFBOIDxTUD4gPHN0cmluZz4gPENSTEY+DQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjUwDQogICAgICogU01UUCBDT0RFIEZBSUxVUkU6IDU1MA0KICAgICAqIFNNVFAgQ09ERSBFUlJPUiAgOiA1MDAsNTAxLDUwMiw1MDQsNDIxDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIHN0cmluZyBhcnJheQ0KICAgICAqLw0KICAgIGZ1bmN0aW9uIEV4cGFuZCgkbmFtZSkgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIEV4cGFuZCgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJFWFBOICIgLiAkbmFtZSAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMikgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBGUk9NIFNFUlZFUjoiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDI1MCkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0NCiAgICAgICAgICAgICAgICBhcnJheSgiZXJyb3IiID0+ICJFWFBOIG5vdCBhY2NlcHRlZCBmcm9tIHNlcnZlciIsDQogICAgICAgICAgICAgICAgICAgICAgInNtdHBfY29kZSIgPT4gJGNvZGUsDQogICAgICAgICAgICAgICAgICAgICAgInNtdHBfbXNnIiA9PiBzdWJzdHIoJHJwbHksNCkpOw0KICAgICAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDEpIHsNCiAgICAgICAgICAgICAgICBlY2hvICJTTVRQIC0+IEVSUk9SOiAiIC4gJHRoaXMtPmVycm9yWyJlcnJvciJdIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAiOiAiIC4gJHJwbHkgLiAkdGhpcy0+Q1JMRjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICMgcGFyc2UgdGhlIHJlcGx5IGFuZCBwbGFjZSBpbiBvdXIgYXJyYXkgdG8gcmV0dXJuIHRvIHVzZXINCiAgICAgICAgJGVudHJpZXMgPSBleHBsb2RlKCR0aGlzLT5DUkxGLCRycGx5KTsNCiAgICAgICAgd2hpbGUobGlzdCgsJGwpID0gQGVhY2goJGVudHJpZXMpKSB7DQogICAgICAgICAgICAkbGlzdFtdID0gc3Vic3RyKCRsLDQpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICRsaXN0Ow0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNlbmRzIHRoZSBIRUxPIGNvbW1hbmQgdG8gdGhlIHNtdHAgc2VydmVyLg0KICAgICAqIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGFuZCB0aGUgc2VydmVyIGFyZSBpbg0KICAgICAqIHRoZSBzYW1lIGtub3duIHN0YXRlLg0KICAgICAqDQogICAgICogSW1wbGVtZW50cyBmcm9tIHJmYyA4MjE6IEhFTE8gPFNQPiA8ZG9tYWluPiA8Q1JMRj4NCiAgICAgKg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiAyNTANCiAgICAgKiBTTVRQIENPREUgRVJST1IgIDogNTAwLCA1MDEsIDUwNCwgNDIxDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBIZWxsbygkaG9zdD0iIikgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIEhlbGxvKCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICMgaWYgYSBob3N0bmFtZSBmb3IgdGhlIEhFTE8gd2Fzbid0IHNwZWNpZmllZCBkZXRlcm1pbmUNCiAgICAgICAgIyBhIHN1aXRhYmxlIG9uZSB0byBzZW5kDQogICAgICAgIGlmKGVtcHR5KCRob3N0KSkgew0KICAgICAgICAgICAgIyB3ZSBuZWVkIHRvIGRldGVybWluZSBzb21lIHNvcnQgb2YgYXBwb3BpYXRlIGRlZmF1bHQNCiAgICAgICAgICAgICMgdG8gc2VuZCB0byB0aGUgc2VydmVyDQogICAgICAgICAgICAkaG9zdCA9ICJsb2NhbGhvc3QiOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gU2VuZCBleHRlbmRlZCBoZWxsbyBmaXJzdCAoUkZDIDI4MjEpDQogICAgICAgIGlmKCEkdGhpcy0+U2VuZEhlbGxvKCJFSExPIiwgJGhvc3QpKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZighJHRoaXMtPlNlbmRIZWxsbygiSEVMTyIsICRob3N0KSkNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTZW5kcyBhIEhFTE8vRUhMTyBjb21tYW5kLg0KICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQ0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNlbmRIZWxsbygkaGVsbG8sICRob3N0KSB7DQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sICRoZWxsbyAuICIgIiAuICRob3N0IC4gJHRoaXMtPkNSTEYpOw0KDQogICAgICAgICRycGx5ID0gJHRoaXMtPmdldF9saW5lcygpOw0KICAgICAgICAkY29kZSA9IHN1YnN0cigkcnBseSwwLDMpOw0KDQogICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAyKSB7DQogICAgICAgICAgICBlY2hvICJTTVRQIC0+IEZST00gU0VSVkVSOiAiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDI1MCkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0NCiAgICAgICAgICAgICAgICBhcnJheSgiZXJyb3IiID0+ICRoZWxsbyAuICIgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRoaXMtPmhlbG9fcnBseSA9ICRycGx5Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogR2V0cyBoZWxwIGluZm9ybWF0aW9uIG9uIHRoZSBrZXl3b3JkIHNwZWNpZmllZC4gSWYgdGhlIGtleXdvcmQNCiAgICAgKiBpcyBub3Qgc3BlY2lmaWVkIHRoZW4gcmV0dXJucyBnZW5lcmljIGhlbHAsIHVzc3VhbGx5IGNvbnRpYW5pbmcNCiAgICAgKiBBIGxpc3Qgb2Yga2V5d29yZHMgdGhhdCBoZWxwIGlzIGF2YWlsYWJsZSBvbi4gVGhpcyBmdW5jdGlvbg0KICAgICAqIHJldHVybnMgdGhlIHJlc3VsdHMgYmFjayB0byB0aGUgdXNlci4gSXQgaXMgdXAgdG8gdGhlIHVzZXIgdG8NCiAgICAgKiBoYW5kbGUgdGhlIHJldHVybmVkIGRhdGEuIElmIGFuIGVycm9yIG9jY3VycyB0aGVuIGZhbHNlIGlzDQogICAgICogcmV0dXJuZWQgd2l0aCAkdGhpcy0+ZXJyb3Igc2V0IGFwcHJvcGlhdGVseS4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogSEVMUCBbIDxTUD4gPHN0cmluZz4gXSA8Q1JMRj4NCiAgICAgKg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiAyMTEsMjE0DQogICAgICogU01UUCBDT0RFIEVSUk9SICA6IDUwMCw1MDEsNTAyLDUwNCw0MjENCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgICovDQogICAgZnVuY3Rpb24gSGVscCgka2V5d29yZD0iIikgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHRvIGF2b2lkIGNvbmZ1c2lvbg0KDQogICAgICAgIGlmKCEkdGhpcy0+Y29ubmVjdGVkKCkpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAiZXJyb3IiID0+ICJDYWxsZWQgSGVscCgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICAkZXh0cmEgPSAiIjsNCiAgICAgICAgaWYoIWVtcHR5KCRrZXl3b3JkKSkgew0KICAgICAgICAgICAgJGV4dHJhID0gIiAiIC4gJGtleXdvcmQ7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJIRUxQIiAuICRleHRyYSAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMikgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBGUk9NIFNFUlZFUjoiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDIxMSAmJiAkY29kZSAhPSAyMTQpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiSEVMUCBub3QgYWNjZXB0ZWQgZnJvbSBzZXJ2ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX2NvZGUiID0+ICRjb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX21zZyIgPT4gc3Vic3RyKCRycGx5LDQpKTsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBFUlJPUjogIiAuICR0aGlzLT5lcnJvclsiZXJyb3IiXSAuDQogICAgICAgICAgICAgICAgICAgICAgICAgIjogIiAuICRycGx5IC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJHJwbHk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbg0KICAgICAqICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUNCiAgICAgKiB0aGUgbWFpbCB0cmFuc2FjdGlvbiBpcyBzdGFydGVkIGFuZCB0aGVuIG9uZSBvciBtb3JlIFJlY2lwaWVudA0KICAgICAqIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuDQogICAgICoNCiAgICAgKiBJbXBsZW1lbnRzIHJmYyA4MjE6IE1BSUwgPFNQPiBGUk9NOjxyZXZlcnNlLXBhdGg+IDxDUkxGPg0KICAgICAqDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDI1MA0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiA1NTIsNDUxLDQ1Mg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiA1MDAsNTAxLDQyMQ0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gTWFpbCgkZnJvbSkgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIE1haWwoKSB3aXRob3V0IGJlaW5nIGNvbm5lY3RlZCIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnB1dHMoJHRoaXMtPnNtdHBfY29ubiwiTUFJTCBGUk9NOjwiIC4gJGZyb20gLiAiPiIgLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJHJwbHk7DQogICAgICAgIH0NCg0KICAgICAgICBpZigkY29kZSAhPSAyNTApIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiTUFJTCBub3QgYWNjZXB0ZWQgZnJvbSBzZXJ2ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX2NvZGUiID0+ICRjb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX21zZyIgPT4gc3Vic3RyKCRycGx5LDQpKTsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBFUlJPUjogIiAuICR0aGlzLT5lcnJvclsiZXJyb3IiXSAuDQogICAgICAgICAgICAgICAgICAgICAgICAgIjogIiAuICRycGx5IC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU2VuZHMgdGhlIGNvbW1hbmQgTk9PUCB0byB0aGUgU01UUCBzZXJ2ZXIuDQogICAgICoNCiAgICAgKiBJbXBsZW1lbnRzIGZyb20gcmZjIDgyMTogTk9PUCA8Q1JMRj4NCiAgICAgKg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiAyNTANCiAgICAgKiBTTVRQIENPREUgRVJST1IgIDogNTAwLCA0MjENCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIE5vb3AoKSB7DQogICAgICAgICR0aGlzLT5lcnJvciA9IG51bGw7ICMgc28gbm8gY29uZnVzaW9uIGlzIGNhdXNlZA0KDQogICAgICAgIGlmKCEkdGhpcy0+Y29ubmVjdGVkKCkpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAiZXJyb3IiID0+ICJDYWxsZWQgTm9vcCgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJOT09QIiAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMikgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBGUk9NIFNFUlZFUjoiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDI1MCkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0NCiAgICAgICAgICAgICAgICBhcnJheSgiZXJyb3IiID0+ICJOT09QIG5vdCBhY2NlcHRlZCBmcm9tIHNlcnZlciIsDQogICAgICAgICAgICAgICAgICAgICAgInNtdHBfY29kZSIgPT4gJGNvZGUsDQogICAgICAgICAgICAgICAgICAgICAgInNtdHBfbXNnIiA9PiBzdWJzdHIoJHJwbHksNCkpOw0KICAgICAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDEpIHsNCiAgICAgICAgICAgICAgICBlY2hvICJTTVRQIC0+IEVSUk9SOiAiIC4gJHRoaXMtPmVycm9yWyJlcnJvciJdIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAiOiAiIC4gJHJwbHkgLiAkdGhpcy0+Q1JMRjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTZW5kcyB0aGUgcXVpdCBjb21tYW5kIHRvIHRoZSBzZXJ2ZXIgYW5kIHRoZW4gY2xvc2VzIHRoZSBzb2NrZXQNCiAgICAgKiBpZiB0aGVyZSBpcyBubyBlcnJvciBvciB0aGUgJGNsb3NlX29uX2Vycm9yIGFyZ3VtZW50IGlzIHRydWUuDQogICAgICoNCiAgICAgKiBJbXBsZW1lbnRzIGZyb20gcmZjIDgyMTogUVVJVCA8Q1JMRj4NCiAgICAgKg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiAyMjENCiAgICAgKiBTTVRQIENPREUgRVJST1IgIDogNTAwDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBRdWl0KCRjbG9zZV9vbl9lcnJvcj10cnVlKSB7DQogICAgICAgICR0aGlzLT5lcnJvciA9IG51bGw7ICMgc28gdGhlcmUgaXMgbm8gY29uZnVzaW9uDQoNCiAgICAgICAgaWYoISR0aGlzLT5jb25uZWN0ZWQoKSkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0gYXJyYXkoDQogICAgICAgICAgICAgICAgICAgICJlcnJvciIgPT4gIkNhbGxlZCBRdWl0KCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICMgc2VuZCB0aGUgcXVpdCBjb21tYW5kIHRvIHRoZSBzZXJ2ZXINCiAgICAgICAgZnB1dHMoJHRoaXMtPnNtdHBfY29ubiwicXVpdCIgLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgIyBnZXQgYW55IGdvb2QtYnllIG1lc3NhZ2VzDQogICAgICAgICRieWVtc2cgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJGJ5ZW1zZzsNCiAgICAgICAgfQ0KDQogICAgICAgICRydmFsID0gdHJ1ZTsNCiAgICAgICAgJGUgPSBudWxsOw0KDQogICAgICAgICRjb2RlID0gc3Vic3RyKCRieWVtc2csMCwzKTsNCiAgICAgICAgaWYoJGNvZGUgIT0gMjIxKSB7DQogICAgICAgICAgICAjIHVzZSBlIGFzIGEgdG1wIHZhciBjYXVzZSBDbG9zZSB3aWxsIG92ZXJ3cml0ZSAkdGhpcy0+ZXJyb3INCiAgICAgICAgICAgICRlID0gYXJyYXkoImVycm9yIiA9PiAiU01UUCBzZXJ2ZXIgcmVqZWN0ZWQgcXVpdCBjb21tYW5kIiwNCiAgICAgICAgICAgICAgICAgICAgICAgInNtdHBfY29kZSIgPT4gJGNvZGUsDQogICAgICAgICAgICAgICAgICAgICAgICJzbXRwX3JwbHkiID0+IHN1YnN0cigkYnllbXNnLDQpKTsNCiAgICAgICAgICAgICRydmFsID0gZmFsc2U7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkZVsiZXJyb3IiXSAuICI6ICIgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICRieWVtc2cgLiAkdGhpcy0+Q1JMRjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGlmKGVtcHR5KCRlKSB8fCAkY2xvc2Vfb25fZXJyb3IpIHsNCiAgICAgICAgICAgICR0aGlzLT5DbG9zZSgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICRydmFsOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNlbmRzIHRoZSBjb21tYW5kIFJDUFQgdG8gdGhlIFNNVFAgc2VydmVyIHdpdGggdGhlIFRPOiBhcmd1bWVudCBvZiAkdG8uDQogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSByZWNpcGllbnQgd2FzIGFjY2VwdGVkIGZhbHNlIGlmIGl0IHdhcyByZWplY3RlZC4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgZnJvbSByZmMgODIxOiBSQ1BUIDxTUD4gVE86PGZvcndhcmQtcGF0aD4gPENSTEY+DQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjUwLDI1MQ0KICAgICAqIFNNVFAgQ09ERSBGQUlMVVJFOiA1NTAsNTUxLDU1Miw1NTMsNDUwLDQ1MSw0NTINCiAgICAgKiBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDMsNDIxDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGJvb2wNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBSZWNpcGllbnQoJHRvKSB7DQogICAgICAgICR0aGlzLT5lcnJvciA9IG51bGw7ICMgc28gbm8gY29uZnVzaW9uIGlzIGNhdXNlZA0KDQogICAgICAgIGlmKCEkdGhpcy0+Y29ubmVjdGVkKCkpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAiZXJyb3IiID0+ICJDYWxsZWQgUmVjaXBpZW50KCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIlJDUFQgVE86PCIgLiAkdG8gLiAiPiIgLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJHJwbHk7DQogICAgICAgIH0NCg0KICAgICAgICBpZigkY29kZSAhPSAyNTAgJiYgJGNvZGUgIT0gMjUxKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPQ0KICAgICAgICAgICAgICAgIGFycmF5KCJlcnJvciIgPT4gIlJDUFQgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNlbmRzIHRoZSBSU0VUIGNvbW1hbmQgdG8gYWJvcnQgYW5kIHRyYW5zYWN0aW9uIHRoYXQgaXMNCiAgICAgKiBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsIGZhbHNlDQogICAgICogb3RoZXJ3aXNlLg0KICAgICAqDQogICAgICogSW1wbGVtZW50cyByZmMgODIxOiBSU0VUIDxDUkxGPg0KICAgICAqDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDI1MA0KICAgICAqIFNNVFAgQ09ERSBFUlJPUiAgOiA1MDAsNTAxLDUwNCw0MjENCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFJlc2V0KCkgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIFJlc2V0KCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIlJTRVQiIC4gJHRoaXMtPkNSTEYpOw0KDQogICAgICAgICRycGx5ID0gJHRoaXMtPmdldF9saW5lcygpOw0KICAgICAgICAkY29kZSA9IHN1YnN0cigkcnBseSwwLDMpOw0KDQogICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAyKSB7DQogICAgICAgICAgICBlY2hvICJTTVRQIC0+IEZST00gU0VSVkVSOiIgLiAkdGhpcy0+Q1JMRiAuICRycGx5Ow0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJGNvZGUgIT0gMjUwKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPQ0KICAgICAgICAgICAgICAgIGFycmF5KCJlcnJvciIgPT4gIlJTRVQgZmFpbGVkIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbg0KICAgICAqICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUNCiAgICAgKiB0aGUgbWFpbCB0cmFuc2FjdGlvbiBpcyBzdGFydGVkIGFuZCB0aGVuIG9uZSBvciBtb3JlIFJlY2lwaWVudA0KICAgICAqIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuIFRoaXMgY29tbWFuZA0KICAgICAqIHdpbGwgc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUgdXNlcnMgdGVybWluYWwgaWYgdGhleSBhcmUgbG9nZ2VkDQogICAgICogaW4uDQogICAgICoNCiAgICAgKiBJbXBsZW1lbnRzIHJmYyA4MjE6IFNFTkQgPFNQPiBGUk9NOjxyZXZlcnNlLXBhdGg+IDxDUkxGPg0KICAgICAqDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDI1MA0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiA1NTIsNDUxLDQ1Mg0KICAgICAqIFNNVFAgQ09ERSBTVUNDRVNTOiA1MDAsNTAxLDUwMiw0MjENCiAgICAgKiBAYWNjZXNzIHB1YmxpYw0KICAgICAqIEByZXR1cm4gYm9vbA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFNlbmQoJGZyb20pIHsNCiAgICAgICAgJHRoaXMtPmVycm9yID0gbnVsbDsgIyBzbyBubyBjb25mdXNpb24gaXMgY2F1c2VkDQoNCiAgICAgICAgaWYoISR0aGlzLT5jb25uZWN0ZWQoKSkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0gYXJyYXkoDQogICAgICAgICAgICAgICAgICAgICJlcnJvciIgPT4gIkNhbGxlZCBTZW5kKCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIlNFTkQgRlJPTToiIC4gJGZyb20gLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJHJwbHk7DQogICAgICAgIH0NCg0KICAgICAgICBpZigkY29kZSAhPSAyNTApIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiU0VORCBub3QgYWNjZXB0ZWQgZnJvbSBzZXJ2ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX2NvZGUiID0+ICRjb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX21zZyIgPT4gc3Vic3RyKCRycGx5LDQpKTsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBFUlJPUjogIiAuICR0aGlzLT5lcnJvclsiZXJyb3IiXSAuDQogICAgICAgICAgICAgICAgICAgICAgICAgIjogIiAuICRycGx5IC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbg0KICAgICAqICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUNCiAgICAgKiB0aGUgbWFpbCB0cmFuc2FjdGlvbiBpcyBzdGFydGVkIGFuZCB0aGVuIG9uZSBvciBtb3JlIFJlY2lwaWVudA0KICAgICAqIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuIFRoaXMgY29tbWFuZA0KICAgICAqIHdpbGwgc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUgdXNlcnMgdGVybWluYWwgaWYgdGhleSBhcmUgbG9nZ2VkDQogICAgICogaW4gYW5kIHNlbmQgdGhlbSBhbiBlbWFpbC4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogU0FNTCA8U1A+IEZST006PHJldmVyc2UtcGF0aD4gPENSTEY+DQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjUwDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDU1Miw0NTEsNDUyDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDUwMCw1MDEsNTAyLDQyMQ0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gU2VuZEFuZE1haWwoJGZyb20pIHsNCiAgICAgICAgJHRoaXMtPmVycm9yID0gbnVsbDsgIyBzbyBubyBjb25mdXNpb24gaXMgY2F1c2VkDQoNCiAgICAgICAgaWYoISR0aGlzLT5jb25uZWN0ZWQoKSkgew0KICAgICAgICAgICAgJHRoaXMtPmVycm9yID0gYXJyYXkoDQogICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIFNlbmRBbmRNYWlsKCkgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZwdXRzKCR0aGlzLT5zbXRwX2Nvbm4sIlNBTUwgRlJPTToiIC4gJGZyb20gLiAkdGhpcy0+Q1JMRik7DQoNCiAgICAgICAgJHJwbHkgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7DQogICAgICAgICRjb2RlID0gc3Vic3RyKCRycGx5LDAsMyk7DQoNCiAgICAgICAgaWYoJHRoaXMtPmRvX2RlYnVnID49IDIpIHsNCiAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRlJPTSBTRVJWRVI6IiAuICR0aGlzLT5DUkxGIC4gJHJwbHk7DQogICAgICAgIH0NCg0KICAgICAgICBpZigkY29kZSAhPSAyNTApIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiU0FNTCBub3QgYWNjZXB0ZWQgZnJvbSBzZXJ2ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX2NvZGUiID0+ICRjb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICJzbXRwX21zZyIgPT4gc3Vic3RyKCRycGx5LDQpKTsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBFUlJPUjogIiAuICR0aGlzLT5lcnJvclsiZXJyb3IiXSAuDQogICAgICAgICAgICAgICAgICAgICAgICAgIjogIiAuICRycGx5IC4gJHRoaXMtPkNSTEY7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbg0KICAgICAqICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUNCiAgICAgKiB0aGUgbWFpbCB0cmFuc2FjdGlvbiBpcyBzdGFydGVkIGFuZCB0aGVuIG9uZSBvciBtb3JlIFJlY2lwaWVudA0KICAgICAqIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuIFRoaXMgY29tbWFuZA0KICAgICAqIHdpbGwgc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUgdXNlcnMgdGVybWluYWwgaWYgdGhleSBhcmUgbG9nZ2VkDQogICAgICogaW4gb3IgbWFpbCBpdCB0byB0aGVtIGlmIHRoZXkgYXJlIG5vdC4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogU09NTCA8U1A+IEZST006PHJldmVyc2UtcGF0aD4gPENSTEY+DQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjUwDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDU1Miw0NTEsNDUyDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDUwMCw1MDEsNTAyLDQyMQ0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gU2VuZE9yTWFpbCgkZnJvbSkgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAiZXJyb3IiID0+ICJDYWxsZWQgU2VuZE9yTWFpbCgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJTT01MIEZST006IiAuICRmcm9tIC4gJHRoaXMtPkNSTEYpOw0KDQogICAgICAgICRycGx5ID0gJHRoaXMtPmdldF9saW5lcygpOw0KICAgICAgICAkY29kZSA9IHN1YnN0cigkcnBseSwwLDMpOw0KDQogICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSAyKSB7DQogICAgICAgICAgICBlY2hvICJTTVRQIC0+IEZST00gU0VSVkVSOiIgLiAkdGhpcy0+Q1JMRiAuICRycGx5Ow0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJGNvZGUgIT0gMjUwKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPQ0KICAgICAgICAgICAgICAgIGFycmF5KCJlcnJvciIgPT4gIlNPTUwgbm90IGFjY2VwdGVkIGZyb20gc2VydmVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFRoaXMgaXMgYW4gb3B0aW9uYWwgY29tbWFuZCBmb3IgU01UUCB0aGF0IHRoaXMgY2xhc3MgZG9lcyBub3QNCiAgICAgKiBzdXBwb3J0LiBUaGlzIG1ldGhvZCBpcyBoZXJlIHRvIG1ha2UgdGhlIFJGQzgyMSBEZWZpbml0aW9uDQogICAgICogY29tcGxldGUgZm9yIHRoaXMgY2xhc3MgYW5kIF9fbWF5X18gYmUgaW1wbGltZW50ZWQgaW4gdGhlIGZ1dHVyZQ0KICAgICAqDQogICAgICogSW1wbGVtZW50cyBmcm9tIHJmYyA4MjE6IFRVUk4gPENSTEY+DQogICAgICoNCiAgICAgKiBTTVRQIENPREUgU1VDQ0VTUzogMjUwDQogICAgICogU01UUCBDT0RFIEZBSUxVUkU6IDUwMg0KICAgICAqIFNNVFAgQ09ERSBFUlJPUiAgOiA1MDAsIDUwMw0KICAgICAqIEBhY2Nlc3MgcHVibGljDQogICAgICogQHJldHVybiBib29sDQogICAgICovDQogICAgZnVuY3Rpb24gVHVybigpIHsNCiAgICAgICAgJHRoaXMtPmVycm9yID0gYXJyYXkoImVycm9yIiA9PiAiVGhpcyBtZXRob2QsIFRVUk4sIG9mIHRoZSBTTVRQICIuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzIG5vdCBpbXBsZW1lbnRlZCIpOw0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBOT1RJQ0U6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLiAkdGhpcy0+Q1JMRjsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogVmVyaWZpZXMgdGhhdCB0aGUgbmFtZSBpcyByZWNvZ25pemVkIGJ5IHRoZSBzZXJ2ZXIuDQogICAgICogUmV0dXJucyBmYWxzZSBpZiB0aGUgbmFtZSBjb3VsZCBub3QgYmUgdmVyaWZpZWQgb3RoZXJ3aXNlDQogICAgICogdGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlciBpcyByZXR1cm5lZC4NCiAgICAgKg0KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogVlJGWSA8U1A+IDxzdHJpbmc+IDxDUkxGPg0KICAgICAqDQogICAgICogU01UUCBDT0RFIFNVQ0NFU1M6IDI1MCwyNTENCiAgICAgKiBTTVRQIENPREUgRkFJTFVSRTogNTUwLDU1MSw1NTMNCiAgICAgKiBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDIsNDIxDQogICAgICogQGFjY2VzcyBwdWJsaWMNCiAgICAgKiBAcmV0dXJuIGludA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFZlcmlmeSgkbmFtZSkgew0KICAgICAgICAkdGhpcy0+ZXJyb3IgPSBudWxsOyAjIHNvIG5vIGNvbmZ1c2lvbiBpcyBjYXVzZWQNCg0KICAgICAgICBpZighJHRoaXMtPmNvbm5lY3RlZCgpKSB7DQogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgImVycm9yIiA9PiAiQ2FsbGVkIFZlcmlmeSgpIHdpdGhvdXQgYmVpbmcgY29ubmVjdGVkIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBmcHV0cygkdGhpcy0+c210cF9jb25uLCJWUkZZICIgLiAkbmFtZSAuICR0aGlzLT5DUkxGKTsNCg0KICAgICAgICAkcnBseSA9ICR0aGlzLT5nZXRfbGluZXMoKTsNCiAgICAgICAgJGNvZGUgPSBzdWJzdHIoJHJwbHksMCwzKTsNCg0KICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMikgew0KICAgICAgICAgICAgZWNobyAiU01UUCAtPiBGUk9NIFNFUlZFUjoiIC4gJHRoaXMtPkNSTEYgLiAkcnBseTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCRjb2RlICE9IDI1MCAmJiAkY29kZSAhPSAyNTEpIHsNCiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9DQogICAgICAgICAgICAgICAgYXJyYXkoImVycm9yIiA9PiAiVlJGWSBmYWlsZWQgb24gbmFtZSAnJG5hbWUnIiwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9jb2RlIiA9PiAkY29kZSwNCiAgICAgICAgICAgICAgICAgICAgICAic210cF9tc2ciID0+IHN1YnN0cigkcnBseSw0KSk7DQogICAgICAgICAgICBpZigkdGhpcy0+ZG9fZGVidWcgPj0gMSkgew0KICAgICAgICAgICAgICAgIGVjaG8gIlNNVFAgLT4gRVJST1I6ICIgLiAkdGhpcy0+ZXJyb3JbImVycm9yIl0gLg0KICAgICAgICAgICAgICAgICAgICAgICAgICI6ICIgLiAkcnBseSAuICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkcnBseTsNCiAgICB9DQoNCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgICAqICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5BTCBGVU5DVElPTlMgICAgICAgICAgICAgICAgICAgICAgICoNCiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQogICAgLyoqDQogICAgICogUmVhZCBpbiBhcyBtYW55IGxpbmVzIGFzIHBvc3NpYmxlDQogICAgICogZWl0aGVyIGJlZm9yZSBlb2Ygb3Igc29ja2V0IHRpbWVvdXQgb2NjdXJzIG9uIHRoZSBvcGVyYXRpb24uDQogICAgICogV2l0aCBTTVRQIHdlIGNhbiB0ZWxsIGlmIHdlIGhhdmUgbW9yZSBsaW5lcyB0byByZWFkIGlmIHRoZQ0KICAgICAqIDR0aCBjaGFyYWN0ZXIgaXMgJy0nIHN5bWJvbC4gSWYgaXQgaXMgYSBzcGFjZSB0aGVuIHdlIGRvbid0DQogICAgICogbmVlZCB0byByZWFkIGFueXRoaW5nIGVsc2UuDQogICAgICogQGFjY2VzcyBwcml2YXRlDQogICAgICogQHJldHVybiBzdHJpbmcNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBnZXRfbGluZXMoKSB7DQogICAgICAgICRkYXRhID0gIiI7DQogICAgICAgIHdoaWxlKCRzdHIgPSBmZ2V0cygkdGhpcy0+c210cF9jb25uLDUxNSkpIHsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSA0KSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBnZXRfbGluZXMoKTogXCRkYXRhIHdhcyBcIiRkYXRhXCIiIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Q1JMRjsNCiAgICAgICAgICAgICAgICBlY2hvICJTTVRQIC0+IGdldF9saW5lcygpOiBcJHN0ciBpcyBcIiRzdHJcIiIgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5DUkxGOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGRhdGEgLj0gJHN0cjsNCiAgICAgICAgICAgIGlmKCR0aGlzLT5kb19kZWJ1ZyA+PSA0KSB7DQogICAgICAgICAgICAgICAgZWNobyAiU01UUCAtPiBnZXRfbGluZXMoKTogXCRkYXRhIGlzIFwiJGRhdGFcIiIgLiAkdGhpcy0+Q1JMRjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICMgaWYgdGhlIDR0aCBjaGFyYWN0ZXIgaXMgYSBzcGFjZSB0aGVuIHdlIGFyZSBkb25lIHJlYWRpbmcNCiAgICAgICAgICAgICMgc28ganVzdCBicmVhayB0aGUgbG9vcA0KICAgICAgICAgICAgaWYoc3Vic3RyKCRzdHIsMywxKSA9PSAiICIpIHsgYnJlYWs7IH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gJGRhdGE7DQogICAgfQ0KDQp9DQoNCg0KID8+DQo=]]></data>
  </file>
  <file>
    <filename>/phpmailer/docs/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/docs/extending.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5FeGFtcGxlcyB1c2luZyBwaHBtYWlsZXI8L3RpdGxlPg0KPC9oZWFkPg0KDQo8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4NCg0KPGgyPkV4YW1wbGVzIHVzaW5nIHBocG1haWxlcjwvaDI+DQoNCjxoMz4xLiBBZHZhbmNlZCBFeGFtcGxlPC9oMz4NCjxwPg0KDQpUaGlzIGRlbW9uc3RyYXRlcyBzZW5kaW5nIG91dCBtdWx0aXBsZSBlbWFpbCBtZXNzYWdlcyB3aXRoIGJpbmFyeSBhdHRhY2htZW50cw0KZnJvbSBhIE15U1FMIGRhdGFiYXNlIHdpdGggbXVsdGlwYXJ0L2FsdGVybmF0aXZlIHN1cHBvcnQuPHA+DQo8dGFibGUgY2VsbHBhZGRpbmc9IjQiIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQo8dHI+DQo8dGQgYmdjb2xvcj0iI0NDQ0NDQyI+DQo8cHJlPg0KcmVxdWlyZSgiY2xhc3MucGhwbWFpbGVyLnBocCIpOw0KDQokbWFpbCA9IG5ldyBwaHBtYWlsZXIoKTsNCg0KJG1haWwtPkZyb20gICAgID0gImxpc3RAZXhhbXBsZS5jb20iOw0KJG1haWwtPkZyb21OYW1lID0gIkxpc3QgbWFuYWdlciI7DQokbWFpbC0+SG9zdCAgICAgPSAic210cDEuZXhhbXBsZS5jb207c210cDIuZXhhbXBsZS5jb20iOw0KJG1haWwtPk1haWxlciAgID0gInNtdHAiOw0KDQpATVlTUUxfQ09OTkVDVCgibG9jYWxob3N0Iiwicm9vdCIsInBhc3N3b3JkIik7DQpAbXlzcWxfc2VsZWN0X2RiKCJteV9jb21wYW55Iik7DQokcXVlcnmgID2gIlNFTEVDVCBmdWxsX25hbWUsIGVtYWlsLKBwaG90b6BGUk9NIGVtcGxveWVloFdIRVJFoGlkPSRpZCI7DQokcmVzdWx0oD2gQE1ZU1FMX1FVRVJZKCRxdWVyeSk7DQoNCndoaWxlICgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkgKCRyZXN1bHQpKQ0Kew0KICAgIC8vIEhUTUwgYm9keQ0KICAgICRib2R5ICA9ICJIZWxsbyAmbHQ7Zm9udCBzaXplPVwiNFwiJmd0OyIgLiAkcm93WyJmdWxsX25hbWUiXSAuICImbHQ7L2ZvbnQmZ3Q7LCAmbHQ7cCZndDsiOw0KICAgICRib2R5IC49ICImbHQ7aSZndDtZb3VyJmx0Oy9pJmd0OyBwZXJzb25hbCBwaG90b2dyYXBoIHRvIHRoaXMgbWVzc2FnZS4mbHQ7cCZndDsiOw0KICAgICRib2R5IC49ICJTaW5jZXJlbHksICZsdDticiZndDsiOw0KICAgICRib2R5IC49ICJwaHBtYWlsZXIgTGlzdCBtYW5hZ2VyIjsNCg0KICAgIC8vIFBsYWluIHRleHQgYm9keSAoZm9yIG1haWwgY2xpZW50cyB0aGF0IGNhbm5vdCByZWFkIEhUTUwpDQogICAgJHRleHRfYm9keSAgPSAiSGVsbG8gIiAuICRyb3dbImZ1bGxfbmFtZSJdIC4gIiwgXG5cbiI7DQogICAgJHRleHRfYm9keSAuPSAiWW91ciBwZXJzb25hbCBwaG90b2dyYXBoIHRvIHRoaXMgbWVzc2FnZS5cblxuIjsNCiAgICAkdGV4dF9ib2R5IC49ICJTaW5jZXJlbHksIFxuIjsNCiAgICAkdGV4dF9ib2R5IC49ICJwaHBtYWlsZXIgTGlzdCBtYW5hZ2VyIjsNCg0KICAgICRtYWlsLT5Cb2R5ICAgID0gJGJvZHk7DQogICAgJG1haWwtPkFsdEJvZHkgPSAkdGV4dF9ib2R5Ow0KICAgICRtYWlsLT5BZGRBZGRyZXNzKCRyb3dbImVtYWlsIl0sICRyb3dbImZ1bGxfbmFtZSJdKTsNCiAgICAkbWFpbC0+QWRkU3RyaW5nQXR0YWNobWVudCgkcm93WyJwaG90byJdLCAiWW91clBob3RvLmpwZyIpOw0KDQogICAgaWYoISRtYWlsLT5TZW5kKCkpDQogICAgICAgIGVjaG8gIlRoZXJlIGhhcyBiZWVuIGEgbWFpbCBlcnJvciBzZW5kaW5nIHRvICIgLiAkcm93WyJlbWFpbCJdIC4gIiZsdDticiZndDsiOw0KDQogICAgLy8gQ2xlYXIgYWxsIGFkZHJlc3NlcyBhbmQgYXR0YWNobWVudHMgZm9yIG5leHQgbG9vcA0KICAgICRtYWlsLT5DbGVhckFkZHJlc3NlcygpOw0KICAgICRtYWlsLT5DbGVhckF0dGFjaG1lbnRzKCk7DQp9DQo8L3ByZT4NCjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxwPg0KDQo8aDM+Mi4gRXh0ZW5kaW5nIHBocG1haWxlcjwvaDM+DQo8cD4NCg0KRXh0ZW5kaW5nIGNsYXNzZXMgd2l0aCBpbmhlcml0YW5jZSBpcyBvbmUgb2YgdGhlIG1vc3QNCnBvd2VyZnVsIGZlYXR1cmVzIG9mIG9iamVjdC1vcmllbnRlZA0KcHJvZ3JhbW1pbmcuICBJdCBhbGxvd3MgeW91IHRvIG1ha2UgY2hhbmdlcyB0byB0aGUNCm9yaWdpbmFsIGNsYXNzIGZvciB5b3VyDQpvd24gcGVyc29uYWwgdXNlIHdpdGhvdXQgaGFja2luZyB0aGUgb3JpZ2luYWwNCmNsYXNzZXMuICBQbHVzLCBpdCBpcyB2ZXJ5DQplYXN5IHRvIGRvLiBJJ3ZlIHByb3ZpZGVkIGFuIGV4YW1wbGU6DQoNCjxwPg0KSGVyZSdzIGEgY2xhc3MgdGhhdCBleHRlbmRzIHRoZSBwaHBtYWlsZXIgY2xhc3MgYW5kIHNldHMgdGhlIGRlZmF1bHRzDQpmb3IgdGhlIHBhcnRpY3VsYXIgc2l0ZTo8YnI+DQpQSFAgaW5jbHVkZSBmaWxlOiA8Yj5tYWlsLmluYy5waHA8L2I+DQo8cD4NCg0KPHRhYmxlIGNlbGxwYWRkaW5nPSI0IiBib3JkZXI9IjEiIHdpZHRoPSI4MCUiPg0KPHRyPg0KPHRkIGJnY29sb3I9IiNDQ0NDQ0MiPg0KPHByZT4NCnJlcXVpcmUoImNsYXNzLnBocG1haWxlci5waHAiKTsNCg0KY2xhc3MgbXlfcGhwbWFpbGVyIGV4dGVuZHMgcGhwbWFpbGVyIHsNCiAgICAvLyBTZXQgZGVmYXVsdCB2YXJpYWJsZXMgZm9yIGFsbCBuZXcgb2JqZWN0cw0KICAgIHZhciAkRnJvbSAgICAgPSAiZnJvbUBleGFtcGxlLmNvbSI7DQogICAgdmFyICRGcm9tTmFtZSA9ICJNYWlsZXIiOw0KICAgIHZhciAkSG9zdCAgICAgPSAic210cDEuZXhhbXBsZS5jb207c210cDIuZXhhbXBsZS5jb20iOw0KICAgIHZhciAkTWFpbGVyICAgPSAic210cCI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFsdGVybmF0aXZlIHRvIElzU01UUCgpDQogICAgdmFyICRXb3JkV3JhcCA9IDc1Ow0KDQogICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBlcnJvcl9oYW5kbGVyDQogICAgZnVuY3Rpb24gZXJyb3JfaGFuZGxlcigkbXNnKSB7DQogICAgICAgIHByaW50KCJNeSBTaXRlIEVycm9yIik7DQogICAgICAgIHByaW50KCJEZXNjcmlwdGlvbjoiKTsNCiAgICAgICAgcHJpbnRmKCIlcyIsICRtc2cpOw0KICAgICAgICBleGl0Ow0KICAgIH0NCg0KICAgIC8vIENyZWF0ZSBhbiBhZGRpdGlvbmFsIGZ1bmN0aW9uDQogICAgZnVuY3Rpb24gZG9fc29tZXRoaW5nKCRzb21ldGhpbmcpIHsNCiAgICAgICAgLy8gUGxhY2UgeW91ciBuZXcgY29kZSBoZXJlDQogICAgfQ0KfQ0KPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGJyPg0KDQpOb3cgaGVyZSdzIGEgbm9ybWFsIFBIUCBwYWdlIGluIHRoZSBzaXRlLCB3aGljaCB3aWxsIGhhdmUgYWxsIHRoZSBkZWZhdWx0cyBzZXQNCmFib3ZlOjxicj4NCk5vcm1hbCBQSFAgZmlsZTogPGI+bWFpbF90ZXN0LnBocDwvYj4NCjxwPg0KDQo8dGFibGUgY2VsbHBhZGRpbmc9IjQiIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQo8dHI+DQo8dGQgYmdjb2xvcj0iI0NDQ0NDQyI+DQo8cHJlPg0KcmVxdWlyZSgibWFpbC5pbmMucGhwIik7DQoNCi8vIEluc3RhbnRpYXRlIHlvdXIgbmV3IGNsYXNzDQokbWFpbCA9IG5ldyBteV9waHBtYWlsZXI7DQoNCi8vIE5vdyB5b3Ugb25seSBuZWVkIHRvIGFkZCB0aGUgbmVjZXNzYXJ5IHN0dWZmDQokbWFpbC0+QWRkQWRkcmVzcygiam9zaEBleGFtcGxlLmNvbSIsICJKb3NoIEFkYW1zIik7DQokbWFpbC0+U3ViamVjdCA9ICJIZXJlIGlzIHRoZSBzdWJqZWN0IjsNCiRtYWlsLT5Cb2R5ICAgID0gIlRoaXMgaXMgdGhlIG1lc3NhZ2UgYm9keSI7DQokbWFpbC0+QWRkQXR0YWNobWVudCgiYzovdGVtcC8xMS0xMC0wMC56aXAiLCAibmV3X25hbWUuemlwIik7ICAvLyBvcHRpb25hbCBuYW1lDQoNCmlmKCEkbWFpbC0+U2VuZCgpKQ0Kew0KICAgZWNobyAiVGhlcmUgd2FzIGFuIGVycm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UiOw0KICAgZXhpdDsNCn0NCg0KZWNobyAiTWVzc2FnZSB3YXMgc2VudCBzdWNjZXNzZnVsbHkiOw0KPC9wcmU+DQo8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L3A+DQoNCjwvYm9keT4NCjwvaHRtbD4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/docs/faq.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5waHBtYWlsZXIgRkFRPC90aXRsZT4NCjwvaGVhZD4NCg0KPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+DQoNCjxoMj5waHBtYWlsZXIgRkFRPC9oMj4NCg0KPHA+DQo8Yj5JJ20gdXNpbmcgdGhlIFNNVFAgbWFpbGVyIGFuZCBJIGtlZXAgb24gZ2V0dGluZyBhIHRpbWVvdXQgbWVzc2FnZSANCndlbGwgYmVmb3JlIHRoZSBYIHNlY29uZHMgSSBzZXQgaXQgZm9yLiAgV2hhdCBnaXZlcz88L2I+DQo8YnI+DQpQSFAgdmVyc2lvbnMgNC4wLjRwbDEgYW5kIGVhcmxpZXIgaGF2ZSBhIGJ1ZyBpbiB3aGljaCBzb2NrZXRzIHRpbWVvdXQgDQplYXJseS4gIFlvdSBjYW4gZml4IHRoaXMgYnkgcmUtY29tcGlsaW5nIFBIUCA0LjAuNHBsMSB3aXRoIHRoaXMgZml4OiANCjxhIGhyZWY9InRpbWVvdXRmaXguZGlmZiI+dGltZW91dGZpeC5kaWZmPC9hPi4gT3RoZXJ3aXNlIHlvdSBjYW4gd2FpdCANCmZvciB0aGUgbmV3IFBIUCByZWxlYXNlLg0KPC9wPg0KDQo8cD4NCjxiPkkgYW0gY29uY2VybmVkIHRoYXQgdXNpbmcgaW5jbHVkZSBmaWxlcyB3aWxsIHRha2UgdXAgdG9vIG11Y2gNCnByb2Nlc3NpbmcgdGltZSBvbiBteSBjb21wdXRlci4gIEhvdyBjYW4gSSBtYWtlIGl0IHJ1biBmYXN0ZXI/PC9iPg0KPGJyPg0KUEhQIGJ5IGl0c2VsZiBpcyB2ZXJ5IGZhc3QuICBNdWNoIGZhc3RlciB0aGFuIEFTUCBvciBKU1AgcnVubmluZyBvbg0KdGhlIHNhbWUgdHlwZSBvZiBzZXJ2ZXIuICBUaGlzIGlzIGJlY2F1c2UgaXQgaGFzIHZlcnkgbGl0dGxlIG92ZXJoZWFkIGNvbXBhcmVkDQp0byBpdHMgY29tcGV0aXRvcnMgYW5kIGl0IHByZS1jb21waWxlcyBhbGwgb2YNCml0cyBjb2RlIGJlZm9yZSBpdCBydW5zIGVhY2ggc2NyaXB0IChpbiBQSFA0KS4gIEhvd2V2ZXIsIGFsbCBvZg0KdGhpcyBjb21waWxpbmcgYW5kIHJlLWNvbXBpbGluZyBjYW4gdGFrZSB1cCBhIGxvdCBvZiB2YWx1YWJsZQ0KY29tcHV0ZXIgcmVzb3VyY2VzLiAgSG93ZXZlciwgdGhlcmUgYXJlIHByb2dyYW1zIG91dCB0aGVyZSB0aGF0IGNvbXBpbGUNClBIUCBjb2RlIGFuZCBzdG9yZSBpdCBpbiBtZW1vcnkgKG9yIG9uIG1tYXBlZCBmaWxlcykgdG8gcmVkdWNlIHRoZQ0KcHJvY2Vzc2luZyBpbW1lbnNlbHkuICBUd28gb2YgdGhlc2U6IDxhIGhyZWY9Imh0dHA6Ly9hcGMuY29tbXVuaXR5Y29ubmVjdC5jb20iPkFQQw0KKEFsdGVybmF0aXZlIFBIUCBDYWNoZSk8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vYndjYWNoZS5id2FyZS5pdC9pbmRleC5odG0iPkFmdGVyYnVybmVyPC9hPiANCig8YSBocmVmPSJodHRwOi8vd3d3Lm1tNC5kZS9waHA0d2luL21vZF9waHA0X3dpbjMyLyI+V2luMzIgZG93bmxvYWQ8L2E+KSANCmFyZSBleGNlbGxlbnQgZnJlZSB0b29scyB0aGF0IGRvIGp1c3QgdGhpcy4gIElmIHlvdSBoYXZlIHRoZSBtb25leQ0KeW91IG1pZ2h0IGFsc28gdHJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20iPlplbmQgQ2FjaGU8L2E+LCBpdCBpcw0KZXZlbiBmYXN0ZXIgdGhhbiB0aGUgb3BlbiBzb3VyY2UgdmFyaWV0aWVzLiAgQWxsIG9mIHRoZXNlIHRvb2xzIG1ha2UgeW91cg0Kc2NyaXB0cyBydW4gZmFzdGVyIHdoaWxlIGFsc28gcmVkdWNpbmcgdGhlIGxvYWQgb24geW91ciBzZXJ2ZXIuIEkgaGF2ZSB0cmllZA0KdGhlbSBteXNlbGYgYW5kIHRoZXkgYXJlIHF1aXRlIHN0YWJsZSB0b28uDQo8L3A+DQoNCg0KPHA+DQo8Yj5XaGF0IG1haWxlciBnaXZlcyBtZSB0aGUgYmVzdCBwZXJmb3JtYW5jZT88L2I+DQo8YnI+DQpPbiBhIHNpbmdsZSBtYWNoaW5lIHRoZSBtYWlsKCkgb3Igc2VuZG1haWwgbWFpbGVycyBnaXZlIHlvdSB0aGUgYmVzdCANCnBlcmZvcm1hbmNlIGJlY2F1c2UgdGhleSBkbyBub3QgaGF2ZSB0aGUgYWRkZWQgb3ZlcmhlYWQgb2YgU01UUC4NCklmIHlvdSBoYXZlIHlvdSBoYXZlIHlvdXIgbWFpbCBzZXJ2ZXIgb24gYSBhbm90aGVyIG1hY2hpbmUgdGhlbg0KU01UUCBpcyB5b3VyIG9ubHkgb3B0aW9uLCBidXQgeW91IGRvIGdldCB0aGUgYmVuZWZpdCBvZiByZWR1bmRhbnQNCm1haWwgc2VydmVycy4NCjwvcD4NCg0KPHA+DQo8Yj5XaGVuIEkgdHJ5IHRvIGF0dGFjaCBhIGZpbGUgd2l0aCBvbiBteSBzZXJ2ZXIgSSBnZXQgYSANCiJDb3VsZCBub3QgZmluZCB7ZmlsZX0gb24gZmlsZXN5c3RlbSBlcnJvciIuICBXaHkgaXMgdGhpcz88L2I+DQo8YnI+DQpJZiB5b3UgYXJlIHVzaW5nIGEgVW5peCBtYWNoaW5lIHRoaXMgaXMgcHJvYmFibHkgYmVjYXVzZSB0aGUgdXNlciANCnJ1bm5pbmcgeW91ciB3ZWIgc2VydmVyIGRvZXMgbm90IGhhdmUgcmVhZCBhY2Nlc3MgdG8gdGhlIGRpcmVjdG9yeSANCmluIHF1ZXN0aW9uLiAgSWYgeW91IGFyZSB1c2luZyBXaW5kb3dzLCB0aGVuIHRoZSBwcm9ibGVtIHByb2JhYmx5IGlzIA0KdGhhdCB5b3UgaGF2ZSB1c2VkIHNpbmdsZSBiYWNrc2xhc2hlcyB0byBkZW5vdGUgZGlyZWN0b3JpZXMgKCJcIikuICANCkEgc2luZ2xlIGJhY2tzbGFzaCBoYXMgYSBzcGVjaWFsIG1lYW5pbmcgdG8gUEhQIHNvIHRoZXNlIGFyZSBub3QgDQp2YWxpZC4gIEluc3RlYWQgdXNlIGRvdWJsZSBiYWNrc2xhc2hlcyAoIlxcIikgb3IgYSBzaW5nbGUgZm9yd2FyZCANCnNsYXNoICgiLyIpLg0KPC9wPg0KDQo8L2JvZHk+DQo8L2h0bWw+]]></data>
  </file>
  <file>
    <filename>/phpmailer/docs/timeoutfix.diff</filename>
    <isdir>0</isdir>
    <data><![CDATA[KioqIC91c3IvbG9jYWwvc3JjL3BocC00LjAuNHBsMS9leHQvc3RhbmRhcmQvZnNvY2suYy5vbGQJTW9uIE1hciAyNiAxMzowNzo0MCAyMDAxDQotLS0gL3Vzci9sb2NhbC9zcmMvcGhwLTQuMC40cGwxL2V4dC9zdGFuZGFyZC9mc29jay5jCU1vbiBNYXIgMjYgMTM6MTI6MDMgMjAwMQ0KKioqKioqKioqKioqKioqDQoqKiogNTU5LDU2NCAqKioqDQotLS0gNTU5LDU2NSAtLS0tDQogIA0KICBzdGF0aWMgdm9pZCBwaHBfc29ja3JlYWRfdG90YWwocGhwX3NvY2tidWYgKnNvY2ssIHNpemVfdCBtYXhyZWFkKQ0KICB7DQorICAgICAgICAgc29jay0+dGltZW91dF9ldmVudCA9IDA7DQogIAl3aGlsZSghc29jay0+ZW9mICYmIFRPUkVBRChzb2NrKSA8IG1heHJlYWQgJiYgIXNvY2stPnRpbWVvdXRfZXZlbnQpIHsNCiAgCQlwaHBfc29ja3JlYWRfaW50ZXJuYWwoc29jayk7DQogIAl9DQoqKioqKioqKioqKioqKioNCioqKiA2MTksNjI0ICoqKioNCi0tLSA2MjAsNjI3IC0tLS0NCiAgCX0NCiAgDQogIAlTRUFSQ0hDUigpOw0KKyANCisgICAgICAgICBzb2NrLT50aW1lb3V0X2V2ZW50ID0gMDsNCiAgDQogIAlpZighcCkgew0KICAJCWlmKHNvY2stPmlzX2Jsb2NrZWQpIHsNCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-br.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIFBvcnR1Z3Vlc2UgVmVyc2lvbg0KICogQnkgUGF1bG8gSGVucmlxdWUgR2FyY2lhIC0gcGF1bG9AY29udHJvbGxlcndlYi5jb20uYnINCiAqLw0KDQokUEhQTUFJTEVSX0xBTkcgPSBhcnJheSgpOw0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdWb2PqIGRldmUgZm9ybmVjZXIgcGVsbyBtZW5vcyB1bSBlbmRlcmXnbyBkZSBkZXN0aW5hdOFyaW8gZGUgZW1haWwuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIG7jbyBzdXBvcnRhZG8uJzsNCiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ07jbyBmb2kgcG9zc+12ZWwgZXhlY3V0YXI6ICc7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnTuNvIGZvaSBwb3Nz7XZlbCBpbnN0YW5jaWFyIGEgZnVu5+NvIG1haWwuJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnRXJybyBkZSBTTVRQOiBO428gZm9pIHBvc3PtdmVsIGF1dGVudGljYXIuJzsNCiRQSFBNQUlMRVJfTEFOR1siZnJvbV9mYWlsZWQiXSA9ICdPcyBlbmRlcmXnb3MgZGUgcmVtZW50ZW50ZSBhIHNlZ3VpciBmYWxoYXJhbTogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdFcnJvIGRlIFNNVFA6IE9zIGVuZGVyZedvcyBkZSBkZXN0aW5hdOFyaW8gYSBzZWd1aXIgZmFsaGFyYW06ICc7DQokUEhQTUFJTEVSX0xBTkdbImRhdGFfbm90X2FjY2VwdGVkIl0gPSAnRXJybyBkZSBTTVRQOiBEYWRvcyBu428gYWNlaXRvcy4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdFcnJvIGRlIFNNVFA6IE7jbyBmb2kgcG9zc+12ZWwgY29uZWN0YXIgY29tIG8gc2Vydmlkb3IgU01UUC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ07jbyBmb2kgcG9zc+12ZWwgYWNlc3NhciBvIGFycXVpdm86ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0Vycm8gZGUgQXJxdWl2bzogTuNvIGZvaSBwb3Nz7XZlbCBhYnJpciBvIGFycXVpdm86ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnQ29kaWZpY2Hn428gZGVzY29uaGVjaWRhOiAnOw0KPz4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-ca.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIENhdGFsYW4gVmVyc2lvbg0KICogQnkgSXZhbjogd2ViIEFUIG1pY3Jvc3R1ZGkgRE9UIGNvbQ0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7IA0KDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ1NcJ2hhIGRlIHByb3ZlaXIgYWxtZW55cyB1bmEgYWRyZedhIGRcJ2VtYWlsIGNvbSBhIGRlc3RpbmF0YXJpLic7DQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAnIG1haWxlciBubyBlc3TgIHN1cG9ydGF0JzsNCiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ05vIGVzIHBvdCBleGVjdXRhcjogJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdObyBzXCdoYSBwb2d1dCBjcmVhciB1bmEgaW5zdOBuY2lhIGRlIGxhIGZ1bmNp8yBNYWlsLic7DQokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ0Vycm9yIFNNVFA6IE5vIHNcJ2hhcG9ndXQgYXV0ZW50aWNhci4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ0xhKHMpIHNlZ/xlbnQocykgYWRyZWNlcyBkZSByZW1pdGVudCBoYW4gZmFsbGF0OiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ0Vycm9yIFNNVFA6IEVscyBzZWf8ZW50cyBkZXN0aW5hdGFyaXMgaGFuIGZhbGxhdDogJzsNCiRQSFBNQUlMRVJfTEFOR1siZGF0YV9ub3RfYWNjZXB0ZWQiXSA9ICdFcnJvciBTTVRQOiBEYWRlcyBubyBhY2NlcHRhZGVzLic7DQokUEhQTUFJTEVSX0xBTkdbImNvbm5lY3RfaG9zdCJdID0gJ0Vycm9yIFNNVFA6IE5vIGVzIHBvdCBjb25uZWN0YXIgYWwgc2Vydmlkb3IgU01UUC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ05vIGVzIHBvdCBhY2NlZGlyIGEgbFwnYXJ4aXU6ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0Vycm9yIGRcJ0FyeGl1OiBObyBlcyBwb3Qgb2JyaXIgbFwnYXJ4aXU6ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnQ29kaWZpY2FjafMgZGVzY29uZWd1ZGE6ICc7DQo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-cz.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEN6ZWNoIFZlcnNpb24NCiAqLw0KDQokUEhQTUFJTEVSX0xBTkcgPSBhcnJheSgpOw0KDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ011c+10ZSB6YWRhdCBhbGVzcG/yIGplZG51ICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbWFpbG92b3UgYWRyZXN1IHD47WplbWNlLic7DQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAnIG1haWxvdv0ga2xpZW50IG5lbu0gcG9kcG9yb3bhbi4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnTmVsemUgcHJvdulzdDogJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdOZWx6ZSB2eXR2b/hpdCBpbnN0YW5jaSBlbWFpbG926SBmdW5rY2UuJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBFcnJvcjogQ2h5YmEgYXV0ZW50aWthY2UuJzsNCiRQSFBNQUlMRVJfTEFOR1siZnJvbV9mYWlsZWQiXSA9ICdO4XNsZWR1au1j7SBhZHJlc2EgRnJvbSBqZSBuZXNwcuF2buE6ICc7DQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnU01UUCBFcnJvcjogQWRyZXN5IHD47WplbWP5ICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25lanNvdSBzcHLhdm7pICcgLg0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgRXJyb3I6IERhdGEgbmVieWxhIHD4aWphdGEnOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQIEVycm9yOiBOZWx6ZSBuYXbhemF0IHNwb2plbu0gc2UgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBTTVRQIHNlcnZlcmVtLic7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnU291Ym9yIG5lbmFsZXplbjogJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9vcGVuIl0gPSAnRmlsZSBFcnJvcjogTmVsemUgb3RldvjtdCBzb3Vib3IgcHJvIOh0ZW7tOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJlbmNvZGluZyJdID0gJ05lem7hbekga/Nkb3bhbu06ICc7DQo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-de.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEdlcm1hbiBWZXJzaW9uDQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdCaXR0ZSBnZWJlbiBTaWUgbWluZGVzdGVucyBlaW5lICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbXBmJmF1bWw7bmdlciBFbWFpbGFkcmVzc2UgYW4uJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIHdpcmQgbmljaHQgdW50ZXJzdCZ1dW1sO3R6dC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnS29ubnRlIGZvbGdlbmRlbiBCZWZlaGwgbmljaHQgYXVzZiZ1dW1sO2hyZW46ICc7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnTWFpbCBGdW5rdGlvbiBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4uJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBGZWhsZXI6IEF1dGhlbnRpZml6aWVydW5nIGZlaGxnZXNjaGxhZ2VuLic7DQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnRGllIGZvbGdlbmRlIEFic2VuZGVyYWRyZXNzZSBpc3QgbmljaHQga29ycmVrdDogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIEZlaGxlcjogRGllIGZvbGdlbmRlbiAnIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbXBmJmF1bWw7bmdlciBzaW5kIG5pY2h0IGtvcnJla3Q6ICc7DQokUEhQTUFJTEVSX0xBTkdbImRhdGFfbm90X2FjY2VwdGVkIl0gPSAnU01UUCBGZWhsZXI6IERhdGVuIHdlcmRlbiBuaWNodCBha3plcHRpZXJ0Lic7DQokUEhQTUFJTEVSX0xBTkdbImNvbm5lY3RfaG9zdCJdID0gJ1NNVFAgRmVobGVyOiBLb25udGUga2VpbmUgVmVyYmluZHVuZyB6dW0gU01UUC1Ib3N0IGhlcnN0ZWxsZW4uJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9hY2Nlc3MiXSA9ICdadWdyaWZmIGF1ZiBmb2xnZW5kZSBEYXRlaSBmZWhsZ2VzY2hsYWdlbjogJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9vcGVuIl0gPSAnRGF0ZWkgRmVobGVyOiBrb25udGUgZm9sZ2VuZGUgRGF0ZWkgbmljaHQgJm91bWw7ZmZuZW46ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnVW5iZWthbm50ZXMgRW5jb2RpbmctRm9ybWF0OiAnOw0KPz4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-dk.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIERhbmlzaCBWZXJzaW9uDQogKiBBdXRob3I6IE1pa2FlbCBTdG9ra2Vicm8gPGluZm9Ac3Rva2tlYnJvLmRrPg0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQoNCiRQSFBNQUlMRVJfTEFOR1sicHJvdmlkZV9hZGRyZXNzIl0gPSAnRHUgc2thbCBpbmR0YXN0ZSBtaW5kc3QgZW4gJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHRhZ2VycyBlbWFpbGFkcmVzc2UuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIHVuZGVyc3T4dHRlcyBpa2tlLic7DQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICdLdW5uZSBpa2tlIGv4cmU6ICc7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnS3VubmUgaWtrZSBpbml0aWFsaXNlcmUgZW1haWwgZnVua3Rpb25lbi4nOw0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdTTVRQIGZlamw6IEt1bm5lIGlra2UgbG9nZ2UgcOUuJzsNCiRQSFBNQUlMRVJfTEFOR1siZnJvbV9mYWlsZWQiXSA9ICdG+GxnZW5kZSBhZnNlbmRlcmFkcmVzc2UgZXIgZm9ya2VydDogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIGZlamw6IEb4bGdlbmRlJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdGFnZXJlIGVyIGZvcmtlcnRlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgZmVqbDogRGF0YSBrdW5uZSBpa2tlIGFjY2VwdGVyZXMuJzsNCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCBmZWpsOiBLdW5uZSBpa2tlIHRpbHNsdXR0ZSBTTVRQIHNlcnZlcmVuLic7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnSW5nZW4gYWRnYW5nIHRpbCBmaWw6ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0ZpbCBmZWpsOiBLdW5uZSBpa2tlIOVibmUgZmlsZW46ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnVWtlbmR0IGVuY29kZS1mb3JtYXQ6ICc7DQo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-en.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEVuZ2xpc2ggVmVyc2lvbg0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQoNCiRQSFBNQUlMRVJfTEFOR1sicHJvdmlkZV9hZGRyZXNzIl0gPSAnWW91IG11c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlY2lwaWVudCBlbWFpbCBhZGRyZXNzLic7DQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAnIG1haWxlciBpcyBub3Qgc3VwcG9ydGVkLic7DQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICdDb3VsZCBub3QgZXhlY3V0ZTogJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdDb3VsZCBub3QgaW5zdGFudGlhdGUgbWFpbCBmdW5jdGlvbi4nOw0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdTTVRQIEVycm9yOiBDb3VsZCBub3QgYXV0aGVudGljYXRlLic7DQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnVGhlIGZvbGxvd2luZyBGcm9tIGFkZHJlc3MgZmFpbGVkOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ1NNVFAgRXJyb3I6IFRoZSBmb2xsb3dpbmcgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVjaXBpZW50cyBmYWlsZWQ6ICc7DQokUEhQTUFJTEVSX0xBTkdbImRhdGFfbm90X2FjY2VwdGVkIl0gPSAnU01UUCBFcnJvcjogRGF0YSBub3QgYWNjZXB0ZWQuJzsNCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCBFcnJvcjogQ291bGQgbm90IGNvbm5lY3QgdG8gU01UUCBob3N0Lic7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnQ291bGQgbm90IGFjY2VzcyBmaWxlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICdGaWxlIEVycm9yOiBDb3VsZCBub3Qgb3BlbiBmaWxlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJlbmNvZGluZyJdID0gJ1Vua25vd24gZW5jb2Rpbmc6ICc7DQo/Pg0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-es.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIFZlcnNp824gZW4gZXNwYfFvbA0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQoNCiRQSFBNQUlMRVJfTEFOR1sicHJvdmlkZV9hZGRyZXNzIl0gPSAnRGViZSBwcm92ZWVyIGFsIG1lbm9zIHVuYSAnIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlyZWNjafNuIGRlIGVtYWlsIGNvbW8gZGVzdGluYXRhcmlvLic7DQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAnIG1haWxlciBubyBlc3ThIHNvcG9ydGFkby4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnTm8gcHVlZG8gZWplY3V0YXI6ICc7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnTm8gcHVkZSBjcmVhciB1bmEgaW5zdGFuY2lhIGRlIGxhIGZ1bmNp824gTWFpbC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdFcnJvciBTTVRQOiBObyBzZSBwdWRvIGF1dGVudGlmaWNhci4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ0xhKHMpIHNpZ3VpZW50ZShzKSBkaXJlY2Npb25lcyBkZSByZW1pdGVudGUgZmFsbGFyb246ICc7DQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnRXJyb3IgU01UUDogTG9zIHNpZ3VpZW50ZXMgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzdGluYXRhcmlvcyBmYWxsYXJvbjogJzsNCiRQSFBNQUlMRVJfTEFOR1siZGF0YV9ub3RfYWNjZXB0ZWQiXSA9ICdFcnJvciBTTVRQOiBEYXRvcyBubyBhY2VwdGFkb3MuJzsNCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnRXJyb3IgU01UUDogTm8gcHVlZG8gY29uZWN0YXIgYWwgc2Vydmlkb3IgU01UUC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ05vIHB1ZWRvIGFjY2VkZXIgYWwgYXJjaGl2bzogJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9vcGVuIl0gPSAnRXJyb3IgZGUgQXJjaGl2bzogTm8gcHVlZGUgYWJyaXIgZWwgYXJjaGl2bzogJzsNCiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICdDb2RpZmljYWNp824gZGVzY29ub2NpZGE6ICc7DQo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-fi.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEZpbm5pc2ggVmVyc2lvbg0KICogQnkgSnlyeSBLdXVrYW5lbg0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7IA0KDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ0FzZXRhIHYmYXVtbDtoaW50JmF1bWw7JmF1bWw7biB5a3NpIHZhc3RhYW5vdHRhamFuICcgLiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncyZhdW1sO2hrJm91bWw7cG9zdGlvc29pdGUuJzsgDQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAncG9zdGl2JmF1bWw7bGl0aW50eXlwcGkmYXVtbDsgZWkgdHVldGEuJzsgDQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICdTdW9yaXR1cyBlcCZhdW1sO29ubmlzdHVpOiAnOyANCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdtYWlsLWZ1bmt0aW9uIGx1b250aSBlcCZhdW1sO29ubmlzdHVpLic7IA0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdTTVRQLXZpcmhlOiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm5pc3R1cyBlcCZhdW1sO29ubmlzdHVpLic7IA0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ1NldXJhYXZhIGwmYXVtbDtoZXR0JmF1bWw7aiZhdW1sO24gb3NvaXRlIG9uIHZpcmhlZWxsaW5lbjogJzsgDQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnU01UUC12aXJoZTogc2V1cmFhdmEgdmFzdGFhbm90dGFqYSBvc29pdGUgb24gdmlyaGVlbGxpbmVuLic7IA0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAtdmlyaGU6IGRhdGEgb24gdmlyaGVlbGxpbmVuLic7IA0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQLXZpcmhlOiB5aHRleXMgcGFsdmVsaW1lZW4gZWkgb25uaXN0dS4nOyANCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9hY2Nlc3MiXSA9ICdTZXVyYWF2YWFuIHRpZWRvc3Rvb24gZWkgb2xlIG9pa2V1a3NpYTogJzsgDQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ1RpZWRvc3RvdmlyaGU6IEVpIHZvaWRhIGF2YXRhIHRpZWRvc3RvYTogJzsgDQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnVHVudGVtYXRvbiBrb29kYXVzdHl5cHBpOiAnOyANCj8+]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-fo.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANDQovKioNDQogKiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZS4gIA0NCiAqIEZhcm9lc2UgVmVyc2lvbiBbbGFuZ3VhZ2Ugb2YgdGhlIEZhcm9lIElzbGFuZHMsIGEgRGFuaXNoIGRvbWluaW9uXQ0NCiAqIFRoaXMgZmlsZSBjcmVhdGVkOiAxMS0wNi0yMDA0DQ0KICogU3VwcGxpZWQgYnkgROF2dXIgU/hyZW5zZW4gW3d3dy5wcm9mby13ZWJkZXNpZ24uZGtdDQ0KICovDQ0KDQ0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNDQoNDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ1T6IHNrYWwgdXBwZ2V2YSBtaW5zdCAnIC4NDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ23zdHRha2FyYS1lbWFpbGFkcmVzc3UocikuJzsNDQokUEhQTUFJTEVSX0xBTkdbIm1haWxlcl9ub3Rfc3VwcG9ydGVkIl0gPSAnIGVyIGlra2kgc3VwcG9ydGVyYfAuJzsNDQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICdLdW5kaSBpa2tpIPp0ZvhyYTogJzsNDQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnS3VuaSBpa2tpIGluc3RhbnRpZXJhIG1haWwgZnVua3Rp824uJzsNDQokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ1NNVFAgZmVpbHVyOiBLdW5kaSBpa2tpIGfz8Gtlbm5hLic7DQ0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ2Z5bGdqYW5kaSBGcuEvRnJvbSBhZHJlc3NhIG1pc2V5ZG5h8GlzdDogJzsNDQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnU01UUCBGZWlsdXI6IEZ5bGdqYW5kaSAnIC4NDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbfN0dGFrYXJhciBtaXNleWRuYfB1c3Q6ICc7DQ0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgZmVpbHVyOiBEYXRhIGlra2kgZ/Pwa2VudC4nOw0NCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCBmZWlsdXI6IEt1bmRpIGlra2kga279dGEgc2FtYmFuZCB2afAgU01UUCB2ZXJ0Lic7DQ0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ0t1bmRpIGlra2kgdGlsZ2FuZ2EgZu1sdTogJzsNDQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0btbHUgZmVpbHVyOiBLdW5kaSBpa2tpIG9wbmEgZu1sdTogJzsNDQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAn02tlbmQgZW5jb2Rpbmc6ICc7DQ0KPz4NDQo=]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-fr.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEZyZW5jaCBWZXJzaW9uDQogKiBicnVub0Bpb2RhLW5ldC5jaCAwOS4wOC4yMDAzDQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdWb3VzIGRldmV6IGZvdXJuaXIgYXUgbW9pbnMgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VuZSBhZHJlc3NlIGRlIGRlc3RpbmF0YWlyZS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJtYWlsZXJfbm90X3N1cHBvcnRlZCJdID0gJyBtYWlsZXIgbm9uIHN1cHBvcnTpLic7DQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICdOZSBwZXV0IHBhcyBsYW5jZXIgbFwnZXjpY3V0aW9uOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJpbnN0YW50aWF0ZSJdID0gJ0ltcG9zc2libGUgZFwnaW5zdGFuY2llciBsYSBmb25jdGlvbiBtYWlsLic7DQokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ1NNVFAgRXJyZXVyOiBFY2hlYyBkZSBsXCdhdXRoZW50aWZpY2F0aW9uLic7DQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnTFwnYWRyZXNzZSBGcm9tIHN1aXZhbnRlIGEg6WNob3XpIDogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIEVycmV1cjogTGVzIGRlc3RpbmF0YWlyZXMgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VpdmFudHMgc29udCBlbiBlcnJldXIgOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgRXJyZXVyOiBEYXRhIG5vbiBhY2NlcHTpZS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQIEVycmV1cjogSW1wb3NzaWJsZSBkZSBjb25uZWN0ZXIgbGUgc2VydmV1ciBTTVRQIC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ05cJ2Fycml2ZSBwYXMg4CBhY2PpZGVyIGF1IGZpY2hpZXI6ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0VycmV1ciBGaWNoaWVyOiBvdXZlcnR1cmUgaW1wb3NzaWJsZTogJzsNCiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICdFbmNvZGFnZSBpbmNvbm51OiAnOw0KPz4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-hu.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIEh1bmdhcmlhbiBWZXJzaW9uDQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdNZWcga2VsbCBhZG5vZCBsZWdhbOFiYiBlZ3kgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2PtbXpldHQgZW1haWwgY+1tZXQuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbGV2ZWxlevUgbmVtIHThbW9nYXRvdHQuJzsNCiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ05lbSB0dWR0YW0gdulncmVoYWp0YW5pOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJpbnN0YW50aWF0ZSJdID0gJ05lbSBzaWtlcvxsdCBw6Wxk4W55b3PtdGFuaSBhIG1haWwgZnVua2Np83QuJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBIaWJhOiBTaWtlcnRlbGVuIGF1dGVudGlr4WNp8y4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ0F6IGFs4WJiaSBGZWxhZPMgY+1tIGhpYuFzOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ1NNVFAgSGliYTogQXogYWzhYmJpICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2PtbXpldHRlayBoaWLhc2FrOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgSGliYTogTmVtIGVsZm9nYWRoYXTzIGFkYXQuJzsNCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCBIaWJhOiBOZW0gdHVkdGFtIGNzYXRsYWtvem5pIGF6IFNNVFAgaG9zdC1ob3ouJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9hY2Nlc3MiXSA9ICdOZW0gc2lrZXL8bHQgZWzpcm5pIGEga/Z2ZXRrZXr1IGbhamx0OiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICdG4WpsIEhpYmE6IE5lbSBzaWtlcvxsdCBtZWdueWl0bmkgYSBr9nZldGtlevUgZuFqbHQ6ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnSXNtZXJldGxlbiBr82RvbOFzOiAnOw0KPz4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-it.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KKiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZS4NCiogSXRhbGlhbiB2ZXJzaW9uDQoqIEBwYWNrYWdlIFBIUE1haWxlcg0KKiBAYXV0aG9yIElsaWFzIEJhcnRvbGluaSA8YnJhaW43OUBpbndpbmQuaXQ+DQoqLw0KDQokUEhQTUFJTEVSX0xBTkcgPSBhcnJheSgpOw0KDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ0RldmUgZXNzZXJlIGZvcm5pdG8gYWxtZW5vIHVuJy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGluZGlyaXp6byByaWNldmVudGUnOw0KJFBIUE1BSUxFUl9MQU5HWyJtYWlsZXJfbm90X3N1cHBvcnRlZCJdID0gJ01haWxlciBub24gc3VwcG9ydGF0byc7DQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICJJbXBvc3NpYmlsZSBlc2VndWlyZSBsJ29wZXJhemlvbmU6ICI7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnSW1wb3NzaWJpbGUgaXN0YW56aWFyZSBsYSBmdW56aW9uZSBtYWlsJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBFcnJvcjogSW1wb3NzaWJpbGUgYXV0ZW50aWNhcnNpLic7DQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnSSBzZWd1ZW50aSBpbmRpcml6emkgbWl0dGVudGkgaGFubm8nLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBnZW5lcmF0byBlcnJvcmU6ICc7DQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnU01UUCBFcnJvcjogSSBzZWd1ZW50aSBpbmRpcml6emknLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc3RpbmF0YXJpIGhhbm5vIGdlbmVyYXRvIGVycm9yZTogJzsNCiRQSFBNQUlMRVJfTEFOR1siZGF0YV9ub3RfYWNjZXB0ZWQiXSA9ICdTTVRQIEVycm9yOiBEYXRhIG5vbiBhY2NldHRhdGkgZGFsJy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXJ2ZXIuJzsNCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCBFcnJvcjogSW1wb3NzaWJpbGUgY29ubmV0dGVyc2knLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYWxsXCdob3N0IFNNVFAuJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9hY2Nlc3MiXSA9ICdJbXBvc3NpYmlsZSBhY2NlZGVyZSBhbCBmaWxlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICdGaWxlIEVycm9yOiBJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZTogJzsNCiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICdFbmNvZGluZyBzZXQgZGVpIGNhcmF0dGVyaSBzY29ub3NjaXV0bzogJzsNCj8+DQo=]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-ja.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHAKLyoqCiAqIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlLiAgCiAqIEphcGFuZXNlIFZlcnNpb24KICogQnkgTWl0c3VoaXJvIFlvc2hpZGEgLSBodHRwOi8vbWl0c3Rlay5jb20vCiAqIFRoaXMgZmlsZSBpcyB3cml0dGVuIGluIEVVQy1KUC4KICovCgokUEhQTUFJTEVSX0xBTkcgPSBhcnJheSgpOwoKJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICe+r6TKpK+kyKTiMaTEpeGhvKXrpaKlyaXspbmk8icgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ7vYxOqkuaTryazN16SspKKk6qTepLmhoyc7CiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgpeGhvKXpobykrKW1pd2hvKXIpLWk7KTGpKSk3qS7pPOhoyc7CiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ7zCudSkx6StpN6ku6TzpMekt6S/OiAnOwokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnpeGhvKXrtNi/9KSswLW+76TLxrC67qS3pN6ku6TzpMekt6S/oaMnOwokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ1NNVFClqKXpobw6IMenvtqkx6StpN6ku6TzpMekt6S/oaMnOwokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnvKGkzkZyb22loqXJpeyluaTLtNaw46SkpKykoqTqpN6kuTogJzsKJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ1NNVFClqKXpobw6ILyhpM689b+uvNSloqXJpeyluaTLICcgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAntNaw46SkpKykoqTqpN6kuTogJzsKJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFClqKXpobw6IKXHobylv6SsvPWkscnVpLGk6aTspN6ku6TzpMekt6S/oaMnOwokUEhQTUFJTEVSX0xBTkdbImNvbm5lY3RfaG9zdCJdID0gJ1NNVFClqKXpobw6IFNNVFCl26W5pciky8DcwrOkx6StpN6ku6TzpMekt6S/oaMnOwokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnpdWloaWkpeuky6Wipa+lu6W5pMekraTepLuk8zogJzsKJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICel1aWhpaSl66WopemhvDogpdWloaWkpeuk8rOrpLGk3qS7pPM6ICc7CiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICfJ1MzApMqlqKXzpbOhvKXHpaOl86WwOiAnOwo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-nl.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIER1dGNoIFZlcnNpb24NCiAqLw0KDQokUEhQTUFJTEVSX0xBTkcgPSBhcnJheSgpOw0KDQokUEhQTUFJTEVSX0xBTkdbInByb3ZpZGVfYWRkcmVzcyJdID0gJ0VyIG1vZXQgdGVubWlzdGUgJmVhY3V0ZTsmZWFjdXRlO24gJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29udHZhbmdlciBlbWFpbGFkcmVzIG9wZ2VnZXZlbiB3b3JkZW4uJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQuJzsNCiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ0tvbiBuaWV0IHVpdHZvZXJlbjogJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdLb24gbWFpbCBmdW5jdGllIG5pZXQgaW5pdGlhbGlzZXJlbi4nOw0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdTTVRQIEZvdXQ6IGF1dGhlbnRpY2F0aWUgbWlzbHVrdC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ0RlIHZvbGdlbmRlIGFmemVuZGVyIGFkcmVzc2VuIHppam4gbWlzbHVrdDogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIEZvdXQ6IERlIHZvbGdlbmRlICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29udHZhbmdlcnMgemlqbiBtaXNsdWt0OiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgRm91dDogRGF0YSBuaWV0IGdlYWNjZXB0ZWVyZC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQIEZvdXQ6IEtvbiBuaWV0IHZlcmJpbmRlbiBtZXQgU01UUCBob3N0Lic7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnS3JlZWcgZ2VlbiB0b2VnYW5nIHRvdCBiZXN0YW5kOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICdCZXN0YW5kc2ZvdXQ6IEtvbiBiZXN0YW5kIG5pZXQgb3BlbmVuOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJlbmNvZGluZyJdID0gJ09uYmVrZW5kZSBjb2RlcmluZzogJzsNCj8+]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-no.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuDQogKiBOb3J3ZWdpYW4gVmVyc2lvbg0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQoNCiRQSFBNQUlMRVJfTEFOR1sicHJvdmlkZV9hZGRyZXNzIl0gPSAnRHUgbeUgaGEgbWVkIG1pbnN0IGVuJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vdHRhZ2VyIGFkcmVzc2UuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIGVyIGlra2Ugc3VwcG9ydGVydC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnS3VubmUgaWtrZSB1dGb4cmU6ICc7DQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnS3VubmUgaWtrZSBpbnN0YW50aWF0ZSBtYWlsIGZ1bmtzam9uZW4uJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBGZWlsOiBLdW5uZSBpa2tlIGF1dGhlbnRpc2VyZS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ0b4bGdlbmRlIEZyYSBmZWlsZXQ6ICc7DQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnU01UUCBGZWlsOiBG+GxnZW5kZScgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vdHRhZ2VyZSBmZWlsZXQ6ICc7DQokUEhQTUFJTEVSX0xBTkdbImRhdGFfbm90X2FjY2VwdGVkIl0gPSAnU01UUCBGZWlsOiBEYXRhIGJsZSBpa2tlIGFrc2VwdGVydC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQIEZlaWw6IEt1bm5lIGlra2Uga29ibGUgdGlsIFNNVFAgaG9zdC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ0t1bm5lIGlra2UgZuUgdGlsZ2FuZyB0aWwgZmlsZW46ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0ZpbCBmZWlsOiBLdW5uZSBpa2tlIOVwbmUgZmlsZW46ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnVWtqZW50IGVuY29kaW5nOiAnOw0KPz4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-pl.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIFBvbGlzaCBWZXJzaW9uLCBlbmNvZGluZzogd2luZG93cy0xMjUwDQogKiB0cmFuc2xhdGVkIGZyb20gZW5nbGlzaCBsYW5nIGZpbGUgdmVyLiAxLjcyDQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdOYWxlv3kgcG9kYeYgcHJhd2lks293eSBhZHJlcyBlbWFpbCBPZGJpb3JjeS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJtYWlsZXJfbm90X3N1cHBvcnRlZCJdID0gJ1d5YnJhbmEgbWV0b2RhIHd5c3mza2kgd2lhZG9tb5xjaSBuaWUgamVzdCBvYnOzdWdpd2FuYS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnTmllIG1vv25hIHVydWNob21p5jogJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdOaWUgbW+/bmEgd3l3b7Nh5iBmdW5rY2ppIG1haWwoKS4gU3ByYXdknyBrb25maWd1cmFjauogc2Vyd2VyYS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJhdXRoZW50aWNhdGUiXSA9ICdCs7lkIFNNVFA6IE5pZSBtb79uYSBwcnplcHJvd2FkemnmIGF1dGVudHlrYWNqaS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmcm9tX2ZhaWxlZCJdID0gJ05hc3TqcHVquWN5IGFkcmVzIE5hZGF3Y3kgamVzdCBqZXN0IG5pZXByYXdpZLNvd3k6ICc7DQokUEhQTUFJTEVSX0xBTkdbInJlY2lwaWVudHNfZmFpbGVkIl0gPSAnQrO5ZCBTTVRQOiBOYXN06nB1arljeSAnIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvZGJpb3JjeSBzuSBuaWVwcmF3aWSzb3dpOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ0KzuWQgU01UUDogRGFuZSBuaWUgem9zdGGzeSBwcnp5aup0ZS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdCs7lkIFNNVFA6IE5pZSBtb79uYSBwb7O5Y3p55iBzaeogeiB3eWJyYW55bSBob3N0ZW0uJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9hY2Nlc3MiXSA9ICdCcmFrIGRvc3TqcHUgZG8gcGxpa3U6ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ05pZSBtb79uYSBvdHdvcnp55iBwbGlrdTogJzsNCiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICdOaWV6bmFueSBzcG9z82Iga29kb3dhbmlhIHpuYWvzdzogJzsNCg0KPz4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-ro.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIFJvbWFuaWFuIFZlcnNpb24NCiAqIEBwYWNrYWdlIFBIUE1haWxlcg0KICogQGF1dGhvciBDYXRhbGluIENvbnN0YW50aW4gPGNhdGFsaW5AZGF6b290LnJvPg0KICovDQoNCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQoNCiRQSFBNQUlMRVJfTEFOR1sicHJvdmlkZV9hZGRyZXNzIl0gPSAnVHJlYnVpZSBzYSBhZGF1Z2F0aSBjZWwgcHV0aW4gdW4gcmVjaXBpZW50IChhZHJlc2EgZGUgbWFpbCkuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGVyIG51IGVzdGUgc3Vwb3J0YXQuJzsNCiRQSFBNQUlMRVJfTEFOR1siZXhlY3V0ZSJdID0gJ051IHBvdCBleGVjdXRhOiAgJzsNCiRQSFBNQUlMRVJfTEFOR1siaW5zdGFudGlhdGUiXSA9ICdOdSBhbSBwdXR1dCBpbnN0YW50aWEgZnVuY3RpYSBtYWlsLic7DQokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ0Vyb2FyZSBTTVRQOiBOdSBhIGZ1bmN0aW9uYXQgYXV0ZW50aWZpY2FyZWEuJzsNCiRQSFBNQUlMRVJfTEFOR1siZnJvbV9mYWlsZWQiXSA9ICdVcm1hdG9hcmVsZSBhZHJlc2UgRnJvbSBhdSBkYXQgZXJvYXJlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ0Vyb2FyZSBTTVRQOiBVcm1hdG9hcmVsZSBhZHJlc2UgZGUgbWFpbCBhdSBkYXQgZXJvYXJlOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ0Vyb2FyZSBTTVRQOiBDb250aW51dHVsIG1haWx1bHVpIG51IGEgZm9zdCBhY2NlcHRhdC4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdFcm9hcmUgU01UUDogTnUgbS1hbSBwdXR1dCBjb25lY3RhIGxhIGFkcmVzYSBTTVRQLic7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfYWNjZXNzIl0gPSAnTnUgcG90IGFjY2VzYSBmaXNpZXJ1bDogJzsNCiRQSFBNQUlMRVJfTEFOR1siZmlsZV9vcGVuIl0gPSAnRXJvYXJlIGRlIGZpc2llcjogTnUgcG90IGRlc2NoaWRlIGZpc2llcnVsOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJlbmNvZGluZyJdID0gJ0VuY29kYXJlIG5lY3Vub3NjdXRhOiAnOw0KPz4NCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-ru.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANDQovKioNDQogKiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZS4gIA0NCiAqIFJ1c3NpYW4gVmVyc2lvbg0NCiAqLw0NCg0NCiRQSFBNQUlMRVJfTEFORyA9IGFycmF5KCk7DQ0KDQ0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICfP7ubg6/Pp8fLgIOLi5eTo8uUg7Ojt6Ozz7CDu5OjtIEVtYWlsJyAuDQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICfv7uvz9+Dy5ev/Lic7DQ0KJFBIUE1BSUxFUl9MQU5HWyJtYWlsZXJfbm90X3N1cHBvcnRlZCJdID0gJyBtYWlsZXIg7eUg7+7k5OXw5uji4OXy8f8uJzsNDQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICfN5eLu5+zu5u3uIOL77+7r7ejy/CD98vMg6u7s4O3k8zogJzsNDQokUEhQTUFJTEVSX0xBTkdbImluc3RhbnRpYXRlIl0gPSAnz/Du6Ofu+OvgIO746OHq4CDv8Ogg6O3o9ujg6+jn4Pbo6CBNYWlsIPTz7er26OguJzsNDQokUEhQTUFJTEVSX0xBTkdbImF1dGhlbnRpY2F0ZSJdID0gJ1NNVFAg7vjo4ergOiDu+Ojh6uAg4OLy7vDo5+D26OguJzsNDQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnzeXi5fDt++kg4OTw5fEg7vLv8ODi6PLl6/86ICc7DQ0KJFBIUE1BSUxFUl9MQU5HWyJyZWNpcGllbnRzX2ZhaWxlZCJdID0gJ1NNVFAg7vjo4ergOiDR6+Xk8/756OUgJyAuDQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ+Dk8OXx4CDv7uvz9+Dy5evl6SDt5eLl8O37OiAnOw0NCiRQSFBNQUlMRVJfTEFOR1siZGF0YV9ub3RfYWNjZXB0ZWQiXSA9ICdTTVRQIO746OHq4DogxODt7fvlIO3lIOH76+gg7/Do7f/y+y4nOw0NCiRQSFBNQUlMRVJfTEFOR1siY29ubmVjdF9ob3N0Il0gPSAnU01UUCDu+Ojh6uA6IFNNVFAtSG9zdCDt5eTu8fLz7+XtLic7DQ0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ8Ig5O7x8vPv5SDqIPHr5eTz/vnl7PMg9ODp6/Mg4fvr7iDu8urg5+Dt7jogJzsNDQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ83lIOzu4/Mg7vLq8Pvy/CD04OnrOiAnOw0NCiRQSFBNQUlMRVJfTEFOR1siZW5jb2RpbmciXSA9ICfN5ejn4uXx8u376SD07vDs4PIg6u7k6PDu4uroOiAnOw0NCj8+DQ0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-se.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGUuICANCiAqIFN3ZWRpc2ggVmVyc2lvbg0KICogQXV0aG9yOiBKb2hhbiBMaW5u6XIgPGpvaGFuQGxpbm5lci5iaXo+DQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdEdSBt5XN0ZSBhbmdlIG1pbnN0IGVuICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb3R0YWdhcmVzIGUtcG9zdGFkcmVzcy4nOw0KJFBIUE1BSUxFUl9MQU5HWyJtYWlsZXJfbm90X3N1cHBvcnRlZCJdID0gJyBtYWlsZXIgc3T2ZHMgaW50ZS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJleGVjdXRlIl0gPSAnS3VuZGUgaW50ZSBr9nJhOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJpbnN0YW50aWF0ZSJdID0gJ0t1bmRlIGludGUgaW5pdGllcmEgZS1wb3N0ZnVua3Rpb24uJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBmZWw6IEt1bmRlIGludGUgYXV0ZW50aXNlcmEuJzsNCiRQSFBNQUlMRVJfTEFOR1siZnJvbV9mYWlsZWQiXSA9ICdG9mxqYW5kZSBhdnPkbmRhcmFkcmVzcyDkciBmZWxha3RpZzogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIGZlbDogRvZsamFuZGUgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW90dGFnYXJlIORyIGZlbGFrdGlnOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJkYXRhX25vdF9hY2NlcHRlZCJdID0gJ1NNVFAgZmVsOiBEYXRhIGFjY2VwdGVyYWRlcyBpbnRlLic7DQokUEhQTUFJTEVSX0xBTkdbImNvbm5lY3RfaG9zdCJdID0gJ1NNVFAgZmVsOiBLdW5kZSBpbnRlIGFuc2x1dGEgdGlsbCBTTVRQLXNlcnZlci4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ0luZ2VuIOV0a29tc3QgdGlsbCBmaWw6ICc7DQokUEhQTUFJTEVSX0xBTkdbImZpbGVfb3BlbiJdID0gJ0ZpbCBmZWw6IEt1bmRlIGludGUg9nBwbmEgZmlsOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJlbmNvZGluZyJdID0gJ09r5G50IGVuY29kZS1mb3JtYXQ6ICc7DQo/Pg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/language/phpmailer.lang-tr.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKg0KICogUEhQTWFpbGVyIGRpbCBkb3N5YXP9Lg0KICogVPxya+dlIFZlcnNpeW9udQ0KICog3VpZQVpJTElNIC0gRWznaW4g1nplbCAtIENhbiBZ/WxtYXogLSBNZWhtZXQgQmVubGlv8Gx1DQogKi8NCg0KJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoKTsNCg0KJFBIUE1BSUxFUl9MQU5HWyJwcm92aWRlX2FkZHJlc3MiXSA9ICdFbiBheiBiaXIgdGFuZSBtYWlsIGFkcmVzaSBiZWxpcnRtZWsgem9ydW5kYXP9bv16ICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbP1j/W79biBlbWFpbCBhZHJlc2kuJzsNCiRQSFBNQUlMRVJfTEFOR1sibWFpbGVyX25vdF9zdXBwb3J0ZWQiXSA9ICcgbWFpbGxlciBkZXN0ZWtsZW5tZW1la3RlZGlyLic7DQokUEhQTUFJTEVSX0xBTkdbImV4ZWN1dGUiXSA9ICfHYWz9/nT9cv1sYW39eW9yOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJpbnN0YW50aWF0ZSJdID0gJ9ZybmVrIG1haWwgZm9ua3NpeW9udSB5YXJhdP1sYW1hZP0uJzsNCiRQSFBNQUlMRVJfTEFOR1siYXV0aGVudGljYXRlIl0gPSAnU01UUCBIYXRhc/06IERv8HJ1bGFuYW39eW9yLic7DQokUEhQTUFJTEVSX0xBTkdbImZyb21fZmFpbGVkIl0gPSAnQmH+YXL9c/16IG9sYW4gZ/ZuZGVyaWNpIGFkcmVzaTogJzsNCiRQSFBNQUlMRVJfTEFOR1sicmVjaXBpZW50c19mYWlsZWQiXSA9ICdTTVRQIEhhdGFz/TogICcgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fs/WP9bGFyYSB1bGH+bWFk/TogJzsNCiRQSFBNQUlMRVJfTEFOR1siZGF0YV9ub3RfYWNjZXB0ZWQiXSA9ICdTTVRQIEhhdGFz/TogVmVyaSBrYWJ1bCBlZGlsbWVkaS4nOw0KJFBIUE1BSUxFUl9MQU5HWyJjb25uZWN0X2hvc3QiXSA9ICdTTVRQIEhhdGFz/TogU01UUCBob3N0YSBiYfBsYW79bGFt/Xlvci4nOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX2FjY2VzcyJdID0gJ0Rvc3lheWEgZXJp/mlsZW1peW9yOiAnOw0KJFBIUE1BSUxFUl9MQU5HWyJmaWxlX29wZW4iXSA9ICdEb3N5YSBIYXRhc/06IERvc3lhIGHn/Wxhbf15b3I6ICc7DQokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gPSAnQmlsaW5tZXllbiD+aWZyZWxlbWU6ICc7DQoNCj8+]]></data>
  </file>
  <file>
    <filename>/phpmailer/LICENSE</filename>
    <isdir>0</isdir>
    <data><![CDATA[CQkgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQ0KCQkgICAgICAgVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkNCg0KIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiAgICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQ0KIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcw0KIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQpbVGhpcyBpcyB0aGUgZmlyc3QgcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgTGVzc2VyIEdQTC4gIEl0IGFsc28gY291bnRzDQogYXMgdGhlIHN1Y2Nlc3NvciBvZiB0aGUgR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwgaGVuY2UNCiB0aGUgdmVyc2lvbiBudW1iZXIgMi4xLl0NCg0KCQkJICAgIFByZWFtYmxlDQoNCiAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cg0KZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMNCkxpY2Vuc2VzIGFyZSBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UNCmZyZWUgc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4NCg0KICBUaGlzIGxpY2Vuc2UsIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBzb21lDQpzcGVjaWFsbHkgZGVzaWduYXRlZCBzb2Z0d2FyZSBwYWNrYWdlcy0tdHlwaWNhbGx5IGxpYnJhcmllcy0tb2YgdGhlDQpGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIG90aGVyIGF1dGhvcnMgd2hvIGRlY2lkZSB0byB1c2UgaXQuICBZb3UNCmNhbiB1c2UgaXQgdG9vLCBidXQgd2Ugc3VnZ2VzdCB5b3UgZmlyc3QgdGhpbmsgY2FyZWZ1bGx5IGFib3V0IHdoZXRoZXINCnRoaXMgbGljZW5zZSBvciB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyB0aGUgYmV0dGVyDQpzdHJhdGVneSB0byB1c2UgaW4gYW55IHBhcnRpY3VsYXIgY2FzZSwgYmFzZWQgb24gdGhlIGV4cGxhbmF0aW9ucyBiZWxvdy4NCg0KICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSBvZiB1c2UsDQpub3QgcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0DQp5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlDQpmb3IgdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKTsgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0DQppdCBpZiB5b3Ugd2FudCBpdDsgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgYW5kIHVzZSBwaWVjZXMgb2YNCml0IGluIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3UgYXJlIGluZm9ybWVkIHRoYXQgeW91IGNhbiBkbw0KdGhlc2UgdGhpbmdzLg0KDQogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQNCmRpc3RyaWJ1dG9ycyB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlc2UNCnJpZ2h0cy4gIFRoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvcg0KeW91IGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSBvciBpZiB5b3UgbW9kaWZ5IGl0Lg0KDQogIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnksIHdoZXRoZXIgZ3JhdGlzDQpvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB3ZSBnYXZlDQp5b3UuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUgc291cmNlDQpjb2RlLiAgSWYgeW91IGxpbmsgb3RoZXIgY29kZSB3aXRoIHRoZSBsaWJyYXJ5LCB5b3UgbXVzdCBwcm92aWRlDQpjb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8gdGhlIHJlY2lwaWVudHMsIHNvIHRoYXQgdGhleSBjYW4gcmVsaW5rIHRoZW0NCndpdGggdGhlIGxpYnJhcnkgYWZ0ZXIgbWFraW5nIGNoYW5nZXMgdG8gdGhlIGxpYnJhcnkgYW5kIHJlY29tcGlsaW5nDQppdC4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyIHJpZ2h0cy4NCg0KICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggYSB0d28tc3RlcCBtZXRob2Q6ICgxKSB3ZSBjb3B5cmlnaHQgdGhlDQpsaWJyYXJ5LCBhbmQgKDIpIHdlIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2UsIHdoaWNoIGdpdmVzIHlvdSBsZWdhbA0KcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuDQoNCiAgVG8gcHJvdGVjdCBlYWNoIGRpc3RyaWJ1dG9yLCB3ZSB3YW50IHRvIG1ha2UgaXQgdmVyeSBjbGVhciB0aGF0DQp0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIGZyZWUgbGlicmFyeS4gIEFsc28sIGlmIHRoZSBsaWJyYXJ5IGlzDQptb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgdGhlIHJlY2lwaWVudHMgc2hvdWxkIGtub3cNCnRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCB2ZXJzaW9uLCBzbyB0aGF0IHRoZSBvcmlnaW5hbA0KYXV0aG9yJ3MgcmVwdXRhdGlvbiB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlDQppbnRyb2R1Y2VkIGJ5IG90aGVycy4NCg0KICBGaW5hbGx5LCBzb2Z0d2FyZSBwYXRlbnRzIHBvc2UgYSBjb25zdGFudCB0aHJlYXQgdG8gdGhlIGV4aXN0ZW5jZSBvZg0KYW55IGZyZWUgcHJvZ3JhbS4gIFdlIHdpc2ggdG8gbWFrZSBzdXJlIHRoYXQgYSBjb21wYW55IGNhbm5vdA0KZWZmZWN0aXZlbHkgcmVzdHJpY3QgdGhlIHVzZXJzIG9mIGEgZnJlZSBwcm9ncmFtIGJ5IG9idGFpbmluZyBhDQpyZXN0cmljdGl2ZSBsaWNlbnNlIGZyb20gYSBwYXRlbnQgaG9sZGVyLiAgVGhlcmVmb3JlLCB3ZSBpbnNpc3QgdGhhdA0KYW55IHBhdGVudCBsaWNlbnNlIG9idGFpbmVkIGZvciBhIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkgbXVzdCBiZQ0KY29uc2lzdGVudCB3aXRoIHRoZSBmdWxsIGZyZWVkb20gb2YgdXNlIHNwZWNpZmllZCBpbiB0aGlzIGxpY2Vuc2UuDQoNCiAgTW9zdCBHTlUgc29mdHdhcmUsIGluY2x1ZGluZyBzb21lIGxpYnJhcmllcywgaXMgY292ZXJlZCBieSB0aGUNCm9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhpcyBsaWNlbnNlLCB0aGUgR05VIExlc3Nlcg0KR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBjZXJ0YWluIGRlc2lnbmF0ZWQgbGlicmFyaWVzLCBhbmQNCmlzIHF1aXRlIGRpZmZlcmVudCBmcm9tIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgV2UgdXNlDQp0aGlzIGxpY2Vuc2UgZm9yIGNlcnRhaW4gbGlicmFyaWVzIGluIG9yZGVyIHRvIHBlcm1pdCBsaW5raW5nIHRob3NlDQpsaWJyYXJpZXMgaW50byBub24tZnJlZSBwcm9ncmFtcy4NCg0KICBXaGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCBhIGxpYnJhcnksIHdoZXRoZXIgc3RhdGljYWxseSBvciB1c2luZw0KYSBzaGFyZWQgbGlicmFyeSwgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0d28gaXMgbGVnYWxseSBzcGVha2luZyBhDQpjb21iaW5lZCB3b3JrLCBhIGRlcml2YXRpdmUgb2YgdGhlIG9yaWdpbmFsIGxpYnJhcnkuICBUaGUgb3JkaW5hcnkNCkdlbmVyYWwgUHVibGljIExpY2Vuc2UgdGhlcmVmb3JlIHBlcm1pdHMgc3VjaCBsaW5raW5nIG9ubHkgaWYgdGhlDQplbnRpcmUgY29tYmluYXRpb24gZml0cyBpdHMgY3JpdGVyaWEgb2YgZnJlZWRvbS4gIFRoZSBMZXNzZXIgR2VuZXJhbA0KUHVibGljIExpY2Vuc2UgcGVybWl0cyBtb3JlIGxheCBjcml0ZXJpYSBmb3IgbGlua2luZyBvdGhlciBjb2RlIHdpdGgNCnRoZSBsaWJyYXJ5Lg0KDQogIFdlIGNhbGwgdGhpcyBsaWNlbnNlIHRoZSAiTGVzc2VyIiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGJlY2F1c2UgaXQNCmRvZXMgTGVzcyB0byBwcm90ZWN0IHRoZSB1c2VyJ3MgZnJlZWRvbSB0aGFuIHRoZSBvcmRpbmFyeSBHZW5lcmFsDQpQdWJsaWMgTGljZW5zZS4gIEl0IGFsc28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIExlc3MNCm9mIGFuIGFkdmFudGFnZSBvdmVyIGNvbXBldGluZyBub24tZnJlZSBwcm9ncmFtcy4gIFRoZXNlIGRpc2FkdmFudGFnZXMNCmFyZSB0aGUgcmVhc29uIHdlIHVzZSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbWFueQ0KbGlicmFyaWVzLiAgSG93ZXZlciwgdGhlIExlc3NlciBsaWNlbnNlIHByb3ZpZGVzIGFkdmFudGFnZXMgaW4gY2VydGFpbg0Kc3BlY2lhbCBjaXJjdW1zdGFuY2VzLg0KDQogIEZvciBleGFtcGxlLCBvbiByYXJlIG9jY2FzaW9ucywgdGhlcmUgbWF5IGJlIGEgc3BlY2lhbCBuZWVkIHRvDQplbmNvdXJhZ2UgdGhlIHdpZGVzdCBwb3NzaWJsZSB1c2Ugb2YgYSBjZXJ0YWluIGxpYnJhcnksIHNvIHRoYXQgaXQgYmVjb21lcw0KYSBkZS1mYWN0byBzdGFuZGFyZC4gIFRvIGFjaGlldmUgdGhpcywgbm9uLWZyZWUgcHJvZ3JhbXMgbXVzdCBiZQ0KYWxsb3dlZCB0byB1c2UgdGhlIGxpYnJhcnkuICBBIG1vcmUgZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEgZnJlZQ0KbGlicmFyeSBkb2VzIHRoZSBzYW1lIGpvYiBhcyB3aWRlbHkgdXNlZCBub24tZnJlZSBsaWJyYXJpZXMuICBJbiB0aGlzDQpjYXNlLCB0aGVyZSBpcyBsaXR0bGUgdG8gZ2FpbiBieSBsaW1pdGluZyB0aGUgZnJlZSBsaWJyYXJ5IHRvIGZyZWUNCnNvZnR3YXJlIG9ubHksIHNvIHdlIHVzZSB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuDQoNCiAgSW4gb3RoZXIgY2FzZXMsIHBlcm1pc3Npb24gdG8gdXNlIGEgcGFydGljdWxhciBsaWJyYXJ5IGluIG5vbi1mcmVlDQpwcm9ncmFtcyBlbmFibGVzIGEgZ3JlYXRlciBudW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxhcmdlIGJvZHkgb2YNCmZyZWUgc29mdHdhcmUuICBGb3IgZXhhbXBsZSwgcGVybWlzc2lvbiB0byB1c2UgdGhlIEdOVSBDIExpYnJhcnkgaW4NCm5vbi1mcmVlIHByb2dyYW1zIGVuYWJsZXMgbWFueSBtb3JlIHBlb3BsZSB0byB1c2UgdGhlIHdob2xlIEdOVQ0Kb3BlcmF0aW5nIHN5c3RlbSwgYXMgd2VsbCBhcyBpdHMgdmFyaWFudCwgdGhlIEdOVS9MaW51eCBvcGVyYXRpbmcNCnN5c3RlbS4NCg0KICBBbHRob3VnaCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBwcm90ZWN0aXZlIG9mIHRoZQ0KdXNlcnMnIGZyZWVkb20sIGl0IGRvZXMgZW5zdXJlIHRoYXQgdGhlIHVzZXIgb2YgYSBwcm9ncmFtIHRoYXQgaXMNCmxpbmtlZCB3aXRoIHRoZSBMaWJyYXJ5IGhhcyB0aGUgZnJlZWRvbSBhbmQgdGhlIHdoZXJld2l0aGFsIHRvIHJ1bg0KdGhhdCBwcm9ncmFtIHVzaW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTGlicmFyeS4NCg0KICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZA0KbW9kaWZpY2F0aW9uIGZvbGxvdy4gIFBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhDQoid29yayBiYXNlZCBvbiB0aGUgbGlicmFyeSIgYW5kIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBsaWJyYXJ5Ii4gIFRoZQ0KZm9ybWVyIGNvbnRhaW5zIGNvZGUgZGVyaXZlZCBmcm9tIHRoZSBsaWJyYXJ5LCB3aGVyZWFzIHRoZSBsYXR0ZXIgbXVzdA0KYmUgY29tYmluZWQgd2l0aCB0aGUgbGlicmFyeSBpbiBvcmRlciB0byBydW4uDQoNCgkJICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UNCiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTg0KDQogIDAuIFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgYXBwbGllcyB0byBhbnkgc29mdHdhcmUgbGlicmFyeSBvciBvdGhlcg0KcHJvZ3JhbSB3aGljaCBjb250YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgb3INCm90aGVyIGF1dGhvcml6ZWQgcGFydHkgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YNCnRoaXMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKGFsc28gY2FsbGVkICJ0aGlzIExpY2Vuc2UiKS4NCkVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLg0KDQogIEEgImxpYnJhcnkiIG1lYW5zIGEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBmdW5jdGlvbnMgYW5kL29yIGRhdGENCnByZXBhcmVkIHNvIGFzIHRvIGJlIGNvbnZlbmllbnRseSBsaW5rZWQgd2l0aCBhcHBsaWNhdGlvbiBwcm9ncmFtcw0KKHdoaWNoIHVzZSBzb21lIG9mIHRob3NlIGZ1bmN0aW9ucyBhbmQgZGF0YSkgdG8gZm9ybSBleGVjdXRhYmxlcy4NCg0KICBUaGUgIkxpYnJhcnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yaw0Kd2hpY2ggaGFzIGJlZW4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlc2UgdGVybXMuICBBICJ3b3JrIGJhc2VkIG9uIHRoZQ0KTGlicmFyeSIgbWVhbnMgZWl0aGVyIHRoZSBMaWJyYXJ5IG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXINCmNvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhDQpwb3J0aW9uIG9mIGl0LCBlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkDQpzdHJhaWdodGZvcndhcmRseSBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzDQppbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKQ0KDQogICJTb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yDQptYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJjZSBjb2RlIG1lYW5zDQphbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZA0KaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0byBjb250cm9sIGNvbXBpbGF0aW9uDQphbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJ5Lg0KDQogIEFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90DQpjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mDQpydW5uaW5nIGEgcHJvZ3JhbSB1c2luZyB0aGUgTGlicmFyeSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIG91dHB1dCBmcm9tDQpzdWNoIGEgcHJvZ3JhbSBpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkDQpvbiB0aGUgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wgZm9yDQp3cml0aW5nIGl0KS4gIFdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgTGlicmFyeSBkb2VzDQphbmQgd2hhdCB0aGUgcHJvZ3JhbSB0aGF0IHVzZXMgdGhlIExpYnJhcnkgZG9lcy4NCiAgDQogIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIExpYnJhcnkncw0KY29tcGxldGUgc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQNCnlvdSBjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuDQphcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdA0KYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkNCndhcnJhbnR5OyBhbmQgZGlzdHJpYnV0ZSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlDQpMaWJyYXJ5Lg0KDQogIFlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksDQphbmQgeW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhDQpmZWUuDQoNCiAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgTGlicmFyeSBvciBhbnkgcG9ydGlvbg0Kb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBjb3B5IGFuZA0KZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxDQphYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOg0KDQogICAgYSkgVGhlIG1vZGlmaWVkIHdvcmsgbXVzdCBpdHNlbGYgYmUgYSBzb2Z0d2FyZSBsaWJyYXJ5Lg0KDQogICAgYikgWW91IG11c3QgY2F1c2UgdGhlIGZpbGVzIG1vZGlmaWVkIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzDQogICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4NCg0KICAgIGMpIFlvdSBtdXN0IGNhdXNlIHRoZSB3aG9sZSBvZiB0aGUgd29yayB0byBiZSBsaWNlbnNlZCBhdCBubw0KICAgIGNoYXJnZSB0byBhbGwgdGhpcmQgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLg0KDQogICAgZCkgSWYgYSBmYWNpbGl0eSBpbiB0aGUgbW9kaWZpZWQgTGlicmFyeSByZWZlcnMgdG8gYSBmdW5jdGlvbiBvciBhDQogICAgdGFibGUgb2YgZGF0YSB0byBiZSBzdXBwbGllZCBieSBhbiBhcHBsaWNhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcw0KICAgIHRoZSBmYWNpbGl0eSwgb3RoZXIgdGhhbiBhcyBhbiBhcmd1bWVudCBwYXNzZWQgd2hlbiB0aGUgZmFjaWxpdHkNCiAgICBpcyBpbnZva2VkLCB0aGVuIHlvdSBtdXN0IG1ha2UgYSBnb29kIGZhaXRoIGVmZm9ydCB0byBlbnN1cmUgdGhhdCwNCiAgICBpbiB0aGUgZXZlbnQgYW4gYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IHN1Y2ggZnVuY3Rpb24gb3INCiAgICB0YWJsZSwgdGhlIGZhY2lsaXR5IHN0aWxsIG9wZXJhdGVzLCBhbmQgcGVyZm9ybXMgd2hhdGV2ZXIgcGFydCBvZg0KICAgIGl0cyBwdXJwb3NlIHJlbWFpbnMgbWVhbmluZ2Z1bC4NCg0KICAgIChGb3IgZXhhbXBsZSwgYSBmdW5jdGlvbiBpbiBhIGxpYnJhcnkgdG8gY29tcHV0ZSBzcXVhcmUgcm9vdHMgaGFzDQogICAgYSBwdXJwb3NlIHRoYXQgaXMgZW50aXJlbHkgd2VsbC1kZWZpbmVkIGluZGVwZW5kZW50IG9mIHRoZQ0KICAgIGFwcGxpY2F0aW9uLiAgVGhlcmVmb3JlLCBTdWJzZWN0aW9uIDJkIHJlcXVpcmVzIHRoYXQgYW55DQogICAgYXBwbGljYXRpb24tc3VwcGxpZWQgZnVuY3Rpb24gb3IgdGFibGUgdXNlZCBieSB0aGlzIGZ1bmN0aW9uIG11c3QNCiAgICBiZSBvcHRpb25hbDogaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSBpdCwgdGhlIHNxdWFyZQ0KICAgIHJvb3QgZnVuY3Rpb24gbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4pDQoNClRoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYNCmlkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIExpYnJhcnksDQphbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4NCnRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UNCnNlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQ0KZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkDQpvbiB0aGUgTGlicmFyeSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YNCnRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlDQplbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUNCml0Lg0KDQpUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QNCnlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bw0KZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yDQpjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBMaWJyYXJ5Lg0KDQpJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBMaWJyYXJ5DQp3aXRoIHRoZSBMaWJyYXJ5IChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSkgb24gYSB2b2x1bWUgb2YNCmEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyDQp0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLg0KDQogIDMuIFlvdSBtYXkgb3B0IHRvIGFwcGx5IHRoZSB0ZXJtcyBvZiB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljDQpMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlIHRvIGEgZ2l2ZW4gY29weSBvZiB0aGUgTGlicmFyeS4gIFRvIGRvDQp0aGlzLCB5b3UgbXVzdCBhbHRlciBhbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UsIHNvDQp0aGF0IHRoZXkgcmVmZXIgdG8gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsDQppbnN0ZWFkIG9mIHRvIHRoaXMgTGljZW5zZS4gIChJZiBhIG5ld2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlDQpvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBoYXMgYXBwZWFyZWQsIHRoZW4geW91IGNhbiBzcGVjaWZ5DQp0aGF0IHZlcnNpb24gaW5zdGVhZCBpZiB5b3Ugd2lzaC4pICBEbyBub3QgbWFrZSBhbnkgb3RoZXIgY2hhbmdlIGluDQp0aGVzZSBub3RpY2VzLg0KDQogIE9uY2UgdGhpcyBjaGFuZ2UgaXMgbWFkZSBpbiBhIGdpdmVuIGNvcHksIGl0IGlzIGlycmV2ZXJzaWJsZSBmb3INCnRoYXQgY29weSwgc28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gYWxsDQpzdWJzZXF1ZW50IGNvcGllcyBhbmQgZGVyaXZhdGl2ZSB3b3JrcyBtYWRlIGZyb20gdGhhdCBjb3B5Lg0KDQogIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIGNvcHkgcGFydCBvZiB0aGUgY29kZSBvZg0KdGhlIExpYnJhcnkgaW50byBhIHByb2dyYW0gdGhhdCBpcyBub3QgYSBsaWJyYXJ5Lg0KDQogIDQuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYSBwb3J0aW9uIG9yDQpkZXJpdmF0aXZlIG9mIGl0LCB1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybQ0KdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWNjb21wYW55DQppdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUsIHdoaWNoDQptdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGENCm1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4NCg0KICBJZiBkaXN0cmlidXRpb24gb2Ygb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQ0KZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0aGUNCnNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCB0bw0KZGlzdHJpYnV0ZSB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdA0KY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4NCg0KICA1LiBBIHByb2dyYW0gdGhhdCBjb250YWlucyBubyBkZXJpdmF0aXZlIG9mIGFueSBwb3J0aW9uIG9mIHRoZQ0KTGlicmFyeSwgYnV0IGlzIGRlc2lnbmVkIHRvIHdvcmsgd2l0aCB0aGUgTGlicmFyeSBieSBiZWluZyBjb21waWxlZCBvcg0KbGlua2VkIHdpdGggaXQsIGlzIGNhbGxlZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIuICBTdWNoIGENCndvcmssIGluIGlzb2xhdGlvbiwgaXMgbm90IGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5LCBhbmQNCnRoZXJlZm9yZSBmYWxscyBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuDQoNCiAgSG93ZXZlciwgbGlua2luZyBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeQ0KY3JlYXRlcyBhbiBleGVjdXRhYmxlIHRoYXQgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5IChiZWNhdXNlIGl0DQpjb250YWlucyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSksIHJhdGhlciB0aGFuIGEgIndvcmsgdGhhdCB1c2VzIHRoZQ0KbGlicmFyeSIuICBUaGUgZXhlY3V0YWJsZSBpcyB0aGVyZWZvcmUgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UuDQpTZWN0aW9uIDYgc3RhdGVzIHRlcm1zIGZvciBkaXN0cmlidXRpb24gb2Ygc3VjaCBleGVjdXRhYmxlcy4NCg0KICBXaGVuIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB1c2VzIG1hdGVyaWFsIGZyb20gYSBoZWFkZXIgZmlsZQ0KdGhhdCBpcyBwYXJ0IG9mIHRoZSBMaWJyYXJ5LCB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIG1heSBiZSBhDQpkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnkgZXZlbiB0aG91Z2ggdGhlIHNvdXJjZSBjb2RlIGlzIG5vdC4NCldoZXRoZXIgdGhpcyBpcyB0cnVlIGlzIGVzcGVjaWFsbHkgc2lnbmlmaWNhbnQgaWYgdGhlIHdvcmsgY2FuIGJlDQpsaW5rZWQgd2l0aG91dCB0aGUgTGlicmFyeSwgb3IgaWYgdGhlIHdvcmsgaXMgaXRzZWxmIGEgbGlicmFyeS4gIFRoZQ0KdGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMgbm90IHByZWNpc2VseSBkZWZpbmVkIGJ5IGxhdy4NCg0KICBJZiBzdWNoIGFuIG9iamVjdCBmaWxlIHVzZXMgb25seSBudW1lcmljYWwgcGFyYW1ldGVycywgZGF0YQ0Kc3RydWN0dXJlIGxheW91dHMgYW5kIGFjY2Vzc29ycywgYW5kIHNtYWxsIG1hY3JvcyBhbmQgc21hbGwgaW5saW5lDQpmdW5jdGlvbnMgKHRlbiBsaW5lcyBvciBsZXNzIGluIGxlbmd0aCksIHRoZW4gdGhlIHVzZSBvZiB0aGUgb2JqZWN0DQpmaWxlIGlzIHVucmVzdHJpY3RlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGxlZ2FsbHkgYSBkZXJpdmF0aXZlDQp3b3JrLiAgKEV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhpcyBvYmplY3QgY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZQ0KTGlicmFyeSB3aWxsIHN0aWxsIGZhbGwgdW5kZXIgU2VjdGlvbiA2LikNCg0KICBPdGhlcndpc2UsIGlmIHRoZSB3b3JrIGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSwgeW91IG1heQ0KZGlzdHJpYnV0ZSB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDYuDQpBbnkgZXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGF0IHdvcmsgYWxzbyBmYWxsIHVuZGVyIFNlY3Rpb24gNiwNCndoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGxpbmtlZCBkaXJlY3RseSB3aXRoIHRoZSBMaWJyYXJ5IGl0c2VsZi4NCg0KICA2LiBBcyBhbiBleGNlcHRpb24gdG8gdGhlIFNlY3Rpb25zIGFib3ZlLCB5b3UgbWF5IGFsc28gY29tYmluZSBvcg0KbGluayBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeSB0byBwcm9kdWNlIGENCndvcmsgY29udGFpbmluZyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSwgYW5kIGRpc3RyaWJ1dGUgdGhhdCB3b3JrDQp1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlkZWQgdGhhdCB0aGUgdGVybXMgcGVybWl0DQptb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgZm9yIHRoZSBjdXN0b21lcidzIG93biB1c2UgYW5kIHJldmVyc2UNCmVuZ2luZWVyaW5nIGZvciBkZWJ1Z2dpbmcgc3VjaCBtb2RpZmljYXRpb25zLg0KDQogIFlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgd29yayB0aGF0IHRoZQ0KTGlicmFyeSBpcyB1c2VkIGluIGl0IGFuZCB0aGF0IHRoZSBMaWJyYXJ5IGFuZCBpdHMgdXNlIGFyZSBjb3ZlcmVkIGJ5DQp0aGlzIExpY2Vuc2UuICBZb3UgbXVzdCBzdXBwbHkgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmIHRoZSB3b3JrDQpkdXJpbmcgZXhlY3V0aW9uIGRpc3BsYXlzIGNvcHlyaWdodCBub3RpY2VzLCB5b3UgbXVzdCBpbmNsdWRlIHRoZQ0KY29weXJpZ2h0IG5vdGljZSBmb3IgdGhlIExpYnJhcnkgYW1vbmcgdGhlbSwgYXMgd2VsbCBhcyBhIHJlZmVyZW5jZQ0KZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRoZSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIEFsc28sIHlvdSBtdXN0IGRvIG9uZQ0Kb2YgdGhlc2UgdGhpbmdzOg0KDQogICAgYSkgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcNCiAgICBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlIGZvciB0aGUgTGlicmFyeSBpbmNsdWRpbmcgd2hhdGV2ZXINCiAgICBjaGFuZ2VzIHdlcmUgdXNlZCBpbiB0aGUgd29yayAod2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlcg0KICAgIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUpOyBhbmQsIGlmIHRoZSB3b3JrIGlzIGFuIGV4ZWN1dGFibGUgbGlua2VkDQogICAgd2l0aCB0aGUgTGlicmFyeSwgd2l0aCB0aGUgY29tcGxldGUgbWFjaGluZS1yZWFkYWJsZSAid29yayB0aGF0DQogICAgdXNlcyB0aGUgTGlicmFyeSIsIGFzIG9iamVjdCBjb2RlIGFuZC9vciBzb3VyY2UgY29kZSwgc28gdGhhdCB0aGUNCiAgICB1c2VyIGNhbiBtb2RpZnkgdGhlIExpYnJhcnkgYW5kIHRoZW4gcmVsaW5rIHRvIHByb2R1Y2UgYSBtb2RpZmllZA0KICAgIGV4ZWN1dGFibGUgY29udGFpbmluZyB0aGUgbW9kaWZpZWQgTGlicmFyeS4gIChJdCBpcyB1bmRlcnN0b29kDQogICAgdGhhdCB0aGUgdXNlciB3aG8gY2hhbmdlcyB0aGUgY29udGVudHMgb2YgZGVmaW5pdGlvbnMgZmlsZXMgaW4gdGhlDQogICAgTGlicmFyeSB3aWxsIG5vdCBuZWNlc3NhcmlseSBiZSBhYmxlIHRvIHJlY29tcGlsZSB0aGUgYXBwbGljYXRpb24NCiAgICB0byB1c2UgdGhlIG1vZGlmaWVkIGRlZmluaXRpb25zLikNCg0KICAgIGIpIFVzZSBhIHN1aXRhYmxlIHNoYXJlZCBsaWJyYXJ5IG1lY2hhbmlzbSBmb3IgbGlua2luZyB3aXRoIHRoZQ0KICAgIExpYnJhcnkuICBBIHN1aXRhYmxlIG1lY2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhDQogICAgY29weSBvZiB0aGUgbGlicmFyeSBhbHJlYWR5IHByZXNlbnQgb24gdGhlIHVzZXIncyBjb21wdXRlciBzeXN0ZW0sDQogICAgcmF0aGVyIHRoYW4gY29weWluZyBsaWJyYXJ5IGZ1bmN0aW9ucyBpbnRvIHRoZSBleGVjdXRhYmxlLCBhbmQgKDIpDQogICAgd2lsbCBvcGVyYXRlIHByb3Blcmx5IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZg0KICAgIHRoZSB1c2VyIGluc3RhbGxzIG9uZSwgYXMgbG9uZyBhcyB0aGUgbW9kaWZpZWQgdmVyc2lvbiBpcw0KICAgIGludGVyZmFjZS1jb21wYXRpYmxlIHdpdGggdGhlIHZlcnNpb24gdGhhdCB0aGUgd29yayB3YXMgbWFkZSB3aXRoLg0KDQogICAgYykgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQNCiAgICBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZSB0aGUgc2FtZSB1c2VyIHRoZSBtYXRlcmlhbHMNCiAgICBzcGVjaWZpZWQgaW4gU3Vic2VjdGlvbiA2YSwgYWJvdmUsIGZvciBhIGNoYXJnZSBubyBtb3JlDQogICAgdGhhbiB0aGUgY29zdCBvZiBwZXJmb3JtaW5nIHRoaXMgZGlzdHJpYnV0aW9uLg0KDQogICAgZCkgSWYgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkNCiAgICBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0aGUgYWJvdmUNCiAgICBzcGVjaWZpZWQgbWF0ZXJpYWxzIGZyb20gdGhlIHNhbWUgcGxhY2UuDQoNCiAgICBlKSBWZXJpZnkgdGhhdCB0aGUgdXNlciBoYXMgYWxyZWFkeSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlc2UNCiAgICBtYXRlcmlhbHMgb3IgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHNlbnQgdGhpcyB1c2VyIGEgY29weS4NCg0KICBGb3IgYW4gZXhlY3V0YWJsZSwgdGhlIHJlcXVpcmVkIGZvcm0gb2YgdGhlICJ3b3JrIHRoYXQgdXNlcyB0aGUNCkxpYnJhcnkiIG11c3QgaW5jbHVkZSBhbnkgZGF0YSBhbmQgdXRpbGl0eSBwcm9ncmFtcyBuZWVkZWQgZm9yDQpyZXByb2R1Y2luZyB0aGUgZXhlY3V0YWJsZSBmcm9tIGl0LiAgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwNCnRoZSBtYXRlcmlhbHMgdG8gYmUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IGlzDQpub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkgZm9ybSkgd2l0aCB0aGUgbWFqb3INCmNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24NCndoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudCBpdHNlbGYgYWNjb21wYW5pZXMNCnRoZSBleGVjdXRhYmxlLg0KDQogIEl0IG1heSBoYXBwZW4gdGhhdCB0aGlzIHJlcXVpcmVtZW50IGNvbnRyYWRpY3RzIHRoZSBsaWNlbnNlDQpyZXN0cmljdGlvbnMgb2Ygb3RoZXIgcHJvcHJpZXRhcnkgbGlicmFyaWVzIHRoYXQgZG8gbm90IG5vcm1hbGx5DQphY2NvbXBhbnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBTdWNoIGEgY29udHJhZGljdGlvbiBtZWFucyB5b3UgY2Fubm90DQp1c2UgYm90aCB0aGVtIGFuZCB0aGUgTGlicmFyeSB0b2dldGhlciBpbiBhbiBleGVjdXRhYmxlIHRoYXQgeW91DQpkaXN0cmlidXRlLg0KDQogIDcuIFlvdSBtYXkgcGxhY2UgbGlicmFyeSBmYWNpbGl0aWVzIHRoYXQgYXJlIGEgd29yayBiYXNlZCBvbiB0aGUNCkxpYnJhcnkgc2lkZS1ieS1zaWRlIGluIGEgc2luZ2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBsaWJyYXJ5DQpmYWNpbGl0aWVzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgc3VjaCBhIGNvbWJpbmVkDQpsaWJyYXJ5LCBwcm92aWRlZCB0aGF0IHRoZSBzZXBhcmF0ZSBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgYmFzZWQgb24NCnRoZSBMaWJyYXJ5IGFuZCBvZiB0aGUgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzIGlzIG90aGVyd2lzZQ0KcGVybWl0dGVkLCBhbmQgcHJvdmlkZWQgdGhhdCB5b3UgZG8gdGhlc2UgdHdvIHRoaW5nczoNCg0KICAgIGEpIEFjY29tcGFueSB0aGUgY29tYmluZWQgbGlicmFyeSB3aXRoIGEgY29weSBvZiB0aGUgc2FtZSB3b3JrDQogICAgYmFzZWQgb24gdGhlIExpYnJhcnksIHVuY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeQ0KICAgIGZhY2lsaXRpZXMuICBUaGlzIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQ0KICAgIFNlY3Rpb25zIGFib3ZlLg0KDQogICAgYikgR2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggdGhlIGNvbWJpbmVkIGxpYnJhcnkgb2YgdGhlIGZhY3QNCiAgICB0aGF0IHBhcnQgb2YgaXQgaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgZXhwbGFpbmluZw0KICAgIHdoZXJlIHRvIGZpbmQgdGhlIGFjY29tcGFueWluZyB1bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4NCg0KICA4LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsgd2l0aCwgb3IgZGlzdHJpYnV0ZQ0KdGhlIExpYnJhcnkgZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkNCmF0dGVtcHQgb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvcg0KZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyDQpyaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsDQpvciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzDQp0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaCBwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuDQoNCiAgOS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90DQpzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcg0KZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlDQpwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5DQptb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBMaWJyYXJ5IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUNCkxpYnJhcnkpLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kDQphbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nDQp0aGUgTGlicmFyeSBvciB3b3JrcyBiYXNlZCBvbiBpdC4NCg0KICAxMC4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQ0KTGlicmFyeSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUNCm9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUsIGxpbmsgd2l0aCBvciBtb2RpZnkgdGhlIExpYnJhcnkNCnN1YmplY3QgdG8gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXINCnJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4NCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGgNCnRoaXMgTGljZW5zZS4NCg0KICAxMS4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudA0KaW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwNCmNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3INCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QNCmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90DQpkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzDQpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91DQptYXkgbm90IGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50DQpsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5IGJ5DQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4NCnRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8NCnJlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkuDQoNCklmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhbnkNCnBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBhcHBseSwNCmFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5jZXMuDQoNCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkNCnBhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55DQpzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlDQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSB3aGljaCBpcw0KaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlDQpnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkDQp0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdA0Kc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZw0KdG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90DQppbXBvc2UgdGhhdCBjaG9pY2UuDQoNClRoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bw0KYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuDQoNCiAgMTIuIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgTGlicmFyeSBpcyByZXN0cmljdGVkIGluDQpjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUNCm9yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgTGlicmFyeSB1bmRlciB0aGlzIExpY2Vuc2UgbWF5IGFkZA0KYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZyB0aG9zZSBjb3VudHJpZXMsDQpzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMNCmV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSBsaW1pdGF0aW9uIGFzIGlmDQp3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4NCg0KICAxMy4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcNCnZlcnNpb25zIG9mIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4NClN1Y2ggbmV3IHZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwNCmJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4NCg0KRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgTGlicmFyeQ0Kc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kDQoiYW55IGxhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kDQpjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIExpYnJhcnkgZG9lcyBub3Qgc3BlY2lmeSBhDQpsaWNlbnNlIHZlcnNpb24gbnVtYmVyLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4NCg0KICAxNC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIExpYnJhcnkgaW50byBvdGhlciBmcmVlDQpwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgaW5jb21wYXRpYmxlIHdpdGggdGhlc2UsDQp3cml0ZSB0byB0aGUgYXV0aG9yIHRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcw0KY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUNClNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcyBtYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXINCmRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMNCm9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQgb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nDQphbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5Lg0KDQoJCQkgICAgTk8gV0FSUkFOVFkNCg0KICAxNS4gQkVDQVVTRSBUSEUgTElCUkFSWSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8NCldBUlJBTlRZIEZPUiBUSEUgTElCUkFSWSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuDQpFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUg0KT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBMSUJSQVJZICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkNCktJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQ0KSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSDQpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUNCkxJQlJBUlkgSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIExJQlJBUlkgUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FDQpUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uDQoNCiAgMTYuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4NCldSSVRJTkcgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZDQpBTkQvT1IgUkVESVNUUklCVVRFIFRIRSBMSUJSQVJZIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVQ0KRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUg0KQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUNCkxJQlJBUlkgKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcNClJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBDQpGQUlMVVJFIE9GIFRIRSBMSUJSQVJZIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgU09GVFdBUkUpLCBFVkVOIElGDQpTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIDQpEQU1BR0VTLg0KDQoJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TDQoNCiAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IExpYnJhcmllcw0KDQogIElmIHlvdSBkZXZlbG9wIGEgbmV3IGxpYnJhcnksIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QNCnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1lbmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdA0KZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlLiAgWW91IGNhbiBkbyBzbyBieSBwZXJtaXR0aW5nDQpyZWRpc3RyaWJ1dGlvbiB1bmRlciB0aGVzZSB0ZXJtcyAob3IsIGFsdGVybmF0aXZlbHksIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUNCm9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLg0KDQogIFRvIGFwcGx5IHRoZXNlIHRlcm1zLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBsaWJyYXJ5LiAgSXQgaXMNCnNhZmVzdCB0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5DQpjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUNCiJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuDQoNCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgbGlicmFyeSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPg0KICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+DQoNCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQogICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcg0KICAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQogICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoNCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQogICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0ENCg0KQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuDQoNCllvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyDQpzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZg0KbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOg0KDQogIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlDQogIGxpYnJhcnkgYEZyb2InIChhIGxpYnJhcnkgZm9yIHR3ZWFraW5nIGtub2JzKSB3cml0dGVuIGJ5IEphbWVzIFJhbmRvbSBIYWNrZXIuDQoNCiAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkwDQogIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlDQoNClRoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhDQoNCg0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/blank.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkdlbmVyYXRlZCBEb2N1bWVudGF0aW9uPC90aXRsZT4KCQkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJtZWRpYS9zdHlsZXNoZWV0LmNzcyIgLz4KCQkJPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMScvPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGFsaWduPSJjZW50ZXIiPjxoMT5HZW5lcmF0ZWQgRG9jdW1lbnRhdGlvbjwvaDE+PC9kaXY+CjxiPldlbGNvbWUgdG8gZGVmYXVsdCE8L2I+PGJyIC8+CjxiciAvPgpUaGlzIGRvY3VtZW50YXRpb24gd2FzIGdlbmVyYXRlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciPnBocERvY3VtZW50b3IgdjEuMi4wPC9hPjxiciAvPgo8L2JvZHk+CjwvaHRtbD4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/classtrees_PHPMailer.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCQkJCQo8IS0tIFN0YXJ0IG9mIENsYXNzIERhdGEgLS0+CjxIMj4KCQo8L0gyPgo8aDI+Um9vdCBjbGFzcyBQSFBNYWlsZXI8L2gyPgo8dWw+CjxsaT48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwiPlBIUE1haWxlcjwvYT48L2xpPjwvdWw+Cgo8aDI+Um9vdCBjbGFzcyBTTVRQPC9oMj4KPHVsPgo8bGk+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCI+U01UUDwvYT48L2xpPjwvdWw+CgoJPHAgY2xhc3M9Im5vdGVzIiBpZD0iY3JlZGl0Ij4KCQlEb2N1bWVudGlvbiBnZW5lcmF0ZWQgb24gTW9uLCAyOCBKdWwgMjAwMyAyMzoyNTo0OSAtMDQwMCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciIHRhcmdldD0iX2JsYW5rIj5waHBEb2N1bWVudG9yIDEuMi4wPC9hPgoJPC9wPgoJPC9ib2R5Pgo8L2h0bWw+]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/elementindex.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCQkJCTxhIG5hbWU9InRvcCI+PC9hPgo8aDI+RnVsbCBpbmRleDwvaDI+CjxoMz5QYWNrYWdlIGluZGV4ZXM8L2gzPgo8dWw+Cgk8bGk+PGEgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sIj5QSFBNYWlsZXI8L2E+PC9saT4KPC91bD4KPGJyIC8+CjxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1tZW51Ij4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2EiPmE8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNiIj5iPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjYyI+YzwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2QiPmQ8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNlIj5lPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjZiI+ZjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2giPmg8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNpIj5pPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjbSI+bTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI24iPm48L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNwIj5wPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjcSI+cTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI3IiPnI8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNzIj5zPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjdCI+dDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI3UiPnU8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCN2Ij52PC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjdyI+dzwvYT4KPC9kaXY+CgoJPGEgbmFtZT0iYSI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5hPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kQWx0Qm9keTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJEFsdEJvZHkiPlBIUE1haWxlcjo6JEFsdEJvZHk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIHRleHQtb25seSBib2R5IG9mIHRoZSBtZXNzYWdlLiAgVGhpcyBhdXRvbWF0aWNhbGx5IHNldHMgdGhlICBlbWFpbCB0byBtdWx0aXBhcnQvYWx0ZXJuYXRpdmUuICBUaGlzIGJvZHkgY2FuIGJlIHJlYWQgYnkgbWFpbCAgY2xpZW50cyB0aGF0IGRvIG5vdCBoYXZlIEhUTUwgZW1haWwgY2FwYWJpbGl0eSBzdWNoIGFzIG11dHQuIENsaWVudHMgIHRoYXQgY2FuIHJlYWQgSFRNTCB3aWxsIHZpZXcgdGhlIG5vcm1hbCBCb2R5LjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRBZGRyZXNzPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRBZGRyZXNzIj5QSFBNYWlsZXI6OkFkZEFkZHJlc3MoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O1RvJnF1b3Q7IGFkZHJlc3MuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEF0dGFjaG1lbnQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZEF0dGFjaG1lbnQiPlBIUE1haWxlcjo6QWRkQXR0YWNobWVudCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5BZGRzIGFuIGF0dGFjaG1lbnQgZnJvbSBhIHBhdGggb24gdGhlIGZpbGVzeXN0ZW0uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEJDQzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQWRkQkNDIj5QSFBNYWlsZXI6OkFkZEJDQygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5BZGRzIGEgJnF1b3Q7QmNjJnF1b3Q7IGFkZHJlc3MuIE5vdGU6IHRoaXMgZnVuY3Rpb24gd29ya3MgIHdpdGggdGhlIFNNVFAgbWFpbGVyIG9uIHdpbjMyLCBub3Qgd2l0aCB0aGUgJnF1b3Q7bWFpbCZxdW90OyAgbWFpbGVyLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRDQzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQWRkQ0MiPlBIUE1haWxlcjo6QWRkQ0MoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O0NjJnF1b3Q7IGFkZHJlc3MuIE5vdGU6IHRoaXMgZnVuY3Rpb24gd29ya3MgIHdpdGggdGhlIFNNVFAgbWFpbGVyIG9uIHdpbjMyLCBub3Qgd2l0aCB0aGUgJnF1b3Q7bWFpbCZxdW90OyAgbWFpbGVyLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRDdXN0b21IZWFkZXI8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZEN1c3RvbUhlYWRlciI+UEhQTWFpbGVyOjpBZGRDdXN0b21IZWFkZXIoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhIGN1c3RvbSBoZWFkZXIuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEVtYmVkZGVkSW1hZ2U8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZEVtYmVkZGVkSW1hZ2UiPlBIUE1haWxlcjo6QWRkRW1iZWRkZWRJbWFnZSgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5BZGRzIGFuIGVtYmVkZGVkIGF0dGFjaG1lbnQuICBUaGlzIGNhbiBpbmNsdWRlIGltYWdlcywgc291bmRzLCBhbmQgIGp1c3QgYWJvdXQgYW55IG90aGVyIGRvY3VtZW50LiAgTWFrZSBzdXJlIHRvIHNldCB0aGUgJHR5cGUgdG8gYW4gIGltYWdlIHR5cGUuICBGb3IgSlBFRyBpbWFnZXMgdXNlICZxdW90O2ltYWdlL2pwZWcmcXVvdDsgYW5kIGZvciBHSUYgaW1hZ2VzICB1c2UgJnF1b3Q7aW1hZ2UvZ2lmJnF1b3Q7LjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRSZXBseVRvPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRSZXBseVRvIj5QSFBNYWlsZXI6OkFkZFJlcGx5VG8oKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O1JlcGx5LXRvJnF1b3Q7IGFkZHJlc3MuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZFN0cmluZ0F0dGFjaG1lbnQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZFN0cmluZ0F0dGFjaG1lbnQiPlBIUE1haWxlcjo6QWRkU3RyaW5nQXR0YWNobWVudCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5BZGRzIGEgc3RyaW5nIG9yIGJpbmFyeSBhdHRhY2htZW50IChub24tZmlsZXN5c3RlbSkgdG8gdGhlIGxpc3QuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkF1dGhlbnRpY2F0ZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZEF1dGhlbnRpY2F0ZSI+U01UUDo6QXV0aGVudGljYXRlKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5QZXJmb3JtcyBTTVRQIGF1dGhlbnRpY2F0aW9uLiAgTXVzdCBiZSBydW4gYWZ0ZXIgcnVubmluZyB0aGUgIEhlbGxvKCkgbWV0aG9kLiAgUmV0dXJucyB0cnVlIGlmIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9ImIiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+YjwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEJvZHk8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRCb2R5Ij5QSFBNYWlsZXI6OiRCb2R5PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBCb2R5IG9mIHRoZSBtZXNzYWdlLiAgVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEhUTUwgb3IgdGV4dCBib2R5LjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9ImMiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+YzwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JENoYXJTZXQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRDaGFyU2V0Ij5QSFBNYWlsZXI6OiRDaGFyU2V0PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBDaGFyU2V0IG9mIHRoZSBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kQ29uZmlybVJlYWRpbmdUbzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJENvbmZpcm1SZWFkaW5nVG8iPlBIUE1haWxlcjo6JENvbmZpcm1SZWFkaW5nVG88L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIGVtYWlsIGFkZHJlc3MgdGhhdCBhIHJlYWRpbmcgY29uZmlybWF0aW9uIHdpbGwgYmUgc2VudC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JENvbnRlbnRUeXBlPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkQ29udGVudFR5cGUiPlBIUE1haWxlcjo6JENvbnRlbnRUeXBlPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBDb250ZW50LXR5cGUgb2YgdGhlIG1lc3NhZ2UuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRDUkxGPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjdmFyJENSTEYiPlNNVFA6OiRDUkxGPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U01UUCByZXBseSBsaW5lIGVuZGluZzwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0iaW5jbHVkZS10aXRsZSI+Y2xhc3MucGhwbWFpbGVyLnBocDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvX2NsYXNzX3BocG1haWxlcl9waHAuaHRtbCI+Y2xhc3MucGhwbWFpbGVyLnBocDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0iaW5jbHVkZS10aXRsZSI+Y2xhc3Muc210cC5waHA8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL19jbGFzc19zbXRwX3BocC5odG1sIj5jbGFzcy5zbXRwLnBocDwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJBZGRyZXNzZXM8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZENsZWFyQWRkcmVzc2VzIj5QSFBNYWlsZXI6OkNsZWFyQWRkcmVzc2VzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgcmVjaXBpZW50cyBhc3NpZ25lZCBpbiB0aGUgVE8gYXJyYXkuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQWxsUmVjaXBpZW50czwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQ2xlYXJBbGxSZWNpcGllbnRzIj5QSFBNYWlsZXI6OkNsZWFyQWxsUmVjaXBpZW50cygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIFRPLCBDQyBhbmQgQkNDICBhcnJheS4gIFJldHVybnMgdm9pZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJBdHRhY2htZW50czwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQ2xlYXJBdHRhY2htZW50cyI+UEhQTWFpbGVyOjpDbGVhckF0dGFjaG1lbnRzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgcHJldmlvdXNseSBzZXQgZmlsZXN5c3RlbSwgc3RyaW5nLCBhbmQgYmluYXJ5ICBhdHRhY2htZW50cy4gIFJldHVybnMgdm9pZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJCQ0NzPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RDbGVhckJDQ3MiPlBIUE1haWxlcjo6Q2xlYXJCQ0NzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgcmVjaXBpZW50cyBhc3NpZ25lZCBpbiB0aGUgQkNDIGFycmF5LiAgUmV0dXJucyB2b2lkLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbGVhckNDczwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQ2xlYXJDQ3MiPlBIUE1haWxlcjo6Q2xlYXJDQ3MoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBDQyBhcnJheS4gIFJldHVybnMgdm9pZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJDdXN0b21IZWFkZXJzPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RDbGVhckN1c3RvbUhlYWRlcnMiPlBIUE1haWxlcjo6Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgY3VzdG9tIGhlYWRlcnMuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyUmVwbHlUb3M8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZENsZWFyUmVwbHlUb3MiPlBIUE1haWxlcjo6Q2xlYXJSZXBseVRvcygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIFJlcGx5VG8gYXJyYXkuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsb3NlPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kQ2xvc2UiPlNNVFA6OkNsb3NlKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbG9zZXMgdGhlIHNvY2tldCBhbmQgY2xlYW5zIHVwIHRoZSBzdGF0ZSBvZiB0aGUgY2xhc3MuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNvbm5lY3Q8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RDb25uZWN0Ij5TTVRQOjpDb25uZWN0KCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5Db25uZWN0IHRvIHRoZSBzZXJ2ZXIgc3BlY2lmaWVkIG9uIHRoZSBwb3J0IHNwZWNpZmllZC48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJkIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmQ8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRkb19kZWJ1Zzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI3ZhciRkb19kZWJ1ZyI+U01UUDo6JGRvX2RlYnVnPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB3aGV0aGVyIGRlYnVnZ2luZyBpcyB0dXJuZWQgb248L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+RGF0YTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZERhdGEiPlNNVFA6OkRhdGEoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPklzc3VlcyBhIGRhdGEgY29tbWFuZCBhbmQgc2VuZHMgdGhlIG1zZ19kYXRhIHRvIHRoZSBzZXJ2ZXI8L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJlIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmU8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRFbmNvZGluZzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJEVuY29kaW5nIj5QSFBNYWlsZXI6OiRFbmNvZGluZzwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgRW5jb2Rpbmcgb2YgdGhlIG1lc3NhZ2UuIE9wdGlvbnMgZm9yIHRoaXMgYXJlICZxdW90OzhiaXQmcXVvdDssICAmcXVvdDs3Yml0JnF1b3Q7LCAmcXVvdDtiaW5hcnkmcXVvdDssICZxdW90O2Jhc2U2NCZxdW90OywgYW5kICZxdW90O3F1b3RlZC1wcmludGFibGUmcXVvdDsuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRFcnJvckluZm88L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRFcnJvckluZm8iPlBIUE1haWxlcjo6JEVycm9ySW5mbzwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+SG9sZHMgdGhlIG1vc3QgcmVjZW50IG1haWxlciBlcnJvciBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5FeHBhbmQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RFeHBhbmQiPlNNVFA6OkV4cGFuZCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+RXhwYW5kIHRha2VzIHRoZSBuYW1lIGFuZCBhc2tzIHRoZSBzZXJ2ZXIgdG8gbGlzdCBhbGwgdGhlICBwZW9wbGUgd2hvIGFyZSBtZW1iZXJzIG9mIHRoZSBfbGlzdF8uIEV4cGFuZCB3aWxsIHJldHVybiAgYmFjayBhbmQgYXJyYXkgb2YgdGhlIHJlc3VsdCBvciBmYWxzZSBpZiBhbiBlcnJvciBvY2N1cnMuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0iZiI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5mPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kRnJvbTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJEZyb20iPlBIUE1haWxlcjo6JEZyb208L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIEZyb20gZW1haWwgYWRkcmVzcyBmb3IgdGhlIG1lc3NhZ2UuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRGcm9tTmFtZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJEZyb21OYW1lIj5QSFBNYWlsZXI6OiRGcm9tTmFtZTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgRnJvbSBuYW1lIG9mIHRoZSBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9ImgiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+aDwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEhlbG88L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRIZWxvIj5QSFBNYWlsZXI6OiRIZWxvPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTTVRQIEhFTE8gb2YgdGhlIG1lc3NhZ2UgKERlZmF1bHQgaXMgJEhvc3RuYW1lKS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEhvc3Q8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRIb3N0Ij5QSFBNYWlsZXI6OiRIb3N0PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTTVRQIGhvc3RzLiAgQWxsIGhvc3RzIG11c3QgYmUgc2VwYXJhdGVkIGJ5IGEgICBzZW1pY29sb24uICBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIGRpZmZlcmVudCBwb3J0ICAgZm9yIGVhY2ggaG9zdCBieSB1c2luZyB0aGlzIGZvcm1hdDogW2hvc3RuYW1lOnBvcnRdICAgKGUuZy4gJnF1b3Q7c210cDEuZXhhbXBsZS5jb206MjU7c210cDIuZXhhbXBsZS5jb20mcXVvdDspLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kSG9zdG5hbWU8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRIb3N0bmFtZSI+UEhQTWFpbGVyOjokSG9zdG5hbWU8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIGhvc3RuYW1lIHRvIHVzZSBpbiBNZXNzYWdlLUlkIGFuZCBSZWNlaXZlZCBoZWFkZXJzICAgYW5kIGFzIGRlZmF1bHQgSEVMTyBzdHJpbmcuIElmIGVtcHR5LCB0aGUgdmFsdWUgcmV0dXJuZWQgICBieSBTRVJWRVJfTkFNRSBpcyB1c2VkIG9yICdsb2NhbGhvc3QubG9jYWxkb21haW4nLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5IZWxsbzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZEhlbGxvIj5TTVRQOjpIZWxsbygpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2VuZHMgdGhlIEhFTE8gY29tbWFuZCB0byB0aGUgc210cCBzZXJ2ZXIuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkhlbHA8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RIZWxwIj5TTVRQOjpIZWxwKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5HZXRzIGhlbHAgaW5mb3JtYXRpb24gb24gdGhlIGtleXdvcmQgc3BlY2lmaWVkLiBJZiB0aGUga2V5d29yZDwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9ImkiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+aTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNFcnJvcjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNFcnJvciI+UEhQTWFpbGVyOjpJc0Vycm9yKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlJldHVybnMgdHJ1ZSBpZiBhbiBlcnJvciBvY2N1cnJlZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNIVE1MPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RJc0hUTUwiPlBIUE1haWxlcjo6SXNIVE1MKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgbWVzc2FnZSB0eXBlIHRvIEhUTUwuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzTWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNNYWlsIj5QSFBNYWlsZXI6OklzTWFpbCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgUEhQIG1haWwoKSBmdW5jdGlvbi48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNRbWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNRbWFpbCI+UEhQTWFpbGVyOjpJc1FtYWlsKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgTWFpbGVyIHRvIHNlbmQgbWVzc2FnZSB1c2luZyB0aGUgcW1haWwgTVRBLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Jc1NlbmRtYWlsPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RJc1NlbmRtYWlsIj5QSFBNYWlsZXI6OklzU2VuZG1haWwoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIHRoZSAkU2VuZG1haWwgcHJvZ3JhbS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNTTVRQPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RJc1NNVFAiPlBIUE1haWxlcjo6SXNTTVRQKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgTWFpbGVyIHRvIHNlbmQgbWVzc2FnZSB1c2luZyBTTVRQLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9Im0iPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+bTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JE1haWxlcjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJE1haWxlciI+UEhQTWFpbGVyOjokTWFpbGVyPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5NZXRob2QgdG8gc2VuZCBtYWlsOiAoJnF1b3Q7bWFpbCZxdW90OywgJnF1b3Q7c2VuZG1haWwmcXVvdDssIG9yICZxdW90O3NtdHAmcXVvdDspLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5NYWlsPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kTWFpbCI+U01UUDo6TWFpbCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbiAgJGZyb20uIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsIG9yIGZhbHNlIG90aGVyd2lzZS4gSWYgVHJ1ZSAgdGhlIG1haWwgdHJhbnNhY3Rpb24gaXMgc3RhcnRlZCBhbmQgdGhlbiBvbmUgb3IgbW9yZSBSZWNpcGllbnQgIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0ibiI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5uPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Ob29wPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kTm9vcCI+U01UUDo6Tm9vcCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2VuZHMgdGhlIGNvbW1hbmQgTk9PUCB0byB0aGUgU01UUCBzZXJ2ZXIuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0icCI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5wPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kUGFzc3dvcmQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRQYXNzd29yZCI+UEhQTWFpbGVyOjokUGFzc3dvcmQ8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgU01UUCBwYXNzd29yZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFBsdWdpbkRpcjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFBsdWdpbkRpciI+UEhQTWFpbGVyOjokUGx1Z2luRGlyPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5QYXRoIHRvIFBIUE1haWxlciBwbHVnaW5zLiAgVGhpcyBpcyBub3cgb25seSB1c2VmdWwgaWYgdGhlIFNNVFAgY2xhc3MgIGlzIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeSB0aGFuIHRoZSBQSFAgaW5jbHVkZSBwYXRoLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kUG9ydDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFBvcnQiPlBIUE1haWxlcjo6JFBvcnQ8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIGRlZmF1bHQgU01UUCBzZXJ2ZXIgcG9ydC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFByaW9yaXR5PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkUHJpb3JpdHkiPlBIUE1haWxlcjo6JFByaW9yaXR5PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5FbWFpbCBwcmlvcml0eSAoMSA9IEhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBsb3cpLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQlQSFBNYWlsZXIKCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwiPlBIUE1haWxlcjwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+UEhQTWFpbGVyIC0gUEhQIGVtYWlsIHRyYW5zcG9ydCBjbGFzczwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InEiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+cTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+UXVpdDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFF1aXQiPlNNVFA6OlF1aXQoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBxdWl0IGNvbW1hbmQgdG8gdGhlIHNlcnZlciBhbmQgdGhlbiBjbG9zZXMgdGhlIHNvY2tldCAgaWYgdGhlcmUgaXMgbm8gZXJyb3Igb3IgdGhlICRjbG9zZV9vbl9lcnJvciBhcmd1bWVudCBpcyB0cnVlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InIiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+cjwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+UmVjaXBpZW50PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kUmVjaXBpZW50Ij5TTVRQOjpSZWNpcGllbnQoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBjb21tYW5kIFJDUFQgdG8gdGhlIFNNVFAgc2VydmVyIHdpdGggdGhlIFRPOiBhcmd1bWVudCBvZiAkdG8uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlJlc2V0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kUmVzZXQiPlNNVFA6OlJlc2V0KCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZW5kcyB0aGUgUlNFVCBjb21tYW5kIHRvIGFib3J0IGFuZCB0cmFuc2FjdGlvbiB0aGF0IGlzICBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsIGZhbHNlICBvdGhlcndpc2UuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0icyI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5zPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kU2VuZGVyPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkU2VuZGVyIj5QSFBNYWlsZXI6OiRTZW5kZXI8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIFNlbmRlciBlbWFpbCAoUmV0dXJuLVBhdGgpIG9mIHRoZSBtZXNzYWdlLiAgSWYgbm90IGVtcHR5LCAgd2lsbCBiZSBzZW50IHZpYSAtZiB0byBzZW5kbWFpbCBvciBhcyAnTUFJTCBGUk9NJyBpbiBzbXRwIG1vZGUuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRTZW5kbWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFNlbmRtYWlsIj5QSFBNYWlsZXI6OiRTZW5kbWFpbDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgcGF0aCBvZiB0aGUgc2VuZG1haWwgcHJvZ3JhbS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFNNVFBBdXRoPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkU01UUEF1dGgiPlBIUE1haWxlcjo6JFNNVFBBdXRoPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIFNNVFAgYXV0aGVudGljYXRpb24uIFV0aWxpemVzIHRoZSBVc2VybmFtZSBhbmQgUGFzc3dvcmQgdmFyaWFibGVzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kU01UUERlYnVnPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkU01UUERlYnVnIj5QSFBNYWlsZXI6OiRTTVRQRGVidWc8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgU01UUCBjbGFzcyBkZWJ1Z2dpbmcgb24gb3Igb2ZmLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kU01UUEtlZXBBbGl2ZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFNNVFBLZWVwQWxpdmUiPlBIUE1haWxlcjo6JFNNVFBLZWVwQWxpdmU8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlByZXZlbnRzIHRoZSBTTVRQIGNvbm5lY3Rpb24gZnJvbSBiZWluZyBjbG9zZWQgYWZ0ZXIgZWFjaCBtYWlsICBzZW5kaW5nLiAgSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSB0aGVuIHRvIGNsb3NlIHRoZSBjb25uZWN0aW9uICByZXF1aXJlcyBhbiBleHBsaWNpdCBjYWxsIHRvIFNtdHBDbG9zZSgpLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kU01UUF9QT1JUPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjdmFyJFNNVFBfUE9SVCI+U01UUDo6JFNNVFBfUE9SVDwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNNVFAgc2VydmVyIHBvcnQ8L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFN1YmplY3Q8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRTdWJqZWN0Ij5QSFBNYWlsZXI6OiRTdWJqZWN0PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTdWJqZWN0IG9mIHRoZSBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kU2VuZCI+U01UUDo6U2VuZCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RTZW5kIj5QSFBNYWlsZXI6OlNlbmQoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q3JlYXRlcyBtZXNzYWdlIGFuZCBhc3NpZ25zIE1haWxlci4gSWYgdGhlIG1lc3NhZ2UgaXMgIG5vdCBzZW50IHN1Y2Nlc3NmdWxseSB0aGVuIGl0IHJldHVybnMgZmFsc2UuICBVc2UgdGhlIEVycm9ySW5mbyAgdmFyaWFibGUgdG8gdmlldyBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3IuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlNlbmRBbmRNYWlsPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kU2VuZEFuZE1haWwiPlNNVFA6OlNlbmRBbmRNYWlsKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TdGFydHMgYSBtYWlsIHRyYW5zYWN0aW9uIGZyb20gdGhlIGVtYWlsIGFkZHJlc3Mgc3BlY2lmaWVkIGluPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlNlbmRPck1haWw8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RTZW5kT3JNYWlsIj5TTVRQOjpTZW5kT3JNYWlsKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TdGFydHMgYSBtYWlsIHRyYW5zYWN0aW9uIGZyb20gdGhlIGVtYWlsIGFkZHJlc3Mgc3BlY2lmaWVkIGluPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlNldExhbmd1YWdlPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RTZXRMYW5ndWFnZSI+UEhQTWFpbGVyOjpTZXRMYW5ndWFnZSgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBsYW5ndWFnZSBmb3IgYWxsIGNsYXNzIGVycm9yIG1lc3NhZ2VzLiAgUmV0dXJucyBmYWxzZSAgaWYgaXQgY2Fubm90IGxvYWQgdGhlIGxhbmd1YWdlIGZpbGUuICBUaGUgZGVmYXVsdCBsYW5ndWFnZSB0eXBlICBpcyBFbmdsaXNoLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TTVRQPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kU01UUCI+U01UUDo6U01UUCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+SW5pdGlhbGl6ZSB0aGUgY2xhc3Mgc28gdGhhdCB0aGUgZGF0YSBpcyBpbiBhIGtub3duIHN0YXRlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQlTTVRQCgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCI+U01UUDwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNNVFAgaXMgcmZjIDgyMSBjb21wbGlhbnQgYW5kIGltcGxlbWVudHMgYWxsIHRoZSByZmMgODIxIFNNVFAgIGNvbW1hbmRzIGV4Y2VwdCBUVVJOIHdoaWNoIHdpbGwgYWx3YXlzIHJldHVybiBhIG5vdCBpbXBsZW1lbnRlZCAgZXJyb3IuIFNNVFAgYWxzbyBwcm92aWRlcyBzb21lIHV0aWxpdHkgbWV0aG9kcyBmb3Igc2VuZGluZyBtYWlsICB0byBhbiBTTVRQIHNlcnZlci48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U210cENsb3NlPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RTbXRwQ2xvc2UiPlBIUE1haWxlcjo6U210cENsb3NlKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsb3NlcyB0aGUgYWN0aXZlIFNNVFAgc2Vzc2lvbiBpZiBvbmUgZXhpc3RzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InQiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+dDwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFRpbWVvdXQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRUaW1lb3V0Ij5QSFBNYWlsZXI6OiRUaW1lb3V0PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTTVRQIHNlcnZlciB0aW1lb3V0IGluIHNlY29uZHMuIFRoaXMgZnVuY3Rpb24gd2lsbCBub3QgICB3b3JrIHdpdGggdGhlIHdpbjMyIHZlcnNpb24uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlR1cm48L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RUdXJuIj5TTVRQOjpUdXJuKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5UaGlzIGlzIGFuIG9wdGlvbmFsIGNvbW1hbmQgZm9yIFNNVFAgdGhhdCB0aGlzIGNsYXNzIGRvZXMgbm90ICBzdXBwb3J0LiBUaGlzIG1ldGhvZCBpcyBoZXJlIHRvIG1ha2UgdGhlIFJGQzgyMSBEZWZpbml0aW9uICBjb21wbGV0ZSBmb3IgdGhpcyBjbGFzcyBhbmQgX19tYXlfXyBiZSBpbXBsaW1lbnRlZCBpbiB0aGUgZnV0dXJlPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0idSI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj51PC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kVXNlcm5hbWU8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRVc2VybmFtZSI+UEhQTWFpbGVyOjokVXNlcm5hbWU8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgU01UUCB1c2VybmFtZS48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJ2Ij48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPnY8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRWZXJzaW9uPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkVmVyc2lvbiI+UEhQTWFpbGVyOjokVmVyc2lvbjwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+SG9sZHMgUEhQTWFpbGVyIHZlcnNpb24uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlZlcmlmeTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFZlcmlmeSI+U01UUDo6VmVyaWZ5KCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5WZXJpZmllcyB0aGF0IHRoZSBuYW1lIGlzIHJlY29nbml6ZWQgYnkgdGhlIHNlcnZlci48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJ3Ij48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPnc8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRXb3JkV3JhcDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFdvcmRXcmFwIj5QSFBNYWlsZXI6OiRXb3JkV3JhcDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB3b3JkIHdyYXBwaW5nIG9uIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIHRvIGEgZ2l2ZW4gbnVtYmVyIG9mICBjaGFyYWN0ZXJzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCjxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1tZW51Ij4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2EiPmE8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNiIj5iPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjYyI+YzwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2QiPmQ8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNlIj5lPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjZiI+ZjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI2giPmg8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNpIj5pPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjbSI+bTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI24iPm48L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNwIj5wPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjcSI+cTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI3IiPnI8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCNzIj5zPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjdCI+dDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sI3UiPnU8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXguaHRtbCN2Ij52PC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4Lmh0bWwjdyI+dzwvYT4KPC9kaXY+CTwvYm9keT4KPC9odG1sPg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/elementindex_PHPMailer.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCQkJCTxhIG5hbWU9InRvcCI+PC9hPgo8aDI+W1BIUE1haWxlcl0gZWxlbWVudCBpbmRleDwvaDI+CjxhIGhyZWY9ImVsZW1lbnRpbmRleC5odG1sIj5BbGwgZWxlbWVudHM8L2E+CjxiciAvPgo8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItbWVudSI+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjYSI+YTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNiIj5iPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI2MiPmM8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjZCI+ZDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNlIj5lPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI2YiPmY8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjaCI+aDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNpIj5pPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI20iPm08L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjbiI+bjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNwIj5wPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3EiPnE8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjciI+cjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNzIj5zPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3QiPnQ8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjdSI+dTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCN2Ij52PC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3ciPnc8L2E+CjwvZGl2PgoKCTxhIG5hbWU9ImEiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+YTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEFsdEJvZHk8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRBbHRCb2R5Ij5QSFBNYWlsZXI6OiRBbHRCb2R5PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSB0ZXh0LW9ubHkgYm9keSBvZiB0aGUgbWVzc2FnZS4gIFRoaXMgYXV0b21hdGljYWxseSBzZXRzIHRoZSAgZW1haWwgdG8gbXVsdGlwYXJ0L2FsdGVybmF0aXZlLiAgVGhpcyBib2R5IGNhbiBiZSByZWFkIGJ5IG1haWwgIGNsaWVudHMgdGhhdCBkbyBub3QgaGF2ZSBIVE1MIGVtYWlsIGNhcGFiaWxpdHkgc3VjaCBhcyBtdXR0LiBDbGllbnRzICB0aGF0IGNhbiByZWFkIEhUTUwgd2lsbCB2aWV3IHRoZSBub3JtYWwgQm9keS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkQWRkcmVzczwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQWRkQWRkcmVzcyI+UEhQTWFpbGVyOjpBZGRBZGRyZXNzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkFkZHMgYSAmcXVvdDtUbyZxdW90OyBhZGRyZXNzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRBdHRhY2htZW50PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRBdHRhY2htZW50Ij5QSFBNYWlsZXI6OkFkZEF0dGFjaG1lbnQoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhbiBhdHRhY2htZW50IGZyb20gYSBwYXRoIG9uIHRoZSBmaWxlc3lzdGVtLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRCQ0M8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZEJDQyI+UEhQTWFpbGVyOjpBZGRCQ0MoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O0JjYyZxdW90OyBhZGRyZXNzLiBOb3RlOiB0aGlzIGZ1bmN0aW9uIHdvcmtzICB3aXRoIHRoZSBTTVRQIG1haWxlciBvbiB3aW4zMiwgbm90IHdpdGggdGhlICZxdW90O21haWwmcXVvdDsgIG1haWxlci48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkQ0M8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZEFkZENDIj5QSFBNYWlsZXI6OkFkZENDKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkFkZHMgYSAmcXVvdDtDYyZxdW90OyBhZGRyZXNzLiBOb3RlOiB0aGlzIGZ1bmN0aW9uIHdvcmtzICB3aXRoIHRoZSBTTVRQIG1haWxlciBvbiB3aW4zMiwgbm90IHdpdGggdGhlICZxdW90O21haWwmcXVvdDsgIG1haWxlci48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkQ3VzdG9tSGVhZGVyPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRDdXN0b21IZWFkZXIiPlBIUE1haWxlcjo6QWRkQ3VzdG9tSGVhZGVyKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkFkZHMgYSBjdXN0b20gaGVhZGVyLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRFbWJlZGRlZEltYWdlPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRFbWJlZGRlZEltYWdlIj5QSFBNYWlsZXI6OkFkZEVtYmVkZGVkSW1hZ2UoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhbiBlbWJlZGRlZCBhdHRhY2htZW50LiAgVGhpcyBjYW4gaW5jbHVkZSBpbWFnZXMsIHNvdW5kcywgYW5kICBqdXN0IGFib3V0IGFueSBvdGhlciBkb2N1bWVudC4gIE1ha2Ugc3VyZSB0byBzZXQgdGhlICR0eXBlIHRvIGFuICBpbWFnZSB0eXBlLiAgRm9yIEpQRUcgaW1hZ2VzIHVzZSAmcXVvdDtpbWFnZS9qcGVnJnF1b3Q7IGFuZCBmb3IgR0lGIGltYWdlcyAgdXNlICZxdW90O2ltYWdlL2dpZiZxdW90Oy48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkUmVwbHlUbzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQWRkUmVwbHlUbyI+UEhQTWFpbGVyOjpBZGRSZXBseVRvKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkFkZHMgYSAmcXVvdDtSZXBseS10byZxdW90OyBhZGRyZXNzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRTdHJpbmdBdHRhY2htZW50PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RBZGRTdHJpbmdBdHRhY2htZW50Ij5QSFBNYWlsZXI6OkFkZFN0cmluZ0F0dGFjaG1lbnQoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+QWRkcyBhIHN0cmluZyBvciBiaW5hcnkgYXR0YWNobWVudCAobm9uLWZpbGVzeXN0ZW0pIHRvIHRoZSBsaXN0LjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BdXRoZW50aWNhdGU8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RBdXRoZW50aWNhdGUiPlNNVFA6OkF1dGhlbnRpY2F0ZSgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+UGVyZm9ybXMgU01UUCBhdXRoZW50aWNhdGlvbi4gIE11c3QgYmUgcnVuIGFmdGVyIHJ1bm5pbmcgdGhlICBIZWxsbygpIG1ldGhvZC4gIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZC48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJiIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmI8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRCb2R5PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkQm9keSI+UEhQTWFpbGVyOjokQm9keTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgQm9keSBvZiB0aGUgbWVzc2FnZS4gIFRoaXMgY2FuIGJlIGVpdGhlciBhbiBIVE1MIG9yIHRleHQgYm9keS48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJjIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmM8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRDaGFyU2V0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkQ2hhclNldCI+UEhQTWFpbGVyOjokQ2hhclNldDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgQ2hhclNldCBvZiB0aGUgbWVzc2FnZS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JENvbmZpcm1SZWFkaW5nVG88L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRDb25maXJtUmVhZGluZ1RvIj5QSFBNYWlsZXI6OiRDb25maXJtUmVhZGluZ1RvPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBlbWFpbCBhZGRyZXNzIHRoYXQgYSByZWFkaW5nIGNvbmZpcm1hdGlvbiB3aWxsIGJlIHNlbnQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRDb250ZW50VHlwZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJENvbnRlbnRUeXBlIj5QSFBNYWlsZXI6OiRDb250ZW50VHlwZTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgQ29udGVudC10eXBlIG9mIHRoZSBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kQ1JMRjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI3ZhciRDUkxGIj5TTVRQOjokQ1JMRjwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNNVFAgcmVwbHkgbGluZSBlbmRpbmc8L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9ImluY2x1ZGUtdGl0bGUiPmNsYXNzLnBocG1haWxlci5waHA8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL19jbGFzc19waHBtYWlsZXJfcGhwLmh0bWwiPmNsYXNzLnBocG1haWxlci5waHA8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9ImluY2x1ZGUtdGl0bGUiPmNsYXNzLnNtdHAucGhwPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9fY2xhc3Nfc210cF9waHAuaHRtbCI+Y2xhc3Muc210cC5waHA8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQWRkcmVzc2VzPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RDbGVhckFkZHJlc3NlcyI+UEhQTWFpbGVyOjpDbGVhckFkZHJlc3NlcygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIFRPIGFycmF5LiAgUmV0dXJucyB2b2lkLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbGVhckFsbFJlY2lwaWVudHM8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZENsZWFyQWxsUmVjaXBpZW50cyI+UEhQTWFpbGVyOjpDbGVhckFsbFJlY2lwaWVudHMoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBUTywgQ0MgYW5kIEJDQyAgYXJyYXkuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQXR0YWNobWVudHM8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZENsZWFyQXR0YWNobWVudHMiPlBIUE1haWxlcjo6Q2xlYXJBdHRhY2htZW50cygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHByZXZpb3VzbHkgc2V0IGZpbGVzeXN0ZW0sIHN0cmluZywgYW5kIGJpbmFyeSAgYXR0YWNobWVudHMuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQkNDczwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQ2xlYXJCQ0NzIj5QSFBNYWlsZXI6OkNsZWFyQkNDcygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIEJDQyBhcnJheS4gIFJldHVybnMgdm9pZC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJDQ3M8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZENsZWFyQ0NzIj5QSFBNYWlsZXI6OkNsZWFyQ0NzKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgcmVjaXBpZW50cyBhc3NpZ25lZCBpbiB0aGUgQ0MgYXJyYXkuICBSZXR1cm5zIHZvaWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQ3VzdG9tSGVhZGVyczwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kQ2xlYXJDdXN0b21IZWFkZXJzIj5QSFBNYWlsZXI6OkNsZWFyQ3VzdG9tSGVhZGVycygpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIGN1c3RvbSBoZWFkZXJzLiAgUmV0dXJucyB2b2lkLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbGVhclJlcGx5VG9zPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCNtZXRob2RDbGVhclJlcGx5VG9zIj5QSFBNYWlsZXI6OkNsZWFyUmVwbHlUb3MoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBSZXBseVRvIGFycmF5LiAgUmV0dXJucyB2b2lkLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbG9zZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZENsb3NlIj5TTVRQOjpDbG9zZSgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q2xvc2VzIHRoZSBzb2NrZXQgYW5kIGNsZWFucyB1cCB0aGUgc3RhdGUgb2YgdGhlIGNsYXNzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Db25uZWN0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kQ29ubmVjdCI+U01UUDo6Q29ubmVjdCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+Q29ubmVjdCB0byB0aGUgc2VydmVyIHNwZWNpZmllZCBvbiB0aGUgcG9ydCBzcGVjaWZpZWQuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0iZCI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5kPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kZG9fZGVidWc8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCN2YXIkZG9fZGVidWciPlNNVFA6OiRkb19kZWJ1ZzwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgd2hldGhlciBkZWJ1Z2dpbmcgaXMgdHVybmVkIG9uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkRhdGE8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2REYXRhIj5TTVRQOjpEYXRhKCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5Jc3N1ZXMgYSBkYXRhIGNvbW1hbmQgYW5kIHNlbmRzIHRoZSBtc2dfZGF0YSB0byB0aGUgc2VydmVyPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0iZSI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj5lPC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kRW5jb2Rpbmc8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRFbmNvZGluZyI+UEhQTWFpbGVyOjokRW5jb2Rpbmc8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIEVuY29kaW5nIG9mIHRoZSBtZXNzYWdlLiBPcHRpb25zIGZvciB0aGlzIGFyZSAmcXVvdDs4Yml0JnF1b3Q7LCAgJnF1b3Q7N2JpdCZxdW90OywgJnF1b3Q7YmluYXJ5JnF1b3Q7LCAmcXVvdDtiYXNlNjQmcXVvdDssIGFuZCAmcXVvdDtxdW90ZWQtcHJpbnRhYmxlJnF1b3Q7LjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kRXJyb3JJbmZvPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkRXJyb3JJbmZvIj5QSFBNYWlsZXI6OiRFcnJvckluZm88L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkhvbGRzIHRoZSBtb3N0IHJlY2VudCBtYWlsZXIgZXJyb3IgbWVzc2FnZS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+RXhwYW5kPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kRXhwYW5kIj5TTVRQOjpFeHBhbmQoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkV4cGFuZCB0YWtlcyB0aGUgbmFtZSBhbmQgYXNrcyB0aGUgc2VydmVyIHRvIGxpc3QgYWxsIHRoZSAgcGVvcGxlIHdobyBhcmUgbWVtYmVycyBvZiB0aGUgX2xpc3RfLiBFeHBhbmQgd2lsbCByZXR1cm4gIGJhY2sgYW5kIGFycmF5IG9mIHRoZSByZXN1bHQgb3IgZmFsc2UgaWYgYW4gZXJyb3Igb2NjdXJzLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9ImYiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+ZjwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEZyb208L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRGcm9tIj5QSFBNYWlsZXI6OiRGcm9tPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBGcm9tIGVtYWlsIGFkZHJlc3MgZm9yIHRoZSBtZXNzYWdlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kRnJvbU5hbWU8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRGcm9tTmFtZSI+UEhQTWFpbGVyOjokRnJvbU5hbWU8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIEZyb20gbmFtZSBvZiB0aGUgbWVzc2FnZS48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJoIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmg8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRIZWxvPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkSGVsbyI+UEhQTWFpbGVyOjokSGVsbzwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU01UUCBIRUxPIG9mIHRoZSBtZXNzYWdlIChEZWZhdWx0IGlzICRIb3N0bmFtZSkuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRIb3N0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkSG9zdCI+UEhQTWFpbGVyOjokSG9zdDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU01UUCBob3N0cy4gIEFsbCBob3N0cyBtdXN0IGJlIHNlcGFyYXRlZCBieSBhICAgc2VtaWNvbG9uLiAgWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBkaWZmZXJlbnQgcG9ydCAgIGZvciBlYWNoIGhvc3QgYnkgdXNpbmcgdGhpcyBmb3JtYXQ6IFtob3N0bmFtZTpwb3J0XSAgIChlLmcuICZxdW90O3NtdHAxLmV4YW1wbGUuY29tOjI1O3NtdHAyLmV4YW1wbGUuY29tJnF1b3Q7KS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JEhvc3RuYW1lPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkSG9zdG5hbWUiPlBIUE1haWxlcjo6JEhvc3RuYW1lPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBob3N0bmFtZSB0byB1c2UgaW4gTWVzc2FnZS1JZCBhbmQgUmVjZWl2ZWQgaGVhZGVycyAgIGFuZCBhcyBkZWZhdWx0IEhFTE8gc3RyaW5nLiBJZiBlbXB0eSwgdGhlIHZhbHVlIHJldHVybmVkICAgYnkgU0VSVkVSX05BTUUgaXMgdXNlZCBvciAnbG9jYWxob3N0LmxvY2FsZG9tYWluJy48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SGVsbG88L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RIZWxsbyI+U01UUDo6SGVsbG8oKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBIRUxPIGNvbW1hbmQgdG8gdGhlIHNtdHAgc2VydmVyLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5IZWxwPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kSGVscCI+U01UUDo6SGVscCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+R2V0cyBoZWxwIGluZm9ybWF0aW9uIG9uIHRoZSBrZXl3b3JkIHNwZWNpZmllZC4gSWYgdGhlIGtleXdvcmQ8L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJpIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPmk8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzRXJyb3I8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZElzRXJyb3IiPlBIUE1haWxlcjo6SXNFcnJvcigpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5SZXR1cm5zIHRydWUgaWYgYW4gZXJyb3Igb2NjdXJyZWQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzSFRNTDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNIVE1MIj5QSFBNYWlsZXI6OklzSFRNTCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIG1lc3NhZ2UgdHlwZSB0byBIVE1MLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Jc01haWw8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZElzTWFpbCI+UEhQTWFpbGVyOjpJc01haWwoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIFBIUCBtYWlsKCkgZnVuY3Rpb24uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzUW1haWw8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI21ldGhvZElzUW1haWwiPlBIUE1haWxlcjo6SXNRbWFpbCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgdGhlIHFtYWlsIE1UQS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNTZW5kbWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNTZW5kbWFpbCI+UEhQTWFpbGVyOjpJc1NlbmRtYWlsKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgTWFpbGVyIHRvIHNlbmQgbWVzc2FnZSB1c2luZyB0aGUgJFNlbmRtYWlsIHByb2dyYW0uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzU01UUDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kSXNTTVRQIj5QSFBNYWlsZXI6OklzU01UUCgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgU01UUC48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJtIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPm08L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRNYWlsZXI8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRNYWlsZXIiPlBIUE1haWxlcjo6JE1haWxlcjwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+TWV0aG9kIHRvIHNlbmQgbWFpbDogKCZxdW90O21haWwmcXVvdDssICZxdW90O3NlbmRtYWlsJnF1b3Q7LCBvciAmcXVvdDtzbXRwJnF1b3Q7KS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+TWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZE1haWwiPlNNVFA6Ok1haWwoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlN0YXJ0cyBhIG1haWwgdHJhbnNhY3Rpb24gZnJvbSB0aGUgZW1haWwgYWRkcmVzcyBzcGVjaWZpZWQgaW4gICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUgIHRoZSBtYWlsIHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgYW5kIHRoZW4gb25lIG9yIG1vcmUgUmVjaXBpZW50ICBjb21tYW5kcyBtYXkgYmUgY2FsbGVkIGZvbGxvd2VkIGJ5IGEgRGF0YSBjb21tYW5kLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9Im4iPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+bjwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Tm9vcDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZE5vb3AiPlNNVFA6Ok5vb3AoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBjb21tYW5kIE5PT1AgdG8gdGhlIFNNVFAgc2VydmVyLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InAiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+cDwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFBhc3N3b3JkPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkUGFzc3dvcmQiPlBIUE1haWxlcjo6JFBhc3N3b3JkPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIFNNVFAgcGFzc3dvcmQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRQbHVnaW5EaXI8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRQbHVnaW5EaXIiPlBIUE1haWxlcjo6JFBsdWdpbkRpcjwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+UGF0aCB0byBQSFBNYWlsZXIgcGx1Z2lucy4gIFRoaXMgaXMgbm93IG9ubHkgdXNlZnVsIGlmIHRoZSBTTVRQIGNsYXNzICBpcyBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkgdGhhbiB0aGUgUEhQIGluY2x1ZGUgcGF0aC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFBvcnQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRQb3J0Ij5QSFBNYWlsZXI6OiRQb3J0PC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBkZWZhdWx0IFNNVFAgc2VydmVyIHBvcnQuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRQcmlvcml0eTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFByaW9yaXR5Ij5QSFBNYWlsZXI6OiRQcmlvcml0eTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+RW1haWwgcHJpb3JpdHkgKDEgPSBIaWdoLCAzID0gTm9ybWFsLCA1ID0gbG93KS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJUEhQTWFpbGVyCgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sIj5QSFBNYWlsZXI8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlBIUE1haWxlciAtIFBIUCBlbWFpbCB0cmFuc3BvcnQgY2xhc3M8L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJxIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPnE8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlF1aXQ8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RRdWl0Ij5TTVRQOjpRdWl0KCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZW5kcyB0aGUgcXVpdCBjb21tYW5kIHRvIHRoZSBzZXJ2ZXIgYW5kIHRoZW4gY2xvc2VzIHRoZSBzb2NrZXQgIGlmIHRoZXJlIGlzIG5vIGVycm9yIG9yIHRoZSAkY2xvc2Vfb25fZXJyb3IgYXJndW1lbnQgaXMgdHJ1ZS48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJyIj48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPnI8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlJlY2lwaWVudDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFJlY2lwaWVudCI+U01UUDo6UmVjaXBpZW50KCk8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZW5kcyB0aGUgY29tbWFuZCBSQ1BUIHRvIHRoZSBTTVRQIHNlcnZlciB3aXRoIHRoZSBUTzogYXJndW1lbnQgb2YgJHRvLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5SZXNldDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFJlc2V0Ij5TTVRQOjpSZXNldCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2VuZHMgdGhlIFJTRVQgY29tbWFuZCB0byBhYm9ydCBhbmQgdHJhbnNhY3Rpb24gdGhhdCBpcyAgY3VycmVudGx5IGluIHByb2dyZXNzLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBmYWxzZSAgb3RoZXJ3aXNlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InMiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+czwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFNlbmRlcjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFNlbmRlciI+UEhQTWFpbGVyOjokU2VuZGVyPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTZW5kZXIgZW1haWwgKFJldHVybi1QYXRoKSBvZiB0aGUgbWVzc2FnZS4gIElmIG5vdCBlbXB0eSwgIHdpbGwgYmUgc2VudCB2aWEgLWYgdG8gc2VuZG1haWwgb3IgYXMgJ01BSUwgRlJPTScgaW4gc210cCBtb2RlLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kU2VuZG1haWw8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRTZW5kbWFpbCI+UEhQTWFpbGVyOjokU2VuZG1haWw8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgdGhlIHBhdGggb2YgdGhlIHNlbmRtYWlsIHByb2dyYW0uPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRTTVRQQXV0aDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFNNVFBBdXRoIj5QSFBNYWlsZXI6OiRTTVRQQXV0aDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyBTTVRQIGF1dGhlbnRpY2F0aW9uLiBVdGlsaXplcyB0aGUgVXNlcm5hbWUgYW5kIFBhc3N3b3JkIHZhcmlhYmxlcy48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFNNVFBEZWJ1Zzwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFNNVFBEZWJ1ZyI+UEhQTWFpbGVyOjokU01UUERlYnVnPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIFNNVFAgY2xhc3MgZGVidWdnaW5nIG9uIG9yIG9mZi48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFNNVFBLZWVwQWxpdmU8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRTTVRQS2VlcEFsaXZlIj5QSFBNYWlsZXI6OiRTTVRQS2VlcEFsaXZlPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5QcmV2ZW50cyB0aGUgU01UUCBjb25uZWN0aW9uIGZyb20gYmVpbmcgY2xvc2VkIGFmdGVyIGVhY2ggbWFpbCAgc2VuZGluZy4gIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlbiB0byBjbG9zZSB0aGUgY29ubmVjdGlvbiAgcmVxdWlyZXMgYW4gZXhwbGljaXQgY2FsbCB0byBTbXRwQ2xvc2UoKS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFNNVFBfUE9SVDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI3ZhciRTTVRQX1BPUlQiPlNNVFA6OiRTTVRQX1BPUlQ8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TTVRQIHNlcnZlciBwb3J0PC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRTdWJqZWN0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkU3ViamVjdCI+UEhQTWFpbGVyOjokU3ViamVjdDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU3ViamVjdCBvZiB0aGUgbWVzc2FnZS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U2VuZDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFNlbmQiPlNNVFA6OlNlbmQoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlN0YXJ0cyBhIG1haWwgdHJhbnNhY3Rpb24gZnJvbSB0aGUgZW1haWwgYWRkcmVzcyBzcGVjaWZpZWQgaW48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U2VuZDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kU2VuZCI+UEhQTWFpbGVyOjpTZW5kKCk8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkNyZWF0ZXMgbWVzc2FnZSBhbmQgYXNzaWducyBNYWlsZXIuIElmIHRoZSBtZXNzYWdlIGlzICBub3Qgc2VudCBzdWNjZXNzZnVsbHkgdGhlbiBpdCByZXR1cm5zIGZhbHNlLiAgVXNlIHRoZSBFcnJvckluZm8gIHZhcmlhYmxlIHRvIHZpZXcgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kQW5kTWFpbDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFNlbmRBbmRNYWlsIj5TTVRQOjpTZW5kQW5kTWFpbCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kT3JNYWlsPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kU2VuZE9yTWFpbCI+U01UUDo6U2VuZE9yTWFpbCgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZXRMYW5ndWFnZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kU2V0TGFuZ3VhZ2UiPlBIUE1haWxlcjo6U2V0TGFuZ3VhZ2UoKTwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgbGFuZ3VhZ2UgZm9yIGFsbCBjbGFzcyBlcnJvciBtZXNzYWdlcy4gIFJldHVybnMgZmFsc2UgIGlmIGl0IGNhbm5vdCBsb2FkIHRoZSBsYW5ndWFnZSBmaWxlLiAgVGhlIGRlZmF1bHQgbGFuZ3VhZ2UgdHlwZSAgaXMgRW5nbGlzaC48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U01UUDwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvU01UUC5odG1sI21ldGhvZFNNVFAiPlNNVFA6OlNNVFAoKTwvYT4gaW4gY2xhc3Muc210cC5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkluaXRpYWxpemUgdGhlIGNsYXNzIHNvIHRoYXQgdGhlIGRhdGEgaXMgaW4gYSBrbm93biBzdGF0ZS48L2Rpdj4KCQkJCQk8L2RkPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJU01UUAoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwiPlNNVFA8L2E+IGluIGNsYXNzLnNtdHAucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TTVRQIGlzIHJmYyA4MjEgY29tcGxpYW50IGFuZCBpbXBsZW1lbnRzIGFsbCB0aGUgcmZjIDgyMSBTTVRQICBjb21tYW5kcyBleGNlcHQgVFVSTiB3aGljaCB3aWxsIGFsd2F5cyByZXR1cm4gYSBub3QgaW1wbGVtZW50ZWQgIGVycm9yLiBTTVRQIGFsc28gcHJvdmlkZXMgc29tZSB1dGlsaXR5IG1ldGhvZHMgZm9yIHNlbmRpbmcgbWFpbCAgdG8gYW4gU01UUCBzZXJ2ZXIuPC9kaXY+CgkJCQkJPC9kZD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPlNtdHBDbG9zZTwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjbWV0aG9kU210cENsb3NlIj5QSFBNYWlsZXI6OlNtdHBDbG9zZSgpPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5DbG9zZXMgdGhlIGFjdGl2ZSBTTVRQIHNlc3Npb24gaWYgb25lIGV4aXN0cy48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgk8YSBuYW1lPSJ0Ij48L2E+Cgk8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItc2VjdGlvbiI+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJpbmRleC1sZXR0ZXItdGl0bGUiPnQ8L2Rpdj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiN0b3AiPnRvcDwvYT48L2Rpdj4KCQk8ZGl2IHN0eWxlPSJjbGVhcjogYm90aCI+PC9kaXY+Cgk8L2Rpdj4KCTxkbD4KCQkJPGR0IGNsYXNzPSJmaWVsZCI+CgkJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPiRUaW1lb3V0PC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkVGltZW91dCI+UEhQTWFpbGVyOjokVGltZW91dDwvYT4gaW4gY2xhc3MucGhwbWFpbGVyLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU01UUCBzZXJ2ZXIgdGltZW91dCBpbiBzZWNvbmRzLiBUaGlzIGZ1bmN0aW9uIHdpbGwgbm90ICAgd29yayB3aXRoIHRoZSB3aW4zMiB2ZXJzaW9uLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5UdXJuPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9TTVRQLmh0bWwjbWV0aG9kVHVybiI+U01UUDo6VHVybigpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+VGhpcyBpcyBhbiBvcHRpb25hbCBjb21tYW5kIGZvciBTTVRQIHRoYXQgdGhpcyBjbGFzcyBkb2VzIG5vdCAgc3VwcG9ydC4gVGhpcyBtZXRob2QgaXMgaGVyZSB0byBtYWtlIHRoZSBSRkM4MjEgRGVmaW5pdGlvbiAgY29tcGxldGUgZm9yIHRoaXMgY2xhc3MgYW5kIF9fbWF5X18gYmUgaW1wbGltZW50ZWQgaW4gdGhlIGZ1dHVyZTwvZGl2PgoJCQkJCTwvZGQ+CgkJPC9kbD4KCTxhIG5hbWU9InUiPjwvYT4KCTxkaXYgY2xhc3M9ImluZGV4LWxldHRlci1zZWN0aW9uIj4KCQk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImluZGV4LWxldHRlci10aXRsZSI+dTwvZGl2PgoJCTxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCI+PGEgaHJlZj0iI3RvcCI+dG9wPC9hPjwvZGl2PgoJCTxkaXYgc3R5bGU9ImNsZWFyOiBib3RoIj48L2Rpdj4KCTwvZGl2PgoJPGRsPgoJCQk8ZHQgY2xhc3M9ImZpZWxkIj4KCQkJCQkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+JFVzZXJuYW1lPC9zcGFuPgoJCQkJCTwvZHQ+CgkJPGRkIGNsYXNzPSJpbmRleC1pdGVtLWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRldGFpbHMiPjxhIGhyZWY9IlBIUE1haWxlci9QSFBNYWlsZXIuaHRtbCN2YXIkVXNlcm5hbWUiPlBIUE1haWxlcjo6JFVzZXJuYW1lPC9hPiBpbiBjbGFzcy5waHBtYWlsZXIucGhwPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJpbmRleC1pdGVtLWRlc2NyaXB0aW9uIj5TZXRzIFNNVFAgdXNlcm5hbWUuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0idiI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj52PC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kVmVyc2lvbjwvc3Bhbj4KCQkJCQk8L2R0PgoJCTxkZCBjbGFzcz0iaW5kZXgtaXRlbS1ib2R5Ij4KCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXRhaWxzIj48YSBocmVmPSJQSFBNYWlsZXIvUEhQTWFpbGVyLmh0bWwjdmFyJFZlcnNpb24iPlBIUE1haWxlcjo6JFZlcnNpb248L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPkhvbGRzIFBIUE1haWxlciB2ZXJzaW9uLjwvZGl2PgoJCQkJCTwvZGQ+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5WZXJpZnk8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1NNVFAuaHRtbCNtZXRob2RWZXJpZnkiPlNNVFA6OlZlcmlmeSgpPC9hPiBpbiBjbGFzcy5zbXRwLnBocDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiI+VmVyaWZpZXMgdGhhdCB0aGUgbmFtZSBpcyByZWNvZ25pemVkIGJ5IHRoZSBzZXJ2ZXIuPC9kaXY+CgkJCQkJPC9kZD4KCQk8L2RsPgoJPGEgbmFtZT0idyI+PC9hPgoJPGRpdiBjbGFzcz0iaW5kZXgtbGV0dGVyLXNlY3Rpb24iPgoJCTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iaW5kZXgtbGV0dGVyLXRpdGxlIj53PC9kaXY+CgkJPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0Ij48YSBocmVmPSIjdG9wIj50b3A8L2E+PC9kaXY+CgkJPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGgiPjwvZGl2PgoJPC9kaXY+Cgk8ZGw+CgkJCTxkdCBjbGFzcz0iZmllbGQiPgoJCQkJCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4kV29yZFdyYXA8L3NwYW4+CgkJCQkJPC9kdD4KCQk8ZGQgY2xhc3M9ImluZGV4LWl0ZW0tYm9keSI+CgkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGV0YWlscyI+PGEgaHJlZj0iUEhQTWFpbGVyL1BIUE1haWxlci5odG1sI3ZhciRXb3JkV3JhcCI+UEhQTWFpbGVyOjokV29yZFdyYXA8L2E+IGluIGNsYXNzLnBocG1haWxlci5waHA8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImluZGV4LWl0ZW0tZGVzY3JpcHRpb24iPlNldHMgd29yZCB3cmFwcGluZyBvbiB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZSB0byBhIGdpdmVuIG51bWJlciBvZiAgY2hhcmFjdGVycy48L2Rpdj4KCQkJCQk8L2RkPgoJCTwvZGw+Cgo8ZGl2IGNsYXNzPSJpbmRleC1sZXR0ZXItbWVudSI+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjYSI+YTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNiIj5iPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI2MiPmM8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjZCI+ZDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNlIj5lPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI2YiPmY8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjaCI+aDwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNpIj5pPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI20iPm08L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjbiI+bjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNwIj5wPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3EiPnE8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjciI+cjwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCNzIj5zPC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3QiPnQ8L2E+Cgk8YSBjbGFzcz0iaW5kZXgtbGV0dGVyIiBocmVmPSJlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwjdSI+dTwvYT4KCTxhIGNsYXNzPSJpbmRleC1sZXR0ZXIiIGhyZWY9ImVsZW1lbnRpbmRleF9QSFBNYWlsZXIuaHRtbCN2Ij52PC9hPgoJPGEgY2xhc3M9ImluZGV4LWxldHRlciIgaHJlZj0iZWxlbWVudGluZGV4X1BIUE1haWxlci5odG1sI3ciPnc8L2E+CjwvZGl2Pgk8L2JvZHk+CjwvaHRtbD4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/errors.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPnBocERvY3VtZW50b3IgUGFyc2VyIEVycm9ycyBhbmQgV2FybmluZ3M8L3RpdGxlPgoJCQk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im1lZGlhL3N0eWxlc2hlZXQuY3NzIiAvPgoJCQk8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xJy8+CgkJPC9oZWFkPgoJCTxib2R5PgoJCQkJCQk8YSBocmVmPSIjUG9zdC1wYXJzaW5nIj5Qb3N0LXBhcnNpbmc8L2E+PGJyPgo8YSBocmVmPSIjY2xhc3Muc210cC5waHAiPmNsYXNzLnNtdHAucGhwPC9hPjxicj4KPGgxPmNsYXNzLnBocG1haWxlci5waHA8L2gxPgo8aDI+V2FybmluZ3M6PC9oMj48YnI+CjxiPldhcm5pbmcgb24gbGluZSAxNTMwPC9iPiAtIG5vIEBwYWNrYWdlIHRhZyB3YXMgdXNlZCBpbiBhIERvY0Jsb2NrIGZvciBmaWxlIEM6XGRldlxwaHBEb2N1bWVudG9yLTEuMi4wXENsYXNzZXNcY2xhc3MucGhwbWFpbGVyLnBocDxicj4KPGgxPmNsYXNzLnNtdHAucGhwPC9oMT4KPGgyPldhcm5pbmdzOjwvaDI+PGJyPgo8Yj5XYXJuaW5nIG9uIGxpbmUgMTAzOTwvYj4gLSBubyBAcGFja2FnZSB0YWcgd2FzIHVzZWQgaW4gYSBEb2NCbG9jayBmb3IgZmlsZSBDOlxkZXZccGhwRG9jdW1lbnRvci0xLjIuMFxDbGFzc2VzXGNsYXNzLnNtdHAucGhwPGJyPgoJPHAgY2xhc3M9Im5vdGVzIiBpZD0iY3JlZGl0Ij4KCQlEb2N1bWVudGlvbiBnZW5lcmF0ZWQgb24gTW9uLCAyOCBKdWwgMjAwMyAyMzoyNTo1MCAtMDQwMCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciIHRhcmdldD0iX2JsYW5rIj5waHBEb2N1bWVudG9yIDEuMi4wPC9hPgoJPC9wPgoJPC9ib2R5Pgo8L2h0bWw+]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/index.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCAKICAgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0ZSIgogICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1mcmFtZXNldC5kdGQiPgogICA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgoJPCEtLSBHZW5lcmF0ZWQgYnkgcGhwRG9jdW1lbnRvciBvbiBNb24sIDI4IEp1bCAyMDAzIDIzOjI1OjQ5IC0wNDAwICAtLT4KICA8dGl0bGU+R2VuZXJhdGVkIERvY3VtZW50YXRpb248L3RpdGxlPgogIDxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KPC9oZWFkPgoKPEZSQU1FU0VUIHJvd3M9JzEwMCwqJz4KCTxGUkFNRSBzcmM9J3BhY2thZ2VzLmh0bWwnIG5hbWU9J2xlZnRfdG9wJyBmcmFtZWJvcmRlcj0iMSIgYm9yZGVyY29sb3I9IiM5OTk5OTkiPgoJPEZSQU1FU0VUIGNvbHM9JzI1JSwqJz4KCQk8RlJBTUUgc3JjPSdsaV9QSFBNYWlsZXIuaHRtbCcgbmFtZT0nbGVmdF9ib3R0b20nIGZyYW1lYm9yZGVyPSIxIiBib3JkZXJjb2xvcj0iIzk5OTk5OSI+CgkJPEZSQU1FIHNyYz0nYmxhbmsuaHRtbCcgbmFtZT0ncmlnaHQnIGZyYW1lYm9yZGVyPSIxIiBib3JkZXJjb2xvcj0iIzk5OTk5OSI+Cgk8L0ZSQU1FU0VUPgoJPE5PRlJBTUVTPgoJCTxIMj5GcmFtZSBBbGVydDwvSDI+CgkJPFA+VGhpcyBkb2N1bWVudCBpcyBkZXNpZ25lZCB0byBiZSB2aWV3ZWQgdXNpbmcgdGhlIGZyYW1lcyBmZWF0dXJlLgoJCUlmIHlvdSBzZWUgdGhpcyBtZXNzYWdlLCB5b3UgYXJlIHVzaW5nIGEgbm9uLWZyYW1lLWNhcGFibGUgd2ViIGNsaWVudC48L1A+Cgk8L05PRlJBTUVTPgo8L0ZSQU1FU0VUPgo8L0hUTUw+]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/li_PHPMailer.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCQkJCTxkaXYgY2xhc3M9InBhY2thZ2UtdGl0bGUiPlBIUE1haWxlcjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWNrYWdlLWRldGFpbHMiPgoKCTxkbCBjbGFzcz0idHJlZSI+CgkJCgkJPGR0IGNsYXNzPSJmb2xkZXItdGl0bGUiPkRlc2NyaXB0aW9uPC9kdD4KCQk8ZGQ+CgkJCTxhIGhyZWY9J2NsYXNzdHJlZXNfUEhQTWFpbGVyLmh0bWwnIHRhcmdldD0ncmlnaHQnPkNsYXNzIHRyZWVzPC9hPjxiciAvPgoJCQk8YSBocmVmPSdlbGVtZW50aW5kZXhfUEhQTWFpbGVyLmh0bWwnIHRhcmdldD0ncmlnaHQnPkluZGV4IG9mIGVsZW1lbnRzPC9hPjxiciAvPgoJCQkJCTwvZGQ+CgkKCQkJCQkJCQoJCQkJCQkJCgkJCQkJCQkJCQkJCQk8ZHQgY2xhc3M9ImZvbGRlci10aXRsZSI+Q2xhc3NlczwvZHQ+CgkJCQkJCQkJCQkJPGRkPjxhIGhyZWY9J1BIUE1haWxlci9QSFBNYWlsZXIuaHRtbCcgdGFyZ2V0PSdyaWdodCc+UEhQTWFpbGVyPC9hPjwvZGQ+CgkJCQkJCQkJCQkJPGRkPjxhIGhyZWY9J1BIUE1haWxlci9TTVRQLmh0bWwnIHRhcmdldD0ncmlnaHQnPlNNVFA8L2E+PC9kZD4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCTxkdCBjbGFzcz0iZm9sZGVyLXRpdGxlIj5GaWxlczwvZHQ+CgkJCQkJCQkJCQkJPGRkPjxhIGhyZWY9J1BIUE1haWxlci9fY2xhc3NfcGhwbWFpbGVyX3BocC5odG1sJyB0YXJnZXQ9J3JpZ2h0Jz5jbGFzcy5waHBtYWlsZXIucGhwPC9hPjwvZGQ+CgkJCQkJCQkJCQkJPGRkPjxhIGhyZWY9J1BIUE1haWxlci9fY2xhc3Nfc210cF9waHAuaHRtbCcgdGFyZ2V0PSdyaWdodCc+Y2xhc3Muc210cC5waHA8L2E+PC9kZD4KCQkJCQkJCQkJCQkJCQkJCQkKCQkJCQkJCgkJCTwvZGw+CjwvZGl2Pgo8cCBjbGFzcz0ibm90ZXMiPjxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnBocERvY3VtZW50b3IgdiA8c3BhbiBjbGFzcz0iZmllbGQiPjEuMi4wPC9zcGFuPjwvYT48L3A+CjwvQk9EWT4KPC9IVE1MPg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/media/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/media/banner.css</filename>
    <isdir>0</isdir>
    <data><![CDATA[Ym9keSAKeyAKCWJhY2tncm91bmQtY29sb3I6ICNDQ0NDRkY7IAoJbWFyZ2luOiAwcHg7IAoJcGFkZGluZzogMHB4Owp9CgovKiBCYW5uZXIgKHRvcCBiYXIpIGNsYXNzZXMgKi8KCi5iYW5uZXIgeyAgfQoKLmJhbm5lci1tZW51IAp7IAoJY2xlYXI6IGJvdGg7CglwYWRkaW5nOiAuNWVtOwoJYm9yZGVyLXRvcDogMnB4IHNvbGlkICM2NjY2QUE7CQp9CgouYmFubmVyLXRpdGxlIAp7IAoJdGV4dC1hbGlnbjogcmlnaHQ7IAoJZm9udC1zaXplOiAyMHB0OyAKCWZvbnQtd2VpZ2h0OiBib2xkOyAKCW1hcmdpbjogLjJlbTsKfQoKLnBhY2thZ2Utc2VsZWN0b3IgCnsgCgliYWNrZ3JvdW5kLWNvbG9yOiAjQUFBQUREOyAKCWJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyAKCWNvbG9yOiB5ZWxsb3c7Cn0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/media/stylesheet.css</filename>
    <isdir>0</isdir>
    <data><![CDATA[YSB7IGNvbG9yOiAjMzM2Njk5OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KYTpob3ZlciB7IGNvbG9yOiAjNjY5OUNDOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQphOmFjdGl2ZSB7IGNvbG9yOiAjNjY5OUNDOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQoKYm9keSwgdGFibGUgeyBmb250LWZhbWlseTogR2VvcmdpYSwgVGltZXMgTmV3IFJvbWFuLCBUaW1lcywgc2VyaWY7IGZvbnQtc2l6ZTogMTBwdCB9CnAsIGxpIHsgbGluZS1oZWlnaHQ6IDE0MCUgfQphIGltZyB7IGJvcmRlcjogMHB4OyB9CmRkIHsgbWFyZ2luLWxlZnQ6IDBweDsgcGFkZGluZy1sZWZ0OiAxZW07IH0KCi8qIFBhZ2UgbGF5b3V0L2JveGVzICovCgouaW5mby1ib3gge30KLmluZm8tYm94LXRpdGxlIHsgbWFyZ2luOiAxZW0gMGVtIDBlbSAwZW07IHBhZGRpbmc6IC4yNWVtOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDE0cHQ7IGJvcmRlcjogMnB4IHNvbGlkICM5OTk5OTk7IGJhY2tncm91bmQtY29sb3I6ICNDQ0NDRkYgfQouaW5mby1ib3gtYm9keSB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7IHBhZGRpbmc6IC41ZW07IH0KLm5hdi1iYXIgeyBmb250LXNpemU6IDhwdDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmc6IC4yZW07IG1hcmdpbjogMGVtIDBlbSAxZW0gMGVtOyB9Cgoub2Rkcm93IHsgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODsgYm9yZGVyOiAxcHggc29saWQgI0FBQUFBQTsgcGFkZGluZzogLjVlbTsgbWFyZ2luLWJvdHRvbTogMWVtfQouZXZlbnJvdyB7IGJvcmRlcjogMXB4IHNvbGlkICNBQUFBQUE7IHBhZGRpbmc6IC41ZW07IG1hcmdpbi1ib3R0b206IDFlbX0KCi5wYWdlLWJvZHkgeyBtYXgtd2lkdGg6IDgwMHB4OyBtYXJnaW46IGF1dG87IH0KLnRyZWUgZGwgeyBtYXJnaW46IDBweCB9CgovKiBJbmRleCBmb3JtYXR0aW5nIGNsYXNzZXMgKi8KCi5pbmRleC1pdGVtLWJvZHkgeyBtYXJnaW4tdG9wOiAuNWVtOyBtYXJnaW4tYm90dG9tOiAuNWVtfQouaW5kZXgtaXRlbS1kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IC4yNWVtIH0KLmluZGV4LWl0ZW0tZGV0YWlscyB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiA4cHQgfQouaW5kZXgtbGV0dGVyLXNlY3Rpb24geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFOyBib3JkZXI6IDFweCBkb3R0ZWQgIzk5OTk5OTsgcGFkZGluZzogLjVlbTsgbWFyZ2luLWJvdHRvbTogMWVtfQouaW5kZXgtbGV0dGVyLXRpdGxlIHsgZm9udC1zaXplOiAxMnB0OyBmb250LXdlaWdodDogYm9sZCB9Ci5pbmRleC1sZXR0ZXItbWVudSB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAxZW0gfQouaW5kZXgtbGV0dGVyIHsgZm9udC1zaXplOiAxMnB0IH0KCi8qIERvY2Jvb2sgY2xhc3NlcyAqLwoKLmRlc2NyaXB0aW9uIHt9Ci5zaG9ydC1kZXNjcmlwdGlvbiB7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzY2NjY2NjsgfQoudGFncyB7CXBhZGRpbmctbGVmdDogMGVtOyBtYXJnaW4tbGVmdDogM2VtOyBjb2xvcjogIzY2NjY2NjsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IH0KLnBhcmFtZXRlcnMgewlwYWRkaW5nLWxlZnQ6IDBlbTsgbWFyZ2luLWxlZnQ6IDNlbTsgZm9udC1zdHlsZTogaXRhbGljOyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgfQoucmVkZWZpbml0aW9ucyB7IGZvbnQtc2l6ZTogOHB0OyBwYWRkaW5nLWxlZnQ6IDBlbTsgbWFyZ2luLWxlZnQ6IDJlbTsgfQoucGFja2FnZSB7ICB9Ci5wYWNrYWdlLXRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMTRwdDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrIH0KLnBhY2thZ2UtZGV0YWlscyB7IGZvbnQtc2l6ZTogODUlOyB9Ci5zdWItcGFja2FnZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDEyMCUgfQoudHV0b3JpYWwgeyBib3JkZXItd2lkdGg6IHRoaW47IGJvcmRlci1jb2xvcjogIzAwNjZmZiB9Ci50dXRvcmlhbC1uYXYtYm94IHsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7IGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7IH0KLm5hdi1idXR0b24tZGlzYWJsZWQgeyBjb2xvcjogIzk5OTk5OTsgfQoubmF2LWJ1dHRvbjphY3RpdmUsIAoubmF2LWJ1dHRvbjpmb2N1cywgCi5uYXYtYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDsgb3V0bGluZTogMXB4IHNvbGlkICM5OTk5OTk7IHRleHQtZGVjb3JhdGlvbjogbm9uZSB9Ci5mb2xkZXItdGl0bGUgeyBmb250LXN0eWxlOiBpdGFsaWMgfQoKLyogR2VuZXJpYyBmb3JtYXR0aW5nICovCgouZmllbGQgeyBmb250LXdlaWdodDogYm9sZDsgfQouZGV0YWlsIHsgZm9udC1zaXplOiA4cHQ7IH0KLm5vdGVzIHsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDhwdDsgfQouc2VwYXJhdG9yIHsgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTsgaGVpZ2h0OiAycHg7IH0KLndhcm5pbmcgeyAgY29sb3I6ICNGRjY2MDA7IH0KLmRpc2FibGVkIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogIzk5OTk5OTsgfQoKLyogQ29kZSBlbGVtZW50cyAqLwoKLmxpbmUtbnVtYmVyIHsgIH0KCi5jbGFzcy10YWJsZSB7IHdpZHRoOiAxMDAlOyB9Ci5jbGFzcy10YWJsZS1oZWFkZXIgeyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY2NjY7IHRleHQtYWxpZ246IGxlZnR9Ci5jbGFzcy1uYW1lIHsgY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CgoubWV0aG9kLXN1bW1hcnkgeyBwYWRkaW5nLWxlZnQ6IDFlbTsgZm9udC1zaXplOiA4cHQgfQoubWV0aG9kLWhlYWRlciB7IH0KLm1ldGhvZC1kZWZpbml0aW9uIHsgbWFyZ2luLWJvdHRvbTogLjNlbSB9Ci5tZXRob2QtdGl0bGUgeyBmb250LXdlaWdodDogYm9sZDsgfQoubWV0aG9kLW5hbWUgeyBmb250LXdlaWdodDogYm9sZDsgfQoubWV0aG9kLXNpZ25hdHVyZSB7IGZvbnQtc2l6ZTogODUlOyBjb2xvcjogIzY2NjY2NjsgbWFyZ2luOiAuNWVtIDBlbSB9Ci5tZXRob2QtcmVzdWx0IHsgZm9udC1zdHlsZTogaXRhbGljOyB9CgoudmFyLXN1bW1hcnkgeyBwYWRkaW5nLWxlZnQ6IDFlbTsgZm9udC1zaXplOiA4cHQ7IH0KLnZhci1oZWFkZXIgeyB9Ci52YXItdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAuM2VtIH0KLnZhci10eXBlIHsgZm9udC1zdHlsZTogaXRhbGljOyB9Ci52YXItbmFtZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Ci52YXItZGVmYXVsdCB7fQoudmFyLWRlc2NyaXB0aW9uIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICMwMDAwMDA7IH0KCi5pbmNsdWRlLXRpdGxlIHsgIH0KLmluY2x1ZGUtdHlwZSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQouaW5jbHVkZS1uYW1lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KCi5jb25zdC10aXRsZSB7ICB9Ci5jb25zdC1uYW1lIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KCi8qIFN5bnRheCBoaWdobGlnaHRpbmcgKi8KCi5zcmMtY29kZSB7ICBib3JkZXI6IDFweCBzb2xpZCAjMzM2Njk5OyBwYWRkaW5nOiAxZW07IGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7IH0KCi5zcmMtY29tbSB7IGNvbG9yOiBncmVlbjsgfQouc3JjLWlkIHsgIH0KLnNyYy1pbmMgeyBjb2xvcjogIzAwMDBGRjsgfQouc3JjLWtleSB7IGNvbG9yOiAjMDAwMEZGOyB9Ci5zcmMtbnVtIHsgY29sb3I6ICNDQzAwMDA7IH0KLnNyYy1zdHIgeyBjb2xvcjogIzY2Y2NjYzsgfQouc3JjLXN5bSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Ci5zcmMtdmFyIHsgfQoKLnNyYy1waHAgeyBmb250LXdlaWdodDogYm9sZDsgfQoKLnNyYy1kb2MgeyBjb2xvcjogIzAwOTk5OSB9Ci5zcmMtZG9jLWNsb3NlLXRlbXBsYXRlIHsgY29sb3I6ICMwMDAwRkYgfQouc3JjLWRvYy1jb3JldGFnIHsgY29sb3I6ICMwMDk5RkY7IGZvbnQtd2VpZ2h0OiBib2xkIH0KLnNyYy1kb2MtaW5saW5ldGFnIHsgY29sb3I6ICMwMDk5RkYgfQouc3JjLWRvYy1pbnRlcm5hbCB7IGNvbG9yOiAjNjY5OWNjIH0KLnNyYy1kb2MtdGFnIHsgY29sb3I6ICMwMDgwQ0MgfQouc3JjLWRvYy10ZW1wbGF0ZSB7IGNvbG9yOiAjMDAwMEZGIH0KLnNyYy1kb2MtdHlwZSB7IGZvbnQtc3R5bGU6IGl0YWxpYyB9Ci5zcmMtZG9jLXZhciB7IGZvbnQtc3R5bGU6IGl0YWxpYyB9CgovKiB0dXRvcmlhbCAqLwoKLmF1dGhvcnMgeyAgfQouYXV0aG9yIHsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogYm9sZCB9Ci5hdXRob3ItYmx1cmIgeyBtYXJnaW46IC41ZW0gMGVtIC41ZW0gMmVtOyBmb250LXNpemU6IDg1JTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogbm9ybWFsIH0KLmV4YW1wbGUgeyBib3JkZXI6IDFweCBkYXNoZWQgIzk5OTk5OTsgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTsgcGFkZGluZzogLjVlbSB9Ci5saXN0aW5nIHsgYm9yZGVyOiAxcHggZGFzaGVkICM5OTk5OTk7IGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7IHBhZGRpbmc6IC41ZW07IHdoaXRlLXNwYWNlOiBub3dyYXAgfQoucmVsZWFzZS1pbmZvIHsgZm9udC1zaXplOiA4NSU7IGZvbnQtc3R5bGU6IGl0YWxpYzsgbWFyZ2luOiAxZW0gMGVtIH0KLnJlZi10aXRsZS1ib3ggeyAgfQoucmVmLXRpdGxlIHsgIH0KLnJlZi1wdXJwb3NlIHsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogIzY2NjY2NiB9Ci5yZWYtc3lub3BzaXMgeyAgfQoudGl0bGUgeyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luOiAxZW0gMGVtIDBlbSAwZW07IHBhZGRpbmc6IC4yNWVtOyBib3JkZXI6IDJweCBzb2xpZCAjOTk5OTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDQ0ZGICB9Ci5jbWQtc3lub3BzaXMgeyBtYXJnaW46IDFlbSAwZW0gfQouY21kLXRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQgfQoudG9jIHsgbWFyZ2luLWxlZnQ6IDJlbTsgcGFkZGluZy1sZWZ0OiAwZW0gfQoK]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/packages.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibWVkaWEvYmFubmVyLmNzcyIgLz4KCQkJPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMScvPgoJCTwvaGVhZD4KCQk8Ym9keT4KCQkJPGRpdiBjbGFzcz0iYmFubmVyIj4KCQkJCTxkaXYgY2xhc3M9ImJhbm5lci10aXRsZSI+UEhQTWFpbGVyPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJiYW5uZXItbWVudSI+CgkgICAgICAgIDx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJ3aWR0aDogMTAwJSI+CgkgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KCQkJCQkJCQkgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMmVtIj4mbmJzcDs8L3RkPgogICAgICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQiPgoJCQkJCQkJCSAgICAgICAgICAgICAgPC90ZD4KCQkJCQkJPC90cj4KICAgICAgICAgIDwvdGFibGU+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9ib2R5PgoJPC9odG1sPg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/PHPMailer/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/PHPMailer/PHPMailer.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPkRvY3MgRm9yIENsYXNzIFBIUE1haWxlcjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vbWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCTxkaXYgY2xhc3M9InBhZ2UtYm9keSI+CQkJCjxoMiBjbGFzcz0iY2xhc3MtbmFtZSI+Q2xhc3MgUEhQTWFpbGVyPC9oMj4KCjxhIG5hbWU9InNlYy1kZXNjcmlwdGlvbiI+PC9hPgo8ZGl2IGNsYXNzPSJpbmZvLWJveCI+Cgk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+RGVzY3JpcHRpb248L2Rpdj4KCTxkaXYgY2xhc3M9Im5hdi1iYXIiPgoJCQkJCTxzcGFuIGNsYXNzPSJkaXNhYmxlZCI+RGVzY3JpcHRpb248L3NwYW4+IHwKCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtdmFyLXN1bW1hcnkiPlZhcnM8L2E+ICg8YSBocmVmPSIjc2VjLXZhcnMiPmRldGFpbHM8L2E+KQoJCQkJCQl8CQkJCQkJCQkJCQk8YSBocmVmPSIjc2VjLW1ldGhvZC1zdW1tYXJ5Ij5NZXRob2RzPC9hPiAoPGEgaHJlZj0iI3NlYy1tZXRob2RzIj5kZXRhaWxzPC9hPikKCQkJCQkJCgkJCTwvZGl2PgoJPGRpdiBjbGFzcz0iaW5mby1ib3gtYm9keSI+CgkJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlBIUE1haWxlciAtIFBIUCBlbWFpbCB0cmFuc3BvcnQgY2xhc3M8L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+Y29weXJpZ2h0Ojwvc3Bhbj4gPHA+MjAwMSAtIDIwMDMgQnJlbnQgUi4gTWF0emVsbGU8L3A+PC9saT4KCQkJCTxsaT48c3BhbiBjbGFzcz0iZmllbGQiPmF1dGhvcjo8L3NwYW4+IDxwPkJyZW50IFIuIE1hdHplbGxlPC9wPjwvbGk+CgkJCTwvdWw+CgkJPHAgY2xhc3M9Im5vdGVzIj4KCQkJTG9jYXRlZCBpbiA8YSBjbGFzcz0iZmllbGQiIGhyZWY9Il9jbGFzc19waHBtYWlsZXJfcGhwLmh0bWwiPlByb2dyYW1fUm9vdC9jbGFzcy5waHBtYWlsZXIucGhwPC9hPiAobGluZSA8c3BhbiBjbGFzcz0iZmllbGQiPjIwPC9zcGFuPikKCQk8L3A+CgkJCgkJCQkKCQk8cHJlPjwvcHJlPgoJCgkJCTwvZGl2Pgo8L2Rpdj4KCgoJPGEgbmFtZT0ic2VjLXZhci1zdW1tYXJ5Ij48L2E+Cgk8ZGl2IGNsYXNzPSJpbmZvLWJveCI+CgkJPGRpdiBjbGFzcz0iaW5mby1ib3gtdGl0bGUiPlZhcmlhYmxlIFN1bW1hcnk8L3NwYW4+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCTxzcGFuIGNsYXNzPSJkaXNhYmxlZCI+VmFyczwvc3Bhbj4gKDxhIGhyZWY9IiNzZWMtdmFycyI+ZGV0YWlsczwvYT4pCgkJCQkJCQl8IAoJCQkJCQkJCQk8YSBocmVmPSIjc2VjLW1ldGhvZC1zdW1tYXJ5Ij5NZXRob2RzPC9hPiAoPGEgaHJlZj0iI3NlYy1tZXRob2RzIj5kZXRhaWxzPC9hPikKCQkJCQkJCQoJCQkJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LWJvZHkiPgoJCQk8ZGl2IGNsYXNzPSJ2YXItc3VtbWFyeSI+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJEFsdEJvZHkiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRBbHRCb2R5PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJEJvZHkiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRCb2R5PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJENoYXJTZXQiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRDaGFyU2V0PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJENvbmZpcm1SZWFkaW5nVG8iIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRDb25maXJtUmVhZGluZ1RvPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJENvbnRlbnRUeXBlIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kQ29udGVudFR5cGU8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkRW5jb2RpbmciIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRFbmNvZGluZzwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRFcnJvckluZm8iIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRFcnJvckluZm88L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkRnJvbSIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JEZyb208L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkRnJvbU5hbWUiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRGcm9tTmFtZTwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRIZWxvIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kSGVsbzwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRIb3N0IiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kSG9zdDwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRIb3N0bmFtZSIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JEhvc3RuYW1lPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJE1haWxlciIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JE1haWxlcjwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRQYXNzd29yZCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFBhc3N3b3JkPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFBsdWdpbkRpciIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFBsdWdpbkRpcjwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5pbnQ8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRQb3J0IiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kUG9ydDwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5pbnQ8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRQcmlvcml0eSIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFByaW9yaXR5PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFNlbmRlciIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFNlbmRlcjwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJCTxkaXYgY2xhc3M9InZhci10aXRsZSI+CgkJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRTZW5kbWFpbCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFNlbmRtYWlsPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPmJvb2w8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRTTVRQQXV0aCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFNNVFBBdXRoPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPmJvb2w8L3NwYW4+CgkJCQkJPGEgaHJlZj0iIyRTTVRQRGVidWciIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRTTVRQRGVidWc8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFNNVFBLZWVwQWxpdmUiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRTTVRQS2VlcEFsaXZlPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFN1YmplY3QiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRTdWJqZWN0PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPmludDwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFRpbWVvdXQiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRUaW1lb3V0PC9hPgoJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJFVzZXJuYW1lIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kVXNlcm5hbWU8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkVmVyc2lvbiIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JFZlcnNpb248L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+aW50PC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkV29yZFdyYXAiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0idmFyLW5hbWUiPiRXb3JkV3JhcDwvYT4KCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KCgk8YSBuYW1lPSJzZWMtbWV0aG9kLXN1bW1hcnkiPjwvYT4KCTxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+TWV0aG9kIFN1bW1hcnk8L3NwYW4+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtdmFyLXN1bW1hcnkiPlZhcnM8L2E+ICg8YSBocmVmPSIjc2VjLXZhcnMiPmRldGFpbHM8L2E+KQoJCQkJIAoJCQkJfAoJCQkJCQk8c3BhbiBjbGFzcz0iZGlzYWJsZWQiPk1ldGhvZHM8L3NwYW4+ICg8YSBocmVmPSIjc2VjLW1ldGhvZHMiPmRldGFpbHM8L2E+KQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LWJvZHkiPgkJCQoJCQk8ZGl2IGNsYXNzPSJtZXRob2Qtc3VtbWFyeSI+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQWRkQWRkcmVzcyIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+QWRkQWRkcmVzczwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kYWRkcmVzczwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQWRkQXR0YWNobWVudCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+QWRkQXR0YWNobWVudDwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kcGF0aDwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGVuY29kaW5nPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImJhc2U2NCI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHR5cGU8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNBZGRCQ0MiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkFkZEJDQzwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kYWRkcmVzczwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQWRkQ0MiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkFkZENDPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRhZGRyZXNzPC9zcGFuPiwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNBZGRDdXN0b21IZWFkZXIiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkFkZEN1c3RvbUhlYWRlcjwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRjdXN0b21faGVhZGVyPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQWRkRW1iZWRkZWRJbWFnZSIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+QWRkRW1iZWRkZWRJbWFnZTwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kcGF0aDwvc3Bhbj4sIDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGNpZDwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGVuY29kaW5nPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImJhc2U2NCI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHR5cGU8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNBZGRSZXBseVRvIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5BZGRSZXBseVRvPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRhZGRyZXNzPC9zcGFuPiwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNBZGRTdHJpbmdBdHRhY2htZW50IiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5BZGRTdHJpbmdBdHRhY2htZW50PC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRzdHJpbmc8L3NwYW4+LCA8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRmaWxlbmFtZTwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRlbmNvZGluZzwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiJiYXNlNjQiPC9zcGFuPl0sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiR0eXBlPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI8L3NwYW4+XSkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQ2xlYXJBZGRyZXNzZXMiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkNsZWFyQWRkcmVzc2VzPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQ2xlYXJBbGxSZWNpcGllbnRzIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5DbGVhckFsbFJlY2lwaWVudHM8L2E+CgkJCQkJCQkJCQkoKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNDbGVhckF0dGFjaG1lbnRzIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5DbGVhckF0dGFjaG1lbnRzPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQ2xlYXJCQ0NzIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5DbGVhckJDQ3M8L2E+CgkJCQkJCQkJCQkoKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNDbGVhckNDcyIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+Q2xlYXJDQ3M8L2E+CgkJCQkJCQkJCQkoKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNDbGVhckN1c3RvbUhlYWRlcnMiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkNsZWFyQ3VzdG9tSGVhZGVyczwvYT4KCQkJCQkJCQkJCSgpCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI0NsZWFyUmVwbHlUb3MiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkNsZWFyUmVwbHlUb3M8L2E+CgkJCQkJCQkJCQkoKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNJc0Vycm9yIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5Jc0Vycm9yPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjSXNIVE1MIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5Jc0hUTUw8L2E+CgkJCQkJCQkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRib29sPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjSXNNYWlsIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5Jc01haWw8L2E+CgkJCQkJCQkJCQkoKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNJc1FtYWlsIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5Jc1FtYWlsPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjSXNTZW5kbWFpbCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+SXNTZW5kbWFpbDwvYT4KCQkJCQkJCQkJCSgpCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI0lzU01UUCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+SXNTTVRQPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjU2VuZCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+U2VuZDwvYT4KCQkJCQkJCQkJCSgpCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI1NldExhbmd1YWdlIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5TZXRMYW5ndWFnZTwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbGFuZ190eXBlPC9zcGFuPiwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGxhbmdfcGF0aDwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiIiPC9zcGFuPl0pCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI1NtdHBDbG9zZSIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+U210cENsb3NlPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgkJCgoJPGEgbmFtZT0ic2VjLXZhcnMiPjwvYT4KCTxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+VmFyaWFibGVzPC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCQkJCQk8YSBocmVmPSIjc2VjLXZhci1zdW1tYXJ5Ij5WYXJzPC9hPiAoPHNwYW4gY2xhc3M9ImRpc2FibGVkIj5kZXRhaWxzPC9zcGFuPikKCQkJCQkJCgkJCQoJCQkJCQkJfCAKCQkJCQkJCQkJPGEgaHJlZj0iI3NlYy1tZXRob2Qtc3VtbWFyeSI+TWV0aG9kczwvYT4gKDxhIGhyZWY9IiNzZWMtbWV0aG9kcyI+ZGV0YWlsczwvYT4pCgkJCQkJCQkKCQkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4KCQkJPGEgbmFtZT0idmFyJEFsdEJvZHkiIGlkPSIkQWx0Qm9keSI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kQWx0Qm9keTwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+OTY8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSB0ZXh0LW9ubHkgYm9keSBvZiB0aGUgbWVzc2FnZS4gIFRoaXMgYXV0b21hdGljYWxseSBzZXRzIHRoZSAgZW1haWwgdG8gbXVsdGlwYXJ0L2FsdGVybmF0aXZlLiAgVGhpcyBib2R5IGNhbiBiZSByZWFkIGJ5IG1haWwgIGNsaWVudHMgdGhhdCBkbyBub3QgaGF2ZSBIVE1MIGVtYWlsIGNhcGFiaWxpdHkgc3VjaCBhcyBtdXR0LiBDbGllbnRzICB0aGF0IGNhbiByZWFkIEhUTUwgd2lsbCB2aWV3IHRoZSBub3JtYWwgQm9keS48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRCb2R5IiBpZD0iJEJvZHkiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kQm9keTwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+ODc8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBCb2R5IG9mIHRoZSBtZXNzYWdlLiAgVGhpcyBjYW4gYmUgZWl0aGVyIGFuIEhUTUwgb3IgdGV4dCBib2R5LjwvcD4KPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48cD5JZiBIVE1MIHRoZW4gcnVuIElzSFRNTCh0cnVlKS48L3A+PC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkQ2hhclNldCIgaWQ9IiRDaGFyU2V0Ij48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRDaGFyU2V0PC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiAmcXVvdDtpc28tODg1OS0xJnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MzY8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBDaGFyU2V0IG9mIHRoZSBtZXNzYWdlLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJENvbmZpcm1SZWFkaW5nVG8iIGlkPSIkQ29uZmlybVJlYWRpbmdUbyI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRDb25maXJtUmVhZGluZ1RvPC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiAmcXVvdDsmcXVvdDs8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMzQ8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBlbWFpbCBhZGRyZXNzIHRoYXQgYSByZWFkaW5nIGNvbmZpcm1hdGlvbiB3aWxsIGJlIHNlbnQuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkQ29udGVudFR5cGUiIGlkPSIkQ29udGVudFR5cGUiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JENvbnRlbnRUeXBlPC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiAmcXVvdDt0ZXh0L3BsYWluJnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NDI8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBDb250ZW50LXR5cGUgb2YgdGhlIG1lc3NhZ2UuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkRW5jb2RpbmciIGlkPSIkRW5jb2RpbmciPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kRW5jb2Rpbmc8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OzhiaXQmcXVvdDs8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj40OTwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgdGhlIEVuY29kaW5nIG9mIHRoZSBtZXNzYWdlLiBPcHRpb25zIGZvciB0aGlzIGFyZSAmcXVvdDs4Yml0JnF1b3Q7LCAgJnF1b3Q7N2JpdCZxdW90OywgJnF1b3Q7YmluYXJ5JnF1b3Q7LCAmcXVvdDtiYXNlNjQmcXVvdDssIGFuZCAmcXVvdDtxdW90ZWQtcHJpbnRhYmxlJnF1b3Q7LjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJEVycm9ySW5mbyIgaWQ9IiRFcnJvckluZm8iPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JEVycm9ySW5mbzwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NTU8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5Ib2xkcyB0aGUgbW9zdCByZWNlbnQgbWFpbGVyIGVycm9yIG1lc3NhZ2UuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkRnJvbSIgaWQ9IiRGcm9tIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JEZyb208L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90O3Jvb3RAbG9jYWxob3N0JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NjE8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBGcm9tIGVtYWlsIGFkZHJlc3MgZm9yIHRoZSBtZXNzYWdlLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJEZyb21OYW1lIiBpZD0iJEZyb21OYW1lIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRGcm9tTmFtZTwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7Um9vdCBVc2VyJnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+Njc8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBGcm9tIG5hbWUgb2YgdGhlIG1lc3NhZ2UuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkSGVsbyIgaWQ9IiRIZWxvIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JEhlbG88L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OyZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjE2OTwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgdGhlIFNNVFAgSEVMTyBvZiB0aGUgbWVzc2FnZSAoRGVmYXVsdCBpcyAkSG9zdG5hbWUpLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJEhvc3QiIGlkPSIkSG9zdCI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kSG9zdDwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7bG9jYWxob3N0JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTU3PC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU01UUCBob3N0cy4gIEFsbCBob3N0cyBtdXN0IGJlIHNlcGFyYXRlZCBieSBhICAgc2VtaWNvbG9uLiAgWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBkaWZmZXJlbnQgcG9ydCAgIGZvciBlYWNoIGhvc3QgYnkgdXNpbmcgdGhpcyBmb3JtYXQ6IFtob3N0bmFtZTpwb3J0XSAgIChlLmcuICZxdW90O3NtdHAxLmV4YW1wbGUuY29tOjI1O3NtdHAyLmV4YW1wbGUuY29tJnF1b3Q7KS48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+SG9zdHMgd2lsbCBiZSB0cmllZCBpbiBvcmRlci48L3A+PC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkSG9zdG5hbWUiIGlkPSIkSG9zdG5hbWUiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kSG9zdG5hbWU8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OyZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjE0Mjwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgdGhlIGhvc3RuYW1lIHRvIHVzZSBpbiBNZXNzYWdlLUlkIGFuZCBSZWNlaXZlZCBoZWFkZXJzICAgYW5kIGFzIGRlZmF1bHQgSEVMTyBzdHJpbmcuIElmIGVtcHR5LCB0aGUgdmFsdWUgcmV0dXJuZWQgICBieSBTRVJWRVJfTkFNRSBpcyB1c2VkIG9yICdsb2NhbGhvc3QubG9jYWxkb21haW4nLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJE1haWxlciIgaWQ9IiRNYWlsZXIiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JE1haWxlcjwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7bWFpbCZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEwOTwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPk1ldGhvZCB0byBzZW5kIG1haWw6ICgmcXVvdDttYWlsJnF1b3Q7LCAmcXVvdDtzZW5kbWFpbCZxdW90Oywgb3IgJnF1b3Q7c210cCZxdW90OykuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkUGFzc3dvcmQiIGlkPSIkUGFzc3dvcmQiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kUGFzc3dvcmQ8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OyZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjE4Nzwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgU01UUCBwYXNzd29yZC48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRQbHVnaW5EaXIiIGlkPSIkUGx1Z2luRGlyIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRQbHVnaW5EaXI8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OyZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEyMjwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlBhdGggdG8gUEhQTWFpbGVyIHBsdWdpbnMuICBUaGlzIGlzIG5vdyBvbmx5IHVzZWZ1bCBpZiB0aGUgU01UUCBjbGFzcyAgaXMgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5IHRoYW4gdGhlIFBIUCBpbmNsdWRlIHBhdGguPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkUG9ydCIgaWQ9IiRQb3J0Ij48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5pbnQ8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JFBvcnQ8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IDI1PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTYzPC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgZGVmYXVsdCBTTVRQIHNlcnZlciBwb3J0LjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJFByaW9yaXR5IiBpZD0iJFByaW9yaXR5Ij48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+aW50PC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRQcmlvcml0eTwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gMzwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjMwPC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+RW1haWwgcHJpb3JpdHkgKDEgPSBIaWdoLCAzID0gTm9ybWFsLCA1ID0gbG93KS48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRTZW5kZXIiIGlkPSIkU2VuZGVyIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JFNlbmRlcjwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7JnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NzQ8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTZW5kZXIgZW1haWwgKFJldHVybi1QYXRoKSBvZiB0aGUgbWVzc2FnZS4gIElmIG5vdCBlbXB0eSwgIHdpbGwgYmUgc2VudCB2aWEgLWYgdG8gc2VuZG1haWwgb3IgYXMgJ01BSUwgRlJPTScgaW4gc210cCBtb2RlLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJFNlbmRtYWlsIiBpZD0iJFNlbmRtYWlsIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRTZW5kbWFpbDwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gJnF1b3Q7L3Vzci9zYmluL3NlbmRtYWlsJnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTE1PC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgcGF0aCBvZiB0aGUgc2VuZG1haWwgcHJvZ3JhbS48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRTTVRQQXV0aCIgaWQ9IiRTTVRQQXV0aCI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kU01UUEF1dGg8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IGZhbHNlPC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTc1PC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyBTTVRQIGF1dGhlbnRpY2F0aW9uLiBVdGlsaXplcyB0aGUgVXNlcm5hbWUgYW5kIFBhc3N3b3JkIHZhcmlhYmxlcy48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRTTVRQRGVidWciIGlkPSIkU01UUERlYnVnIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kU01UUERlYnVnPC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiBmYWxzZTwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjIwMDwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgU01UUCBjbGFzcyBkZWJ1Z2dpbmcgb24gb3Igb2ZmLjwvcD4KCQoJCgkJCgkJCgo8L2Rpdj4KPGEgbmFtZT0idmFyJFNNVFBLZWVwQWxpdmUiIGlkPSIkU01UUEtlZXBBbGl2ZSI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kU01UUEtlZXBBbGl2ZTwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gZmFsc2U8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4yMDg8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5QcmV2ZW50cyB0aGUgU01UUCBjb25uZWN0aW9uIGZyb20gYmVpbmcgY2xvc2VkIGFmdGVyIGVhY2ggbWFpbCAgc2VuZGluZy4gIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlbiB0byBjbG9zZSB0aGUgY29ubmVjdGlvbiAgcmVxdWlyZXMgYW4gZXhwbGljaXQgY2FsbCB0byBTbXRwQ2xvc2UoKS48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRTdWJqZWN0IiBpZD0iJFN1YmplY3QiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JFN1YmplY3Q8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OyZxdW90Ozwvc3Bhbj4JCQkobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjgwPC9zcGFuPikKCQk8L3NwYW4+Cgk8L2Rpdj4KCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyB0aGUgU3ViamVjdCBvZiB0aGUgbWVzc2FnZS48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRUaW1lb3V0IiBpZD0iJFRpbWVvdXQiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPmludDwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kVGltZW91dDwvc3Bhbj4KCQkJID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4gMTA8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xOTQ8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHRoZSBTTVRQIHNlcnZlciB0aW1lb3V0IGluIHNlY29uZHMuIFRoaXMgZnVuY3Rpb24gd2lsbCBub3QgICB3b3JrIHdpdGggdGhlIHdpbjMyIHZlcnNpb24uPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkVXNlcm5hbWUiIGlkPSIkVXNlcm5hbWUiPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JFVzZXJuYW1lPC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiAmcXVvdDsmcXVvdDs8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xODE8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIFNNVFAgdXNlcm5hbWUuPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkVmVyc2lvbiIgaWQ9IiRWZXJzaW9uIj48IS0tIC0tPjwvQT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JFZlcnNpb248L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ICZxdW90OzEuNzEmcXVvdDs8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMjg8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5Ib2xkcyBQSFBNYWlsZXIgdmVyc2lvbi48L3A+CgkKCQoJCQoJCQoKPC9kaXY+CjxhIG5hbWU9InZhciRXb3JkV3JhcCIgaWQ9IiRXb3JkV3JhcCI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoKCTxkaXYgY2xhc3M9InZhci1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJ2YXItdGl0bGUiPgoJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPmludDwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kV29yZFdyYXA8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IDA8L3NwYW4+CQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMDM8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIHdvcmQgd3JhcHBpbmcgb24gdGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UgdG8gYSBnaXZlbiBudW1iZXIgb2YgIGNoYXJhY3RlcnMuPC9wPgoJCgkKCQkKCQkKCjwvZGl2PgoJCQkJCQkKCQk8L2Rpdj4KCTwvZGl2PgoJCgk8YSBuYW1lPSJzZWMtbWV0aG9kcyI+PC9hPgoJPGRpdiBjbGFzcz0iaW5mby1ib3giPgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5NZXRob2RzPC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtdmFyLXN1bW1hcnkiPlZhcnM8L2E+ICg8YSBocmVmPSIjc2VjLXZhcnMiPmRldGFpbHM8L2E+KQoJCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtbWV0aG9kLXN1bW1hcnkiPk1ldGhvZHM8L2E+ICg8c3BhbiBjbGFzcz0iZGlzYWJsZWQiPmRldGFpbHM8L3NwYW4+KQoJCQkJCQkKCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4KCQkJPEEgTkFNRT0nbWV0aG9kX2RldGFpbCc+PC9BPgo8YSBuYW1lPSJtZXRob2RBZGRBZGRyZXNzIiBpZD0iQWRkQWRkcmVzcyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEFkZHJlc3M8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+Mjg3PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkFkZHMgYSAmcXVvdDtUbyZxdW90OyBhZGRyZXNzLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQWRkQWRkcmVzcwoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kYWRkcmVzczwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGFkZHJlc3M8L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+CQkJPC9saT4KCQkJCTwvdWw+CgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQWRkQXR0YWNobWVudCIgaWQ9IkFkZEF0dGFjaG1lbnQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkQXR0YWNobWVudDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMDAwPC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkFkZHMgYW4gYXR0YWNobWVudCBmcm9tIGEgcGF0aCBvbiB0aGUgZmlsZXN5c3RlbS48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+UmV0dXJucyBmYWxzZSBpZiB0aGUgZmlsZSBjb3VsZCBub3QgYmUgZm91bmQgIG9yIGFjY2Vzc2VkLjwvcD48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUFkZEF0dGFjaG1lbnQKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHBhdGg8L3NwYW4+LCBbPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbmFtZTwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiIiPC9zcGFuPl0sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRlbmNvZGluZzwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiJiYXNlNjQiPC9zcGFuPl0sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiR0eXBlPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHBhdGg8L3NwYW4+PHNwYW4gY2xhc3M9InZhci1kZXNjcmlwdGlvbiI+OiA8cD5QYXRoIHRvIHRoZSBhdHRhY2htZW50LjwvcD48L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+PHNwYW4gY2xhc3M9InZhci1kZXNjcmlwdGlvbiI+OiA8cD5PdmVycmlkZXMgdGhlIGF0dGFjaG1lbnQgbmFtZS48L3A+PC9zcGFuPgkJCTwvbGk+CgkJCQkJPGxpPgoJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRlbmNvZGluZzwvc3Bhbj48c3BhbiBjbGFzcz0idmFyLWRlc2NyaXB0aW9uIj46IDxwPkZpbGUgZW5jb2RpbmcgKHNlZSAkRW5jb2RpbmcpLjwvcD48L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHR5cGU8L3NwYW4+PHNwYW4gY2xhc3M9InZhci1kZXNjcmlwdGlvbiI+OiA8cD5GaWxlIGV4dGVuc2lvbiAoTUlNRSkgdHlwZS48L3A+PC9zcGFuPgkJCTwvbGk+CgkJCQk8L3VsPgoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZEFkZEJDQyIgaWQ9IkFkZEJDQyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEJDQzwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4zMTU8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O0JjYyZxdW90OyBhZGRyZXNzLiBOb3RlOiB0aGlzIGZ1bmN0aW9uIHdvcmtzICB3aXRoIHRoZSBTTVRQIG1haWxlciBvbiB3aW4zMiwgbm90IHdpdGggdGhlICZxdW90O21haWwmcXVvdDsgIG1haWxlci48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUFkZEJDQwoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kYWRkcmVzczwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGFkZHJlc3M8L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+CQkJPC9saT4KCQkJCTwvdWw+CgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQWRkQ0MiIGlkPSJBZGRDQyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5BZGRDQzwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4zMDE8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+QWRkcyBhICZxdW90O0NjJnF1b3Q7IGFkZHJlc3MuIE5vdGU6IHRoaXMgZnVuY3Rpb24gd29ya3MgIHdpdGggdGhlIFNNVFAgbWFpbGVyIG9uIHdpbjMyLCBub3Qgd2l0aCB0aGUgJnF1b3Q7bWFpbCZxdW90OyAgbWFpbGVyLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQWRkQ0MKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGFkZHJlc3M8L3NwYW4+LCBbPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbmFtZTwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiIiPC9zcGFuPl0pCgkJCTwvZGl2PgoJCgkJCTx1bCBjbGFzcz0icGFyYW1ldGVycyI+CgkJCQkJPGxpPgoJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRhZGRyZXNzPC9zcGFuPgkJCTwvbGk+CgkJCQkJPGxpPgoJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPgkJCTwvbGk+CgkJCQk8L3VsPgoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZEFkZEN1c3RvbUhlYWRlciIgaWQ9IkFkZEN1c3RvbUhlYWRlciI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEN1c3RvbUhlYWRlcjwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xNTI1PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkFkZHMgYSBjdXN0b20gaGVhZGVyLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQWRkQ3VzdG9tSGVhZGVyCgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGN1c3RvbV9oZWFkZXI8L3NwYW4+KQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZEFkZEVtYmVkZGVkSW1hZ2UiIGlkPSJBZGRFbWJlZGRlZEltYWdlIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZEVtYmVkZGVkSW1hZ2U8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTI3NTwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5BZGRzIGFuIGVtYmVkZGVkIGF0dGFjaG1lbnQuICBUaGlzIGNhbiBpbmNsdWRlIGltYWdlcywgc291bmRzLCBhbmQgIGp1c3QgYWJvdXQgYW55IG90aGVyIGRvY3VtZW50LiAgTWFrZSBzdXJlIHRvIHNldCB0aGUgJHR5cGUgdG8gYW4gIGltYWdlIHR5cGUuICBGb3IgSlBFRyBpbWFnZXMgdXNlICZxdW90O2ltYWdlL2pwZWcmcXVvdDsgYW5kIGZvciBHSUYgaW1hZ2VzICB1c2UgJnF1b3Q7aW1hZ2UvZ2lmJnF1b3Q7LjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQWRkRW1iZWRkZWRJbWFnZQoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kcGF0aDwvc3Bhbj4sIDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGNpZDwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGVuY29kaW5nPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImJhc2U2NCI8L3NwYW4+XSwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHR5cGU8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjwvc3Bhbj5dKQoJCQk8L2Rpdj4KCQoJCQk8dWwgY2xhc3M9InBhcmFtZXRlcnMiPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kcGF0aDwvc3Bhbj48c3BhbiBjbGFzcz0idmFyLWRlc2NyaXB0aW9uIj46IDxwPlBhdGggdG8gdGhlIGF0dGFjaG1lbnQuPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kY2lkPC9zcGFuPjxzcGFuIGNsYXNzPSJ2YXItZGVzY3JpcHRpb24iPjogPHA+Q29udGVudCBJRCBvZiB0aGUgYXR0YWNobWVudC4gIFVzZSB0aGlzIHRvIGlkZW50aWZ5ICAgICAgICAgdGhlIElkIGZvciBhY2Nlc3NpbmcgdGhlIGltYWdlIGluIGFuIEhUTUwgZm9ybS48L3A+PC9zcGFuPgkJCTwvbGk+CgkJCQkJPGxpPgoJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPjxzcGFuIGNsYXNzPSJ2YXItZGVzY3JpcHRpb24iPjogPHA+T3ZlcnJpZGVzIHRoZSBhdHRhY2htZW50IG5hbWUuPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kZW5jb2Rpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InZhci1kZXNjcmlwdGlvbiI+OiA8cD5GaWxlIGVuY29kaW5nIChzZWUgJEVuY29kaW5nKS48L3A+PC9zcGFuPgkJCTwvbGk+CgkJCQkJPGxpPgoJCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiR0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJ2YXItZGVzY3JpcHRpb24iPjogPHA+RmlsZSBleHRlbnNpb24gKE1JTUUpIHR5cGUuPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJPC91bD4KCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RBZGRSZXBseVRvIiBpZD0iQWRkUmVwbHlUbyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkFkZFJlcGx5VG88L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MzI3PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkFkZHMgYSAmcXVvdDtSZXBseS10byZxdW90OyBhZGRyZXNzLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQWRkUmVwbHlUbwoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kYWRkcmVzczwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGFkZHJlc3M8L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+CQkJPC9saT4KCQkJCTwvdWw+CgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQWRkU3RyaW5nQXR0YWNobWVudCIgaWQ9IkFkZFN0cmluZ0F0dGFjaG1lbnQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QWRkU3RyaW5nQXR0YWNobWVudDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMjQ4PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkFkZHMgYSBzdHJpbmcgb3IgYmluYXJ5IGF0dGFjaG1lbnQgKG5vbi1maWxlc3lzdGVtKSB0byB0aGUgbGlzdC48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+VGhpcyBtZXRob2QgY2FuIGJlIHVzZWQgdG8gYXR0YWNoIGFzY2lpIG9yIGJpbmFyeSBkYXRhLCAgc3VjaCBhcyBhIEJMT0IgcmVjb3JkIGZyb20gYSBkYXRhYmFzZS48L3A+PC9wPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlBZGRTdHJpbmdBdHRhY2htZW50CgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRzdHJpbmc8L3NwYW4+LCA8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRmaWxlbmFtZTwvc3Bhbj4sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRlbmNvZGluZzwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiJiYXNlNjQiPC9zcGFuPl0sIFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiR0eXBlPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHN0cmluZzwvc3Bhbj48c3BhbiBjbGFzcz0idmFyLWRlc2NyaXB0aW9uIj46IDxwPlN0cmluZyBhdHRhY2htZW50IGRhdGEuPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kZmlsZW5hbWU8L3NwYW4+PHNwYW4gY2xhc3M9InZhci1kZXNjcmlwdGlvbiI+OiA8cD5OYW1lIG9mIHRoZSBhdHRhY2htZW50LjwvcD48L3NwYW4+CQkJPC9saT4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGVuY29kaW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJ2YXItZGVzY3JpcHRpb24iPjogPHA+RmlsZSBlbmNvZGluZyAoc2VlICRFbmNvZGluZykuPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kdHlwZTwvc3Bhbj48c3BhbiBjbGFzcz0idmFyLWRlc2NyaXB0aW9uIj46IDxwPkZpbGUgZXh0ZW5zaW9uIChNSU1FKSB0eXBlLjwvcD48L3NwYW4+CQkJPC9saT4KCQkJCTwvdWw+CgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQ2xlYXJBZGRyZXNzZXMiIGlkPSJDbGVhckFkZHJlc3NlcyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQWRkcmVzc2VzPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEzMjk8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBUTyBhcnJheS4gIFJldHVybnMgdm9pZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUNsZWFyQWRkcmVzc2VzCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RDbGVhckFsbFJlY2lwaWVudHMiIGlkPSJDbGVhckFsbFJlY2lwaWVudHMiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJBbGxSZWNpcGllbnRzPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEzNjI8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBUTywgQ0MgYW5kIEJDQyAgYXJyYXkuICBSZXR1cm5zIHZvaWQuPC9wPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlDbGVhckFsbFJlY2lwaWVudHMKCQk8L3NwYW4+CgkJCQkoKQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZENsZWFyQXR0YWNobWVudHMiIGlkPSJDbGVhckF0dGFjaG1lbnRzIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJBdHRhY2htZW50czwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xMzczPC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkNsZWFycyBhbGwgcHJldmlvdXNseSBzZXQgZmlsZXN5c3RlbSwgc3RyaW5nLCBhbmQgYmluYXJ5ICBhdHRhY2htZW50cy4gIFJldHVybnMgdm9pZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUNsZWFyQXR0YWNobWVudHMKCQk8L3NwYW4+CgkJCQkoKQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZENsZWFyQkNDcyIgaWQ9IkNsZWFyQkNDcyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbGVhckJDQ3M8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MTM0NTwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5DbGVhcnMgYWxsIHJlY2lwaWVudHMgYXNzaWduZWQgaW4gdGhlIEJDQyBhcnJheS4gIFJldHVybnMgdm9pZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUNsZWFyQkNDcwoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQ2xlYXJDQ3MiIGlkPSJDbGVhckNDcyI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsZWFyQ0NzPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEzMzc8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBDQyBhcnJheS4gIFJldHVybnMgdm9pZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUNsZWFyQ0NzCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RDbGVhckN1c3RvbUhlYWRlcnMiIGlkPSJDbGVhckN1c3RvbUhlYWRlcnMiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q2xlYXJDdXN0b21IZWFkZXJzPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEzODE8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCBjdXN0b20gaGVhZGVycy4gIFJldHVybnMgdm9pZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUNsZWFyQ3VzdG9tSGVhZGVycwoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQ2xlYXJSZXBseVRvcyIgaWQ9IkNsZWFyUmVwbHlUb3MiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5DbGVhclJlcGx5VG9zPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjEzNTM8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q2xlYXJzIGFsbCByZWNpcGllbnRzIGFzc2lnbmVkIGluIHRoZSBSZXBseVRvIGFycmF5LiAgUmV0dXJucyB2b2lkLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQ2xlYXJSZXBseVRvcwoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kSXNFcnJvciIgaWQ9IklzRXJyb3IiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNFcnJvcjwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4xNTA1PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlJldHVybnMgdHJ1ZSBpZiBhbiBlcnJvciBvY2N1cnJlZC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUlzRXJyb3IKCQk8L3NwYW4+CgkJCQkoKQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZElzSFRNTCIgaWQ9IklzSFRNTCI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzSFRNTDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4yMzY8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyBtZXNzYWdlIHR5cGUgdG8gSFRNTC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUlzSFRNTAoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5ib29sPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGJvb2w8L3NwYW4+KQoJCQk8L2Rpdj4KCQoJCQk8dWwgY2xhc3M9InBhcmFtZXRlcnMiPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGJvb2w8L3NwYW4+CQkJPC9saT4KCQkJCTwvdWw+CgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kSXNNYWlsIiBpZD0iSXNNYWlsIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPklzTWFpbDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4yNTU8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIFBIUCBtYWlsKCkgZnVuY3Rpb24uPC9wPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlJc01haWwKCQk8L3NwYW4+CgkJCQkoKQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZElzUW1haWwiIGlkPSJJc1FtYWlsIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNRbWFpbDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4yNzE8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2V0cyBNYWlsZXIgdG8gc2VuZCBtZXNzYWdlIHVzaW5nIHRoZSBxbWFpbCBNVEEuPC9wPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlJc1FtYWlsCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RJc1NlbmRtYWlsIiBpZD0iSXNTZW5kbWFpbCI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Jc1NlbmRtYWlsPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjI2Mzwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgdGhlICRTZW5kbWFpbCBwcm9ncmFtLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJSXNTZW5kbWFpbAoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kSXNTTVRQIiBpZD0iSXNTTVRQIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SXNTTVRQPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjI0Nzwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZXRzIE1haWxlciB0byBzZW5kIG1lc3NhZ2UgdXNpbmcgU01UUC48L3A+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij52b2lkPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCUlzU01UUAoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kU2VuZCIgaWQ9IlNlbmQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U2VuZDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj4zNDQ8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+Q3JlYXRlcyBtZXNzYWdlIGFuZCBhc3NpZ25zIE1haWxlci4gSWYgdGhlIG1lc3NhZ2UgaXMgIG5vdCBzZW50IHN1Y2Nlc3NmdWxseSB0aGVuIGl0IHJldHVybnMgZmFsc2UuICBVc2UgdGhlIEVycm9ySW5mbyAgdmFyaWFibGUgdG8gdmlldyBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3IuPC9wPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlTZW5kCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RTZXRMYW5ndWFnZSIgaWQ9IlNldExhbmd1YWdlIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U2V0TGFuZ3VhZ2U8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NTk5PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgdGhlIGxhbmd1YWdlIGZvciBhbGwgY2xhc3MgZXJyb3IgbWVzc2FnZXMuICBSZXR1cm5zIGZhbHNlICBpZiBpdCBjYW5ub3QgbG9hZCB0aGUgbGFuZ3VhZ2UgZmlsZS4gIFRoZSBkZWZhdWx0IGxhbmd1YWdlIHR5cGUgIGlzIEVuZ2xpc2guPC9wPgoJPHVsIGNsYXNzPSJ0YWdzIj4KCQkJCTxsaT48c3BhbiBjbGFzcz0iZmllbGQiPmFjY2Vzczo8L3NwYW4+IHB1YmxpYzwvbGk+CgkJCTwvdWw+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCVNldExhbmd1YWdlCgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRsYW5nX3R5cGU8L3NwYW4+LCBbPHNwYW4gY2xhc3M9InZhci10eXBlIj5zdHJpbmc8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbGFuZ19wYXRoPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkJPHVsIGNsYXNzPSJwYXJhbWV0ZXJzIj4KCQkJCQk8bGk+CgkJCQk8c3BhbiBjbGFzcz0idmFyLXR5cGUiPnN0cmluZzwvc3Bhbj4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGxhbmdfdHlwZTwvc3Bhbj48c3BhbiBjbGFzcz0idmFyLWRlc2NyaXB0aW9uIj46IDxwPlR5cGUgb2YgbGFuZ3VhZ2UgKGUuZy4gUG9ydHVndWVzZTogJnF1b3Q7YnImcXVvdDspPC9wPjwvc3Bhbj4JCQk8L2xpPgoJCQkJCTxsaT4KCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJPHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbGFuZ19wYXRoPC9zcGFuPjxzcGFuIGNsYXNzPSJ2YXItZGVzY3JpcHRpb24iPjogPHA+UGF0aCB0byB0aGUgbGFuZ3VhZ2UgZmlsZSBkaXJlY3Rvcnk8L3A+PC9zcGFuPgkJCTwvbGk+CgkJCQk8L3VsPgoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZFNtdHBDbG9zZSIgaWQ9IlNtdHBDbG9zZSI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TbXRwQ2xvc2U8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NTc5PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkNsb3NlcyB0aGUgYWN0aXZlIFNNVFAgc2Vzc2lvbiBpZiBvbmUgZXhpc3RzLjwvcD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJU210cENsb3NlCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2PgoJCQkJCQkKCQk8L2Rpdj4KCTwvZGl2PgoJCgk8cCBjbGFzcz0ibm90ZXMiIGlkPSJjcmVkaXQiPgoJCURvY3VtZW50aW9uIGdlbmVyYXRlZCBvbiBNb24sIDI4IEp1bCAyMDAzIDIzOjI1OjQ5IC0wNDAwIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnBocERvY3VtZW50b3IgMS4yLjA8L2E+Cgk8L3A+Cgk8L2Rpdj48L2JvZHk+CjwvaHRtbD4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/PHPMailer/SMTP.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPkRvY3MgRm9yIENsYXNzIFNNVFA8L3RpdGxlPgoJCQk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL21lZGlhL3N0eWxlc2hlZXQuY3NzIiAvPgoJCQk8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xJy8+CgkJPC9oZWFkPgoJCTxib2R5PgoJCQk8ZGl2IGNsYXNzPSJwYWdlLWJvZHkiPgkJCQo8aDIgY2xhc3M9ImNsYXNzLW5hbWUiPkNsYXNzIFNNVFA8L2gyPgoKPGEgbmFtZT0ic2VjLWRlc2NyaXB0aW9uIj48L2E+CjxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCTxkaXYgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5EZXNjcmlwdGlvbjwvZGl2PgoJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCQkJPHNwYW4gY2xhc3M9ImRpc2FibGVkIj5EZXNjcmlwdGlvbjwvc3Bhbj4gfAoJCQkJCQkJCQkJCQkJPGEgaHJlZj0iI3NlYy12YXItc3VtbWFyeSI+VmFyczwvYT4gKDxhIGhyZWY9IiNzZWMtdmFycyI+ZGV0YWlsczwvYT4pCgkJCQkJCXwJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtbWV0aG9kLXN1bW1hcnkiPk1ldGhvZHM8L2E+ICg8YSBocmVmPSIjc2VjLW1ldGhvZHMiPmRldGFpbHM8L2E+KQoJCQkJCQkKCQkJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4KCQk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U01UUCBpcyByZmMgODIxIGNvbXBsaWFudCBhbmQgaW1wbGVtZW50cyBhbGwgdGhlIHJmYyA4MjEgU01UUCAgY29tbWFuZHMgZXhjZXB0IFRVUk4gd2hpY2ggd2lsbCBhbHdheXMgcmV0dXJuIGEgbm90IGltcGxlbWVudGVkICBlcnJvci4gU01UUCBhbHNvIHByb3ZpZGVzIHNvbWUgdXRpbGl0eSBtZXRob2RzIGZvciBzZW5kaW5nIG1haWwgIHRvIGFuIFNNVFAgc2VydmVyLjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hdXRob3I6PC9zcGFuPiA8cD5DaHJpcyBSeWFuPC9wPjwvbGk+CgkJCTwvdWw+CgkJPHAgY2xhc3M9Im5vdGVzIj4KCQkJTG9jYXRlZCBpbiA8YSBjbGFzcz0iZmllbGQiIGhyZWY9Il9jbGFzc19zbXRwX3BocC5odG1sIj5Qcm9ncmFtX1Jvb3QvY2xhc3Muc210cC5waHA8L2E+IChsaW5lIDxzcGFuIGNsYXNzPSJmaWVsZCI+MjQ8L3NwYW4+KQoJCTwvcD4KCQkKCQkJCQoJCTxwcmU+PC9wcmU+CgkKCQkJPC9kaXY+CjwvZGl2PgoKCgk8YSBuYW1lPSJzZWMtdmFyLXN1bW1hcnkiPjwvYT4KCTxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+VmFyaWFibGUgU3VtbWFyeTwvc3Bhbj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJuYXYtYmFyIj4KCQkJPGEgaHJlZj0iI3NlYy1kZXNjcmlwdGlvbiI+RGVzY3JpcHRpb248L2E+IHwKCQkJCQkJPHNwYW4gY2xhc3M9ImRpc2FibGVkIj5WYXJzPC9zcGFuPiAoPGEgaHJlZj0iI3NlYy12YXJzIj5kZXRhaWxzPC9hPikKCQkJCQkJCXwgCgkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtbWV0aG9kLXN1bW1hcnkiPk1ldGhvZHM8L2E+ICg8YSBocmVmPSIjc2VjLW1ldGhvZHMiPmRldGFpbHM8L2E+KQoJCQkJCQkJCgkJCQkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iaW5mby1ib3gtYm9keSI+CgkJCTxkaXYgY2xhc3M9InZhci1zdW1tYXJ5Ij4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkQ1JMRiIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJ2YXItbmFtZSI+JENSTEY8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+Ym9vbDwvc3Bhbj4KCQkJCQk8YSBocmVmPSIjJGRvX2RlYnVnIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kZG9fZGVidWc8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ2YXItdGl0bGUiPgoJCQkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+aW50PC9zcGFuPgoJCQkJCTxhIGhyZWY9IiMkU01UUF9QT1JUIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9InZhci1uYW1lIj4kU01UUF9QT1JUPC9hPgoJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgoKCTxhIG5hbWU9InNlYy1tZXRob2Qtc3VtbWFyeSI+PC9hPgoJPGRpdiBjbGFzcz0iaW5mby1ib3giPgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5NZXRob2QgU3VtbWFyeTwvc3Bhbj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJuYXYtYmFyIj4KCQkJPGEgaHJlZj0iI3NlYy1kZXNjcmlwdGlvbiI+RGVzY3JpcHRpb248L2E+IHwKCQkJCQkJCQkJCQkJCQkJPGEgaHJlZj0iI3NlYy12YXItc3VtbWFyeSI+VmFyczwvYT4gKDxhIGhyZWY9IiNzZWMtdmFycyI+ZGV0YWlsczwvYT4pCgkJCQkgCgkJCQl8CgkJCQkJCTxzcGFuIGNsYXNzPSJkaXNhYmxlZCI+TWV0aG9kczwvc3Bhbj4gKDxhIGhyZWY9IiNzZWMtbWV0aG9kcyI+ZGV0YWlsczwvYT4pCgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iaW5mby1ib3gtYm9keSI+CQkJCgkJCTxkaXYgY2xhc3M9Im1ldGhvZC1zdW1tYXJ5Ij4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+dm9pZDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNTTVRQIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5TTVRQPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQXV0aGVudGljYXRlIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5BdXRoZW50aWNhdGU8L2E+CgkJCQkJCQkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kdXNlcm5hbWU8L3NwYW4+LCA8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHBhc3N3b3JkPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQ2xvc2UiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkNsb3NlPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjQ29ubmVjdCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+Q29ubmVjdDwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRob3N0PC9zcGFuPiwgPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRwb3J0PC9zcGFuPiwgWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kdHZhbDwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPjMwPC9zcGFuPl0pCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI0RhdGEiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkRhdGE8L2E+CgkJCQkJCQkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kbXNnX2RhdGE8L3NwYW4+KQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+c3RyaW5nPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI0V4cGFuZCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+RXhwYW5kPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+KQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNIZWxsbyIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+SGVsbG88L2E+CgkJCQkJCQkJCQkJKFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGhvc3Q8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+c3RyaW5nPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI0hlbHAiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPkhlbHA8L2E+CgkJCQkJCQkJCQkJKFs8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGtleXdvcmQ8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij4iIjwvc3Bhbj5dKQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNNYWlsIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5NYWlsPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGZyb208L3NwYW4+KQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNOb29wIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5Ob29wPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjUXVpdCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+UXVpdDwvYT4KCQkJCQkJCQkJCQkoWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kY2xvc2Vfb25fZXJyb3I8L3NwYW4+ID0gPHNwYW4gY2xhc3M9InZhci1kZWZhdWx0Ij50cnVlPC9zcGFuPl0pCgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWV0aG9kLWRlZmluaXRpb24iPgoJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCQkJCQkJCQkJPGEgaHJlZj0iI1JlY2lwaWVudCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+UmVjaXBpZW50PC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHRvPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjUmVzZXQiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPlJlc2V0PC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjU2VuZCIgdGl0bGU9ImRldGFpbHMiIGNsYXNzPSJtZXRob2QtbmFtZSI+U2VuZDwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRmcm9tPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJCQkJCQkJCQk8YSBocmVmPSIjU2VuZEFuZE1haWwiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPlNlbmRBbmRNYWlsPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGZyb208L3NwYW4+KQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNTZW5kT3JNYWlsIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5TZW5kT3JNYWlsPC9hPgoJCQkJCQkJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGZyb208L3NwYW4+KQoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1ldGhvZC1kZWZpbml0aW9uIj4KCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNUdXJuIiB0aXRsZT0iZGV0YWlscyIgY2xhc3M9Im1ldGhvZC1uYW1lIj5UdXJuPC9hPgoJCQkJCQkJCQkJKCkKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtZXRob2QtZGVmaW5pdGlvbiI+CgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmludDwvc3Bhbj4KCQkJCQkJCQkJCTxhIGhyZWY9IiNWZXJpZnkiIHRpdGxlPSJkZXRhaWxzIiBjbGFzcz0ibWV0aG9kLW5hbWUiPlZlcmlmeTwvYT4KCQkJCQkJCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPikKCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgkJCgoJPGEgbmFtZT0ic2VjLXZhcnMiPjwvYT4KCTxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+VmFyaWFibGVzPC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCQkJCQk8YSBocmVmPSIjc2VjLXZhci1zdW1tYXJ5Ij5WYXJzPC9hPiAoPHNwYW4gY2xhc3M9ImRpc2FibGVkIj5kZXRhaWxzPC9zcGFuPikKCQkJCQkJCgkJCQoJCQkJCQkJfCAKCQkJCQkJCQkJPGEgaHJlZj0iI3NlYy1tZXRob2Qtc3VtbWFyeSI+TWV0aG9kczwvYT4gKDxhIGhyZWY9IiNzZWMtbWV0aG9kcyI+ZGV0YWlsczwvYT4pCgkJCQkJCQkKCQkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4KCQkJPGEgbmFtZT0idmFyJENSTEYiIGlkPSIkQ1JMRiI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+c3RyaW5nPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRDUkxGPC9zcGFuPgoJCQkgPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiAmcXVvdDtcclxuJnF1b3Q7PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MzY8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TTVRQIHJlcGx5IGxpbmUgZW5kaW5nPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkZG9fZGVidWciIGlkPSIkZG9fZGVidWciPjwhLS0gLS0+PC9BPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCgk8ZGl2IGNsYXNzPSJ2YXItaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0idmFyLXRpdGxlIj4KCQkJPHNwYW4gY2xhc3M9InZhci10eXBlIj5ib29sPC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRkb19kZWJ1Zzwvc3Bhbj4KCQkJCQkJKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj40Mjwvc3Bhbj4pCgkJPC9zcGFuPgoJPC9kaXY+CgoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNldHMgd2hldGhlciBkZWJ1Z2dpbmcgaXMgdHVybmVkIG9uPC9wPgoJCgkKCQkKCQkKCjwvZGl2Pgo8YSBuYW1lPSJ2YXIkU01UUF9QT1JUIiBpZD0iJFNNVFBfUE9SVCI+PCEtLSAtLT48L0E+CjxkaXYgY2xhc3M9Im9kZHJvdyI+CgoJPGRpdiBjbGFzcz0idmFyLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9InZhci10aXRsZSI+CgkJCTxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+aW50PC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRTTVRQX1BPUlQ8L3NwYW4+CgkJCSA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IDI1PC9zcGFuPgkJCShsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+MzA8L3NwYW4+KQoJCTwvc3Bhbj4KCTwvZGl2PgoKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TTVRQIHNlcnZlciBwb3J0PC9wPgoJCgkKCQkKCQkKCjwvZGl2PgoJCQkJCQkKCQk8L2Rpdj4KCTwvZGl2PgoJCgk8YSBuYW1lPSJzZWMtbWV0aG9kcyI+PC9hPgoJPGRpdiBjbGFzcz0iaW5mby1ib3giPgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5NZXRob2RzPC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtdmFyLXN1bW1hcnkiPlZhcnM8L2E+ICg8YSBocmVmPSIjc2VjLXZhcnMiPmRldGFpbHM8L2E+KQoJCQkJCQkJCQkJCQkJCTxhIGhyZWY9IiNzZWMtbWV0aG9kLXN1bW1hcnkiPk1ldGhvZHM8L2E+ICg8c3BhbiBjbGFzcz0iZGlzYWJsZWQiPmRldGFpbHM8L3NwYW4+KQoJCQkJCQkKCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4KCQkJPEEgTkFNRT0nbWV0aG9kX2RldGFpbCc+PC9BPgo8YSBuYW1lPSJtZXRob2RTTVRQIiBpZD0iU01UUCI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Db25zdHJ1Y3RvciBTTVRQPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjU3PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPkluaXRpYWxpemUgdGhlIGNsYXNzIHNvIHRoYXQgdGhlIGRhdGEgaXMgaW4gYSBrbm93biBzdGF0ZS48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJU01UUAoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kQXV0aGVudGljYXRlIiBpZD0iQXV0aGVudGljYXRlIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+QXV0aGVudGljYXRlPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjE0NDwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5QZXJmb3JtcyBTTVRQIGF1dGhlbnRpY2F0aW9uLiAgTXVzdCBiZSBydW4gYWZ0ZXIgcnVubmluZyB0aGUgIEhlbGxvKCkgbWV0aG9kLiAgUmV0dXJucyB0cnVlIGlmIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkLjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlBdXRoZW50aWNhdGUKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kdXNlcm5hbWU8L3NwYW4+LCA8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHBhc3N3b3JkPC9zcGFuPikKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RDbG9zZSIgaWQ9IkNsb3NlIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0iZXZlbnJvdyI+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1oZWFkZXIiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtdGl0bGUiPkNsb3NlPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjIzMjwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5DbG9zZXMgdGhlIHNvY2tldCBhbmQgY2xlYW5zIHVwIHRoZSBzdGF0ZSBvZiB0aGUgY2xhc3MuPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPkl0IGlzIG5vdCBjb25zaWRlcmVkIGdvb2QgdG8gdXNlIHRoaXMgZnVuY3Rpb24gd2l0aG91dCAgZmlyc3QgdHJ5aW5nIHRvIHVzZSBRVUlULjwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnZvaWQ8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJQ2xvc2UKCQk8L3NwYW4+CgkJCQkoKQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZENvbm5lY3QiIGlkPSJDb25uZWN0Ij48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+Q29ubmVjdDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj44Mjwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5Db25uZWN0IHRvIHRoZSBzZXJ2ZXIgc3BlY2lmaWVkIG9uIHRoZSBwb3J0IHNwZWNpZmllZC48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+SWYgdGhlIHBvcnQgaXMgbm90IHNwZWNpZmllZCB1c2UgdGhlIGRlZmF1bHQgU01UUF9QT1JULiAgSWYgdHZhbCBpcyBzcGVjaWZpZWQgdGhlbiBhIGNvbm5lY3Rpb24gd2lsbCB0cnkgYW5kIGJlICBlc3RhYmxpc2hlZCB3aXRoIHRoZSBzZXJ2ZXIgZm9yIHRoYXQgbnVtYmVyIG9mIHNlY29uZHMuICBJZiB0dmFsIGlzIG5vdCBzcGVjaWZpZWQgdGhlIGRlZmF1bHQgaXMgMzAgc2Vjb25kcyB0byAgdHJ5IG9uIHRoZSBjb25uZWN0aW9uLjwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjIwICBTTVRQIENPREUgRkFJTFVSRTogNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlDb25uZWN0CgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGhvc3Q8L3NwYW4+LCA8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JHBvcnQ8L3NwYW4+LCBbPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiR0dmFsPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+MzA8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2REYXRhIiBpZD0iRGF0YSI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5EYXRhPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjI2Njwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5Jc3N1ZXMgYSBkYXRhIGNvbW1hbmQgYW5kIHNlbmRzIHRoZSBtc2dfZGF0YSB0byB0aGUgc2VydmVyPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPmZpbmlhbGl6aW5nIHRoZSBtYWlsIHRyYW5zYWN0aW9uLiAkbXNnX2RhdGEgaXMgdGhlIG1lc3NhZ2UgIHRoYXQgaXMgdG8gYmUgc2VuZCB3aXRoIHRoZSBoZWFkZXJzLiBFYWNoIGhlYWRlciBuZWVkcyB0byBiZSAgb24gYSBzaW5nbGUgbGluZSBmb2xsb3dlZCBieSBhICZsdDtDUkxGJmd0OyB3aXRoIHRoZSBtZXNzYWdlIGhlYWRlcnMgIGFuZCB0aGUgbWVzc2FnZSBib2R5IGJlaW5nIHNlcGVyYXRlZCBieSBhbmQgYWRkaXRpb25hbCAmbHQ7Q1JMRiZndDsuPC9wPjxwPkltcGxlbWVudHMgcmZjIDgyMTogREFUQSAmbHQ7Q1JMRiZndDs8L3A+PHA+U01UUCBDT0RFIElOVEVSTUVESUFURTogMzU0ICAgICAgW2RhdGFdICAgICAgJmx0O0NSTEYmZ3Q7LiZsdDtDUkxGJmd0OyAgICAgIFNNVFAgQ09ERSBTVUNDRVNTOiAyNTAgICAgICBTTVRQIENPREUgRkFJTFVSRTogNTUyLDU1NCw0NTEsNDUyICBTTVRQIENPREUgRkFJTFVSRTogNDUxLDU1NCAgU01UUCBDT0RFIEVSUk9SICA6IDUwMCw1MDEsNTAzLDQyMTwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJRGF0YQoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRtc2dfZGF0YTwvc3Bhbj4pCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kRXhwYW5kIiBpZD0iRXhwYW5kIj48IS0tIC0tPjwvYT4KPGRpdiBjbGFzcz0ib2Rkcm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+RXhwYW5kPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjM5OTwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5FeHBhbmQgdGFrZXMgdGhlIG5hbWUgYW5kIGFza3MgdGhlIHNlcnZlciB0byBsaXN0IGFsbCB0aGUgIHBlb3BsZSB3aG8gYXJlIG1lbWJlcnMgb2YgdGhlIF9saXN0Xy4gRXhwYW5kIHdpbGwgcmV0dXJuICBiYWNrIGFuZCBhcnJheSBvZiB0aGUgcmVzdWx0IG9yIGZhbHNlIGlmIGFuIGVycm9yIG9jY3Vycy48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+RWFjaCB2YWx1ZSBpbiB0aGUgYXJyYXkgcmV0dXJuZWQgaGFzIHRoZSBmb3JtYXQgb2Y6ICAgICAgWyAmbHQ7ZnVsbC1uYW1lJmd0OyAmbHQ7c3AmZ3Q7IF0gJmx0O3BhdGgmZ3Q7ICBUaGUgZGVmaW5pdGlvbiBvZiAmbHQ7cGF0aCZndDsgaXMgZGVmaW5lZCBpbiByZmMgODIxPC9wPjxwPkltcGxlbWVudHMgcmZjIDgyMTogRVhQTiAmbHQ7U1AmZ3Q7ICZsdDtzdHJpbmcmZ3Q7ICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjUwICBTTVRQIENPREUgRkFJTFVSRTogNTUwICBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDIsNTA0LDQyMTwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+cmV0dXJuOjwvc3Bhbj4gPHA+YXJyYXk8L3A+PC9saT4KCQkJCTxsaT48c3BhbiBjbGFzcz0iZmllbGQiPmFjY2Vzczo8L3NwYW4+IHB1YmxpYzwvbGk+CgkJCTwvdWw+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5zdHJpbmc8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJRXhwYW5kCgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JG5hbWU8L3NwYW4+KQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZEhlbGxvIiBpZD0iSGVsbG8iPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+SGVsbG88L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NDUwPC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBIRUxPIGNvbW1hbmQgdG8gdGhlIHNtdHAgc2VydmVyLjwvcD4KPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48cD5UaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBhbmQgdGhlIHNlcnZlciBhcmUgaW4gIHRoZSBzYW1lIGtub3duIHN0YXRlLjwvcD48cD5JbXBsZW1lbnRzIGZyb20gcmZjIDgyMTogSEVMTyAmbHQ7U1AmZ3Q7ICZsdDtkb21haW4mZ3Q7ICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjUwICBTTVRQIENPREUgRVJST1IgIDogNTAwLCA1MDEsIDUwNCwgNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlIZWxsbwoJCTwvc3Bhbj4KCQkJCQkoWzxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kaG9zdDwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPiIiPC9zcGFuPl0pCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kSGVscCIgaWQ9IkhlbHAiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5IZWxwPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjUyNDwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5HZXRzIGhlbHAgaW5mb3JtYXRpb24gb24gdGhlIGtleXdvcmQgc3BlY2lmaWVkLiBJZiB0aGUga2V5d29yZDwvcD4KPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48cD5pcyBub3Qgc3BlY2lmaWVkIHRoZW4gcmV0dXJucyBnZW5lcmljIGhlbHAsIHVzc3VhbGx5IGNvbnRpYW5pbmcgIEEgbGlzdCBvZiBrZXl3b3JkcyB0aGF0IGhlbHAgaXMgYXZhaWxhYmxlIG9uLiBUaGlzIGZ1bmN0aW9uICByZXR1cm5zIHRoZSByZXN1bHRzIGJhY2sgdG8gdGhlIHVzZXIuIEl0IGlzIHVwIHRvIHRoZSB1c2VyIHRvICBoYW5kbGUgdGhlIHJldHVybmVkIGRhdGEuIElmIGFuIGVycm9yIG9jY3VycyB0aGVuIGZhbHNlIGlzICByZXR1cm5lZCB3aXRoICR0aGlzLSZndDtlcnJvciBzZXQgYXBwcm9waWF0ZWx5LjwvcD48cD5JbXBsZW1lbnRzIHJmYyA4MjE6IEhFTFAgWyAmbHQ7U1AmZ3Q7ICZsdDtzdHJpbmcmZ3Q7IF0gJmx0O0NSTEYmZ3Q7PC9wPjxwPlNNVFAgQ09ERSBTVUNDRVNTOiAyMTEsMjE0ICBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDIsNTA0LDQyMTwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPnN0cmluZzwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlIZWxwCgkJPC9zcGFuPgoJCQkJCShbPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRrZXl3b3JkPC9zcGFuPiA9IDxzcGFuIGNsYXNzPSJ2YXItZGVmYXVsdCI+IiI8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RNYWlsIiBpZD0iTWFpbCI+PCEtLSAtLT48L2E+CjxkaXYgY2xhc3M9ImV2ZW5yb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5NYWlsPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjU3Njwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TdGFydHMgYSBtYWlsIHRyYW5zYWN0aW9uIGZyb20gdGhlIGVtYWlsIGFkZHJlc3Mgc3BlY2lmaWVkIGluICAkZnJvbS4gUmV0dXJucyB0cnVlIGlmIHN1Y2Nlc3NmdWwgb3IgZmFsc2Ugb3RoZXJ3aXNlLiBJZiBUcnVlICB0aGUgbWFpbCB0cmFuc2FjdGlvbiBpcyBzdGFydGVkIGFuZCB0aGVuIG9uZSBvciBtb3JlIFJlY2lwaWVudCAgY29tbWFuZHMgbWF5IGJlIGNhbGxlZCBmb2xsb3dlZCBieSBhIERhdGEgY29tbWFuZC48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+SW1wbGVtZW50cyByZmMgODIxOiBNQUlMICZsdDtTUCZndDsgRlJPTTombHQ7cmV2ZXJzZS1wYXRoJmd0OyAmbHQ7Q1JMRiZndDs8L3A+PHA+U01UUCBDT0RFIFNVQ0NFU1M6IDI1MCAgU01UUCBDT0RFIFNVQ0NFU1M6IDU1Miw0NTEsNDUyICBTTVRQIENPREUgU1VDQ0VTUzogNTAwLDUwMSw0MjE8L3A+PC9wPgoJPHVsIGNsYXNzPSJ0YWdzIj4KCQkJCTxsaT48c3BhbiBjbGFzcz0iZmllbGQiPmFjY2Vzczo8L3NwYW4+IHB1YmxpYzwvbGk+CgkJCTwvdWw+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCU1haWwKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kZnJvbTwvc3Bhbj4pCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kTm9vcCIgaWQ9Ik5vb3AiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5Ob29wPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjYxODwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TZW5kcyB0aGUgY29tbWFuZCBOT09QIHRvIHRoZSBTTVRQIHNlcnZlci48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+SW1wbGVtZW50cyBmcm9tIHJmYyA4MjE6IE5PT1AgJmx0O0NSTEYmZ3Q7PC9wPjxwPlNNVFAgQ09ERSBTVUNDRVNTOiAyNTAgIFNNVFAgQ09ERSBFUlJPUiAgOiA1MDAsIDQyMTwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJTm9vcAoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kUXVpdCIgaWQ9IlF1aXQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+UXVpdDwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj42NjE8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+U2VuZHMgdGhlIHF1aXQgY29tbWFuZCB0byB0aGUgc2VydmVyIGFuZCB0aGVuIGNsb3NlcyB0aGUgc29ja2V0ICBpZiB0aGVyZSBpcyBubyBlcnJvciBvciB0aGUgJGNsb3NlX29uX2Vycm9yIGFyZ3VtZW50IGlzIHRydWUuPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPkltcGxlbWVudHMgZnJvbSByZmMgODIxOiBRVUlUICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjIxICBTTVRQIENPREUgRVJST1IgIDogNTAwPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlRdWl0CgkJPC9zcGFuPgoJCQkJCShbPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRjbG9zZV9vbl9lcnJvcjwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0idmFyLWRlZmF1bHQiPnRydWU8L3NwYW4+XSkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RSZWNpcGllbnQiIGlkPSJSZWNpcGllbnQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5SZWNpcGllbnQ8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NzE1PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBjb21tYW5kIFJDUFQgdG8gdGhlIFNNVFAgc2VydmVyIHdpdGggdGhlIFRPOiBhcmd1bWVudCBvZiAkdG8uPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPlJldHVybnMgdHJ1ZSBpZiB0aGUgcmVjaXBpZW50IHdhcyBhY2NlcHRlZCBmYWxzZSBpZiBpdCB3YXMgcmVqZWN0ZWQuPC9wPjxwPkltcGxlbWVudHMgZnJvbSByZmMgODIxOiBSQ1BUICZsdDtTUCZndDsgVE86Jmx0O2ZvcndhcmQtcGF0aCZndDsgJmx0O0NSTEYmZ3Q7PC9wPjxwPlNNVFAgQ09ERSBTVUNDRVNTOiAyNTAsMjUxICBTTVRQIENPREUgRkFJTFVSRTogNTUwLDU1MSw1NTIsNTUzLDQ1MCw0NTEsNDUyICBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDMsNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlSZWNpcGllbnQKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kdG88L3NwYW4+KQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZFJlc2V0IiBpZD0iUmVzZXQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+UmVzZXQ8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+NzU5PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlNlbmRzIHRoZSBSU0VUIGNvbW1hbmQgdG8gYWJvcnQgYW5kIHRyYW5zYWN0aW9uIHRoYXQgaXMgIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4gUmV0dXJucyB0cnVlIGlmIHN1Y2Nlc3NmdWwgZmFsc2UgIG90aGVyd2lzZS48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+SW1wbGVtZW50cyByZmMgODIxOiBSU0VUICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjUwICBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDQsNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlSZXNldAoJCTwvc3Bhbj4KCQkJCSgpCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kU2VuZCIgaWQ9IlNlbmQiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjgwODwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TdGFydHMgYSBtYWlsIHRyYW5zYWN0aW9uIGZyb20gdGhlIGVtYWlsIGFkZHJlc3Mgc3BlY2lmaWVkIGluPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPiRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUgIHRoZSBtYWlsIHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgYW5kIHRoZW4gb25lIG9yIG1vcmUgUmVjaXBpZW50ICBjb21tYW5kcyBtYXkgYmUgY2FsbGVkIGZvbGxvd2VkIGJ5IGEgRGF0YSBjb21tYW5kLiBUaGlzIGNvbW1hbmQgIHdpbGwgc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUgdXNlcnMgdGVybWluYWwgaWYgdGhleSBhcmUgbG9nZ2VkICBpbi48L3A+PHA+SW1wbGVtZW50cyByZmMgODIxOiBTRU5EICZsdDtTUCZndDsgRlJPTTombHQ7cmV2ZXJzZS1wYXRoJmd0OyAmbHQ7Q1JMRiZndDs8L3A+PHA+U01UUCBDT0RFIFNVQ0NFU1M6IDI1MCAgU01UUCBDT0RFIFNVQ0NFU1M6IDU1Miw0NTEsNDUyICBTTVRQIENPREUgU1VDQ0VTUzogNTAwLDUwMSw1MDIsNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlTZW5kCgkJPC9zcGFuPgoJCQkJCSg8c3BhbiBjbGFzcz0idmFyLXR5cGUiPm1peGVkPC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPSJ2YXItbmFtZSI+JGZyb208L3NwYW4+KQoJCQk8L2Rpdj4KCQoJCQoJCQoJPC9kaXY+CjxhIG5hbWU9Im1ldGhvZFNlbmRBbmRNYWlsIiBpZD0iU2VuZEFuZE1haWwiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+U2VuZEFuZE1haWw8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+ODU2PC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlN0YXJ0cyBhIG1haWwgdHJhbnNhY3Rpb24gZnJvbSB0aGUgZW1haWwgYWRkcmVzcyBzcGVjaWZpZWQgaW48L3A+CjxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PHA+JGZyb20uIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsIG9yIGZhbHNlIG90aGVyd2lzZS4gSWYgVHJ1ZSAgdGhlIG1haWwgdHJhbnNhY3Rpb24gaXMgc3RhcnRlZCBhbmQgdGhlbiBvbmUgb3IgbW9yZSBSZWNpcGllbnQgIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBEYXRhIGNvbW1hbmQuIFRoaXMgY29tbWFuZCAgd2lsbCBzZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB1c2VycyB0ZXJtaW5hbCBpZiB0aGV5IGFyZSBsb2dnZWQgIGluIGFuZCBzZW5kIHRoZW0gYW4gZW1haWwuPC9wPjxwPkltcGxlbWVudHMgcmZjIDgyMTogU0FNTCAmbHQ7U1AmZ3Q7IEZST006Jmx0O3JldmVyc2UtcGF0aCZndDsgJmx0O0NSTEYmZ3Q7PC9wPjxwPlNNVFAgQ09ERSBTVUNDRVNTOiAyNTAgIFNNVFAgQ09ERSBTVUNDRVNTOiA1NTIsNDUxLDQ1MiAgU01UUCBDT0RFIFNVQ0NFU1M6IDUwMCw1MDEsNTAyLDQyMTwvcD48L3A+Cgk8dWwgY2xhc3M9InRhZ3MiPgoJCQkJPGxpPjxzcGFuIGNsYXNzPSJmaWVsZCI+YWNjZXNzOjwvc3Bhbj4gcHVibGljPC9saT4KCQkJPC91bD4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLXNpZ25hdHVyZSI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1yZXN1bHQiPmJvb2w8L3NwYW4+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC1uYW1lIj4KCQkJU2VuZEFuZE1haWwKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kZnJvbTwvc3Bhbj4pCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kU2VuZE9yTWFpbCIgaWQ9IlNlbmRPck1haWwiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5TZW5kT3JNYWlsPC9zcGFuPiAobGluZSA8c3BhbiBjbGFzcz0ibGluZS1udW1iZXIiPjkwNDwvc3Bhbj4pCgk8L2Rpdj4gCgkKCTwhLS0gPT09PT09PT09PSBJbmZvIGZyb20gcGhwRG9jIGJsb2NrID09PT09PT09PSAtLT4KPHAgY2xhc3M9InNob3J0LWRlc2NyaXB0aW9uIj5TdGFydHMgYSBtYWlsIHRyYW5zYWN0aW9uIGZyb20gdGhlIGVtYWlsIGFkZHJlc3Mgc3BlY2lmaWVkIGluPC9wPgo8cCBjbGFzcz0iZGVzY3JpcHRpb24iPjxwPiRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUgIHRoZSBtYWlsIHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgYW5kIHRoZW4gb25lIG9yIG1vcmUgUmVjaXBpZW50ICBjb21tYW5kcyBtYXkgYmUgY2FsbGVkIGZvbGxvd2VkIGJ5IGEgRGF0YSBjb21tYW5kLiBUaGlzIGNvbW1hbmQgIHdpbGwgc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUgdXNlcnMgdGVybWluYWwgaWYgdGhleSBhcmUgbG9nZ2VkICBpbiBvciBtYWlsIGl0IHRvIHRoZW0gaWYgdGhleSBhcmUgbm90LjwvcD48cD5JbXBsZW1lbnRzIHJmYyA4MjE6IFNPTUwgJmx0O1NQJmd0OyBGUk9NOiZsdDtyZXZlcnNlLXBhdGgmZ3Q7ICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjUwICBTTVRQIENPREUgU1VDQ0VTUzogNTUyLDQ1MSw0NTIgIFNNVFAgQ09ERSBTVUNDRVNTOiA1MDAsNTAxLDUwMiw0MjE8L3A+PC9wPgoJPHVsIGNsYXNzPSJ0YWdzIj4KCQkJCTxsaT48c3BhbiBjbGFzcz0iZmllbGQiPmFjY2Vzczo8L3NwYW4+IHB1YmxpYzwvbGk+CgkJCTwvdWw+CgkKCTxkaXYgY2xhc3M9Im1ldGhvZC1zaWduYXR1cmUiPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtcmVzdWx0Ij5ib29sPC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCVNlbmRPck1haWwKCQk8L3NwYW4+CgkJCQkJKDxzcGFuIGNsYXNzPSJ2YXItdHlwZSI+bWl4ZWQ8L3NwYW4+Jm5ic3A7PHNwYW4gY2xhc3M9InZhci1uYW1lIj4kZnJvbTwvc3Bhbj4pCgkJCTwvZGl2PgoJCgkJCgkJCgk8L2Rpdj4KPGEgbmFtZT0ibWV0aG9kVHVybiIgaWQ9IlR1cm4iPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJldmVucm93Ij4KCQoJPGRpdiBjbGFzcz0ibWV0aG9kLWhlYWRlciI+CgkJPHNwYW4gY2xhc3M9Im1ldGhvZC10aXRsZSI+VHVybjwvc3Bhbj4gKGxpbmUgPHNwYW4gY2xhc3M9ImxpbmUtbnVtYmVyIj45NDk8L3NwYW4+KQoJPC9kaXY+IAoJCgk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CjxwIGNsYXNzPSJzaG9ydC1kZXNjcmlwdGlvbiI+VGhpcyBpcyBhbiBvcHRpb25hbCBjb21tYW5kIGZvciBTTVRQIHRoYXQgdGhpcyBjbGFzcyBkb2VzIG5vdCAgc3VwcG9ydC4gVGhpcyBtZXRob2QgaXMgaGVyZSB0byBtYWtlIHRoZSBSRkM4MjEgRGVmaW5pdGlvbiAgY29tcGxldGUgZm9yIHRoaXMgY2xhc3MgYW5kIF9fbWF5X18gYmUgaW1wbGltZW50ZWQgaW4gdGhlIGZ1dHVyZTwvcD4KPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48cD5JbXBsZW1lbnRzIGZyb20gcmZjIDgyMTogVFVSTiAmbHQ7Q1JMRiZndDs8L3A+PHA+U01UUCBDT0RFIFNVQ0NFU1M6IDI1MCAgU01UUCBDT0RFIEZBSUxVUkU6IDUwMiAgU01UUCBDT0RFIEVSUk9SICA6IDUwMCwgNTAzPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+Ym9vbDwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLW5hbWUiPgoJCQlUdXJuCgkJPC9zcGFuPgoJCQkJKCkKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2Pgo8YSBuYW1lPSJtZXRob2RWZXJpZnkiIGlkPSJWZXJpZnkiPjwhLS0gLS0+PC9hPgo8ZGl2IGNsYXNzPSJvZGRyb3ciPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2QtaGVhZGVyIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXRpdGxlIj5WZXJpZnk8L3NwYW4+IChsaW5lIDxzcGFuIGNsYXNzPSJsaW5lLW51bWJlciI+OTcxPC9zcGFuPikKCTwvZGl2PiAKCQoJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgo8cCBjbGFzcz0ic2hvcnQtZGVzY3JpcHRpb24iPlZlcmlmaWVzIHRoYXQgdGhlIG5hbWUgaXMgcmVjb2duaXplZCBieSB0aGUgc2VydmVyLjwvcD4KPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48cD5SZXR1cm5zIGZhbHNlIGlmIHRoZSBuYW1lIGNvdWxkIG5vdCBiZSB2ZXJpZmllZCBvdGhlcndpc2UgIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIgaXMgcmV0dXJuZWQuPC9wPjxwPkltcGxlbWVudHMgcmZjIDgyMTogVlJGWSAmbHQ7U1AmZ3Q7ICZsdDtzdHJpbmcmZ3Q7ICZsdDtDUkxGJmd0OzwvcD48cD5TTVRQIENPREUgU1VDQ0VTUzogMjUwLDI1MSAgU01UUCBDT0RFIEZBSUxVUkU6IDU1MCw1NTEsNTUzICBTTVRQIENPREUgRVJST1IgIDogNTAwLDUwMSw1MDIsNDIxPC9wPjwvcD4KCTx1bCBjbGFzcz0idGFncyI+CgkJCQk8bGk+PHNwYW4gY2xhc3M9ImZpZWxkIj5hY2Nlc3M6PC9zcGFuPiBwdWJsaWM8L2xpPgoJCQk8L3VsPgoJCgk8ZGl2IGNsYXNzPSJtZXRob2Qtc2lnbmF0dXJlIj4KCQk8c3BhbiBjbGFzcz0ibWV0aG9kLXJlc3VsdCI+aW50PC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJtZXRob2QtbmFtZSI+CgkJCVZlcmlmeQoJCTwvc3Bhbj4KCQkJCQkoPHNwYW4gY2xhc3M9InZhci10eXBlIj5taXhlZDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz0idmFyLW5hbWUiPiRuYW1lPC9zcGFuPikKCQkJPC9kaXY+CgkKCQkKCQkKCTwvZGl2PgoJCQkJCQkKCQk8L2Rpdj4KCTwvZGl2PgoJCgk8cCBjbGFzcz0ibm90ZXMiIGlkPSJjcmVkaXQiPgoJCURvY3VtZW50aW9uIGdlbmVyYXRlZCBvbiBNb24sIDI4IEp1bCAyMDAzIDIzOjI1OjUwIC0wNDAwIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnBocERvY3VtZW50b3IgMS4yLjA8L2E+Cgk8L3A+Cgk8L2Rpdj48L2JvZHk+CjwvaHRtbD4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/PHPMailer/_class_phpmailer_php.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPkRvY3MgZm9yIHBhZ2UgY2xhc3MucGhwbWFpbGVyLnBocDwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vbWVkaWEvc3R5bGVzaGVldC5jc3MiIC8+CgkJCTxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtVHlwZScgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLz4KCQk8L2hlYWQ+CgkJPGJvZHk+CgkJCTxkaXYgY2xhc3M9InBhZ2UtYm9keSI+CQkJCjxoMiBjbGFzcz0iZmlsZS1uYW1lIj5Qcm9ncmFtX1Jvb3QvY2xhc3MucGhwbWFpbGVyLnBocDwvaDI+Cgo8YSBuYW1lPSJzZWMtZGVzY3JpcHRpb24iPjwvYT4KPGRpdiBjbGFzcz0iaW5mby1ib3giPgoJPGRpdiBjbGFzcz0iaW5mby1ib3gtdGl0bGUiPkRlc2NyaXB0aW9uPC9kaXY+Cgk8ZGl2IGNsYXNzPSJuYXYtYmFyIj4KCQkJCQk8c3BhbiBjbGFzcz0iZGlzYWJsZWQiPkRlc2NyaXB0aW9uPC9zcGFuPiB8CgkJCQkJCQk8YSBocmVmPSIjc2VjLWNsYXNzZXMiPkNsYXNzZXM8L2E+CgkJCQkJCQkJCQkJCQkJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4JCgkJPCEtLSA9PT09PT09PT09IEluZm8gZnJvbSBwaHBEb2MgYmxvY2sgPT09PT09PT09IC0tPgoJCQoJCQk8L2Rpdj4KPC9kaXY+CgkJCgk8YSBuYW1lPSJzZWMtY2xhc3NlcyI+PC9hPgkKCTxkaXYgY2xhc3M9ImluZm8tYm94Ij4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+Q2xhc3NlczwvZGl2PgoJCTxkaXYgY2xhc3M9Im5hdi1iYXIiPgoJCQk8YSBocmVmPSIjc2VjLWRlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjwvYT4gfAoJCQk8c3BhbiBjbGFzcz0iZGlzYWJsZWQiPkNsYXNzZXM8L3NwYW4+CgkJCQkJCQkJCQkJCQkJCQkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iaW5mby1ib3gtYm9keSI+CQoJCQk8dGFibGUgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0iY2xhc3MtdGFibGUiPgoJCQkJPHRyPgoJCQkJCTx0aCBjbGFzcz0iY2xhc3MtdGFibGUtaGVhZGVyIj5DbGFzczwvdGg+CgkJCQkJPHRoIGNsYXNzPSJjbGFzcy10YWJsZS1oZWFkZXIiPkRlc2NyaXB0aW9uPC90aD4KCQkJCTwvdHI+CgkJCQkJCQkJPHRyPgoJCQkJCTx0ZCBzdHlsZT0icGFkZGluZy1yaWdodDogMmVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wIj4KCQkJCQkJPGEgaHJlZj0iLi4vUEhQTWFpbGVyL1BIUE1haWxlci5odG1sIj5QSFBNYWlsZXI8L2E+CgkJCQkJPC90ZD4KCQkJCQk8dGQ+CgkJCQkJCQkJCQkJUEhQTWFpbGVyIC0gUEhQIGVtYWlsIHRyYW5zcG9ydCBjbGFzcwoJCQkJCQkJCQkJPC90ZD4KCQkJCTwvdHI+CgkJCQkJCQk8L3RhYmxlPgoJCTwvZGl2PgoJPC9kaXY+CgoJCgkKCQoJCgk8cCBjbGFzcz0ibm90ZXMiIGlkPSJjcmVkaXQiPgoJCURvY3VtZW50aW9uIGdlbmVyYXRlZCBvbiBNb24sIDI4IEp1bCAyMDAzIDIzOjI1OjQ5IC0wNDAwIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnBocERvY3VtZW50b3IgMS4yLjA8L2E+Cgk8L3A+Cgk8L2Rpdj48L2JvZHk+CjwvaHRtbD4=]]></data>
  </file>
  <file>
    <filename>/phpmailer/phpdoc/PHPMailer/_class_smtp_php.html</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CiAgPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgoJCTxoZWFkPgoJCQk8IS0tIHRlbXBsYXRlIGRlc2lnbmVkIGJ5IE1hcmNvIFZvbiBCYWxsbW9vcyAtLT4KCQkJPHRpdGxlPkRvY3MgZm9yIHBhZ2UgY2xhc3Muc210cC5waHA8L3RpdGxlPgoJCQk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL21lZGlhL3N0eWxlc2hlZXQuY3NzIiAvPgoJCQk8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xJy8+CgkJPC9oZWFkPgoJCTxib2R5PgoJCQk8ZGl2IGNsYXNzPSJwYWdlLWJvZHkiPgkJCQo8aDIgY2xhc3M9ImZpbGUtbmFtZSI+UHJvZ3JhbV9Sb290L2NsYXNzLnNtdHAucGhwPC9oMj4KCjxhIG5hbWU9InNlYy1kZXNjcmlwdGlvbiI+PC9hPgo8ZGl2IGNsYXNzPSJpbmZvLWJveCI+Cgk8ZGl2IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+RGVzY3JpcHRpb248L2Rpdj4KCTxkaXYgY2xhc3M9Im5hdi1iYXIiPgoJCQkJCTxzcGFuIGNsYXNzPSJkaXNhYmxlZCI+RGVzY3JpcHRpb248L3NwYW4+IHwKCQkJCQkJCTxhIGhyZWY9IiNzZWMtY2xhc3NlcyI+Q2xhc3NlczwvYT4KCQkJCQkJCQkJCQkJCQk8L2Rpdj4KCTxkaXYgY2xhc3M9ImluZm8tYm94LWJvZHkiPgkKCQk8IS0tID09PT09PT09PT0gSW5mbyBmcm9tIHBocERvYyBibG9jayA9PT09PT09PT0gLS0+CgkJCgkJCTwvZGl2Pgo8L2Rpdj4KCQkKCTxhIG5hbWU9InNlYy1jbGFzc2VzIj48L2E+CQoJPGRpdiBjbGFzcz0iaW5mby1ib3giPgoJCTxkaXYgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5DbGFzc2VzPC9kaXY+CgkJPGRpdiBjbGFzcz0ibmF2LWJhciI+CgkJCTxhIGhyZWY9IiNzZWMtZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9hPiB8CgkJCTxzcGFuIGNsYXNzPSJkaXNhYmxlZCI+Q2xhc3Nlczwvc3Bhbj4KCQkJCQkJCQkJCQkJCQkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJpbmZvLWJveC1ib2R5Ij4JCgkJCTx0YWJsZSBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJjbGFzcy10YWJsZSI+CgkJCQk8dHI+CgkJCQkJPHRoIGNsYXNzPSJjbGFzcy10YWJsZS1oZWFkZXIiPkNsYXNzPC90aD4KCQkJCQk8dGggY2xhc3M9ImNsYXNzLXRhYmxlLWhlYWRlciI+RGVzY3JpcHRpb248L3RoPgoJCQkJPC90cj4KCQkJCQkJCQk8dHI+CgkJCQkJPHRkIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAyZW07IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJCQk8YSBocmVmPSIuLi9QSFBNYWlsZXIvU01UUC5odG1sIj5TTVRQPC9hPgoJCQkJCTwvdGQ+CgkJCQkJPHRkPgoJCQkJCQkJCQkJCVNNVFAgaXMgcmZjIDgyMSBjb21wbGlhbnQgYW5kIGltcGxlbWVudHMgYWxsIHRoZSByZmMgODIxIFNNVFAgIGNvbW1hbmRzIGV4Y2VwdCBUVVJOIHdoaWNoIHdpbGwgYWx3YXlzIHJldHVybiBhIG5vdCBpbXBsZW1lbnRlZCAgZXJyb3IuIFNNVFAgYWxzbyBwcm92aWRlcyBzb21lIHV0aWxpdHkgbWV0aG9kcyBmb3Igc2VuZGluZyBtYWlsICB0byBhbiBTTVRQIHNlcnZlci4KCQkJCQkJCQkJCTwvdGQ+CgkJCQk8L3RyPgoJCQkJCQkJPC90YWJsZT4KCQk8L2Rpdj4KCTwvZGl2PgoKCQoJCgkKCQoJPHAgY2xhc3M9Im5vdGVzIiBpZD0iY3JlZGl0Ij4KCQlEb2N1bWVudGlvbiBnZW5lcmF0ZWQgb24gTW9uLCAyOCBKdWwgMjAwMyAyMzoyNTo1MCAtMDQwMCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciIHRhcmdldD0iX2JsYW5rIj5waHBEb2N1bWVudG9yIDEuMi4wPC9hPgoJPC9wPgoJPC9kaXY+PC9ib2R5Pgo8L2h0bWw+]]></data>
  </file>
  <file>
    <filename>/phpmailer/README</filename>
    <isdir>0</isdir>
    <data><![CDATA[UEhQTWFpbGVyDQpGdWxsIEZlYXR1cmVkIEVtYWlsIFRyYW5zZmVyIENsYXNzIGZvciBQSFANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpodHRwOi8vcGhwbWFpbGVyLnNvdXJjZWZvcmdlLm5ldC8NCg0KVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbmNlZCB1bmRlciB0aGUgTEdQTC4gIFBsZWFzZSByZWFkIExJQ0VOU0UgZm9yIGluZm9ybWF0aW9uIG9uIHRoZQ0Kc29mdHdhcmUgYXZhaWxhYmlsaXR5IGFuZCBkaXN0cmlidXRpb24uDQoNCkNsYXNzIEZlYXR1cmVzOg0KLSBTZW5kIGVtYWlscyB3aXRoIG11bHRpcGxlIFRPcywgQ0NzLCBCQ0NzIGFuZCBSRVBMWS1UT3MNCi0gUmVkdW5kYW50IFNNVFAgc2VydmVycw0KLSBNdWx0aXBhcnQvYWx0ZXJuYXRpdmUgZW1haWxzIGZvciBtYWlsIGNsaWVudHMgdGhhdCBkbyBub3QgcmVhZCBIVE1MIGVtYWlsDQotIFN1cHBvcnQgZm9yIDhiaXQsIGJhc2U2NCwgYmluYXJ5LCBhbmQgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZw0KLSBVc2VzIHRoZSBzYW1lIG1ldGhvZHMgYXMgdGhlIHZlcnkgcG9wdWxhciBBc3BFbWFpbCBhY3RpdmUgc2VydmVyIChDT00pIGNvbXBvbmVudA0KLSBTTVRQIGF1dGhlbnRpY2F0aW9uDQotIE5hdGl2ZSBsYW5ndWFnZSBzdXBwb3J0DQotIFdvcmQgd3JhcCwgYW5kIG1vcmUhDQoNCldoeSB5b3UgbWlnaHQgbmVlZCBpdDoNCg0KTWFueSBQSFAgZGV2ZWxvcGVycyB1dGlsaXplIGVtYWlsIGluIHRoZWlyIGNvZGUuICBUaGUgb25seSBQSFAgZnVuY3Rpb24NCnRoYXQgc3VwcG9ydHMgdGhpcyBpcyB0aGUgbWFpbCgpIGZ1bmN0aW9uLiAgSG93ZXZlciwgaXQgZG9lcyBub3QgZXhwb3NlDQphbnkgb2YgdGhlIHBvcHVsYXIgZmVhdHVyZXMgdGhhdCBtYW55IGVtYWlsIGNsaWVudHMgdXNlIG5vd2FkYXlzIGxpa2UNCkhUTUwtYmFzZWQgZW1haWxzIGFuZCBhdHRhY2htZW50cy4gVGhlcmUgYXJlIHR3byBwcm9wcmlldGFyeQ0KZGV2ZWxvcG1lbnQgdG9vbHMgb3V0IHRoZXJlIHRoYXQgaGF2ZSBhbGwgdGhlIGZ1bmN0aW9uYWxpdHkgYnVpbHQgaW50bw0KZWFzeSB0byB1c2UgY2xhc3NlczogQXNwRW1haWwodG0pIGFuZCBBc3BNYWlsLiAgQm90aCBvZiB0aGVzZQ0KcHJvZ3JhbXMgYXJlIENPTSBjb21wb25lbnRzIG9ubHkgYXZhaWxhYmxlIG9uIFdpbmRvd3MuICBUaGV5IGFyZSBhbHNvIGENCmxpdHRsZSBwcmljZXkgZm9yIHNtYWxsZXIgcHJvamVjdHMuDQoNClNpbmNlIEkgZG8gTGludXggZGV2ZWxvcG1lbnQgSZJ2ZSBtaXNzZWQgdGhlc2UgdG9vbHMgZm9yIG15IFBIUCBjb2RpbmcuDQpTbyBJIGJ1aWx0IGEgdmVyc2lvbiBteXNlbGYgdGhhdCBpbXBsZW1lbnRzIHRoZSBzYW1lIG1ldGhvZHMgKG9iamVjdA0KY2FsbHMpIHRoYXQgdGhlIFdpbmRvd3MtYmFzZWQgY29tcG9uZW50cyBkby4gSXQgaXMgb3BlbiBzb3VyY2UgYW5kIHRoZQ0KTEdQTCBsaWNlbnNlIGFsbG93cyB5b3UgdG8gcGxhY2UgdGhlIGNsYXNzIGluIHlvdXIgcHJvcHJpZXRhcnkgUEhQDQpwcm9qZWN0cy4NCg0KDQpJbnN0YWxsYXRpb246DQoNCkNvcHkgY2xhc3MucGhwbWFpbGVyLnBocCBpbnRvIHlvdXIgcGhwLmluaSBpbmNsdWRlX3BhdGguIElmIHlvdSBhcmUNCnVzaW5nIHRoZSBTTVRQIG1haWxlciB0aGVuIHBsYWNlIGNsYXNzLnNtdHAucGhwIGluIHlvdXIgcGF0aCBhcyB3ZWxsLg0KSW4gdGhlIGxhbmd1YWdlIGRpcmVjdG9yeSB5b3Ugd2lsbCBmaW5kIHNldmVyYWwgZmlsZXMgbGlrZSANCnBocG1haWxlci5sYW5nLWVuLnBocC4gIElmIHlvdSBsb29rIHJpZ2h0IGJlZm9yZSB0aGUgLnBocCBleHRlbnNpb24gDQp0aGF0IHRoZXJlIGFyZSB0d28gbGV0dGVycy4gIFRoZXNlIHJlcHJlc2VudCB0aGUgbGFuZ3VhZ2UgdHlwZSBvZiB0aGUgDQp0cmFuc2xhdGlvbiBmaWxlLiAgRm9yIGluc3RhbmNlICJlbiIgaXMgdGhlIEVuZ2xpc2ggZmlsZSBhbmQgImJyIiBpcyANCnRoZSBQb3J0dWd1ZXNlIGZpbGUuICBDaG9zZSB0aGUgZmlsZSB0aGF0IGJlc3QgZml0cyB3aXRoIHlvdXIgbGFuZ3VhZ2UgDQphbmQgcGxhY2UgaXQgaW4gdGhlIFBIUCBpbmNsdWRlIHBhdGguICBJZiB5b3VyIGxhbmd1YWdlIGlzIEVuZ2xpc2ggDQp0aGVuIHlvdSBoYXZlIG5vdGhpbmcgbW9yZSB0byBkby4gIElmIGl0IGlzIGEgZGlmZmVyZW50IGxhbmd1YWdlIHRoZW4gDQp5b3UgbXVzdCBwb2ludCBQSFBNYWlsZXIgdG8gdGhlIGNvcnJlY3QgdHJhbnNsYXRpb24uICBUbyBkbyB0aGlzLCBjYWxsIA0KdGhlIFBIUE1haWxlciBTZXRMYW5ndWFnZSBtZXRob2QgbGlrZSBzbzoNCg0KLy8gVG8gbG9hZCB0aGUgUG9ydHVndWVzZSB2ZXJzaW9uDQokbWFpbC0+U2V0TGFuZ3VhZ2UoImJyIiwgIi9vcHRpb25hbC9wYXRoL3RvL2xhbmd1YWdlL2RpcmVjdG9yeS8iKTsNCg0KVGhhdCdzIGl0LiAgWW91IHNob3VsZCBub3cgYmUgcmVhZHkgdG8gdXNlIFBIUE1haWxlciENCg0KDQpBIFNpbXBsZSBFeGFtcGxlOg0KDQo8P3BocA0KcmVxdWlyZSgiY2xhc3MucGhwbWFpbGVyLnBocCIpOw0KDQokbWFpbCA9IG5ldyBQSFBNYWlsZXIoKTsNCg0KJG1haWwtPklzU01UUCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0IG1haWxlciB0byB1c2UgU01UUA0KJG1haWwtPkhvc3QgPSAic210cDEuZXhhbXBsZS5jb207c210cDIuZXhhbXBsZS5jb20iOyAgLy8gc3BlY2lmeSBtYWluIGFuZCBiYWNrdXAgc2VydmVyDQokbWFpbC0+U01UUEF1dGggPSB0cnVlOyAgICAgLy8gdHVybiBvbiBTTVRQIGF1dGhlbnRpY2F0aW9uDQokbWFpbC0+VXNlcm5hbWUgPSAianN3YW4iOyAgLy8gU01UUCB1c2VybmFtZQ0KJG1haWwtPlBhc3N3b3JkID0gInNlY3JldCI7IC8vIFNNVFAgcGFzc3dvcmQNCg0KJG1haWwtPkZyb20gPSAiZnJvbUBleGFtcGxlLmNvbSI7DQokbWFpbC0+RnJvbU5hbWUgPSAiTWFpbGVyIjsNCiRtYWlsLT5BZGRBZGRyZXNzKCJqb3NoQGV4YW1wbGUubmV0IiwgIkpvc2ggQWRhbXMiKTsNCiRtYWlsLT5BZGRBZGRyZXNzKCJlbGxlbkBleGFtcGxlLmNvbSIpOyAgICAgICAgICAgICAgICAgIC8vIG5hbWUgaXMgb3B0aW9uYWwNCiRtYWlsLT5BZGRSZXBseVRvKCJpbmZvQGV4YW1wbGUuY29tIiwgIkluZm9ybWF0aW9uIik7DQoNCiRtYWlsLT5Xb3JkV3JhcCA9IDUwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldCB3b3JkIHdyYXAgdG8gNTAgY2hhcmFjdGVycw0KJG1haWwtPkFkZEF0dGFjaG1lbnQoIi92YXIvdG1wL2ZpbGUudGFyLmd6Iik7ICAgICAgICAgLy8gYWRkIGF0dGFjaG1lbnRzDQokbWFpbC0+QWRkQXR0YWNobWVudCgiL3RtcC9pbWFnZS5qcGciLCAibmV3LmpwZyIpOyAgICAvLyBvcHRpb25hbCBuYW1lDQokbWFpbC0+SXNIVE1MKHRydWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXQgZW1haWwgZm9ybWF0IHRvIEhUTUwNCg0KJG1haWwtPlN1YmplY3QgPSAiSGVyZSBpcyB0aGUgc3ViamVjdCI7DQokbWFpbC0+Qm9keSAgICA9ICJUaGlzIGlzIHRoZSBIVE1MIG1lc3NhZ2UgYm9keSA8Yj5pbiBib2xkITwvYj4iOw0KJG1haWwtPkFsdEJvZHkgPSAiVGhpcyBpcyB0aGUgYm9keSBpbiBwbGFpbiB0ZXh0IGZvciBub24tSFRNTCBtYWlsIGNsaWVudHMiOw0KDQppZighJG1haWwtPlNlbmQoKSkNCnsNCiAgIGVjaG8gIk1lc3NhZ2UgY291bGQgbm90IGJlIHNlbnQuIDxwPiI7DQogICBlY2hvICJNYWlsZXIgRXJyb3I6ICIgLiAkbWFpbC0+RXJyb3JJbmZvOw0KICAgZXhpdDsNCn0NCg0KZWNobyAiTWVzc2FnZSBoYXMgYmVlbiBzZW50IjsNCj8+DQoNCkNIQU5HRUxPRw0KDQpTZWUgQ2hhbmdlTG9nLnR4dA0KDQpEb3dubG9hZDogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dmaWxlcy5waHA/Z3JvdXBfaWQ9MjYwMzENCg0KQnJlbnQgUi4gTWF0emVsbGUNCg==]]></data>
  </file>
  <file>
    <filename>/phpmailer/test/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/phpmailer/test/phpmailer_test.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8qKioqKioqKioqKioqKioqKioqDQogIFVuaXQgVGVzdA0KICBUeXBlOiBwaHBtYWlsZXIgY2xhc3MNCioqKioqKioqKioqKioqKioqKioqLw0KDQokSU5DTFVERV9ESVIgPSAiLi4vIjsNCg0KcmVxdWlyZSgicGhwdW5pdC5waHAiKTsNCnJlcXVpcmUoJElOQ0xVREVfRElSIC4gImNsYXNzLnBocG1haWxlci5waHAiKTsNCmVycm9yX3JlcG9ydGluZyhFX0FMTCk7DQoNCi8qKg0KICogUGVyZm9ybXMgYXV0aGVudGljYXRpb24gdGVzdHMNCiAqLw0KY2xhc3MgcGhwbWFpbGVyVGVzdCBleHRlbmRzIFRlc3RDYXNlDQp7DQogICAgLyoqDQogICAgICogSG9sZHMgdGhlIGRlZmF1bHQgcGhwbWFpbGVyIGluc3RhbmNlLg0KICAgICAqIEBwcml2YXRlDQogICAgICogQHR5cGUgb2JqZWN0DQogICAgICovDQogICAgdmFyICRNYWlsID0gZmFsc2U7DQoNCiAgICAvKioNCiAgICAgKiBIb2xkcyB0aGUgU01UUCBtYWlsIGhvc3QuDQogICAgICogQHB1YmxpYw0KICAgICAqIEB0eXBlIHN0cmluZw0KICAgICAqLw0KICAgIHZhciAkSG9zdCA9ICIiOw0KICAgIA0KICAgIC8qKg0KICAgICAqIEhvbGRzIHRoZSBjaGFuZ2UgbG9nLg0KICAgICAqIEBwcml2YXRlDQogICAgICogQHR5cGUgc3RyaW5nIGFycmF5DQogICAgICovDQogICAgdmFyICRDaGFuZ2VMb2cgPSBhcnJheSgpOw0KICAgIA0KICAgICAvKioNCiAgICAgKiBIb2xkcyB0aGUgbm90ZSBsb2cuDQogICAgICogQHByaXZhdGUNCiAgICAgKiBAdHlwZSBzdHJpbmcgYXJyYXkNCiAgICAgKi8NCiAgICB2YXIgJE5vdGVMb2cgPSBhcnJheSgpOyAgIA0KDQogICAgLyoqDQogICAgICogQ2xhc3MgY29uc3R1Y3Rvci4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBwaHBtYWlsZXJUZXN0KCRuYW1lKSB7DQogICAgICAgIC8qIG11c3QgZGVmaW5lIHRoaXMgY29uc3RydWN0b3IgKi8NCiAgICAgICAgJHRoaXMtPlRlc3RDYXNlKCAkbmFtZSApOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBSdW4gYmVmb3JlIGVhY2ggdGVzdCBpcyBzdGFydGVkLg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHNldFVwKCkgew0KICAgICAgICBnbG9iYWwgJGdsb2JhbF92YXJzOw0KICAgICAgICBnbG9iYWwgJElOQ0xVREVfRElSOw0KDQogICAgICAgICR0aGlzLT5NYWlsID0gbmV3IFBIUE1haWxlcigpOw0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Qcmlvcml0eSA9IDM7DQogICAgICAgICR0aGlzLT5NYWlsLT5FbmNvZGluZyA9ICI4Yml0IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPkNoYXJTZXQgPSAiaXNvLTg4NTktMSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5Gcm9tID0gInVuaXRfdGVzdEBwaHBtYWlsZXIuc2YubmV0IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPkZyb21OYW1lID0gIlVuaXQgVGVzdGVyIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlNlbmRlciA9ICIiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCA9ICJVbml0IFRlc3QiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICIiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+QWx0Qm9keSA9ICIiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+V29yZFdyYXAgPSAwOw0KICAgICAgICAkdGhpcy0+TWFpbC0+SG9zdCA9ICRnbG9iYWxfdmFyc1sibWFpbF9ob3N0Il07DQogICAgICAgICR0aGlzLT5NYWlsLT5Qb3J0ID0gMjU7DQogICAgICAgICR0aGlzLT5NYWlsLT5IZWxvID0gImxvY2FsaG9zdC5sb2NhbGRvbWFpbiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5TTVRQQXV0aCA9IGZhbHNlOw0KICAgICAgICAkdGhpcy0+TWFpbC0+VXNlcm5hbWUgPSAiIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlBhc3N3b3JkID0gIiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5QbHVnaW5EaXIgPSAkSU5DTFVERV9ESVI7DQoJCSR0aGlzLT5NYWlsLT5BZGRSZXBseVRvKCJub19yZXBseUBwaHBtYWlsZXIuc2YubmV0IiwgIlJlcGx5IEd1eSIpOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U2VuZGVyID0gInVuaXRfdGVzdEBwaHBtYWlsZXIuc2YubmV0IjsNCg0KICAgICAgICBpZihzdHJsZW4oJHRoaXMtPk1haWwtPkhvc3QpID4gMCkNCiAgICAgICAgICAgICR0aGlzLT5NYWlsLT5NYWlsZXIgPSAic210cCI7DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPk1haWwtPk1haWxlciA9ICJtYWlsIjsNCiAgICAgICAgICAgICR0aGlzLT5TZW5kZXIgPSAidW5pdF90ZXN0QHBocG1haWxlci5zZi5uZXQiOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBnbG9iYWwgJGdsb2JhbF92YXJzOw0KICAgICAgICAkdGhpcy0+U2V0QWRkcmVzcygkZ2xvYmFsX3ZhcnNbIm1haWxfdG8iXSwgIlRlc3QgVXNlciIpOw0KICAgICAgICBpZihzdHJsZW4oJGdsb2JhbF92YXJzWyJtYWlsX2NjIl0pID4gMCkNCiAgICAgICAgICAgICR0aGlzLT5TZXRBZGRyZXNzKCRnbG9iYWxfdmFyc1sibWFpbF9jYyJdLCAiQ2FyYm9uIFVzZXIiLCAiY2MiKTsNCiAgICB9ICAgICANCg0KICAgIC8qKg0KICAgICAqIFJ1biBhZnRlciBlYWNoIHRlc3QgaXMgY29tcGxldGVkLg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlYXJEb3duKCkgew0KICAgICAgICAvLyBDbGVhbiBnbG9iYWwgdmFyaWFibGVzDQogICAgICAgICR0aGlzLT5NYWlsID0gTlVMTDsNCiAgICAgICAgJHRoaXMtPkNoYW5nZUxvZyA9IGFycmF5KCk7DQogICAgICAgICR0aGlzLT5Ob3RlTG9nID0gYXJyYXkoKTsNCiAgICB9DQoNCg0KICAgIC8qKg0KICAgICAqIEJ1aWxkIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIGluIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuDQogICAgICogQHByaXZhdGUNCiAgICAgKiBAcmV0dXJucyB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQnVpbGRCb2R5KCkgew0KICAgICAgICAkdGhpcy0+Q2hlY2tDaGFuZ2VzKCk7DQogICAgICAgIA0KICAgICAgICAvLyBEZXRlcm1pbmUgbGluZSBlbmRpbmdzIGZvciBtZXNzYWdlICAgICAgICANCiAgICAgICAgaWYoJHRoaXMtPk1haWwtPkNvbnRlbnRUeXBlID09ICJ0ZXh0L2h0bWwiIHx8IHN0cmxlbigkdGhpcy0+TWFpbC0+QWx0Qm9keSkgPiAwKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZW9sID0gIjxici8+IjsNCiAgICAgICAgICAgICRidWxsZXQgPSAiPGxpPiI7DQogICAgICAgICAgICAkYnVsbGV0X3N0YXJ0ID0gIjx1bD4iOw0KICAgICAgICAgICAgJGJ1bGxldF9lbmQgPSAiPC91bD4iOw0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJGVvbCA9ICJcbiI7DQogICAgICAgICAgICAkYnVsbGV0ID0gIiAtICI7DQogICAgICAgICAgICAkYnVsbGV0X3N0YXJ0ID0gIiI7DQogICAgICAgICAgICAkYnVsbGV0X2VuZCA9ICIiOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkUmVwb3J0Qm9keSA9ICIiOw0KICAgICAgICANCiAgICAgICAgJFJlcG9ydEJvZHkgLj0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLSIgLiAkZW9sOw0KICAgICAgICAkUmVwb3J0Qm9keSAuPSAiVW5pdCBUZXN0IEluZm9ybWF0aW9uIiAuICRlb2w7DQogICAgICAgICRSZXBvcnRCb2R5IC49ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0iIC4gJGVvbDsNCiAgICAgICAgJFJlcG9ydEJvZHkgLj0gInBocG1haWxlciB2ZXJzaW9uOiAiIC4gJHRoaXMtPk1haWwtPlZlcnNpb24gLiAkZW9sOw0KICAgICAgICAkUmVwb3J0Qm9keSAuPSAiQ29udGVudCBUeXBlOiAiIC4gJHRoaXMtPk1haWwtPkNvbnRlbnRUeXBlIC4gJGVvbDsNCiAgICAgICAgDQogICAgICAgIGlmKHN0cmxlbigkdGhpcy0+TWFpbC0+SG9zdCkgPiAwKQ0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkhvc3Q6ICIgLiAkdGhpcy0+TWFpbC0+SG9zdCAuICRlb2w7DQogICAgICAgIA0KICAgICAgICAvLyBJZiBhdHRhY2htZW50cyB0aGVuIGNyZWF0ZSBhbiBhdHRhY2htZW50IGxpc3QNCiAgICAgICAgaWYoY291bnQoJHRoaXMtPk1haWwtPmF0dGFjaG1lbnQpID4gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkF0dGFjaG1lbnRzOiIgLiAkZW9sOw0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gJGJ1bGxldF9zdGFydDsNCiAgICAgICAgICAgIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPk1haWwtPmF0dGFjaG1lbnQpOyAkaSsrKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXQgLiAiTmFtZTogIiAuICR0aGlzLT5NYWlsLT5hdHRhY2htZW50WyRpXVsxXSAuICIsICI7DQogICAgICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkVuY29kaW5nOiAiIC4gJHRoaXMtPk1haWwtPmF0dGFjaG1lbnRbJGldWzNdIC4gIiwgIjsNCiAgICAgICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAiVHlwZTogIiAuICR0aGlzLT5NYWlsLT5hdHRhY2htZW50WyRpXVs0XSAuICRlb2w7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAkYnVsbGV0X2VuZCAuICRlb2w7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vIElmIHRoZXJlIGFyZSBjaGFuZ2VzIHRoZW4gbGlzdCB0aGVtDQogICAgICAgIGlmKGNvdW50KCR0aGlzLT5DaGFuZ2VMb2cpID4gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIkNoYW5nZXMiIC4gJGVvbDsNCiAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICItLS0tLS0tIiAuICRlb2w7DQoNCiAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXRfc3RhcnQ7DQogICAgICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5DaGFuZ2VMb2cpOyAkaSsrKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXQgLiAkdGhpcy0+Q2hhbmdlTG9nWyRpXVswXSAuICIgd2FzIGNoYW5nZWQgdG8gWyIgLiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Q2hhbmdlTG9nWyRpXVsxXSAuICJdIiAuICRlb2w7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAkYnVsbGV0X2VuZCAuICRlb2wgLiAkZW9sOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm90ZXMgdGhlbiBsaXN0IHRoZW0NCiAgICAgICAgaWYoY291bnQoJHRoaXMtPk5vdGVMb2cpID4gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gIk5vdGVzIiAuICRlb2w7DQogICAgICAgICAgICAkUmVwb3J0Qm9keSAuPSAiLS0tLS0iIC4gJGVvbDsNCg0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gJGJ1bGxldF9zdGFydDsNCiAgICAgICAgICAgIGZvcigkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPk5vdGVMb2cpOyAkaSsrKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRSZXBvcnRCb2R5IC49ICRidWxsZXQgLiAkdGhpcy0+Tm90ZUxvZ1skaV0gLiAkZW9sOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJFJlcG9ydEJvZHkgLj0gJGJ1bGxldF9lbmQ7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vIFJlLWF0dGFjaCB0aGUgb3JpZ2luYWwgYm9keQ0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSAuPSAkZW9sIC4gJGVvbCAuICRSZXBvcnRCb2R5Ow0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBDaGVjayB3aGljaCBkZWZhdWx0IHNldHRpbmdzIGhhdmUgYmVlbiBjaGFuZ2VkIGZvciB0aGUgcmVwb3J0Lg0KICAgICAqIEBwcml2YXRlDQogICAgICogQHJldHVybnMgdm9pZA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIENoZWNrQ2hhbmdlcygpIHsNCiAgICAgICAgaWYoJHRoaXMtPk1haWwtPlByaW9yaXR5ICE9IDMpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJQcmlvcml0eSIsICR0aGlzLT5NYWlsLT5Qcmlvcml0eSk7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5FbmNvZGluZyAhPSAiOGJpdCIpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJFbmNvZGluZyIsICR0aGlzLT5NYWlsLT5FbmNvZGluZyk7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5DaGFyU2V0ICE9ICJpc28tODg1OS0xIikNCiAgICAgICAgICAgICR0aGlzLT5BZGRDaGFuZ2UoIkNoYXJTZXQiLCAkdGhpcy0+TWFpbC0+Q2hhclNldCk7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5TZW5kZXIgIT0gIiIpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJTZW5kZXIiLCAkdGhpcy0+TWFpbC0+U2VuZGVyKTsNCiAgICAgICAgaWYoJHRoaXMtPk1haWwtPldvcmRXcmFwICE9IDApDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJXb3JkV3JhcCIsICR0aGlzLT5NYWlsLT5Xb3JkV3JhcCk7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5NYWlsZXIgIT0gIm1haWwiKQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiTWFpbGVyIiwgJHRoaXMtPk1haWwtPk1haWxlcik7DQogICAgICAgIGlmKCR0aGlzLT5NYWlsLT5Qb3J0ICE9IDI1KQ0KICAgICAgICAgICAgJHRoaXMtPkFkZENoYW5nZSgiUG9ydCIsICR0aGlzLT5NYWlsLT5Qb3J0KTsNCiAgICAgICAgaWYoJHRoaXMtPk1haWwtPkhlbG8gIT0gImxvY2FsaG9zdC5sb2NhbGRvbWFpbiIpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJIZWxvIiwgJHRoaXMtPk1haWwtPkhlbG8pOw0KICAgICAgICBpZigkdGhpcy0+TWFpbC0+U01UUEF1dGgpDQogICAgICAgICAgICAkdGhpcy0+QWRkQ2hhbmdlKCJTTVRQQXV0aCIsICJ0cnVlIik7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIEFkZHMgYSBjaGFuZ2UgZW50cnkuDQogICAgICogQHByaXZhdGUNCiAgICAgKiBAcmV0dXJucyB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gQWRkQ2hhbmdlKCRzTmFtZSwgJHNOZXdWYWx1ZSkgew0KICAgICAgICAkY3VyID0gY291bnQoJHRoaXMtPkNoYW5nZUxvZyk7DQogICAgICAgICR0aGlzLT5DaGFuZ2VMb2dbJGN1cl1bMF0gPSAkc05hbWU7DQogICAgICAgICR0aGlzLT5DaGFuZ2VMb2dbJGN1cl1bMV0gPSAkc05ld1ZhbHVlOw0KICAgIH0NCiAgICANCiAgICAvKioNCiAgICAgKiBBZGRzIGEgc2ltcGxlIG5vdGUgdG8gdGhlIG1lc3NhZ2UuDQogICAgICogQHB1YmxpYw0KICAgICAqIEByZXR1cm5zIHZvaWQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBBZGROb3RlKCRzVmFsdWUpIHsNCiAgICAgICAgJHRoaXMtPk5vdGVMb2dbXSA9ICRzVmFsdWU7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQWRkcyBhbGwgb2YgdGhlIGFkZHJlc3Nlcw0KICAgICAqIEBwdWJsaWMNCiAgICAgKiBAcmV0dXJucyB2b2lkDQogICAgICovDQogICAgZnVuY3Rpb24gU2V0QWRkcmVzcygkc0FkZHJlc3MsICRzTmFtZSA9ICIiLCAkc1R5cGUgPSAidG8iKSB7DQogICAgICAgIHN3aXRjaCgkc1R5cGUpDQogICAgICAgIHsNCiAgICAgICAgICAgIGNhc2UgInRvIjoNCiAgICAgICAgICAgICAgICAkdGhpcy0+TWFpbC0+QWRkQWRkcmVzcygkc0FkZHJlc3MsICRzTmFtZSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICJjYyI6DQogICAgICAgICAgICAgICAgJHRoaXMtPk1haWwtPkFkZENDKCRzQWRkcmVzcywgJHNOYW1lKTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgImJjYyI6DQogICAgICAgICAgICAgICAgJHRoaXMtPk1haWwtPkFkZEJDQygkc0FkZHJlc3MsICRzTmFtZSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogICAgLy8gVU5JVCBURVNUUw0KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KICAgIC8qKg0KICAgICAqIFRyeSBhIHBsYWluIG1lc3NhZ2UuDQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9Xb3JkV3JhcCgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+V29yZFdyYXAgPSA0MDsNCiAgICAgICAgJG15X2JvZHkgPSAiSGVyZSBpcyB0aGUgbWFpbiBib2R5IG9mIHRoaXMgbWVzc2FnZS4gIEl0IHNob3VsZCAiIC4NCiAgICAgICAgICAgICAgICAgICAiYmUgcXVpdGUgYSBmZXcgbGluZXMuICBJdCBzaG91bGQgYmUgd3JhcHBlZCBhdCB0aGUgIiAuDQogICAgICAgICAgICAgICAgICAgIjQwIGNoYXJhY3RlcnMuICBNYWtlIHN1cmUgdGhhdCBpdCBpcy4iOw0KICAgICAgICAkbkJvZHlMZW4gPSBzdHJsZW4oJG15X2JvZHkpOw0KICAgICAgICAkbXlfYm9keSAuPSAiXG5cblRoaXMgaXMgdGhlIGFib3ZlIGJvZHkgbGVuZ3RoOiAiIC4gJG5Cb2R5TGVuOw0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gJG15X2JvZHk7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IFdvcmR3cmFwIjsNCg0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogVHJ5IGEgcGxhaW4gbWVzc2FnZS4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X0xvd19Qcmlvcml0eSgpIHsNCiAgICANCiAgICAgICAgJHRoaXMtPk1haWwtPlByaW9yaXR5ID0gNTsNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiSGVyZSBpcyB0aGUgbWFpbiBib2R5LiAgVGhlcmUgc2hvdWxkIGJlICIgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhIHJlcGx5IHRvIGFkZHJlc3MgaW4gdGhpcyBtZXNzYWdlLiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IExvdyBQcmlvcml0eSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5BZGRSZXBseVRvKCJub2JvZHlAbm9ib2R5LmNvbSIsICJOb2JvZHkgKFVuaXQgVGVzdCkiKTsNCg0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogU2ltcGxlIHBsYWluIGZpbGUgYXR0YWNobWVudCB0ZXN0Lg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlc3RfTXVsdGlwbGVfUGxhaW5fRmlsZUF0dGFjaG1lbnQoKSB7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiSGVyZSBpcyB0aGUgdGV4dCBib2R5IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogUGxhaW4gKyBNdWx0aXBsZSBGaWxlQXR0YWNobWVudHMiOw0KDQogICAgICAgIGlmKCEkdGhpcy0+TWFpbC0+QWRkQXR0YWNobWVudCgidGVzdC5wbmciKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPmFzc2VydChmYWxzZSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBpZighJHRoaXMtPk1haWwtPkFkZEF0dGFjaG1lbnQoInBocG1haWxlcl90ZXN0LnBocCIsICJ0ZXN0LnR4dCIpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0KGZhbHNlLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTaW1wbGUgcGxhaW4gc3RyaW5nIGF0dGFjaG1lbnQgdGVzdC4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X1BsYWluX1N0cmluZ0F0dGFjaG1lbnQoKSB7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiSGVyZSBpcyB0aGUgdGV4dCBib2R5IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogUGxhaW4gKyBTdHJpbmdBdHRhY2htZW50IjsNCiAgICAgICAgDQogICAgICAgICRzQXR0YWNobWVudCA9ICJUaGVzZSBjaGFyYWN0ZXJzIGFyZSB0aGUgY29udGVudCBvZiB0aGUgIiAuDQogICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgYXR0YWNobWVudC5cblRoaXMgbWlnaHQgYmUgdGFrZW4gZnJvbSBhICIuDQogICAgICAgICAgICAgICAgICAgICAgICJkYXRhYmFzZSBvciBzb21lIG90aGVyIHN1Y2ggdGhpbmcuICI7DQogICAgICAgIA0KICAgICAgICAkdGhpcy0+TWFpbC0+QWRkU3RyaW5nQXR0YWNobWVudCgkc0F0dGFjaG1lbnQsICJzdHJpbmdfYXR0YWNoLnR4dCIpOw0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBQbGFpbiBxdW90ZWQtcHJpbnRhYmxlIG1lc3NhZ2UuDQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9RdW90ZWRfUHJpbnRhYmxlKCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIkhlcmUgaXMgdGhlIG1haW4gYm9keSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IFBsYWluICsgUXVvdGVkLXByaW50YWJsZSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5FbmNvZGluZyA9ICJxdW90ZWQtcHJpbnRhYmxlIjsNCg0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogVHJ5IGEgcGxhaW4gbWVzc2FnZS4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X0h0bWwoKSB7DQogICAgDQogICAgICAgICR0aGlzLT5NYWlsLT5Jc0hUTUwodHJ1ZSk7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IEhUTUwgb25seSI7DQogICAgICAgIA0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJUaGlzIGlzIGEgPGI+dGVzdCBtZXNzYWdlPC9iPiB3cml0dGVuIGluIEhUTUwuIDwvYnI+IiAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdvIHRvIDxhIGhyZWY9XCJodHRwOi8vcGhwbWFpbGVyLnNvdXJjZWZvcmdlLm5ldC9cIj4iIC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3BocG1haWxlci5zb3VyY2Vmb3JnZS5uZXQvPC9hPiBmb3IgbmV3IHZlcnNpb25zIG9mICIgLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaHBtYWlsZXIuICA8cC8+IFRoYW5rIHlvdSEiOw0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTaW1wbGUgSFRNTCBhbmQgYXR0YWNobWVudCB0ZXN0DQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9IVE1MX0F0dGFjaG1lbnQoKSB7DQoNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiVGhpcyBpcyB0aGUgPGI+SFRNTDwvYj4gcGFydCBvZiB0aGUgZW1haWwuIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogSFRNTCArIEF0dGFjaG1lbnQiOw0KICAgICAgICAkdGhpcy0+TWFpbC0+SXNIVE1MKHRydWUpOw0KICAgICAgICANCiAgICAgICAgaWYoISR0aGlzLT5NYWlsLT5BZGRBdHRhY2htZW50KCJwaHBtYWlsZXJfdGVzdC5waHAiLCAidGVzdF9hdHRhY2gudHh0IikpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnQoZmFsc2UsICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgJHRoaXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFuIGVtYmVkZGVkIGF0dGFjaG1lbnQgdGVzdC4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X0VtYmVkZGVkX0ltYWdlKCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIkVtYmVkZGVkIEltYWdlOiA8aW1nIGFsdD1cInBocG1haWxlclwiIHNyYz1cImNpZDpteS1hdHRhY2hcIj4iIC4NCiAgICAgICAgICAgICAgICAgICAgICJIZXJlIGlzIGFuIGltYWdlITwvYT4iOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCAuPSAiOiBFbWJlZGRlZCBJbWFnZSI7DQogICAgICAgICR0aGlzLT5NYWlsLT5Jc0hUTUwodHJ1ZSk7DQogICAgICAgIA0KICAgICAgICBpZighJHRoaXMtPk1haWwtPkFkZEVtYmVkZGVkSW1hZ2UoInRlc3QucG5nIiwgIm15LWF0dGFjaCIsICJ0ZXN0LnBuZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFzZTY0IiwgImltYWdlL3BuZyIpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0KGZhbHNlLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBBbiBlbWJlZGRlZCBhdHRhY2htZW50IHRlc3QuDQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9NdWx0aV9FbWJlZGRlZF9JbWFnZSgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJFbWJlZGRlZCBJbWFnZTogPGltZyBhbHQ9XCJwaHBtYWlsZXJcIiBzcmM9XCJjaWQ6bXktYXR0YWNoXCI+IiAuDQogICAgICAgICAgICAgICAgICAgICAiSGVyZSBpcyBhbiBpbWFnZSE8L2E+IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogRW1iZWRkZWQgSW1hZ2UgKyBBdHRhY2htZW50IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPklzSFRNTCh0cnVlKTsNCiAgICAgICAgDQogICAgICAgIGlmKCEkdGhpcy0+TWFpbC0+QWRkRW1iZWRkZWRJbWFnZSgidGVzdC5wbmciLCAibXktYXR0YWNoIiwgInRlc3QucG5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiYXNlNjQiLCAiaW1hZ2UvcG5nIikpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0aGlzLT5hc3NlcnQoZmFsc2UsICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoISR0aGlzLT5NYWlsLT5BZGRBdHRhY2htZW50KCJwaHBtYWlsZXJfdGVzdC5waHAiLCAidGVzdC50eHQiKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRoaXMtPmFzc2VydChmYWxzZSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBTaW1wbGUgbXVsdGlwYXJ0L2FsdGVybmF0aXZlIHRlc3QuDQogICAgICovDQogICAgZnVuY3Rpb24gdGVzdF9BbHRCb2R5KCkgew0KDQogICAgICAgICR0aGlzLT5NYWlsLT5Cb2R5ID0gIlRoaXMgaXMgdGhlIDxiPkhUTUw8L2I+IHBhcnQgb2YgdGhlIGVtYWlsLiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5BbHRCb2R5ID0gIkhlcmUgaXMgdGhlIHRleHQgYm9keSBvZiB0aGlzIG1lc3NhZ2UuICAiIC4NCiAgICAgICAgICAgICAgICAgICAiSXQgc2hvdWxkIGJlIHF1aXRlIGEgZmV3IGxpbmVzLiAgSXQgc2hvdWxkIGJlIHdyYXBwZWQgYXQgdGhlICIgLg0KICAgICAgICAgICAgICAgICAgICI0MCBjaGFyYWN0ZXJzLiAgTWFrZSBzdXJlIHRoYXQgaXQgaXMuIjsNCiAgICAgICAgJHRoaXMtPk1haWwtPldvcmRXcmFwID0gNDA7DQogICAgICAgICR0aGlzLT5BZGROb3RlKCJUaGlzIGlzIGEgbXVsaXBhcnQgYWx0ZXJuYXRpdmUgZW1haWwiKTsNCiAgICAgICAgJHRoaXMtPk1haWwtPlN1YmplY3QgLj0gIjogQWx0Qm9keSArIFdvcmQgV3JhcCI7DQoNCiAgICAgICAgJHRoaXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFNpbXBsZSBIVE1MIGFuZCBhdHRhY2htZW50IHRlc3QNCiAgICAgKi8NCiAgICBmdW5jdGlvbiB0ZXN0X0FsdEJvZHlfQXR0YWNobWVudCgpIHsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJUaGlzIGlzIHRoZSA8Yj5IVE1MPC9iPiBwYXJ0IG9mIHRoZSBlbWFpbC4iOw0KICAgICAgICAkdGhpcy0+TWFpbC0+QWx0Qm9keSA9ICJUaGlzIGlzIHRoZSB0ZXh0IHBhcnQgb2YgdGhlIGVtYWlsLiI7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IEFsdEJvZHkgKyBBdHRhY2htZW50IjsNCiAgICAgICAgJHRoaXMtPk1haWwtPklzSFRNTCh0cnVlKTsNCiAgICAgICAgDQogICAgICAgIGlmKCEkdGhpcy0+TWFpbC0+QWRkQXR0YWNobWVudCgicGhwbWFpbGVyX3Rlc3QucGhwIiwgInRlc3RfYXR0YWNoLnR4dCIpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGhpcy0+YXNzZXJ0KGZhbHNlLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCg0KICAgICAgICAkZnAgPSBmb3BlbigibWVzc2FnZS50eHQiLCAidyIpOw0KICAgICAgICBmd3JpdGUoJGZwLCAkdGhpcy0+TWFpbC0+Q3JlYXRlSGVhZGVyKCkgLiAkdGhpcy0+TWFpbC0+Q3JlYXRlQm9keSgpKTsNCiAgICAgICAgZmNsb3NlKCRmcCk7DQogICAgfSAgICANCg0KICAgIGZ1bmN0aW9uIHRlc3RfTXVsdGlwbGVTZW5kKCkgew0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJTZW5kaW5nIHR3byBtZXNzYWdlcyB3aXRob3V0IGtlZXBhbGl2ZSI7DQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHN1YmplY3QgPSAkdGhpcy0+TWFpbC0+U3ViamVjdDsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCA9ICRzdWJqZWN0IC4gIjogU01UUCAxIjsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpLCAkdGhpcy0+TWFpbC0+RXJyb3JJbmZvKTsNCiAgICAgICAgDQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0ID0gJHN1YmplY3QgLiAiOiBTTVRQIDIiOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3RfU210cEtlZXBBbGl2ZSgpIHsNCiAgICAgICAgJHRoaXMtPk1haWwtPkJvZHkgPSAiVGhpcyB3YXMgZG9uZSB1c2luZyB0aGUgU01UUCBrZWVwLWFsaXZlLiI7DQogICAgICAgICR0aGlzLT5CdWlsZEJvZHkoKTsNCiAgICAgICAgJHN1YmplY3QgPSAkdGhpcy0+TWFpbC0+U3ViamVjdDsNCg0KICAgICAgICAkdGhpcy0+TWFpbC0+U01UUEtlZXBBbGl2ZSA9IHRydWU7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0ID0gJHN1YmplY3QgLiAiOiBTTVRQIGtlZXAtYWxpdmUgMSI7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgICAgIA0KICAgICAgICAkdGhpcy0+TWFpbC0+U3ViamVjdCA9ICRzdWJqZWN0IC4gIjogU01UUCBrZWVwLWFsaXZlIDIiOw0KICAgICAgICAkdGhpcy0+YXNzZXJ0KCR0aGlzLT5NYWlsLT5TZW5kKCksICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgICAgICAkdGhpcy0+TWFpbC0+U210cENsb3NlKCk7DQogICAgfQ0KICAgIA0KICAgIC8qKg0KICAgICAqIFRlc3RzIHRoaXMgZGVuaWFsIG9mIHNlcnZpY2UgYXR0YWNrOiANCiAgICAgKiAgICBodHRwOi8vd3d3LmN5YnNlYy5jb20vdnVsbi9QSFBNYWlsZXItRE9TLnBkZg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHRlc3RfRGVuaWFsT2ZTZXJ2aWNlQXR0YWNrKCkgew0KICAgICAgICAkdGhpcy0+TWFpbC0+Qm9keSA9ICJUaGlzIHNob3VsZCBubyBsb25nZXIgY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZS4iOw0KICAgICAgICAkdGhpcy0+QnVpbGRCb2R5KCk7DQogICAgICAgDQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0ID0gc3RyX3JlcGVhdCgiQSIsIDk5OCk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgJHRoaXMtPk1haWwtPkVycm9ySW5mbyk7DQogICAgfQ0KICAgIA0KICAgIGZ1bmN0aW9uIHRlc3RfRXJyb3IoKSB7DQogICAgICAgICR0aGlzLT5NYWlsLT5TdWJqZWN0IC49ICI6IFRoaXMgc2hvdWxkIGJlIHNlbnQiOyANCiAgICAgICAgJHRoaXMtPkJ1aWxkQm9keSgpOw0KICAgICAgICAkdGhpcy0+TWFpbC0+Q2xlYXJBbGxSZWNpcGllbnRzKCk7IC8vIG5vIGFkZHJlc3NlcyBzaG91bGQgY2F1c2UgYW4gZXJyb3INCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+SXNFcnJvcigpID09IGZhbHNlLCAiRXJyb3IgZm91bmQiKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+U2VuZCgpID09IGZhbHNlLCAiU2VuZCBzdWNjZWVkZWQiKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydCgkdGhpcy0+TWFpbC0+SXNFcnJvcigpLCAiTm8gZXJyb3IgZm91bmQiKTsNCiAgICAgICAgJHRoaXMtPmFzc2VydEVxdWFscygnWW91IG11c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgJyAuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlY2lwaWVudCBlbWFpbCBhZGRyZXNzLicsICR0aGlzLT5NYWlsLT5FcnJvckluZm8pOw0KICAgICAgICAkdGhpcy0+TWFpbC0+QWRkQWRkcmVzcyhnZXQoIm1haWxfdG8iKSk7DQogICAgICAgICR0aGlzLT5hc3NlcnQoJHRoaXMtPk1haWwtPlNlbmQoKSwgIlNlbmQgZmFpbGVkIik7DQogICAgfQ0KfSAgDQogDQovKioNCiAqIENyZWF0ZSBhbmQgcnVuIHRlc3QgaW5zdGFuY2UuDQogKi8NCiANCmlmKGlzc2V0KCRIVFRQX0dFVF9WQVJTKSkNCiAgICAkZ2xvYmFsX3ZhcnMgPSAkSFRUUF9HRVRfVkFSUzsNCmVsc2UNCiAgICAkZ2xvYmFsX3ZhcnMgPSAkX1JFUVVFU1Q7DQoNCmlmKGlzc2V0KCRnbG9iYWxfdmFyc1sic3VibWl0dGVkIl0pKQ0Kew0KICAgIGVjaG8gIlRlc3QgcmVzdWx0czo8YnI+IjsNCiAgICAkc3VpdGUgPSBuZXcgVGVzdFN1aXRlKCAicGhwbWFpbGVyVGVzdCIgKTsNCiAgICANCiAgICAkdGVzdFJ1bm5lciA9IG5ldyBUZXN0UnVubmVyOw0KICAgICR0ZXN0UnVubmVyLT5ydW4oJHN1aXRlKTsNCiAgICBlY2hvICI8aHIgbm9zaGFkZS8+IjsNCn0NCg0KZnVuY3Rpb24gZ2V0KCRzTmFtZSkgew0KICAgIGdsb2JhbCAkZ2xvYmFsX3ZhcnM7DQogICAgaWYoaXNzZXQoJGdsb2JhbF92YXJzWyRzTmFtZV0pKQ0KICAgICAgICByZXR1cm4gJGdsb2JhbF92YXJzWyRzTmFtZV07DQogICAgZWxzZQ0KICAgICAgICByZXR1cm4gIiI7DQp9DQoNCj8+DQoNCjxodG1sPg0KPGJvZHk+DQo8aDM+cGhwbWFpbGVyIFVuaXQgVGVzdDwvaDM+DQpCeSBlbnRlcmluZyBhIFNNVFAgaG9zdG5hbWUgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHBlcmZvcm0gdGVzdHMgd2l0aCBTTVRQLg0KDQo8Zm9ybSBuYW1lPSJwaHBtYWlsZXJfdW5pdCIgYWN0aW9uPSJwaHBtYWlsZXJfdGVzdC5waHAiIG1ldGhvZD0iZ2V0Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN1Ym1pdHRlZCIgdmFsdWU9IjEiLz4NClRvIEFkZHJlc3M6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0ibWFpbF90byIgdmFsdWU9Ijw/cGhwIGVjaG8gZ2V0KCJtYWlsX3RvIik7ID8+Ii8+DQo8YnIvPg0KQ2MgQWRkcmVzczogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjUwIiBuYW1lPSJtYWlsX2NjIiB2YWx1ZT0iPD9waHAgZWNobyBnZXQoIm1haWxfY2MiKTsgPz4iLz4NCjxici8+DQpTTVRQIEhvc3RuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNTAiIG5hbWU9Im1haWxfaG9zdCIgdmFsdWU9Ijw/cGhwIGVjaG8gZ2V0KCJtYWlsX2hvc3QiKTsgPz4iLz4NCjxwLz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJSdW4gVGVzdCIvPg0KDQo8L2Zvcm0+DQo8L2JvZHk+DQo8L2h0bWw+DQo=]]></data>
  </file>
  <file>
    <filename>/phpmailer/test/phpunit.php</filename>
    <isdir>0</isdir>
    <data><![CDATA[PD9waHANCi8vDQovLyBQSFAgZnJhbWV3b3JrIGZvciB0ZXN0aW5nLCBiYXNlZCBvbiB0aGUgZGVzaWduIG9mICJKVW5pdCIuDQovLw0KLy8gV3JpdHRlbiBieSBGcmVkIFlhbmtvd3NraSA8ZnJlZEBvbnRvc3lzLmNvbT4NCi8vICAgICAgICAgICAgT250b1N5cywgSW5jICA8aHR0cDovL3d3dy5PbnRvU3lzLmNvbT4NCi8vDQovLyAkSWQ6IHBocHVuaXQucGhwLHYgMS4xIDIwMDUvMTAvMjQgMTk6Mjc6NDkgcm9iIEV4cCAkDQoNCi8vIENvcHlyaWdodCAoYykgMjAwMCBGcmVkIFlhbmtvd3NraQ0KDQovLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbg0KLy8gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24NCi8vIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQNCi8vIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LA0KLy8gbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzDQovLyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcw0KLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCi8vDQovLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQ0KLy8gaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuDQovLw0KLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsDQovLyBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YNCi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EDQovLyBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTDQovLyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4NCi8vIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElODQovLyBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFDQovLyBTT0ZUV0FSRS4NCi8vDQplcnJvcl9yZXBvcnRpbmcoRV9FUlJPUiB8IEVfV0FSTklORyB8IEVfUEFSU0UgfCBFX05PVElDRSB8DQoJCUVfQ09SRV9FUlJPUiB8IEVfQ09SRV9XQVJOSU5HKTsNCg0KLyoNCmludGVyZmFjZSBUZXN0IHsNCiAgZnVuY3Rpb24gcnVuKCYkYVRlc3RSZXN1bHQpOw0KICBmdW5jdGlvbiBjb3VudFRlc3RDYXNlcygpOw0KfQ0KKi8NCg0KZnVuY3Rpb24gdHJhY2UoJG1zZykgew0KICByZXR1cm47DQogIHByaW50KCRtc2cpOw0KICBmbHVzaCgpOw0KfQ0KDQoNCmNsYXNzIEV4Y2VwdGlvbiB7DQogICAgLyogRW11bGF0ZSBhIEphdmEgZXhjZXB0aW9uLCBzb3J0IG9mLi4uICovDQogIHZhciAkbWVzc2FnZTsNCiAgZnVuY3Rpb24gRXhjZXB0aW9uKCRtZXNzYWdlKSB7DQogICAgJHRoaXMtPm1lc3NhZ2UgPSAkbWVzc2FnZTsNCiAgfQ0KICBmdW5jdGlvbiBnZXRNZXNzYWdlKCkgew0KICAgIHJldHVybiAkdGhpcy0+bWVzc2FnZTsNCiAgfQ0KfQ0KDQpjbGFzcyBBc3NlcnQgew0KICBmdW5jdGlvbiBhc3NlcnQoJGJvb2xlYW4sICRtZXNzYWdlPTApIHsNCiAgICBpZiAoISAkYm9vbGVhbikNCiAgICAgICR0aGlzLT5mYWlsKCRtZXNzYWdlKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGFzc2VydEVxdWFscygkZXhwZWN0ZWQsICRhY3R1YWwsICRtZXNzYWdlPTApIHsNCiAgICBpZiAoJGV4cGVjdGVkICE9ICRhY3R1YWwpIHsNCiAgICAgICR0aGlzLT5mYWlsTm90RXF1YWxzKCRleHBlY3RlZCwgJGFjdHVhbCwgImV4cGVjdGVkIiwgJG1lc3NhZ2UpOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIGFzc2VydFJlZ2V4cCgkcmVnZXhwLCAkYWN0dWFsLCAkbWVzc2FnZT1mYWxzZSkgew0KICAgIGlmICghIHByZWdfbWF0Y2goJHJlZ2V4cCwgJGFjdHVhbCkpIHsNCiAgICAgICR0aGlzLT5mYWlsTm90RXF1YWxzKCRyZWdleHAsICRhY3R1YWwsICJwYXR0ZXJuIiwgJG1lc3NhZ2UpOw0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIGZhaWxOb3RFcXVhbHMoJGV4cGVjdGVkLCAkYWN0dWFsLCAkZXhwZWN0ZWRfbGFiZWwsICRtZXNzYWdlPTApIHsNCiAgICAvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciByZXBvcnRpbmcgZmFpbHVyZSB0byBtYXRjaC4NCiAgICAkc3RyID0gJG1lc3NhZ2UgPyAoJG1lc3NhZ2UgLiAnICcpIDogJyc7DQogICAgJHN0ciAuPSAiKCRleHBlY3RlZF9sYWJlbC9hY3R1YWwpPGJyPiI7DQogICAgJGh0bWxFeHBlY3RlZCA9IGh0bWxzcGVjaWFsY2hhcnMoJGV4cGVjdGVkKTsNCiAgICAkaHRtbEFjdHVhbCA9IGh0bWxzcGVjaWFsY2hhcnMoJGFjdHVhbCk7DQogICAgJHN0ciAuPSBzcHJpbnRmKCI8cHJlPiVzXG4tLS0tLS0tLVxuJXM8L3ByZT4iLA0KCQkgICAgJGh0bWxFeHBlY3RlZCwgJGh0bWxBY3R1YWwpOw0KICAgICR0aGlzLT5mYWlsKCRzdHIpOw0KICB9DQp9DQoNCmNsYXNzIFRlc3RDYXNlIGV4dGVuZHMgQXNzZXJ0IC8qIGltcGxlbWVudHMgVGVzdCAqLyB7DQogIC8qIERlZmluZXMgY29udGV4dCBmb3IgcnVubmluZyB0ZXN0cy4gIFNwZWNpZmljIGNvbnRleHQgLS0gc3VjaCBhcw0KICAgICBpbnN0YW5jZSB2YXJpYWJsZXMsIGdsb2JhbCB2YXJpYWJsZXMsIGdsb2JhbCBzdGF0ZSAtLSBpcyBkZWZpbmVkDQogICAgIGJ5IGNyZWF0aW5nIGEgc3ViY2xhc3MgdGhhdCBzcGVjaWFsaXplcyB0aGUgc2V0VXAoKSBhbmQNCiAgICAgdGVhckRvd24oKSBtZXRob2RzLiAgQSBzcGVjaWZpYyB0ZXN0IGlzIGRlZmluZWQgYnkgYSBzdWJjbGFzcw0KICAgICB0aGF0IHNwZWNpYWxpemVzIHRoZSBydW5UZXN0KCkgbWV0aG9kLiAqLw0KICB2YXIgJGZOYW1lOw0KICB2YXIgJGZSZXN1bHQ7DQogIHZhciAkZkV4Y2VwdGlvbnMgPSBhcnJheSgpOw0KDQogIGZ1bmN0aW9uIFRlc3RDYXNlKCRuYW1lKSB7DQogICAgJHRoaXMtPmZOYW1lID0gJG5hbWU7DQogIH0NCg0KICBmdW5jdGlvbiBydW4oJHRlc3RSZXN1bHQ9MCkgew0KICAgIC8qIFJ1biB0aGlzIHNpbmdsZSB0ZXN0LCBieSBjYWxsaW5nIHRoZSBydW4oKSBtZXRob2Qgb2YgdGhlDQogICAgICAgVGVzdFJlc3VsdCBvYmplY3Qgd2hpY2ggd2lsbCBpbiB0dXJuIGNhbGwgdGhlIHJ1bkJhcmUoKSBtZXRob2QNCiAgICAgICBvZiB0aGlzIG9iamVjdC4gIFRoYXQgY29tcGxpY2F0aW9uIGFsbG93cyB0aGUgVGVzdFJlc3VsdCBvYmplY3QNCiAgICAgICB0byBkbyB2YXJpb3VzIGtpbmRzIG9mIHByb2dyZXNzIHJlcG9ydGluZyBhcyBpdCBpbnZva2VzIGVhY2gNCiAgICAgICB0ZXN0LiAgQ3JlYXRlL29idGFpbiBhIFRlc3RSZXN1bHQgb2JqZWN0IGlmIG5vbmUgd2FzIHBhc3NlZCBpbi4NCiAgICAgICBOb3RlIHRoYXQgaWYgYSBUZXN0UmVzdWx0IG9iamVjdCB3YXMgcGFzc2VkIGluLCBpdCBtdXN0IGJlIGJ5DQogICAgICAgcmVmZXJlbmNlLiAqLw0KICAgIGlmICghICR0ZXN0UmVzdWx0KQ0KICAgICAgJHRlc3RSZXN1bHQgPSAkdGhpcy0+X2NyZWF0ZVJlc3VsdCgpOw0KICAgICR0aGlzLT5mUmVzdWx0ID0gJHRlc3RSZXN1bHQ7DQogICAgJHRlc3RSZXN1bHQtPnJ1bigmJHRoaXMpOw0KICAgICR0aGlzLT5mUmVzdWx0ID0gMDsNCiAgICByZXR1cm4gJHRlc3RSZXN1bHQ7DQogIH0NCg0KICBmdW5jdGlvbiBjb3VudFRlc3RDYXNlcygpIHsNCiAgICByZXR1cm4gMTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHJ1blRlc3QoKSB7DQogICAgJG5hbWUgPSAkdGhpcy0+bmFtZSgpOw0KICAgIC8vIFNpbmNlIGlzc2V0KCR0aGlzLT4kbmFtZSkgaXMgZmFsc2UsIG5vIHdheSB0byBydW4gZGVmZW5zaXZlIGNoZWNrcw0KICAgICR0aGlzLT4kbmFtZSgpOw0KICB9DQoNCiAgZnVuY3Rpb24gc2V0VXAoKSAvKiBleHBlY3Qgb3ZlcnJpZGUgKi8gew0KICAgIC8vcHJpbnQoIlRlc3RDYXNlOjpzZXRVcCgpPGJyPlxuIik7DQogIH0NCg0KICBmdW5jdGlvbiB0ZWFyRG93bigpIC8qIHBvc3NpYmxlIG92ZXJyaWRlICovIHsNCiAgICAvL3ByaW50KCJUZXN0Q2FzZTo6dGVhckRvd24oKTxicj5cbiIpOw0KICB9DQoNCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQoNCiAgZnVuY3Rpb24gX2NyZWF0ZVJlc3VsdCgpIC8qIHByb3RlY3RlZCAqLyB7DQogICAgLyogb3ZlcnJpZGUgdGhpcyB0byB1c2Ugc3BlY2lhbGl6ZWQgc3ViY2xhc3Mgb2YgVGVzdFJlc3VsdCAqLw0KICAgIHJldHVybiBuZXcgVGVzdFJlc3VsdDsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZhaWwoJG1lc3NhZ2U9MCkgew0KICAgIC8vcHJpbnRmKCJUZXN0Q2FzZTo6ZmFpbCglcyk8YnI+XG4iLCAoJG1lc3NhZ2UpID8gJG1lc3NhZ2UgOiAnJyk7DQogICAgLyogSlVuaXQgdGhyb3dzIEFzc2VydGlvbkZhaWxlZEVycm9yIGhlcmUuICBXZSBqdXN0IHJlY29yZCB0aGUNCiAgICAgICBmYWlsdXJlIGFuZCBjYXJyeSBvbiAqLw0KICAgICR0aGlzLT5mRXhjZXB0aW9uc1tdID0gbmV3IEV4Y2VwdGlvbigmJG1lc3NhZ2UpOw0KICB9DQoNCiAgZnVuY3Rpb24gZXJyb3IoJG1lc3NhZ2UpIHsNCiAgICAvKiByZXBvcnQgZXJyb3IgdGhhdCByZXF1aXJlcyBjb3JyZWN0aW9uIGluIHRoZSB0ZXN0IHNjcmlwdA0KICAgICAgIGl0c2VsZiwgb3IgKGhlYXZlbiBmb3JiaWQpIGluIHRoaXMgdGVzdGluZyBpbmZyYXN0cnVjdHVyZSAqLw0KICAgIHByaW50ZignPGI+RVJST1I6ICcgLiAkbWVzc2FnZSAuICc8L2I+PGJyPicpOw0KICAgICR0aGlzLT5mUmVzdWx0LT5zdG9wKCk7DQogIH0NCg0KICBmdW5jdGlvbiBmYWlsZWQoKSB7DQogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5mRXhjZXB0aW9ucyk7DQogIH0NCg0KICBmdW5jdGlvbiBnZXRFeGNlcHRpb25zKCkgew0KICAgIHJldHVybiAkdGhpcy0+ZkV4Y2VwdGlvbnM7DQogIH0NCg0KICBmdW5jdGlvbiBuYW1lKCkgew0KICAgIHJldHVybiAkdGhpcy0+Zk5hbWU7DQogIH0NCg0KICBmdW5jdGlvbiBydW5CYXJlKCkgew0KICAgICR0aGlzLT5zZXR1cCgpOw0KICAgICR0aGlzLT5ydW5UZXN0KCk7DQogICAgJHRoaXMtPnRlYXJEb3duKCk7DQogIH0NCn0NCg0KDQpjbGFzcyBUZXN0U3VpdGUgLyogaW1wbGVtZW50cyBUZXN0ICovIHsNCiAgLyogQ29tcG9zZSBhIHNldCBvZiBUZXN0cyAoaW5zdGFuY2VzIG9mIFRlc3RDYXNlIG9yIFRlc3RTdWl0ZSksIGFuZA0KICAgICBydW4gdGhlbSBhbGwuICovDQogIHZhciAkZlRlc3RzID0gYXJyYXkoKTsNCg0KICBmdW5jdGlvbiBUZXN0U3VpdGUoJGNsYXNzbmFtZT1mYWxzZSkgew0KICAgIGlmICgkY2xhc3NuYW1lKSB7DQogICAgICAvLyBGaW5kIGFsbCBtZXRob2RzIG9mIHRoZSBnaXZlbiBjbGFzcyB3aG9zZSBuYW1lIHN0YXJ0cyB3aXRoDQogICAgICAvLyAidGVzdCIgYW5kIGFkZCB0aGVtIHRvIHRoZSB0ZXN0IHN1aXRlLiAgV2UgYXJlIGp1c3QgX2JhcmVseV8NCiAgICAgIC8vIGFibGUgdG8gZG8gdGhpcyB3aXRoIFBIUCdzIGxpbWl0ZWQgaW50cm9zcGVjdGlvbi4uLiAgTm90ZQ0KICAgICAgLy8gdGhhdCBQSFAgc2VlbXMgdG8gc3RvcmUgbWV0aG9kIG5hbWVzIGluIGxvd2VyIGNhc2UsIGFuZCB3ZQ0KICAgICAgLy8gaGF2ZSB0byBhdm9pZCB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gZm9yIHRoZSBUZXN0Q2FzZSBjbGFzcw0KICAgICAgLy8gc3VwZXJjbGFzcy4gIFRoaXMgd2lsbCBmYWlsIHdoZW4gJGNsYXNzbmFtZSBzdGFydHMgd2l0aA0KICAgICAgLy8gIlRlc3QiIHNpbmNlIHRoYXQgd2lsbCBoYXZlIGEgY29uc3RydWN0b3IgbWV0aG9kIHRoYXQgd2lsbA0KICAgICAgLy8gZ2V0IG1hdGNoZWQgYmVsb3cgYW5kIHRoZW4gdHJlYXRlZCAoaW5jb3JyZWN0bHkpIGFzIGEgdGVzdA0KICAgICAgLy8gbWV0aG9kLiAgU28gZG9uJ3QgbmFtZSBhbnkgVGVzdENhc2Ugc3ViY2xhc3NlcyBhcyAiVGVzdC4uLiIhDQogICAgICBpZiAoZmxvb3IocGhwdmVyc2lvbigpKSA+PSA0KSB7DQoJLy8gUEhQNCBpbnRyb3NwZWN0aW9uLCBzdWJtaXR0ZWQgYnkgRHlsYW4gS3Vobg0KCSRuYW1lcyA9IGdldF9jbGFzc19tZXRob2RzKCRjbGFzc25hbWUpOw0KCXdoaWxlIChsaXN0KCRrZXksICRtZXRob2QpID0gZWFjaCgkbmFtZXMpKSB7DQoJICBpZiAocHJlZ19tYXRjaCgnL150ZXN0LycsICRtZXRob2QpICYmICRtZXRob2QgIT0gInRlc3RjYXNlIikgeyAgDQoJICAgICR0aGlzLT5hZGRUZXN0KG5ldyAkY2xhc3NuYW1lKCRtZXRob2QpKTsNCgkgIH0NCgl9DQogICAgICB9DQogICAgICBlbHNlIHsNCgkkZHVtbXkgPSBuZXcgJGNsYXNzbmFtZSgiZHVtbXkiKTsNCgkkbmFtZXMgPSAoYXJyYXkpICRkdW1teTsNCgl3aGlsZSAobGlzdCgka2V5LCAkdmFsdWUpID0gZWFjaCgkbmFtZXMpKSB7DQoJICAkdHlwZSA9IGdldHR5cGUoJHZhbHVlKTsNCgkgIGlmICgkdHlwZSA9PSAidXNlciBmdW5jdGlvbiIgJiYgcHJlZ19tYXRjaCgnL150ZXN0LycsICRrZXkpDQoJICAmJiAka2V5ICE9ICJ0ZXN0Y2FzZSIpIHsgIA0KCSAgICAkdGhpcy0+YWRkVGVzdChuZXcgJGNsYXNzbmFtZSgka2V5KSk7DQoJICB9DQoJfQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KDQogIGZ1bmN0aW9uIGFkZFRlc3QoJHRlc3QpIHsNCiAgICAvKiBBZGQgVGVzdENhc2Ugb3IgVGVzdFN1aXRlIHRvIHRoaXMgVGVzdFN1aXRlICovDQogICAgJHRoaXMtPmZUZXN0c1tdID0gJHRlc3Q7DQogIH0NCg0KICBmdW5jdGlvbiBydW4oJiR0ZXN0UmVzdWx0KSB7DQogICAgLyogUnVuIGFsbCBUZXN0Q2FzZXMgYW5kIFRlc3RTdWl0ZXMgY29tcHJpc2luZyB0aGlzIFRlc3RTdWl0ZSwNCiAgICAgICBhY2N1bXVsYXRpbmcgcmVzdWx0cyBpbiB0aGUgZ2l2ZW4gVGVzdFJlc3VsdCBvYmplY3QuICovDQogICAgcmVzZXQoJHRoaXMtPmZUZXN0cyk7DQogICAgd2hpbGUgKGxpc3QoJG5hLCAkdGVzdCkgPSBlYWNoKCR0aGlzLT5mVGVzdHMpKSB7DQogICAgICBpZiAoJHRlc3RSZXN1bHQtPnNob3VsZFN0b3AoKSkNCglicmVhazsNCiAgICAgICR0ZXN0LT5ydW4oJiR0ZXN0UmVzdWx0KTsNCiAgICB9DQogIH0NCg0KICBmdW5jdGlvbiBjb3VudFRlc3RDYXNlcygpIHsNCiAgICAvKiBOdW1iZXIgb2YgVGVzdENhc2VzIGNvbXByaXNpbmcgdGhpcyBUZXN0U3VpdGUgKGluY2x1ZGluZyB0aG9zZQ0KICAgICAgIGluIGFueSBjb25zdGl0dWVudCBUZXN0U3VpdGVzKSAqLw0KICAgICRjb3VudCA9IDA7DQogICAgcmVzZXQoJGZUZXN0cyk7DQogICAgd2hpbGUgKGxpc3QoJG5hLCAkdGVzdF9jYXNlKSA9IGVhY2goJHRoaXMtPmZUZXN0cykpIHsNCiAgICAgICRjb3VudCArPSAkdGVzdF9jYXNlLT5jb3VudFRlc3RDYXNlcygpOw0KICAgIH0NCiAgICByZXR1cm4gJGNvdW50Ow0KICB9DQp9DQoNCg0KY2xhc3MgVGVzdEZhaWx1cmUgew0KICAvKiBSZWNvcmQgZmFpbHVyZSBvZiBhIHNpbmdsZSBUZXN0Q2FzZSwgYXNzb2NpYXRpbmcgaXQgd2l0aCB0aGUNCiAgICAgZXhjZXB0aW9uKHMpIHRoYXQgb2NjdXJyZWQgKi8NCiAgdmFyICRmRmFpbGVkVGVzdE5hbWU7DQogIHZhciAkZkV4Y2VwdGlvbnM7DQoNCiAgZnVuY3Rpb24gVGVzdEZhaWx1cmUoJiR0ZXN0LCAmJGV4Y2VwdGlvbnMpIHsNCiAgICAkdGhpcy0+ZkZhaWxlZFRlc3ROYW1lID0gJHRlc3QtPm5hbWUoKTsNCiAgICAkdGhpcy0+ZkV4Y2VwdGlvbnMgPSAkZXhjZXB0aW9uczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGdldEV4Y2VwdGlvbnMoKSB7DQogICAgICByZXR1cm4gJHRoaXMtPmZFeGNlcHRpb25zOw0KICB9DQogIGZ1bmN0aW9uIGdldFRlc3ROYW1lKCkgew0KICAgIHJldHVybiAkdGhpcy0+ZkZhaWxlZFRlc3ROYW1lOw0KICB9DQp9DQoNCg0KY2xhc3MgVGVzdFJlc3VsdCB7DQogIC8qIENvbGxlY3QgdGhlIHJlc3VsdHMgb2YgcnVubmluZyBhIHNldCBvZiBUZXN0Q2FzZXMuICovDQogIHZhciAkZkZhaWx1cmVzID0gYXJyYXkoKTsNCiAgdmFyICRmUnVuVGVzdHMgPSAwOw0KICB2YXIgJGZTdG9wID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gVGVzdFJlc3VsdCgpIHsgfQ0KDQogIGZ1bmN0aW9uIF9lbmRUZXN0KCR0ZXN0KSAvKiBwcm90ZWN0ZWQgKi8gew0KICAgICAgLyogc3BlY2lhbGl6ZSB0aGlzIGZvciBlbmQtb2YtdGVzdCBhY3Rpb24sIHN1Y2ggYXMgcHJvZ3Jlc3MNCgkgcmVwb3J0cyAgKi8NCiAgfQ0KDQogIGZ1bmN0aW9uIGdldEZhaWx1cmVzKCkgew0KICAgIHJldHVybiAkdGhpcy0+ZkZhaWx1cmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gcnVuKCR0ZXN0KSB7DQogICAgLyogUnVuIGEgc2luZ2xlIFRlc3RDYXNlIGluIHRoZSBjb250ZXh0IG9mIHRoaXMgVGVzdFJlc3VsdCAqLw0KICAgICR0aGlzLT5fc3RhcnRUZXN0KCR0ZXN0KTsNCiAgICAkdGhpcy0+ZlJ1blRlc3RzKys7DQoNCiAgICAkdGVzdC0+cnVuQmFyZSgpOw0KDQogICAgLyogdGhpcyBpcyB3aGVyZSBKVW5pdCB3b3VsZCBjYXRjaCBBc3NlcnRpb25GYWlsZWRFcnJvciAqLw0KICAgICRleGNlcHRpb25zID0gJHRlc3QtPmdldEV4Y2VwdGlvbnMoKTsNCiAgICBpZiAoJGV4Y2VwdGlvbnMpDQogICAgICAkdGhpcy0+ZkZhaWx1cmVzW10gPSBuZXcgVGVzdEZhaWx1cmUoJiR0ZXN0LCAmJGV4Y2VwdGlvbnMpOw0KICAgICR0aGlzLT5fZW5kVGVzdCgkdGVzdCk7DQogIH0NCg0KICBmdW5jdGlvbiBjb3VudFRlc3RzKCkgew0KICAgIHJldHVybiAkdGhpcy0+ZlJ1blRlc3RzOw0KICB9DQoNCiAgZnVuY3Rpb24gc2hvdWxkU3RvcCgpIHsNCiAgICByZXR1cm4gJHRoaXMtPmZTdG9wOw0KICB9DQoNCiAgZnVuY3Rpb24gX3N0YXJ0VGVzdCgkdGVzdCkgLyogcHJvdGVjdGVkICovIHsNCiAgICAgIC8qIHNwZWNpYWxpemUgdGhpcyBmb3Igc3RhcnQtb2YtdGVzdCBhY3Rpb25zICovDQogIH0NCg0KICBmdW5jdGlvbiBzdG9wKCkgew0KICAgIC8qIHNldCBpbmRpY2F0aW9uIHRoYXQgdGhlIHRlc3Qgc2VxdWVuY2Ugc2hvdWxkIGhhbHQgKi8NCiAgICAkZlN0b3AgPSB0cnVlOw0KICB9DQoNCiAgZnVuY3Rpb24gY291bnRGYWlsdXJlcygpIHsNCiAgICByZXR1cm4gY291bnQoJHRoaXMtPmZGYWlsdXJlcyk7DQogIH0NCn0NCg0KDQpjbGFzcyBUZXh0VGVzdFJlc3VsdCBleHRlbmRzIFRlc3RSZXN1bHQgew0KICAvKiBTcGVjaWFsaXplIFRlc3RSZXN1bHQgdG8gcHJvZHVjZSB0ZXh0L2h0bWwgcmVwb3J0ICovDQogIGZ1bmN0aW9uIFRleHRUZXN0UmVzdWx0KCkgew0KICAgICR0aGlzLT5UZXN0UmVzdWx0KCk7ICAvLyBjYWxsIHN1cGVyY2xhc3MgY29uc3RydWN0b3INCiAgfQ0KICANCiAgZnVuY3Rpb24gcmVwb3J0KCkgew0KICAgIC8qIHJlcG9ydCByZXN1bHQgb2YgdGVzdCBydW4gKi8NCiAgICAkblJ1biA9ICR0aGlzLT5jb3VudFRlc3RzKCk7DQogICAgJG5GYWlsdXJlcyA9ICR0aGlzLT5jb3VudEZhaWx1cmVzKCk7DQogICAgcHJpbnRmKCI8cD4lcyB0ZXN0JXMgcnVuPGJyPiIsICRuUnVuLCAoJG5SdW4gPT0gMSkgPyAnJyA6ICdzJyk7DQogICAgcHJpbnRmKCIlcyBmYWlsdXJlJXMuPGJyPlxuIiwgJG5GYWlsdXJlcywgKCRuRmFpbHVyZXMgPT0gMSkgPyAnJyA6ICdzJyk7DQogICAgaWYgKCRuRmFpbHVyZXMgPT0gMCkNCiAgICAgIHJldHVybjsNCg0KICAgIHByaW50KCI8b2w+XG4iKTsNCiAgICAkZmFpbHVyZXMgPSAkdGhpcy0+Z2V0RmFpbHVyZXMoKTsNCiAgICB3aGlsZSAobGlzdCgkaSwgJGZhaWx1cmUpID0gZWFjaCgkZmFpbHVyZXMpKSB7DQogICAgICAkZmFpbGVkVGVzdE5hbWUgPSAkZmFpbHVyZS0+Z2V0VGVzdE5hbWUoKTsNCiAgICAgIHByaW50ZigiPGxpPiVzXG4iLCAkZmFpbGVkVGVzdE5hbWUpOw0KDQogICAgICAkZXhjZXB0aW9ucyA9ICRmYWlsdXJlLT5nZXRFeGNlcHRpb25zKCk7DQogICAgICBwcmludCgiPHVsPiIpOw0KICAgICAgd2hpbGUgKGxpc3QoJG5hLCAkZXhjZXB0aW9uKSA9IGVhY2goJGV4Y2VwdGlvbnMpKQ0KCXByaW50ZigiPGxpPiVzXG4iLCAkZXhjZXB0aW9uLT5nZXRNZXNzYWdlKCkpOw0KICAgICAgcHJpbnQoIjwvdWw+Iik7DQogICAgfQ0KICAgIHByaW50KCI8L29sPlxuIik7DQogIH0NCg0KICBmdW5jdGlvbiBfc3RhcnRUZXN0KCR0ZXN0KSB7DQogICAgcHJpbnRmKCIlcyAiLCAkdGVzdC0+bmFtZSgpKTsNCiAgICBmbHVzaCgpOw0KICB9DQoNCiAgZnVuY3Rpb24gX2VuZFRlc3QoJHRlc3QpIHsNCiAgICAkb3V0Y29tZSA9ICR0ZXN0LT5mYWlsZWQoKQ0KICAgICAgID8gIjxmb250IGNvbG9yPVwicmVkXCI+RkFJTDwvZm9udD4iDQogICAgICAgOiAiPGZvbnQgY29sb3I9XCJncmVlblwiPm9rPC9mb250PiI7DQogICAgcHJpbnRmKCIkb3V0Y29tZTxicj5cbiIpOw0KICAgIGZsdXNoKCk7DQogIH0NCn0NCg0KDQpjbGFzcyBUZXN0UnVubmVyIHsNCiAgLyogUnVuIGEgc3VpdGUgb2YgdGVzdHMgYW5kIHJlcG9ydCByZXN1bHRzLiAqLw0KICBmdW5jdGlvbiBydW4oJHN1aXRlKSB7DQogICAgJHJlc3VsdCA9IG5ldyBUZXh0VGVzdFJlc3VsdDsNCiAgICAkc3VpdGUtPnJ1bigkcmVzdWx0KTsNCiAgICAkcmVzdWx0LT5yZXBvcnQoKTsNCiAgfQ0KfQ0KDQo/Pg0K]]></data>
  </file>
  <file>
    <filename>/phpmailer/test/test.png</filename>
    <isdir>0</isdir>
    <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAIUAAAAnCAIAAACubByOAAAABGdBTUEAALGPC/xhBQAAAAZiS0dEAKwAAAAATJTJ6AAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9IDHQ8ML3rJ134AAAR9SURBVHic7Zq/bts6FMZP7m0GeVABeegFQhUdqiUGtJry5EwGsgbUC7R9AMnPIekJ8gJi5wLNkjtJynAXD1rcobCYIYM96ALVkAC+w0lYxnac3KXlwB+CQBL/fTwfD8kAOViv12DQhoPPv1uBQeWP3y3A8Ajjh14YP/TC+KEXxg+9MH7ohfFDL4wfemH80Avjh14YP/TC+KEXxg+9MH7ohfFDL57xw6F0XBSni8Uwz08Xi3FRAABh7Gy99pPEImTjFZ/HRTHM87P12osiixA/Sc7Wa8KY2vNTH/0k2Rh9XBQOpTv7UeUN83xcFIQxL4qkhtPF4nSxcCiVTSxCUBs2wZqy1IsibCh7U4vwO3Y7zPNtSeOiwCljWKQGFIDC9gf81f7iVVV1QnRCXIWhRchp0xDGBOfDhyIAUF/x+VuWCc5XUeSn6TzLVlUFAO+jSHD+M5RBgG3V4XBis+lUHR0f5G+1iSoP7cEKfpqihvsYxTFWAIBOiGvOCWP4ZaZOKs8B4O/RSDp3UhT3HSaJ5bqyE4sQP007IVRJfpJchSEKdigd5vkX1+2EIIz1XHdVVU4QdE2zP+D/Y7/CkX4816NaXw4/T9N+EMh16kXR9WMnAIAwNs8yy3U3kubl9IMAA7TB9liPdDbNsiwxuWdxrOq/d4IQL443iuZpqnbiJ8k8yzBEANBzXdQDAIJzNGxVlstd8lSeyQ8JYcyh9CoM5YTfR9HRE4HDuR0xdvmw1lZVtSxLP03l6pPSJUeMXYWhEwQbmfQsfUpxaQMAZJmqwaF0Fsc7TXIoxXhdjka4irdVrarKi2Ostl0kn4d5vipLtcKyLLumGeb5EGBZlpis21Pe5qV+SJMlckMAAPJ4W8SVtVF/FscnZelQinmAk5RYhGAEu6YhjFmEvEQ9sqwq3El+ugLQCXHEWJ9Suftt0AnhRdELw4QKn6p5zfkwz3HWsvMvb9/iRPDgEQcHP5pmf6bCr7xfyRSBXcnhRdG3LMNqXdN4UfRsh3hsqsziWP2IO4xqkkonxGw69eIYM2NZlihDreNQOk9TwTmukqeUCM6vwhBPeNnQoVRwPs8y9TjEUfbwS++7szjuB8H8YUtRsVwXUwp/PGWz3gmuu42P/SBQ064T4nI06lOq3tlUZBwdSvFS4EWReshhKgPAbDr101TenTCVN7oSnJ8UBVboua73sDiOGMPDxk+SE+Uut5M/w73FDqU9Qu7a9rZt5aJGKXdt2wlx17bq61+TiVqE0vtBYB8ft3X9b13fte3NxQV+vG3bA4C2rjGyOIRFSM91b9u2hxNTRn/34QNu9ISxN5PJ9/NzAHgzmaAkwpg9GNx8/YqWHNp2W9d4+8KLDeqXQ/cIWVVVW9eHtm0PBm1d4/oljL37+JEwtqqqfz59wlm0df39/NweDLDIPj4WnB/atjqLa84tQkgYdk2D3WLla87R1MPXr2/b9ubiYk/Azf9f6YX5+1wvjB96YfzQC+OHXhg/9ML4oRfGD70wfuiF8UMvjB96YfzQC+OHXhg/9OI/z3bxO6cni1kAAAAASUVORK5CYII=]]></data>
  </file>
  <file>
    <filename>/templates/</filename>
    <isdir>1</isdir>
  </file>
  <file>
    <filename>/templates/error.tpl</filename>
    <isdir>0</isdir>
    <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
  </file>
  <file>
    <filename>/templates/prefs.tpl</filename>
    <isdir>0</isdir>
    <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9Cnskc3RhcnRmb3JtfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21haWxlcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbWFpbGVyfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2hvc3R9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hvc3R9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcG9ydH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcG9ydH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mcm9tfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcm9tfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2Zyb211c2VyfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcm9tdXNlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zZW5kbWFpbH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VuZG1haWx9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGltZW91dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGltZW91dH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zbXRwYXV0aH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc210cGF1dGh9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXNlcm5hbWV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VzZXJuYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Bhc3N3b3JkfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYXNzd29yZH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0K]]></data>
  </file>
</module>
