<?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>60743</bug_id>
          
          <creation_ts>2011-05-12 18:39:45 -0700</creation_ts>
          <short_desc>Replace docTop/Right/Bottom/Left/Width/Height with documentRect</short_desc>
          <delta_ts>2011-05-16 16:34: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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>403305</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-12 18:39:45 -0700</bug_when>
    <thetext>RenderView has six methods for getting the document location and size, namely docTop, docRight, docBottom, docLeft, docWidth and docHeight. The current implementation of documentRect calls four of those, in effect computing the rect four times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403333</commentid>
    <comment_count>1</comment_count>
      <attachid>93392</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-12 19:40:36 -0700</bug_when>
    <thetext>Created attachment 93392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403339</commentid>
    <comment_count>2</comment_count>
      <attachid>93392</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-12 20:11:26 -0700</bug_when>
    <thetext>Comment on attachment 93392
Patch

Attachment 93392 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8689911</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404602</commentid>
    <comment_count>3</comment_count>
      <attachid>93392</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-16 11:05:37 -0700</bug_when>
    <thetext>Comment on attachment 93392
Patch

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

Fantastic!

&gt; Source/WebCore/page/FrameView.cpp:491
&gt; +    ScrollView::setScrollOrigin(IntPoint(-rect.x(), -rect.y()), !m_frame-&gt;document()-&gt;printing(), size == contentsSize());

Is there a helper for producing -x, -y from x, y?  What about just IntSize() - rect.location()?  I&apos;m not sure that&apos;s more clear though, so that may be a bad idea.... just brainstorming. :)

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:1143
&gt; +        m_rootPlatformLayer-&gt;setSize(FloatSize(documentRect.size()));

Do you need the explicit FloatSize conversion here?  I doubt it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404606</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-05-16 11:09:07 -0700</bug_when>
    <thetext>The Mac failure suggests that you need to fix the exports and WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404608</commentid>
    <comment_count>5</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-16 11:10:21 -0700</bug_when>
    <thetext>&gt; The Mac failure suggests that you need to fix the exports and WebKit.
Yeah, working on that now. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404616</commentid>
    <comment_count>6</comment_count>
      <attachid>93673</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-16 11:17:42 -0700</bug_when>
    <thetext>Created attachment 93673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404617</commentid>
    <comment_count>7</comment_count>
      <attachid>93673</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-16 11:18:56 -0700</bug_when>
    <thetext>Comment on attachment 93673
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404619</commentid>
    <comment_count>8</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-16 11:19:34 -0700</bug_when>
    <thetext>&gt; Is there a helper for producing -x, -y from x, y? 
No but I could add one, it&apos;s something we do in quite a few places so a helper might be useful.


&gt; Do you need the explicit FloatSize conversion here?  I doubt it.
Turns out I don&apos;t, good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404762</commentid>
    <comment_count>9</comment_count>
      <attachid>93704</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-05-16 15:18:37 -0700</bug_when>
    <thetext>Created attachment 93704
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404786</commentid>
    <comment_count>10</comment_count>
      <attachid>93704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 15:51:11 -0700</bug_when>
    <thetext>Comment on attachment 93704
Patch for landing

Rejecting attachment 93704 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;apply-...&quot; exit_code: 1

Last 500 characters of output:
autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://queues.webkit.org/results/8707083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404811</commentid>
    <comment_count>11</comment_count>
      <attachid>93704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 16:34:03 -0700</bug_when>
    <thetext>Comment on attachment 93704
Patch for landing

Clearing flags on attachment: 93704

Committed r86632: &lt;http://trac.webkit.org/changeset/86632&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404812</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-16 16:34:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93392</attachid>
            <date>2011-05-12 19:40:36 -0700</date>
            <delta_ts>2011-05-16 11:17:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>60743.patch</filename>
            <type>text/plain</type>
            <size>9145</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NDA5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDUtMTIgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRo
L0hlaWdodCB3aXRoIGRvY3VtZW50UmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjA3NDMKKworICAgICAgICBDaGFuZ2UgUmVuZGVyVmlldzo6ZG9j
dW1lbnRSZWN0IHRvIGNvbXB1dGUgcmVjdCBvbmNlIHJhdGhlciB0aGFuIGZvdXIgdGltZXMuCisg
ICAgICAgIFJlcGxhY2UgYWxsIHVzZXMgb2YgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRo
L0hlaWdodCB3aXRoIGRvY3VtZW50UmVjdCB0bworICAgICAgICBzaW1wbGlmeSB0aGUgY29kZSBh
bmQgcmVkdWNlIGNvbXBsZXhpdHkuCisKKyAgICAgICAgUmVmYWN0b3JpbmcsIGNvdmVyZWQgYnkg
ZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdpbmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1By
aW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcmludENvbnRleHQ6OmNvbXB1dGVQ
YWdlUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjpwYWludFJvb3RCb3hGaWxsTGF5ZXJzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUm9vdExheWVyUG9zaXRpb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6
OmRvY3VtZW50UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKwogMjAx
MS0wNS0xMiAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIgYW5kIEFkYW0gQmFydGguCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCShyZXZpc2lvbiA4NjM5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDg2LDkgKzQ4Niw5IEBAIHZvaWQgRnJhbWVW
aWV3OjphZGp1c3RWaWV3U2l6ZSgpCiAgICAgaWYgKCFyb290KQogICAgICAgICByZXR1cm47CiAK
LSAgICBJbnRTaXplIHNpemUgPSBJbnRTaXplKHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hl
aWdodCgpKTsKLQotICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9v
dC0+ZG9jTGVmdCgpLCAtcm9vdC0+ZG9jVG9wKCkpLCAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+cHJp
bnRpbmcoKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAgY29uc3QgSW50UmVjdCYgcmVj
dCA9IHJvb3QtPmRvY3VtZW50UmVjdCgpOworICAgIGNvbnN0IEludFNpemUmIHNpemUgPSByZWN0
LnNpemUoKTsKKyAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQoLXJlY3Qu
eCgpLCAtcmVjdC55KCkpLCAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSwgc2l6ZSA9
PSBjb250ZW50c1NpemUoKSk7CiAgICAgCiAgICAgc2V0Q29udGVudHNTaXplKHNpemUpOwogfQpA
QCAtMjUyOCw3ICsyNTI4LDkgQEAgdm9pZCBGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5h
dGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4gc2hydW5rLCB3ZSB3aWxsIGxheSBvdXQg
YXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEgY29udGVudC4KICAgICAgICAgLy8gRklY
TUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1maXQgcHJpbnRpbmcgaW1wbGVtZW50YXRp
b24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxlbWVudGF0aW9uIHNob3VsZCBub3QgZG8g
dGhpcyEKLSAgICAgICAgaW50IGRvY0xvZ2ljYWxXaWR0aCA9IHJvb3QtPnN0eWxlKCktPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByb290LT5kb2NXaWR0aCgpIDogcm9vdC0+ZG9jSGVpZ2h0
KCk7CisgICAgICAgIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IHJvb3QtPmRvY3VtZW50
UmVjdCgpOworICAgICAgICBib29sIGhvcml6b250YWxXcml0aW5nTW9kZSA9IHJvb3QtPnN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgICAgIGludCBkb2NMb2dpY2FsV2lk
dGggPSBob3Jpem9udGFsV3JpdGluZ01vZGUgPyBkb2N1bWVudFJlY3Qud2lkdGgoKSA6IGRvY3Vt
ZW50UmVjdC5oZWlnaHQoKTsKICAgICAgICAgaWYgKGRvY0xvZ2ljYWxXaWR0aCA+IHBhZ2VMb2dp
Y2FsV2lkdGgpIHsKICAgICAgICAgICAgIGZsb29yZWRQYWdlTG9naWNhbFdpZHRoID0gc3RkOjpt
aW48aW50Pihkb2NMb2dpY2FsV2lkdGgsIHBhZ2VMb2dpY2FsV2lkdGggKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKTsKICAgICAgICAgICAgIGlmIChwYWdlTG9naWNhbEhlaWdodCkKQEAgLTI1MzYsMTQg
KzI1MzgsMTQgQEAgdm9pZCBGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAg
ICAgICAgICAgcm9vdC0+c2V0TG9naWNhbFdpZHRoKGZsb29yZWRQYWdlTG9naWNhbFdpZHRoKTsK
ICAgICAgICAgICAgIHJvb3QtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwog
ICAgICAgICAgICAgZm9yY2VMYXlvdXQoKTsKLSAgICAgICAgICAgIGludCBkb2NMb2dpY2FsSGVp
Z2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJvb3QtPmRv
Y0hlaWdodCgpIDogcm9vdC0+ZG9jV2lkdGgoKTsKLSAgICAgICAgICAgIGludCBkb2NMb2dpY2Fs
VG9wID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJvb3QtPmRv
Y1RvcCgpIDogcm9vdC0+ZG9jTGVmdCgpOwotICAgICAgICAgICAgaW50IGRvY0xvZ2ljYWxSaWdo
dCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByb290LT5kb2NS
aWdodCgpIDogcm9vdC0+ZG9jQm90dG9tKCk7CisgICAgICAgICAgICBpbnQgZG9jTG9naWNhbEhl
aWdodCA9IGhvcml6b250YWxXcml0aW5nTW9kZSA/IGRvY3VtZW50UmVjdC5oZWlnaHQoKSA6IGRv
Y3VtZW50UmVjdC53aWR0aCgpOworICAgICAgICAgICAgaW50IGRvY0xvZ2ljYWxUb3AgPSBob3Jp
em9udGFsV3JpdGluZ01vZGUgPyBkb2N1bWVudFJlY3QueSgpIDogZG9jdW1lbnRSZWN0LngoKTsK
KyAgICAgICAgICAgIGludCBkb2NMb2dpY2FsUmlnaHQgPSBob3Jpem9udGFsV3JpdGluZ01vZGUg
PyBkb2N1bWVudFJlY3QubWF4WCgpIDogZG9jdW1lbnRSZWN0Lm1heFkoKTsKICAgICAgICAgICAg
IGludCBjbGlwcGVkTG9naWNhbExlZnQgPSAwOwogICAgICAgICAgICAgaWYgKCFyb290LT5zdHls
ZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICAgICAgY2xpcHBlZExv
Z2ljYWxMZWZ0ID0gZG9jTG9naWNhbFJpZ2h0IC0gZmxvb3JlZFBhZ2VMb2dpY2FsV2lkdGg7CiAg
ICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93KGNsaXBwZWRMb2dpY2FsTGVmdCwgZG9jTG9naWNh
bFRvcCwgZmxvb3JlZFBhZ2VMb2dpY2FsV2lkdGgsIGRvY0xvZ2ljYWxIZWlnaHQpOwotICAgICAg
ICAgICAgaWYgKCFyb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAg
ICAgICAgICAgaWYgKCFob3Jpem9udGFsV3JpdGluZ01vZGUpCiAgICAgICAgICAgICAgICAgb3Zl
cmZsb3cgPSBvdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgpOwogICAgICAgICAgICAgcm9vdC0+Y2xl
YXJMYXlvdXRPdmVyZmxvdygpOwogICAgICAgICAgICAgcm9vdC0+YWRkTGF5b3V0T3ZlcmZsb3co
b3ZlcmZsb3cpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cgYWdh
aW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCShyZXZpc2lvbiA4NjM5
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzQsMTMgKzc0LDE0IEBAIHZvaWQgUHJpbnRDb250ZXh0Ojpjb21wdXRlUGFnZVJlY3Rz
KGNvbnMKIAogICAgIGZsb2F0IHBhZ2VXaWR0aDsKICAgICBmbG9hdCBwYWdlSGVpZ2h0OworICAg
IGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IHZpZXctPmRvY3VtZW50UmVjdCgpOwogICAg
IGlmIChpc0hvcml6b250YWwpIHsKICAgICAgICAgZmxvYXQgcmF0aW8gPSBwcmludFJlY3QuaGVp
Z2h0KCkgLyBwcmludFJlY3Qud2lkdGgoKTsKLSAgICAgICAgcGFnZVdpZHRoID0gdmlldy0+ZG9j
V2lkdGgoKTsKKyAgICAgICAgcGFnZVdpZHRoID0gZG9jdW1lbnRSZWN0LndpZHRoKCk7CiAgICAg
ICAgIHBhZ2VIZWlnaHQgPSBmbG9vcmYocGFnZVdpZHRoICogcmF0aW8pOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGZsb2F0IHJhdGlvID0gcHJpbnRSZWN0LndpZHRoKCkgLyBwcmludFJlY3QuaGVp
Z2h0KCk7Ci0gICAgICAgIHBhZ2VIZWlnaHQgPSB2aWV3LT5kb2NIZWlnaHQoKTsKKyAgICAgICAg
cGFnZUhlaWdodCA9IGRvY3VtZW50UmVjdC5oZWlnaHQoKTsKICAgICAgICAgcGFnZVdpZHRoID0g
Zmxvb3JmKHBhZ2VIZWlnaHQgKiByYXRpbyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gODYzOTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzk4LDcgKzc5OCw3
IEBAIHZvaWQgUmVuZGVyQm94OjpwYWludFJvb3RCb3hGaWxsTGF5ZXJzKGMKICAgICB9CiAKICAg
ICAvLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYm94IGdlbmVyYXRlZCBieSB0aGUgcm9vdCBlbGVt
ZW50IGNvdmVycyB0aGUgZW50aXJlIGNhbnZhcywgc28ganVzdCB1c2UKLSAgICAvLyB0aGUgUmVu
ZGVyVmlldydzIGRvY1RvcC9MZWZ0L1dpZHRoL0hlaWdodCBhY2Nlc3NvcnMuCisgICAgLy8gdGhl
IFJlbmRlclZpZXcncyBkb2N1bWVudFJlY3QgYWNjZXNzb3IuCiAgICAgcGFpbnRGaWxsTGF5ZXJz
KHBhaW50SW5mbywgYmdDb2xvciwgYmdMYXllciwgdmlldygpLT5kb2N1bWVudFJlY3QoKSwgQmFj
a2dyb3VuZEJsZWVkTm9uZSwgQ29tcG9zaXRlU291cmNlT3ZlciwgYm9keU9iamVjdCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCShyZXZpc2lvbiA4NjM5NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM5LDggKzExMzks
OSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6d2lsbE1vdmVPZmZzCiB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUm9vdExheWVyUG9zaXRpb24oKQogewogICAgIGlmICht
X3Jvb3RQbGF0Zm9ybUxheWVyKSB7Ci0gICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFNp
emUoRmxvYXRTaXplKG1fcmVuZGVyVmlldy0+ZG9jV2lkdGgoKSwgbV9yZW5kZXJWaWV3LT5kb2NI
ZWlnaHQoKSkpOwotICAgICAgICBtX3Jvb3RQbGF0Zm9ybUxheWVyLT5zZXRQb3NpdGlvbihGbG9h
dFBvaW50KG1fcmVuZGVyVmlldy0+ZG9jTGVmdCgpLCBtX3JlbmRlclZpZXctPmRvY1RvcCgpKSk7
CisgICAgICAgIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IG1fcmVuZGVyVmlldy0+ZG9j
dW1lbnRSZWN0KCk7CisgICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFNpemUoRmxvYXRT
aXplKGRvY3VtZW50UmVjdC5zaXplKCkpKTsKKyAgICAgICAgbV9yb290UGxhdGZvcm1MYXllci0+
c2V0UG9zaXRpb24oRmxvYXRQb2ludChkb2N1bWVudFJlY3QubG9jYXRpb24oKSkpOwogICAgIH0K
ICAgICBpZiAobV9jbGlwTGF5ZXIpIHsKICAgICAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBt
X3JlbmRlclZpZXctPmZyYW1lVmlldygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcAkocmV2aXNpb24gODYzOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1Myw0MCArNjUzLDEzIEBAIElu
dFJlY3QgUmVuZGVyVmlldzo6dmlld1JlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0KCk7
CiB9CiAKLWludCBSZW5kZXJWaWV3Ojpkb2NUb3AoKSBjb25zdAotewotICAgIEludFJlY3Qgb3Zl
cmZsb3dSZWN0KDAsIG1pbllMYXlvdXRPdmVyZmxvdygpLCAwLCBtYXhZTGF5b3V0T3ZlcmZsb3co
KSAtIG1pbllMYXlvdXRPdmVyZmxvdygpKTsKLSAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dSZWN0KTsKLSAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCi0gICAgICAgIG92ZXJmbG93UmVjdCA9
IGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0KG92ZXJmbG93UmVjdCk7Ci0gICAg
cmV0dXJuIG92ZXJmbG93UmVjdC55KCk7Ci19Ci0KLWludCBSZW5kZXJWaWV3Ojpkb2NCb3R0b20o
KSBjb25zdAotewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgp
KTsKLSAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKLSAgICBpZiAoaGFzVHJh
bnNmb3JtKCkpCi0gICAgICAgIG92ZXJmbG93UmVjdCA9IGxheWVyKCktPmN1cnJlbnRUcmFuc2Zv
cm0oKS5tYXBSZWN0KG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVjdC5tYXhZ
KCk7Ci19Ci0KLWludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKLXsKLSAgICBJbnRSZWN0
IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7Ci0gICAgZmxpcEZvcldyaXRpbmdN
b2RlKG92ZXJmbG93UmVjdCk7Ci0gICAgaWYgKGhhc1RyYW5zZm9ybSgpKQotICAgICAgICBvdmVy
Zmxvd1JlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVjdChvdmVyZmxvd1Jl
Y3QpOwotICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwotfQotCi1pbnQgUmVuZGVyVmlldzo6
ZG9jUmlnaHQoKSBjb25zdAorSW50UmVjdCBSZW5kZXJWaWV3Ojpkb2N1bWVudFJlY3QoKSBjb25z
dAogewogICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKICAg
ICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBpZiAoaGFzVHJhbnNmb3Jt
KCkpCiAgICAgICAgIG92ZXJmbG93UmVjdCA9IGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKS5t
YXBSZWN0KG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVjdC5tYXhYKCk7Cisg
ICAgcmV0dXJuIG92ZXJmbG93UmVjdDsKIH0KIAogaW50IFJlbmRlclZpZXc6OnZpZXdIZWlnaHQo
KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lv
biA4NjM5NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtp
bmcgY29weSkKQEAgLTE2OCwxMyArMTY4LDcgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc0NvbXBv
c2l0aW5nKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIGludCBkb2NUb3AoKSBjb25zdDsKLSAgICBp
bnQgZG9jQm90dG9tKCkgY29uc3Q7Ci0gICAgaW50IGRvY0hlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IGRvY0JvdHRvbSgpIC0gZG9jVG9wKCk7IH0KLSAgICBpbnQgZG9jTGVmdCgpIGNvbnN0OwotICAg
IGludCBkb2NSaWdodCgpIGNvbnN0OwotICAgIGludCBkb2NXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IGRvY1JpZ2h0KCkgLSBkb2NMZWZ0KCk7IH0KLSAgICBJbnRSZWN0IGRvY3VtZW50UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIEludFJlY3QoZG9jTGVmdCgpLCBkb2NUb3AoKSwgZG9jV2lkdGgoKSwgZG9j
SGVpZ2h0KCkpOyB9CisgICAgSW50UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdDsKIAogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQs
IFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93673</attachid>
            <date>2011-05-16 11:17:42 -0700</date>
            <delta_ts>2011-05-16 15:18:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60743-20110516111741.patch</filename>
            <type>text/plain</type>
            <size>11597</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NTkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDUtMTYgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRo
L0hlaWdodCB3aXRoIGRvY3VtZW50UmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjA3NDMKKworICAgICAgICBDaGFuZ2UgUmVuZGVyVmlldzo6ZG9j
dW1lbnRSZWN0IHRvIGNvbXB1dGUgcmVjdCBvbmNlIHJhdGhlciB0aGFuIGZvdXIgdGltZXMuCisg
ICAgICAgIFJlcGxhY2UgYWxsIHVzZXMgb2YgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRo
L0hlaWdodCB3aXRoIGRvY3VtZW50UmVjdCB0bworICAgICAgICBzaW1wbGlmeSB0aGUgY29kZSBh
bmQgcmVkdWNlIGNvbXBsZXhpdHkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRqdXN0Vmlld1NpemUpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpmb3JjZUxheW91dEZvclBhZ2luYXRpb24pOgorICAg
ICAgICAqIHBhZ2UvUHJpbnRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByaW50Q29u
dGV4dDo6Y29tcHV0ZVBhZ2VSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50Um9vdEJveEZpbGxMYXllcnMp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVSb290TGF5ZXJQb3NpdGlv
bik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVmlldzo6ZG9jdW1lbnRSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Vmlldy5oOgorCiAyMDExLTA1LTE2ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gODY1ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTAyNiwxMCArMTAyNiw3IEBAIF9fWk5LN1dl
YkNvcmUxMFBsdWdpbkRhdGExNnN1cHBvcnRzTWltZVQKIF9fWk5LN1dlYkNvcmUxMFJlbmRlclRl
eHQxNmxpbmVzQm91bmRpbmdCb3hFdgogX19aTks3V2ViQ29yZTEwUmVuZGVyVGV4dDlmaXJzdFJ1
blhFdgogX19aTks3V2ViQ29yZTEwUmVuZGVyVGV4dDlmaXJzdFJ1bllFdgotX19aTks3V2ViQ29y
ZTEwUmVuZGVyVmlldzZkb2NUb3BFdgotX19aTks3V2ViQ29yZTEwUmVuZGVyVmlldzdkb2NMZWZ0
RXYKLV9fWk5LN1dlYkNvcmUxMFJlbmRlclZpZXc4ZG9jUmlnaHRFdgotX19aTks3V2ViQ29yZTEw
UmVuZGVyVmlldzlkb2NCb3R0b21FdgorX19aTks3V2ViQ29yZTEwUmVuZGVyVmlldzEyZG9jdW1l
bnRSZWN0RXYKIF9fWk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcxMmNvbnRlbnRzU2l6ZUV2CiBfX1pO
SzdXZWJDb3JlMTBTY3JvbGxWaWV3MTJkb2N1bWVudFZpZXdFdgogX19aTks3V2ViQ29yZTEwU2Ny
b2xsVmlldzE0c2Nyb2xsYmFyTW9kZXNFUk5TXzEzU2Nyb2xsYmFyTW9kZUVTMl8KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDg2NTgxKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODYsOSArNDg2LDkgQEAg
dm9pZCBGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAg
IHJldHVybjsKIAotICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+ZG9jV2lkdGgoKSwg
cm9vdC0+ZG9jSGVpZ2h0KCkpOwotCi0gICAgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKElu
dFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1yb290LT5kb2NUb3AoKSksICFtX2ZyYW1lLT5kb2N1
bWVudCgpLT5wcmludGluZygpLCBzaXplID09IGNvbnRlbnRzU2l6ZSgpKTsKKyAgICBjb25zdCBJ
bnRSZWN0JiByZWN0ID0gcm9vdC0+ZG9jdW1lbnRSZWN0KCk7CisgICAgY29uc3QgSW50U2l6ZSYg
c2l6ZSA9IHJlY3Quc2l6ZSgpOworICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdpbihJbnRQ
b2ludCgtcmVjdC54KCksIC1yZWN0LnkoKSksICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5wcmludGlu
ZygpLCBzaXplID09IGNvbnRlbnRzU2l6ZSgpKTsKICAgICAKICAgICBzZXRDb250ZW50c1NpemUo
c2l6ZSk7CiB9CkBAIC0yNTI4LDcgKzI1MjgsOSBAQCB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlv
dXRGb3JQYWdpbmF0aW9uCiAgICAgICAgIC8vIHBhZ2Ugd2lkdGggd2hlbiBzaHJ1bmssIHdlIHdp
bGwgbGF5IG91dCBhdCBtYXhpbXVtIHNocmluayBhbmQgY2xpcCBleHRyYSBjb250ZW50LgogICAg
ICAgICAvLyBGSVhNRTogV2UgYXJlIGFzc3VtaW5nIGEgc2hyaW5rLXRvLWZpdCBwcmludGluZyBp
bXBsZW1lbnRhdGlvbi4gIEEgY3JvcHBpbmcKICAgICAgICAgLy8gaW1wbGVtZW50YXRpb24gc2hv
dWxkIG5vdCBkbyB0aGlzIQotICAgICAgICBpbnQgZG9jTG9naWNhbFdpZHRoID0gcm9vdC0+c3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJvb3QtPmRvY1dpZHRoKCkgOiByb290
LT5kb2NIZWlnaHQoKTsKKyAgICAgICAgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0ID0gcm9v
dC0+ZG9jdW1lbnRSZWN0KCk7CisgICAgICAgIGJvb2wgaG9yaXpvbnRhbFdyaXRpbmdNb2RlID0g
cm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKKyAgICAgICAgaW50IGRv
Y0xvZ2ljYWxXaWR0aCA9IGhvcml6b250YWxXcml0aW5nTW9kZSA/IGRvY3VtZW50UmVjdC53aWR0
aCgpIDogZG9jdW1lbnRSZWN0LmhlaWdodCgpOwogICAgICAgICBpZiAoZG9jTG9naWNhbFdpZHRo
ID4gcGFnZUxvZ2ljYWxXaWR0aCkgewogICAgICAgICAgICAgZmxvb3JlZFBhZ2VMb2dpY2FsV2lk
dGggPSBzdGQ6Om1pbjxpbnQ+KGRvY0xvZ2ljYWxXaWR0aCwgcGFnZUxvZ2ljYWxXaWR0aCAqIG1h
eGltdW1TaHJpbmtGYWN0b3IpOwogICAgICAgICAgICAgaWYgKHBhZ2VMb2dpY2FsSGVpZ2h0KQpA
QCAtMjUzNiwxNCArMjUzOCwxNCBAQCB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdp
bmF0aW9uCiAgICAgICAgICAgICByb290LT5zZXRMb2dpY2FsV2lkdGgoZmxvb3JlZFBhZ2VMb2dp
Y2FsV2lkdGgpOwogICAgICAgICAgICAgcm9vdC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7CiAgICAgICAgICAgICBmb3JjZUxheW91dCgpOwotICAgICAgICAgICAgaW50IGRv
Y0xvZ2ljYWxIZWlnaHQgPSByb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gcm9vdC0+ZG9jSGVpZ2h0KCkgOiByb290LT5kb2NXaWR0aCgpOwotICAgICAgICAgICAgaW50
IGRvY0xvZ2ljYWxUb3AgPSByb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gcm9vdC0+ZG9jVG9wKCkgOiByb290LT5kb2NMZWZ0KCk7Ci0gICAgICAgICAgICBpbnQgZG9j
TG9naWNhbFJpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHJvb3QtPmRvY1JpZ2h0KCkgOiByb290LT5kb2NCb3R0b20oKTsKKyAgICAgICAgICAgIGludCBk
b2NMb2dpY2FsSGVpZ2h0ID0gaG9yaXpvbnRhbFdyaXRpbmdNb2RlID8gZG9jdW1lbnRSZWN0Lmhl
aWdodCgpIDogZG9jdW1lbnRSZWN0LndpZHRoKCk7CisgICAgICAgICAgICBpbnQgZG9jTG9naWNh
bFRvcCA9IGhvcml6b250YWxXcml0aW5nTW9kZSA/IGRvY3VtZW50UmVjdC55KCkgOiBkb2N1bWVu
dFJlY3QueCgpOworICAgICAgICAgICAgaW50IGRvY0xvZ2ljYWxSaWdodCA9IGhvcml6b250YWxX
cml0aW5nTW9kZSA/IGRvY3VtZW50UmVjdC5tYXhYKCkgOiBkb2N1bWVudFJlY3QubWF4WSgpOwog
ICAgICAgICAgICAgaW50IGNsaXBwZWRMb2dpY2FsTGVmdCA9IDA7CiAgICAgICAgICAgICBpZiAo
IXJvb3QtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKICAgICAgICAgICAgICAg
ICBjbGlwcGVkTG9naWNhbExlZnQgPSBkb2NMb2dpY2FsUmlnaHQgLSBmbG9vcmVkUGFnZUxvZ2lj
YWxXaWR0aDsKICAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3coY2xpcHBlZExvZ2ljYWxMZWZ0
LCBkb2NMb2dpY2FsVG9wLCBmbG9vcmVkUGFnZUxvZ2ljYWxXaWR0aCwgZG9jTG9naWNhbEhlaWdo
dCk7Ci0gICAgICAgICAgICBpZiAoIXJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkpCisgICAgICAgICAgICBpZiAoIWhvcml6b250YWxXcml0aW5nTW9kZSkKICAgICAgICAg
ICAgICAgICBvdmVyZmxvdyA9IG92ZXJmbG93LnRyYW5zcG9zZWRSZWN0KCk7CiAgICAgICAgICAg
ICByb290LT5jbGVhckxheW91dE92ZXJmbG93KCk7CiAgICAgICAgICAgICByb290LT5hZGRMYXlv
dXRPdmVyZmxvdyhvdmVyZmxvdyk7IC8vIFRoaXMgaXMgaG93IHdlIGNsaXAgaW4gY2FzZSB3ZSBv
dmVyZmxvdyBhZ2Fpbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAJKHJl
dmlzaW9uIDg2NTgxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NCwxMyArNzQsMTQgQEAgdm9pZCBQcmludENvbnRleHQ6OmNvbXB1
dGVQYWdlUmVjdHMoY29ucwogCiAgICAgZmxvYXQgcGFnZVdpZHRoOwogICAgIGZsb2F0IHBhZ2VI
ZWlnaHQ7CisgICAgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0ID0gdmlldy0+ZG9jdW1lbnRS
ZWN0KCk7CiAgICAgaWYgKGlzSG9yaXpvbnRhbCkgewogICAgICAgICBmbG9hdCByYXRpbyA9IHBy
aW50UmVjdC5oZWlnaHQoKSAvIHByaW50UmVjdC53aWR0aCgpOwotICAgICAgICBwYWdlV2lkdGgg
PSB2aWV3LT5kb2NXaWR0aCgpOworICAgICAgICBwYWdlV2lkdGggPSBkb2N1bWVudFJlY3Qud2lk
dGgoKTsKICAgICAgICAgcGFnZUhlaWdodCA9IGZsb29yZihwYWdlV2lkdGggKiByYXRpbyk7CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgZmxvYXQgcmF0aW8gPSBwcmludFJlY3Qud2lkdGgoKSAvIHBy
aW50UmVjdC5oZWlnaHQoKTsKLSAgICAgICAgcGFnZUhlaWdodCA9IHZpZXctPmRvY0hlaWdodCgp
OworICAgICAgICBwYWdlSGVpZ2h0ID0gZG9jdW1lbnRSZWN0LmhlaWdodCgpOwogICAgICAgICBw
YWdlV2lkdGggPSBmbG9vcmYocGFnZUhlaWdodCAqIHJhdGlvKTsKICAgICB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA4NjU4MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
OTgsNyArNzk4LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBhaW50Um9vdEJveEZpbGxMYXllcnMoYwog
ICAgIH0KIAogICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBib3ggZ2VuZXJhdGVkIGJ5IHRo
ZSByb290IGVsZW1lbnQgY292ZXJzIHRoZSBlbnRpcmUgY2FudmFzLCBzbyBqdXN0IHVzZQotICAg
IC8vIHRoZSBSZW5kZXJWaWV3J3MgZG9jVG9wL0xlZnQvV2lkdGgvSGVpZ2h0IGFjY2Vzc29ycy4K
KyAgICAvLyB0aGUgUmVuZGVyVmlldydzIGRvY3VtZW50UmVjdCBhY2Nlc3Nvci4KICAgICBwYWlu
dEZpbGxMYXllcnMocGFpbnRJbmZvLCBiZ0NvbG9yLCBiZ0xheWVyLCB2aWV3KCktPmRvY3VtZW50
UmVjdCgpLCBCYWNrZ3JvdW5kQmxlZWROb25lLCBDb21wb3NpdGVTb3VyY2VPdmVyLCBib2R5T2Jq
ZWN0KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAJKHJldmlzaW9uIDg2NTgxKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
MzksOCArMTEzOSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp3aWxsTW92ZU9mZnMK
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVSb290TGF5ZXJQb3NpdGlvbigpCiB7
CiAgICAgaWYgKG1fcm9vdFBsYXRmb3JtTGF5ZXIpIHsKLSAgICAgICAgbV9yb290UGxhdGZvcm1M
YXllci0+c2V0U2l6ZShGbG9hdFNpemUobV9yZW5kZXJWaWV3LT5kb2NXaWR0aCgpLCBtX3JlbmRl
clZpZXctPmRvY0hlaWdodCgpKSk7Ci0gICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFBv
c2l0aW9uKEZsb2F0UG9pbnQobV9yZW5kZXJWaWV3LT5kb2NMZWZ0KCksIG1fcmVuZGVyVmlldy0+
ZG9jVG9wKCkpKTsKKyAgICAgICAgY29uc3QgSW50UmVjdCYgZG9jdW1lbnRSZWN0ID0gbV9yZW5k
ZXJWaWV3LT5kb2N1bWVudFJlY3QoKTsKKyAgICAgICAgbV9yb290UGxhdGZvcm1MYXllci0+c2V0
U2l6ZShkb2N1bWVudFJlY3Quc2l6ZSgpKTsKKyAgICAgICAgbV9yb290UGxhdGZvcm1MYXllci0+
c2V0UG9zaXRpb24oZG9jdW1lbnRSZWN0LmxvY2F0aW9uKCkpOwogICAgIH0KICAgICBpZiAobV9j
bGlwTGF5ZXIpIHsKICAgICAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3JlbmRlclZpZXct
PmZyYW1lVmlldygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAkocmV2aXNpb24gODY1ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1Myw0MCArNjUzLDEzIEBAIEludFJlY3QgUmVuZGVy
Vmlldzo6dmlld1JlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAKLWludCBS
ZW5kZXJWaWV3Ojpkb2NUb3AoKSBjb25zdAotewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KDAs
IG1pbllMYXlvdXRPdmVyZmxvdygpLCAwLCBtYXhZTGF5b3V0T3ZlcmZsb3coKSAtIG1pbllMYXlv
dXRPdmVyZmxvdygpKTsKLSAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKLSAg
ICBpZiAoaGFzVHJhbnNmb3JtKCkpCi0gICAgICAgIG92ZXJmbG93UmVjdCA9IGxheWVyKCktPmN1
cnJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0KG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJm
bG93UmVjdC55KCk7Ci19Ci0KLWludCBSZW5kZXJWaWV3Ojpkb2NCb3R0b20oKSBjb25zdAotewot
ICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKLSAgICBmbGlw
Rm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKLSAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCi0g
ICAgICAgIG92ZXJmbG93UmVjdCA9IGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0
KG92ZXJmbG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVjdC5tYXhZKCk7Ci19Ci0KLWlu
dCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKLXsKLSAgICBJbnRSZWN0IG92ZXJmbG93UmVj
dChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7Ci0gICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93
UmVjdCk7Ci0gICAgaWYgKGhhc1RyYW5zZm9ybSgpKQotICAgICAgICBvdmVyZmxvd1JlY3QgPSBs
YXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVjdChvdmVyZmxvd1JlY3QpOwotICAgIHJl
dHVybiBvdmVyZmxvd1JlY3QueCgpOwotfQotCi1pbnQgUmVuZGVyVmlldzo6ZG9jUmlnaHQoKSBj
b25zdAorSW50UmVjdCBSZW5kZXJWaWV3Ojpkb2N1bWVudFJlY3QoKSBjb25zdAogewogICAgIElu
dFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKICAgICBmbGlwRm9yV3Jp
dGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCiAgICAgICAg
IG92ZXJmbG93UmVjdCA9IGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKS5tYXBSZWN0KG92ZXJm
bG93UmVjdCk7Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVjdC5tYXhYKCk7CisgICAgcmV0dXJuIG92
ZXJmbG93UmVjdDsKIH0KIAogaW50IFJlbmRlclZpZXc6OnZpZXdIZWlnaHQoKSBjb25zdApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lvbiA4NjU4MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE2OCwxMyArMTY4LDcgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc0NvbXBvc2l0aW5nKCkgY29u
c3Q7CiAjZW5kaWYKIAotICAgIGludCBkb2NUb3AoKSBjb25zdDsKLSAgICBpbnQgZG9jQm90dG9t
KCkgY29uc3Q7Ci0gICAgaW50IGRvY0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGRvY0JvdHRvbSgp
IC0gZG9jVG9wKCk7IH0KLSAgICBpbnQgZG9jTGVmdCgpIGNvbnN0OwotICAgIGludCBkb2NSaWdo
dCgpIGNvbnN0OwotICAgIGludCBkb2NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGRvY1JpZ2h0KCkg
LSBkb2NMZWZ0KCk7IH0KLSAgICBJbnRSZWN0IGRvY3VtZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IEludFJlY3QoZG9jTGVmdCgpLCBkb2NUb3AoKSwgZG9jV2lkdGgoKSwgZG9jSGVpZ2h0KCkpOyB9
CisgICAgSW50UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyLCBib29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQsIFRyYW5zZm9ybVN0
YXRlJikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjU5MCkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTA1LTE2ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIGRvY1RvcC9S
aWdodC9Cb3R0b20vTGVmdC9XaWR0aC9IZWlnaHQgd2l0aCBkb2N1bWVudFJlY3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzQzCisKKyAgICAgICAg
UmVwbGFjZSB1c2VzIG9mIGRvY1dpZHRoL0hlaWdodCB3aXRoIGRvY3VtZW50UmVjdC4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIF9jb21wdXRl
UGFnZVJlY3RzV2l0aFByaW50U2NhbGVGYWN0b3I6cGFnZVNpemU6XSk6CisKIDIwMTEtMDUtMTMg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQkocmV2aXNp
b24gODY1ODEpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzQzLDggKzEzNDMsOSBAQCAtIChOU0FycmF5ICopX2NvbXB1dGVQYWdl
UmVjdHNXaXRoUHJpbnRTCiAgICAgaWYgKCFyb290KQogICAgICAgICByZXR1cm4gW05TQXJyYXkg
YXJyYXldOwogCi0gICAgZmxvYXQgcHJpbnRXaWR0aCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyByb290LT5kb2NXaWR0aCgpIC8gcHJpbnRTY2FsZUZhY3RvciA6
IHBhZ2VTaXplLndpZHRoOwotICAgIGZsb2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VTaXplLmhlaWdodCA6IHJvb3QtPmRvY0hl
aWdodCgpIC8gcHJpbnRTY2FsZUZhY3RvcjsKKyAgICBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJl
Y3QgPSByb290LT5kb2N1bWVudFJlY3QoKTsKKyAgICBmbG9hdCBwcmludFdpZHRoID0gcm9vdC0+
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGRvY3VtZW50UmVjdC53aWR0aCgp
IC8gcHJpbnRTY2FsZUZhY3RvciA6IHBhZ2VTaXplLndpZHRoOworICAgIGZsb2F0IHByaW50SGVp
Z2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VTaXpl
LmhlaWdodCA6IGRvY3VtZW50UmVjdC5oZWlnaHQoKSAvIHByaW50U2NhbGVGYWN0b3I7CiAKICAg
ICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KF9wcml2YXRlLT5jb3JlRnJhbWUpOwogICAgIHBy
aW50Q29udGV4dC5jb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplKEZsb2F0U2l6ZShwcmludFdp
ZHRoLCBwcmludEhlaWdodCksIHRydWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93704</attachid>
            <date>2011-05-16 15:18:37 -0700</date>
            <delta_ts>2011-05-16 16:34:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-60743-20110516151836.patch</filename>
            <type>text/plain</type>
            <size>11600</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NjEyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDUtMTYgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgorCisgICAgICAgIFJlcGxhY2UgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRoL0hl
aWdodCB3aXRoIGRvY3VtZW50UmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjA3NDMKKworICAgICAgICBDaGFuZ2UgUmVuZGVyVmlldzo6ZG9jdW1l
bnRSZWN0IHRvIGNvbXB1dGUgcmVjdCBvbmNlIHJhdGhlciB0aGFuIGZvdXIgdGltZXMuCisgICAg
ICAgIFJlcGxhY2UgYWxsIHVzZXMgb2YgZG9jVG9wL1JpZ2h0L0JvdHRvbS9MZWZ0L1dpZHRoL0hl
aWdodCB3aXRoIGRvY3VtZW50UmVjdCB0bworICAgICAgICBzaW1wbGlmeSB0aGUgY29kZSBhbmQg
cmVkdWNlIGNvbXBsZXhpdHkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRqdXN0Vmlld1NpemUpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpmb3JjZUxheW91dEZvclBhZ2luYXRpb24pOgorICAgICAg
ICAqIHBhZ2UvUHJpbnRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByaW50Q29udGV4
dDo6Y29tcHV0ZVBhZ2VSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50Um9vdEJveEZpbGxMYXllcnMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVSb290TGF5ZXJQb3NpdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVmlldzo6ZG9jdW1lbnRSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmll
dy5oOgorCiAyMDExLTA1LTE2ICBDaHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgc2Vub3JibGFuY29AY2hyb21pdW0ub3JnLgpJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDg2NjEyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEwMjYsMTAgKzEwMjYsNyBAQCBfX1pOSzdXZWJD
b3JlMTBQbHVnaW5EYXRhMTZzdXBwb3J0c01pbWVUCiBfX1pOSzdXZWJDb3JlMTBSZW5kZXJUZXh0
MTZsaW5lc0JvdW5kaW5nQm94RXYKIF9fWk5LN1dlYkNvcmUxMFJlbmRlclRleHQ5Zmlyc3RSdW5Y
RXYKIF9fWk5LN1dlYkNvcmUxMFJlbmRlclRleHQ5Zmlyc3RSdW5ZRXYKLV9fWk5LN1dlYkNvcmUx
MFJlbmRlclZpZXc2ZG9jVG9wRXYKLV9fWk5LN1dlYkNvcmUxMFJlbmRlclZpZXc3ZG9jTGVmdEV2
Ci1fX1pOSzdXZWJDb3JlMTBSZW5kZXJWaWV3OGRvY1JpZ2h0RXYKLV9fWk5LN1dlYkNvcmUxMFJl
bmRlclZpZXc5ZG9jQm90dG9tRXYKK19fWk5LN1dlYkNvcmUxMFJlbmRlclZpZXcxMmRvY3VtZW50
UmVjdEV2CiBfX1pOSzdXZWJDb3JlMTBTY3JvbGxWaWV3MTJjb250ZW50c1NpemVFdgogX19aTks3
V2ViQ29yZTEwU2Nyb2xsVmlldzEyZG9jdW1lbnRWaWV3RXYKIF9fWk5LN1dlYkNvcmUxMFNjcm9s
bFZpZXcxNHNjcm9sbGJhck1vZGVzRVJOU18xM1Njcm9sbGJhck1vZGVFUzJfCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA4NjYxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAyLDkgKzUwMiw5IEBAIHZv
aWQgRnJhbWVWaWV3OjphZGp1c3RWaWV3U2l6ZSgpCiAgICAgaWYgKCFyb290KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBJbnRTaXplIHNpemUgPSBJbnRTaXplKHJvb3QtPmRvY1dpZHRoKCksIHJv
b3QtPmRvY0hlaWdodCgpKTsKLQotICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdpbihJbnRQ
b2ludCgtcm9vdC0+ZG9jTGVmdCgpLCAtcm9vdC0+ZG9jVG9wKCkpLCAhbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+cHJpbnRpbmcoKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAgY29uc3QgSW50
UmVjdCYgcmVjdCA9IHJvb3QtPmRvY3VtZW50UmVjdCgpOworICAgIGNvbnN0IEludFNpemUmIHNp
emUgPSByZWN0LnNpemUoKTsKKyAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxPcmlnaW4oSW50UG9p
bnQoLXJlY3QueCgpLCAtcmVjdC55KCkpLCAhbV9mcmFtZS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmco
KSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CiAgICAgCiAgICAgc2V0Q29udGVudHNTaXplKHNp
emUpOwogfQpAQCAtMjU1Miw3ICsyNTUyLDkgQEAgdm9pZCBGcmFtZVZpZXc6OmZvcmNlTGF5b3V0
Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4gc2hydW5rLCB3ZSB3aWxs
IGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEgY29udGVudC4KICAgICAg
ICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1maXQgcHJpbnRpbmcgaW1w
bGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxlbWVudGF0aW9uIHNob3Vs
ZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IGRvY0xvZ2ljYWxXaWR0aCA9IHJvb3QtPnN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByb290LT5kb2NXaWR0aCgpIDogcm9vdC0+
ZG9jSGVpZ2h0KCk7CisgICAgICAgIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IHJvb3Qt
PmRvY3VtZW50UmVjdCgpOworICAgICAgICBib29sIGhvcml6b250YWxXcml0aW5nTW9kZSA9IHJv
b3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgICAgIGludCBkb2NM
b2dpY2FsV2lkdGggPSBob3Jpem9udGFsV3JpdGluZ01vZGUgPyBkb2N1bWVudFJlY3Qud2lkdGgo
KSA6IGRvY3VtZW50UmVjdC5oZWlnaHQoKTsKICAgICAgICAgaWYgKGRvY0xvZ2ljYWxXaWR0aCA+
IHBhZ2VMb2dpY2FsV2lkdGgpIHsKICAgICAgICAgICAgIGZsb29yZWRQYWdlTG9naWNhbFdpZHRo
ID0gc3RkOjptaW48aW50Pihkb2NMb2dpY2FsV2lkdGgsIHBhZ2VMb2dpY2FsV2lkdGggKiBtYXhp
bXVtU2hyaW5rRmFjdG9yKTsKICAgICAgICAgICAgIGlmIChwYWdlTG9naWNhbEhlaWdodCkKQEAg
LTI1NjAsMTQgKzI1NjIsMTQgQEAgdm9pZCBGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5h
dGlvbgogICAgICAgICAgICAgcm9vdC0+c2V0TG9naWNhbFdpZHRoKGZsb29yZWRQYWdlTG9naWNh
bFdpZHRoKTsKICAgICAgICAgICAgIHJvb3QtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1Jl
Y2FsYygpOwogICAgICAgICAgICAgZm9yY2VMYXlvdXQoKTsKLSAgICAgICAgICAgIGludCBkb2NM
b2dpY2FsSGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHJvb3QtPmRvY0hlaWdodCgpIDogcm9vdC0+ZG9jV2lkdGgoKTsKLSAgICAgICAgICAgIGludCBk
b2NMb2dpY2FsVG9wID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHJvb3QtPmRvY1RvcCgpIDogcm9vdC0+ZG9jTGVmdCgpOwotICAgICAgICAgICAgaW50IGRvY0xv
Z2ljYWxSaWdodCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBy
b290LT5kb2NSaWdodCgpIDogcm9vdC0+ZG9jQm90dG9tKCk7CisgICAgICAgICAgICBpbnQgZG9j
TG9naWNhbEhlaWdodCA9IGhvcml6b250YWxXcml0aW5nTW9kZSA/IGRvY3VtZW50UmVjdC5oZWln
aHQoKSA6IGRvY3VtZW50UmVjdC53aWR0aCgpOworICAgICAgICAgICAgaW50IGRvY0xvZ2ljYWxU
b3AgPSBob3Jpem9udGFsV3JpdGluZ01vZGUgPyBkb2N1bWVudFJlY3QueSgpIDogZG9jdW1lbnRS
ZWN0LngoKTsKKyAgICAgICAgICAgIGludCBkb2NMb2dpY2FsUmlnaHQgPSBob3Jpem9udGFsV3Jp
dGluZ01vZGUgPyBkb2N1bWVudFJlY3QubWF4WCgpIDogZG9jdW1lbnRSZWN0Lm1heFkoKTsKICAg
ICAgICAgICAgIGludCBjbGlwcGVkTG9naWNhbExlZnQgPSAwOwogICAgICAgICAgICAgaWYgKCFy
b290LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICAgICAg
Y2xpcHBlZExvZ2ljYWxMZWZ0ID0gZG9jTG9naWNhbFJpZ2h0IC0gZmxvb3JlZFBhZ2VMb2dpY2Fs
V2lkdGg7CiAgICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93KGNsaXBwZWRMb2dpY2FsTGVmdCwg
ZG9jTG9naWNhbFRvcCwgZmxvb3JlZFBhZ2VMb2dpY2FsV2lkdGgsIGRvY0xvZ2ljYWxIZWlnaHQp
OwotICAgICAgICAgICAgaWYgKCFyb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpKQorICAgICAgICAgICAgaWYgKCFob3Jpem9udGFsV3JpdGluZ01vZGUpCiAgICAgICAgICAg
ICAgICAgb3ZlcmZsb3cgPSBvdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgpOwogICAgICAgICAgICAg
cm9vdC0+Y2xlYXJMYXlvdXRPdmVyZmxvdygpOwogICAgICAgICAgICAgcm9vdC0+YWRkTGF5b3V0
T3ZlcmZsb3cob3ZlcmZsb3cpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3Zl
cmZsb3cgYWdhaW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENvbnRleHQuY3BwCShyZXZp
c2lvbiA4NjYxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzQsMTMgKzc0LDE0IEBAIHZvaWQgUHJpbnRDb250ZXh0Ojpjb21wdXRl
UGFnZVJlY3RzKGNvbnMKIAogICAgIGZsb2F0IHBhZ2VXaWR0aDsKICAgICBmbG9hdCBwYWdlSGVp
Z2h0OworICAgIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IHZpZXctPmRvY3VtZW50UmVj
dCgpOwogICAgIGlmIChpc0hvcml6b250YWwpIHsKICAgICAgICAgZmxvYXQgcmF0aW8gPSBwcmlu
dFJlY3QuaGVpZ2h0KCkgLyBwcmludFJlY3Qud2lkdGgoKTsKLSAgICAgICAgcGFnZVdpZHRoID0g
dmlldy0+ZG9jV2lkdGgoKTsKKyAgICAgICAgcGFnZVdpZHRoID0gZG9jdW1lbnRSZWN0LndpZHRo
KCk7CiAgICAgICAgIHBhZ2VIZWlnaHQgPSBmbG9vcmYocGFnZVdpZHRoICogcmF0aW8pOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIGZsb2F0IHJhdGlvID0gcHJpbnRSZWN0LndpZHRoKCkgLyBwcmlu
dFJlY3QuaGVpZ2h0KCk7Ci0gICAgICAgIHBhZ2VIZWlnaHQgPSB2aWV3LT5kb2NIZWlnaHQoKTsK
KyAgICAgICAgcGFnZUhlaWdodCA9IGRvY3VtZW50UmVjdC5oZWlnaHQoKTsKICAgICAgICAgcGFn
ZVdpZHRoID0gZmxvb3JmKHBhZ2VIZWlnaHQgKiByYXRpbyk7CiAgICAgfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gODY2MTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzk4
LDcgKzc5OCw3IEBAIHZvaWQgUmVuZGVyQm94OjpwYWludFJvb3RCb3hGaWxsTGF5ZXJzKGMKICAg
ICB9CiAKICAgICAvLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYm94IGdlbmVyYXRlZCBieSB0aGUg
cm9vdCBlbGVtZW50IGNvdmVycyB0aGUgZW50aXJlIGNhbnZhcywgc28ganVzdCB1c2UKLSAgICAv
LyB0aGUgUmVuZGVyVmlldydzIGRvY1RvcC9MZWZ0L1dpZHRoL0hlaWdodCBhY2Nlc3NvcnMuCisg
ICAgLy8gdGhlIFJlbmRlclZpZXcncyBkb2N1bWVudFJlY3QgYWNjZXNzb3IuCiAgICAgcGFpbnRG
aWxsTGF5ZXJzKHBhaW50SW5mbywgYmdDb2xvciwgYmdMYXllciwgdmlldygpLT5kb2N1bWVudFJl
Y3QoKSwgQmFja2dyb3VuZEJsZWVkTm9uZSwgQ29tcG9zaXRlU291cmNlT3ZlciwgYm9keU9iamVj
dCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCShyZXZpc2lvbiA4NjYxMikKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM5
LDggKzExMzksOSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6d2lsbE1vdmVPZmZzCiB2
b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUm9vdExheWVyUG9zaXRpb24oKQogewog
ICAgIGlmIChtX3Jvb3RQbGF0Zm9ybUxheWVyKSB7Ci0gICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5
ZXItPnNldFNpemUoRmxvYXRTaXplKG1fcmVuZGVyVmlldy0+ZG9jV2lkdGgoKSwgbV9yZW5kZXJW
aWV3LT5kb2NIZWlnaHQoKSkpOwotICAgICAgICBtX3Jvb3RQbGF0Zm9ybUxheWVyLT5zZXRQb3Np
dGlvbihGbG9hdFBvaW50KG1fcmVuZGVyVmlldy0+ZG9jTGVmdCgpLCBtX3JlbmRlclZpZXctPmRv
Y1RvcCgpKSk7CisgICAgICAgIGNvbnN0IEludFJlY3QmIGRvY3VtZW50UmVjdCA9IG1fcmVuZGVy
Vmlldy0+ZG9jdW1lbnRSZWN0KCk7CisgICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFNp
emUoZG9jdW1lbnRSZWN0LnNpemUoKSk7CisgICAgICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNl
dFBvc2l0aW9uKGRvY3VtZW50UmVjdC5sb2NhdGlvbigpKTsKICAgICB9CiAgICAgaWYgKG1fY2xp
cExheWVyKSB7CiAgICAgICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5m
cmFtZVZpZXcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJ
KHJldmlzaW9uIDg2NjEyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTMsNDAgKzY1MywxMyBAQCBJbnRSZWN0IFJlbmRlclZp
ZXc6OnZpZXdSZWN0KCkgY29uc3QKICAgICByZXR1cm4gSW50UmVjdCgpOwogfQogCi1pbnQgUmVu
ZGVyVmlldzo6ZG9jVG9wKCkgY29uc3QKLXsKLSAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCgwLCBt
aW5ZTGF5b3V0T3ZlcmZsb3coKSwgMCwgbWF4WUxheW91dE92ZXJmbG93KCkgLSBtaW5ZTGF5b3V0
T3ZlcmZsb3coKSk7Ci0gICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Ci0gICAg
aWYgKGhhc1RyYW5zZm9ybSgpKQotICAgICAgICBvdmVyZmxvd1JlY3QgPSBsYXllcigpLT5jdXJy
ZW50VHJhbnNmb3JtKCkubWFwUmVjdChvdmVyZmxvd1JlY3QpOwotICAgIHJldHVybiBvdmVyZmxv
d1JlY3QueSgpOwotfQotCi1pbnQgUmVuZGVyVmlldzo6ZG9jQm90dG9tKCkgY29uc3QKLXsKLSAg
ICBJbnRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7Ci0gICAgZmxpcEZv
cldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Ci0gICAgaWYgKGhhc1RyYW5zZm9ybSgpKQotICAg
ICAgICBvdmVyZmxvd1JlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVjdChv
dmVyZmxvd1JlY3QpOwotICAgIHJldHVybiBvdmVyZmxvd1JlY3QubWF4WSgpOwotfQotCi1pbnQg
UmVuZGVyVmlldzo6ZG9jTGVmdCgpIGNvbnN0Ci17Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3Qo
bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1Jl
Y3QpOwotICAgIGlmIChoYXNUcmFuc2Zvcm0oKSkKLSAgICAgICAgb3ZlcmZsb3dSZWN0ID0gbGF5
ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpLm1hcFJlY3Qob3ZlcmZsb3dSZWN0KTsKLSAgICByZXR1
cm4gb3ZlcmZsb3dSZWN0LngoKTsKLX0KLQotaW50IFJlbmRlclZpZXc6OmRvY1JpZ2h0KCkgY29u
c3QKK0ludFJlY3QgUmVuZGVyVmlldzo6ZG9jdW1lbnRSZWN0KCkgY29uc3QKIHsKICAgICBJbnRS
ZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CiAgICAgZmxpcEZvcldyaXRp
bmdNb2RlKG92ZXJmbG93UmVjdCk7CiAgICAgaWYgKGhhc1RyYW5zZm9ybSgpKQogICAgICAgICBv
dmVyZmxvd1JlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVjdChvdmVyZmxv
d1JlY3QpOwotICAgIHJldHVybiBvdmVyZmxvd1JlY3QubWF4WCgpOworICAgIHJldHVybiBvdmVy
Zmxvd1JlY3Q7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojp2aWV3SGVpZ2h0KCkgY29uc3QKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAkocmV2aXNpb24gODY2MTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjgsMTMgKzE2OCw3IEBAIHB1YmxpYzoKICAgICBib29sIHVzZXNDb21wb3NpdGluZygpIGNvbnN0
OwogI2VuZGlmCiAKLSAgICBpbnQgZG9jVG9wKCkgY29uc3Q7Ci0gICAgaW50IGRvY0JvdHRvbSgp
IGNvbnN0OwotICAgIGludCBkb2NIZWlnaHQoKSBjb25zdCB7IHJldHVybiBkb2NCb3R0b20oKSAt
IGRvY1RvcCgpOyB9Ci0gICAgaW50IGRvY0xlZnQoKSBjb25zdDsKLSAgICBpbnQgZG9jUmlnaHQo
KSBjb25zdDsKLSAgICBpbnQgZG9jV2lkdGgoKSBjb25zdCB7IHJldHVybiBkb2NSaWdodCgpIC0g
ZG9jTGVmdCgpOyB9Ci0gICAgSW50UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdCB7IHJldHVybiBJ
bnRSZWN0KGRvY0xlZnQoKSwgZG9jVG9wKCksIGRvY1dpZHRoKCksIGRvY0hlaWdodCgpKTsgfQor
ICAgIEludFJlY3QgZG9jdW1lbnRSZWN0KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWlu
dENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVkLCBUcmFuc2Zvcm1TdGF0
ZSYpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gODY2MTIpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAxMS0wNS0xNiAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgUmVwbGFjZSBkb2NUb3AvUmlnaHQv
Qm90dG9tL0xlZnQvV2lkdGgvSGVpZ2h0IHdpdGggZG9jdW1lbnRSZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDc0MworCisgICAgICAgIFJlcGxh
Y2UgdXNlcyBvZiBkb2NXaWR0aC9IZWlnaHQgd2l0aCBkb2N1bWVudFJlY3QuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfY29tcHV0ZVBhZ2VS
ZWN0c1dpdGhQcmludFNjYWxlRmFjdG9yOnBhZ2VTaXplOl0pOgorCiAyMDExLTA1LTE2ICBZdXpv
IEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aSBLb2l2aXN0by4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQkocmV2
aXNpb24gODY2MTIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzQzLDggKzEzNDMsOSBAQCAtIChOU0FycmF5ICopX2NvbXB1dGVQ
YWdlUmVjdHNXaXRoUHJpbnRTCiAgICAgaWYgKCFyb290KQogICAgICAgICByZXR1cm4gW05TQXJy
YXkgYXJyYXldOwogCi0gICAgZmxvYXQgcHJpbnRXaWR0aCA9IHJvb3QtPnN0eWxlKCktPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByb290LT5kb2NXaWR0aCgpIC8gcHJpbnRTY2FsZUZhY3Rv
ciA6IHBhZ2VTaXplLndpZHRoOwotICAgIGZsb2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VTaXplLmhlaWdodCA6IHJvb3QtPmRv
Y0hlaWdodCgpIC8gcHJpbnRTY2FsZUZhY3RvcjsKKyAgICBjb25zdCBJbnRSZWN0JiBkb2N1bWVu
dFJlY3QgPSByb290LT5kb2N1bWVudFJlY3QoKTsKKyAgICBmbG9hdCBwcmludFdpZHRoID0gcm9v
dC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGRvY3VtZW50UmVjdC53aWR0
aCgpIC8gcHJpbnRTY2FsZUZhY3RvciA6IHBhZ2VTaXplLndpZHRoOworICAgIGZsb2F0IHByaW50
SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VT
aXplLmhlaWdodCA6IGRvY3VtZW50UmVjdC5oZWlnaHQoKSAvIHByaW50U2NhbGVGYWN0b3I7CiAK
ICAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KF9wcml2YXRlLT5jb3JlRnJhbWUpOwogICAg
IHByaW50Q29udGV4dC5jb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplKEZsb2F0U2l6ZShwcmlu
dFdpZHRoLCBwcmludEhlaWdodCksIHRydWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>