<?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>112850</bug_id>
          
          <creation_ts>2013-03-20 15:11:08 -0700</creation_ts>
          <short_desc>[Qt][WK2] Remove direct references to WebPageProxy from QQuickWebPage.</short_desc>
          <delta_ts>2013-04-09 04:52:08 -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>
          
          <blocked>109204</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Brüning">michael.bruning</reporter>
          <assigned_to name="Michael Brüning">michael.bruning</assigned_to>
          <cc>abecsi</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>jturcotte</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>859780</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 15:11:08 -0700</bug_when>
    <thetext>[Qt][WK2] Remove direct references to WebPageProxy from QQuickWebPage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859792</commentid>
    <comment_count>1</comment_count>
      <attachid>194133</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 15:19:54 -0700</bug_when>
    <thetext>Created attachment 194133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860219</commentid>
    <comment_count>2</comment_count>
      <attachid>194229</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-21 04:55:19 -0700</bug_when>
    <thetext>Created attachment 194229
Disassembly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860220</commentid>
    <comment_count>3</comment_count>
      <attachid>194229</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-21 04:56:06 -0700</bug_when>
    <thetext>Comment on attachment 194229
Disassembly.

Please disregard disassembly - wrong window...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860349</commentid>
    <comment_count>4</comment_count>
      <attachid>194133</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-21 08:09:57 -0700</bug_when>
    <thetext>Comment on attachment 194133
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp:56
&gt;  QQuickWebPagePrivate::QQuickWebPagePrivate(QQuickWebPage* q, QQuickWebView* viewportItem)
&gt;      : q(q)
&gt;      , viewportItem(viewportItem)
&gt; -    , webPageProxy(0)
&gt; +    , webViewPrivate(0)

We already have a pointer to viewportItem, so maybe we could either replace it everywhere with your webViewPrivate-&gt;q_func() or access the webViewPrivate through viewportItem-&gt;d_func()?
Whichever is more convenient.

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:946
&gt; +    if (!webPageProxy)
&gt; +        return 0;
&gt; +    if (!webPageProxy-&gt;drawingArea() || !webPageProxy-&gt;drawingArea()-&gt;coordinatedLayerTreeHostProxy())
&gt; +        return 0;

Those can be merged I believe.

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:142
&gt; +    // FIXME: The following three methods are only here for splitting the webview move into several patches.
&gt; +    // They be removed then and their counterparts in QRawWebView will be used.

This should rather be written in the ChangeLog.

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:146
&gt; +    void setIntrinsicDeviceScaleFactor(float);
&gt;  protected:

Missing empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860411</commentid>
    <comment_count>5</comment_count>
      <attachid>194280</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-21 09:30:20 -0700</bug_when>
    <thetext>Created attachment 194280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860436</commentid>
    <comment_count>6</comment_count>
      <attachid>194280</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-21 10:05:53 -0700</bug_when>
    <thetext>Comment on attachment 194280
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:942
&gt; +    if (!webPageProxy || !webPageProxy-&gt;drawingArea() || !webPageProxy-&gt;drawingArea()-&gt;coordinatedLayerTreeHostProxy())
&gt; +        return 0;

Nit: It would read slightly better to move the return 0; at the end, remove the negations and return the correct pointer here.

LGTM otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860531</commentid>
    <comment_count>7</comment_count>
      <attachid>194311</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-21 11:58:18 -0700</bug_when>
    <thetext>Created attachment 194311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871622</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-04-09 04:52:08 -0700</bug_when>
    <thetext>Committed r148011: &lt;http://trac.webkit.org/changeset/148011&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194133</attachid>
            <date>2013-03-20 15:19:54 -0700</date>
            <delta_ts>2013-03-21 09:30:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112850-20130320231542.patch</filename>
            <type>text/plain</type>
            <size>18285</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGNjYmJjYmMxYmIyMTQ1
ODIwNzJjODhkZGQ0NGRjNTAwNTU0ZGY0OS4uNzYzOTdkNjU2NWM3ZWMwODhlMWY3OWI2M2E3ZWFi
N2M0NDk2ODUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTIwICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gUmVtb3ZlIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlj
a1dlYlBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTI4NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmVzIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlja1dl
YlBhZ2UgYW5kIHByZXBhcmVzIHRoZQorICAgICAgICBjbGFzcyBmb3IgdGhlIG1vdmUgdG8gUVJh
d1dlYlZpZXcuIFRoZSBhY2Nlc3MgdG8gdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgYW5kCisgICAg
ICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBpcyBwcm92aWRlZCB0aHJvdWdoIFFRdWlja1dl
YlZpZXdQcml2YXRlLCBidXQgd2lsbAorICAgICAgICBiZSBtb3ZlZCB0byBRUmF3V2ViVmlldyBp
biB1cGNvbWluZyBwYXRjaGVzIHRoYXQgY29tcGxldGUgdGhlIG1vdmUuCisKKyAgICAgICAgVGhp
cyBhbHNvIG1vdmVzIHRoZSBwb2ludGVyIHRvIFF0V2ViUGFnZUV2ZW50SGFuZGxlciBmcm9tIFFR
dWlja1dlYlBhZ2VQcml2YXRlCisgICAgICAgIHRvIFFRdWlja1dlYlZpZXdQcml2YXRlIGFzIGl0
IGlzIG1haW5seSB1c2VkIGZyb20gdGhlcmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnBhZ2UuY3BwOgorICAgICAgICAoUVF1aWNrV2ViUGFnZVByaXZhdGU6OlFRdWlj
a1dlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlBhZ2VQcml2YXRlOjppbml0aWFs
aXplKToKKyAgICAgICAgKFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludCk6CisgICAgICAgIChR
UXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2VicGFnZV9wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJwYWdlX3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJW
aWV3UHJpdmF0ZTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6
aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cHJvY2Vz
c0RpZENyYXNoKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpjb29yZGluYXRlZEdy
YXBoaWNzU2NlbmUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRldmljZVNjYWxl
RmFjdG9yKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpzZXRJbnRyaW5zaWNEZXZp
Y2VTY2FsZUZhY3Rvcik6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6
b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjprZXlQcmVzc0V2
ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmtleVJlbGVhc2VFdmVudCk6CisgICAgICAg
IChRUXVpY2tXZWJWaWV3OjppbnB1dE1ldGhvZEV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZp
ZXc6OmZvY3VzSW5FdmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjppdGVtQ2hhbmdlKToK
KyAgICAgICAgKFFRdWlja1dlYlZpZXc6OnRvdWNoRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2Vi
Vmlldzo6d2hlZWxFdmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpob3ZlckVudGVyRXZl
bnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6aG92ZXJNb3ZlRXZlbnQpOgorICAgICAgICAo
UVF1aWNrV2ViVmlldzo6aG92ZXJMZWF2ZUV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6
OmRyYWdNb3ZlRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJhZ0VudGVyRXZlbnQp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJhZ0xlYXZlRXZlbnQpOgorICAgICAgICAoUVF1
aWNrV2ViVmlldzo6ZHJvcEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisKIDIwMTMtMDMtMTkgIEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQgTWlraGFpbCBQb3pkbnlh
a292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJd
IFNlcGFyYXRlIFdlYlZpZXcgZnVydGhlciBmcm9tIEV3a1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCmluZGV4IDRmMTk2ZTEzOWEy
MTEwMmU0ZDA1NjlmZmIzODMxYWJjOGNkOGFiOTIuLjE0YmNkMjY4MGM4OGU1ZmVjYzAyM2IzYjhi
MWEzYzUxZTdmY2NkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJwYWdlLmNwcApAQCAtMjEsMTMgKzIxLDEyIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAicXF1aWNrd2VicGFnZV9wLmgiCiAKLSNpbmNsdWRlICJDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5o
IgogI2luY2x1ZGUgIlF0V2ViUGFnZVNHTm9kZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9u
TWF0cml4LmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vi
cGFnZV9wX3AuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKKyNpbmNsdWRlICJxcXVp
Y2t3ZWJ2aWV3X3BfcC5oIgogI2luY2x1ZGUgInF3ZWJraXR0ZXN0X3AuaCIKICNpbmNsdWRlIDxR
UXVpY2tXaW5kb3c+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUu
aD4KQEAgLTU0LDQ5ICs1MywzNyBAQCBRUXVpY2tXZWJQYWdlOjp+UVF1aWNrV2ViUGFnZSgpCiBR
UXVpY2tXZWJQYWdlUHJpdmF0ZTo6UVF1aWNrV2ViUGFnZVByaXZhdGUoUVF1aWNrV2ViUGFnZSog
cSwgUVF1aWNrV2ViVmlldyogdmlld3BvcnRJdGVtKQogICAgIDogcShxKQogICAgICwgdmlld3Bv
cnRJdGVtKHZpZXdwb3J0SXRlbSkKLSAgICAsIHdlYlBhZ2VQcm94eSgwKQorICAgICwgd2ViVmll
d1ByaXZhdGUoMCkKICAgICAsIHBhaW50aW5nSXNJbml0aWFsaXplZChmYWxzZSkKICAgICAsIGNv
bnRlbnRzU2NhbGUoMSkKIHsKIH0KIAotdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6aW5pdGlh
bGl6ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KQordm9pZCBRUXVpY2tXZWJQ
YWdlUHJpdmF0ZTo6aW5pdGlhbGl6ZShRUXVpY2tXZWJWaWV3UHJpdmF0ZSogdmlld1ByaXZhdGUp
CiB7Ci0gICAgdGhpcy0+d2ViUGFnZVByb3h5ID0gd2ViUGFnZVByb3h5OwotICAgIGV2ZW50SGFu
ZGxlci5yZXNldChuZXcgUXRXZWJQYWdlRXZlbnRIYW5kbGVyKHRvQVBJKHdlYlBhZ2VQcm94eSks
IHEsIHZpZXdwb3J0SXRlbSkpOworICAgIHdlYlZpZXdQcml2YXRlID0gdmlld1ByaXZhdGU7CiB9
CiAKIHZvaWQgUVF1aWNrV2ViUGFnZVByaXZhdGU6OnBhaW50KFFQYWludGVyKiBwYWludGVyKQog
ewotICAgIGlmICghd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpZiAoY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKS0+Y29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lKCkpCi0gICAgICAgIGNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkt
PmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpLT5wYWludFRvR3JhcGhpY3NDb250ZXh0KHBhaW50
ZXIpOworICAgIGlmIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIHNjZW5lID0g
UVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldCh2aWV3cG9ydEl0ZW0pLT5jb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUoKSkKKyAgICAgICAgc2NlbmUtPnBhaW50VG9HcmFwaGljc0NvbnRleHQocGFpbnRl
cik7CiB9CiAKLUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KiBRUXVpY2tXZWJQYWdlUHJp
dmF0ZTo6Y29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKQotewotICAgIGlmICh3ZWJQYWdl
UHJveHktPmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIHJldHVybiB3ZWJQYWdlUHJveHktPmRyYXdp
bmdBcmVhKCktPmNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCk7Ci0KLSAgICByZXR1cm4g
MDsKLX0KIAogUVNHTm9kZSogUVF1aWNrV2ViUGFnZTo6dXBkYXRlUGFpbnROb2RlKFFTR05vZGUq
IG9sZE5vZGUsIFVwZGF0ZVBhaW50Tm9kZURhdGEqKQogewotICAgIGlmICghZC0+d2ViUGFnZVBy
b3h5LT5kcmF3aW5nQXJlYSgpKQorICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSogc2NlbmUgPSBkLT53ZWJWaWV3UHJpdmF0ZS0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCk7
CisgICAgaWYgKCFzY2VuZSkKICAgICAgICAgcmV0dXJuIG9sZE5vZGU7CiAKLSAgICBXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIHNjZW5lID0gZC0+Y29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkoKS0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCk7Ci0KICAgICBRdFdlYlBh
Z2VTR05vZGUqIG5vZGUgPSBzdGF0aWNfY2FzdDxRdFdlYlBhZ2VTR05vZGUqPihvbGROb2RlKTsK
IAogICAgIGNvbnN0IFFXaW5kb3cqIHdpbmRvdyA9IHRoaXMtPndpbmRvdygpOwogICAgIEFTU0VS
VCh3aW5kb3cpOwogCi0gICAgaWYgKHdpbmRvdyAmJiBkLT53ZWJQYWdlUHJveHktPmRldmljZVNj
YWxlRmFjdG9yKCkgIT0gd2luZG93LT5kZXZpY2VQaXhlbFJhdGlvKCkpIHsKLSAgICAgICAgZC0+
d2ViUGFnZVByb3h5LT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3Rvcih3aW5kb3ctPmRldmlj
ZVBpeGVsUmF0aW8oKSk7CisgICAgaWYgKHdpbmRvdyAmJiBkLT53ZWJWaWV3UHJpdmF0ZS0+ZGV2
aWNlU2NhbGVGYWN0b3IoKSAhPSB3aW5kb3ctPmRldmljZVBpeGVsUmF0aW8oKSkgeworICAgICAg
ICBkLT53ZWJWaWV3UHJpdmF0ZS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3Iod2luZG93
LT5kZXZpY2VQaXhlbFJhdGlvKCkpOwogICAgICAgICAvLyBUaGlzIHNpZ25hbCBpcyBxdWV1ZWQg
c2luY2UgaWYgd2UgYXJlIHJ1bm5pbmcgYSB0aHJlYWRlZCByZW5kZXJlci4gVGhpcyBtaWdodCBj
YXVzZSBmYWlsdXJlcwogICAgICAgICAvLyBpZiB0ZXN0cyBhcmUgcmVhZGluZyB0aGUgbmV3IHZh
bHVlIGJldHdlZW4gdGhlIHByb3BlcnR5IGNoYW5nZSBhbmQgdGhlIHNpZ25hbCBlbWlzc2lvbi4K
ICAgICAgICAgZW1pdCBkLT52aWV3cG9ydEl0ZW0tPmV4cGVyaW1lbnRhbCgpLT50ZXN0KCktPmRl
dmljZVBpeGVsUmF0aW9DaGFuZ2VkKCk7CkBAIC0xMDksMTggKzk2LDEzIEBAIFFTR05vZGUqIFFR
dWlja1dlYlBhZ2U6OnVwZGF0ZVBhaW50Tm9kZShRU0dOb2RlKiBvbGROb2RlLCBVcGRhdGVQYWlu
dE5vZGVEYXRhKikKIAogICAgIG5vZGUtPnNldFNjYWxlKGQtPmNvbnRlbnRzU2NhbGUpOwogICAg
IG5vZGUtPnNldERldmljZVBpeGVsUmF0aW8od2luZG93LT5kZXZpY2VQaXhlbFJhdGlvKCkpOwot
ICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBkLT53ZWJQYWdlUHJveHktPmRyYXdzVHJhbnNw
YXJlbnRCYWNrZ3JvdW5kKCkgPyBRdDo6dHJhbnNwYXJlbnQgOiBRdDo6d2hpdGU7CisgICAgUUNv
bG9yIGJhY2tncm91bmRDb2xvciA9IGQtPndlYlZpZXdQcml2YXRlLT50cmFuc3BhcmVudEJhY2tn
cm91bmQoKSA/IFF0Ojp0cmFuc3BhcmVudCA6IFF0Ojp3aGl0ZTsKICAgICBRUmVjdEYgYmFja2dy
b3VuZFJlY3QoUVBvaW50RigwLCAwKSwgZC0+Y29udGVudHNTaXplKTsKICAgICBub2RlLT5zZXRC
YWNrZ3JvdW5kKGJhY2tncm91bmRSZWN0LCBiYWNrZ3JvdW5kQ29sb3IpOwogCiAgICAgcmV0dXJu
IG5vZGU7CiB9CiAKLVF0V2ViUGFnZUV2ZW50SGFuZGxlciogUVF1aWNrV2ViUGFnZTo6ZXZlbnRI
YW5kbGVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZC0+ZXZlbnRIYW5kbGVyLmRhdGEoKTsKLX0K
LQogdm9pZCBRUXVpY2tXZWJQYWdlOjpzZXRDb250ZW50c1NpemUoY29uc3QgUVNpemVGJiBzaXpl
KQogewogICAgIGlmIChzaXplLmlzRW1wdHkoKSB8fCBkLT5jb250ZW50c1NpemUgPT0gc2l6ZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFn
ZV9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5o
CmluZGV4IDNhMTEyZDYyYjNlOWRjYzFkOTUzOTAzOWY1YzIxNWYxY2I3Y2Y5Y2QuLmUyYWFhNmMz
OGVlNTFmMTgxN2ZhMmZlZWUzZmVmNzFmNTAyMmQwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3AuaApAQCAtMjgsMTEgKzI4LDYgQEAK
IAogY2xhc3MgUVF1aWNrV2ViUGFnZVByaXZhdGU7CiBjbGFzcyBRUXVpY2tXZWJWaWV3OwotY2xh
c3MgUVdlYlByZWZlcmVuY2VzOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFF0V2ViUGFn
ZUV2ZW50SGFuZGxlcjsKLX0KIAogY2xhc3MgUVdFQktJVF9FWFBPUlQgUVF1aWNrV2ViUGFnZSA6
IHB1YmxpYyBRUXVpY2tJdGVtIHsKICAgICBRX09CSkVDVApAQCAtNDgsOCArNDMsNiBAQCBwdWJs
aWM6CiAgICAgUVRyYW5zZm9ybSB0cmFuc2Zvcm1Gcm9tSXRlbSgpIGNvbnN0OwogICAgIFFUcmFu
c2Zvcm0gdHJhbnNmb3JtVG9JdGVtKCkgY29uc3Q7CiAKLSAgICBXZWJLaXQ6OlF0V2ViUGFnZUV2
ZW50SGFuZGxlciogZXZlbnRIYW5kbGVyKCkgY29uc3Q7Ci0KIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIFFTR05vZGUqIHVwZGF0ZVBhaW50Tm9kZShRU0dOb2RlKiwgVXBkYXRlUGFpbnROb2RlRGF0
YSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnBhZ2VfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnBhZ2VfcF9wLmgKaW5kZXggNzBjNGU3YTA5MmI3NGU3OWM0MGE1MThlMmMzOThiNDg0YThhYTdk
ZS4uNjBhYTE0ZTk4MzNkZWE3YjQ5NjZmOTVhOWEwY2I3MTY0MWQ2Mjg4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3BfcC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wX3AuaApAQCAt
MjQsMjkgKzI0LDIyIEBACiAjaW5jbHVkZSAicXF1aWNrd2VicGFnZV9wLmgiCiAjaW5jbHVkZSA8
UVRyYW5zZm9ybT4KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJQYWdlUHJveHk7Ci1j
bGFzcyBRdFdlYlBhZ2VFdmVudEhhbmRsZXI7Ci1jbGFzcyBDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTsKLX0KK2NsYXNzIFFRdWlja1dlYlZpZXdQcml2YXRlOwogCiBjbGFzcyBRUXVpY2tX
ZWJQYWdlUHJpdmF0ZSB7CiBwdWJsaWM6CiAgICAgUVF1aWNrV2ViUGFnZVByaXZhdGUoUVF1aWNr
V2ViUGFnZSogcSwgUVF1aWNrV2ViVmlldyogdmlld3BvcnRJdGVtKTsKICAgICB+UVF1aWNrV2Vi
UGFnZVByaXZhdGUoKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSopOworICAgIHZvaWQgaW5pdGlhbGl6ZShRUXVpY2tXZWJWaWV3UHJpdmF0ZSopOwogCiAgICAg
dm9pZCB1cGRhdGVTaXplKCk7CiAKICAgICB2b2lkIHBhaW50KFFQYWludGVyKik7CiAgICAgdm9p
ZCByZXNldFBhaW50Tm9kZSgpOwotICAgIFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkqIGNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCk7Ci0KLSAgICBRU2NvcGVkUG9p
bnRlcjxXZWJLaXQ6OlF0V2ViUGFnZUV2ZW50SGFuZGxlcj4gZXZlbnRIYW5kbGVyOwogICAgIFFR
dWlja1dlYlBhZ2UqIGNvbnN0IHE7CiAgICAgUVF1aWNrV2ViVmlldyogY29uc3Qgdmlld3BvcnRJ
dGVtOwotICAgIFdlYktpdDo6V2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHk7CisgICAgUVF1aWNr
V2ViVmlld1ByaXZhdGUqIHdlYlZpZXdQcml2YXRlOwogICAgIGJvb2wgcGFpbnRpbmdJc0luaXRp
YWxpemVkOwogCiAgICAgUVNpemVGIGNvbnRlbnRzU2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDczNzVkNTQxMjg5ZWMz
ZGI0NDliOTI0NjYzZWRjNTZmMzA5ZGRmZDkuLjU3ZjE5ZmY0Y2JhNzRlMmQxOGYyODEwNjNiZjUw
ZTI0ZjgwNWUwMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogCisjaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAi
RHJhd2luZ0FyZWFQcm94eUltcGwuaCIKICNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50UXQuaCIKQEAgLTczLDYgKzc0LDcgQEAKICNpbmNsdWRlIDxXS1N0cmluZy5oPgogI2lu
Y2x1ZGUgPFdLU3RyaW5nUXQuaD4KICNpbmNsdWRlIDxXS1VSTFF0Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFBv
aW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8bGltaXRzPgpA
QCAtMzMzLDcgKzMzNSw4IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmluaXRpYWxpemUo
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhCiAjZW5kaWYKIAogICAg
IFFRdWlja1dlYlBhZ2VQcml2YXRlKiBjb25zdCBwYWdlVmlld1ByaXZhdGUgPSBwYWdlVmlldy5k
YXRhKCktPmQ7Ci0gICAgcGFnZVZpZXdQcml2YXRlLT5pbml0aWFsaXplKHdlYlBhZ2VQcm94eS5n
ZXQoKSk7CisgICAgcGFnZUV2ZW50SGFuZGxlci5yZXNldChuZXcgUXRXZWJQYWdlRXZlbnRIYW5k
bGVyKHdlYlBhZ2UuZ2V0KCksIHBhZ2VWaWV3LmRhdGEoKSwgcV9wdHIpKTsKKyAgICBwYWdlVmll
d1ByaXZhdGUtPmluaXRpYWxpemUodGhpcyk7CiAKICAgICB7CiAgICAgICAgIFdLUGFnZUZpbmRD
bGllbnQgZmluZENsaWVudDsKQEAgLTM4Miw3ICszODUsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdQ
cml2YXRlOjppbml0aWFsaXplKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJl
ZiBwYQogICAgIFdLUHJlZmVyZW5jZXNTZXRXZWJHTEVuYWJsZWQocHJlZmVyZW5jZXNSZWYsIHRy
dWUpOwogICAgIHdlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEZv
cmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOwogCi0gICAgcGFnZUNsaWVudC5pbml0aWFsaXplKHFf
cHRyLCBwYWdlVmlld1ByaXZhdGUtPmV2ZW50SGFuZGxlci5kYXRhKCksICZ1bmRvQ29udHJvbGxl
cik7CisgICAgcGFnZUNsaWVudC5pbml0aWFsaXplKHFfcHRyLCBwYWdlRXZlbnRIYW5kbGVyLmRh
dGEoKSwgJnVuZG9Db250cm9sbGVyKTsKICAgICB3ZWJQYWdlUHJveHktPmluaXRpYWxpemVXZWJQ
YWdlKCk7CiAgICAgd2ViUGFnZVByb3h5LT5yZWdpc3RlckFwcGxpY2F0aW9uU2NoZW1lKEFTQ0lJ
TGl0ZXJhbCgicXJjIikpOwogCkBAIC01MzgsMTMgKzU0MSwxMyBAQCB2b2lkIFFRdWlja1dlYlZp
ZXdQcml2YXRlOjpoYW5kbGVNb3VzZUV2ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKIHsKICAgICBz
d2l0Y2ggKGV2ZW50LT50eXBlKCkpIHsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25QcmVz
czoKLSAgICAgICAgcGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVByZXNzRXZl
bnQoZXZlbnQpOworICAgICAgICBwYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVNb3VzZVByZXNzRXZl
bnQoZXZlbnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6TW91c2VNb3ZlOgot
ICAgICAgICBwYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlTW92ZUV2ZW50KGV2
ZW50KTsKKyAgICAgICAgcGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlTW91c2VNb3ZlRXZlbnQoZXZl
bnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25SZWxlYXNl
OgotICAgICAgICBwYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUmVsZWFzZUV2
ZW50KGV2ZW50KTsKKyAgICAgICAgcGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlTW91c2VSZWxlYXNl
RXZlbnQoZXZlbnQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0
b25EYmxDbGljazoKICAgICAgICAgLy8gSWYgYSBNb3VzZUJ1dHRvbkRibENsaWNrIHdhcyByZWNl
aXZlZCB0aGVuIHdlIGdvdCBhIE1vdXNlQnV0dG9uUHJlc3MgYmVmb3JlLgpAQCAtNTg3LDcgKzU5
MCw3IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnByb2Nlc3NEaWRDcmFzaCgpCiAgICAg
UVVybCB1cmwoS1VSTChXZWJDb3JlOjpQYXJzZWRVUkxTdHJpbmcsIHdlYlBhZ2VQcm94eS0+dXJs
QXRQcm9jZXNzRXhpdCgpKSk7CiAgICAgcVdhcm5pbmcoIldBUk5JTkc6IFRoZSB3ZWIgcHJvY2Vz
cyBleHBlcmllbmNlZCBhIGNyYXNoIG9uICclcycuIiwgcVByaW50YWJsZSh1cmwudG9TdHJpbmco
UVVybDo6UmVtb3ZlVXNlckluZm8pKSk7CiAKLSAgICBwYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCkt
PnJlc2V0R2VzdHVyZVJlY29nbml6ZXJzKCk7CisgICAgcGFnZUV2ZW50SGFuZGxlci0+cmVzZXRH
ZXN0dXJlUmVjb2duaXplcnMoKTsKIAogICAgIC8vIENoZWNrIGlmIGxvYWRpbmcgd2FzIG9uZ29p
bmcsIHdoZW4gcHJvY2VzcyBjcmFzaGVkLgogICAgIGlmIChtX2xvYWRQcm9ncmVzcyA+IDAgJiYg
bV9sb2FkUHJvZ3Jlc3MgPCAxMDApIHsKQEAgLTkzNSw2ICs5MzgsMjYgQEAgdm9pZCBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tTmF2aWdhdG9yUXRPYmplY3QoV0tT
dHJpbmdSZWYgbWUKICAgICBlbWl0IHFfcHRyLT5leHBlcmltZW50YWwoKS0+bWVzc2FnZVJlY2Vp
dmVkKHZhcmlhbnRNYXApOwogfQogCitDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIFFRdWlja1dl
YlZpZXdQcml2YXRlOjpjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKQoreworICAgIGlmICghd2Vi
UGFnZVByb3h5KQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIXdlYlBhZ2VQcm94eS0+ZHJh
d2luZ0FyZWEoKSB8fCAhd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB3ZWJQ
YWdlUHJveHktPmRyYXdpbmdBcmVhKCktPmNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkt
PmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOworfQorCitmbG9hdCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6ZGV2aWNlU2NhbGVGYWN0b3IoKQoreworICAgIHJldHVybiB3ZWJQYWdlUHJveHktPmRl
dmljZVNjYWxlRmFjdG9yKCk7Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNldElu
dHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQoreworICAgIHdlYlBh
Z2VQcm94eS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IpOworfQor
CiBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZTo6UVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGUo
UVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgOiBRUXVpY2tXZWJWaWV3UHJpdmF0ZSh2aWV3
cG9ydCkKIHsKQEAgLTk5NSw3ICsxMDE4LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxl
UHJpdmF0ZTo6b25Db21wb25lbnRDb21wbGV0ZSgpCiAgICAgUV9RKFFRdWlja1dlYlZpZXcpOwog
ICAgIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5yZXNldChuZXcgUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudFF0KHEsIHBhZ2VWaWV3LmRhdGEoKSkpOwogICAgIG1fcGFnZVZpZXdw
b3J0Q29udHJvbGxlci5yZXNldChuZXcgUGFnZVZpZXdwb3J0Q29udHJvbGxlcih3ZWJQYWdlUHJv
eHkuZ2V0KCksIG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5kYXRhKCkpKTsKLSAgICBw
YWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPnNldFZpZXdwb3J0Q29udHJvbGxlcihtX3BhZ2VWaWV3
cG9ydENvbnRyb2xsZXJDbGllbnQuZGF0YSgpKTsKKyAgICBwYWdlRXZlbnRIYW5kbGVyLT5zZXRW
aWV3cG9ydENvbnRyb2xsZXIobV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmRhdGEoKSk7
CiAKICAgICAvLyBUcmlnZ2VyIHNldHRpbmcgb2YgY29ycmVjdCB2aXNpYmlsaXR5IGZsYWdzIGFm
dGVyIGV2ZXJ5dGhpbmcgd2FzIGFsbG9jYXRlZCBhbmQgaW5pdGlhbGl6ZWQuCiAgICAgX3Ffb25W
aXNpYmxlQ2hhbmdlZCgpOwpAQCAtMTk0MiwyNSArMTk2NSwyNSBAQCB2b2lkIFFRdWlja1dlYlZp
ZXc6OmNvbXBvbmVudENvbXBsZXRlKCkKIHZvaWQgUVF1aWNrV2ViVmlldzo6a2V5UHJlc3NFdmVu
dChRS2V5RXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5w
YWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUtleVByZXNzRXZlbnQoZXZlbnQpOworICAg
IGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZUtleVByZXNzRXZlbnQoZXZlbnQpOwogfQogCiB2
b2lkIFFRdWlja1dlYlZpZXc6OmtleVJlbGVhc2VFdmVudChRS2V5RXZlbnQqIGV2ZW50KQogewog
ICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCkt
PmhhbmRsZUtleVJlbGVhc2VFdmVudChldmVudCk7CisgICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+
aGFuZGxlS2V5UmVsZWFzZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpp
bnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50KiBldmVudCkKIHsKICAgICBRX0QoUVF1
aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVJbnB1
dE1ldGhvZEV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVJbnB1
dE1ldGhvZEV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpmb2N1c0luRXZl
bnQoUUZvY3VzRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBk
LT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUZvY3VzSW5FdmVudChldmVudCk7Cisg
ICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlRm9jdXNJbkV2ZW50KGV2ZW50KTsKIH0KIAog
dm9pZCBRUXVpY2tXZWJWaWV3OjppdGVtQ2hhbmdlKEl0ZW1DaGFuZ2UgY2hhbmdlLCBjb25zdCBJ
dGVtQ2hhbmdlRGF0YSAmdmFsdWUpCkBAIC0xOTY5LDcgKzE5OTIsNyBAQCB2b2lkIFFRdWlja1dl
YlZpZXc6Oml0ZW1DaGFuZ2UoSXRlbUNoYW5nZSBjaGFuZ2UsIGNvbnN0IEl0ZW1DaGFuZ2VEYXRh
ICZ2YWx1ZSkKICAgICBpZiAoY2hhbmdlID09IEl0ZW1BY3RpdmVGb2N1c0hhc0NoYW5nZWQpIHsK
ICAgICAgICAgYm9vbCBmb2N1cyA9IHZhbHVlLmJvb2xWYWx1ZTsKICAgICAgICAgaWYgKCFmb2N1
cykKLSAgICAgICAgICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlRm9jdXNM
b3N0KCk7CisgICAgICAgICAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVGb2N1c0xvc3Qo
KTsKICAgICB9CiAgICAgUVF1aWNrRmxpY2thYmxlOjppdGVtQ2hhbmdlKGNoYW5nZSwgdmFsdWUp
OwogfQpAQCAtMTk4OSw3ICsyMDEyLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3Ojp0b3VjaEV2ZW50
KFFUb3VjaEV2ZW50KiBldmVudCkKICAgICAgICAgZC0+YXhpc0xvY2tlci5yZXNldCgpOwogCiAg
ICAgZm9yY2VBY3RpdmVGb2N1cygpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+
aGFuZGxlVG91Y2hFdmVudChldmVudCk7CisgICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxl
VG91Y2hFdmVudChldmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6bW91c2VQcmVzc0V2
ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKQEAgLTIwMjEsNTAgKzIwNDQsNTAgQEAgdm9pZCBRUXVp
Y2tXZWJWaWV3Ojptb3VzZURvdWJsZUNsaWNrRXZlbnQoUU1vdXNlRXZlbnQqIGV2ZW50KQogdm9p
ZCBRUXVpY2tXZWJWaWV3Ojp3aGVlbEV2ZW50KFFXaGVlbEV2ZW50KiBldmVudCkKIHsKICAgICBR
X0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVXaGVlbEV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVXaGVl
bEV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpob3ZlckVudGVyRXZlbnQo
UUhvdmVyRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKICAgICAvLyBN
YXAgSG92ZXJFbnRlciB0byBNb3ZlLCBmb3IgV2ViS2l0IHRoZSBkaXN0aW5jdGlvbiBkb2Vzbid0
IG1hdHRlci4KLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUhvdmVyTW92
ZUV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVIb3Zlck1vdmVF
dmVudChldmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6aG92ZXJNb3ZlRXZlbnQoUUhv
dmVyRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdl
Vmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUhvdmVyTW92ZUV2ZW50KGV2ZW50KTsKKyAgICBk
LT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVIb3Zlck1vdmVFdmVudChldmVudCk7CiB9CiAKIHZv
aWQgUVF1aWNrV2ViVmlldzo6aG92ZXJMZWF2ZUV2ZW50KFFIb3ZlckV2ZW50KiBldmVudCkKIHsK
ICAgICBRX0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigp
LT5oYW5kbGVIb3ZlckxlYXZlRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXIt
PmhhbmRsZUhvdmVyTGVhdmVFdmVudChldmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6
ZHJhZ01vdmVFdmVudChRRHJhZ01vdmVFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dl
YlZpZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlRHJhZ01vdmVF
dmVudChldmVudCk7CisgICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlRHJhZ01vdmVFdmVu
dChldmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6ZHJhZ0VudGVyRXZlbnQoUURyYWdF
bnRlckV2ZW50KiBldmVudCkKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFn
ZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVEcmFnRW50ZXJFdmVudChldmVudCk7CisgICAg
ZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlRHJhZ0VudGVyRXZlbnQoZXZlbnQpOwogfQogCiB2
b2lkIFFRdWlja1dlYlZpZXc6OmRyYWdMZWF2ZUV2ZW50KFFEcmFnTGVhdmVFdmVudCogZXZlbnQp
CiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRs
ZXIoKS0+aGFuZGxlRHJhZ0xlYXZlRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRs
ZXItPmhhbmRsZURyYWdMZWF2ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3
Ojpkcm9wRXZlbnQoUURyb3BFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcp
OwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlRHJvcEV2ZW50KGV2ZW50
KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVEcm9wRXZlbnQoZXZlbnQpOwogfQog
CiBib29sIFFRdWlja1dlYlZpZXc6OmV2ZW50KFFFdmVudCogZXYpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggOTQ5MzZl
ODA5NTFhNGFkZWJiYjE4ODczMWY4M2IxOGU3MjhiZTViZS4uMjMwZGE2ZGEyNDAzODNkYTE3YmIz
MGI5YjVlMWE3M2ZiMWFhMzg0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU7Cit9CisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgRG93bmxvYWRQcm94eTsKIGNsYXNzIERyYXdpbmdBcmVhUHJveHk7CkBA
IC00NCw2ICs0OCw3IEBAIGNsYXNzIFF0RGlhbG9nUnVubmVyOwogY2xhc3MgUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudFF0OwogY2xhc3MgUXRXZWJDb250ZXh0OwogY2xhc3MgUXRXZWJFcnJv
cjsKK2NsYXNzIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjsKIGNsYXNzIFF0V2ViUGFnZVBvbGljeUNs
aWVudDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIH0KQEAgLTEzMyw2ICsxMzgsMTEgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVjdChXS1N0
cmluZ1JlZiBtZXNzYWdlKTsKIAorICAgIC8vIEZJWE1FOiBUaGUgZm9sbG93aW5nIHRocmVlIG1l
dGhvZHMgYXJlIG9ubHkgaGVyZSBmb3Igc3BsaXR0aW5nIHRoZSB3ZWJ2aWV3IG1vdmUgaW50byBz
ZXZlcmFsIHBhdGNoZXMuCisgICAgLy8gVGhleSBiZSByZW1vdmVkIHRoZW4gYW5kIHRoZWlyIGNv
dW50ZXJwYXJ0cyBpbiBRUmF3V2ViVmlldyB3aWxsIGJlIHVzZWQuCisgICAgV2ViQ29yZTo6Q29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKiBjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKTsKKyAgICBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpOworICAgIHZvaWQgc2V0SW50cmluc2ljRGV2aWNlU2Nh
bGVGYWN0b3IoZmxvYXQpOwogcHJvdGVjdGVkOgogICAgIGNsYXNzIEZsaWNrYWJsZUF4aXNMb2Nr
ZXIgewogICAgICAgICBRUXVpY2tGbGlja2FibGU6OkZsaWNrYWJsZURpcmVjdGlvbiBtX2FsbG93
ZWREaXJlY3Rpb247CkBAIC0xODAsNiArMTkwLDcgQEAgcHJvdGVjdGVkOgogICAgIFFTY29wZWRQ
b2ludGVyPFdlYktpdDo6UXRXZWJQYWdlVUlDbGllbnQ+IHBhZ2VVSUNsaWVudDsKIAogICAgIFFT
Y29wZWRQb2ludGVyPFFRdWlja1dlYlBhZ2U+IHBhZ2VWaWV3OworICAgIFFTY29wZWRQb2ludGVy
PFdlYktpdDo6UXRXZWJQYWdlRXZlbnRIYW5kbGVyPiBwYWdlRXZlbnRIYW5kbGVyOwogICAgIFFR
dWlja1dlYlZpZXcqIHFfcHRyOwogICAgIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWwqIGV4cGVy
aW1lbnRhbDsKICAgICBXZWJLaXQ6OlF0V2ViQ29udGV4dCogY29udGV4dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>194229</attachid>
            <date>2013-03-21 04:55:19 -0700</date>
            <delta_ts>2013-03-21 04:56:06 -0700</delta_ts>
            <desc>Disassembly.</desc>
            <filename>RenderTableSectionDisassembly.txt</filename>
            <type>text/plain</type>
            <size>5133</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">ICAgICAgICAgICAgICAgIC8vIERyYXcgdGhlIGRpcnR5IGNlbGxzIGluIHRoZSBvcmRlciB0aGF0
IHRoZXkgYXBwZWFyLgogICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCByID0gZGlydGllZFJv
d3Muc3RhcnQoKTsgciA8IGRpcnRpZWRSb3dzLmVuZCgpOyByKyspIHsKMDAwMDA3RjhDMDY2MDI4
OCAgbW92ICAgICAgICAgcjEyZCxlYnggIAowMDAwMDdGOEMwNjYwMjhCICBjbXAgICAgICAgICBl
YngsZHdvcmQgcHRyIFtyYnArODNoXSAgCjAwMDAwN0Y4QzA2NjAyOTEgIGphZSAgICAgICAgIFdl
YkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QrOTMzaCAoMDdGOEMwNjYwOEEz
aCkgIAowMDAwMDdGOEMwNjYwMjk3ICBtb3YgICAgICAgICBlZHgsZWJ4ICAKMDAwMDA3RjhDMDY2
MDI5OSAgbGVhICAgICAgICAgZWN4LFtyYngtMV0gIAowMDAwMDdGOEMwNjYwMjlDICBtb3YgICAg
ICAgICBlYXgsZWRpICAKMDAwMDA3RjhDMDY2MDI5RSAgc3ViICAgICAgICAgcmN4LHJkeCAgCjAw
MDAwN0Y4QzA2NjAyQTEgIGxlYSAgICAgICAgIHIxNCxbcmF4K3JheCo0XSAgCjAwMDAwN0Y4QzA2
NjAyQTUgIGxlYSAgICAgICAgIHIxNSxbcmR4K3JkeCoyXSAgCjAwMDAwN0Y4QzA2NjAyQTkgIHNo
bCAgICAgICAgIHIxNCwzICAKMDAwMDA3RjhDMDY2MDJBRCAgbGVhICAgICAgICAgcjEzLFtyY3gr
cmN4KjJdICAKMDAwMDA3RjhDMDY2MDJCMSAgc2hsICAgICAgICAgcjE1LDQgIAowMDAwMDdGOEMw
NjYwMkI1ICBhZGQgICAgICAgICByMTMscjEzICAKMDAwMDA3RjhDMDY2MDJCOCAgbW92ICAgICAg
ICAgcXdvcmQgcHRyIFtyYnAtNzFoXSxyMTQgIAowMDAwMDdGOEMwNjYwMkJDICBub3AgICAgICAg
ICBkd29yZCBwdHIgW3JheF0gIAogICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93KiBy
b3cgPSBtX2dyaWRbcl0ucm93UmVuZGVyZXI7CjAwMDAwN0Y4QzA2NjAyQzAgIG1vdiAgICAgICAg
IHJheCxxd29yZCBwdHIgW3IxMCs5MGhdICAKMDAwMDA3RjhDMDY2MDJDNyAgbW92ICAgICAgICAg
cmN4LHF3b3JkIHB0ciBbcmF4K3IxNSsxOGhdICAKICAgICAgICAgICAgICAgICAgICBpZiAocm93
ICYmICFyb3ctPmhhc1NlbGZQYWludGluZ0xheWVyKCkpCjAwMDAwN0Y4QzA2NjAyQ0MgIHRlc3Qg
ICAgICAgIHJjeCxyY3ggIAowMDAwMDdGOEMwNjYwMkNGICBqZSAgICAgICAgICBXZWJDb3JlOjpS
ZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KzM4NGggKDA3RjhDMDY2MDJGNGgpICAKMDAw
MDA3RjhDMDY2MDJEMSAgbW92ICAgICAgICAgcmF4LHF3b3JkIHB0ciBbcmN4KzM4aF0gIAowMDAw
MDdGOEMwNjYwMkQ1ICB0ZXN0ICAgICAgICByYXgscmF4ICAKMDAwMDA3RjhDMDY2MDJEOCAgamUg
ICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdCszNzBoICgw
N0Y4QzA2NjAyRTBoKSAgCjAwMDAwN0Y4QzA2NjAyREEgIHRlc3QgICAgICAgIGJ5dGUgcHRyIFty
YXgrMjBoXSwyMGggIAowMDAwMDdGOEMwNjYwMkRFICBqbmUgICAgICAgICBXZWJDb3JlOjpSZW5k
ZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KzM4NGggKDA3RjhDMDY2MDJGNGgpICAKICAgICAg
ICAgICAgICAgICAgICAgICAgcm93LT5wYWludE91dGxpbmVGb3JSb3dJZk5lZWRlZChwYWludElu
Zm8sIHBhaW50T2Zmc2V0KTsKMDAwMDA3RjhDMDY2MDJFMCAgbW92ICAgICAgICAgcjgscXdvcmQg
cHRyIFtyYnArNzdoXSAgCjAwMDAwN0Y4QzA2NjAyRTQgIG1vdiAgICAgICAgIHJkeCxyMTEgIAow
MDAwMDdGOEMwNjYwMkU3ICBjYWxsICAgICAgICBXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6cGFp
bnRPdXRsaW5lRm9yUm93SWZOZWVkZWQgKDA3RjhDMDY2MUREMGgpICAKMDAwMDA3RjhDMDY2MDJF
QyAgbW92ICAgICAgICAgcjEwLHF3b3JkIHB0ciBbcmJwKzY3aF0gIAowMDAwMDdGOEMwNjYwMkYw
ICBtb3YgICAgICAgICByMTEscXdvcmQgcHRyIFtyYnArNkZoXSAgCiAgICAgICAgICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBjID0gZGlydGllZENvbHVtbnMuc3RhcnQoKTsgYyA8IGRpcnRpZWRD
b2x1bW5zLmVuZCgpOyBjKyspIHsKMDAwMDA3RjhDMDY2MDJGNCAgbW92ICAgICAgICAgZXNpLGVk
aSAgCjAwMDAwN0Y4QzA2NjAyRjYgIG5vcCAgICAgICAgIHdvcmQgcHRyIFtyYXgrcmF4XSAgCiAg
ICAgICAgICAgICAgICAgICAgICAgIENlbGxTdHJ1Y3QmIGN1cnJlbnQgPSBjZWxsQXQociwgYyk7
CjAwMDAwN0Y4QzA2NjAzMDAgIG1vdiAgICAgICAgIHJjeCxxd29yZCBwdHIgW3IxMCs5MGhdICAK
MDAwMDA3RjhDMDY2MDMwNyAgbW92ICAgICAgICAgcjkscXdvcmQgcHRyIFtyY3grcjE1KzhdICAK
ICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gY3VycmVudC5w
cmltYXJ5Q2VsbCgpOwowMDAwMDdGOEMwNjYwMzBDICBtb3YgICAgICAgICByZHgscXdvcmQgcHRy
IFtyOStyMTRdICAKICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxs
ID0gY3VycmVudC5wcmltYXJ5Q2VsbCgpOwowMDAwMDdGOEMwNjYwMzEwICB0ZXN0ICAgICAgICBy
ZHgscmR4ICAKMDAwMDA3RjhDMDY2MDMxMyAgamUgICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFi
bGVTZWN0aW9uOjpwYWludE9iamVjdCs0MThoICgwN0Y4QzA2NjAzODhoKSAgCjAwMDAwN0Y4QzA2
NjAzMTUgIG1vdiAgICAgICAgIHJheCxxd29yZCBwdHIgW3I5K3IxNCs4XSAgCjAwMDAwN0Y4QzA2
NjAzMUEgIG1vdiAgICAgICAgIHJkeCxxd29yZCBwdHIgW3JheCtyZHgqOC04XSAgCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghY2VsbCB8fCAociA+IGRpcnRpZWRSb3dzLnN0YXJ0KCkgJiYg
cHJpbWFyeUNlbGxBdChyIC0gMSwgYykgPT0gY2VsbCkgfHwgKGMgPiBkaXJ0aWVkQ29sdW1ucy5z
dGFydCgpICYmIHByaW1hcnlDZWxsQXQociwgYyAtIDEpID09IGNlbGwpKQowMDAwMDdGOEMwNjYw
MzFGICB0ZXN0ICAgICAgICByZHgscmR4ICAKMDAwMDA3RjhDMDY2MDMyMiAgamUgICAgICAgICAg
V2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdCs0MThoICgwN0Y4QzA2NjAz
ODhoKSAgCjAwMDAwN0Y4QzA2NjAzMjQgIGNtcCAgICAgICAgIHIxMmQsZWJ4ICAKMDAwMDA3RjhD
MDY2MDMyNyAgamJlICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9i
amVjdCszREVoICgwN0Y4QzA2NjAzNEVoKSAgCjAwMDAwN0Y4QzA2NjAzMjkgIGxlYSAgICAgICAg
IHJheCxbcmN4K3IxMyo4XSAgCjAwMDAwN0Y4QzA2NjAzMkQgIG1vdiAgICAgICAgIHJjeCxxd29y
ZCBwdHIgW3JheCtyMTUrOF0gIAowMDAwMDdGOEMwNjYwMzMyICBtb3YgICAgICAgICByOCxxd29y
ZCBwdHIgW3IxNCtyY3hdICAKMDAwMDA3RjhDMDY2MDMzNiAgdGVzdCAgICAgICAgcjgscjggIAow
MDAwMDdGOEMwNjYwMzM5ICBqZSAgICAgICAgICBXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246
OnBhaW50T2JqZWN0KzNEN2ggKDA3RjhDMDY2MDM0N2gpICAKMDAwMDA3RjhDMDY2MDMzQiAgbW92
ICAgICAgICAgcmF4LHF3b3JkIHB0ciBbcjE0K3JjeCs4XSAgCjAwMDAwN0Y4QzA2NjAzNDAgIG1v
diAgICAgICAgIHJjeCxxd29yZCBwdHIgW3JheCtyOCo4LThdICAKMDAwMDA3RjhDMDY2MDM0NSAg
am1wICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdCszRDlo
ICgwN0Y4QzA2NjAzNDloKSAgCjAwMDAwN0Y4QzA2NjAzNDcgIHhvciAgICAgICAgIGVjeCxlY3gg
IAowMDAwMDdGOEMwNjYwMzQ5ICBjbXAgICAgICAgICByY3gscmR4ICAKMDAwMDA3RjhDMDY2MDM0
QyAgamUgICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdCs0
MThoICgwN0Y4QzA2NjAzODhoKSAgCjAwMDAwN0Y4QzA2NjAzNEUgIGNtcCAgICAgICAgIGVzaSxl
ZGkgIAowMDAwMDdGOEMwNjYwMzUwICBqYmUgICAgICAgICBXZWJDb3JlOjpSZW5kZXJUYWJsZVNl
Y3Rpb246OnBhaW50T2JqZWN0KzQwMWggKDA3RjhDMDY2MDM3MWgpICAKMDAwMDA3RjhDMDY2MDM1
MiAgbGVhICAgICAgICAgZWF4LFtyc2ktMV0gIAowMDAwMDdGOEMwNjYwMzU1ICBsZWEgICAgICAg
ICByYXgsW3JheCtyYXgqNF0gIAowMDAwMDdGOEMwNjYwMzU5ICBtb3YgICAgICAgICByY3gscXdv
cmQgcHRyIFtyOStyYXgqOF0gIAowMDAwMDdGOEMwNjYwMzVEICB0ZXN0ICAgICAgICByY3gscmN4
ICAKMDAwMDA3RjhDMDY2MDM2MCAgamUgICAgICAgICAgV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0
aW9uOjpwYWludE9iamVjdCszRkNoICgwN0Y4QzA2NjAzNkNoKSAgCjAwMDAwN0Y4QzA2NjAzNjIg
IG1vdiAgICAgICAgIHJheCxxd29yZCBwdHIgW3I5K3JheCo4KzhdICAKMDAwMDA3RjhDMDY2MDM2
NyAgbW92ICAgICAgICAgcmN4LHF3b3JkIHB0ciBbcmF4K3JjeCo4LThdICAKMDAwMDA3RjhDMDY2
MDM2QyAgY21wICAgICAgICAgcmN4LHJkeCAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
Y2VsbCB8fCAociA+IGRpcnRpZWRSb3dzLnN0YXJ0KCkgJiYgcHJpbWFyeUNlbGxBdChyIC0gMSwg
YykgPT0gY2VsbCkgfHwgKGMgPiBkaXJ0aWVkQ29sdW1ucy5zdGFydCgpICYmIHByaW1hcnlDZWxs
QXQociwgYyAtIDEpID09IGNlbGwpKQowMDAwMDdGOEMwNjYwMzZGICBqZSAgICAgICAgICBXZWJD
b3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KzQxOGggKDA3RjhDMDY2MDM4OGgp
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAg
ICAgICAgICBwYWludENlbGwoY2VsbCwgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CjAwMDAwN0Y4
QzA2NjAzNzEgIG1vdiAgICAgICAgIHJheCxxd29yZCBwdHIgW3IxMF0gIAowMDAwMDdGOEMwNjYw
Mzc0ICBtb3YgICAgICAgICByOSxxd29yZCBwdHIgW3JicCs3N2hdICAKMDAwMDA3RjhDMDY2MDM3
OCAgbW92ICAgICAgICAgcjgscjExICAKMDAwMDA3RjhDMDY2MDM3QiAgbW92ICAgICAgICAgcmN4
LHIxMCAgCjAwMDAwN0Y4QzA2NjAzN0UgIGNhbGwgICAgICAgIHF3b3JkIHB0ciBbcmF4Kzc5OGhd
ICAKMDAwMDA3RjhDMDY2MDM4NCAgbW92ICAgICAgICAgcjEwLHF3b3JkIHB0ciBbcmJwKzY3aF0g
IAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194280</attachid>
            <date>2013-03-21 09:30:20 -0700</date>
            <delta_ts>2013-03-21 11:58:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112850-20130321172608.patch</filename>
            <type>text/plain</type>
            <size>17996</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGVjZTNhZjI1ZTVlNDc3
ZDk5MWRlYThiNjMyNTg3ZjUyZGJiNTA5Ni4uMGUwMWIwNWJhZTZjNzNmNWUyZmYzMmU5NzNmMWNh
ZTA5NWUyODIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTIxICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gUmVtb3ZlIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlj
a1dlYlBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTI4NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmVzIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlja1dl
YlBhZ2UgYW5kIHByZXBhcmVzIHRoZQorICAgICAgICBjbGFzcyBmb3IgdGhlIG1vdmUgdG8gUVJh
d1dlYlZpZXcuIFRoZSBhY2Nlc3MgdG8gdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgYW5kCisgICAg
ICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBpcyBwcm92aWRlZCB0aHJvdWdoIFFRdWlja1dl
YlZpZXdQcml2YXRlLCBhbmQgdGhlcmVmb3JlCisgICAgICAgIGFjY2Vzc29ycyB0byB0aGVzZSBw
cm9wZXJ0aWVzIGFyZSB0ZW1wb3JhcmlseSBhZGRlZC4gRXZlbnR1YWxseSwgdGhpcyBhY2Nlc3Mg
d2lsbAorICAgICAgICBiZSBwcm92aWRlZCB0aHJvdWdoIFFSYXdXZWJWaWV3IHdoZW4gdGhlIG1v
dmUgaXMgY29tcGxldGUuCisKKyAgICAgICAgVGhpcyBhbHNvIG1vdmVzIHRoZSBwb2ludGVyIHRv
IFF0V2ViUGFnZUV2ZW50SGFuZGxlciBmcm9tIFFRdWlja1dlYlBhZ2VQcml2YXRlCisgICAgICAg
IHRvIFFRdWlja1dlYlZpZXdQcml2YXRlIGFzIGl0IGlzIG1haW5seSB1c2VkIGZyb20gdGhlcmUu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwOgorICAgICAg
ICAoUVF1aWNrV2ViUGFnZVByaXZhdGU6OlFRdWlja1dlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludCk6CisgICAgICAgIChRUXVpY2tXZWJQYWdlOjp1
cGRhdGVQYWludE5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFn
ZV9wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3BfcC5oOgor
ICAgICAgICAoUVF1aWNrV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5p
dGlhbGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlTW91c2VFdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cHJvY2Vzc0RpZENyYXNoKToKKyAg
ICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUpOgor
ICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRldmljZVNjYWxlRmFjdG9yKToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpzZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3Rvcik6
CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25Db21wb25lbnRDb21w
bGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjprZXlQcmVzc0V2ZW50KToKKyAgICAgICAg
KFFRdWlja1dlYlZpZXc6OmtleVJlbGVhc2VFdmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
OjppbnB1dE1ldGhvZEV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjppdGVtQ2hhbmdlKToKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXc6OnRvdWNoRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6d2hlZWxFdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpob3ZlckVudGVyRXZlbnQpOgorICAgICAgICAo
UVF1aWNrV2ViVmlldzo6aG92ZXJNb3ZlRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6
aG92ZXJMZWF2ZUV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmRyYWdNb3ZlRXZlbnQp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJhZ0VudGVyRXZlbnQpOgorICAgICAgICAoUVF1
aWNrV2ViVmlldzo6ZHJhZ0xlYXZlRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJv
cEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZSk6CisKIDIwMTMtMDMtMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVGlsZWQgcGFnZSBvdmVybGF5IGxheWVycyBkb24ndCBj
cmVhdGUgdGlsZXMgdW50aWwgdGhlIGZpcnN0IGZsdXNoIGFmdGVyIHRoZXkgc3dpdGNoIHRvIGJl
aW5nIHRpbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJwYWdlLmNwcAppbmRleCA0ZjE5NmUxMzlhMjExMDJlNGQwNTY5ZmZiMzgzMWFiYzhjZDhhYjky
Li4wMmRkNjA0ZDBhYTlmZGJkZWQwNTU0YTBmM2M1M2M2Y2Y5ZjFmZjFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKQEAgLTIxLDEz
ICsyMSwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2Vf
cC5oIgogCi0jaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKICNpbmNs
dWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJRdFdlYlBhZ2VTR05vZGUu
aCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2VfcF9wLmgiCiAjaW5jbHVkZSAicXF1aWNr
d2Vidmlld19wLmgiCisjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlICJx
d2Via2l0dGVzdF9wLmgiCiAjaW5jbHVkZSA8UVF1aWNrV2luZG93PgogI2luY2x1ZGUgPFdlYkNv
cmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+CkBAIC01NCw0OSArNTMsMzMgQEAgUVF1aWNr
V2ViUGFnZTo6flFRdWlja1dlYlBhZ2UoKQogUVF1aWNrV2ViUGFnZVByaXZhdGU6OlFRdWlja1dl
YlBhZ2VQcml2YXRlKFFRdWlja1dlYlBhZ2UqIHEsIFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRl
bSkKICAgICA6IHEocSkKICAgICAsIHZpZXdwb3J0SXRlbSh2aWV3cG9ydEl0ZW0pCi0gICAgLCB3
ZWJQYWdlUHJveHkoMCkKICAgICAsIHBhaW50aW5nSXNJbml0aWFsaXplZChmYWxzZSkKICAgICAs
IGNvbnRlbnRzU2NhbGUoMSkKIHsKIH0KIAotdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6aW5p
dGlhbGl6ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KQotewotICAgIHRoaXMt
PndlYlBhZ2VQcm94eSA9IHdlYlBhZ2VQcm94eTsKLSAgICBldmVudEhhbmRsZXIucmVzZXQobmV3
IFF0V2ViUGFnZUV2ZW50SGFuZGxlcih0b0FQSSh3ZWJQYWdlUHJveHkpLCBxLCB2aWV3cG9ydEl0
ZW0pKTsKLX0KLQogdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6cGFpbnQoUVBhaW50ZXIqIHBh
aW50ZXIpCiB7Ci0gICAgaWYgKCF3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmIChjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpLT5jb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUoKSkKLSAgICAgICAgY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkoKS0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCktPnBhaW50VG9HcmFwaGljc0NvbnRl
eHQocGFpbnRlcik7CisgICAgaWYgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSog
c2NlbmUgPSBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KHZpZXdwb3J0SXRlbSktPmNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSgpKQorICAgICAgICBzY2VuZS0+cGFpbnRUb0dyYXBoaWNzQ29udGV4
dChwYWludGVyKTsKIH0KIAotQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIFFRdWlja1dl
YlBhZ2VQcml2YXRlOjpjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpCi17Ci0gICAgaWYg
KHdlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgcmV0dXJuIHdlYlBhZ2VQcm94
eS0+ZHJhd2luZ0FyZWEoKS0+Y29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKTsKLQotICAg
IHJldHVybiAwOwotfQogCiBRU0dOb2RlKiBRUXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUo
UVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFpbnROb2RlRGF0YSopCiB7Ci0gICAgaWYgKCFkLT53
ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIHJldHVybiBvbGROb2RlOworICAg
IFFRdWlja1dlYlZpZXdQcml2YXRlKiB3ZWJWaWV3UHJpdmF0ZSA9IFFRdWlja1dlYlZpZXdQcml2
YXRlOjpnZXQoZC0+dmlld3BvcnRJdGVtKTsKIAotICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZSogc2NlbmUgPSBkLT5jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpLT5j
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKTsKKyAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUqIHNjZW5lID0gd2ViVmlld1ByaXZhdGUtPmNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSgpOworICAgIGlmICghc2NlbmUpCisgICAgICAgIHJldHVybiBvbGROb2RlOwogCiAgICAgUXRX
ZWJQYWdlU0dOb2RlKiBub2RlID0gc3RhdGljX2Nhc3Q8UXRXZWJQYWdlU0dOb2RlKj4ob2xkTm9k
ZSk7CiAKICAgICBjb25zdCBRV2luZG93KiB3aW5kb3cgPSB0aGlzLT53aW5kb3coKTsKICAgICBB
U1NFUlQod2luZG93KTsKIAotICAgIGlmICh3aW5kb3cgJiYgZC0+d2ViUGFnZVByb3h5LT5kZXZp
Y2VTY2FsZUZhY3RvcigpICE9IHdpbmRvdy0+ZGV2aWNlUGl4ZWxSYXRpbygpKSB7Ci0gICAgICAg
IGQtPndlYlBhZ2VQcm94eS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3Iod2luZG93LT5k
ZXZpY2VQaXhlbFJhdGlvKCkpOworICAgIGlmICh3aW5kb3cgJiYgd2ViVmlld1ByaXZhdGUtPmRl
dmljZVNjYWxlRmFjdG9yKCkgIT0gd2luZG93LT5kZXZpY2VQaXhlbFJhdGlvKCkpIHsKKyAgICAg
ICAgd2ViVmlld1ByaXZhdGUtPnNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKHdpbmRvdy0+
ZGV2aWNlUGl4ZWxSYXRpbygpKTsKICAgICAgICAgLy8gVGhpcyBzaWduYWwgaXMgcXVldWVkIHNp
bmNlIGlmIHdlIGFyZSBydW5uaW5nIGEgdGhyZWFkZWQgcmVuZGVyZXIuIFRoaXMgbWlnaHQgY2F1
c2UgZmFpbHVyZXMKICAgICAgICAgLy8gaWYgdGVzdHMgYXJlIHJlYWRpbmcgdGhlIG5ldyB2YWx1
ZSBiZXR3ZWVuIHRoZSBwcm9wZXJ0eSBjaGFuZ2UgYW5kIHRoZSBzaWduYWwgZW1pc3Npb24uCiAg
ICAgICAgIGVtaXQgZC0+dmlld3BvcnRJdGVtLT5leHBlcmltZW50YWwoKS0+dGVzdCgpLT5kZXZp
Y2VQaXhlbFJhdGlvQ2hhbmdlZCgpOwpAQCAtMTA5LDE4ICs5MiwxMyBAQCBRU0dOb2RlKiBRUXVp
Y2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUoUVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFpbnRO
b2RlRGF0YSopCiAKICAgICBub2RlLT5zZXRTY2FsZShkLT5jb250ZW50c1NjYWxlKTsKICAgICBu
b2RlLT5zZXREZXZpY2VQaXhlbFJhdGlvKHdpbmRvdy0+ZGV2aWNlUGl4ZWxSYXRpbygpKTsKLSAg
ICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0gZC0+d2ViUGFnZVByb3h5LT5kcmF3c1RyYW5zcGFy
ZW50QmFja2dyb3VuZCgpID8gUXQ6OnRyYW5zcGFyZW50IDogUXQ6OndoaXRlOworICAgIFFDb2xv
ciBiYWNrZ3JvdW5kQ29sb3IgPSB3ZWJWaWV3UHJpdmF0ZS0+dHJhbnNwYXJlbnRCYWNrZ3JvdW5k
KCkgPyBRdDo6dHJhbnNwYXJlbnQgOiBRdDo6d2hpdGU7CiAgICAgUVJlY3RGIGJhY2tncm91bmRS
ZWN0KFFQb2ludEYoMCwgMCksIGQtPmNvbnRlbnRzU2l6ZSk7CiAgICAgbm9kZS0+c2V0QmFja2dy
b3VuZChiYWNrZ3JvdW5kUmVjdCwgYmFja2dyb3VuZENvbG9yKTsKIAogICAgIHJldHVybiBub2Rl
OwogfQogCi1RdFdlYlBhZ2VFdmVudEhhbmRsZXIqIFFRdWlja1dlYlBhZ2U6OmV2ZW50SGFuZGxl
cigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGQtPmV2ZW50SGFuZGxlci5kYXRhKCk7Ci19Ci0KIHZv
aWQgUVF1aWNrV2ViUGFnZTo6c2V0Q29udGVudHNTaXplKGNvbnN0IFFTaXplRiYgc2l6ZSkKIHsK
ICAgICBpZiAoc2l6ZS5pc0VtcHR5KCkgfHwgZC0+Y29udGVudHNTaXplID09IHNpemUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3AuaAppbmRl
eCAzYTExMmQ2MmIzZTlkY2MxZDk1MzkwMzlmNWMyMTVmMWNiN2NmOWNkLi5lMmFhYTZjMzhlZTUx
ZjE4MTdmYTJmZWVlM2ZlZjcxZjUwMjJkMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wLmgKQEAgLTI4LDExICsyOCw2IEBACiAKIGNs
YXNzIFFRdWlja1dlYlBhZ2VQcml2YXRlOwogY2xhc3MgUVF1aWNrV2ViVmlldzsKLWNsYXNzIFFX
ZWJQcmVmZXJlbmNlczsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBRdFdlYlBhZ2VFdmVu
dEhhbmRsZXI7Ci19CiAKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlBhZ2UgOiBwdWJs
aWMgUVF1aWNrSXRlbSB7CiAgICAgUV9PQkpFQ1QKQEAgLTQ4LDggKzQzLDYgQEAgcHVibGljOgog
ICAgIFFUcmFuc2Zvcm0gdHJhbnNmb3JtRnJvbUl0ZW0oKSBjb25zdDsKICAgICBRVHJhbnNmb3Jt
IHRyYW5zZm9ybVRvSXRlbSgpIGNvbnN0OwogCi0gICAgV2ViS2l0OjpRdFdlYlBhZ2VFdmVudEhh
bmRsZXIqIGV2ZW50SGFuZGxlcigpIGNvbnN0OwotCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBR
U0dOb2RlKiB1cGRhdGVQYWludE5vZGUoUVNHTm9kZSosIFVwZGF0ZVBhaW50Tm9kZURhdGEqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJw
YWdlX3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdl
X3BfcC5oCmluZGV4IDcwYzRlN2EwOTJiNzRlNzljNDBhNTE4ZTJjMzk4YjQ4NGE4YWE3ZGUuLjlh
MDRiM2YwM2EwYzllMjM4ZjU1YTVlM2Y0YjBkMjI3ODA5MTFhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wX3AuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcF9wLmgKQEAgLTI0LDI5
ICsyNCwxOSBAQAogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2VfcC5oIgogI2luY2x1ZGUgPFFUcmFu
c2Zvcm0+CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViUGFnZVByb3h5OwotY2xhc3Mg
UXRXZWJQYWdlRXZlbnRIYW5kbGVyOwotY2xhc3MgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHk7Ci19CitjbGFzcyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTsKIAogY2xhc3MgUVF1aWNrV2ViUGFn
ZVByaXZhdGUgewogcHVibGljOgogICAgIFFRdWlja1dlYlBhZ2VQcml2YXRlKFFRdWlja1dlYlBh
Z2UqIHEsIFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRlbSk7CiAgICAgflFRdWlja1dlYlBhZ2VQ
cml2YXRlKCk7CiAKLSAgICB2b2lkIGluaXRpYWxpemUoV2ViS2l0OjpXZWJQYWdlUHJveHkqKTsK
LQogICAgIHZvaWQgdXBkYXRlU2l6ZSgpOwogCiAgICAgdm9pZCBwYWludChRUGFpbnRlciopOwog
ICAgIHZvaWQgcmVzZXRQYWludE5vZGUoKTsKLSAgICBXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5KiBjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpOwotCi0gICAgUVNj
b3BlZFBvaW50ZXI8V2ViS2l0OjpRdFdlYlBhZ2VFdmVudEhhbmRsZXI+IGV2ZW50SGFuZGxlcjsK
ICAgICBRUXVpY2tXZWJQYWdlKiBjb25zdCBxOwogICAgIFFRdWlja1dlYlZpZXcqIGNvbnN0IHZp
ZXdwb3J0SXRlbTsKLSAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5OwogICAg
IGJvb2wgcGFpbnRpbmdJc0luaXRpYWxpemVkOwogCiAgICAgUVNpemVGIGNvbnRlbnRzU2l6ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CmluZGV4IDczNzVkNTQxMjg5ZWMzZGI0NDliOTI0NjYzZWRjNTZmMzA5ZGRmZDkuLjY1MGFhMDM1
YjQxYjk3NTc2NDgwMzUwNTk0NjJhYmIwN2NhN2RiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtMjMsNiArMjMsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogCisjaW5j
bHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKICNpbmNsdWRlICJEb3dubG9h
ZFByb3h5LmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eUltcGwuaCIKICNpbmNsdWRlICJQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaCIKQEAgLTczLDYgKzc0LDcgQEAKICNpbmNs
dWRlIDxXS1N0cmluZy5oPgogI2luY2x1ZGUgPFdLU3RyaW5nUXQuaD4KICNpbmNsdWRlIDxXS1VS
TFF0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+
CiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMzMyLDggKzMzNCw3IEBAIHZvaWQgUVF1aWNrV2ViVmll
d1ByaXZhdGU6OmluaXRpYWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3Vw
UmVmIHBhCiAgICAgd2ViUGFnZVByb3h5LT5mdWxsU2NyZWVuTWFuYWdlcigpLT5zZXRXZWJWaWV3
KHFfcHRyKTsKICNlbmRpZgogCi0gICAgUVF1aWNrV2ViUGFnZVByaXZhdGUqIGNvbnN0IHBhZ2VW
aWV3UHJpdmF0ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKLSAgICBwYWdlVmlld1ByaXZhdGUtPmlu
aXRpYWxpemUod2ViUGFnZVByb3h5LmdldCgpKTsKKyAgICBwYWdlRXZlbnRIYW5kbGVyLnJlc2V0
KG5ldyBRdFdlYlBhZ2VFdmVudEhhbmRsZXIod2ViUGFnZS5nZXQoKSwgcGFnZVZpZXcuZGF0YSgp
LCBxX3B0cikpOwogCiAgICAgewogICAgICAgICBXS1BhZ2VGaW5kQ2xpZW50IGZpbmRDbGllbnQ7
CkBAIC0zODIsNyArMzgzLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6
ZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGEKICAgICBXS1ByZWZl
cmVuY2VzU2V0V2ViR0xFbmFibGVkKHByZWZlcmVuY2VzUmVmLCB0cnVlKTsKICAgICB3ZWJQYWdl
UHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRGb3JjZUNvbXBvc2l0aW5nTW9k
ZSh0cnVlKTsKIAotICAgIHBhZ2VDbGllbnQuaW5pdGlhbGl6ZShxX3B0ciwgcGFnZVZpZXdQcml2
YXRlLT5ldmVudEhhbmRsZXIuZGF0YSgpLCAmdW5kb0NvbnRyb2xsZXIpOworICAgIHBhZ2VDbGll
bnQuaW5pdGlhbGl6ZShxX3B0ciwgcGFnZUV2ZW50SGFuZGxlci5kYXRhKCksICZ1bmRvQ29udHJv
bGxlcik7CiAgICAgd2ViUGFnZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgpOwogICAgIHdlYlBh
Z2VQcm94eS0+cmVnaXN0ZXJBcHBsaWNhdGlvblNjaGVtZShBU0NJSUxpdGVyYWwoInFyYyIpKTsK
IApAQCAtNTM4LDEzICs1MzksMTMgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxl
TW91c2VFdmVudChRTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgc3dpdGNoIChldmVudC0+dHlw
ZSgpKSB7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUHJlc3M6Ci0gICAgICAgIHBhZ2VW
aWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlTW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKKyAgICAg
ICAgcGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlTW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlTW92ZToKLSAgICAgICAgcGFnZVZpZXct
PmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZU1vdmVFdmVudChldmVudCk7CisgICAgICAgIHBh
Z2VFdmVudEhhbmRsZXItPmhhbmRsZU1vdXNlTW92ZUV2ZW50KGV2ZW50KTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKLSAgICAgICAgcGFnZVZp
ZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChldmVudCk7CisgICAg
ICAgIHBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGV2ZW50KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6CiAgICAg
ICAgIC8vIElmIGEgTW91c2VCdXR0b25EYmxDbGljayB3YXMgcmVjZWl2ZWQgdGhlbiB3ZSBnb3Qg
YSBNb3VzZUJ1dHRvblByZXNzIGJlZm9yZS4KQEAgLTU4Nyw3ICs1ODgsNyBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpwcm9jZXNzRGlkQ3Jhc2goKQogICAgIFFVcmwgdXJsKEtVUkwoV2Vi
Q29yZTo6UGFyc2VkVVJMU3RyaW5nLCB3ZWJQYWdlUHJveHktPnVybEF0UHJvY2Vzc0V4aXQoKSkp
OwogICAgIHFXYXJuaW5nKCJXQVJOSU5HOiBUaGUgd2ViIHByb2Nlc3MgZXhwZXJpZW5jZWQgYSBj
cmFzaCBvbiAnJXMnLiIsIHFQcmludGFibGUodXJsLnRvU3RyaW5nKFFVcmw6OlJlbW92ZVVzZXJJ
bmZvKSkpOwogCi0gICAgcGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5yZXNldEdlc3R1cmVSZWNv
Z25pemVycygpOworICAgIHBhZ2VFdmVudEhhbmRsZXItPnJlc2V0R2VzdHVyZVJlY29nbml6ZXJz
KCk7CiAKICAgICAvLyBDaGVjayBpZiBsb2FkaW5nIHdhcyBvbmdvaW5nLCB3aGVuIHByb2Nlc3Mg
Y3Jhc2hlZC4KICAgICBpZiAobV9sb2FkUHJvZ3Jlc3MgPiAwICYmIG1fbG9hZFByb2dyZXNzIDwg
MTAwKSB7CkBAIC05MzUsNiArOTM2LDI0IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRp
ZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KFdLU3RyaW5nUmVmIG1lCiAgICAg
ZW1pdCBxX3B0ci0+ZXhwZXJpbWVudGFsKCktPm1lc3NhZ2VSZWNlaXZlZCh2YXJpYW50TWFwKTsK
IH0KIAorQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKiBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkKK3sKKyAgICBpZiAoIXdlYlBhZ2VQcm94eSB8fCAhd2Vi
UGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpIHx8ICF3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkt
PmNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIHdlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+Y29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkoKS0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCk7Cit9CisKK2Zsb2F0IFFR
dWlja1dlYlZpZXdQcml2YXRlOjpkZXZpY2VTY2FsZUZhY3RvcigpCit7CisgICAgcmV0dXJuIHdl
YlBhZ2VQcm94eS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3Ip
Cit7CisgICAgd2ViUGFnZVByb3h5LT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihzY2Fs
ZUZhY3Rvcik7Cit9CisKIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjpRUXVpY2tXZWJWaWV3
TGVnYWN5UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZp
ZXdQcml2YXRlKHZpZXdwb3J0KQogewpAQCAtOTk1LDcgKzEwMTQsNyBAQCB2b2lkIFFRdWlja1dl
YlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKCkKICAgICBRX1EoUVF1
aWNrV2ViVmlldyk7CiAgICAgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LnJlc2V0KG5l
dyBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQocSwgcGFnZVZpZXcuZGF0YSgpKSk7CiAg
ICAgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyLnJlc2V0KG5ldyBQYWdlVmlld3BvcnRDb250cm9s
bGVyKHdlYlBhZ2VQcm94eS5nZXQoKSwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmRh
dGEoKSkpOwotICAgIHBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+c2V0Vmlld3BvcnRDb250cm9s
bGVyKG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5kYXRhKCkpOworICAgIHBhZ2VFdmVu
dEhhbmRsZXItPnNldFZpZXdwb3J0Q29udHJvbGxlcihtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJD
bGllbnQuZGF0YSgpKTsKIAogICAgIC8vIFRyaWdnZXIgc2V0dGluZyBvZiBjb3JyZWN0IHZpc2li
aWxpdHkgZmxhZ3MgYWZ0ZXIgZXZlcnl0aGluZyB3YXMgYWxsb2NhdGVkIGFuZCBpbml0aWFsaXpl
ZC4KICAgICBfcV9vblZpc2libGVDaGFuZ2VkKCk7CkBAIC0xOTQyLDI1ICsxOTYxLDI1IEBAIHZv
aWQgUVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUoKQogdm9pZCBRUXVpY2tXZWJWaWV3
OjprZXlQcmVzc0V2ZW50KFFLZXlFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZp
ZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlS2V5UHJlc3NFdmVu
dChldmVudCk7CisgICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlS2V5UHJlc3NFdmVudChl
dmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVu
dCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5l
dmVudEhhbmRsZXIoKS0+aGFuZGxlS2V5UmVsZWFzZUV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdl
RXZlbnRIYW5kbGVyLT5oYW5kbGVLZXlSZWxlYXNlRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFR
dWlja1dlYlZpZXc6OmlucHV0TWV0aG9kRXZlbnQoUUlucHV0TWV0aG9kRXZlbnQqIGV2ZW50KQog
ewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVy
KCktPmhhbmRsZUlucHV0TWV0aG9kRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRs
ZXItPmhhbmRsZUlucHV0TWV0aG9kRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZp
ZXc6OmZvY3VzSW5FdmVudChRRm9jdXNFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dl
YlZpZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlRm9jdXNJbkV2
ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVGb2N1c0luRXZlbnQo
ZXZlbnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6Oml0ZW1DaGFuZ2UoSXRlbUNoYW5nZSBj
aGFuZ2UsIGNvbnN0IEl0ZW1DaGFuZ2VEYXRhICZ2YWx1ZSkKQEAgLTE5NjksNyArMTk4OCw3IEBA
IHZvaWQgUVF1aWNrV2ViVmlldzo6aXRlbUNoYW5nZShJdGVtQ2hhbmdlIGNoYW5nZSwgY29uc3Qg
SXRlbUNoYW5nZURhdGEgJnZhbHVlKQogICAgIGlmIChjaGFuZ2UgPT0gSXRlbUFjdGl2ZUZvY3Vz
SGFzQ2hhbmdlZCkgewogICAgICAgICBib29sIGZvY3VzID0gdmFsdWUuYm9vbFZhbHVlOwogICAg
ICAgICBpZiAoIWZvY3VzKQotICAgICAgICAgICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigp
LT5oYW5kbGVGb2N1c0xvc3QoKTsKKyAgICAgICAgICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhh
bmRsZUZvY3VzTG9zdCgpOwogICAgIH0KICAgICBRUXVpY2tGbGlja2FibGU6Oml0ZW1DaGFuZ2Uo
Y2hhbmdlLCB2YWx1ZSk7CiB9CkBAIC0xOTg5LDcgKzIwMDgsNyBAQCB2b2lkIFFRdWlja1dlYlZp
ZXc6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogICAgICAgICBkLT5heGlzTG9ja2Vy
LnJlc2V0KCk7CiAKICAgICBmb3JjZUFjdGl2ZUZvY3VzKCk7Ci0gICAgZC0+cGFnZVZpZXctPmV2
ZW50SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRI
YW5kbGVyLT5oYW5kbGVUb3VjaEV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3
Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqIGV2ZW50KQpAQCAtMjAyMSw1MCArMjA0MCw1
MCBAQCB2b2lkIFFRdWlja1dlYlZpZXc6Om1vdXNlRG91YmxlQ2xpY2tFdmVudChRTW91c2VFdmVu
dCogZXZlbnQpCiB2b2lkIFFRdWlja1dlYlZpZXc6OndoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2
ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRI
YW5kbGVyKCktPmhhbmRsZVdoZWVsRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRs
ZXItPmhhbmRsZVdoZWVsRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6Omhv
dmVyRW50ZXJFdmVudChRSG92ZXJFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZp
ZXcpOwogICAgIC8vIE1hcCBIb3ZlckVudGVyIHRvIE1vdmUsIGZvciBXZWJLaXQgdGhlIGRpc3Rp
bmN0aW9uIGRvZXNuJ3QgbWF0dGVyLgotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+
aGFuZGxlSG92ZXJNb3ZlRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhh
bmRsZUhvdmVyTW92ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpob3Zl
ck1vdmVFdmVudChRSG92ZXJFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcp
OwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlSG92ZXJNb3ZlRXZlbnQo
ZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZUhvdmVyTW92ZUV2ZW50KGV2
ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpob3ZlckxlYXZlRXZlbnQoUUhvdmVyRXZl
bnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+
ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUhvdmVyTGVhdmVFdmVudChldmVudCk7CisgICAgZC0+cGFn
ZUV2ZW50SGFuZGxlci0+aGFuZGxlSG92ZXJMZWF2ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBR
UXVpY2tXZWJWaWV3OjpkcmFnTW92ZUV2ZW50KFFEcmFnTW92ZUV2ZW50KiBldmVudCkKIHsKICAg
ICBRX0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5o
YW5kbGVEcmFnTW92ZUV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5k
bGVEcmFnTW92ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3OjpkcmFnRW50
ZXJFdmVudChRRHJhZ0VudGVyRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3
KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZURyYWdFbnRlckV2ZW50
KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVEcmFnRW50ZXJFdmVudChl
dmVudCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6ZHJhZ0xlYXZlRXZlbnQoUURyYWdMZWF2
ZUV2ZW50KiBldmVudCkKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZp
ZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVEcmFnTGVhdmVFdmVudChldmVudCk7CisgICAgZC0+
cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlRHJhZ0xlYXZlRXZlbnQoZXZlbnQpOwogfQogCiB2b2lk
IFFRdWlja1dlYlZpZXc6OmRyb3BFdmVudChRRHJvcEV2ZW50KiBldmVudCkKIHsKICAgICBRX0Qo
UVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVE
cm9wRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZURyb3BFdmVu
dChldmVudCk7CiB9CiAKIGJvb2wgUVF1aWNrV2ViVmlldzo6ZXZlbnQoUUV2ZW50KiBldikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3Au
aAppbmRleCA5NDkzNmU4MDk1MWE0YWRlYmJiMTg4NzMxZjgzYjE4ZTcyOGJlNWJlLi40MzRmNDEx
Mjk4N2I0ZTAwYTU3NGY0ZjE1N2MxZWY4ZTE2NGE3MWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC0zNyw2ICszNywx
MCBAQAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTsKK30K
KwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBEb3dubG9hZFByb3h5OwogY2xhc3MgRHJhd2lu
Z0FyZWFQcm94eTsKQEAgLTQ0LDYgKzQ4LDcgQEAgY2xhc3MgUXREaWFsb2dSdW5uZXI7CiBjbGFz
cyBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQ7CiBjbGFzcyBRdFdlYkNvbnRleHQ7CiBj
bGFzcyBRdFdlYkVycm9yOworY2xhc3MgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOwogY2xhc3MgUXRX
ZWJQYWdlUG9saWN5Q2xpZW50OwogY2xhc3MgV2ViUGFnZVByb3h5OwogfQpAQCAtMTMzLDYgKzEz
OCwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRv
clF0T2JqZWN0KFdLU3RyaW5nUmVmIG1lc3NhZ2UpOwogCisgICAgV2ViQ29yZTo6Q29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lKiBjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKTsKKyAgICBmbG9hdCBk
ZXZpY2VTY2FsZUZhY3RvcigpOworICAgIHZvaWQgc2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0
b3IoZmxvYXQpOworCiBwcm90ZWN0ZWQ6CiAgICAgY2xhc3MgRmxpY2thYmxlQXhpc0xvY2tlciB7
CiAgICAgICAgIFFRdWlja0ZsaWNrYWJsZTo6RmxpY2thYmxlRGlyZWN0aW9uIG1fYWxsb3dlZERp
cmVjdGlvbjsKQEAgLTE4MCw2ICsxODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUVNjb3BlZFBvaW50
ZXI8V2ViS2l0OjpRdFdlYlBhZ2VVSUNsaWVudD4gcGFnZVVJQ2xpZW50OwogCiAgICAgUVNjb3Bl
ZFBvaW50ZXI8UVF1aWNrV2ViUGFnZT4gcGFnZVZpZXc7CisgICAgUVNjb3BlZFBvaW50ZXI8V2Vi
S2l0OjpRdFdlYlBhZ2VFdmVudEhhbmRsZXI+IHBhZ2VFdmVudEhhbmRsZXI7CiAgICAgUVF1aWNr
V2ViVmlldyogcV9wdHI7CiAgICAgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCogZXhwZXJpbWVu
dGFsOwogICAgIFdlYktpdDo6UXRXZWJDb250ZXh0KiBjb250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194311</attachid>
            <date>2013-03-21 11:58:18 -0700</date>
            <delta_ts>2013-04-09 04:01:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112850-20130321195405.patch</filename>
            <type>text/plain</type>
            <size>17993</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGVjZTNhZjI1ZTVlNDc3
ZDk5MWRlYThiNjMyNTg3ZjUyZGJiNTA5Ni4uMGUwMWIwNWJhZTZjNzNmNWUyZmYzMmU5NzNmMWNh
ZTA5NWUyODIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTIxICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gUmVtb3ZlIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlj
a1dlYlBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTI4NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmVzIGRpcmVjdCByZWZlcmVuY2VzIHRvIFdlYlBhZ2VQcm94eSBmcm9tIFFRdWlja1dl
YlBhZ2UgYW5kIHByZXBhcmVzIHRoZQorICAgICAgICBjbGFzcyBmb3IgdGhlIG1vdmUgdG8gUVJh
d1dlYlZpZXcuIFRoZSBhY2Nlc3MgdG8gdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgYW5kCisgICAg
ICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBpcyBwcm92aWRlZCB0aHJvdWdoIFFRdWlja1dl
YlZpZXdQcml2YXRlLCBhbmQgdGhlcmVmb3JlCisgICAgICAgIGFjY2Vzc29ycyB0byB0aGVzZSBw
cm9wZXJ0aWVzIGFyZSB0ZW1wb3JhcmlseSBhZGRlZC4gRXZlbnR1YWxseSwgdGhpcyBhY2Nlc3Mg
d2lsbAorICAgICAgICBiZSBwcm92aWRlZCB0aHJvdWdoIFFSYXdXZWJWaWV3IHdoZW4gdGhlIG1v
dmUgaXMgY29tcGxldGUuCisKKyAgICAgICAgVGhpcyBhbHNvIG1vdmVzIHRoZSBwb2ludGVyIHRv
IFF0V2ViUGFnZUV2ZW50SGFuZGxlciBmcm9tIFFRdWlja1dlYlBhZ2VQcml2YXRlCisgICAgICAg
IHRvIFFRdWlja1dlYlZpZXdQcml2YXRlIGFzIGl0IGlzIG1haW5seSB1c2VkIGZyb20gdGhlcmUu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwOgorICAgICAg
ICAoUVF1aWNrV2ViUGFnZVByaXZhdGU6OlFRdWlja1dlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludCk6CisgICAgICAgIChRUXVpY2tXZWJQYWdlOjp1
cGRhdGVQYWludE5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFn
ZV9wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3BfcC5oOgor
ICAgICAgICAoUVF1aWNrV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5p
dGlhbGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlTW91c2VFdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cHJvY2Vzc0RpZENyYXNoKToKKyAg
ICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUpOgor
ICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRldmljZVNjYWxlRmFjdG9yKToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpzZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3Rvcik6
CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25Db21wb25lbnRDb21w
bGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjprZXlQcmVzc0V2ZW50KToKKyAgICAgICAg
KFFRdWlja1dlYlZpZXc6OmtleVJlbGVhc2VFdmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
OjppbnB1dE1ldGhvZEV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjppdGVtQ2hhbmdlKToKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXc6OnRvdWNoRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6d2hlZWxFdmVu
dCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpob3ZlckVudGVyRXZlbnQpOgorICAgICAgICAo
UVF1aWNrV2ViVmlldzo6aG92ZXJNb3ZlRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6
aG92ZXJMZWF2ZUV2ZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmRyYWdNb3ZlRXZlbnQp
OgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJhZ0VudGVyRXZlbnQpOgorICAgICAgICAoUVF1
aWNrV2ViVmlldzo6ZHJhZ0xlYXZlRXZlbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6ZHJv
cEV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZSk6CisKIDIwMTMtMDMtMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVGlsZWQgcGFnZSBvdmVybGF5IGxheWVycyBkb24ndCBj
cmVhdGUgdGlsZXMgdW50aWwgdGhlIGZpcnN0IGZsdXNoIGFmdGVyIHRoZXkgc3dpdGNoIHRvIGJl
aW5nIHRpbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJwYWdlLmNwcAppbmRleCA0ZjE5NmUxMzlhMjExMDJlNGQwNTY5ZmZiMzgzMWFiYzhjZDhhYjky
Li4wMmRkNjA0ZDBhYTlmZGJkZWQwNTU0YTBmM2M1M2M2Y2Y5ZjFmZjFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKQEAgLTIxLDEz
ICsyMSwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2Vf
cC5oIgogCi0jaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKICNpbmNs
dWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJRdFdlYlBhZ2VTR05vZGUu
aCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2VfcF9wLmgiCiAjaW5jbHVkZSAicXF1aWNr
d2Vidmlld19wLmgiCisjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlICJx
d2Via2l0dGVzdF9wLmgiCiAjaW5jbHVkZSA8UVF1aWNrV2luZG93PgogI2luY2x1ZGUgPFdlYkNv
cmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+CkBAIC01NCw0OSArNTMsMzMgQEAgUVF1aWNr
V2ViUGFnZTo6flFRdWlja1dlYlBhZ2UoKQogUVF1aWNrV2ViUGFnZVByaXZhdGU6OlFRdWlja1dl
YlBhZ2VQcml2YXRlKFFRdWlja1dlYlBhZ2UqIHEsIFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRl
bSkKICAgICA6IHEocSkKICAgICAsIHZpZXdwb3J0SXRlbSh2aWV3cG9ydEl0ZW0pCi0gICAgLCB3
ZWJQYWdlUHJveHkoMCkKICAgICAsIHBhaW50aW5nSXNJbml0aWFsaXplZChmYWxzZSkKICAgICAs
IGNvbnRlbnRzU2NhbGUoMSkKIHsKIH0KIAotdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6aW5p
dGlhbGl6ZShXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KQotewotICAgIHRoaXMt
PndlYlBhZ2VQcm94eSA9IHdlYlBhZ2VQcm94eTsKLSAgICBldmVudEhhbmRsZXIucmVzZXQobmV3
IFF0V2ViUGFnZUV2ZW50SGFuZGxlcih0b0FQSSh3ZWJQYWdlUHJveHkpLCBxLCB2aWV3cG9ydEl0
ZW0pKTsKLX0KLQogdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6cGFpbnQoUVBhaW50ZXIqIHBh
aW50ZXIpCiB7Ci0gICAgaWYgKCF3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmIChjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpLT5jb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUoKSkKLSAgICAgICAgY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkoKS0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCktPnBhaW50VG9HcmFwaGljc0NvbnRl
eHQocGFpbnRlcik7CisgICAgaWYgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSog
c2NlbmUgPSBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KHZpZXdwb3J0SXRlbSktPmNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSgpKQorICAgICAgICBzY2VuZS0+cGFpbnRUb0dyYXBoaWNzQ29udGV4
dChwYWludGVyKTsKIH0KIAotQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIFFRdWlja1dl
YlBhZ2VQcml2YXRlOjpjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpCi17Ci0gICAgaWYg
KHdlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgcmV0dXJuIHdlYlBhZ2VQcm94
eS0+ZHJhd2luZ0FyZWEoKS0+Y29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKTsKLQotICAg
IHJldHVybiAwOwotfQogCiBRU0dOb2RlKiBRUXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUo
UVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFpbnROb2RlRGF0YSopCiB7Ci0gICAgaWYgKCFkLT53
ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIHJldHVybiBvbGROb2RlOworICAg
IFFRdWlja1dlYlZpZXdQcml2YXRlKiB3ZWJWaWV3UHJpdmF0ZSA9IFFRdWlja1dlYlZpZXdQcml2
YXRlOjpnZXQoZC0+dmlld3BvcnRJdGVtKTsKIAotICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZSogc2NlbmUgPSBkLT5jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpLT5j
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKTsKKyAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUqIHNjZW5lID0gd2ViVmlld1ByaXZhdGUtPmNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSgpOworICAgIGlmICghc2NlbmUpCisgICAgICAgIHJldHVybiBvbGROb2RlOwogCiAgICAgUXRX
ZWJQYWdlU0dOb2RlKiBub2RlID0gc3RhdGljX2Nhc3Q8UXRXZWJQYWdlU0dOb2RlKj4ob2xkTm9k
ZSk7CiAKICAgICBjb25zdCBRV2luZG93KiB3aW5kb3cgPSB0aGlzLT53aW5kb3coKTsKICAgICBB
U1NFUlQod2luZG93KTsKIAotICAgIGlmICh3aW5kb3cgJiYgZC0+d2ViUGFnZVByb3h5LT5kZXZp
Y2VTY2FsZUZhY3RvcigpICE9IHdpbmRvdy0+ZGV2aWNlUGl4ZWxSYXRpbygpKSB7Ci0gICAgICAg
IGQtPndlYlBhZ2VQcm94eS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3Iod2luZG93LT5k
ZXZpY2VQaXhlbFJhdGlvKCkpOworICAgIGlmICh3aW5kb3cgJiYgd2ViVmlld1ByaXZhdGUtPmRl
dmljZVNjYWxlRmFjdG9yKCkgIT0gd2luZG93LT5kZXZpY2VQaXhlbFJhdGlvKCkpIHsKKyAgICAg
ICAgd2ViVmlld1ByaXZhdGUtPnNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKHdpbmRvdy0+
ZGV2aWNlUGl4ZWxSYXRpbygpKTsKICAgICAgICAgLy8gVGhpcyBzaWduYWwgaXMgcXVldWVkIHNp
bmNlIGlmIHdlIGFyZSBydW5uaW5nIGEgdGhyZWFkZWQgcmVuZGVyZXIuIFRoaXMgbWlnaHQgY2F1
c2UgZmFpbHVyZXMKICAgICAgICAgLy8gaWYgdGVzdHMgYXJlIHJlYWRpbmcgdGhlIG5ldyB2YWx1
ZSBiZXR3ZWVuIHRoZSBwcm9wZXJ0eSBjaGFuZ2UgYW5kIHRoZSBzaWduYWwgZW1pc3Npb24uCiAg
ICAgICAgIGVtaXQgZC0+dmlld3BvcnRJdGVtLT5leHBlcmltZW50YWwoKS0+dGVzdCgpLT5kZXZp
Y2VQaXhlbFJhdGlvQ2hhbmdlZCgpOwpAQCAtMTA5LDE4ICs5MiwxMyBAQCBRU0dOb2RlKiBRUXVp
Y2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUoUVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFpbnRO
b2RlRGF0YSopCiAKICAgICBub2RlLT5zZXRTY2FsZShkLT5jb250ZW50c1NjYWxlKTsKICAgICBu
b2RlLT5zZXREZXZpY2VQaXhlbFJhdGlvKHdpbmRvdy0+ZGV2aWNlUGl4ZWxSYXRpbygpKTsKLSAg
ICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0gZC0+d2ViUGFnZVByb3h5LT5kcmF3c1RyYW5zcGFy
ZW50QmFja2dyb3VuZCgpID8gUXQ6OnRyYW5zcGFyZW50IDogUXQ6OndoaXRlOworICAgIFFDb2xv
ciBiYWNrZ3JvdW5kQ29sb3IgPSB3ZWJWaWV3UHJpdmF0ZS0+dHJhbnNwYXJlbnRCYWNrZ3JvdW5k
KCkgPyBRdDo6dHJhbnNwYXJlbnQgOiBRdDo6d2hpdGU7CiAgICAgUVJlY3RGIGJhY2tncm91bmRS
ZWN0KFFQb2ludEYoMCwgMCksIGQtPmNvbnRlbnRzU2l6ZSk7CiAgICAgbm9kZS0+c2V0QmFja2dy
b3VuZChiYWNrZ3JvdW5kUmVjdCwgYmFja2dyb3VuZENvbG9yKTsKIAogICAgIHJldHVybiBub2Rl
OwogfQogCi1RdFdlYlBhZ2VFdmVudEhhbmRsZXIqIFFRdWlja1dlYlBhZ2U6OmV2ZW50SGFuZGxl
cigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGQtPmV2ZW50SGFuZGxlci5kYXRhKCk7Ci19Ci0KIHZv
aWQgUVF1aWNrV2ViUGFnZTo6c2V0Q29udGVudHNTaXplKGNvbnN0IFFTaXplRiYgc2l6ZSkKIHsK
ICAgICBpZiAoc2l6ZS5pc0VtcHR5KCkgfHwgZC0+Y29udGVudHNTaXplID09IHNpemUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3AuaAppbmRl
eCAzYTExMmQ2MmIzZTlkY2MxZDk1MzkwMzlmNWMyMTVmMWNiN2NmOWNkLi5lMmFhYTZjMzhlZTUx
ZjE4MTdmYTJmZWVlM2ZlZjcxZjUwMjJkMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wLmgKQEAgLTI4LDExICsyOCw2IEBACiAKIGNs
YXNzIFFRdWlja1dlYlBhZ2VQcml2YXRlOwogY2xhc3MgUVF1aWNrV2ViVmlldzsKLWNsYXNzIFFX
ZWJQcmVmZXJlbmNlczsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBRdFdlYlBhZ2VFdmVu
dEhhbmRsZXI7Ci19CiAKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlBhZ2UgOiBwdWJs
aWMgUVF1aWNrSXRlbSB7CiAgICAgUV9PQkpFQ1QKQEAgLTQ4LDggKzQzLDYgQEAgcHVibGljOgog
ICAgIFFUcmFuc2Zvcm0gdHJhbnNmb3JtRnJvbUl0ZW0oKSBjb25zdDsKICAgICBRVHJhbnNmb3Jt
IHRyYW5zZm9ybVRvSXRlbSgpIGNvbnN0OwogCi0gICAgV2ViS2l0OjpRdFdlYlBhZ2VFdmVudEhh
bmRsZXIqIGV2ZW50SGFuZGxlcigpIGNvbnN0OwotCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBR
U0dOb2RlKiB1cGRhdGVQYWludE5vZGUoUVNHTm9kZSosIFVwZGF0ZVBhaW50Tm9kZURhdGEqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJw
YWdlX3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdl
X3BfcC5oCmluZGV4IDcwYzRlN2EwOTJiNzRlNzljNDBhNTE4ZTJjMzk4YjQ4NGE4YWE3ZGUuLjlh
MDRiM2YwM2EwYzllMjM4ZjU1YTVlM2Y0YjBkMjI3ODA5MTFhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wX3AuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcF9wLmgKQEAgLTI0LDI5
ICsyNCwxOSBAQAogI2luY2x1ZGUgInFxdWlja3dlYnBhZ2VfcC5oIgogI2luY2x1ZGUgPFFUcmFu
c2Zvcm0+CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViUGFnZVByb3h5OwotY2xhc3Mg
UXRXZWJQYWdlRXZlbnRIYW5kbGVyOwotY2xhc3MgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHk7Ci19CitjbGFzcyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTsKIAogY2xhc3MgUVF1aWNrV2ViUGFn
ZVByaXZhdGUgewogcHVibGljOgogICAgIFFRdWlja1dlYlBhZ2VQcml2YXRlKFFRdWlja1dlYlBh
Z2UqIHEsIFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRlbSk7CiAgICAgflFRdWlja1dlYlBhZ2VQ
cml2YXRlKCk7CiAKLSAgICB2b2lkIGluaXRpYWxpemUoV2ViS2l0OjpXZWJQYWdlUHJveHkqKTsK
LQogICAgIHZvaWQgdXBkYXRlU2l6ZSgpOwogCiAgICAgdm9pZCBwYWludChRUGFpbnRlciopOwog
ICAgIHZvaWQgcmVzZXRQYWludE5vZGUoKTsKLSAgICBXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5KiBjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpOwotCi0gICAgUVNj
b3BlZFBvaW50ZXI8V2ViS2l0OjpRdFdlYlBhZ2VFdmVudEhhbmRsZXI+IGV2ZW50SGFuZGxlcjsK
ICAgICBRUXVpY2tXZWJQYWdlKiBjb25zdCBxOwogICAgIFFRdWlja1dlYlZpZXcqIGNvbnN0IHZp
ZXdwb3J0SXRlbTsKLSAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5OwogICAg
IGJvb2wgcGFpbnRpbmdJc0luaXRpYWxpemVkOwogCiAgICAgUVNpemVGIGNvbnRlbnRzU2l6ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CmluZGV4IDczNzVkNTQxMjg5ZWMzZGI0NDliOTI0NjYzZWRjNTZmMzA5ZGRmZDkuLjgwYjFlYmEy
NDY4MmRjMWM0MDk4NmNiMzQyNTkwNmY2YTkxYjk0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtMjMsNiArMjMsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogCisjaW5j
bHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKICNpbmNsdWRlICJEb3dubG9h
ZFByb3h5LmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eUltcGwuaCIKICNpbmNsdWRlICJQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaCIKQEAgLTczLDYgKzc0LDcgQEAKICNpbmNs
dWRlIDxXS1N0cmluZy5oPgogI2luY2x1ZGUgPFdLU3RyaW5nUXQuaD4KICNpbmNsdWRlIDxXS1VS
TFF0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+
CiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMzMyLDggKzMzNCw3IEBAIHZvaWQgUVF1aWNrV2ViVmll
d1ByaXZhdGU6OmluaXRpYWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3Vw
UmVmIHBhCiAgICAgd2ViUGFnZVByb3h5LT5mdWxsU2NyZWVuTWFuYWdlcigpLT5zZXRXZWJWaWV3
KHFfcHRyKTsKICNlbmRpZgogCi0gICAgUVF1aWNrV2ViUGFnZVByaXZhdGUqIGNvbnN0IHBhZ2VW
aWV3UHJpdmF0ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKLSAgICBwYWdlVmlld1ByaXZhdGUtPmlu
aXRpYWxpemUod2ViUGFnZVByb3h5LmdldCgpKTsKKyAgICBwYWdlRXZlbnRIYW5kbGVyLnJlc2V0
KG5ldyBRdFdlYlBhZ2VFdmVudEhhbmRsZXIod2ViUGFnZS5nZXQoKSwgcGFnZVZpZXcuZGF0YSgp
LCBxX3B0cikpOwogCiAgICAgewogICAgICAgICBXS1BhZ2VGaW5kQ2xpZW50IGZpbmRDbGllbnQ7
CkBAIC0zODIsNyArMzgzLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6
ZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGEKICAgICBXS1ByZWZl
cmVuY2VzU2V0V2ViR0xFbmFibGVkKHByZWZlcmVuY2VzUmVmLCB0cnVlKTsKICAgICB3ZWJQYWdl
UHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRGb3JjZUNvbXBvc2l0aW5nTW9k
ZSh0cnVlKTsKIAotICAgIHBhZ2VDbGllbnQuaW5pdGlhbGl6ZShxX3B0ciwgcGFnZVZpZXdQcml2
YXRlLT5ldmVudEhhbmRsZXIuZGF0YSgpLCAmdW5kb0NvbnRyb2xsZXIpOworICAgIHBhZ2VDbGll
bnQuaW5pdGlhbGl6ZShxX3B0ciwgcGFnZUV2ZW50SGFuZGxlci5kYXRhKCksICZ1bmRvQ29udHJv
bGxlcik7CiAgICAgd2ViUGFnZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgpOwogICAgIHdlYlBh
Z2VQcm94eS0+cmVnaXN0ZXJBcHBsaWNhdGlvblNjaGVtZShBU0NJSUxpdGVyYWwoInFyYyIpKTsK
IApAQCAtNTM4LDEzICs1MzksMTMgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxl
TW91c2VFdmVudChRTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgc3dpdGNoIChldmVudC0+dHlw
ZSgpKSB7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUHJlc3M6Ci0gICAgICAgIHBhZ2VW
aWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlTW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKKyAgICAg
ICAgcGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlTW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlTW92ZToKLSAgICAgICAgcGFnZVZpZXct
PmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZU1vdmVFdmVudChldmVudCk7CisgICAgICAgIHBh
Z2VFdmVudEhhbmRsZXItPmhhbmRsZU1vdXNlTW92ZUV2ZW50KGV2ZW50KTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKLSAgICAgICAgcGFnZVZp
ZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChldmVudCk7CisgICAg
ICAgIHBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGV2ZW50KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6CiAgICAg
ICAgIC8vIElmIGEgTW91c2VCdXR0b25EYmxDbGljayB3YXMgcmVjZWl2ZWQgdGhlbiB3ZSBnb3Qg
YSBNb3VzZUJ1dHRvblByZXNzIGJlZm9yZS4KQEAgLTU4Nyw3ICs1ODgsNyBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpwcm9jZXNzRGlkQ3Jhc2goKQogICAgIFFVcmwgdXJsKEtVUkwoV2Vi
Q29yZTo6UGFyc2VkVVJMU3RyaW5nLCB3ZWJQYWdlUHJveHktPnVybEF0UHJvY2Vzc0V4aXQoKSkp
OwogICAgIHFXYXJuaW5nKCJXQVJOSU5HOiBUaGUgd2ViIHByb2Nlc3MgZXhwZXJpZW5jZWQgYSBj
cmFzaCBvbiAnJXMnLiIsIHFQcmludGFibGUodXJsLnRvU3RyaW5nKFFVcmw6OlJlbW92ZVVzZXJJ
bmZvKSkpOwogCi0gICAgcGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5yZXNldEdlc3R1cmVSZWNv
Z25pemVycygpOworICAgIHBhZ2VFdmVudEhhbmRsZXItPnJlc2V0R2VzdHVyZVJlY29nbml6ZXJz
KCk7CiAKICAgICAvLyBDaGVjayBpZiBsb2FkaW5nIHdhcyBvbmdvaW5nLCB3aGVuIHByb2Nlc3Mg
Y3Jhc2hlZC4KICAgICBpZiAobV9sb2FkUHJvZ3Jlc3MgPiAwICYmIG1fbG9hZFByb2dyZXNzIDwg
MTAwKSB7CkBAIC05MzUsNiArOTM2LDI0IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRp
ZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KFdLU3RyaW5nUmVmIG1lCiAgICAg
ZW1pdCBxX3B0ci0+ZXhwZXJpbWVudGFsKCktPm1lc3NhZ2VSZWNlaXZlZCh2YXJpYW50TWFwKTsK
IH0KIAorQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKiBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkKK3sKKyAgICBpZiAod2ViUGFnZVByb3h5ICYmIHdlYlBh
Z2VQcm94eS0+ZHJhd2luZ0FyZWEoKSAmJiB3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCktPmNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkpCisgICAgICAgIHJldHVybiB3ZWJQYWdlUHJv
eHktPmRyYXdpbmdBcmVhKCktPmNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCktPmNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZSgpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2Zsb2F0IFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpkZXZpY2VTY2FsZUZhY3RvcigpCit7CisgICAgcmV0dXJuIHdlYlBh
Z2VQcm94eS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCit7
CisgICAgd2ViUGFnZVByb3h5LT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihzY2FsZUZh
Y3Rvcik7Cit9CisKIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjpRUXVpY2tXZWJWaWV3TGVn
YWN5UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZpZXdQ
cml2YXRlKHZpZXdwb3J0KQogewpAQCAtOTk1LDcgKzEwMTQsNyBAQCB2b2lkIFFRdWlja1dlYlZp
ZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKCkKICAgICBRX1EoUVF1aWNr
V2ViVmlldyk7CiAgICAgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LnJlc2V0KG5ldyBQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQocSwgcGFnZVZpZXcuZGF0YSgpKSk7CiAgICAg
bV9wYWdlVmlld3BvcnRDb250cm9sbGVyLnJlc2V0KG5ldyBQYWdlVmlld3BvcnRDb250cm9sbGVy
KHdlYlBhZ2VQcm94eS5nZXQoKSwgbV9wYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmRhdGEo
KSkpOwotICAgIHBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+c2V0Vmlld3BvcnRDb250cm9sbGVy
KG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5kYXRhKCkpOworICAgIHBhZ2VFdmVudEhh
bmRsZXItPnNldFZpZXdwb3J0Q29udHJvbGxlcihtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGll
bnQuZGF0YSgpKTsKIAogICAgIC8vIFRyaWdnZXIgc2V0dGluZyBvZiBjb3JyZWN0IHZpc2liaWxp
dHkgZmxhZ3MgYWZ0ZXIgZXZlcnl0aGluZyB3YXMgYWxsb2NhdGVkIGFuZCBpbml0aWFsaXplZC4K
ICAgICBfcV9vblZpc2libGVDaGFuZ2VkKCk7CkBAIC0xOTQyLDI1ICsxOTYxLDI1IEBAIHZvaWQg
UVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUoKQogdm9pZCBRUXVpY2tXZWJWaWV3Ojpr
ZXlQcmVzc0V2ZW50KFFLZXlFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcp
OwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlS2V5UHJlc3NFdmVudChl
dmVudCk7CisgICAgZC0+cGFnZUV2ZW50SGFuZGxlci0+aGFuZGxlS2V5UHJlc3NFdmVudChldmVu
dCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCog
ZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVu
dEhhbmRsZXIoKS0+aGFuZGxlS2V5UmVsZWFzZUV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZl
bnRIYW5kbGVyLT5oYW5kbGVLZXlSZWxlYXNlRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFRdWlj
a1dlYlZpZXc6OmlucHV0TWV0aG9kRXZlbnQoUUlucHV0TWV0aG9kRXZlbnQqIGV2ZW50KQogewog
ICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCkt
PmhhbmRsZUlucHV0TWV0aG9kRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXIt
PmhhbmRsZUlucHV0TWV0aG9kRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6
OmZvY3VzSW5FdmVudChRRm9jdXNFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZp
ZXcpOwotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlRm9jdXNJbkV2ZW50
KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVGb2N1c0luRXZlbnQoZXZl
bnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6Oml0ZW1DaGFuZ2UoSXRlbUNoYW5nZSBjaGFu
Z2UsIGNvbnN0IEl0ZW1DaGFuZ2VEYXRhICZ2YWx1ZSkKQEAgLTE5NjksNyArMTk4OCw3IEBAIHZv
aWQgUVF1aWNrV2ViVmlldzo6aXRlbUNoYW5nZShJdGVtQ2hhbmdlIGNoYW5nZSwgY29uc3QgSXRl
bUNoYW5nZURhdGEgJnZhbHVlKQogICAgIGlmIChjaGFuZ2UgPT0gSXRlbUFjdGl2ZUZvY3VzSGFz
Q2hhbmdlZCkgewogICAgICAgICBib29sIGZvY3VzID0gdmFsdWUuYm9vbFZhbHVlOwogICAgICAg
ICBpZiAoIWZvY3VzKQotICAgICAgICAgICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5o
YW5kbGVGb2N1c0xvc3QoKTsKKyAgICAgICAgICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRs
ZUZvY3VzTG9zdCgpOwogICAgIH0KICAgICBRUXVpY2tGbGlja2FibGU6Oml0ZW1DaGFuZ2UoY2hh
bmdlLCB2YWx1ZSk7CiB9CkBAIC0xOTg5LDcgKzIwMDgsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXc6
OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogICAgICAgICBkLT5heGlzTG9ja2VyLnJl
c2V0KCk7CiAKICAgICBmb3JjZUFjdGl2ZUZvY3VzKCk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50
SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5k
bGVyLT5oYW5kbGVUb3VjaEV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpt
b3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqIGV2ZW50KQpAQCAtMjAyMSw1MCArMjA0MCw1MCBA
QCB2b2lkIFFRdWlja1dlYlZpZXc6Om1vdXNlRG91YmxlQ2xpY2tFdmVudChRTW91c2VFdmVudCog
ZXZlbnQpCiB2b2lkIFFRdWlja1dlYlZpZXc6OndoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2ZW50
KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5k
bGVyKCktPmhhbmRsZVdoZWVsRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXIt
PmhhbmRsZVdoZWVsRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6OmhvdmVy
RW50ZXJFdmVudChRSG92ZXJFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcp
OwogICAgIC8vIE1hcCBIb3ZlckVudGVyIHRvIE1vdmUsIGZvciBXZWJLaXQgdGhlIGRpc3RpbmN0
aW9uIGRvZXNuJ3QgbWF0dGVyLgotICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFu
ZGxlSG92ZXJNb3ZlRXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRs
ZUhvdmVyTW92ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpob3Zlck1v
dmVFdmVudChRSG92ZXJFdmVudCogZXZlbnQpCiB7CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwot
ICAgIGQtPnBhZ2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlSG92ZXJNb3ZlRXZlbnQoZXZl
bnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZUhvdmVyTW92ZUV2ZW50KGV2ZW50
KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpob3ZlckxlYXZlRXZlbnQoUUhvdmVyRXZlbnQq
IGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT5wYWdlVmlldy0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZUhvdmVyTGVhdmVFdmVudChldmVudCk7CisgICAgZC0+cGFnZUV2
ZW50SGFuZGxlci0+aGFuZGxlSG92ZXJMZWF2ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVp
Y2tXZWJWaWV3OjpkcmFnTW92ZUV2ZW50KFFEcmFnTW92ZUV2ZW50KiBldmVudCkKIHsKICAgICBR
X0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVEcmFnTW92ZUV2ZW50KGV2ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVE
cmFnTW92ZUV2ZW50KGV2ZW50KTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3OjpkcmFnRW50ZXJF
dmVudChRRHJhZ0VudGVyRXZlbnQqIGV2ZW50KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsK
LSAgICBkLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZURyYWdFbnRlckV2ZW50KGV2
ZW50KTsKKyAgICBkLT5wYWdlRXZlbnRIYW5kbGVyLT5oYW5kbGVEcmFnRW50ZXJFdmVudChldmVu
dCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6ZHJhZ0xlYXZlRXZlbnQoUURyYWdMZWF2ZUV2
ZW50KiBldmVudCkKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXct
PmV2ZW50SGFuZGxlcigpLT5oYW5kbGVEcmFnTGVhdmVFdmVudChldmVudCk7CisgICAgZC0+cGFn
ZUV2ZW50SGFuZGxlci0+aGFuZGxlRHJhZ0xlYXZlRXZlbnQoZXZlbnQpOwogfQogCiB2b2lkIFFR
dWlja1dlYlZpZXc6OmRyb3BFdmVudChRRHJvcEV2ZW50KiBldmVudCkKIHsKICAgICBRX0QoUVF1
aWNrV2ViVmlldyk7Ci0gICAgZC0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVEcm9w
RXZlbnQoZXZlbnQpOworICAgIGQtPnBhZ2VFdmVudEhhbmRsZXItPmhhbmRsZURyb3BFdmVudChl
dmVudCk7CiB9CiAKIGJvb2wgUVF1aWNrV2ViVmlldzo6ZXZlbnQoUUV2ZW50KiBldikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3Au
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApp
bmRleCA5NDkzNmU4MDk1MWE0YWRlYmJiMTg4NzMxZjgzYjE4ZTcyOGJlNWJlLi40MzRmNDExMjk4
N2I0ZTAwYTU3NGY0ZjE1N2MxZWY4ZTE2NGE3MWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC0zNyw2ICszNywxMCBA
QAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTsKK30KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBEb3dubG9hZFByb3h5OwogY2xhc3MgRHJhd2luZ0Fy
ZWFQcm94eTsKQEAgLTQ0LDYgKzQ4LDcgQEAgY2xhc3MgUXREaWFsb2dSdW5uZXI7CiBjbGFzcyBQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQ7CiBjbGFzcyBRdFdlYkNvbnRleHQ7CiBjbGFz
cyBRdFdlYkVycm9yOworY2xhc3MgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOwogY2xhc3MgUXRXZWJQ
YWdlUG9saWN5Q2xpZW50OwogY2xhc3MgV2ViUGFnZVByb3h5OwogfQpAQCAtMTMzLDYgKzEzOCwx
MCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0
T2JqZWN0KFdLU3RyaW5nUmVmIG1lc3NhZ2UpOwogCisgICAgV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lKiBjb29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKTsKKyAgICBmbG9hdCBkZXZp
Y2VTY2FsZUZhY3RvcigpOworICAgIHZvaWQgc2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3Io
ZmxvYXQpOworCiBwcm90ZWN0ZWQ6CiAgICAgY2xhc3MgRmxpY2thYmxlQXhpc0xvY2tlciB7CiAg
ICAgICAgIFFRdWlja0ZsaWNrYWJsZTo6RmxpY2thYmxlRGlyZWN0aW9uIG1fYWxsb3dlZERpcmVj
dGlvbjsKQEAgLTE4MCw2ICsxODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUVNjb3BlZFBvaW50ZXI8
V2ViS2l0OjpRdFdlYlBhZ2VVSUNsaWVudD4gcGFnZVVJQ2xpZW50OwogCiAgICAgUVNjb3BlZFBv
aW50ZXI8UVF1aWNrV2ViUGFnZT4gcGFnZVZpZXc7CisgICAgUVNjb3BlZFBvaW50ZXI8V2ViS2l0
OjpRdFdlYlBhZ2VFdmVudEhhbmRsZXI+IHBhZ2VFdmVudEhhbmRsZXI7CiAgICAgUVF1aWNrV2Vi
VmlldyogcV9wdHI7CiAgICAgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCogZXhwZXJpbWVudGFs
OwogICAgIFdlYktpdDo6UXRXZWJDb250ZXh0KiBjb250ZXh0Owo=
</data>
<flag name="review"
          id="216052"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>