<?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>92320</bug_id>
          
          <creation_ts>2012-07-25 17:00:47 -0700</creation_ts>
          <short_desc>HTMLAppletElement should inherit from HTMLPlugInImageElement</short_desc>
          <delta_ts>2012-07-27 09:40:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>678637</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-25 17:00:47 -0700</bug_when>
    <thetext>HTMLAppletElement should inherit from HTMLPlugInImageElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678645</commentid>
    <comment_count>1</comment_count>
      <attachid>154495</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-25 17:05:21 -0700</bug_when>
    <thetext>Created attachment 154495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678680</commentid>
    <comment_count>2</comment_count>
      <attachid>154495</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-25 17:58:52 -0700</bug_when>
    <thetext>Comment on attachment 154495
Patch

Attachment 154495 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13339446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678713</commentid>
    <comment_count>3</comment_count>
      <attachid>154495</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-25 18:32:37 -0700</bug_when>
    <thetext>Comment on attachment 154495
Patch

Attachment 154495 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13341441</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678751</commentid>
    <comment_count>4</comment_count>
      <attachid>154495</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-25 19:10:44 -0700</bug_when>
    <thetext>Comment on attachment 154495
Patch

Attachment 154495 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13345437</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678808</commentid>
    <comment_count>5</comment_count>
      <attachid>154495</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-25 19:57:56 -0700</bug_when>
    <thetext>Comment on attachment 154495
Patch

Attachment 154495 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13349460</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678838</commentid>
    <comment_count>6</comment_count>
      <attachid>154495</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-07-25 21:19:09 -0700</bug_when>
    <thetext>Comment on attachment 154495
Patch

Attachment 154495 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13341491</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679771</commentid>
    <comment_count>7</comment_count>
      <attachid>154753</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-26 14:30:41 -0700</bug_when>
    <thetext>Created attachment 154753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679779</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-26 14:40:30 -0700</bug_when>
    <thetext>So &lt;applet&gt; is only for java-plugin content, right?  And &lt;embed&gt; is only for other plugins? And &lt;object&gt; is for both plugins and images?  Is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679780</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-26 14:41:39 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; So &lt;applet&gt; is only for java-plugin content, right?  And &lt;embed&gt; is only for other plugins? And &lt;object&gt; is for both plugins and images?  Is that correct?

This is partly true, except that Java applets can be instantiated with &lt;embed&gt; and &lt;object&gt; as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679783</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-26 14:43:47 -0700</bug_when>
    <thetext>So it seems the only trick in validating this patch is that we didn&apos;t give &lt;applet&gt; too many powers its not supposed to have, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679785</commentid>
    <comment_count>11</comment_count>
      <attachid>154753</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-26 14:47:07 -0700</bug_when>
    <thetext>Comment on attachment 154753
Patch

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

This seems reasonable to me.  It&apos;s very difficult to verify that this is correct from just seeing the code.  I hope we have testing... :)

&gt; Source/WebCore/html/HTMLAppletElement.cpp:42
&gt; +    : HTMLPlugInImageElement(tagName, document, createdByParser, ShouldNotPreferPlugInsForImages)

ShouldNotPreferPlugins?

&gt; Source/WebCore/html/HTMLAppletElement.cpp:153
&gt; +    renderer-&gt;setWidget(frame-&gt;loader()-&gt;subframeLoader()-&gt;createJavaAppletWidget(roundedIntSize(LayoutSize(contentWidth, contentHeight)), this, paramNames, paramValues));

Do we worry that we&apos;re now going to be exposing a different set of params to the java plugin? It&apos;s not clear to me that we are, but is one possible concern here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679787</commentid>
    <comment_count>12</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-26 14:50:14 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 154753 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154753&amp;action=review
&gt; 
&gt; This seems reasonable to me.  It&apos;s very difficult to verify that this is correct from just seeing the code.  I hope we have testing... :)
&gt; 
&gt; &gt; Source/WebCore/html/HTMLAppletElement.cpp:42
&gt; &gt; +    : HTMLPlugInImageElement(tagName, document, createdByParser, ShouldNotPreferPlugInsForImages)
&gt; 
&gt; ShouldNotPreferPlugins?

It doesn&apos;t really matter - it&apos;s impossible for an &lt;applet&gt; tag to end up creating an image.

&gt; 
&gt; &gt; Source/WebCore/html/HTMLAppletElement.cpp:153
&gt; &gt; +    renderer-&gt;setWidget(frame-&gt;loader()-&gt;subframeLoader()-&gt;createJavaAppletWidget(roundedIntSize(LayoutSize(contentWidth, contentHeight)), this, paramNames, paramValues));
&gt; 
&gt; Do we worry that we&apos;re now going to be exposing a different set of params to the java plugin? It&apos;s not clear to me that we are, but is one possible concern here.

Nah, the only thing that could break was if we had multiple parameters with the same names and different values but doing that is undefined behavior anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679828</commentid>
    <comment_count>13</comment_count>
      <attachid>154753</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-26 15:22:22 -0700</bug_when>
    <thetext>Comment on attachment 154753
Patch

Attachment 154753 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13374026</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679888</commentid>
    <comment_count>14</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-26 16:09:08 -0700</bug_when>
    <thetext>Committed r123811: &lt;http://trac.webkit.org/changeset/123811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680148</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-07-26 23:10:37 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Committed r123811: &lt;http://trac.webkit.org/changeset/123811&gt;

And Qt buildfix landed in http://trac.webkit.org/changeset/123838

Why do you break Qt build regularly and intentionally? Qt EWS was red,
EWS commented the bug, but you landed your wrong patch. Please don&apos;t do 
that next time.

https://www.webkit.org/coding/contributing.html
&quot;Your change must at least compile on all platforms.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680739</commentid>
    <comment_count>16</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-27 09:40:07 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; Committed r123811: &lt;http://trac.webkit.org/changeset/123811&gt;
&gt; 
&gt; And Qt buildfix landed in http://trac.webkit.org/changeset/123838
&gt; 
&gt; Why do you break Qt build regularly and intentionally? Qt EWS was red,
&gt; EWS commented the bug, but you landed your wrong patch. Please don&apos;t do 
&gt; that next time.
&gt; 

I did fix the error the bot reported, but there were more errors that weren&apos;t reported by the EWS bot.

The code is correct - this is a bug in the compiler which is why none of the other builds broke. Maybe if you switched to a better compiler I&apos;d stop &quot;intentionally breaking the build&quot; ;)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154495</attachid>
            <date>2012-07-25 17:05:21 -0700</date>
            <delta_ts>2012-07-26 14:30:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92320-20120725170511.patch</filename>
            <type>text/plain</type>
            <size>5678</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNhNzVlZGZlN2ZlY2Fk
Y2FjOGU2YTYzOGZiYjEzMTQ5NjdkOWQzOC4uODViN2Q5YTYxNTQ0Mjc5OTU0ZGJjMWQ4MzZhMmQw
MWM3ZTI4ZDI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA3LTI1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTEFwcGxldEVs
ZW1lbnQgc2hvdWxkIGluaGVyaXQgZnJvbSBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIHNpbXBs
aWZ5IHRoZSBjbGFzcyBoaWVyYXJjaHkgYW5kIGV2ZW50dWFsbHkgbWVyZ2UgSFRNTFBsdWdJbklt
YWdlRWxlbWVudCBhbmQgSE1UTFBsdWdJbkVsZW1lbnQsCisgICAgICAgIG1ha2UgSFRNTEFwcGxl
dEVsZW1lbnQgaW5oZXJpdCBmcm9tIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuIFdoaWxlIHRoaXMg
ZG9lcyBtZWFuIHRoYXQgSFRNTEFwcGxldEVsZW1lbnQgd2lsbCBncm93IGJ5CisgICAgICAgIGEg
Y291cGxlIG9mIHdvcmRzLCBpbiBwcmFjdGljZSBpdCB3b24ndCBtYXR0ZXIuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0hUTUxBcHBsZXRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50OjpIVE1MQXBwbGV0RWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6dXBkYXRlV2lkZ2V0KToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxBcHBsZXRFbGVtZW50KToKKwogMjAxMi0wNy0yNCAgU2hhd24gU2luZ2ggIDxzaGF3bnNp
bmdoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlZmFjdG9yIENDTGF5ZXJU
cmVlSG9zdENvbW1vbjogbW92ZSByb290IGxheWVyIHNwZWNpYWwgY2FzZSBpbml0aWFsaXphdGlv
biBpbnRvIGludGVybmFsIGNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBcHBsZXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1l
bnQuY3BwCmluZGV4IDljN2ViNWQ1NTU0MDk3MDRiZmJjNjllNDRiNDFkYzlkYWYyNGUxYTMuLmE1
NGY4NzQ4YTlkYTZkYTcwNzljMWMyNzY2MTViMjczNzE3YjFlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCkBAIC0zNiwxNSArMzYsMTUgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1pbmxpbmUgSFRNTEFw
cGxldEVsZW1lbnQ6OkhUTUxBcHBsZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IEhUTUxQbHVnSW5FbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQoraW5saW5lIEhUTUxBcHBsZXRFbGVtZW50OjpIVE1MQXBwbGV0RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3Jl
YXRlZEJ5UGFyc2VyKQorICAgIDogSFRNTFBsdWdJbkltYWdlRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCwgY3JlYXRlZEJ5UGFyc2VyLCBTaG91bGROb3RQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGFwcGxldFRhZykpOwogfQogCi1QYXNzUmVmUHRyPEhU
TUxBcHBsZXRFbGVtZW50PiBIVE1MQXBwbGV0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK1Bhc3NSZWZQdHI8SFRNTEFwcGxl
dEVsZW1lbnQ+IEhUTUxBcHBsZXRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxBcHBsZXRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQXBwbGV0RWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCwgY3JlYXRlZEJ5UGFyc2VyKSk7CiB9CiAKIHZvaWQgSFRNTEFwcGxldEVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQpAQCAtNTYsMTUgKzU2
LDE3IEBAIHZvaWQgSFRNTEFwcGxldEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJp
YnV0ZSYgYXR0cmlidXRlKQogICAgICAgICB8fCBhdHRyaWJ1dGUubmFtZSgpID09IG1heXNjcmlw
dEF0dHIKICAgICAgICAgfHwgYXR0cmlidXRlLm5hbWUoKSA9PSBvYmplY3RBdHRyKSB7CiAgICAg
ICAgIC8vIERvIG5vdGhpbmcuCi0gICAgfSBlbHNlCi0gICAgICAgIEhUTUxQbHVnSW5FbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKTsKIH0K
IAogYm9vbCBIVE1MQXBwbGV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVu
ZGVyaW5nQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBpZiAoIWZhc3RIYXNBdHRyaWJ1dGUoY29k
ZUF0dHIpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEhUTUxQbHVnSW5FbGVt
ZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnRleHQpOworICAgIHJldHVybiBIVE1MUGx1Z0luSW1h
Z2VFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnRleHQpOwogfQogCiBSZW5kZXJPYmplY3Qq
IEhUTUxBcHBsZXRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0
eWxlKiBzdHlsZSkKQEAgLTEyMyw2ICsxMjUsMTEgQEAgUmVuZGVyV2lkZ2V0KiBIVE1MQXBwbGV0
RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpCiAgICAgcmV0dXJuIGFwcGxldDsK
IH0KIAordm9pZCBIVE1MQXBwbGV0RWxlbWVudDo6dXBkYXRlV2lkZ2V0KFBsdWdpbkNyZWF0aW9u
T3B0aW9uKQoreworICAgIC8vIEZJWE1FOiBUaGUgYXBwbGV0IHNob3VsZCBiZSBjcmVhdGVkIGhl
cmUsIG5vdCBpbiBSZW5kZXJBcHBsZXQuCit9CisKIGJvb2wgSFRNTEFwcGxldEVsZW1lbnQ6OmNh
bkVtYmVkSmF2YSgpIGNvbnN0CiB7CiAgICAgaWYgKGRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNh
bmRib3hQbHVnaW5zKSkKQEAgLTE0MSwxMiArMTQ4LDQgQEAgYm9vbCBIVE1MQXBwbGV0RWxlbWVu
dDo6Y2FuRW1iZWRKYXZhKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBIVE1M
QXBwbGV0RWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCkKLXsKLSAgICAvLyBUaGUgcGFy
c2VyIGp1c3QgcmVhY2hlZCA8L2FwcGxldD4sIHNvIGFsbCB0aGUgcGFyYW1zIGFyZSBhdmFpbGFi
bGUgbm93LgotICAgIEhUTUxQbHVnSW5FbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsK
LSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQo
dHJ1ZSk7IC8vIFRoaXMgd2lsbCBjYXVzZSBpdCB0byBjcmVhdGUgaXRzIHdpZGdldCAmIHRoZSBK
YXZhIGFwcGxldAotfQotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
cHBsZXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgK
aW5kZXggZDNmZjY0MzhmMDM4Y2JiNjIxMzY4NzhhM2JhZGQ1YWVlMzVmOGY4Yy4uZDAzZjZhOWM4
MjVhNDcxZDE4ZDAzZTA3YmQ0MjcxOTAzZDAzYjg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFwcGxldEVsZW1lbnQuaApAQCAtMjMsMjcgKzIzLDI4IEBACiAjaWZuZGVmIEhUTUxBcHBsZXRF
bGVtZW50X2gKICNkZWZpbmUgSFRNTEFwcGxldEVsZW1lbnRfaAogCi0jaW5jbHVkZSAiSFRNTFBs
dWdJbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTEFwcGxldEVsZW1lbnQgOiBwdWJsaWMgSFRN
TFBsdWdJbkVsZW1lbnQgeworY2xhc3MgSFRNTEFwcGxldEVsZW1lbnQgOiBwdWJsaWMgSFRNTFBs
dWdJbkltYWdlRWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTEFw
cGxldEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQXBwbGV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKIAogcHJpdmF0ZToK
LSAgICBIVE1MQXBwbGV0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
KyAgICBIVE1MQXBwbGV0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBi
b29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJikgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCBib29sIHJlbmRl
cmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmKTsKLSAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwot
ICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKKyAgICB2aXJ0dWFsIGJv
b2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSos
IFJlbmRlclN0eWxlKikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCopOworICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0
Rm9ySlNCaW5kaW5ncygpOwogCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVdpZGdldChQbHVnaW5D
cmVhdGlvbk9wdGlvbikgT1ZFUlJJREU7CisKICAgICB2b2lkIHNldHVwQXBwbGV0KCkgY29uc3Q7
CiAgICAgYm9vbCBjYW5FbWJlZEphdmEoKSBjb25zdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154753</attachid>
            <date>2012-07-26 14:30:41 -0700</date>
            <delta_ts>2012-07-26 15:22:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92320-20120726143032.patch</filename>
            <type>text/plain</type>
            <size>25950</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFkNTA1YmJmZmZiNjAy
ZGQxMDA2ZDJlMTQ5MGU3NmEwOTdhOGNlZC4uYmY2YmY1OGFkOGY1Y2ExMDgyNzIxZjBjZjAzZTZm
OTg2ZDEyNGU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA3LTI2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgSFRNTEFwcGxldEVs
ZW1lbnQgc2hvdWxkIGluaGVyaXQgZnJvbSBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjMyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIHNpbXBs
aWZ5IHRoZSBjbGFzcyBoaWVyYXJjaHkgYW5kIGV2ZW50dWFsbHkgbWVyZ2UgSFRNTFBsdWdJbklt
YWdlRWxlbWVudCBhbmQgSE1UTFBsdWdJbkVsZW1lbnQsCisgICAgICAgIG1ha2UgSFRNTEFwcGxl
dEVsZW1lbnQgaW5oZXJpdCBmcm9tIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuIFdoaWxlIHRoaXMg
ZG9lcyBtZWFuIHRoYXQgSFRNTEFwcGxldEVsZW1lbnQgd2lsbCBncm93IGJ5CisgICAgICAgIGEg
Y291cGxlIG9mIHdvcmRzLCBpbiBwcmFjdGljZSBpdCB3b24ndCBtYXR0ZXIuCisKKyAgICAgICAg
QWxzbywgbWFrZSBSZW5kZXJBcHBsZXQgaW5oZXJpdCBmcm9tIFJlbmRlckVtYmVkZGVkT2JqZWN0
IGFuZCBtb3ZlIHRoZSBwbHVnLWluIGluc3RhbnRpYXRpb24gdG8gSFRNTEFwcGxldEVsZW1lbnQg
d2hpY2ggbWF0Y2hlcworICAgICAgICBib3RoIEhUTUxFbWJlZEVsZW1lbnQgYW5kIEhUTUxPYmpl
Y3RFbGVtZW50LgorCisgICAgICAgICogaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6SFRNTEFwcGxldEVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFwcGxldEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFwcGxldEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpT
QmluZGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OnVwZGF0ZVdp
ZGdldCk6CisgICAgICAgICogaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5oOgorICAgICAgICAoSFRN
TEFwcGxldEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRhZ05hbWVzLmluOgorICAgICAg
ICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFt
ZUxvYWRlcjo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldCk6CisgICAgICAgICogbG9hZGVyL1N1YmZy
YW1lTG9hZGVyLmg6CisgICAgICAgIChTdWJmcmFtZUxvYWRlcik6CisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVXaWRnZXQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBcHBsZXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQXBwbGV0OjpSZW5kZXJBcHBsZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJBcHBsZXQuaDoKKyAgICAgICAgKFJlbmRlckFwcGxldCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckVtYmVkZGVkT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b1JlbmRlckVtYmVk
ZGVkT2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlU2VsZlBhaW50aW5nTGF5ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQ
bHVnaW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oOgorCiAyMDEyLTA3LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEhyZWYgYXR0cmlidXRlIHdpdGggamF2YXNjcmlwdCBwcm90b2NvbCBp
cyBzdHJpcHBlZCB3aGVuIGNvbnRlbnQgaXMgcGFzdGVkIGludG8gYSBYTUwgZG91Y21lbnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAKaW5kZXggOWM3ZWI1ZDU1NTQw
OTcwNGJmYmM2OWU0NGI0MWRjOWRhZjI0ZTFhMy4uNTM1YjlhOWJlODg1MTgxNmE4MTUxM2I3YWQ1
ZWEzNTA3NDljMWY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5j
cHAKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25v
bGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlz
dG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwMCBTdGVmYW4gU2NoaW1hbnNraSAoMVN0
ZWluQGdteC5kZSkKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI1LDggKzI1LDEwIEBACiAjaW5jbHVk
ZSAiSFRNTEFwcGxldEVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcmFtRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckFw
cGxldC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKQEAgLTM2LDE1ICszOCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiAKLWlubGluZSBIVE1MQXBwbGV0RWxlbWVudDo6SFRNTEFwcGxldEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQot
ICAgIDogSFRNTFBsdWdJbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCitIVE1MQXBwbGV0RWxl
bWVudDo6SFRNTEFwcGxldEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKKyAgICA6IEhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlciwgU2hvdWxkTm90
UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhcHBsZXRU
YWcpKTsKIH0KIAotUGFzc1JlZlB0cjxIVE1MQXBwbGV0RWxlbWVudD4gSFRNTEFwcGxldEVsZW1l
bnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCitQYXNzUmVmUHRyPEhUTUxBcHBsZXRFbGVtZW50PiBIVE1MQXBwbGV0RWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9v
bCBjcmVhdGVkQnlQYXJzZXIpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MQXBwbGV0
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRN
TEFwcGxldEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlcikpOwogfQog
CiB2b2lkIEhUTUxBcHBsZXRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUm
IGF0dHJpYnV0ZSkKQEAgLTU2LDcxICs1OCw5OSBAQCB2b2lkIEhUTUxBcHBsZXRFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICAgICAgfHwgYXR0
cmlidXRlLm5hbWUoKSA9PSBtYXlzY3JpcHRBdHRyCiAgICAgICAgIHx8IGF0dHJpYnV0ZS5uYW1l
KCkgPT0gb2JqZWN0QXR0cikgewogICAgICAgICAvLyBEbyBub3RoaW5nLgotICAgIH0gZWxzZQot
ICAgICAgICBIVE1MUGx1Z0luRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGF0dHJpYnV0ZSk7CiB9CiAKIGJvb2wgSFRNTEFwcGxldEVsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCiB7CiAgICAg
aWYgKCFmYXN0SGFzQXR0cmlidXRlKGNvZGVBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIHJldHVybiBIVE1MUGx1Z0luRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb250ZXh0KTsK
KyAgICByZXR1cm4gSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb250
ZXh0KTsKIH0KIAogUmVuZGVyT2JqZWN0KiBIVE1MQXBwbGV0RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCiB7Ci0gICAgaWYgKGNhbkVtYmVk
SmF2YSgpKSB7Ci0gICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGFyZ3M7CisgICAgaWYg
KCFjYW5FbWJlZEphdmEoKSkKKyAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2Jq
ZWN0KHRoaXMsIHN0eWxlKTsKKworICAgIHJldHVybiBuZXcgKGRvY3VtZW50KCktPnJlbmRlckFy
ZW5hKCkpIFJlbmRlckFwcGxldCh0aGlzKTsKK30KKworUmVuZGVyV2lkZ2V0KiBIVE1MQXBwbGV0
RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpCit7CisgICAgaWYgKCFjYW5FbWJl
ZEphdmEoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAgICAgYXJncy5zZXQoImNvZGUiLCBn
ZXRBdHRyaWJ1dGUoY29kZUF0dHIpKTsKKyAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICByZXR1cm4gcmVuZGVyUGFydCgpOworfQogCi0g
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY29kZUJhc2UgPSBnZXRBdHRyaWJ1dGUoY29kZWJh
c2VBdHRyKTsKLSAgICAgICAgaWYgKCFjb2RlQmFzZS5pc051bGwoKSkKLSAgICAgICAgICAgIGFy
Z3Muc2V0KCJjb2RlQmFzZSIsIGNvZGVCYXNlKTsKK3ZvaWQgSFRNTEFwcGxldEVsZW1lbnQ6OnVw
ZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9wdGlvbikKK3sKKyAgICBzZXROZWVkc1dpZGdldFVw
ZGF0ZShmYWxzZSk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIEFTU0VSVCBpc0ZpbmlzaGVk
UGFyc2luZ0NoaWxkcmVuKCkgaW5zdGVhZC4KKyAgICBpZiAoIWlzRmluaXNoZWRQYXJzaW5nQ2hp
bGRyZW4oKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSA9IGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgPyBnZXROYW1lQXR0cmlidXRlKCkg
OiBnZXRJZEF0dHJpYnV0ZSgpOwotICAgICAgICBpZiAoIW5hbWUuaXNOdWxsKCkpCi0gICAgICAg
ICAgICBhcmdzLnNldCgibmFtZSIsIG5hbWUpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGFyY2hpdmUgPSBnZXRBdHRyaWJ1dGUoYXJjaGl2ZUF0dHIpOwotICAgICAgICBpZiAoIWFyY2hp
dmUuaXNOdWxsKCkpCi0gICAgICAgICAgICBhcmdzLnNldCgiYXJjaGl2ZSIsIGFyY2hpdmUpOwor
ICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0KiByZW5kZXJlciA9IHJlbmRlckVtYmVkZGVkT2JqZWN0
KCk7CiAKLSAgICAgICAgYXJncy5zZXQoImJhc2VVUkwiLCBkb2N1bWVudCgpLT5iYXNlVVJMKCku
c3RyaW5nKCkpOworICAgIExheW91dFVuaXQgY29udGVudFdpZHRoID0gcmVuZGVyZXItPnN0eWxl
KCktPndpZHRoKCkuaXNGaXhlZCgpID8gTGF5b3V0VW5pdChyZW5kZXJlci0+c3R5bGUoKS0+d2lk
dGgoKS52YWx1ZSgpKSA6CisgICAgICAgIHJlbmRlcmVyLT53aWR0aCgpIC0gcmVuZGVyZXItPmJv
cmRlckFuZFBhZGRpbmdXaWR0aCgpOworICAgIExheW91dFVuaXQgY29udGVudEhlaWdodCA9IHJl
bmRlcmVyLT5zdHlsZSgpLT5oZWlnaHQoKS5pc0ZpeGVkKCkgPyBMYXlvdXRVbml0KHJlbmRlcmVy
LT5zdHlsZSgpLT5oZWlnaHQoKS52YWx1ZSgpKSA6CisgICAgICAgIHJlbmRlcmVyLT5oZWlnaHQo
KSAtIHJlbmRlcmVyLT5ib3JkZXJBbmRQYWRkaW5nSGVpZ2h0KCk7CiAKLSAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBtYXlTY3JpcHQgPSBnZXRBdHRyaWJ1dGUobWF5c2NyaXB0QXR0cik7Ci0g
ICAgICAgIGlmICghbWF5U2NyaXB0LmlzTnVsbCgpKQotICAgICAgICAgICAgYXJncy5zZXQoIm1h
eVNjcmlwdCIsIG1heVNjcmlwdCk7CisgICAgVmVjdG9yPFN0cmluZz4gcGFyYW1OYW1lczsKKyAg
ICBWZWN0b3I8U3RyaW5nPiBwYXJhbVZhbHVlczsKIAotICAgICAgICAvLyBPdGhlciBhcmd1bWVu
dHMgKGZyb20gPFBBUkFNPiB0YWdzKSBhcmUgYWRkZWQgbGF0ZXIuCi0gICAgICAgIAotICAgICAg
ICByZXR1cm4gbmV3IChkb2N1bWVudCgpLT5yZW5kZXJBcmVuYSgpKSBSZW5kZXJBcHBsZXQodGhp
cywgYXJncyk7CisgICAgcGFyYW1OYW1lcy5hcHBlbmQoImNvZGUiKTsKKyAgICBwYXJhbVZhbHVl
cy5hcHBlbmQoZ2V0QXR0cmlidXRlKGNvZGVBdHRyKSk7CisKKyAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGNvZGVCYXNlID0gZ2V0QXR0cmlidXRlKGNvZGViYXNlQXR0cik7CisgICAgaWYgKCFjb2Rl
QmFzZS5pc051bGwoKSkgeworICAgICAgICBwYXJhbU5hbWVzLmFwcGVuZCgiY29kZUJhc2UiKTsK
KyAgICAgICAgcGFyYW1WYWx1ZXMuYXBwZW5kKGNvZGVCYXNlKTsKICAgICB9CiAKLSAgICByZXR1
cm4gUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QodGhpcywgc3R5bGUpOwotfQorICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSA9IGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgPyBnZXRO
YW1lQXR0cmlidXRlKCkgOiBnZXRJZEF0dHJpYnV0ZSgpOworICAgIGlmICghbmFtZS5pc051bGwo
KSkgeworICAgICAgICBwYXJhbU5hbWVzLmFwcGVuZCgibmFtZSIpOworICAgICAgICBwYXJhbVZh
bHVlcy5hcHBlbmQobmFtZSk7CisgICAgfQogCi12b2lkIEhUTUxBcHBsZXRFbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKLXsKLSAgICBSZW5kZXJPYmplY3QqIHIgPSBy
ZW5kZXJlcigpOwotICAgIGlmICghciB8fCAhci0+aXNXaWRnZXQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIFdpZGdldCogd2lkZ2V0ID0gdG9SZW5kZXJXaWRnZXQociktPndpZGdldCgpOwotICAg
IGlmICghd2lkZ2V0KQotICAgICAgICByZXR1cm47Ci0gICAgd2lkZ2V0LT5oYW5kbGVFdmVudChl
dmVudCk7Ci19CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmNoaXZlID0gZ2V0QXR0cmlidXRl
KGFyY2hpdmVBdHRyKTsKKyAgICBpZiAoIWFyY2hpdmUuaXNOdWxsKCkpIHsKKyAgICAgICAgcGFy
YW1OYW1lcy5hcHBlbmQoImFyY2hpdmUiKTsKKyAgICAgICAgcGFyYW1WYWx1ZXMuYXBwZW5kKGFy
Y2hpdmUpOworICAgIH0KIAotUmVuZGVyV2lkZ2V0KiBIVE1MQXBwbGV0RWxlbWVudDo6cmVuZGVy
V2lkZ2V0Rm9ySlNCaW5kaW5ncygpCi17Ci0gICAgaWYgKCFjYW5FbWJlZEphdmEoKSkKLSAgICAg
ICAgcmV0dXJuIDA7CisgICAgcGFyYW1OYW1lcy5hcHBlbmQoImJhc2VVUkwiKTsKKyAgICBwYXJh
bVZhbHVlcy5hcHBlbmQoZG9jdW1lbnQoKS0+YmFzZVVSTCgpLnN0cmluZygpKTsKIAotICAgIGlm
ICghcmVuZGVyZXIoKSB8fCAhcmVuZGVyZXIoKS0+aXNBcHBsZXQoKSkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBtYXlTY3JpcHQgPSBnZXRBdHRyaWJ1dGUobWF5
c2NyaXB0QXR0cik7CisgICAgaWYgKCFtYXlTY3JpcHQuaXNOdWxsKCkpIHsKKyAgICAgICAgcGFy
YW1OYW1lcy5hcHBlbmQoIm1heVNjcmlwdCIpOworICAgICAgICBwYXJhbVZhbHVlcy5hcHBlbmQo
bWF5U2NyaXB0KTsKKyAgICB9CisKKyAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAoIWNo
aWxkLT5oYXNUYWdOYW1lKHBhcmFtVGFnKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIEhUTUxQYXJhbUVsZW1lbnQqIHBhcmFtID0gc3RhdGljX2Nhc3Q8SFRNTFBhcmFtRWxlbWVu
dCo+KGNoaWxkKTsKKyAgICAgICAgaWYgKHBhcmFtLT5uYW1lKCkuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgcGFyYW1OYW1lcy5hcHBlbmQocGFyYW0tPm5hbWUo
KSk7CisgICAgICAgIHBhcmFtVmFsdWVzLmFwcGVuZChwYXJhbS0+dmFsdWUoKSk7CisgICAgfQog
Ci0gICAgUmVuZGVyQXBwbGV0KiBhcHBsZXQgPSB0b1JlbmRlckFwcGxldChyZW5kZXJlcigpKTsK
LSAgICBhcHBsZXQtPmNyZWF0ZVdpZGdldElmTmVjZXNzYXJ5KCk7Ci0gICAgcmV0dXJuIGFwcGxl
dDsKKyAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpOworICAgIEFTU0VSVChm
cmFtZSk7CisKKyAgICByZW5kZXJlci0+c2V0V2lkZ2V0KGZyYW1lLT5sb2FkZXIoKS0+c3ViZnJh
bWVMb2FkZXIoKS0+Y3JlYXRlSmF2YUFwcGxldFdpZGdldChyb3VuZGVkSW50U2l6ZShMYXlvdXRT
aXplKGNvbnRlbnRXaWR0aCwgY29udGVudEhlaWdodCkpLCB0aGlzLCBwYXJhbU5hbWVzLCBwYXJh
bVZhbHVlcykpOwogfQogCiBib29sIEhUTUxBcHBsZXRFbGVtZW50OjpjYW5FbWJlZEphdmEoKSBj
b25zdApAQCAtMTQxLDEyICsxNzEsNCBAQCBib29sIEhUTUxBcHBsZXRFbGVtZW50OjpjYW5FbWJl
ZEphdmEoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEhUTUxBcHBsZXRFbGVt
ZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQotewotICAgIC8vIFRoZSBwYXJzZXIganVzdCBy
ZWFjaGVkIDwvYXBwbGV0Piwgc28gYWxsIHRoZSBwYXJhbXMgYXJlIGF2YWlsYWJsZSBub3cuCi0g
ICAgSFRNTFBsdWdJbkVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwotICAgIGlmIChy
ZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsgLy8g
VGhpcyB3aWxsIGNhdXNlIGl0IHRvIGNyZWF0ZSBpdHMgd2lkZ2V0ICYgdGhlIEphdmEgYXBwbGV0
Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaAppbmRleCBkM2Zm
NjQzOGYwMzhjYmI2MjEzNjg3OGEzYmFkZDVhZWUzNWY4ZjhjLi5lZTRlMzBjZjBkZjA1M2Y2MDBi
ZjUzNzU0YjJiODc2Yzk5NDA4NDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBcHBsZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxl
bWVudC5oCkBAIC0yMywyOCArMjMsMjUgQEAKICNpZm5kZWYgSFRNTEFwcGxldEVsZW1lbnRfaAog
I2RlZmluZSBIVE1MQXBwbGV0RWxlbWVudF9oCiAKLSNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVu
dC5oIgorI2luY2x1ZGUgIkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBIVE1MQXBwbGV0RWxlbWVudCA6IHB1YmxpYyBIVE1MUGx1Z0luRWxl
bWVudCB7CitjbGFzcyBIVE1MQXBwbGV0RWxlbWVudCA6IHB1YmxpYyBIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MQXBwbGV0RWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEhUTUxBcHBsZXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCiBwcml2YXRlOgotICAgIEhUTUxB
cHBsZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworICAgIEhUTUxB
cHBsZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wgY3JlYXRl
ZEJ5UGFyc2VyKTsKIAogICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRy
aWJ1dGUmKSBPVkVSUklERTsKICAgICAKLSAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpOwotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgdmlydHVh
bCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwotCi0gICAgdmlydHVhbCB2b2lkIGRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgUmVu
ZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKikgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0Rm9ySlNCaW5k
aW5ncygpOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRp
b24pIE9WRVJSSURFOwogCi0gICAgdm9pZCBzZXR1cEFwcGxldCgpIGNvbnN0OwogICAgIGJvb2wg
Y2FuRW1iZWRKYXZhKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVnaXN0ZXJB
c05hbWVkSXRlbSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGFnTmFtZXMuaW4KaW5kZXggYzQwNjcyODYzODdjYmJlZjBiYjY4N2Y3ZDNhNTNkZWU5
NmY2M2E4Yy4uMzY2MGFiOTQ4ZTA3ODc4OTc0N2JjYWViZWU1ZDBiNjk4Y2YzNWFmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KQEAgLTcsNyArNyw3IEBAIGEgaW50ZXJmYWNlTmFt
ZT1IVE1MQW5jaG9yRWxlbWVudAogYWJiciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBhY3Jv
bnltIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFkZHJlc3MgaW50ZXJmYWNlTmFtZT1IVE1M
RWxlbWVudAotYXBwbGV0CithcHBsZXQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgog
YXJlYQogYXJ0aWNsZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBhc2lkZSBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApp
bmRleCA1MTUzZjRlZjRiMTZhZjhlMDhkMDA5MmRjMTRmMmFjMTIxOTU4MzBiLi4yODA5MDhhMjJk
MzJmYzM1Mjk1OTM0ZWJhNGM2MmRmYTFkYmNlOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAKQEAgLTE5OSwyMCArMTk5LDE2IEBAIFBhc3NSZWZQdHI8V2lkZ2V0
PiBTdWJmcmFtZUxvYWRlcjo6bG9hZE1lZGlhUGxheWVyUHJveHlQbHVnaW4oTm9kZSogbm9kZSwg
Y29uc3QKIH0KICNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKIAotUGFz
c1JlZlB0cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNv
bnN0IExheW91dFNpemUmIHNpemUsIEhUTUxBcHBsZXRFbGVtZW50KiBlbGVtZW50LCBjb25zdCBI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiYgYXJncykKK1Bhc3NSZWZQdHI8V2lkZ2V0PiBTdWJmcmFt
ZUxvYWRlcjo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiBzaXplLCBIVE1M
QXBwbGV0RWxlbWVudCogZWxlbWVudCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcykKIHsKICAgICBTdHJpbmcgYmFzZVVS
TFN0cmluZzsKICAgICBTdHJpbmcgY29kZUJhc2VVUkxTdHJpbmc7Ci0gICAgVmVjdG9yPFN0cmlu
Zz4gcGFyYW1OYW1lczsKLSAgICBWZWN0b3I8U3RyaW5nPiBwYXJhbVZhbHVlczsKLSAgICBIYXNo
TWFwPFN0cmluZywgU3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gYXJncy5lbmQoKTsKLSAg
ICBmb3IgKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGFyZ3Mu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShpdC0+Zmlyc3QsICJiYXNldXJsIikpCi0gICAgICAgICAgICBiYXNlVVJMU3RyaW5nID0gaXQt
PnNlY29uZDsKLSAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoaXQtPmZpcnN0LCAi
Y29kZWJhc2UiKSkKLSAgICAgICAgICAgIGNvZGVCYXNlVVJMU3RyaW5nID0gaXQtPnNlY29uZDsK
LSAgICAgICAgcGFyYW1OYW1lcy5hcHBlbmQoaXQtPmZpcnN0KTsKLSAgICAgICAgcGFyYW1WYWx1
ZXMuYXBwZW5kKGl0LT5zZWNvbmQpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJh
bU5hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwYXJh
bU5hbWVzW2ldLCAiYmFzZXVybCIpKQorICAgICAgICAgICAgYmFzZVVSTFN0cmluZyA9IHBhcmFt
VmFsdWVzW2ldOworICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwYXJhbU5hbWVz
W2ldLCAiY29kZWJhc2UiKSkKKyAgICAgICAgICAgIGNvZGVCYXNlVVJMU3RyaW5nID0gcGFyYW1W
YWx1ZXNbaV07CiAgICAgfQogCiAgICAgaWYgKCFjb2RlQmFzZVVSTFN0cmluZy5pc0VtcHR5KCkp
IHsKQEAgLTIzMiw3ICsyMjgsNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gU3ViZnJhbWVMb2FkZXI6
OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgTGF5b3V0U2l6ZSYgc2l6ZQogCiAgICAgUmVm
UHRyPFdpZGdldD4gd2lkZ2V0OwogICAgIGlmIChhbGxvd1BsdWdpbnMoQWJvdXRUb0luc3RhbnRp
YXRlUGx1Z2luKSkKLSAgICAgICAgd2lkZ2V0ID0gbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgp
LT5jcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KHJvdW5kZWRJbnRTaXplKHNpemUpLCBlbGVtZW50LCBi
YXNlVVJMLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcyk7CisgICAgICAgIHdpZGdldCA9IG1fZnJh
bWUtPmxvYWRlcigpLT5jbGllbnQoKS0+Y3JlYXRlSmF2YUFwcGxldFdpZGdldChzaXplLCBlbGVt
ZW50LCBiYXNlVVJMLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcyk7CiAgICAgaWYgKCF3aWRnZXQp
CiAgICAgICAgIHJldHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
U3ViZnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5o
CmluZGV4IDdmNjU1ODViNjY0MTY2NDE1Mjc2ZDg5ZWY5MDY2YTg2YzY3MmNjNTMuLmJjYzg5MDI1
ZDljMGQ3ODMxZGUyMGZiMzM2YmYwNGIxYzFkN2Y1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRy
PFdpZGdldD4gbG9hZE1lZGlhUGxheWVyUHJveHlQbHVnaW4oTm9kZSosIGNvbnN0IEtVUkwmLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBh
cmFtVmFsdWVzKTsKICNlbmRpZgogCi0gICAgUGFzc1JlZlB0cjxXaWRnZXQ+IGNyZWF0ZUphdmFB
cHBsZXRXaWRnZXQoY29uc3QgTGF5b3V0U2l6ZSYsIEhUTUxBcHBsZXRFbGVtZW50KiwgY29uc3Qg
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGFyZ3MpOworICAgIFBhc3NSZWZQdHI8V2lkZ2V0PiBj
cmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IEludFNpemUmLCBIVE1MQXBwbGV0RWxlbWVudCos
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
cGFyYW1WYWx1ZXMpOwogCiAgICAgYm9vbCBhbGxvd1BsdWdpbnMoUmVhc29uRm9yQ2FsbGluZ0Fs
bG93UGx1Z2lucyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBkZGMzYzI0MmM3
ZTkwZjM0MTA0ZTQzYzU2OWFlMjkzOWFiNmVkZDlhLi45MzE5OTk0OTU1NGNiYjAxMmYyYzE3Yzdl
OTRmOGVkOWIyMGYyZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMjk2LDcg
KzIyOTYsNyBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlV2lkZ2V0KFJlbmRlckVtYmVkZGVkT2Jq
ZWN0KiBvYmplY3QpCiAKICAgICAvLyBGSVhNRTogVGhpcyBjb3VsZCB0dXJuIGludG8gYSByZWFs
IHZpcnR1YWwgZGlzcGF0Y2ggaWYgd2UgZGVmaW5lZAogICAgIC8vIHVwZGF0ZVdpZGdldChQbHVn
aW5DcmVhdGlvbk9wdGlvbikgb24gSFRNTEVsZW1lbnQuCi0gICAgaWYgKG93bmVyRWxlbWVudC0+
aGFzVGFnTmFtZShvYmplY3RUYWcpIHx8IG93bmVyRWxlbWVudC0+aGFzVGFnTmFtZShlbWJlZFRh
ZykpIHsKKyAgICBpZiAob3duZXJFbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykgfHwgb3du
ZXJFbGVtZW50LT5oYXNUYWdOYW1lKGVtYmVkVGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05h
bWUoYXBwbGV0VGFnKSkgewogICAgICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBwbHVnaW5F
bGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTFBsdWdJbkltYWdlRWxlbWVudCo+KG93bmVyRWxlbWVu
dCk7CiAgICAgICAgIGlmIChwbHVnaW5FbGVtZW50LT5uZWVkc1dpZGdldFVwZGF0ZSgpKQogICAg
ICAgICAgICAgcGx1Z2luRWxlbWVudC0+dXBkYXRlV2lkZ2V0KENyZWF0ZUFueVdpZGdldFR5cGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNwcAppbmRleCAxYjhiNzVl
MTcwODVhMzA4YjU2ZDEzZTNlODVmYzJjNzMzMmI1NjMyLi4xMjA4MDg0MjAwZDAwYzM0NGVjZGUw
YjM2ZjllYzNkMWE2ZDhlYTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXBwbGV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBw
bGV0LmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBL
bm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIw
MDYsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0yMiwyMCArMjIsMTIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJSZW5kZXJBcHBsZXQuaCIKIAotI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRN
TEFwcGxldEVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJIVE1M
UGFyYW1FbGVtZW50LmgiCi0jaW5jbHVkZSAiUGx1Z2luVmlld0Jhc2UuaCIKLSNpbmNsdWRlICJX
aWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwotCi1SZW5kZXJBcHBsZXQ6OlJlbmRlckFwcGxldChIVE1MQXBwbGV0RWxlbWVudCogYXBw
bGV0LCBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgYXJncykKLSAgICA6IFJlbmRlcldp
ZGdldChhcHBsZXQpCi0gICAgLCBtX2FyZ3MoYXJncykKK1JlbmRlckFwcGxldDo6UmVuZGVyQXBw
bGV0KEhUTUxBcHBsZXRFbGVtZW50KiBhcHBsZXQpCisgICAgOiBSZW5kZXJFbWJlZGRlZE9iamVj
dChhcHBsZXQpCiB7CiAgICAgc2V0SW5saW5lKHRydWUpOwogfQpAQCAtNDQsNjcgKzM2LDQgQEAg
UmVuZGVyQXBwbGV0Ojp+UmVuZGVyQXBwbGV0KCkKIHsKIH0KIAotSW50U2l6ZSBSZW5kZXJBcHBs
ZXQ6OmludHJpbnNpY1NpemUoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3Qg
bWFrZSBzZW5zZS4gV2UgY2FuJ3QganVzdCBzdGFydCByZXR1cm5pbmcKLSAgICAvLyBhIGRpZmZl
cmVudCBzaXplIG9uY2Ugd2UndmUgY3JlYXRlZCB0aGUgd2lkZ2V0IGFuZCBleHBlY3QKLSAgICAv
LyBsYXlvdXQgYW5kIHNpemluZyB0byBiZSBjb3JyZWN0LiBXZSBzaG91bGQgcmVtb3ZlIHRoaXMg
YW5kCi0gICAgLy8gcGFzcyB0aGUgYXBwcm9wcmlhdGUgaW50cmluc2ljIHNpemUgaW4gdGhlIGNv
bnN0cnVjdG9yLgotICAgIHJldHVybiB3aWRnZXQoKSA/IEludFNpemUoNTAsIDUwKSA6IEludFNp
emUoMTUwLCAxNTApOwotfQotCi12b2lkIFJlbmRlckFwcGxldDo6Y3JlYXRlV2lkZ2V0SWZOZWNl
c3NhcnkoKQotewotICAgIEhUTUxBcHBsZXRFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8
SFRNTEFwcGxldEVsZW1lbnQqPihub2RlKCkpOwotICAgIGlmICh3aWRnZXQoKSB8fCAhZWxlbWVu
dC0+aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAv
LyBGSVhNRTogSmF2YSBhcHBsZXRzIGNhbid0IGJlIHJlc2l6ZWQgKHRoaXMgaXMgYSBidWcgaW4g
QXBwbGUncyBKYXZhIGltcGxlbWVudGF0aW9uKS4KLSAgICAvLyBJbiBvcmRlciB0byB3b3JrIGFy
b3VuZCB0aGlzIHByb2JsZW0gYW5kIGhhdmUgYSBjb3JyZWN0IHNpemUgZnJvbSB0aGUgc3RhcnQs
IHdlIHdpbGwKLSAgICAvLyB1c2UgZml4ZWQgd2lkdGhzL2hlaWdodHMgZnJvbSB0aGUgc3R5bGUg
c3lzdGVtIHdoZW4gd2UgY2FuLCBzaW5jZSB0aGUgd2lkZ2V0IG1pZ2h0Ci0gICAgLy8gbm90IGhh
dmUgYW4gYWNjdXJhdGUgbV93aWR0aC9tX2hlaWdodC4KLSAgICBMYXlvdXRVbml0IGNvbnRlbnRX
aWR0aCA9IHN0eWxlKCktPndpZHRoKCkuaXNGaXhlZCgpID8gTGF5b3V0VW5pdChzdHlsZSgpLT53
aWR0aCgpLnZhbHVlKCkpIDogCi0gICAgICAgIHdpZHRoKCkgLSBib3JkZXJBbmRQYWRkaW5nV2lk
dGgoKTsKLSAgICBMYXlvdXRVbml0IGNvbnRlbnRIZWlnaHQgPSBzdHlsZSgpLT5oZWlnaHQoKS5p
c0ZpeGVkKCkgPyBMYXlvdXRVbml0KHN0eWxlKCktPmhlaWdodCgpLnZhbHVlKCkpIDoKLSAgICAg
ICAgaGVpZ2h0KCkgLSBib3JkZXJBbmRQYWRkaW5nSGVpZ2h0KCk7Ci0gICAgZm9yIChOb2RlKiBj
aGlsZCA9IGVsZW1lbnQtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKHBhcmFtVGFnKSkgewot
ICAgICAgICAgICAgSFRNTFBhcmFtRWxlbWVudCogcCA9IHN0YXRpY19jYXN0PEhUTUxQYXJhbUVs
ZW1lbnQqPihjaGlsZCk7Ci0gICAgICAgICAgICBpZiAoIXAtPm5hbWUoKS5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICAgICAgbV9hcmdzLnNldChwLT5uYW1lKCksIHAtPnZhbHVlKCkpOwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKLSAgICBBU1NF
UlQoZnJhbWUpOwotICAgIHNldFdpZGdldChmcmFtZS0+bG9hZGVyKCktPnN1YmZyYW1lTG9hZGVy
KCktPmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoTGF5b3V0U2l6ZShjb250ZW50V2lkdGgsIGNvbnRl
bnRIZWlnaHQpLCBlbGVtZW50LCBtX2FyZ3MpKTsKLX0KLQotdm9pZCBSZW5kZXJBcHBsZXQ6Omxh
eW91dCgpCi17Ci0gICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwotCi0gICAgY29tcHV0ZUxvZ2lj
YWxXaWR0aCgpOwotICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7Ci0KLSAgICAvLyBUaGUgYXBw
bGV0J3Mgd2lkZ2V0IGdldHMgY3JlYXRlZCBsYXppbHkgdXBvbiBmaXJzdCBsYXlvdXQuCi0gICAg
Y3JlYXRlV2lkZ2V0SWZOZWNlc3NhcnkoKTsKLSAgICBzZXROZWVkc0xheW91dChmYWxzZSk7Ci19
Ci0KLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi1ib29sIFJlbmRlckFwcGxldDo6
cmVxdWlyZXNMYXllcigpIGNvbnN0Ci17Ci0gICAgaWYgKFJlbmRlcldpZGdldDo6cmVxdWlyZXNM
YXllcigpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAKLSAgICByZXR1cm4gYWxsb3dzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZygpOwotfQotCi1ib29sIFJlbmRlckFwcGxldDo6YWxsb3dzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHdpZGdldCgpICYmIHdp
ZGdldCgpLT5pc1BsdWdpblZpZXdCYXNlKCkgJiYgc3RhdGljX2Nhc3Q8UGx1Z2luVmlld0Jhc2Uq
Pih3aWRnZXQoKSktPnBsYXRmb3JtTGF5ZXIoKTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBw
bGV0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmgKaW5kZXggMDA3
OTAyZDFmMjUwYWM4YTcxNmEyZDQ5MDcxOGRjNWU0Mzk2YWFlMi4uMTUxNjYwMDY2M2QyZDc5YmNm
MmRlYTk5YWE5Mjg3MDNmZGFmNGFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckFwcGxldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJB
cHBsZXQuaApAQCAtMjIsNDggKzIyLDIxIEBACiAjaWZuZGVmIFJlbmRlckFwcGxldF9oCiAjZGVm
aW5lIFJlbmRlckFwcGxldF9oCiAKLSNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKLSNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3Qu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MQXBwbGV0RWxlbWVudDsKIAot
Y2xhc3MgUmVuZGVyQXBwbGV0IDogcHVibGljIFJlbmRlcldpZGdldCB7CitjbGFzcyBSZW5kZXJB
cHBsZXQgOiBwdWJsaWMgUmVuZGVyRW1iZWRkZWRPYmplY3QgewogcHVibGljOgotICAgIFJlbmRl
ckFwcGxldChIVE1MQXBwbGV0RWxlbWVudCosIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+
JiBhcmdzKTsKKyAgICBSZW5kZXJBcHBsZXQoSFRNTEFwcGxldEVsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5SZW5kZXJBcHBsZXQoKTsKIAotICAgIHZvaWQgY3JlYXRlV2lkZ2V0SWZOZWNlc3Nhcnko
KTsKLQotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICB2aXJ0dWFsIGJvb2wg
YWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0OwotI2VuZGlmCi0KIHByaXZhdGU6
CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJl
bmRlckFwcGxldCI7IH0KLQotICAgIHZpcnR1YWwgYm9vbCBpc0FwcGxldCgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKLSAgICB2aXJ0dWFsIElu
dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0OwotCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQotICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Q7Ci0jZW5kaWYK
LQotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1fYXJnczsKIH07CiAKLWlubGluZSBSZW5k
ZXJBcHBsZXQqIHRvUmVuZGVyQXBwbGV0KFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIEFT
U0VSVCghb2JqZWN0IHx8IG9iamVjdC0+aXNBcHBsZXQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PFJlbmRlckFwcGxldCo+KG9iamVjdCk7Ci19Ci0KLS8vIFRoaXMgd2lsbCBjYXRjaCBhbnlv
bmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KLXZvaWQgdG9SZW5kZXJBcHBsZXQoY29uc3Qg
UmVuZGVyQXBwbGV0Kik7Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFJl
bmRlckFwcGxldF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RW1iZWRkZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRl
ZE9iamVjdC5oCmluZGV4IDdkYTZmYzg4ZjJjOTdhZDQ4NmY3MWI4ODI4MDM5MzA3NGUwMzY0NDMu
LmZkNDRlMDgwZmQzNWUyN2ExZDkxNTdlNTQzMzIzM2UzODlhZjNiNWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCkBAIC05MCw3ICs5MCw3
IEBAIHByaXZhdGU6CiAKIGlubGluZSBSZW5kZXJFbWJlZGRlZE9iamVjdCogdG9SZW5kZXJFbWJl
ZGRlZE9iamVjdChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBBU1NFUlQoIW9iamVjdCB8
fCAhc3RyY21wKG9iamVjdC0+cmVuZGVyTmFtZSgpLCAiUmVuZGVyRW1iZWRkZWRPYmplY3QiKSk7
CisgICAgQVNTRVJUKCFvYmplY3QgfHwgb2JqZWN0LT5pc0VtYmVkZGVkT2JqZWN0KCkpOwogICAg
IHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJFbWJlZGRlZE9iamVjdCo+KG9iamVjdCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDFiMDhmOWM4N2Y1
Njk5ZmQ5OGI4MWIwODM0NzlkZDQ4N2Y0NDVkMGEuLmIyYzFjZmVhNTU3OTc3OTkyZGFlYTY0MTMz
YmQ3OTYzODE4ZDJjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtNDc0Nyw3ICs0NzQ3LDYgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxG
bG93T25seSgpIGNvbnN0CiAgICAgICAgICAgICAgICAgfHwgcmVuZGVyZXIoKS0+aXNDYW52YXMo
KQogICAgICAgICAgICAgICAgIHx8IHJlbmRlcmVyKCktPmlzVmlkZW8oKQogICAgICAgICAgICAg
ICAgIHx8IHJlbmRlcmVyKCktPmlzRW1iZWRkZWRPYmplY3QoKQotICAgICAgICAgICAgICAgIHx8
IHJlbmRlcmVyKCktPmlzQXBwbGV0KCkKICAgICAgICAgICAgICAgICB8fCByZW5kZXJlcigpLT5p
c1JlbmRlcklGcmFtZSgpCiAgICAgICAgICAgICAgICAgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+
c3BlY2lmaWVzQ29sdW1ucygpKQogICAgICAgICAgICAgJiYgIXJlbmRlcmVyKCktPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpCkBAIC00NzY5LDcgKzQ3NjgsNiBAQCBib29sIFJlbmRlckxheWVyOjpz
aG91bGRCZVNlbGZQYWludGluZ0xheWVyKCkgY29uc3QKICAgICAgICAgfHwgcmVuZGVyZXIoKS0+
aXNDYW52YXMoKQogICAgICAgICB8fCByZW5kZXJlcigpLT5pc1ZpZGVvKCkKICAgICAgICAgfHwg
cmVuZGVyZXIoKS0+aXNFbWJlZGRlZE9iamVjdCgpCi0gICAgICAgIHx8IHJlbmRlcmVyKCktPmlz
QXBwbGV0KCkKICAgICAgICAgfHwgcmVuZGVyZXIoKS0+aXNSZW5kZXJJRnJhbWUoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRl
eCA5ODg2ZmIzMTk4MjM1M2Q2NDAyM2Y1NzRiMDBjMTRhMjBmYjFmYzJhLi5lNThlMTE0MDc5NTFh
MzAxZDM2YmNjOTAzNTlkZWU1MTFiMWEzNDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMzgxLDggKzM4MSw3IEBAIGJvb2wgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAg
aWYgKGlzRGlyZWN0bHlDb21wb3NpdGVkSW1hZ2UoKSkKICAgICAgICAgdXBkYXRlSW1hZ2VDb250
ZW50cygpOwogCi0gICAgaWYgKChyZW5kZXJlci0+aXNFbWJlZGRlZE9iamVjdCgpICYmIHRvUmVu
ZGVyRW1iZWRkZWRPYmplY3QocmVuZGVyZXIpLT5hbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCkpCi0gICAgICAgIHx8IChyZW5kZXJlci0+aXNBcHBsZXQoKSAmJiB0b1JlbmRlckFwcGxldChy
ZW5kZXJlciktPmFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkpIHsKKyAgICBpZiAocmVu
ZGVyZXItPmlzRW1iZWRkZWRPYmplY3QoKSAmJiB0b1JlbmRlckVtYmVkZGVkT2JqZWN0KHJlbmRl
cmVyKS0+YWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKSB7CiAgICAgICAgIFBsdWdpblZp
ZXdCYXNlKiBwbHVnaW5WaWV3QmFzZSA9IHN0YXRpY19jYXN0PFBsdWdpblZpZXdCYXNlKj4odG9S
ZW5kZXJXaWRnZXQocmVuZGVyZXIpLT53aWRnZXQoKSk7CiAgICAgICAgIG1fZ3JhcGhpY3NMYXll
ci0+c2V0Q29udGVudHNUb01lZGlhKHBsdWdpblZpZXdCYXNlLT5wbGF0Zm9ybUxheWVyKCkpOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKaW5kZXggYjI5NDBkMDUwOWRmNjM0ZTE5MWJkODgzZjJmNGIzZmJjYTU1ZjcwNC4u
MThkNTBkODJhMzM5ZGFjMGE1MWRkMjc1NzEwMjViZDFhOTc0MTdjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE3MDEs
OCArMTcwMSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0
aW5nRm9yUGx1Z2luKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgaWYgKCEobV9jb21wb3Np
dGluZ1RyaWdnZXJzICYgQ2hyb21lQ2xpZW50OjpQbHVnaW5UcmlnZ2VyKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgYm9vbCBjb21wb3NpdGUgPSAocmVuZGVyZXItPmlzRW1iZWRkZWRP
YmplY3QoKSAmJiB0b1JlbmRlckVtYmVkZGVkT2JqZWN0KHJlbmRlcmVyKS0+YWxsb3dzQWNjZWxl
cmF0ZWRDb21wb3NpdGluZygpKQotICAgICAgICAgICAgICAgICAgfHwgKHJlbmRlcmVyLT5pc0Fw
cGxldCgpICYmIHRvUmVuZGVyQXBwbGV0KHJlbmRlcmVyKS0+YWxsb3dzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpKTsKKyAgICBib29sIGNvbXBvc2l0ZSA9IHJlbmRlcmVyLT5pc0VtYmVkZGVkT2Jq
ZWN0KCkgJiYgdG9SZW5kZXJFbWJlZGRlZE9iamVjdChyZW5kZXJlciktPmFsbG93c0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmcoKTsKICAgICBpZiAoIWNvbXBvc2l0ZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDg5
M2U0NTE1OWE2MTkzYzFhYzc3YmJiOTM0Y2M0NWQwNzgwMThkY2IuLjYzOTEzMzRlZmM0MmQwMjBl
Mzc4MGI2NzU0NDI5NDM4NTc1M2ZkZWEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCkBAIC0xNzExLDcgKzE3MTEsNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0
U3R5bGUoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUpCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgICAgICAvLyBXZSBuZWVkIHRvIHJ1biB0aHJvdWdoIGFkanVzdFN0
eWxlRGlmZmVyZW5jZSgpIGZvciBpZnJhbWVzIGFuZCBwbHVnaW5zLCBzbwogICAgICAgICAvLyBz
dHlsZSBzaGFyaW5nIGlzIGRpc2FibGVkIGZvciB0aGVtLiBUaGF0IHNob3VsZCBlbnN1cmUgdGhh
dCB3ZSBuZXZlciBoaXQgdGhpcyBjb2RlIHBhdGguCi0gICAgICAgIEFTU0VSVCghaXNSZW5kZXJJ
RnJhbWUoKSAmJiAhaXNFbWJlZGRlZE9iamVjdCgpICYmIWlzQXBwbGV0KCkpOworICAgICAgICBB
U1NFUlQoIWlzUmVuZGVySUZyYW1lKCkgJiYgIWlzRW1iZWRkZWRPYmplY3QoKSk7CiAjZW5kaWYK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAppbmRleCA3Yjg5NGZlYWI0OTNhMDA4MzcyZTQxY2JiODRkOWZjNzhkZjhiMzcxLi4yZGNk
NjJlNWRiZjBiZTExMzMyMWRhNzg0ZjI3Nzk5NzRjZGYwNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yOTYsNyArMjk2LDYgQEAgcHJpdmF0ZToKIHB1Ymxp
YzoKICAgICBSZW5kZXJBcmVuYSogcmVuZGVyQXJlbmEoKSBjb25zdCB7IHJldHVybiBkb2N1bWVu
dCgpLT5yZW5kZXJBcmVuYSgpOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNBcHBsZXQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0JSKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNCbG9ja0Zsb3coKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0JveE1vZGVsT2JqZWN0KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0K
</data>
<flag name="review"
          id="164077"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="164084"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>