<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>110147</bug_id>
          
          <creation_ts>2013-02-18 12:17:20 -0800</creation_ts>
          <short_desc>[WinCairo] Support for cookies is incomplete</short_desc>
          <delta_ts>2013-03-05 17:14:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Nelson">peter</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>835684</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-02-18 12:17:20 -0800</bug_when>
    <thetext>Support for cookies in WinCairo is incomplete. Problems include:

* Cookies set in HTTP response are not accessible from JavaScript
* Cookies set in JavaScript have an &quot;unknown&quot; domain
* Cookies set in JavaScript do not expire</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835689</commentid>
    <comment_count>1</comment_count>
      <attachid>188930</attachid>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-02-18 12:37:39 -0800</bug_when>
    <thetext>Created attachment 188930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844863</commentid>
    <comment_count>2</comment_count>
      <attachid>188930</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-02-28 23:48:31 -0800</bug_when>
    <thetext>Comment on attachment 188930
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=188930&amp;action=review

This looks great! I just have a few suggestions to make it a little easier to read.

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:45
&gt; +    // 7. value

How about making this an enum, so we can do something like &apos;attribute[kDomain]&apos; or &apos;attribute[kExpirationTime]&apos;?

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:59
&gt; +    if (attributes.size())

Do you mean &quot;!attributes.size()&quot; here? It looks like you bail out any time there are attributes to process.

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:64
&gt; +    Vector&lt;String&gt;::iterator attribute = attributes.begin();

Won&apos;t this always be empty?

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:108
&gt; +    cookieStr.reserveCapacity(domain.length() + path.length() + cookieName.length() + cookieValue.length() + 26);

What is the magic number for? Can we give it some sort of descriptive label?

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:174
&gt; +        if (attributes.size() != 7)

Let&apos;s make this a label, rather than a magic number. &apos;kNetscapeCookieAttributeCount&apos; or some such.

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:190
&gt; +        bool allowedPath = url.path().startsWith(attributes[2]);

Could all these attribute offsets be part of an enum? That would make this easier to follow.

&gt; Source/WebCore/platform/network/curl/CookieJarCurl.cpp:191
&gt; +        bool secure = attributes[3] == &quot;FALSE&quot; || url.protocolIs(&quot;https&quot;);

attributes[kSecureConnection] == &apos;FALSE&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848134</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-03-05 15:14:21 -0800</bug_when>
    <thetext>Some of these issues seem to have been partially resolved in Changeset 143272. I will upload another patch to deal with the rest shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848176</commentid>
    <comment_count>4</comment_count>
      <attachid>191588</attachid>
    <who name="Peter Nelson">peter</who>
    <bug_when>2013-03-05 15:46:07 -0800</bug_when>
    <thetext>Created attachment 191588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848268</commentid>
    <comment_count>5</comment_count>
      <attachid>191588</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-03-05 17:04:00 -0800</bug_when>
    <thetext>Comment on attachment 191588
Patch

Looks good.  Thank you for revising the earlier patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848284</commentid>
    <comment_count>6</comment_count>
      <attachid>191588</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 17:14:26 -0800</bug_when>
    <thetext>Comment on attachment 191588
Patch

Clearing flags on attachment: 191588

Committed r144853: &lt;http://trac.webkit.org/changeset/144853&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848285</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 17:14:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188930</attachid>
            <date>2013-02-18 12:37:39 -0800</date>
            <delta_ts>2013-03-05 15:46:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110147-20130218203401.patch</filename>
            <type>text/plain</type>
            <size>13364</size>
            <attacher name="Peter Nelson">peter</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzI1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTE4ICBQZXRlciBO
ZWxzb24gIDxwZXRlckBwZXRlcmRuLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dIFN1cHBvcnQg
Zm9yIGNvb2tpZXMgaXMgaW5jb21wbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQ3CisgICAgICAgIAorICAgICAgICBBbGwgY29va2llcyBh
cmUgbm93IGNvcnJlY3RseSBhY2Nlc3NpYmxlIGZyb20gSmF2YVNjcmlwdC4KKyAgICAgICAgRXhw
aXJlZCBhbmQgSHR0cE9ubHkgY29va2llcyBubyBsb25nZXIgYWNjZXNzaWJsZSBmcm9tIEphdmFT
Y3JpcHQuCisgICAgICAgIENvb2tpZXMgc2V0IGluIEphdmFTY3JpcHQgbm93IGhhdmUgY29ycmVj
dCBkb21haW4vcGF0aC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2Nvb2tpZXMvaHR0cC1nZXQtY29va2llLXNldC1pbi1q
cy5odG1sCisgICAgICAgIEVuYWJsZWQgb3RoZXIgY29va2llIHRlc3RzIGZvciBXaW5DYWlyby4K
KworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9Db29raWVKYXJDdXJsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzRXhwaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXRzY2Fw
ZUNvb2tpZUZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnNl
dENvb2tpZXNGcm9tRE9NKToKKyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZXNGb3JET00pOgorICAg
ICAgICAoV2ViQ29yZTo6Y29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUpOgorCiAyMDEzLTAy
LTE4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzMTQ1LgpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0Nvb2tpZUphckN1cmwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9Db29raWVKYXJDdXJsLmNwcAkocmV2
aXNpb24gMTQzMjEzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Nv
b2tpZUphckN1cmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMiArMjcsMTAxIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGNvb2tp
ZUphcjsKK2lubGluZSBib29sIGlzRXhwaXJlZChpbnQgZXhwaXJ5VW5peFRpbWUpCit7CisgICAg
cmV0dXJuIGV4cGlyeVVuaXhUaW1lICYmIGV4cGlyeVVuaXhUaW1lIDwgdGltZSgwKTsKK30KIAot
dm9pZCBzZXRDb29raWVzRnJvbURPTShjb25zdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mLCBjb25z
dCBLVVJMJiwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHZhbHVlKQorU3RyaW5nIGdl
dE5ldHNjYXBlQ29va2llRm9ybWF0KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB2YWx1
ZSwgYm9vbCogZXhwaXJlZCA9IDApCiB7Ci0gICAgY29va2llSmFyLnNldCh1cmwuc3RyaW5nKCks
IHZhbHVlKTsKKyAgICAvLyBOZXRzY2FwZSBjb29raWUgZmlsZSBmb3JtYXQgY29uc2lzdHMKKyAg
ICAvLyBvZiBzZXZlbiB0YWItc2VwYXJhdGVkIGZpZWxkczoKKyAgICAvLyAxLiBkb21haW4KKyAg
ICAvLyAyLiBhbGxvdyBzdWJkb21haW5zIChUUlVFL0ZBTFNFKQorICAgIC8vIDMuIHBhdGgKKyAg
ICAvLyA0LiBzZWN1cmUgY29ubmVjdGlvbiByZXF1aXJlZCAoVFJVRS9GQUxTRSkKKyAgICAvLyA1
LiBleHBpcmF0aW9uIChVTklYIHRpbWUpCisgICAgLy8gNi4gbmFtZQorICAgIC8vIDcuIHZhbHVl
CisKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICBT
dHJpbmcgdmFsdWVTdHI7CisgICAgaWYgKHZhbHVlLmlzOEJpdCgpKQorICAgICAgICB2YWx1ZVN0
ciA9IHZhbHVlOworICAgIGVsc2UKKyAgICAgICAgdmFsdWVTdHIgPSBTdHJpbmc6Om1ha2U4Qml0
RnJvbTE2Qml0U291cmNlKHZhbHVlLmNoYXJhY3RlcnMxNigpLCB2YWx1ZS5sZW5ndGgoKSk7CisK
KyAgICBWZWN0b3I8U3RyaW5nPiBhdHRyaWJ1dGVzOworICAgIHZhbHVlU3RyLnNwbGl0KCc7Jywg
ZmFsc2UsIGF0dHJpYnV0ZXMpOworCisgICAgaWYgKGF0dHJpYnV0ZXMuc2l6ZSgpKQorICAgICAg
ICByZXR1cm4gIiI7CiAKKyAgICAvLyBGaXJzdCBhdHRyaWJ1dGUgc2hvdWxkIGJlIDxjb29raWVu
YW1lPj08Y29va2lldmFsdWU+CisgICAgU3RyaW5nIGNvb2tpZU5hbWUsIGNvb2tpZVZhbHVlOwor
ICAgIFZlY3RvcjxTdHJpbmc+OjppdGVyYXRvciBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLmJlZ2lu
KCk7CisgICAgaWYgKGF0dHJpYnV0ZS0+Y29udGFpbnMoJz0nKSkgeworICAgICAgICBWZWN0b3I8
U3RyaW5nPiBuYW1lVmFsdWVQYWlyOworICAgICAgICBhdHRyaWJ1dGUtPnNwbGl0KCc9JywgdHJ1
ZSwgbmFtZVZhbHVlUGFpcik7CisgICAgICAgIGNvb2tpZU5hbWUgPSBuYW1lVmFsdWVQYWlyWzBd
OworICAgICAgICBjb29raWVWYWx1ZSA9IG5hbWVWYWx1ZVBhaXJbMV07CisgICAgfSBlbHNlIHsK
KyAgICAgICAgLy8gQWNjb3JkaW5nIHRvIFJGQzYyNjUgd2Ugc2hvdWxkIGlnbm9yZSB0aGUgZW50
aXJlCisgICAgICAgIC8vIHNldC1jb29raWUgc3RyaW5nIG5vdywgYnV0IG90aGVyIGJyb3dzZXJz
IGFwcGVhcgorICAgICAgICAvLyB0byB0cmVhdCB0aGlzIGFzIDxjb29raWVuYW1lPj08ZW1wdHk+
CisgICAgICAgIGNvb2tpZU5hbWUgPSAqYXR0cmlidXRlOworICAgIH0KKyAgICAKKyAgICBpbnQg
ZXhwaXJlcyA9IDA7CisgICAgU3RyaW5nIHNlY3VyZSA9ICJGQUxTRSI7CisgICAgU3RyaW5nIHBh
dGggPSB1cmwuYmFzZUFzU3RyaW5nKCkuc3Vic3RyaW5nKHVybC5wYXRoU3RhcnQoKSk7CisgICAg
aWYgKHBhdGgubGVuZ3RoKCkgPiAxICYmIHBhdGguZW5kc1dpdGgoJy8nKSkKKyAgICAgICAgcGF0
aC5yZW1vdmUocGF0aC5sZW5ndGgoKSAtIDEpOworICAgIFN0cmluZyBkb21haW4gPSB1cmwuaG9z
dCgpOworCisgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHJlbWFpbmluZyBhdHRyaWJ1dGVzCisgICAg
Zm9yICgrK2F0dHJpYnV0ZTsgYXR0cmlidXRlICE9IGF0dHJpYnV0ZXMuZW5kKCk7ICsrYXR0cmli
dXRlKSB7CisgICAgICAgIGlmIChhdHRyaWJ1dGUtPmNvbnRhaW5zKCc9JykpIHsKKyAgICAgICAg
ICAgIFZlY3RvcjxTdHJpbmc+IGtleVZhbHVlUGFpcjsKKyAgICAgICAgICAgIGF0dHJpYnV0ZS0+
c3BsaXQoJz0nLCB0cnVlLCBrZXlWYWx1ZVBhaXIpOworICAgICAgICAgICAgU3RyaW5nIGtleSA9
IGtleVZhbHVlUGFpclswXS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpOworICAgICAgICAgICAg
U3RyaW5nIHZhbCA9IGtleVZhbHVlUGFpclsxXS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAg
ICAgIGlmIChrZXkgPT0gImV4cGlyZXMiKSB7CisgICAgICAgICAgICAgICAgQ1N0cmluZyBkYXRl
U3RyKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHZhbC5jaGFyYWN0ZXJzOCgpKSwgdmFs
Lmxlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICBleHBpcmVzID0gV1RGOjpwYXJzZURhdGVGcm9t
TnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKGRhdGVTdHIuZGF0YSgpKSAvIFdURjo6bXNQZXJTZWNv
bmQ7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PSAibWF4LWFnZSIpCisgICAgICAgICAg
ICAgICAgZXhwaXJlcyA9IHRpbWUoMCkgKyB2YWwudG9JbnQoKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKGtleSA9PSAiZG9tYWluIikgCisgICAgICAgICAgICAgICAgZG9tYWluID0gdmFsOworICAg
ICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJwYXRoIikgCisgICAgICAgICAgICAgICAgcGF0aCA9
IHZhbDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFN0cmluZyBrZXkgPSBhdHRyaWJ1
dGUtPnN0cmlwV2hpdGVTcGFjZSgpLmxvd2VyKCk7CisgICAgICAgICAgICBpZiAoa2V5ID09ICJz
ZWN1cmUiKQorICAgICAgICAgICAgICAgIHNlY3VyZSA9ICJUUlVFIjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIFN0cmluZ0J1aWxkZXIgY29va2llU3RyOworICAgIGNvb2tpZVN0ci5yZXNlcnZl
Q2FwYWNpdHkoZG9tYWluLmxlbmd0aCgpICsgcGF0aC5sZW5ndGgoKSArIGNvb2tpZU5hbWUubGVu
Z3RoKCkgKyBjb29raWVWYWx1ZS5sZW5ndGgoKSArIDI2KTsKKyAgICBjb29raWVTdHIuYXBwZW5k
KGRvbWFpbiArICJcdCIpOworICAgIGNvb2tpZVN0ci5hcHBlbmQoZG9tYWluLnN0YXJ0c1dpdGgo
Jy4nKSA/ICJUUlVFXHQiIDogIkZBTFNFXHQiKTsKKyAgICBjb29raWVTdHIuYXBwZW5kKHBhdGgg
KyAiXHQiKTsKKyAgICBjb29raWVTdHIuYXBwZW5kKHNlY3VyZSArICJcdCIpOworICAgIGNvb2tp
ZVN0ci5hcHBlbmQoU3RyaW5nOjpudW1iZXIoZXhwaXJlcykgKyAiXHQiKTsKKyAgICBjb29raWVT
dHIuYXBwZW5kKGNvb2tpZU5hbWUgKyAiXHQiKTsKKyAgICBjb29raWVTdHIuYXBwZW5kKGNvb2tp
ZVZhbHVlKTsKKworICAgIGlmIChleHBpcmVkKQorICAgICAgICAqZXhwaXJlZCA9IGlzRXhwaXJl
ZChleHBpcmVzKTsKKworICAgIHJldHVybiBjb29raWVTdHIudG9TdHJpbmcoKTsKK30KKwordm9p
ZCBzZXRDb29raWVzRnJvbURPTShjb25zdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mLCBjb25zdCBL
VVJMJiwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHZhbHVlKQorewogICAgIENVUkwq
IGN1cmwgPSBjdXJsX2Vhc3lfaW5pdCgpOwogCiAgICAgaWYgKCFjdXJsKQpAQCAtNDUsMTQgKzEz
NCwxNCBAQCB2b2lkIHNldENvb2tpZXNGcm9tRE9NKGNvbnN0IE5ldHdvcmtTdG9yCiAgICAgY3Vy
bF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX0NPT0tJRUZJTEUsIGNvb2tpZUphckZpbGVOYW1l
KTsKICAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfU0hBUkUsIGN1cmxzaCk7CiAK
LSAgICBTdHJpbmcgY29va2llKCJTZXQtQ29va2llOiAiKTsKLSAgICBpZiAodmFsdWUuaXM4Qml0
KCkpCi0gICAgICAgIGNvb2tpZS5hcHBlbmQodmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgY29v
a2llLmFwcGVuZChTdHJpbmc6Om1ha2U4Qml0RnJvbTE2Qml0U291cmNlKHZhbHVlLmNoYXJhY3Rl
cnMxNigpLCB2YWx1ZS5sZW5ndGgoKSkpOworICAgIC8vIENVUkwgYWNjZXB0cyBjb29raWVzIGlu
IGVpdGhlciBTZXQtQ29va2llIG9yIE5ldHNjYXBlIGZpbGUgZm9ybWF0LgorICAgIC8vIEhvd2V2
ZXIgd2l0aCBTZXQtQ29va2llIGZvcm1hdCwgdGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgdGhh
dCB3ZQorICAgIC8vIHNob3VsZCBub3QgYWxsb3cgY29va2llcyB0byBiZSByZWFkIGZyb20gc3Vi
ZG9tYWlucywgd2hpY2ggaXMgdGhlCisgICAgLy8gcmVxdWlyZWQgYmVoYXZpb3IgaWYgdGhlIGRv
bWFpbiBmaWVsZCBpcyBub3QgZXhwbGljaXR5IHNwZWNpZmllZC4KKyAgICBib29sIGV4cGlyZWQg
PSBmYWxzZTsKKyAgICBTdHJpbmcgY29va2llID0gZ2V0TmV0c2NhcGVDb29raWVGb3JtYXQodXJs
LCB2YWx1ZSwgJmV4cGlyZWQpOwogCiAgICAgQ1N0cmluZyBzdHJDb29raWUocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBjaGFyKj4oY29va2llLmNoYXJhY3RlcnM4KCkpLCBjb29raWUubGVuZ3RoKCkp
OwotCiAgICAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX0NPT0tJRUxJU1QsIHN0ckNv
b2tpZS5kYXRhKCkpOwogCiAgICAgY3VybF9lYXN5X2NsZWFudXAoY3VybCk7CkBAIC02MCwxMyAr
MTQ5LDcxIEBAIHZvaWQgc2V0Q29va2llc0Zyb21ET00oY29uc3QgTmV0d29ya1N0b3IKIAogU3Ry
aW5nIGNvb2tpZXNGb3JET00oY29uc3QgTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiwgY29uc3QgS1VS
TCYsIGNvbnN0IEtVUkwmIHVybCkKIHsKLSAgICByZXR1cm4gY29va2llSmFyLmdldCh1cmwuc3Ry
aW5nKCkpOworICAgIENVUkwqIGN1cmwgPSBjdXJsX2Vhc3lfaW5pdCgpOworCisgICAgaWYgKCFj
dXJsKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICBjb25zdCBjaGFyKiBjb29raWVKYXJGaWxl
TmFtZSA9IFJlc291cmNlSGFuZGxlTWFuYWdlcjo6c2hhcmVkSW5zdGFuY2UoKS0+Z2V0Q29va2ll
SmFyRmlsZU5hbWUoKTsKKyAgICBDVVJMU0gqIGN1cmxzaCA9IFJlc291cmNlSGFuZGxlTWFuYWdl
cjo6c2hhcmVkSW5zdGFuY2UoKS0+Z2V0Q3VybFNoYXJlSGFuZGxlKCk7CisKKyAgICBjdXJsX2Vh
c3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfQ09PS0lFSkFSLCBjb29raWVKYXJGaWxlTmFtZSk7Cisg
ICAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX0NPT0tJRUZJTEUsIGNvb2tpZUphckZp
bGVOYW1lKTsKKyAgICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfU0hBUkUsIGN1cmxz
aCk7CisKKyAgICBjdXJsX3NsaXN0KiBjb29raWVzOworICAgIGN1cmxfZWFzeV9nZXRpbmZvKGN1
cmwsIENVUkxJTkZPX0NPT0tJRUxJU1QsICZjb29raWVzKTsKKworICAgIFN0cmluZyBjb29raWVz
U3RyID0gIiI7CisgICAgZm9yIChjdXJsX3NsaXN0KiBjb29raWUgPSBjb29raWVzOyBjb29raWU7
IGNvb2tpZSA9IGNvb2tpZS0+bmV4dCkgeworICAgICAgICAvLyBDb29raWUgZGF0YSByZXR1cm5l
ZCBpbiBOZXRzY2FwZSBjb29raWUgZmlsZSBmb3JtYXQuCisgICAgICAgIFN0cmluZyBjb29raWVT
dHIoY29va2llLT5kYXRhKTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYXR0cmlidXRlczsKKyAg
ICAgICAgY29va2llU3RyLnNwbGl0KCdcdCcsIHRydWUsIGF0dHJpYnV0ZXMpOworCisgICAgICAg
IGlmIChhdHRyaWJ1dGVzLnNpemUoKSAhPSA3KQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgLy8gQ2hlY2sgZm9yIGFsbG93ZWQgZG9tYWluLCBwYXRoLCBzZWN1cml0eSwgZXhwaXJh
dGlvbi4KKyAgICAgICAgU3RyaW5nIGRvbWFpbiA9IGF0dHJpYnV0ZXNbMF07CisKKyAgICAgICAg
Ly8gSHR0cE9ubHkgY29va2llIGxpbmVzIGJlZ2luIHdpdGggIiNIdHRwT25seV8iLgorICAgICAg
ICBpZiAoZG9tYWluLnN0YXJ0c1dpdGgoIiNIdHRwT25seV8iKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIGJvb2wgYWxsb3dlZERvbWFpbjsKKyAgICAgICAgaWYgKGRvbWFpbi5z
dGFydHNXaXRoKCcuJykpIAorICAgICAgICAgICAgYWxsb3dlZERvbWFpbiA9IHVybC5ob3N0KCku
ZW5kc1dpdGgoZG9tYWluLnN1YnN0cmluZygxKSk7CisgICAgICAgIGVsc2UgCisgICAgICAgICAg
ICBhbGxvd2VkRG9tYWluID0gdXJsLmhvc3QoKSA9PSBkb21haW47CisKKyAgICAgICAgYm9vbCBh
bGxvd2VkUGF0aCA9IHVybC5wYXRoKCkuc3RhcnRzV2l0aChhdHRyaWJ1dGVzWzJdKTsKKyAgICAg
ICAgYm9vbCBzZWN1cmUgPSBhdHRyaWJ1dGVzWzNdID09ICJGQUxTRSIgfHwgdXJsLnByb3RvY29s
SXMoImh0dHBzIik7CisKKyAgICAgICAgaW50IGV4cGlyeSA9IGF0dHJpYnV0ZXNbNF0udG9JbnQo
KTsKKyAgICAgICAgYm9vbCBub3RFeHBpcmVkID0gIWlzRXhwaXJlZChleHBpcnkpOworCisgICAg
ICAgIGlmIChhbGxvd2VkRG9tYWluICYmIGFsbG93ZWRQYXRoICYmIHNlY3VyZSAmJiBub3RFeHBp
cmVkKSB7CisgICAgICAgICAgICBjb29raWVzU3RyLmFwcGVuZChjb29raWVzU3RyLmxlbmd0aCgp
ID4gMCA/ICI7ICIgOiAiIik7CisgICAgICAgICAgICBjb29raWVzU3RyLmFwcGVuZChhdHRyaWJ1
dGVzWzVdKTsKKyAgICAgICAgICAgIGlmICghYXR0cmlidXRlc1s2XS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgICAgICAgICBjb29raWVzU3RyLmFwcGVuZCgiPSIpOworICAgICAgICAgICAgICAgIGNv
b2tpZXNTdHIuYXBwZW5kKGF0dHJpYnV0ZXNbNl0pOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgY3VybF9zbGlzdF9mcmVlX2FsbChjb29raWVzKTsKKyAgICBjdXJsX2Vh
c3lfY2xlYW51cChjdXJsKTsKKworICAgIHJldHVybiBjb29raWVzU3RyOwogfQogCiBTdHJpbmcg
Y29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoY29uc3QgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
JiwgY29uc3QgS1VSTCYgLypmaXJzdFBhcnR5Ki8sIGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICAv
LyBGSVhNRTogaW5jbHVkZSBIdHRwT25seSBjb29raWUuCi0gICAgcmV0dXJuIGNvb2tpZUphci5n
ZXQodXJsLnN0cmluZygpKTsKKyAgICAvLyByZXR1cm4gY29va2llSmFyLmdldCh1cmwuc3RyaW5n
KCkpOworICAgIHJldHVybiAiIjsKIH0KIAogYm9vbCBjb29raWVzRW5hYmxlZChjb25zdCBOZXR3
b3JrU3RvcmFnZVNlc3Npb24mLCBjb25zdCBLVVJMJiAvKmZpcnN0UGFydHkqLywgY29uc3QgS1VS
TCYgLyp1cmwqLykKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzI1MSkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTE4ICBQZXRl
ciBOZWxzb24gIDxwZXRlckBwZXRlcmRuLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dIFN1cHBv
cnQgZm9yIGNvb2tpZXMgaXMgaW5jb21wbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQ3CisgICAgICAgIAorICAgICAgICBSZS1lbmFibGVk
IGNvb2tpZSB0ZXN0cyBmb3IgV2luQ2Fpcm8uCisgICAgICAgIEFkZGVkIHRlc3QgdG8gY2hlY2sg
d2hldGhlciBjb29raWUgc2V0IGluIEhUVFAgcmVzcG9uc2UgaXMgYWNjZXNzaWJsZSBpbiBKUy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvY29va2llcy9odHRwLWdldC1jb29raWUtc2V0LWluLWpzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL2h0dHAtZ2V0LWNvb2tpZS1zZXQtaW4t
anMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9j
b29raWVzLXRlc3QtcHJlLmpzOgorICAgICAgICAoY2xlYXJBbGxDb29raWVzKTogQ29va2llcyBz
ZXQgaW4gSlMgbm93IGNvcnJlY3RseSBjbGVhcmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDItMTcgIEZpbGlwIFBpemxvICA8ZnBpemxv
QGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgcmlkIG9mIERGRzo6RG91YmxlT3BlcmFuZCBhbmQg
c2ltcGxpZnkgVmFsdWVUb0ludDMyCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvaHR0cC1nZXQtY29va2llLXNldC1pbi1qcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL2h0dHAtZ2V0LWNvb2tpZS1zZXQtaW4tanMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL2h0dHAtZ2V0LWNvb2tpZS1zZXQtaW4tanMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgdGhhdCBhIGNvb2tpZSBzZXQgdXNpbmcgSmF2YVNjcmlw
dCBjYW4gYmUgY29ycmVjdGx5IHJlYWQgYnkgSFRUUCBzZXJ2ZXIKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK2NoZWNraW5nIHRoYXQgdGhlIGNvb2tpZSBzZXQgaW4gamF2YXNjcmlw
dCBjYW4gYmUgcmVhZCBieSBIVFRQIHNlcnZlcgorUEFTUyBjb29raWUgaXMgJ25hbWU9dmFsdWUn
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9odHRwLWdldC1jb29raWUtc2V0LWlu
LWpzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL2h0
dHAtZ2V0LWNvb2tpZS1zZXQtaW4tanMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9odHRwLWdldC1jb29raWUtc2V0LWluLWpzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvY29va2llcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKAorJ1Rlc3QgdGhhdCBh
IGNvb2tpZSBzZXQgdXNpbmcgSmF2YVNjcmlwdCBjYW4gYmUgY29ycmVjdGx5IHJlYWQgYnkgSFRU
UCBzZXJ2ZXInCispOworCitjbGVhckFsbENvb2tpZXMoKTsKKworZG9jdW1lbnQuY29va2llID0g
Im5hbWU9dmFsdWU7TWF4LUFnZT0xMDAwIjsKKworZGVidWcoJ2NoZWNraW5nIHRoYXQgdGhlIGNv
b2tpZSBzZXQgaW4gamF2YXNjcmlwdCBjYW4gYmUgcmVhZCBieSBIVFRQIHNlcnZlcicpOwordGVz
dENvb2tpZXMoIm5hbWU9dmFsdWUiKTsKKworY2xlYXJDb29raWVzKCk7CisKK3N1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29va2ll
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcHJlLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29v
a2llcy10ZXN0LXByZS5qcwkocmV2aXNpb24gMTQzMjEzKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcHJlLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDQsNiArMjA0LDEwIEBAIGZ1bmN0aW9uIGNsZWFyQWxsQ29va2llcygpCiAgICAgICAg
IHZhciBjb29raWVOYW1lID0gY29va2llU3RyaW5nLnN1YnN0cigwLCBjb29raWVTdHJpbmcuaW5k
ZXhPZigiPSIpIHx8IGNvb2tpZVN0cmluZy5sZW5ndGgoKSk7CiAgICAgICAgIGNvb2tpZXMucHVz
aChjb29raWVOYW1lKTsKICAgICAgICAgY2xlYXJDb29raWVzKCk7CisKKyAgICAgICAgLy8gSW4g
Y2FzZSBjbGVhckNvb2tpZXMuY2dpIGZhaWxlZCwgZm9yIGV4YW1wbGUsCisgICAgICAgIC8vIHRo
ZSBkb21haW4vcGF0aCBkbyBub3QgbWF0Y2ggZXhhY3RseToKKyAgICAgICAgZG9jdW1lbnQuY29v
a2llID0gY29va2llTmFtZSArICI9O01heC1BZ2U9MCI7CiAgICAgfQogfQogCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9u
IDE0MzIxMykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlv
bnMJKHdvcmtpbmcgY29weSkKQEAgLTUyOCw3ICs1MjgsNiBAQCB0cmFuc2l0aW9ucy9zdmctdGV4
dC1zaGFkb3ctdHJhbnNpdGlvbi5oCiAKIGh0dHAvdGVzdHMvY2FjaGUKIGh0dHAvdGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cwotaHR0cC90ZXN0cy9jb29raWVzCiBodHRwL3Rlc3RzL2NzcwogaHR0
cC90ZXN0cy9oaXN0b3J5CiBodHRwL3Rlc3RzL2luY3JlbWVudGFsCkBAIC0xMDMyLDEwICsxMDMx
LDYgQEAgZmFzdC9sb2FkZXIvY3JlYXRlLWZyYW1lLWluLURPTUNvbnRlbnRMbwogIyBUaW1lcyBv
dXQgPHJkYXI6Ly9wcm9ibGVtLzkzMDQ5NDE+CiBodHRwL3Rlc3RzL211bHRpcGFydC9pbnZhbGlk
LWltYWdlLWRhdGEtc3RhbmRhbG9uZS5odG1sCiAKLSMgU29tZXRpbWVzIGZhaWwgPHJkYXI6Ly9w
cm9ibGVtLzkzNDk5MjE+Ci1odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtZXhwaXJl
ZC5odG1sCi1odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5odG1sCi0K
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBObyBidWdz
IGZpbGVkIGFib3V0IHRoZSBiZWxvdyB5ZXQjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKQEAgLTI3ODEsMTEgKzI3NzYsNiBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtd2luZG93LW9wCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
d2luZG93LW9wZW4tcGFyZW50Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14
c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4ueG1sCiAKLSMgRmxha3kgaHR0cC90ZXN0cy9jb29r
aWUgdGVzdHMKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1ODA1
Ci1odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtY29va2llcy5odG1sCi1odHRwL3Rlc3RzL2Nv
b2tpZXMvc2luZ2xlLXF1b3RlZC12YWx1ZS5odG1sCi0KICMgRmxha3kgbWVkaWEvdmlkZW8gdGVz
dHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1ODA2CiBtZWRp
YS92aWRlby1hc3BlY3QtcmF0aW8uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191588</attachid>
            <date>2013-03-05 15:46:07 -0800</date>
            <delta_ts>2013-03-05 17:14:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110147-20130305234211.patch</filename>
            <type>text/plain</type>
            <size>11698</size>
            <attacher name="Peter Nelson">peter</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDgzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAzLTA1ICBQZXRlciBO
ZWxzb24gIDxwZXRlckBwZXRlcmRuLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dIFN1cHBvcnQg
Zm9yIGNvb2tpZXMgaXMgaW5jb21wbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQ3CisgICAgICAgIAorICAgICAgICBFeHBpcmVkIGFuZCBI
dHRwT25seSBjb29raWVzIG5vIGxvbmdlciBhY2Nlc3NpYmxlIGZyb20gSmF2YVNjcmlwdC4KKyAg
ICAgICAgQ29va2llcyBzZXQgaW4gSmF2YVNjcmlwdCBub3cgaGF2ZSBjb3JyZWN0IGRvbWFpbi9w
YXRoLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvY29va2llcy9odHRwLWdldC1jb29raWUtc2V0LWluLWpzLmh0bWwKKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9Db29raWVKYXJDdXJsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6YWRkTWF0Y2hpbmdDdXJsQ29va2llKToK
KyAgICAgICAgKFdlYkNvcmU6OmdldE5ldHNjYXBlQ29va2llRm9ybWF0KToKKyAgICAgICAgKFdl
YkNvcmU6OnNldENvb2tpZXNGcm9tRE9NKToKKyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZVJlcXVl
c3RIZWFkZXJGaWVsZFZhbHVlKToKKwogMjAxMy0wMy0wNSAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBBZGQgSURCQmFja2luZ1N0b3Jl
VGVzdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Nvb2tpZUph
ckN1cmwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9Db29raWVKYXJDdXJsLmNwcAkocmV2aXNpb24gMTQ0ODAwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Nvb2tpZUphckN1cmwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw4ICsyNyw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIEhhc2hN
YXA8U3RyaW5nLCBTdHJpbmc+IGNvb2tpZUphcjsKLQogc3RhdGljIHZvaWQgcmVhZEN1cmxDb29r
aWVUb2tlbihjb25zdCBjaGFyKiYgY29va2llLCBTdHJpbmcmIHRva2VuKQogewogICAgIC8vIFJl
YWQgdGhlIG5leHQgdG9rZW4gZnJvbSBhIGNvb2tpZSB3aXRoIHRoZSBOZXRzY2FwZSBjb29raWUg
Zm9ybWF0LgpAQCAtNzAsNiArNjgsMTAgQEAgc3RhdGljIHZvaWQgYWRkTWF0Y2hpbmdDdXJsQ29v
a2llKGNvbnN0CiAKICAgICBib29sIHN1YkRvbWFpbiA9IGZhbHNlOwogCisgICAgLy8gSHR0cE9u
bHkgY29va2llIGVudHJpZXMgYmVnaW4gd2l0aCAiI0h0dHBPbmx5XyIuCisgICAgaWYgKGNvb2tp
ZURvbWFpbi5zdGFydHNXaXRoKCIjSHR0cE9ubHlfIikpCisgICAgICAgIHJldHVybjsKKwogICAg
IGlmIChjb29raWVEb21haW5bMF0gPT0gJy4nKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIGRvbWFp
biBpcyBhIHN1YmRvbWFpbiBvZiB0aGUgZG9tYWluIGluIHRoZSBjb29raWUuCiAgICAgICAgIC8v
IEN1cmwgdXNlcyBhICcuJyBpbiBmcm9udCBvZiBkb21haW5zIHRvIGluZGljYXRlIGl0cyB2YWxp
ZCBvbiBzdWJkb21haW5zLgpAQCAtMTE5LDEwICsxMjEsOTIgQEAgc3RhdGljIHZvaWQgYWRkTWF0
Y2hpbmdDdXJsQ29va2llKGNvbnN0CiAgICAgY29va2llcyA9IGNvb2tpZXMgKyBzdHJOYW1lICsg
Ij0iICsgc3RyVmFsdWUgKyAiOyAiOwogfQogCi12b2lkIHNldENvb2tpZXNGcm9tRE9NKGNvbnN0
IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYsIGNvbnN0IEtVUkwmLCBjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgdmFsdWUpCitzdGF0aWMgU3RyaW5nIGdldE5ldHNjYXBlQ29va2llRm9ybWF0
KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKLSAgICBjb29raWVKYXIu
c2V0KHVybC5zdHJpbmcoKSwgdmFsdWUpOworICAgIC8vIENvbnN0cnVjdHMgYSBjb29raWUgc3Ry
aW5nIGluIE5ldHNjYXBlIENvb2tpZSBmaWxlIGZvcm1hdC4KKworICAgIGlmICh2YWx1ZS5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiAiIjsKKworICAgIFN0cmluZyB2YWx1ZVN0cjsKKyAgICBp
ZiAodmFsdWUuaXM4Qml0KCkpCisgICAgICAgIHZhbHVlU3RyID0gdmFsdWU7CisgICAgZWxzZQor
ICAgICAgICB2YWx1ZVN0ciA9IFN0cmluZzo6bWFrZThCaXRGcm9tMTZCaXRTb3VyY2UodmFsdWUu
Y2hhcmFjdGVyczE2KCksIHZhbHVlLmxlbmd0aCgpKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IGF0
dHJpYnV0ZXM7CisgICAgdmFsdWVTdHIuc3BsaXQoJzsnLCBmYWxzZSwgYXR0cmlidXRlcyk7CisK
KyAgICBpZiAoIWF0dHJpYnV0ZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICAv
LyBGaXJzdCBhdHRyaWJ1dGUgc2hvdWxkIGJlIDxjb29raWVuYW1lPj08Y29va2lldmFsdWU+Cisg
ICAgU3RyaW5nIGNvb2tpZU5hbWUsIGNvb2tpZVZhbHVlOworICAgIFZlY3RvcjxTdHJpbmc+Ojpp
dGVyYXRvciBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLmJlZ2luKCk7CisgICAgaWYgKGF0dHJpYnV0
ZS0+Y29udGFpbnMoJz0nKSkgeworICAgICAgICBWZWN0b3I8U3RyaW5nPiBuYW1lVmFsdWVQYWly
OworICAgICAgICBhdHRyaWJ1dGUtPnNwbGl0KCc9JywgdHJ1ZSwgbmFtZVZhbHVlUGFpcik7Cisg
ICAgICAgIGNvb2tpZU5hbWUgPSBuYW1lVmFsdWVQYWlyWzBdOworICAgICAgICBjb29raWVWYWx1
ZSA9IG5hbWVWYWx1ZVBhaXJbMV07CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gQWNjb3JkaW5n
IHRvIFJGQzYyNjUgd2Ugc2hvdWxkIGlnbm9yZSB0aGUgZW50aXJlCisgICAgICAgIC8vIHNldC1j
b29raWUgc3RyaW5nIG5vdywgYnV0IG90aGVyIGJyb3dzZXJzIGFwcGVhcgorICAgICAgICAvLyB0
byB0cmVhdCB0aGlzIGFzIDxjb29raWVuYW1lPj08ZW1wdHk+CisgICAgICAgIGNvb2tpZU5hbWUg
PSAqYXR0cmlidXRlOworICAgIH0KKyAgICAKKyAgICBpbnQgZXhwaXJlcyA9IDA7CisgICAgU3Ry
aW5nIHNlY3VyZSA9ICJGQUxTRSI7CisgICAgU3RyaW5nIHBhdGggPSB1cmwuYmFzZUFzU3RyaW5n
KCkuc3Vic3RyaW5nKHVybC5wYXRoU3RhcnQoKSk7CisgICAgaWYgKHBhdGgubGVuZ3RoKCkgPiAx
ICYmIHBhdGguZW5kc1dpdGgoJy8nKSkKKyAgICAgICAgcGF0aC5yZW1vdmUocGF0aC5sZW5ndGgo
KSAtIDEpOworICAgIFN0cmluZyBkb21haW4gPSB1cmwuaG9zdCgpOworCisgICAgLy8gSXRlcmF0
ZSB0aHJvdWdoIHJlbWFpbmluZyBhdHRyaWJ1dGVzCisgICAgZm9yICgrK2F0dHJpYnV0ZTsgYXR0
cmlidXRlICE9IGF0dHJpYnV0ZXMuZW5kKCk7ICsrYXR0cmlidXRlKSB7CisgICAgICAgIGlmIChh
dHRyaWJ1dGUtPmNvbnRhaW5zKCc9JykpIHsKKyAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtl
eVZhbHVlUGFpcjsKKyAgICAgICAgICAgIGF0dHJpYnV0ZS0+c3BsaXQoJz0nLCB0cnVlLCBrZXlW
YWx1ZVBhaXIpOworICAgICAgICAgICAgU3RyaW5nIGtleSA9IGtleVZhbHVlUGFpclswXS5zdHJp
cFdoaXRlU3BhY2UoKS5sb3dlcigpOworICAgICAgICAgICAgU3RyaW5nIHZhbCA9IGtleVZhbHVl
UGFpclsxXS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAgICAgIGlmIChrZXkgPT0gImV4cGly
ZXMiKSB7CisgICAgICAgICAgICAgICAgQ1N0cmluZyBkYXRlU3RyKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgY2hhcio+KHZhbC5jaGFyYWN0ZXJzOCgpKSwgdmFsLmxlbmd0aCgpKTsKKyAgICAgICAg
ICAgICAgICBleHBpcmVzID0gV1RGOjpwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0
ZXJzKGRhdGVTdHIuZGF0YSgpKSAvIFdURjo6bXNQZXJTZWNvbmQ7CisgICAgICAgICAgICB9IGVs
c2UgaWYgKGtleSA9PSAibWF4LWFnZSIpCisgICAgICAgICAgICAgICAgZXhwaXJlcyA9IHRpbWUo
MCkgKyB2YWwudG9JbnQoKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiZG9tYWluIikg
CisgICAgICAgICAgICAgICAgZG9tYWluID0gdmFsOworICAgICAgICAgICAgZWxzZSBpZiAoa2V5
ID09ICJwYXRoIikgCisgICAgICAgICAgICAgICAgcGF0aCA9IHZhbDsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIFN0cmluZyBrZXkgPSBhdHRyaWJ1dGUtPnN0cmlwV2hpdGVTcGFjZSgp
Lmxvd2VyKCk7CisgICAgICAgICAgICBpZiAoa2V5ID09ICJzZWN1cmUiKQorICAgICAgICAgICAg
ICAgIHNlY3VyZSA9ICJUUlVFIjsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBTdHJpbmcg
YWxsb3dTdWJkb21haW5zID0gZG9tYWluLnN0YXJ0c1dpdGgoJy4nKSA/ICJUUlVFIiA6ICJGQUxT
RSI7CisgICAgU3RyaW5nIGV4cGlyZXNTdHIgPSBTdHJpbmc6Om51bWJlcihleHBpcmVzKTsKKwor
ICAgIGludCBmaW5hbFN0cmluZ0xlbmd0aCA9IGRvbWFpbi5sZW5ndGgoKSArIHBhdGgubGVuZ3Ro
KCkgKyBleHBpcmVzU3RyLmxlbmd0aCgpICsgY29va2llTmFtZS5sZW5ndGgoKTsKKyAgICBmaW5h
bFN0cmluZ0xlbmd0aCArPSBjb29raWVWYWx1ZS5sZW5ndGgoKSArIHNlY3VyZS5sZW5ndGgoKSAr
IGFsbG93U3ViZG9tYWlucy5sZW5ndGgoKTsKKyAgICBmaW5hbFN0cmluZ0xlbmd0aCArPSA2OyAv
LyBBY2NvdW50IGZvciBcdCBzZXBhcmF0b3JzLgorICAgIAorICAgIFN0cmluZ0J1aWxkZXIgY29v
a2llU3RyOworICAgIGNvb2tpZVN0ci5yZXNlcnZlQ2FwYWNpdHkoZmluYWxTdHJpbmdMZW5ndGgp
OworICAgIGNvb2tpZVN0ci5hcHBlbmQoZG9tYWluICsgIlx0Iik7CisgICAgY29va2llU3RyLmFw
cGVuZChhbGxvd1N1YmRvbWFpbnMgKyAiXHQiKTsKKyAgICBjb29raWVTdHIuYXBwZW5kKHBhdGgg
KyAiXHQiKTsKKyAgICBjb29raWVTdHIuYXBwZW5kKHNlY3VyZSArICJcdCIpOworICAgIGNvb2tp
ZVN0ci5hcHBlbmQoZXhwaXJlc1N0ciArICJcdCIpOworICAgIGNvb2tpZVN0ci5hcHBlbmQoY29v
a2llTmFtZSArICJcdCIpOworICAgIGNvb2tpZVN0ci5hcHBlbmQoY29va2llVmFsdWUpOwogCisg
ICAgcmV0dXJuIGNvb2tpZVN0ci50b1N0cmluZygpOworfQorCit2b2lkIHNldENvb2tpZXNGcm9t
RE9NKGNvbnN0IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYsIGNvbnN0IEtVUkwmLCBjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CiAgICAgQ1VSTCogY3VybCA9IGN1cmxfZWFz
eV9pbml0KCk7CiAKICAgICBpZiAoIWN1cmwpCkBAIC0xMzUsMTcgKzIxOSwxMSBAQCB2b2lkIHNl
dENvb2tpZXNGcm9tRE9NKGNvbnN0IE5ldHdvcmtTdG9yCiAgICAgY3VybF9lYXN5X3NldG9wdChj
dXJsLCBDVVJMT1BUX0NPT0tJRUZJTEUsIGNvb2tpZUphckZpbGVOYW1lKTsKICAgICBjdXJsX2Vh
c3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfU0hBUkUsIGN1cmxzaCk7CiAKLSAgICBTdHJpbmcgY29v
a2llKCJTZXQtQ29va2llOiAiKTsKLSAgICBpZiAodmFsdWUuaXM4Qml0KCkpCi0gICAgICAgIGNv
b2tpZS5hcHBlbmQodmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgY29va2llLmFwcGVuZChTdHJp
bmc6Om1ha2U4Qml0RnJvbTE2Qml0U291cmNlKHZhbHVlLmNoYXJhY3RlcnMxNigpLCB2YWx1ZS5s
ZW5ndGgoKSkpOwotCi0gICAgaWYgKGNvb2tpZS5maW5kKFN0cmluZygiZG9tYWluIikpID09IG5v
dEZvdW5kKSB7Ci0gICAgICAgIC8vIElmIG5vIGRvbWFpbiBpcyBzZXQsIHNldCBkb21haW4gYW5k
IHBhdGggZnJvbSB1cmwuCi0gICAgICAgIGNvb2tpZS5hcHBlbmQoU3RyaW5nKCI7IGRvbWFpbj0i
KSArIHVybC5ob3N0KCkpOwotICAgICAgICBjb29raWUuYXBwZW5kKFN0cmluZygiOyBwYXRoPSIp
ICsgdXJsLnBhdGgoKSk7Ci0gICAgfQorICAgIC8vIENVUkwgYWNjZXB0cyBjb29raWVzIGluIGVp
dGhlciBTZXQtQ29va2llIG9yIE5ldHNjYXBlIGZpbGUgZm9ybWF0LgorICAgIC8vIEhvd2V2ZXIg
d2l0aCBTZXQtQ29va2llIGZvcm1hdCwgdGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgdGhhdCB3
ZQorICAgIC8vIHNob3VsZCBub3QgYWxsb3cgY29va2llcyB0byBiZSByZWFkIGZyb20gc3ViZG9t
YWlucywgd2hpY2ggaXMgdGhlCisgICAgLy8gcmVxdWlyZWQgYmVoYXZpb3IgaWYgdGhlIGRvbWFp
biBmaWVsZCBpcyBub3QgZXhwbGljaXR5IHNwZWNpZmllZC4KKyAgICBTdHJpbmcgY29va2llID0g
Z2V0TmV0c2NhcGVDb29raWVGb3JtYXQodXJsLCB2YWx1ZSk7CiAKICAgICBDU3RyaW5nIHN0ckNv
b2tpZShyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihjb29raWUuY2hhcmFjdGVyczgoKSks
IGNvb2tpZS5sZW5ndGgoKSk7CiAKQEAgLTE5Miw3ICsyNzAsNyBAQCBTdHJpbmcgY29va2llc0Zv
ckRPTShjb25zdCBOZXR3b3JrU3RvcmFnCiBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxk
VmFsdWUoY29uc3QgTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiwgY29uc3QgS1VSTCYgLypmaXJzdFBh
cnR5Ki8sIGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICAvLyBGSVhNRTogaW5jbHVkZSBIdHRwT25s
eSBjb29raWUuCi0gICAgcmV0dXJuIGNvb2tpZUphci5nZXQodXJsLnN0cmluZygpKTsKKyAgICBy
ZXR1cm4gIiI7CiB9CiAKIGJvb2wgY29va2llc0VuYWJsZWQoY29uc3QgTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uJiwgY29uc3QgS1VSTCYgLypmaXJzdFBhcnR5Ki8sIGNvbnN0IEtVUkwmIC8qdXJsKi8p
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNDQ4MzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wMy0wNSAgUGV0ZXIgTmVsc29uICA8
cGV0ZXJAcGV0ZXJkbi5jb20+CisKKyAgICAgICAgW1dpbkNhaXJvXSBTdXBwb3J0IGZvciBjb29r
aWVzIGlzIGluY29tcGxldGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDE0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgUmUtZW5hYmxlZCBjb29raWUgdGVzdHMgZm9yIFdpbkNhaXJvLgor
ICAgICAgICBBZGRlZCB0ZXN0IHRvIGNoZWNrIHdoZXRoZXIgY29va2llIHNldCBpbiBIVFRQIHJl
c3BvbnNlIGlzIGFjY2Vzc2libGUgaW4gSlMuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvaHR0cC1nZXQtY29va2llLXNldC1pbi1qcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY29va2llcy9odHRwLWdldC1jb29raWUtc2V0LWluLWpzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0
LXByZS5qczoKKyAgICAgICAgKGNsZWFyQWxsQ29va2llcyk6IENvb2tpZXMgc2V0IGluIEpTIG5v
dyBjb3JyZWN0bHkgY2xlYXJlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDEzLTAzLTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSBvbGQgTWFjIHRlc3QgZXhwZWN0YXRpb25zIGZvciB0aGUgYnVn
IDEwNjQxMi4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9odHRwLWdldC1j
b29raWUtc2V0LWluLWpzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvaHR0cC1nZXQtY29va2llLXNldC1pbi1qcy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvaHR0cC1nZXQt
Y29va2llLXNldC1pbi1qcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MSBAQAorVGVzdCB0aGF0IGEgY29va2llIHNldCB1c2luZyBKYXZhU2NyaXB0IGNhbiBiZSBjb3Jy
ZWN0bHkgcmVhZCBieSBIVFRQIHNlcnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworY2hlY2tpbmcgdGhhdCB0aGUgY29va2llIHNldCBpbiBqYXZhc2NyaXB0IGNhbiBiZSByZWFk
IGJ5IEhUVFAgc2VydmVyCitQQVNTIGNvb2tpZSBpcyAnbmFtZT12YWx1ZScuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL2h0dHAtZ2V0LWNvb2tpZS1zZXQtaW4tanMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvaHR0cC1nZXQtY29va2ll
LXNldC1pbi1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL2h0dHAtZ2V0LWNvb2tpZS1zZXQtaW4tanMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9jb29raWVzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvY29va2llcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oCisnVGVzdCB0aGF0IGEgY29va2llIHNldCB1
c2luZyBKYXZhU2NyaXB0IGNhbiBiZSBjb3JyZWN0bHkgcmVhZCBieSBIVFRQIHNlcnZlcicKKyk7
CisKK2NsZWFyQWxsQ29va2llcygpOworCitkb2N1bWVudC5jb29raWUgPSAibmFtZT12YWx1ZTtN
YXgtQWdlPTEwMDAiOworCitkZWJ1ZygnY2hlY2tpbmcgdGhhdCB0aGUgY29va2llIHNldCBpbiBq
YXZhc2NyaXB0IGNhbiBiZSByZWFkIGJ5IEhUVFAgc2VydmVyJyk7Cit0ZXN0Q29va2llcygibmFt
ZT12YWx1ZSIpOworCitjbGVhckNvb2tpZXMoKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb29raWVzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcHJl
LmpzCShyZXZpc2lvbiAxNDQ4MDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw2ICsy
MDQsMTAgQEAgZnVuY3Rpb24gY2xlYXJBbGxDb29raWVzKCkKICAgICAgICAgdmFyIGNvb2tpZU5h
bWUgPSBjb29raWVTdHJpbmcuc3Vic3RyKDAsIGNvb2tpZVN0cmluZy5pbmRleE9mKCI9IikgfHwg
Y29va2llU3RyaW5nLmxlbmd0aCgpKTsKICAgICAgICAgY29va2llcy5wdXNoKGNvb2tpZU5hbWUp
OwogICAgICAgICBjbGVhckNvb2tpZXMoKTsKKworICAgICAgICAvLyBJbiBjYXNlIGNsZWFyQ29v
a2llcy5jZ2kgZmFpbGVkLCBmb3IgZXhhbXBsZSwKKyAgICAgICAgLy8gdGhlIGRvbWFpbi9wYXRo
IGRvIG5vdCBtYXRjaCBleGFjdGx5OgorICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWVO
YW1lICsgIj07TWF4LUFnZT0wIjsKICAgICB9CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTQ0ODAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBj
b3B5KQpAQCAtNTI4LDcgKzUyOCw2IEBAIHRyYW5zaXRpb25zL3N2Zy10ZXh0LXNoYWRvdy10cmFu
c2l0aW9uLmgKIAogaHR0cC90ZXN0cy9jYWNoZQogaHR0cC90ZXN0cy9jYW52YXMvcGhpbGlwL3Rl
c3RzCi1odHRwL3Rlc3RzL2Nvb2tpZXMKIGh0dHAvdGVzdHMvY3NzCiBodHRwL3Rlc3RzL2hpc3Rv
cnkKIGh0dHAvdGVzdHMvaW5jcmVtZW50YWwKQEAgLTEwMzIsMTAgKzEwMzEsNiBAQCBmYXN0L2xv
YWRlci9jcmVhdGUtZnJhbWUtaW4tRE9NQ29udGVudExvCiAjIFRpbWVzIG91dCA8cmRhcjovL3By
b2JsZW0vOTMwNDk0MT4KIGh0dHAvdGVzdHMvbXVsdGlwYXJ0L2ludmFsaWQtaW1hZ2UtZGF0YS1z
dGFuZGFsb25lLmh0bWwKIAotIyBTb21ldGltZXMgZmFpbCA8cmRhcjovL3Byb2JsZW0vOTM0OTky
MT4KLWh0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1leHBpcmVkLmh0bWwKLWh0dHAv
dGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLmh0bWwKLQogIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5vIGJ1Z3MgZmlsZWQgYWJvdXQg
dGhlIGJlbG93IHlldCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwpAQCAtMjc4MiwxMSArMjc3Nyw2IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC13aW5kb3ctb3AKIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC13aW5kb3ctb3Blbi1w
YXJlbnQuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1z
ZWN1cml0eU9yaWdpbi54bWwKIAotIyBGbGFreSBodHRwL3Rlc3RzL2Nvb2tpZSB0ZXN0cwotIyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU4MDUKLWh0dHAvdGVzdHMv
Y29va2llcy9tdWx0aXBsZS1jb29raWVzLmh0bWwKLWh0dHAvdGVzdHMvY29va2llcy9zaW5nbGUt
cXVvdGVkLXZhbHVlLmh0bWwKLQogIyBGbGFreSBtZWRpYS92aWRlbyB0ZXN0cwogIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU4MDYKIG1lZGlhL3ZpZGVvLWFzcGVj
dC1yYXRpby5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>