<?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>105467</bug_id>
          
          <creation_ts>2012-12-19 14:54:20 -0800</creation_ts>
          <short_desc>[WK2 NetworkProcess] Client doesn&apos;t receive SSL certificates</short_desc>
          <delta_ts>2012-12-19 16:59:37 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>794971</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-19 14:54:20 -0800</bug_when>
    <thetext>SSL certificate chain is not serialized with NSURLResponse.

&lt;rdar://problem/12890242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794984</commentid>
    <comment_count>1</comment_count>
      <attachid>180233</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-19 15:02:51 -0800</bug_when>
    <thetext>Created attachment 180233
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794989</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 15:04:16 -0800</bug_when>
    <thetext>Attachment 180233 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit2/WebProcess/Network/WebResourceLoader.h:81:  The parameter name &quot;certificateInfo&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/mac/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 2 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795000</commentid>
    <comment_count>3</comment_count>
      <attachid>180233</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-19 15:11:38 -0800</bug_when>
    <thetext>Comment on attachment 180233
proposed fix

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

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:155
&gt; -    send(Messages::WebResourceLoader::DidReceiveResponse(response));
&gt; +    send(Messages::WebResourceLoader::DidReceiveResponse(response, PlatformCertificateInfo(response)));

I would much rather see us keep the cert chain encapsulated by the response, and just encode it in the ResourceResponse encoder when it exists.

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:84
&gt; -void WebResourceLoader::didReceiveResponse(const WebCore::ResourceResponse&amp; response)
&gt; +void WebResourceLoader::didReceiveResponse(const ResourceResponse&amp; response, const PlatformCertificateInfo&amp; certificateInfo)
&gt;  {
&gt;      LOG(Network, &quot;(WebProcess) WebResourceLoader::didReceiveResponse for &apos;%s&apos;. Status %d.&quot;, m_coreLoader-&gt;url().string().utf8().data(), response.httpStatusCode());
&gt; -    m_coreLoader-&gt;didReceiveResponse(response);
&gt; +    ResourceResponse responseCopy(response);
&gt; +    responseCopy.setCertificateChain(certificateInfo.certificateChain());
&gt; +    m_coreLoader-&gt;didReceiveResponse(responseCopy);

Then none of this would be required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795045</commentid>
    <comment_count>4</comment_count>
      <attachid>180249</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-19 16:53:20 -0800</bug_when>
    <thetext>Created attachment 180249
updated patch

Discussed this with Brady in person.

I think that the right design is for ResourceRequest and ResourceResponse serializers to only preserve essential lightweight data. Parts that we rarely need can be sent over IPC as separate arguments. Another example of this is how we shouldn&apos;t serialize form data with each ResourceRequest.

Another consideration is that we should really think about only passing certificate chain data on demand, not with ResourceResponse.

As a result of this discussion, I renamed didReceiveResponse to didReceiveResponseWithCertificateInfo, so that it doesn&apos;t look confusingly similar to other didReceiveResponse functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795048</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 16:55:45 -0800</bug_when>
    <thetext>Attachment 180249 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit2/WebProcess/Network/WebResourceLoader.h:81:  The parameter name &quot;certificateInfo&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795049</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-19 16:57:06 -0800</bug_when>
    <thetext>Yes, please fix the stylebot complaint.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795052</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-19 16:59:37 -0800</bug_when>
    <thetext>Fixed &lt;http://trac.webkit.org/changeset/138206&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180233</attachid>
            <date>2012-12-19 15:02:51 -0800</date>
            <delta_ts>2012-12-19 16:53:20 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>BrokenHTTPS.txt</filename>
            <type>text/plain</type>
            <size>14644</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTE5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
Mjg5MDI0Mj4gW1dLMiBOZXR3b3JrUHJvY2Vzc10gQ2xpZW50IGRvZXNuJ3QgcmVjZWl2ZSBTU0wg
Y2VydGlmaWNhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDU0NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBsZW1lbnQgYSB3YXkgdG8gc3RvcmUgY2VydGlmaWNhdGUgY2hhaW4gaW4gUmVzb3Vy
Y2VSZXNwb25zZSBzZXBhcmF0ZWx5IGZyb20KKyAgICAgICAgTlNVUkxSZXNwb25zZS4gVGhlcmUg
aXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCBOU1VSTFJlc3BvbnNlLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNv
cmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3Rl
bUludGVyZmFjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVz
cG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlmaWNh
dGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpjZXJ0aWZpY2F0
ZUNoYWluKToKKwogMjAxMi0xMi0xOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgVXNlIEVsZW1lbnRUcmF2ZXJzYWwgaW4gTGl2ZU5vZGVMaXN0QmFzZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC00NjgsNiArNDY4LDcgQEAgX19aTjdX
ZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFUktOU18xNQogX19aTjdXZWJDb3JlMTZOYXZpZ2F0
aW9uQWN0aW9uQzFFUktOU18xNVJlc291cmNlUmVxdWVzdEVOU18xM0ZyYW1lTG9hZFR5cGVFYgog
X19aTjdXZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFUktOU18xNVJlc291cmNlUmVxdWVzdEVO
U18xNE5hdmlnYXRpb25UeXBlRQogX19aTjdXZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFdgor
X19aTjdXZWJDb3JlMTZSZXNvdXJjZVJlc3BvbnNlMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9f
Q0ZBcnJheQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTBpbml0U2NyaXB0RVBOU18x
NURPTVdyYXBwZXJXb3JsZEUKIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjExY3JlYXRl
V29ybGRFdgogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTNleGVjdXRlU2NyaXB0RVJL
TjNXVEY2U3RyaW5nRWIKQEAgLTEyODksNiArMTI5MCw3IEBAIF9fWk5LN1dlYkNvcmUxNkhUTUxJ
bnB1dEVsZW1lbnQxNWlzUGFzc3cKIF9fWk5LN1dlYkNvcmUxNkhUTUxJbnB1dEVsZW1lbnQxOHNo
b3VsZEF1dG9jb21wbGV0ZUV2CiBfX1pOSzdXZWJDb3JlMTZJY29uRGF0YWJhc2VCYXNlMTJkYXRh
YmFzZVBhdGhFdgogX19aTks3V2ViQ29yZTE2UmVzb3VyY2VSZXNwb25zZTEzbnNVUkxSZXNwb25z
ZUV2CitfX1pOSzdXZWJDb3JlMTZSZXNvdXJjZVJlc3BvbnNlMTZjZXJ0aWZpY2F0ZUNoYWluRXYK
IF9fWk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xN2lzQ29udGVudEVkaXRhYmxlRXYKIF9f
Wk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xN3RvTm9ybWFsaXplZFJhbmdlRXYKIF9fWk5L
N1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xOXJvb3RFZGl0YWJsZUVsZW1lbnRFdgpAQCAtMTUx
Nyw2ICsxNTE5LDcgQEAgX3drQ29weUNGVVJMUmVzcG9uc2VTdWdnZXN0ZWRGaWxlbmFtZQogX3dr
Q29weUNPTk5FQ1RQcm94eVJlc3BvbnNlCiBfd2tDb3B5SFRUUENvb2tpZVN0b3JhZ2UKIF93a0Nv
cHlOU1VSTFJlc3BvbnNlU3RhdHVzTGluZQorX3drQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0
ZUNoYWluCiBfd2tDb3B5UmVxdWVzdFdpdGhTdG9yYWdlU2Vzc2lvbgogX3drQ3JlYXRlQ1RMaW5l
V2l0aFVuaUNoYXJQcm92aWRlcgogX3drQ3JlYXRlQ3VzdG9tQ0ZSZWFkU3RyZWFtCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmgJKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsNyBA
QCBleHRlcm4gQ0ZSZWFkU3RyZWFtUmVmICgqd2tDcmVhdGVDdXN0b21DCiAgICAgdm9pZCAqY29u
dGV4dCk7CiBleHRlcm4gQ0ZTdHJpbmdSZWYgKCp3a0NvcHlDRkxvY2FsaXphdGlvblByZWZlcnJl
ZE5hbWUpKENGU3RyaW5nUmVmKTsKIGV4dGVybiBOU1N0cmluZyogKCp3a0NvcHlOU1VSTFJlc3Bv
bnNlU3RhdHVzTGluZSkoTlNVUkxSZXNwb25zZSopOworZXh0ZXJuIENGQXJyYXlSZWYgKCp3a0Nv
cHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbikoTlNVUkxSZXNwb25zZSopOwogZXh0ZXJu
IGlkICgqd2tDcmVhdGVOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5KSh2b2lkKTsKIGV4dGVy
biB2b2lkICgqd2tEcmF3QmV6ZWxlZFRleHRGaWVsZENlbGwpKE5TUmVjdCwgQk9PTCBlbmFibGVk
KTsKIGV4dGVybiB2b2lkICgqd2tEcmF3VGV4dEZpZWxkQ2VsbEZvY3VzUmluZykoTlNUZXh0Rmll
bGRDZWxsKiwgTlNSZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCShyZXZpc2lvbiAxMzgxNzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBib29sICgqd2tDR0NvbnRleHREcmF3c1dpdGhD
b3JyZWN0U2hhZG93CiBDR1BhdHRlcm5SZWYgKCp3a0NHUGF0dGVybkNyZWF0ZVdpdGhJbWFnZUFu
ZFRyYW5zZm9ybSkoQ0dJbWFnZVJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0sIGludCk7CiBDRlN0cmlu
Z1JlZiAoKndrQ29weUNGTG9jYWxpemF0aW9uUHJlZmVycmVkTmFtZSkoQ0ZTdHJpbmdSZWYpOwog
TlNTdHJpbmcqICgqd2tDb3B5TlNVUkxSZXNwb25zZVN0YXR1c0xpbmUpKE5TVVJMUmVzcG9uc2Uq
KTsKK0NGQXJyYXlSZWYgKCp3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbikoTlNV
UkxSZXNwb25zZSopOwogTlNTdHJpbmcqICgqd2tDcmVhdGVVUkxQYXN0ZWJvYXJkRmxhdm9yVHlw
ZU5hbWUpKHZvaWQpOwogTlNTdHJpbmcqICgqd2tDcmVhdGVVUkxOUGFzdGVib2FyZEZsYXZvclR5
cGVOYW1lKSh2b2lkKTsKIHZvaWQgKCp3a0RyYXdCZXplbGVkVGV4dEZpZWxkQ2VsbCkoTlNSZWN0
LCBCT09MIGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlc3BvbnNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgJKHJldmlzaW9uIDEzODE3MykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OCw2ICs4OCwxMSBAQCBwdWJsaWM6CiAgICAgTlNVUkxSZXNwb25zZSAq
bnNVUkxSZXNwb25zZSgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFVT
RShDRk5FVFdPUkspCisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOwor
ICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3Q7CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2U7CiAK
QEAgLTEwNiw2ICsxMTEsMTAgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0
YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWlu
IGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdh
eSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKKyNlbmRp
ZgogICAgIEluaXRMZXZlbCBtX2luaXRMZXZlbDsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1h
Yy5tbQkocmV2aXNpb24gMTM4MTczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTcxLDYgKzE3
MSwyMCBAQCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjCiAgICAgcmV0
dXJuIGEubnNVUkxSZXNwb25zZSgpID09IGIubnNVUkxSZXNwb25zZSgpOwogfQogCit2b2lkIFJl
c291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKQoreworICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hh
aW4obnNVUkxSZXNwb25zZSgpKSk7CisgICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBj
ZXJ0aWZpY2F0ZUNoYWluOworfQorCitSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNw
b25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgaWYgKG1fZXh0ZXJuYWxDZXJ0
aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47
CisKKyAgICByZXR1cm4gYWRvcHRDRih3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFp
bihuc1VSTFJlc3BvbnNlKCkpKTsKK30KKwogI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE5NSkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTEyLTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMjg5MDI0Mj4gW1dLMiBOZXR3b3JrUHJvY2Vzc10gQ2xpZW50
IGRvZXNuJ3QgcmVjZWl2ZSBTU0wgY2VydGlmaWNhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0NjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgUGFzcyBjZXJ0aWZpY2F0ZSBjaGFpbiBvdmVyIElQ
Qywgc28gdGhhdCB3ZSBjb3VsZCB1bHRpbWF0ZWx5IHNlbmQgaXQgdG8gY2xpZW50CisgICAgICAg
IHZpYSBXZWJQYWdlUHJveHk6OkRpZENvbW1pdExvYWRGb3JGcmFtZSBtZXNzYWdlLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1t
OiAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgorICAgICAgICBJbml0aWFsaXplIGEgV0tT
SSBmdW5jdGlvbiB3ZSd2ZSBiZWVuIG1pc3NpbmcuCisKIDIwMTItMTItMTggIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIE5vdGlmeSBjb250ZXh0IGNsaWVudCBvZiBjaGFu
Z2UgdG8gdGFibGUsIGFuZCBhbGxvdyBjbGllbnQgdG8gZ2V0IGEgY29weSBvZiBpdApJbmRleDog
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxMzgxNzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNp
bmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNs
dWRlICJSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTUxLDcgKzE1Miw3IEBA
IHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmUKICAgICAvLyBGSVhNRSAo
TmV0d29ya1Byb2Nlc3MpOiBDYWNoZSB0aGUgcmVzcG9uc2UuCiAgICAgaWYgKEZvcm1EYXRhKiBm
b3JtRGF0YSA9IG1fcmVxdWVzdFBhcmFtZXRlcnMucmVxdWVzdCgpLmh0dHBCb2R5KCkpCiAgICAg
ICAgIGZvcm1EYXRhLT5yZW1vdmVHZW5lcmF0ZWRGaWxlc0lmTmVlZGVkKCk7Ci0gICAgc2VuZChN
ZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZSkp
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9u
c2UocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSkpOwogfQogCiB2
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5kbGUq
LCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8ubW0JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5
LDYgQEAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkFyZ3VtZW50RGVj
b2Rlci5oIgogI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW1wb3J0IDxXZWJLaXRTeXN0
ZW1JbnRlcmZhY2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQwLDcgKzM5
LDcgQEAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaQogfQogCiBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oQWRvcHRDRiwg
V0tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UubnNVUkxSZXNwb25z
ZSgpKSkKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNoYWlu
KCkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTczKQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VMb2FkZXIuaD4KQEAgLTc1LDEwICs3NiwxMiBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVy
Ojp3aWxsU2VuZFJlcXVlc3QoCiAgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpXaWxsU2VuZFJlcXVlc3RIYW5kbGVkKHJlcXVlc3RJRCwgbmV3UmVxdWVzdCkpOwogfQog
Ci12b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgTE9HKE5l
dHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7Ci0gICAgbV9jb3JlTG9hZGVy
LT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2VDb3B5KHJlc3BvbnNlKTsKKyAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVDaGFp
bihjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICBtX2NvcmVMb2FkZXIt
PmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogfQogCiB2b2lkIFdlYlJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
LCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoLCBib29sIGFsbEF0T25jZSkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oCShyZXZpc2lvbiAxMzgxNzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElkZW50
aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
UmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlcjxXZWJSZXNvdXJj
ZUxvYWRlcj4sIHB1YmxpYyBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNsaWVudCB7CkBAIC03Nyw3
ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgV2ViUmVzb3VyY2VMb2FkZXIoUGFzc1JlZlB0cjxXZWJD
b3JlOjpSZXNvdXJjZUxvYWRlcj4pOwogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QodWludDY0
X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNv
bnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5j
b2RlZERhdGFMZW5ndGgsIGJvb2wgYWxsQXRPbmNlKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291
cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2Fk
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpA
QCAtMjQsNyArMjQsNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciB7CiAKICAgICAv
LyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0
eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KHVpbnQ2NF90IHJl
cXVlc3RJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2UoV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2Uo
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8pCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoLCBib29sIGFsbEF0
T25jZSkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAg
RGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQkocmV2aXNpb24gMTM4MTczKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHZvaWQgSW5pdFdlYkNv
cmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICNlbmRpZgogICAgICAgICBJTklUKENvcHlDT05ORUNU
UHJveHlSZXNwb25zZSk7CiAgICAgICAgIElOSVQoQ29weU5TVVJMUmVzcG9uc2VTdGF0dXNMaW5l
KTsKKyAgICAgICAgSU5JVChDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4pOwogICAg
ICAgICBJTklUKENyZWF0ZUNUTGluZVdpdGhVbmlDaGFyUHJvdmlkZXIpOwogICAgICAgICBJTklU
KENyZWF0ZUN1c3RvbUNGUmVhZFN0cmVhbSk7CiAgICAgICAgIElOSVQoQ3JlYXRlTlNVUkxDb25u
ZWN0aW9uRGVsZWdhdGVQcm94eSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzgx
OTUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxMi0xMi0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9PUFMhKS4KKyAgICAgICAg
TmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBz
dWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2Ny
aXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lz
dGVtSW50ZXJmYWNlLm1tOgorICAgICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgor
CiAyMDEyLTEyLTE5ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgSW1wbGVtZW50IENTUyBwYXJzaW5nIGZvciBDU1MgdHJhbnNpdGlvbnMgdW5wcmVmaXhlZC4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFj
ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJT
eXN0ZW1JbnRlcmZhY2UubW0JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTgsNiArNTgsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAgICAg
SU5JVChDb3B5Q0ZMb2NhbGl6YXRpb25QcmVmZXJyZWROYW1lKTsKICAgICBJTklUKENvcHlDT05O
RUNUUHJveHlSZXNwb25zZSk7CiAgICAgSU5JVChDb3B5TlNVUkxSZXNwb25zZVN0YXR1c0xpbmUp
OworICAgIElOSVQoQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKTsKICAgICBJTklU
KENyZWF0ZUN1c3RvbUNGUmVhZFN0cmVhbSk7CiAgICAgSU5JVChDcmVhdGVOU1VSTENvbm5lY3Rp
b25EZWxlZ2F0ZVByb3h5KTsKICAgICBJTklUKERyYXdDYXBzTG9ja0luZGljYXRvcik7Cg==
</data>
<flag name="review"
          id="197436"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180249</attachid>
            <date>2012-12-19 16:53:20 -0800</date>
            <delta_ts>2012-12-19 16:56:39 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>BrokenHTTPS.txt</filename>
            <type>text/plain</type>
            <size>14880</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTE5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
Mjg5MDI0Mj4gW1dLMiBOZXR3b3JrUHJvY2Vzc10gQ2xpZW50IGRvZXNuJ3QgcmVjZWl2ZSBTU0wg
Y2VydGlmaWNhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDU0NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBsZW1lbnQgYSB3YXkgdG8gc3RvcmUgY2VydGlmaWNhdGUgY2hhaW4gaW4gUmVzb3Vy
Y2VSZXNwb25zZSBzZXBhcmF0ZWx5IGZyb20KKyAgICAgICAgTlNVUkxSZXNwb25zZS4gVGhlcmUg
aXMgbm8gd2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCBOU1VSTFJlc3BvbnNlLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNv
cmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3Rl
bUludGVyZmFjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVz
cG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0Q2VydGlmaWNh
dGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpjZXJ0aWZpY2F0
ZUNoYWluKToKKwogMjAxMi0xMi0xOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgVXNlIEVsZW1lbnRUcmF2ZXJzYWwgaW4gTGl2ZU5vZGVMaXN0QmFzZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC00NjgsNiArNDY4LDcgQEAgX19aTjdX
ZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFUktOU18xNQogX19aTjdXZWJDb3JlMTZOYXZpZ2F0
aW9uQWN0aW9uQzFFUktOU18xNVJlc291cmNlUmVxdWVzdEVOU18xM0ZyYW1lTG9hZFR5cGVFYgog
X19aTjdXZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFUktOU18xNVJlc291cmNlUmVxdWVzdEVO
U18xNE5hdmlnYXRpb25UeXBlRQogX19aTjdXZWJDb3JlMTZOYXZpZ2F0aW9uQWN0aW9uQzFFdgor
X19aTjdXZWJDb3JlMTZSZXNvdXJjZVJlc3BvbnNlMTlzZXRDZXJ0aWZpY2F0ZUNoYWluRVBLOV9f
Q0ZBcnJheQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTBpbml0U2NyaXB0RVBOU18x
NURPTVdyYXBwZXJXb3JsZEUKIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjExY3JlYXRl
V29ybGRFdgogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMTNleGVjdXRlU2NyaXB0RVJL
TjNXVEY2U3RyaW5nRWIKQEAgLTEyODksNiArMTI5MCw3IEBAIF9fWk5LN1dlYkNvcmUxNkhUTUxJ
bnB1dEVsZW1lbnQxNWlzUGFzc3cKIF9fWk5LN1dlYkNvcmUxNkhUTUxJbnB1dEVsZW1lbnQxOHNo
b3VsZEF1dG9jb21wbGV0ZUV2CiBfX1pOSzdXZWJDb3JlMTZJY29uRGF0YWJhc2VCYXNlMTJkYXRh
YmFzZVBhdGhFdgogX19aTks3V2ViQ29yZTE2UmVzb3VyY2VSZXNwb25zZTEzbnNVUkxSZXNwb25z
ZUV2CitfX1pOSzdXZWJDb3JlMTZSZXNvdXJjZVJlc3BvbnNlMTZjZXJ0aWZpY2F0ZUNoYWluRXYK
IF9fWk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xN2lzQ29udGVudEVkaXRhYmxlRXYKIF9f
Wk5LN1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xN3RvTm9ybWFsaXplZFJhbmdlRXYKIF9fWk5L
N1dlYkNvcmUxNlZpc2libGVTZWxlY3Rpb24xOXJvb3RFZGl0YWJsZUVsZW1lbnRFdgpAQCAtMTUx
Nyw2ICsxNTE5LDcgQEAgX3drQ29weUNGVVJMUmVzcG9uc2VTdWdnZXN0ZWRGaWxlbmFtZQogX3dr
Q29weUNPTk5FQ1RQcm94eVJlc3BvbnNlCiBfd2tDb3B5SFRUUENvb2tpZVN0b3JhZ2UKIF93a0Nv
cHlOU1VSTFJlc3BvbnNlU3RhdHVzTGluZQorX3drQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0
ZUNoYWluCiBfd2tDb3B5UmVxdWVzdFdpdGhTdG9yYWdlU2Vzc2lvbgogX3drQ3JlYXRlQ1RMaW5l
V2l0aFVuaUNoYXJQcm92aWRlcgogX3drQ3JlYXRlQ3VzdG9tQ0ZSZWFkU3RyZWFtCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmgJKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsNyBA
QCBleHRlcm4gQ0ZSZWFkU3RyZWFtUmVmICgqd2tDcmVhdGVDdXN0b21DCiAgICAgdm9pZCAqY29u
dGV4dCk7CiBleHRlcm4gQ0ZTdHJpbmdSZWYgKCp3a0NvcHlDRkxvY2FsaXphdGlvblByZWZlcnJl
ZE5hbWUpKENGU3RyaW5nUmVmKTsKIGV4dGVybiBOU1N0cmluZyogKCp3a0NvcHlOU1VSTFJlc3Bv
bnNlU3RhdHVzTGluZSkoTlNVUkxSZXNwb25zZSopOworZXh0ZXJuIENGQXJyYXlSZWYgKCp3a0Nv
cHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbikoTlNVUkxSZXNwb25zZSopOwogZXh0ZXJu
IGlkICgqd2tDcmVhdGVOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5KSh2b2lkKTsKIGV4dGVy
biB2b2lkICgqd2tEcmF3QmV6ZWxlZFRleHRGaWVsZENlbGwpKE5TUmVjdCwgQk9PTCBlbmFibGVk
KTsKIGV4dGVybiB2b2lkICgqd2tEcmF3VGV4dEZpZWxkQ2VsbEZvY3VzUmluZykoTlNUZXh0Rmll
bGRDZWxsKiwgTlNSZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCShyZXZpc2lvbiAxMzgxNzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBib29sICgqd2tDR0NvbnRleHREcmF3c1dpdGhD
b3JyZWN0U2hhZG93CiBDR1BhdHRlcm5SZWYgKCp3a0NHUGF0dGVybkNyZWF0ZVdpdGhJbWFnZUFu
ZFRyYW5zZm9ybSkoQ0dJbWFnZVJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0sIGludCk7CiBDRlN0cmlu
Z1JlZiAoKndrQ29weUNGTG9jYWxpemF0aW9uUHJlZmVycmVkTmFtZSkoQ0ZTdHJpbmdSZWYpOwog
TlNTdHJpbmcqICgqd2tDb3B5TlNVUkxSZXNwb25zZVN0YXR1c0xpbmUpKE5TVVJMUmVzcG9uc2Uq
KTsKK0NGQXJyYXlSZWYgKCp3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFpbikoTlNV
UkxSZXNwb25zZSopOwogTlNTdHJpbmcqICgqd2tDcmVhdGVVUkxQYXN0ZWJvYXJkRmxhdm9yVHlw
ZU5hbWUpKHZvaWQpOwogTlNTdHJpbmcqICgqd2tDcmVhdGVVUkxOUGFzdGVib2FyZEZsYXZvclR5
cGVOYW1lKSh2b2lkKTsKIHZvaWQgKCp3a0RyYXdCZXplbGVkVGV4dEZpZWxkQ2VsbCkoTlNSZWN0
LCBCT09MIGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlc3BvbnNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZVJlc3BvbnNlLmgJKHJldmlzaW9uIDEzODE3MykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OCw2ICs4OCwxMSBAQCBwdWJsaWM6CiAgICAgTlNVUkxSZXNwb25zZSAq
bnNVUkxSZXNwb25zZSgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFVT
RShDRk5FVFdPUkspCisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYpOwor
ICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3Q7CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2U7CiAK
QEAgLTEwNiw2ICsxMTEsMTAgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgbXV0
YWJsZSBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gbV9uc1Jlc3BvbnNlOwogI2VuZGlmCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKQorICAgIC8vIENlcnRpZmljYXRlIGNoYWlu
IGlzIG5vcm1hbGx5IHBhcnQgb2YgTlMvQ0ZVUkxSZXNwb25zZSwgYnV0IHRoZXJlIGlzIG5vIHdh
eSB0byByZS1hZGQgaXQgdG8gYSBkZXNlcmlhbGl6ZWQgcmVzcG9uc2UgYWZ0ZXIgSVBDLgorICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKKyNlbmRp
ZgogICAgIEluaXRMZXZlbCBtX2luaXRMZXZlbDsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1h
Yy5tbQkocmV2aXNpb24gMTM4MTczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTcxLDYgKzE3
MSwyMCBAQCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShjCiAgICAgcmV0
dXJuIGEubnNVUkxSZXNwb25zZSgpID09IGIubnNVUkxSZXNwb25zZSgpOwogfQogCit2b2lkIFJl
c291cmNlUmVzcG9uc2U6OnNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKQoreworICAgIEFTU0VSVCghd2tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hh
aW4obnNVUkxSZXNwb25zZSgpKSk7CisgICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBj
ZXJ0aWZpY2F0ZUNoYWluOworfQorCitSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNw
b25zZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0Cit7CisgICAgaWYgKG1fZXh0ZXJuYWxDZXJ0
aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW47
CisKKyAgICByZXR1cm4gYWRvcHRDRih3a0NvcHlOU1VSTFJlc3BvbnNlQ2VydGlmaWNhdGVDaGFp
bihuc1VSTFJlc3BvbnNlKCkpKTsKK30KKwogI2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODIwNCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTEyLTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMjg5MDI0Mj4gW1dLMiBOZXR3b3JrUHJvY2Vzc10gQ2xpZW50
IGRvZXNuJ3QgcmVjZWl2ZSBTU0wgY2VydGlmaWNhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0NjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW46CisgICAgICAgIFBhc3MgY2VydGlm
aWNhdGUgY2hhaW4gb3ZlciBJUEMsIHNvIHRoYXQgd2UgY291bGQgdWx0aW1hdGVseSBzZW5kIGl0
IHRvIGNsaWVudAorICAgICAgICB2aWEgV2ViUGFnZVByb3h5OjpEaWRDb21taXRMb2FkRm9yRnJh
bWUgbWVzc2FnZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dl
YlN5c3RlbUludGVyZmFjZS5tbTogKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKyAgICAg
ICAgSW5pdGlhbGl6ZSBhIFdLU0kgZnVuY3Rpb24gd2UndmUgYmVlbiBtaXNzaW5nLgorCiAyMDEy
LTEyLTE5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBmdW5j
dGlvbiB0byBzZXQgdGhlIG9yaWdpbiBoYXNoIHRhYmxlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAJKHJl
dmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xNTEsNyArMTUyLDcgQEAgdm9pZCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZQogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6
IENhY2hlIHRoZSByZXNwb25zZS4KICAgICBpZiAoRm9ybURhdGEqIGZvcm1EYXRhID0gbV9yZXF1
ZXN0UGFyYW1ldGVycy5yZXF1ZXN0KCkuaHR0cEJvZHkoKSkKICAgICAgICAgZm9ybURhdGEtPnJl
bW92ZUdlbmVyYXRlZEZpbGVzSWZOZWVkZWQoKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNv
dXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8ocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSkpOwogfQog
CiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5k
bGUqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8ubW0JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDYgQEAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkFyZ3VtZW50
RGVjb2Rlci5oIgogI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0jaW1wb3J0IDxXZWJLaXRT
eXN0ZW1JbnRlcmZhY2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQwLDcg
KzM5LDcgQEAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaQogfQogCiBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oQWRvcHRD
RiwgV0tDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UubnNVUkxSZXNw
b25zZSgpKSkKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNo
YWluKCkpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTczKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkZXIuaD4KQEAgLTc1LDEwICs3NiwxMiBAQCB2b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjp3aWxsU2VuZFJlcXVlc3QoCiAgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Jlc291cmNl
TG9hZGVyOjpXaWxsU2VuZFJlcXVlc3RIYW5kbGVkKHJlcXVlc3RJRCwgbmV3UmVxdWVzdCkpOwog
fQogCi12b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit2b2lkIFdlYlJlc291cmNlTG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQogewotICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UgZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2Fk
ZXItPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2Rl
KCkpOwotICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAg
ICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29y
ZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1
c0NvZGUoKSk7CisgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOwor
ICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlSW5mby5jZXJ0
aWZpY2F0ZUNoYWluKCkpOworICAgIG1fY29yZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJl
c3BvbnNlQ29weSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRh
KGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFM
ZW5ndGgsIGJvb2wgYWxsQXRPbmNlKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgJKHJldmlzaW9uIDEzODE3MykK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
IHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xhc3MgV2ViUmVz
b3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4sIHB1Ymxp
YyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2xpZW50IHsKQEAgLTc3LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAg
ICBXZWJSZXNvdXJjZUxvYWRlcihQYXNzUmVmUHRyPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPik7
CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
IHJlZGlyZWN0UmVzcG9uc2UpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdp
dGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pOwogICAgIHZvaWQgZGlk
UmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2Rl
ZERhdGFMZW5ndGgsIGJvb2wgYWxsQXRPbmNlKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNl
TG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MjQsNyArMjQsNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciB7CiAKICAgICAvLyBG
SVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0eSBm
b3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KHVpbnQ2NF90IHJlcXVl
c3RJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRo
Q2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktp
dDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvKQogICAgIERpZFJlY2Vp
dmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxl
bmd0aCwgYm9vbCBhbGxBdE9uY2UpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBm
aW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciBlcnJvcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
bWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHJldmlz
aW9uIDEzODE3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
bWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBA
QCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAjZW5kaWYKICAgICAgICAg
SU5JVChDb3B5Q09OTkVDVFByb3h5UmVzcG9uc2UpOwogICAgICAgICBJTklUKENvcHlOU1VSTFJl
c3BvbnNlU3RhdHVzTGluZSk7CisgICAgICAgIElOSVQoQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZp
Y2F0ZUNoYWluKTsKICAgICAgICAgSU5JVChDcmVhdGVDVExpbmVXaXRoVW5pQ2hhclByb3ZpZGVy
KTsKICAgICAgICAgSU5JVChDcmVhdGVDdXN0b21DRlJlYWRTdHJlYW0pOwogICAgICAgICBJTklU
KENyZWF0ZU5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlUHJveHkpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTM4MTk1KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTItMTkgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyODkwMjQyPiBb
V0syIE5ldHdvcmtQcm9jZXNzXSBDbGllbnQgZG9lc24ndCByZWNlaXZlIFNTTCBjZXJ0aWZpY2F0
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ2
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tOiAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRl
cmZhY2UpOiBJbml0aWFsaXplCisgICAgICAgIGEgV0tTSSBmdW5jdGlvbiB3ZSd2ZSBiZWVuIG1p
c3NpbmcuCisKIDIwMTItMTItMTkgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBJbXBsZW1lbnQgQ1NTIHBhcnNpbmcgZm9yIENTUyB0cmFuc2l0aW9ucyB1bnBy
ZWZpeGVkLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQkocmV2aXNpb24gMTM4MTczKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC01OCw2ICs1OCw3IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9p
ZCkKICAgICBJTklUKENvcHlDRkxvY2FsaXphdGlvblByZWZlcnJlZE5hbWUpOwogICAgIElOSVQo
Q29weUNPTk5FQ1RQcm94eVJlc3BvbnNlKTsKICAgICBJTklUKENvcHlOU1VSTFJlc3BvbnNlU3Rh
dHVzTGluZSk7CisgICAgSU5JVChDb3B5TlNVUkxSZXNwb25zZUNlcnRpZmljYXRlQ2hhaW4pOwog
ICAgIElOSVQoQ3JlYXRlQ3VzdG9tQ0ZSZWFkU3RyZWFtKTsKICAgICBJTklUKENyZWF0ZU5TVVJM
Q29ubmVjdGlvbkRlbGVnYXRlUHJveHkpOwogICAgIElOSVQoRHJhd0NhcHNMb2NrSW5kaWNhdG9y
KTsK
</data>
<flag name="review"
          id="197452"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>