<?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>87236</bug_id>
          
          <creation_ts>2012-05-23 02:20:15 -0700</creation_ts>
          <short_desc>[Qt][WK2] Fix failing qmltests::FitToView::test_basic()</short_desc>
          <delta_ts>2012-05-29 05:10:31 -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>Tools / Tests</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>70236</blocked>
    
    <blocked>86857</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>ahf</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>631416</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-23 02:20:15 -0700</bug_when>
    <thetext>This test introduced in http://trac.webkit.org/changeset/117942
and fails from the beginning:

FAIL!  : qmltests::FitToView::test_basic() Compared values are not the same
   Actual   (): 0.5
   Expected (): 1
   Loc: [/home/webkitbuildbot/slaves/release64bitWebKit2_EC2/buildslave/qt-linux-64-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml(96)]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631463</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-23 03:47:18 -0700</bug_when>
    <thetext>I&apos;m already looking into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631464</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-23 03:47:39 -0700</bug_when>
    <thetext>I&apos;m already looking into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632589</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 03:46:32 -0700</bug_when>
    <thetext>https://gist.github.com/2780751 fixes this but contains many separate changes. Work is ongoing to upstream this ASAP with help of Zalan and Alex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632642</commentid>
    <comment_count>4</comment_count>
      <attachid>143792</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-05-24 05:16:20 -0700</bug_when>
    <thetext>Created attachment 143792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632644</commentid>
    <comment_count>5</comment_count>
      <attachid>143792</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 05:18:06 -0700</bug_when>
    <thetext>Comment on attachment 143792
Patch

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

r=me with the changes

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp:127
&gt; -    emit d-&gt;viewportItem-&gt;experimental()-&gt;test()-&gt;contentsScaleCommitted();
&gt; +    emit d-&gt;viewportItem-&gt;experimental()-&gt;test()-&gt;contentsScaleChanged();

unrelated, should be part of another patch

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:930
&gt; -            // Emits contentsScaleCommitted();
&gt; +            // Emits contentsScaleChanged();

Other patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632654</commentid>
    <comment_count>6</comment_count>
      <attachid>143792</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 05:33:15 -0700</bug_when>
    <thetext>Comment on attachment 143792
Patch

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

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
&gt; +    m_hadUserInteraction = true;

Question: do we still need to set it to true in the gesture specific functions: panGestureStarted(), pinchGestureStarted()?

Suggestion: this seems to be the important fix in the patch, maybe deserve some mention in the ChangeLog why had user interaction was missing here.

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:360
&gt; +    ASSERT(m_hadUserInteraction);

8 lines after the code sets m_hadUserInteraction to true again, maybe that&apos;s not needed anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632655</commentid>
    <comment_count>7</comment_count>
      <attachid>143792</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 05:33:38 -0700</bug_when>
    <thetext>Comment on attachment 143792
Patch

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

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
&gt; +    m_hadUserInteraction = true;

Question: do we still need to set it to true in the gesture specific functions: panGestureStarted(), pinchGestureStarted()?

Suggestion: this seems to be the important fix in the patch, maybe deserve some mention in the ChangeLog why had user interaction was missing here.

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:360
&gt; +    ASSERT(m_hadUserInteraction);

8 lines after the code sets m_hadUserInteraction to true again, maybe that&apos;s not needed anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632656</commentid>
    <comment_count>8</comment_count>
      <attachid>143792</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 05:33:38 -0700</bug_when>
    <thetext>Comment on attachment 143792
Patch

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

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
&gt; +    m_hadUserInteraction = true;

Question: do we still need to set it to true in the gesture specific functions: panGestureStarted(), pinchGestureStarted()?

Suggestion: this seems to be the important fix in the patch, maybe deserve some mention in the ChangeLog why had user interaction was missing here.

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:360
&gt; +    ASSERT(m_hadUserInteraction);

8 lines after the code sets m_hadUserInteraction to true again, maybe that&apos;s not needed anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632658</commentid>
    <comment_count>9</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 05:34:55 -0700</bug_when>
    <thetext>Sorry for the repeated messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632662</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 05:36:25 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 143792 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143792&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
&gt; &gt; +    m_hadUserInteraction = true;
&gt; 
&gt; Question: do we still need to set it to true in the gesture specific functions: panGestureStarted(), pinchGestureStarted()?

They should not be needed anymore, but I am not sure how correct our current code is, so we could replace them with asserts.

&gt; Suggestion: this seems to be the important fix in the patch, maybe deserve some mention in the ChangeLog why had user interaction was missing here.

the touchBegin was added by Jocelyn to fix a bug, but he forgot to add the = true, which breaks one of our tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632668</commentid>
    <comment_count>11</comment_count>
      <attachid>143799</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-05-24 05:42:37 -0700</bug_when>
    <thetext>Created attachment 143799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632690</commentid>
    <comment_count>12</comment_count>
      <attachid>143799</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 06:00:43 -0700</bug_when>
    <thetext>Comment on attachment 143799
Patch

Sorry. I think at least assigning true after the ASSERT true should be fixed, otherwise people reading this code in the future will get confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632696</commentid>
    <comment_count>13</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 06:05:36 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 143792 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143792&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:297
&gt; &gt; &gt; +    m_hadUserInteraction = true;
&gt; &gt; 
&gt; &gt; Question: do we still need to set it to true in the gesture specific functions: panGestureStarted(), pinchGestureStarted()?
&gt; 
&gt; They should not be needed anymore, but I am not sure how correct our current code is, so we could replace them with asserts.

If the assignments are redundant I think they should be removed before landing the patch with assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632700</commentid>
    <comment_count>14</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-24 06:09:02 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; If the assignments are redundant I think they should be removed before landing the patch with assertions.

the patch, with assertions added in their places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632782</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 07:42:57 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; If the assignments are redundant I think they should be removed before landing the patch with assertions.
&gt; 
&gt; the patch, with assertions added in their places.

He means from pinch and panGesture...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633046</commentid>
    <comment_count>16</comment_count>
      <attachid>143870</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-05-24 12:26:15 -0700</bug_when>
    <thetext>Created attachment 143870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633243</commentid>
    <comment_count>17</comment_count>
      <attachid>143870</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 14:37:10 -0700</bug_when>
    <thetext>Comment on attachment 143870
Patch

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

r=me with that change

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:-503
&gt; -    m_hadUserInteraction = true;

Please make these asserts instead. The idea is that touchBegin gets called before panGestureStarted, so lets make sure that never change by making this into an assert

ASSERT(m_hadUserInteraction); // Set by perceding touchBegin call.

&gt; Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp:-567
&gt; -    m_hadUserInteraction = true;

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633637</commentid>
    <comment_count>18</comment_count>
      <attachid>143989</attachid>
    <who name="alan">zalan</who>
    <bug_when>2012-05-25 00:13:32 -0700</bug_when>
    <thetext>Created attachment 143989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633690</commentid>
    <comment_count>19</comment_count>
      <attachid>143989</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 01:29:48 -0700</bug_when>
    <thetext>Comment on attachment 143989
Patch

Clearing flags on attachment: 143989

Committed r118493: &lt;http://trac.webkit.org/changeset/118493&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633691</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 01:29:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634621</commentid>
    <comment_count>21</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-26 01:47:09 -0700</bug_when>
    <thetext>Reopen as the test doesn&apos;t pass yet and I have local code to make it do so. Unfortunately this will first be fixed tuesday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635780</commentid>
    <comment_count>22</comment_count>
      <attachid>144490</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-29 02:33:20 -0700</bug_when>
    <thetext>Created attachment 144490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635789</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 02:38:47 -0700</bug_when>
    <thetext>Attachment 144490 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635806</commentid>
    <comment_count>24</comment_count>
      <attachid>144490</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-29 03:01:49 -0700</bug_when>
    <thetext>Comment on attachment 144490
Patch

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

&gt; Source/WebKit2/ChangeLog:7
&gt; +

I&apos;m missing a big picture comment about the fix you are making here. What was wrong to make the test fail?

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:887
&gt; +    static float lastCommittedScale = -1;

If we have two WebViews in the application, won&apos;t this static cause trouble?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635807</commentid>
    <comment_count>25</comment_count>
      <attachid>144490</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-05-29 03:01:59 -0700</bug_when>
    <thetext>Comment on attachment 144490
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:890
&gt; +    static float lastCommittedScale = -1;
&gt; +    if (scale != lastCommittedScale)
&gt; +        emit q-&gt;experimental()-&gt;test()-&gt;contentsScaleCommitted();
&gt; +    lastCommittedScale = scale;

Urgh, any chance of making this a member variable instead? ;(

Maybe it belongs as a member into the test object?

&gt; Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp:57
&gt; +bool QWebKitTest::sendTouchEvent(QQuickWebView* window, QEvent::Type type, QList&lt;QTouchEvent::TouchPoint&gt;&amp; points, ulong timestamp)

I don&apos;t like APIs that have mutable parameters where you can&apos;t see them on the caller side. I would prefer if points was a _pointer_ to a QList, so
that it&apos;s easier to imagine on the caller side that the list will be modified in this function.

Although it doesn&apos;t look like that this functionality (removing released touch points) is used anywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635831</commentid>
    <comment_count>26</comment_count>
      <attachid>144504</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-29 03:44:17 -0700</bug_when>
    <thetext>Created attachment 144504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635833</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 03:48:11 -0700</bug_when>
    <thetext>Attachment 144504 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h:25:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635905</commentid>
    <comment_count>28</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-29 05:10:31 -0700</bug_when>
    <thetext>Committed in 118758</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143792</attachid>
            <date>2012-05-24 05:16:20 -0700</date>
            <delta_ts>2012-05-24 05:42:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120524141618.patch</filename>
            <type>text/plain</type>
            <size>9778</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODM1MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA1LTI0ICBaYWxhbiBC
dWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gRml4IGZhaWxp
bmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBjb250ZW50Vmlld3BvcnRDaGFuZ2Vk
IHRvIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKCkgdG8KKyAgICAgICAgcmVmbGVjdCBpdHMg
ZnVuY3Rpb25hbGl0eSBiZXR0ZXIuIEFsc28gYWRkZWQgYXNzZXJ0aW9ucyBvbiBtX2hhZFVzZXJJ
bnRlcmFjdGlvbgorICAgICAgICB0byBlbnN1cmUgdGhhdCBkZXNpZ25hdGVkIGZ1bmN0aW9ucyBh
cmUgY2FsbGVkIG9ubHkgb24gdXNlciBpbnRlcmFjdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHA6CisgICAgICAgIChRUXVpY2tXZWJQYWdlOjpzZXRD
b250ZW50c1NjYWxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Om9uQ29tcG9uZW50
Q29tcGxldGUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OnVwZGF0
ZVZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6
X3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
RmxpY2thYmxlUHJpdmF0ZTo6X3FfcmVzdW1lKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlj
a2FibGVQcml2YXRlOjpkaWRDaGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6Ol9xX29u
SW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNr
YWJsZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rp
b25FbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFVwZGF0ZURlZmVycmVyOjp+
Vmlld3BvcnRVcGRhdGVEZWZlcnJlcik6CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZTo6ZmxpY2thYmxlTW92aW5nUG9zaXRpb25VcGRhdGUpOgorICAgICAgICAo
V2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVlc3Qp
OgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVn
aW4pOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OmZvY3Vz
RWRpdGFibGVBcmVhKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lOjp6b29tVG9BcmVhR2VzdHVyZUVuZGVkKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEdlc3R1cmVTdGFydGVkKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmg6CisgICAgICAgIChRdFZpZXdw
b3J0SW50ZXJhY3Rpb25FbmdpbmUpOgorCiAyMDEyLTA1LTI0ICBBbGxhbiBTYW5kZmVsZCBKZW5z
ZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gVGlsZXMgbm90IHBh
aW50ZWQgYWZ0ZXIgd2hlZWwgb3Iga2V5Ym9hcmQgc2Nyb2xsLgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCShyZXZpc2lvbiAx
MTgzNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBRUXVpY2tXZWJQYWdl
OjpzZXRDb250ZW50c1NjYWxlKHFyZQogICAgIEFTU0VSVChzY2FsZSA+IDApOwogICAgIGQtPmNv
bnRlbnRzU2NhbGUgPSBzY2FsZTsKICAgICBkLT51cGRhdGVTaXplKCk7Ci0gICAgZW1pdCBkLT52
aWV3cG9ydEl0ZW0tPmV4cGVyaW1lbnRhbCgpLT50ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0
ZWQoKTsKKyAgICBlbWl0IGQtPnZpZXdwb3J0SXRlbS0+ZXhwZXJpbWVudGFsKCktPnRlc3QoKS0+
Y29udGVudHNTY2FsZUNoYW5nZWQoKTsKIH0KIAogcXJlYWwgUVF1aWNrV2ViUGFnZTo6Y29udGVu
dHNTY2FsZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAJKHJldmlzaW9uIDExODM0MykKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTgxMyw3ICs4MTMsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNv
CiAKICAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFM
KGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCkpLCBxLCBTTE9UKF9xX3N1c3BlbmQoKSkpOwogICAg
IFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwoY29udGVu
dFJlc3VtZVJlcXVlc3RlZCgpKSwgcSwgU0xPVChfcV9yZXN1bWUoKSkpOwotICAgIFFPYmplY3Q6
OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwoY29udGVudFZpZXdwb3J0
Q2hhbmdlZChRUG9pbnRGKSksIHEsIFNMT1QoX3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChRUG9p
bnRGKSkpOworICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBT
SUdOQUwoaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RikpLCBxLCBTTE9UKF9xX29u
SW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RikpKTsKIAogICAgIF9xX3Jlc3VtZSgp
OwogCkBAIC04NjUsMTAgKzg2NSwxMCBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2
YXRlOjp1cGRhCiAgICAgLy8gaXQgY2FuIHJlc2l6ZSB0aGUgY29udGVudCBhY2NvcmRpbmdseS4K
ICAgICB3ZWJQYWdlUHJveHktPnNldFZpZXdwb3J0U2l6ZSh2aWV3cG9ydFNpemUpOwogCi0gICAg
X3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChRUG9pbnRGKCkpOworICAgIF9xX29uSW5mb3JtVmlz
aWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsKIH0KIAotdm9pZCBRUXVpY2tXZWJWaWV3Rmxp
Y2thYmxlUHJpdmF0ZTo6X3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChjb25zdCBRUG9pbnRGJiB0
cmFqZWN0b3J5VmVjdG9yKQordm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6X3Ff
b25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5VmVj
dG9yKQogewogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKIApAQCAtOTAzLDcgKzkwMyw3IEBAIHZv
aWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Ol9xX3IKICAgICBwYWdlSXNTdXNwZW5k
ZWQgPSBmYWxzZTsKICAgICB3ZWJQYWdlUHJveHktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRB
bmltYXRpb25zKCk7CiAKLSAgICBfcV9jb250ZW50Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYoKSk7
CisgICAgX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKCkpOwogfQogCiB2
b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBRUG9pbnQmIHBvcykKQEAgLTkyNyw3ICs5MjcsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdG
bGlja2FibGVQcml2YXRlOjpkaWRDCiAgICAgICAgIGVtaXQgcS0+ZXhwZXJpbWVudGFsKCktPnRl
c3QoKS0+dmlld3BvcnRDaGFuZ2VkKCk7CiAKICAgICAgICAgaWYgKCFpbnRlcmFjdGlvbkVuZ2lu
ZS0+aGFkVXNlckludGVyYWN0aW9uKCkgJiYgIXBhZ2VJc1N1c3BlbmRlZCkgewotICAgICAgICAg
ICAgLy8gRW1pdHMgY29udGVudHNTY2FsZUNvbW1pdHRlZCgpOworICAgICAgICAgICAgLy8gRW1p
dHMgY29udGVudHNTY2FsZUNoYW5nZWQoKTsKICAgICAgICAgICAgIHNjYWxlQ29tbWl0Tm90aWZp
ZWQgPSB0cnVlOwogICAgICAgICAgICAgaW50ZXJhY3Rpb25FbmdpbmUtPnNldENTU1NjYWxlKG1p
bmltdW1TY2FsZSk7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlld19wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAkocmV2aXNpb24gMTE4MzQzKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAkod29ya2luZyBj
b3B5KQpAQCAtMjA3LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAKICAgICBRX1BSSVZBVEVfU0xPVChk
X2Z1bmMoKSwgdm9pZCBfcV9zdXNwZW5kKCkpOwogICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygp
LCB2b2lkIF9xX3Jlc3VtZSgpKTsKLSAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBf
cV9jb250ZW50Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmKSk7CisgICAgUV9QUklWQVRF
X1NMT1QoZF9mdW5jKCksIHZvaWQgX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShjb25z
dCBRUG9pbnRGJikpOwogCiAgICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCksIHZvaWQgX3Ffb25W
aXNpYmxlQ2hhbmdlZCgpKTsKICAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBfcV9v
blVybENoYW5nZWQoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXdfcF9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCShyZXZpc2lvbiAxMTgzNDMpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIF9xX3N1c3Bl
bmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgX3FfcmVzdW1lKCkgeyB9Ci0gICAgdmlydHVhbCB2
b2lkIF9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoY29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSkg
eyB9OworICAgIHZpcnR1YWwgdm9pZCBfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNv
bnN0IFFQb2ludEYmIHRyYWplY3RvcnkpIHsgfTsKIAogICAgIHZpcnR1YWwgcXJlYWwgem9vbUZh
Y3RvcigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Wm9vbUZhY3Rv
cihxcmVhbCkgeyB9CkBAIC0yMzEsNyArMjMxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIF9xX3N1c3BlbmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgX3FfcmVzdW1lKCk7Ci0gICAgdmly
dHVhbCB2b2lkIF9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoY29uc3QgUVBvaW50RiYgdHJhamVj
dG9yeSk7CisgICAgdmlydHVhbCB2b2lkIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2Uo
Y29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFnZURpZFJl
cXVlc3RTY3JvbGwoY29uc3QgUVBvaW50JiBwb3MpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VDb250ZW50c1NpemUoY29uc3QgUVNpemUmIG5ld1NpemUpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZS5jcHAJKHJldmlzaW9uIDExODM0MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3
ICs4NSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0
IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUgcmVxdWVzdGVkLgotICAgICAg
ICBlbWl0IGVuZ2luZS0+Y29udGVudFZpZXdwb3J0Q2hhbmdlZChRUG9pbnRGKCkpOworICAgICAg
ICBlbWl0IGVuZ2luZS0+aW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsKICAg
ICB9CiAKIHByaXZhdGU6CkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBRdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmU6OmZsaWNrYQogewogICAgIFFQb2ludEYgbmV3UG9zaXRpb24gPSBtX3ZpZXdw
b3J0LT5jb250ZW50UG9zKCk7CiAKLSAgICBlbWl0IGNvbnRlbnRWaWV3cG9ydENoYW5nZWQobV9s
YXN0U2Nyb2xsUG9zaXRpb24gLSBuZXdQb3NpdGlvbik7CisgICAgZW1pdCBpbmZvcm1WaXNpYmxl
Q29udGVudENoYW5nZShtX2xhc3RTY3JvbGxQb3NpdGlvbiAtIG5ld1Bvc2l0aW9uKTsKIAogICAg
IG1fbGFzdFNjcm9sbFBvc2l0aW9uID0gbmV3UG9zaXRpb247CiB9CkBAIC0yODksMTEgKzI4OSwx
MyBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGFnZVBvCiAgICAgc2V0SXRl
bVJlY3RWaXNpYmxlKGVuZFZpc2libGVDb250ZW50UmVjdCk7CiAKICAgICAvLyBNYWtlIHN1cmUg
dGhhdCB0aWxlcyBhbGwgYXJvdW5kIHRoZSB2aWV3cG9ydCB3aWxsIGJlIHJlcXVlc3RlZC4KLSAg
ICBlbWl0IGNvbnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsKKyAgICBlbWl0IGluZm9y
bVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiB9CiAKIHZvaWQgUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lOjp0b3VjaEJlZ2luKCkKIHsKKyAgICBtX2hhZFVzZXJJbnRlcmFjdGlv
biA9IHRydWU7CisKICAgICAvLyBQcmV2ZW50cyByZXN1bWluZyB0aGUgcGFnZSBiZXR3ZWVuIHRo
ZSB1c2VyJ3MgZmxpY2tzIG9mIHRoZSBwYWdlIHdoaWxlIHRoZSBhbmltYXRpb24gaXMgcnVubmlu
Zy4KICAgICBpZiAoc2Nyb2xsQW5pbWF0aW9uQWN0aXZlKCkpCiAgICAgICAgIG1fdG91Y2hVcGRh
dGVEZWZlcnJlciA9IGFkb3B0UHRyKG5ldyBWaWV3cG9ydFVwZGF0ZURlZmVycmVyKHRoaXMsIFZp
ZXdwb3J0VXBkYXRlRGVmZXJyZXI6OkRlZmVyVXBkYXRlQW5kU3VzcGVuZENvbnRlbnQpKTsKQEAg
LTMxNyw2ICszMTksOSBAQCBRUmVjdEYgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpjb21w
CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpmb2N1c0VkaXRhYmxlQXJlYShj
b25zdCBRUmVjdEYmIGNhcmV0QXJlYSwgY29uc3QgUVJlY3RGJiB0YXJnZXRBcmVhKQogeworICAg
IC8vIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGFzIGEgcmVzdWx0IG9mIGEgdXNlciBpbnRlcmFjdGlv
bi4KKyAgICBBU1NFUlQobV9oYWRVc2VySW50ZXJhY3Rpb24pOworCiAgICAgUVJlY3RGIGVuZEFy
ZWEgPSBpdGVtUmVjdEZyb21DU1ModGFyZ2V0QXJlYSk7CiAKICAgICBxcmVhbCBlbmRJdGVtU2Nh
bGUgPSBpdGVtU2NhbGVGcm9tQ1NTKGlubmVyQm91bmRlZENTU1NjYWxlKDIuMCkpOwpAQCAtMzUx
LDYgKzM1Niw5IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpmb2N1c0UKIAog
dm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6Onpvb21Ub0FyZWFHZXN0dXJlRW5kZWQo
Y29uc3QgUVBvaW50RiYgdG91Y2hQb2ludCwgY29uc3QgUVJlY3RGJiB0YXJnZXRBcmVhKQogewor
ICAgIC8vIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGFzIGEgcmVzdWx0IG9mIGEgdXNlciBpbnRlcmFj
dGlvbi4KKyAgICBBU1NFUlQobV9oYWRVc2VySW50ZXJhY3Rpb24pOworCiAgICAgaWYgKCF0YXJn
ZXRBcmVhLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC01NzQsNyArNTgyLDcgQEAg
dm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBpbmNoRwogICAgIG1fcGluY2hTdGFy
dFNjYWxlID0gbV9jb250ZW50LT5jb250ZW50c1NjYWxlKCk7CiAKICAgICAvLyBSZXNldCB0aGUg
dGlsaW5nIGxvb2stYWhlYWQgdmVjdG9yIHNvIHRoYXQgdGlsZXMgYWxsIGFyb3VuZCB0aGUgdmll
d3BvcnQgd2lsbCBiZSByZXF1ZXN0ZWQgb24gcGluY2gtZW5kLgotICAgIGVtaXQgY29udGVudFZp
ZXdwb3J0Q2hhbmdlZChRUG9pbnRGKCkpOworICAgIGVtaXQgaW5mb3JtVmlzaWJsZUNvbnRlbnRD
aGFuZ2UoUVBvaW50RigpKTsKIH0KIAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6
OnBpbmNoR2VzdHVyZVJlcXVlc3RVcGRhdGUoY29uc3QgUVBvaW50RiYgcGluY2hDZW50ZXJJblZp
ZXdwb3J0Q29vcmRpbmF0ZXMsIHFyZWFsIHRvdGFsU2NhbGVGYWN0b3IpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZS5oCShyZXZpc2lvbiAxMTgzNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDkg
Kzk2LDggQEAgUV9TSUdOQUxTOgogICAgIHZvaWQgY29udGVudFN1c3BlbmRSZXF1ZXN0ZWQoKTsK
ICAgICB2b2lkIGNvbnRlbnRSZXN1bWVSZXF1ZXN0ZWQoKTsKIAotICAgIHZvaWQgY29udGVudFZp
ZXdwb3J0Q2hhbmdlZChjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5ID0gUVBvaW50RigpKTsKKyAg
ICB2b2lkIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYmIHRyYWplY3Rv
cnkgPSBRUG9pbnRGKCkpOwogCi0gICAgdm9pZCB2aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFu
Z2VkKGNvbnN0IFFQb2ludEYmKTsKICAgICB2b2lkIHZpc2libGVDb250ZW50UmVjdEFuZFNjYWxl
Q2hhbmdlZCgpOwogCiBwcml2YXRlIFFfU0xPVFM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143799</attachid>
            <date>2012-05-24 05:42:37 -0700</date>
            <delta_ts>2012-05-24 12:26:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120524144235.patch</filename>
            <type>text/plain</type>
            <size>8624</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODM1MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTI0ICBaYWxhbiBC
dWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gRml4IGZhaWxp
bmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFJlbmFtZSBjb250ZW50Vmll
d3BvcnRDaGFuZ2VkIHRvIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKCkgdG8KKyAgICAgICAg
cmVmbGVjdCBpdHMgZnVuY3Rpb25hbGl0eSBiZXR0ZXIuIEFsc28gYWRkZWQgYXNzZXJ0aW9ucyBv
biBtX2hhZFVzZXJJbnRlcmFjdGlvbgorICAgICAgICB0byBlbnN1cmUgdGhhdCBkZXNpZ25hdGVk
IGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9ubHkgb24gdXNlciBpbnRlcmFjdGlvbi4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChR
UXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAg
ICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9vbkluZm9ybVZpc2libGVDb250
ZW50Q2hhbmdlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9y
ZXN1bWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAo
UVF1aWNrV2ViVmlld1ByaXZhdGU6Ol9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UpOgor
ICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpWaWV3cG9ydFVwZGF0ZURlZmVycmVyOjp+Vmlld3BvcnRVcGRhdGVEZWZlcnJlcik6CisgICAg
ICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6ZmxpY2thYmxlTW92aW5n
UG9zaXRpb25VcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVnaW4pOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdw
b3J0SW50ZXJhY3Rpb25FbmdpbmU6OmZvY3VzRWRpdGFibGVBcmVhKToKKyAgICAgICAgKFdlYktp
dDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp6b29tVG9BcmVhR2VzdHVyZUVuZGVkKToK
KyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEdlc3R1
cmVTdGFydGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lLmg6CisgICAgICAgIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpOgorCiAyMDEy
LTA1LTI0ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgog
CiAgICAgICAgIFtRdF0gVGlsZXMgbm90IHBhaW50ZWQgYWZ0ZXIgd2hlZWwgb3Iga2V5Ym9hcmQg
c2Nyb2xsLgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCShyZXZpc2lvbiAxMTgzNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTMsNyAr
ODEzLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25DbwogCiAgICAg
UU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05BTChjb250ZW50
U3VzcGVuZFJlcXVlc3RlZCgpKSwgcSwgU0xPVChfcV9zdXNwZW5kKCkpKTsKICAgICBRT2JqZWN0
Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKGNvbnRlbnRSZXN1bWVS
ZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3FfcmVzdW1lKCkpKTsKLSAgICBRT2JqZWN0Ojpjb25uZWN0
KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKGNvbnRlbnRWaWV3cG9ydENoYW5nZWQo
UVBvaW50RikpLCBxLCBTTE9UKF9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RikpKTsK
KyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKGlu
Zm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYpKSwgcSwgU0xPVChfcV9vbkluZm9ybVZp
c2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYpKSk7CiAKICAgICBfcV9yZXN1bWUoKTsKIApAQCAt
ODY1LDEwICs4NjUsMTAgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6dXBk
YQogICAgIC8vIGl0IGNhbiByZXNpemUgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkuCiAgICAgd2Vi
UGFnZVByb3h5LT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKTsKIAotICAgIF9xX2NvbnRl
bnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsKKyAgICBfcV9vbkluZm9ybVZpc2libGVDb250
ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiB9CiAKLXZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVBy
aXZhdGU6Ol9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoY29uc3QgUVBvaW50RiYgdHJhamVjdG9y
eVZlY3RvcikKK3ZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Ol9xX29uSW5mb3Jt
VmlzaWJsZUNvbnRlbnRDaGFuZ2UoY29uc3QgUVBvaW50RiYgdHJhamVjdG9yeVZlY3RvcikKIHsK
ICAgICBRX1EoUVF1aWNrV2ViVmlldyk7CiAKQEAgLTkwMyw3ICs5MDMsNyBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9yCiAgICAgcGFnZUlzU3VzcGVuZGVkID0gZmFs
c2U7CiAgICAgd2ViUGFnZVByb3h5LT5yZXN1bWVBY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9u
cygpOwogCi0gICAgX3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChRUG9pbnRGKCkpOworICAgIF9x
X29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsKIH0KIAogdm9pZCBRUXVp
Y2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgUVBv
aW50JiBwb3MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgJKHJldmlzaW9uIDExODM0MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNyw3
ICsyMDcsNyBAQCBwcml2YXRlOgogCiAgICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCksIHZvaWQg
X3Ffc3VzcGVuZCgpKTsKICAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBfcV9yZXN1
bWUoKSk7Ci0gICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCksIHZvaWQgX3FfY29udGVudFZpZXdw
b3J0Q2hhbmdlZChjb25zdCBRUG9pbnRGJikpOworICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygp
LCB2b2lkIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoY29uc3QgUVBvaW50RiYpKTsK
IAogICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygpLCB2b2lkIF9xX29uVmlzaWJsZUNoYW5nZWQo
KSk7CiAgICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCksIHZvaWQgX3Ffb25VcmxDaGFuZ2VkKCkp
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Bf
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlld19wX3AuaAkocmV2aXNpb24gMTE4MzQzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5
NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBfcV9zdXNwZW5kKCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIF9xX3Jlc3VtZSgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBfcV9jb250ZW50
Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnkpIHsgfTsKKyAgICB2aXJ0
dWFsIHZvaWQgX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0
cmFqZWN0b3J5KSB7IH07CiAKICAgICB2aXJ0dWFsIHFyZWFsIHpvb21GYWN0b3IoKSBjb25zdCB7
IHJldHVybiAxOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFpvb21GYWN0b3IocXJlYWwpIHsgfQpA
QCAtMjMxLDcgKzIzMSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBfcV9zdXNwZW5k
KCk7CiAgICAgdmlydHVhbCB2b2lkIF9xX3Jlc3VtZSgpOwotICAgIHZpcnR1YWwgdm9pZCBfcV9j
b250ZW50Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnkpOworICAgIHZp
cnR1YWwgdm9pZCBfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYm
IHRyYWplY3RvcnkpOwogCiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNv
bnN0IFFQb2ludCYgcG9zKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXpl
KGNvbnN0IFFTaXplJiBuZXdTaXplKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCShyZXZp
c2lvbiAxMTgzNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIH0KIAogICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aWxlcyBhbGwgYXJv
dW5kIHRoZSB2aWV3cG9ydCB3aWxsIGJlIHJlcXVlc3RlZC4KLSAgICAgICAgZW1pdCBlbmdpbmUt
PmNvbnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsKKyAgICAgICAgZW1pdCBlbmdpbmUt
PmluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiAgICAgfQogCiBwcml2YXRl
OgpAQCAtMjQ2LDcgKzI0Niw3IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpm
bGlja2EKIHsKICAgICBRUG9pbnRGIG5ld1Bvc2l0aW9uID0gbV92aWV3cG9ydC0+Y29udGVudFBv
cygpOwogCi0gICAgZW1pdCBjb250ZW50Vmlld3BvcnRDaGFuZ2VkKG1fbGFzdFNjcm9sbFBvc2l0
aW9uIC0gbmV3UG9zaXRpb24pOworICAgIGVtaXQgaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2Uo
bV9sYXN0U2Nyb2xsUG9zaXRpb24gLSBuZXdQb3NpdGlvbik7CiAKICAgICBtX2xhc3RTY3JvbGxQ
b3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogfQpAQCAtMjg5LDExICsyODksMTMgQEAgdm9pZCBRdFZp
ZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQbwogICAgIHNldEl0ZW1SZWN0VmlzaWJsZShl
bmRWaXNpYmxlQ29udGVudFJlY3QpOwogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGlsZXMgYWxs
IGFyb3VuZCB0aGUgdmlld3BvcnQgd2lsbCBiZSByZXF1ZXN0ZWQuCi0gICAgZW1pdCBjb250ZW50
Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYoKSk7CisgICAgZW1pdCBpbmZvcm1WaXNpYmxlQ29udGVu
dENoYW5nZShRUG9pbnRGKCkpOwogfQogCiB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZTo6dG91Y2hCZWdpbigpCiB7CisgICAgbV9oYWRVc2VySW50ZXJhY3Rpb24gPSB0cnVlOworCiAg
ICAgLy8gUHJldmVudHMgcmVzdW1pbmcgdGhlIHBhZ2UgYmV0d2VlbiB0aGUgdXNlcidzIGZsaWNr
cyBvZiB0aGUgcGFnZSB3aGlsZSB0aGUgYW5pbWF0aW9uIGlzIHJ1bm5pbmcuCiAgICAgaWYgKHNj
cm9sbEFuaW1hdGlvbkFjdGl2ZSgpKQogICAgICAgICBtX3RvdWNoVXBkYXRlRGVmZXJyZXIgPSBh
ZG9wdFB0cihuZXcgVmlld3BvcnRVcGRhdGVEZWZlcnJlcih0aGlzLCBWaWV3cG9ydFVwZGF0ZURl
ZmVycmVyOjpEZWZlclVwZGF0ZUFuZFN1c3BlbmRDb250ZW50KSk7CkBAIC0zMTcsNiArMzE5LDkg
QEAgUVJlY3RGIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Y29tcAogCiB2b2lkIFF0Vmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Zm9jdXNFZGl0YWJsZUFyZWEoY29uc3QgUVJlY3RGJiBj
YXJldEFyZWEsIGNvbnN0IFFSZWN0RiYgdGFyZ2V0QXJlYSkKIHsKKyAgICAvLyBUaGlzIGNhbiBv
bmx5IGhhcHBlbiBhcyBhIHJlc3VsdCBvZiBhIHVzZXIgaW50ZXJhY3Rpb24uCisgICAgQVNTRVJU
KG1faGFkVXNlckludGVyYWN0aW9uKTsKKwogICAgIFFSZWN0RiBlbmRBcmVhID0gaXRlbVJlY3RG
cm9tQ1NTKHRhcmdldEFyZWEpOwogCiAgICAgcXJlYWwgZW5kSXRlbVNjYWxlID0gaXRlbVNjYWxl
RnJvbUNTUyhpbm5lckJvdW5kZWRDU1NTY2FsZSgyLjApKTsKQEAgLTM1MSw2ICszNTYsOSBAQCB2
b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Zm9jdXNFCiAKIHZvaWQgUXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjp6b29tVG9BcmVhR2VzdHVyZUVuZGVkKGNvbnN0IFFQb2ludEYm
IHRvdWNoUG9pbnQsIGNvbnN0IFFSZWN0RiYgdGFyZ2V0QXJlYSkKIHsKKyAgICAvLyBUaGlzIGNh
biBvbmx5IGhhcHBlbiBhcyBhIHJlc3VsdCBvZiBhIHVzZXIgaW50ZXJhY3Rpb24uCisgICAgQVNT
RVJUKG1faGFkVXNlckludGVyYWN0aW9uKTsKKwogICAgIGlmICghdGFyZ2V0QXJlYS5pc1ZhbGlk
KCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTc0LDcgKzU4Miw3IEBAIHZvaWQgUXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEcKICAgICBtX3BpbmNoU3RhcnRTY2FsZSA9IG1fY29u
dGVudC0+Y29udGVudHNTY2FsZSgpOwogCiAgICAgLy8gUmVzZXQgdGhlIHRpbGluZyBsb29rLWFo
ZWFkIHZlY3RvciBzbyB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUg
cmVxdWVzdGVkIG9uIHBpbmNoLWVuZC4KLSAgICBlbWl0IGNvbnRlbnRWaWV3cG9ydENoYW5nZWQo
UVBvaW50RigpKTsKKyAgICBlbWl0IGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYo
KSk7CiB9CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEdlc3R1cmVS
ZXF1ZXN0VXBkYXRlKGNvbnN0IFFQb2ludEYmIHBpbmNoQ2VudGVySW5WaWV3cG9ydENvb3JkaW5h
dGVzLCBxcmVhbCB0b3RhbFNjYWxlRmFjdG9yKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaAkocmV2
aXNpb24gMTE4MzQzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Niw5ICs5Niw4IEBAIFFfU0lH
TkFMUzoKICAgICB2b2lkIGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCk7CiAgICAgdm9pZCBjb250
ZW50UmVzdW1lUmVxdWVzdGVkKCk7CiAKLSAgICB2b2lkIGNvbnRlbnRWaWV3cG9ydENoYW5nZWQo
Y29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSA9IFFQb2ludEYoKSk7CisgICAgdm9pZCBpbmZvcm1W
aXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5ID0gUVBvaW50Rigp
KTsKIAotICAgIHZvaWQgdmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9p
bnRGJik7CiAgICAgdm9pZCB2aXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZUNoYW5nZWQoKTsKIAog
cHJpdmF0ZSBRX1NMT1RTOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143870</attachid>
            <date>2012-05-24 12:26:15 -0700</date>
            <delta_ts>2012-05-25 00:13:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120524212613.patch</filename>
            <type>text/plain</type>
            <size>9438</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODM1MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA1LTI0ICBaYWxhbiBC
dWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gRml4IGZhaWxp
bmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBjb250ZW50Vmlld3BvcnRDaGFuZ2Vk
IHRvIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKCkgdG8KKyAgICAgICAgcmVmbGVjdCBpdHMg
ZnVuY3Rpb25hbGl0eSBiZXR0ZXIuIENlbnRyYWxpemUgbV9oYWRVc2VySW50ZXJhY3Rpb24gZmxh
ZworICAgICAgICBzZXR0aW5nIGFuZCBhZGQgYXNzZXJ0aW9ucyBvbiBpdCB0byBlbnN1cmUgdGhh
dCBkZXNpZ25hdGVkCisgICAgICAgIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9ubHkgb24gdXNlciBp
bnRlcmFjdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25Db21wb25lbnRD
b21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6dXBkYXRl
Vmlld3BvcnRTaXplKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpf
cV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdG
bGlja2FibGVQcml2YXRlOjpfcV9yZXN1bWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6Ol9xX29uSW5mb3JtVmlz
aWJsZUNvbnRlbnRDaGFuZ2UpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZh
dGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFVwZGF0ZURlZmVycmVyOjp+Vmlld3BvcnRV
cGRhdGVEZWZlcnJlcik6CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZTo6ZmxpY2thYmxlTW92aW5nUG9zaXRpb25VcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpR
dFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVlc3QpOgorICAgICAg
ICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVnaW4pOgorICAg
ICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OmZvY3VzRWRpdGFibGVB
cmVhKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp6b29t
VG9BcmVhR2VzdHVyZUVuZGVkKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0
aW9uRW5naW5lOjpwaW5jaEdlc3R1cmVTdGFydGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQv
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmg6CisgICAgICAgIChRdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUpOgorCiAyMDEyLTA1LTI0ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxh
bi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gVGlsZXMgbm90IHBhaW50ZWQgYWZ0
ZXIgd2hlZWwgb3Iga2V5Ym9hcmQgc2Nyb2xsLgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCShyZXZpc2lvbiAxMTgzNDMpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MTMsNyArODEzLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxl
UHJpdmF0ZTo6b25DbwogCiAgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5k
YXRhKCksIFNJR05BTChjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgpKSwgcSwgU0xPVChfcV9zdXNw
ZW5kKCkpKTsKICAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwg
U0lHTkFMKGNvbnRlbnRSZXN1bWVSZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3FfcmVzdW1lKCkpKTsK
LSAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKGNv
bnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RikpLCBxLCBTTE9UKF9xX2NvbnRlbnRWaWV3cG9y
dENoYW5nZWQoUVBvaW50RikpKTsKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5n
aW5lLmRhdGEoKSwgU0lHTkFMKGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYpKSwg
cSwgU0xPVChfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYpKSk7CiAKICAg
ICBfcV9yZXN1bWUoKTsKIApAQCAtODY1LDEwICs4NjUsMTAgQEAgdm9pZCBRUXVpY2tXZWJWaWV3
RmxpY2thYmxlUHJpdmF0ZTo6dXBkYQogICAgIC8vIGl0IGNhbiByZXNpemUgdGhlIGNvbnRlbnQg
YWNjb3JkaW5nbHkuCiAgICAgd2ViUGFnZVByb3h5LT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRT
aXplKTsKIAotICAgIF9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsKKyAgICBf
cV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiB9CiAKLXZvaWQgUVF1
aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Ol9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoY29u
c3QgUVBvaW50RiYgdHJhamVjdG9yeVZlY3RvcikKK3ZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJs
ZVByaXZhdGU6Ol9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoY29uc3QgUVBvaW50RiYg
dHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBRX1EoUVF1aWNrV2ViVmlldyk7CiAKQEAgLTkwMyw3
ICs5MDMsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9yCiAgICAg
cGFnZUlzU3VzcGVuZGVkID0gZmFsc2U7CiAgICAgd2ViUGFnZVByb3h5LT5yZXN1bWVBY3RpdmVE
T01PYmplY3RzQW5kQW5pbWF0aW9ucygpOwogCi0gICAgX3FfY29udGVudFZpZXdwb3J0Q2hhbmdl
ZChRUG9pbnRGKCkpOworICAgIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50
RigpKTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6cGFnZURpZFJl
cXVlc3RTY3JvbGwoY29uc3QgUVBvaW50JiBwb3MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgJKHJldmlzaW9uIDExODM0MykK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogCiAgICAgUV9QUklWQVRF
X1NMT1QoZF9mdW5jKCksIHZvaWQgX3Ffc3VzcGVuZCgpKTsKICAgICBRX1BSSVZBVEVfU0xPVChk
X2Z1bmMoKSwgdm9pZCBfcV9yZXN1bWUoKSk7Ci0gICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCks
IHZvaWQgX3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChjb25zdCBRUG9pbnRGJikpOworICAgIFFf
UFJJVkFURV9TTE9UKGRfZnVuYygpLCB2b2lkIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFu
Z2UoY29uc3QgUVBvaW50RiYpKTsKIAogICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygpLCB2b2lk
IF9xX29uVmlzaWJsZUNoYW5nZWQoKSk7CiAgICAgUV9QUklWQVRFX1NMT1QoZF9mdW5jKCksIHZv
aWQgX3Ffb25VcmxDaGFuZ2VkKCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAkocmV2aXNpb24gMTE4MzQzKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NSw3ICs5NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBf
cV9zdXNwZW5kKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIF9xX3Jlc3VtZSgpIHsgfQotICAgIHZp
cnR1YWwgdm9pZCBfcV9jb250ZW50Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWpl
Y3RvcnkpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENo
YW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5KSB7IH07CiAKICAgICB2aXJ0dWFsIHFyZWFs
IHpvb21GYWN0b3IoKSBjb25zdCB7IHJldHVybiAxOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFpv
b21GYWN0b3IocXJlYWwpIHsgfQpAQCAtMjMxLDcgKzIzMSw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBfcV9zdXNwZW5kKCk7CiAgICAgdmlydHVhbCB2b2lkIF9xX3Jlc3VtZSgpOwot
ICAgIHZpcnR1YWwgdm9pZCBfcV9jb250ZW50Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYm
IHRyYWplY3RvcnkpOworICAgIHZpcnR1YWwgdm9pZCBfcV9vbkluZm9ybVZpc2libGVDb250ZW50
Q2hhbmdlKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnkpOwogCiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFFQb2ludCYgcG9zKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFFTaXplJiBuZXdTaXplKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUuY3BwCShyZXZpc2lvbiAxMTgzNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICAvLyBNYWtlIHN1
cmUgdGhhdCB0aWxlcyBhbGwgYXJvdW5kIHRoZSB2aWV3cG9ydCB3aWxsIGJlIHJlcXVlc3RlZC4K
LSAgICAgICAgZW1pdCBlbmdpbmUtPmNvbnRlbnRWaWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsK
KyAgICAgICAgZW1pdCBlbmdpbmUtPmluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYo
KSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMjQ2LDcgKzI0Niw3IEBAIHZvaWQgUXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjpmbGlja2EKIHsKICAgICBRUG9pbnRGIG5ld1Bvc2l0aW9uID0g
bV92aWV3cG9ydC0+Y29udGVudFBvcygpOwogCi0gICAgZW1pdCBjb250ZW50Vmlld3BvcnRDaGFu
Z2VkKG1fbGFzdFNjcm9sbFBvc2l0aW9uIC0gbmV3UG9zaXRpb24pOworICAgIGVtaXQgaW5mb3Jt
VmlzaWJsZUNvbnRlbnRDaGFuZ2UobV9sYXN0U2Nyb2xsUG9zaXRpb24gLSBuZXdQb3NpdGlvbik7
CiAKICAgICBtX2xhc3RTY3JvbGxQb3NpdGlvbiA9IG5ld1Bvc2l0aW9uOwogfQpAQCAtMjg5LDEx
ICsyODksMTMgQEAgdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQbwogICAg
IHNldEl0ZW1SZWN0VmlzaWJsZShlbmRWaXNpYmxlQ29udGVudFJlY3QpOwogCiAgICAgLy8gTWFr
ZSBzdXJlIHRoYXQgdGlsZXMgYWxsIGFyb3VuZCB0aGUgdmlld3BvcnQgd2lsbCBiZSByZXF1ZXN0
ZWQuCi0gICAgZW1pdCBjb250ZW50Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYoKSk7CisgICAgZW1p
dCBpbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKCkpOwogfQogCiB2b2lkIFF0Vmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6dG91Y2hCZWdpbigpCiB7CisgICAgbV9oYWRVc2VySW50
ZXJhY3Rpb24gPSB0cnVlOworCiAgICAgLy8gUHJldmVudHMgcmVzdW1pbmcgdGhlIHBhZ2UgYmV0
d2VlbiB0aGUgdXNlcidzIGZsaWNrcyBvZiB0aGUgcGFnZSB3aGlsZSB0aGUgYW5pbWF0aW9uIGlz
IHJ1bm5pbmcuCiAgICAgaWYgKHNjcm9sbEFuaW1hdGlvbkFjdGl2ZSgpKQogICAgICAgICBtX3Rv
dWNoVXBkYXRlRGVmZXJyZXIgPSBhZG9wdFB0cihuZXcgVmlld3BvcnRVcGRhdGVEZWZlcnJlcih0
aGlzLCBWaWV3cG9ydFVwZGF0ZURlZmVycmVyOjpEZWZlclVwZGF0ZUFuZFN1c3BlbmRDb250ZW50
KSk7CkBAIC0zMTcsNiArMzE5LDkgQEAgUVJlY3RGIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZTo6Y29tcAogCiB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Zm9jdXNFZGl0YWJs
ZUFyZWEoY29uc3QgUVJlY3RGJiBjYXJldEFyZWEsIGNvbnN0IFFSZWN0RiYgdGFyZ2V0QXJlYSkK
IHsKKyAgICAvLyBUaGlzIGNhbiBvbmx5IGhhcHBlbiBhcyBhIHJlc3VsdCBvZiBhIHVzZXIgaW50
ZXJhY3Rpb24uCisgICAgQVNTRVJUKG1faGFkVXNlckludGVyYWN0aW9uKTsKKwogICAgIFFSZWN0
RiBlbmRBcmVhID0gaXRlbVJlY3RGcm9tQ1NTKHRhcmdldEFyZWEpOwogCiAgICAgcXJlYWwgZW5k
SXRlbVNjYWxlID0gaXRlbVNjYWxlRnJvbUNTUyhpbm5lckJvdW5kZWRDU1NTY2FsZSgyLjApKTsK
QEAgLTM1MSwxNCArMzU2LDE1IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpm
b2N1c0UKIAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6Onpvb21Ub0FyZWFHZXN0
dXJlRW5kZWQoY29uc3QgUVBvaW50RiYgdG91Y2hQb2ludCwgY29uc3QgUVJlY3RGJiB0YXJnZXRB
cmVhKQogeworICAgIC8vIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGFzIGEgcmVzdWx0IG9mIGEgdXNl
ciBpbnRlcmFjdGlvbi4KKyAgICBBU1NFUlQobV9oYWRVc2VySW50ZXJhY3Rpb24pOworCiAgICAg
aWYgKCF0YXJnZXRBcmVhLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1f
c3VzcGVuZENvdW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2hhZFVzZXJJbnRlcmFjdGlv
biA9IHRydWU7Ci0KICAgICBjb25zdCBpbnQgbWFyZ2luID0gMTA7IC8vIFdlIHdhbnQgYXQgbGVh
c3QgYSBsaXR0bGUgYml0IG9mIG1hcmdpbi4KICAgICBRUmVjdEYgZW5kQXJlYSA9IGl0ZW1SZWN0
RnJvbUNTUyh0YXJnZXRBcmVhLmFkanVzdGVkKC1tYXJnaW4sIC1tYXJnaW4sIG1hcmdpbiwgbWFy
Z2luKSk7CiAKQEAgLTUwMCw3ICs1MDYsNiBAQCBib29sIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZTo6cGFuR2VzCiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwYW5HZXN0
dXJlU3RhcnRlZChjb25zdCBRUG9pbnRGJiBwb3NpdGlvbiwgcWludDY0IGV2ZW50VGltZXN0YW1w
TWlsbGlzKQogewotICAgIG1faGFkVXNlckludGVyYWN0aW9uID0gdHJ1ZTsKICAgICBtX3ZpZXdw
b3J0LT5oYW5kbGVGbGlja2FibGVNb3VzZVByZXNzKHBvc2l0aW9uLCBldmVudFRpbWVzdGFtcE1p
bGxpcyk7CiAgICAgbV9sYXN0UGluY2hDZW50ZXJJblZpZXdwb3J0Q29vcmRpbmF0ZXMgPSBwb3Np
dGlvbjsKIH0KQEAgLTU2NCw3ICs1NjksNiBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZTo6cGluY2hHCiAgICAgaWYgKCFtX2FsbG93c1VzZXJTY2FsaW5nKQogICAgICAgICByZXR1
cm47CiAKLSAgICBtX2hhZFVzZXJJbnRlcmFjdGlvbiA9IHRydWU7CiAgICAgbV9zY2FsZVN0YWNr
LmNsZWFyKCk7CiAgICAgbV96b29tT3V0U2NhbGUgPSAwLjA7CiAKQEAgLTU3NCw3ICs1NzgsNyBA
QCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGluY2hHCiAgICAgbV9waW5jaFN0
YXJ0U2NhbGUgPSBtX2NvbnRlbnQtPmNvbnRlbnRzU2NhbGUoKTsKIAogICAgIC8vIFJlc2V0IHRo
ZSB0aWxpbmcgbG9vay1haGVhZCB2ZWN0b3Igc28gdGhhdCB0aWxlcyBhbGwgYXJvdW5kIHRoZSB2
aWV3cG9ydCB3aWxsIGJlIHJlcXVlc3RlZCBvbiBwaW5jaC1lbmQuCi0gICAgZW1pdCBjb250ZW50
Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYoKSk7CisgICAgZW1pdCBpbmZvcm1WaXNpYmxlQ29udGVu
dENoYW5nZShRUG9pbnRGKCkpOwogfQogCiB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZTo6cGluY2hHZXN0dXJlUmVxdWVzdFVwZGF0ZShjb25zdCBRUG9pbnRGJiBwaW5jaENlbnRlcklu
Vmlld3BvcnRDb29yZGluYXRlcywgcXJlYWwgdG90YWxTY2FsZUZhY3RvcikKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0
aW9uRW5naW5lLmgJKHJldmlzaW9uIDExODM0MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTYs
OSArOTYsOCBAQCBRX1NJR05BTFM6CiAgICAgdm9pZCBjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgp
OwogICAgIHZvaWQgY29udGVudFJlc3VtZVJlcXVlc3RlZCgpOwogCi0gICAgdm9pZCBjb250ZW50
Vmlld3BvcnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnkgPSBRUG9pbnRGKCkpOwor
ICAgIHZvaWQgaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoY29uc3QgUVBvaW50RiYgdHJhamVj
dG9yeSA9IFFQb2ludEYoKSk7CiAKLSAgICB2b2lkIHZpZXdwb3J0VHJhamVjdG9yeVZlY3RvckNo
YW5nZWQoY29uc3QgUVBvaW50RiYpOwogICAgIHZvaWQgdmlzaWJsZUNvbnRlbnRSZWN0QW5kU2Nh
bGVDaGFuZ2VkKCk7CiAKIHByaXZhdGUgUV9TTE9UUzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143989</attachid>
            <date>2012-05-25 00:13:32 -0700</date>
            <delta_ts>2012-05-29 02:33:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120525091330.patch</filename>
            <type>text/plain</type>
            <size>9821</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODQ3OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA1LTI0ICBaYWxhbiBC
dWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gRml4IGZhaWxp
bmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFJlbmFtZSBjb250ZW50Vmll
d3BvcnRDaGFuZ2VkIHRvIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKCkgdG8KKyAgICAgICAg
cmVmbGVjdCBpdHMgZnVuY3Rpb25hbGl0eSBiZXR0ZXIuIENlbnRyYWxpemUgbV9oYWRVc2VySW50
ZXJhY3Rpb24gZmxhZworICAgICAgICBzZXR0aW5nIGFuZCBhZGQgYXNzZXJ0aW9ucyBvbiBpdCB0
byBlbnN1cmUgdGhhdCBkZXNpZ25hdGVkCisgICAgICAgIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9u
bHkgb24gdXNlciBpbnRlcmFjdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6
b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJp
dmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2Fi
bGVQcml2YXRlOjpfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKToKKyAgICAgICAgKFFR
dWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9yZXN1bWUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6Ol9x
X29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0Zs
aWNrYWJsZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFVwZGF0ZURlZmVycmVy
Ojp+Vmlld3BvcnRVcGRhdGVEZWZlcnJlcik6CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6ZmxpY2thYmxlTW92aW5nUG9zaXRpb25VcGRhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNo
QmVnaW4pOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OmZv
Y3VzRWRpdGFibGVBcmVhKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjp6b29tVG9BcmVhR2VzdHVyZUVuZGVkKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3
cG9ydEludGVyYWN0aW9uRW5naW5lOjpwYW5HZXN0dXJlU3RhcnRlZCk6CisgICAgICAgIChXZWJL
aXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGluY2hHZXN0dXJlU3RhcnRlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oOgorICAg
ICAgICAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKToKKwogMjAxMi0wNS0yNCAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBhZnRl
ciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTg0NDEKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAkocmV2aXNp
b24gMTE4NDc4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEzLDcgKzgxMyw3IEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld0ZsaWNrYWJsZVByaXZhdGU6Om9uQ28KIAogICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJh
Y3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwoY29udGVudFN1c3BlbmRSZXF1ZXN0ZWQoKSksIHEs
IFNMT1QoX3Ffc3VzcGVuZCgpKSk7CiAgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVu
Z2luZS5kYXRhKCksIFNJR05BTChjb250ZW50UmVzdW1lUmVxdWVzdGVkKCkpLCBxLCBTTE9UKF9x
X3Jlc3VtZSgpKSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRh
KCksIFNJR05BTChjb250ZW50Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYpKSwgcSwgU0xPVChfcV9j
b250ZW50Vmlld3BvcnRDaGFuZ2VkKFFQb2ludEYpKSk7CisgICAgUU9iamVjdDo6Y29ubmVjdChp
bnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05BTChpbmZvcm1WaXNpYmxlQ29udGVudENoYW5n
ZShRUG9pbnRGKSksIHEsIFNMT1QoX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9p
bnRGKSkpOwogCiAgICAgX3FfcmVzdW1lKCk7CiAKQEAgLTg2NSwxMCArODY1LDEwIEBAIHZvaWQg
UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OnVwZGEKICAgICAvLyBpdCBjYW4gcmVzaXpl
IHRoZSBjb250ZW50IGFjY29yZGluZ2x5LgogICAgIHdlYlBhZ2VQcm94eS0+c2V0Vmlld3BvcnRT
aXplKHZpZXdwb3J0U2l6ZSk7CiAKLSAgICBfcV9jb250ZW50Vmlld3BvcnRDaGFuZ2VkKFFQb2lu
dEYoKSk7CisgICAgX3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKCkpOwog
fQogCi12b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9jb250ZW50Vmlld3Bv
cnRDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnlWZWN0b3IpCit2b2lkIFFRdWlja1dl
YlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNv
bnN0IFFQb2ludEYmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgUV9RKFFRdWlja1dlYlZpZXcp
OwogCkBAIC05MDMsNyArOTAzLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0
ZTo6X3FfcgogICAgIHBhZ2VJc1N1c3BlbmRlZCA9IGZhbHNlOwogICAgIHdlYlBhZ2VQcm94eS0+
cmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKTsKIAotICAgIF9xX2NvbnRlbnRW
aWV3cG9ydENoYW5nZWQoUVBvaW50RigpKTsKKyAgICBfcV9vbkluZm9ybVZpc2libGVDb250ZW50
Q2hhbmdlKFFQb2ludEYoKSk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZh
dGU6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFFQb2ludCYgcG9zKQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCShyZXZp
c2lvbiAxMTg0NzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygpLCB2b2lkIF9xX3N1c3BlbmQoKSk7CiAgICAgUV9Q
UklWQVRFX1NMT1QoZF9mdW5jKCksIHZvaWQgX3FfcmVzdW1lKCkpOwotICAgIFFfUFJJVkFURV9T
TE9UKGRfZnVuYygpLCB2b2lkIF9xX2NvbnRlbnRWaWV3cG9ydENoYW5nZWQoY29uc3QgUVBvaW50
RiYpKTsKKyAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBfcV9vbkluZm9ybVZpc2li
bGVDb250ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYmKSk7CiAKICAgICBRX1BSSVZBVEVfU0xPVChk
X2Z1bmMoKSwgdm9pZCBfcV9vblZpc2libGVDaGFuZ2VkKCkpOwogICAgIFFfUFJJVkFURV9TTE9U
KGRfZnVuYygpLCB2b2lkIF9xX29uVXJsQ2hhbmdlZCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgJKHJldmlzaW9u
IDExODQ3OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wX3AuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgX3Ffc3VzcGVuZCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBfcV9yZXN1bWUo
KSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgX3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChjb25zdCBR
UG9pbnRGJiB0cmFqZWN0b3J5KSB7IH07CisgICAgdmlydHVhbCB2b2lkIF9xX29uSW5mb3JtVmlz
aWJsZUNvbnRlbnRDaGFuZ2UoY29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSkgeyB9OwogCiAgICAg
dmlydHVhbCBxcmVhbCB6b29tRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gMTsgfQogICAgIHZpcnR1
YWwgdm9pZCBzZXRab29tRmFjdG9yKHFyZWFsKSB7IH0KQEAgLTIzMSw3ICsyMzEsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgX3Ffc3VzcGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBf
cV9yZXN1bWUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgX3FfY29udGVudFZpZXdwb3J0Q2hhbmdlZChj
b25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5KTsKKyAgICB2aXJ0dWFsIHZvaWQgX3Ffb25JbmZvcm1W
aXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5KTsKIAogICAgIHZp
cnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBRUG9pbnQmIHBvcyk7CiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBRU2l6ZSYgbmV3U2l6ZSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRW
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAkocmV2aXNpb24gMTE4NDc4KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAg
ICAgLy8gTWFrZSBzdXJlIHRoYXQgdGlsZXMgYWxsIGFyb3VuZCB0aGUgdmlld3BvcnQgd2lsbCBi
ZSByZXF1ZXN0ZWQuCi0gICAgICAgIGVtaXQgZW5naW5lLT5jb250ZW50Vmlld3BvcnRDaGFuZ2Vk
KFFQb2ludEYoKSk7CisgICAgICAgIGVtaXQgZW5naW5lLT5pbmZvcm1WaXNpYmxlQ29udGVudENo
YW5nZShRUG9pbnRGKCkpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTI0Niw3ICsyNDYsNyBAQCB2
b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6ZmxpY2thCiB7CiAgICAgUVBvaW50RiBu
ZXdQb3NpdGlvbiA9IG1fdmlld3BvcnQtPmNvbnRlbnRQb3MoKTsKIAotICAgIGVtaXQgY29udGVu
dFZpZXdwb3J0Q2hhbmdlZChtX2xhc3RTY3JvbGxQb3NpdGlvbiAtIG5ld1Bvc2l0aW9uKTsKKyAg
ICBlbWl0IGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKG1fbGFzdFNjcm9sbFBvc2l0aW9uIC0g
bmV3UG9zaXRpb24pOwogCiAgICAgbV9sYXN0U2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlvbjsK
IH0KQEAgLTI4OSwxMSArMjg5LDEzIEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjpwYWdlUG8KICAgICBzZXRJdGVtUmVjdFZpc2libGUoZW5kVmlzaWJsZUNvbnRlbnRSZWN0KTsK
IAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdp
bGwgYmUgcmVxdWVzdGVkLgotICAgIGVtaXQgY29udGVudFZpZXdwb3J0Q2hhbmdlZChRUG9pbnRG
KCkpOworICAgIGVtaXQgaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsKIH0K
IAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVnaW4oKQogeworICAg
IG1faGFkVXNlckludGVyYWN0aW9uID0gdHJ1ZTsKKwogICAgIC8vIFByZXZlbnRzIHJlc3VtaW5n
IHRoZSBwYWdlIGJldHdlZW4gdGhlIHVzZXIncyBmbGlja3Mgb2YgdGhlIHBhZ2Ugd2hpbGUgdGhl
IGFuaW1hdGlvbiBpcyBydW5uaW5nLgogICAgIGlmIChzY3JvbGxBbmltYXRpb25BY3RpdmUoKSkK
ICAgICAgICAgbV90b3VjaFVwZGF0ZURlZmVycmVyID0gYWRvcHRQdHIobmV3IFZpZXdwb3J0VXBk
YXRlRGVmZXJyZXIodGhpcywgVmlld3BvcnRVcGRhdGVEZWZlcnJlcjo6RGVmZXJVcGRhdGVBbmRT
dXNwZW5kQ29udGVudCkpOwpAQCAtMzE3LDYgKzMxOSw5IEBAIFFSZWN0RiBRdFZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmU6OmNvbXAKIAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6
OmZvY3VzRWRpdGFibGVBcmVhKGNvbnN0IFFSZWN0RiYgY2FyZXRBcmVhLCBjb25zdCBRUmVjdEYm
IHRhcmdldEFyZWEpCiB7CisgICAgLy8gVGhpcyBjYW4gb25seSBoYXBwZW4gYXMgYSByZXN1bHQg
b2YgYSB1c2VyIGludGVyYWN0aW9uLgorICAgIEFTU0VSVChtX2hhZFVzZXJJbnRlcmFjdGlvbik7
CisKICAgICBRUmVjdEYgZW5kQXJlYSA9IGl0ZW1SZWN0RnJvbUNTUyh0YXJnZXRBcmVhKTsKIAog
ICAgIHFyZWFsIGVuZEl0ZW1TY2FsZSA9IGl0ZW1TY2FsZUZyb21DU1MoaW5uZXJCb3VuZGVkQ1NT
U2NhbGUoMi4wKSk7CkBAIC0zNTEsMTQgKzM1NiwxNSBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZTo6Zm9jdXNFCiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp6
b29tVG9BcmVhR2VzdHVyZUVuZGVkKGNvbnN0IFFQb2ludEYmIHRvdWNoUG9pbnQsIGNvbnN0IFFS
ZWN0RiYgdGFyZ2V0QXJlYSkKIHsKKyAgICAvLyBUaGlzIGNhbiBvbmx5IGhhcHBlbiBhcyBhIHJl
c3VsdCBvZiBhIHVzZXIgaW50ZXJhY3Rpb24uCisgICAgQVNTRVJUKG1faGFkVXNlckludGVyYWN0
aW9uKTsKKwogICAgIGlmICghdGFyZ2V0QXJlYS5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmIChtX3N1c3BlbmRDb3VudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9oYWRV
c2VySW50ZXJhY3Rpb24gPSB0cnVlOwotCiAgICAgY29uc3QgaW50IG1hcmdpbiA9IDEwOyAvLyBX
ZSB3YW50IGF0IGxlYXN0IGEgbGl0dGxlIGJpdCBvZiBtYXJnaW4uCiAgICAgUVJlY3RGIGVuZEFy
ZWEgPSBpdGVtUmVjdEZyb21DU1ModGFyZ2V0QXJlYS5hZGp1c3RlZCgtbWFyZ2luLCAtbWFyZ2lu
LCBtYXJnaW4sIG1hcmdpbikpOwogCkBAIC01MDAsNyArNTA2LDkgQEAgYm9vbCBRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmU6OnBhbkdlcwogCiB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZTo6cGFuR2VzdHVyZVN0YXJ0ZWQoY29uc3QgUVBvaW50RiYgcG9zaXRpb24sIHFpbnQ2NCBl
dmVudFRpbWVzdGFtcE1pbGxpcykKIHsKLSAgICBtX2hhZFVzZXJJbnRlcmFjdGlvbiA9IHRydWU7
CisgICAgLy8gVGhpcyBjYW4gb25seSBoYXBwZW4gYXMgYSByZXN1bHQgb2YgYSB1c2VyIGludGVy
YWN0aW9uLgorICAgIEFTU0VSVChtX2hhZFVzZXJJbnRlcmFjdGlvbik7CisKICAgICBtX3ZpZXdw
b3J0LT5oYW5kbGVGbGlja2FibGVNb3VzZVByZXNzKHBvc2l0aW9uLCBldmVudFRpbWVzdGFtcE1p
bGxpcyk7CiAgICAgbV9sYXN0UGluY2hDZW50ZXJJblZpZXdwb3J0Q29vcmRpbmF0ZXMgPSBwb3Np
dGlvbjsKIH0KQEAgLTU2MSwxMCArNTY5LDEyIEBAIGJvb2wgUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjpwaW5jaEcKIAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBpbmNo
R2VzdHVyZVN0YXJ0ZWQoY29uc3QgUVBvaW50RiYgcGluY2hDZW50ZXJJblZpZXdwb3J0Q29vcmRp
bmF0ZXMpCiB7CisgICAgLy8gVGhpcyBjYW4gb25seSBoYXBwZW4gYXMgYSByZXN1bHQgb2YgYSB1
c2VyIGludGVyYWN0aW9uLgorICAgIEFTU0VSVChtX2hhZFVzZXJJbnRlcmFjdGlvbik7CisKICAg
ICBpZiAoIW1fYWxsb3dzVXNlclNjYWxpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1faGFk
VXNlckludGVyYWN0aW9uID0gdHJ1ZTsKICAgICBtX3NjYWxlU3RhY2suY2xlYXIoKTsKICAgICBt
X3pvb21PdXRTY2FsZSA9IDAuMDsKIApAQCAtNTc0LDcgKzU4NCw3IEBAIHZvaWQgUXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEcKICAgICBtX3BpbmNoU3RhcnRTY2FsZSA9IG1fY29u
dGVudC0+Y29udGVudHNTY2FsZSgpOwogCiAgICAgLy8gUmVzZXQgdGhlIHRpbGluZyBsb29rLWFo
ZWFkIHZlY3RvciBzbyB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUg
cmVxdWVzdGVkIG9uIHBpbmNoLWVuZC4KLSAgICBlbWl0IGNvbnRlbnRWaWV3cG9ydENoYW5nZWQo
UVBvaW50RigpKTsKKyAgICBlbWl0IGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYo
KSk7CiB9CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEdlc3R1cmVS
ZXF1ZXN0VXBkYXRlKGNvbnN0IFFQb2ludEYmIHBpbmNoQ2VudGVySW5WaWV3cG9ydENvb3JkaW5h
dGVzLCBxcmVhbCB0b3RhbFNjYWxlRmFjdG9yKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaAkocmV2
aXNpb24gMTE4NDc4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Niw5ICs5Niw4IEBAIFFfU0lH
TkFMUzoKICAgICB2b2lkIGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCk7CiAgICAgdm9pZCBjb250
ZW50UmVzdW1lUmVxdWVzdGVkKCk7CiAKLSAgICB2b2lkIGNvbnRlbnRWaWV3cG9ydENoYW5nZWQo
Y29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSA9IFFQb2ludEYoKSk7CisgICAgdm9pZCBpbmZvcm1W
aXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5ID0gUVBvaW50Rigp
KTsKIAotICAgIHZvaWQgdmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9p
bnRGJik7CiAgICAgdm9pZCB2aXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZUNoYW5nZWQoKTsKIAog
cHJpdmF0ZSBRX1NMT1RTOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144490</attachid>
            <date>2012-05-29 02:33:20 -0700</date>
            <delta_ts>2012-05-29 03:44:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120529113203.patch</filename>
            <type>text/plain</type>
            <size>14425</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDA5YjJjNTY0MDkyOTUz
MTQ4MWRlODk0MmYwMmNhMTc2ZTNkMThmMC4uMTkwYzhjZjAwYWI0ZjcwZjBiODQ3YTVmMjQ2ODU1
MzU5OTc5NmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTA1LTI5ICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBb
UXRdW1dLMl0gRml4IGZhaWxpbmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFRdWlja1dlYlBhZ2U6OnNldENv
bnRlbnRzU2NhbGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5j
cHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6UVF1aWNrV2ViVmll
d0ZsaWNrYWJsZVByaXZhdGUpOgorCisgICAgICAgICAgICBNYWtlIHN1cmUgcGFnZUlzU3VzcGVu
ZGVkIGlzIGluaXRpYWxpemVkIHRvIGZhbHNlLgorCisgICAgICAgIChRUXVpY2tXZWJWaWV3Rmxp
Y2thYmxlUHJpdmF0ZTo6X3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZSk6CisKKyAgICAg
ICAgICAgIEVhcmx5IGJhaWwgb3V0IGlmIHRoZXJlIGlzIG5vIGNoYW5nZS4KKworICAgICAgICAg
ICAgSW5mb3JtIGNvbnRlbnRTY2FsZUNvbW1pdHRlZCBpZiB0aGUgc2NhbGUgY2hhbmdlZCBzaW5j
ZSBsYXN0IHRpbWUuCisKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpk
aWRDaGFuZ2VDb250ZW50c1NpemUpOgorCisgICAgICAgICAgICBNYWtlIHN1cmUgdG8gY29tbWl0
IHRoZSByaWdodCBzaWduYWxzLCBpZS4gKkNoYW5nZWQgYW5kIG5vdCAqQ29tbWl0dGVkLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3F3ZWJraXR0ZXN0LmNwcDoKKyAgICAgICAgKHRvdWNoUG9pbnQpOgor
ICAgICAgICAoUVdlYktpdFRlc3Q6OnNlbmRUb3VjaEV2ZW50KToKKyAgICAgICAgKFFXZWJLaXRU
ZXN0Ojp0b3VjaFRhcCk6CisgICAgICAgIChRV2ViS2l0VGVzdDo6dG91Y2hEb3VibGVUYXApOgor
CisgICAgICAgICAgICBBZGQgcHJvcGVyIHRvdWNoIGVtdWxhdGlvbiBmb3IgdGhlIHRlc3Rpbmcg
c3lzdGVtLiBDYWxsIGRpcmVjdGx5CisgICAgICAgICAgICB0byBvdXIgV2ViS2l0IEFQSSAoYXZv
aWQgUXQgZXZlbnQgbG9vcCkgdG8gZW5zdXJlIGFsbCBldmVudHMgZ2V0cworICAgICAgICAgICAg
ZGVsaXZlcmVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Via2l0dGVzdF9wLmg6
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6c2V0SXRlbVJl
Y3RWaXNpYmxlKToKKworICAgICAgICAgICAgQXNzZXJ0IHRoYXQgYSBWaWV3cG9ydFVwZGF0ZURl
ZmVycmVyIGlzIGFsd2F5cyB1c2VkIHdoZW4gY2FsbGluZworICAgICAgICAgICAgdGhpcyBtZXRo
b2QuCisKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjphbmlt
YXRlSXRlbVJlY3RWaXNpYmxlKToKKworICAgICAgICAgICAgUmVtb3ZlIHdvcmsgYXJvdW5kIG5v
dyB3ZSBoYXZlIHRoZSBwcm9wZXIgZml4IGluIHBsYWNlLgorCisgICAgICAgIChXZWJLaXQ6OlF0
Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGFnZVBvc2l0aW9uUmVxdWVzdCk6CisKKyAgICAg
ICAgICAgIERvIG5vdCBzZW5kIHRoZSBpbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZSBtYW51YWxs
eSwgdXNlIHRoZQorICAgICAgICAgICAgVmlld3BvcnRVcGRhdGVEZWZlcnJlciBpbnN0ZWFkLgor
CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Y2FuY2VsU2Ny
b2xsQW5pbWF0aW9uKToKKworICAgICAgICAgICAgQWRkIG1pc3NpbmcgVmlld3BvcnRVcGRhdGVE
ZWZlcnJlci4KKworICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6
OnBpbmNoR2VzdHVyZVN0YXJ0ZWQpOgorCisgICAgICAgICAgICBObyByZWFzb24gdG8gZW1pdCBp
bmZvcm1WaXNpYmxlQ29udGVudENoYW5nZSBiZWZvcmUgcGluY2gKKyAgICAgICAgICAgIHN0YXJ0
LCBhcyBpdCBpcyBhbHdheXMgZG9uZSBvbiBlbmQgKGR1ZSB0byB0aGUgVmlld3BvcnRVcGRhdGVE
ZWZlcnJlcikuCisKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjppdGVtU2l6ZUNoYW5nZWQpOgorCisgICAgICAgICAgICBBZGQgbWlzc2luZyBWaWV3cG9ydFVw
ZGF0ZURlZmVycmVyLgorCiAyMDEyLTA1LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgcmV0dXJuIHZhbHVlIGluZm9ybWF0
aW9uIHRvIFdlYktpdFdlYlZpZXc6OmxvYWQtZmFpbGVkIHNpZ25hbCBkb2N1bWVudGF0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcApp
bmRleCAxNzhlMmRhZGUzNzY3MTExZjFiNGUyNWI2OGZkMzRlZGIzMmM3YTkzLi5lMGQ2MDEyZDI2
YmEyMDJjN2U2MTMyNzNjMWE3OTQxMjY2ODU4OWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2
b2lkIFFRdWlja1dlYlBhZ2U6OnNldENvbnRlbnRzU2NhbGUocXJlYWwgc2NhbGUpCiAgICAgQVNT
RVJUKHNjYWxlID4gMCk7CiAgICAgZC0+Y29udGVudHNTY2FsZSA9IHNjYWxlOwogICAgIGQtPnVw
ZGF0ZVNpemUoKTsKLSAgICBlbWl0IGQtPnZpZXdwb3J0SXRlbS0+ZXhwZXJpbWVudGFsKCktPnRl
c3QoKS0+Y29udGVudHNTY2FsZUNvbW1pdHRlZCgpOworICAgIGVtaXQgZC0+dmlld3BvcnRJdGVt
LT5leHBlcmltZW50YWwoKS0+dGVzdCgpLT5jb250ZW50c1NjYWxlQ2hhbmdlZCgpOwogfQogCiBx
cmVhbCBRUXVpY2tXZWJQYWdlOjpjb250ZW50c1NjYWxlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDlkNzcxNzFj
YzhiNGI3NDgyYzRmMjFjNGE1ODI4MjdkMGI0MDk3MWIuLmEzMGY3OTg0NGRiNGFiZGQxMWNjYmUx
ZTVlMDIzYWIxYzQxOGQ1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld0xlZ2FjeVByaXZhdGU6OnNldFpvb21GYWN0b3IocXJlYWwgZmFjdG9yKQogCiBRUXVpY2tX
ZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUoUVF1
aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgOiBRUXVpY2tXZWJWaWV3UHJpdmF0ZSh2aWV3cG9y
dCkKLSAgICAsIHBhZ2VJc1N1c3BlbmRlZCh0cnVlKQorICAgICwgcGFnZUlzU3VzcGVuZGVkKGZh
bHNlKQogewogICAgIC8vIERpc2FibGUgbW91c2UgZXZlbnRzIG9uIHRoZSBmbGlja2FibGUgd2Vi
IHZpZXcgc28gd2UgZG8gbm90CiAgICAgLy8gc2VsZWN0IHRleHQgZHVyaW5nIHBhbiBnZXN0dXJl
cyBvbiBwbGF0Zm9ybXMgd2hpY2ggc2VuZCBib3RoCkBAIC04NzYsMTQgKzg3NiwyMCBAQCB2b2lk
IFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9vbkluZm9ybVZpc2libGVDb250ZW50
Q2hhbmdlKGNvbnN0IFFQb2ludAogICAgIGlmICghZHJhd2luZ0FyZWEpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGNvbnN0IFFSZWN0IHZpc2libGVSZWN0KHZpc2libGVDb250ZW50c1JlY3QoKSk7
CisgICAgUVJlY3RGIGFjY3VyYXRlVmlzaWJsZVJlY3QocS0+Ym91bmRpbmdSZWN0KCkpOworICAg
IGFjY3VyYXRlVmlzaWJsZVJlY3QudHJhbnNsYXRlKGNvbnRlbnRQb3MoKSk7CisKKyAgICBpZiAo
YWNjdXJhdGVWaXNpYmxlUmVjdCA9PSBkcmF3aW5nQXJlYS0+Y29udGVudHNSZWN0KCkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIGZsb2F0IHNjYWxlID0gcGFnZVZpZXctPmNvbnRlbnRzU2NhbGUo
KTsKIAotICAgIGVtaXQgcS0+ZXhwZXJpbWVudGFsKCktPnRlc3QoKS0+Y29udGVudHNTY2FsZUNo
YW5nZWQoKTsKKyAgICBzdGF0aWMgZmxvYXQgbGFzdENvbW1pdHRlZFNjYWxlID0gLTE7CisgICAg
aWYgKHNjYWxlICE9IGxhc3RDb21taXR0ZWRTY2FsZSkKKyAgICAgICAgZW1pdCBxLT5leHBlcmlt
ZW50YWwoKS0+dGVzdCgpLT5jb250ZW50c1NjYWxlQ29tbWl0dGVkKCk7CisgICAgbGFzdENvbW1p
dHRlZFNjYWxlID0gc2NhbGU7CiAKLSAgICBRUmVjdEYgYWNjdXJhdGVWaXNpYmxlUmVjdChxLT5i
b3VuZGluZ1JlY3QoKSk7Ci0gICAgYWNjdXJhdGVWaXNpYmxlUmVjdC50cmFuc2xhdGUoY29udGVu
dFBvcygpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxl
UmVjdCwgc2NhbGUsIHRyYWplY3RvcnlWZWN0b3IsIEZsb2F0UG9pbnQoYWNjdXJhdGVWaXNpYmxl
UmVjdC54KCksIGFjY3VyYXRlVmlzaWJsZVJlY3QueSgpKSk7CisgICAgZHJhd2luZ0FyZWEtPnNl
dFZpc2libGVDb250ZW50c1JlY3QoUVJlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCgpKSwgc2NhbGUs
IHRyYWplY3RvcnlWZWN0b3IsIEZsb2F0UG9pbnQoYWNjdXJhdGVWaXNpYmxlUmVjdC54KCksIGFj
Y3VyYXRlVmlzaWJsZVJlY3QueSgpKSk7CiAKICAgICAvLyBFbnN1cmUgdGhhdCB1cGRhdGVQYWlu
dE5vZGUgaXMgYWx3YXlzIGNhbGxlZCBiZWZvcmUgcGFpbnRpbmcuCiAgICAgcGFnZVZpZXctPnVw
ZGF0ZSgpOwpAQCAtOTIwLDI2ICs5MjYsMjIgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxl
UHJpdmF0ZTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFFTaXplJiBuZXdTaXplKQogCiAg
ICAgZmxvYXQgbWluaW11bVNjYWxlID0gV2ViQ29yZTo6Y29tcHV0ZU1pbmltdW1TY2FsZUZhY3Rv
ckZvckNvbnRlbnRDb250YWluZWQoYXR0cmlidXRlcywgdmlld3BvcnRTaXplLCBuZXdTaXplKTsK
IAotICAgIGJvb2wgc2NhbGVDb21taXROb3RpZmllZCA9IGZhbHNlOwotCiAgICAgaWYgKCFxRnV6
enlDb21wYXJlKG1pbmltdW1TY2FsZSwgYXR0cmlidXRlcy5taW5pbXVtU2NhbGUpKSB7CiAgICAg
ICAgIGludGVyYWN0aW9uRW5naW5lLT5zZXRDU1NTY2FsZUJvdW5kcyhtaW5pbXVtU2NhbGUsIGF0
dHJpYnV0ZXMubWF4aW11bVNjYWxlKTsKICAgICAgICAgZW1pdCBxLT5leHBlcmltZW50YWwoKS0+
dGVzdCgpLT52aWV3cG9ydENoYW5nZWQoKTsKIAogICAgICAgICBpZiAoIWludGVyYWN0aW9uRW5n
aW5lLT5oYWRVc2VySW50ZXJhY3Rpb24oKSAmJiAhcGFnZUlzU3VzcGVuZGVkKSB7Ci0gICAgICAg
ICAgICAvLyBFbWl0cyBjb250ZW50c1NjYWxlQ29tbWl0dGVkKCk7Ci0gICAgICAgICAgICBzY2Fs
ZUNvbW1pdE5vdGlmaWVkID0gdHJ1ZTsKKyAgICAgICAgICAgIC8vIEVtaXRzIGNvbnRlbnRzU2Nh
bGVDaGFuZ2VkKCk7CiAgICAgICAgICAgICBpbnRlcmFjdGlvbkVuZ2luZS0+c2V0Q1NTU2NhbGUo
bWluaW11bVNjYWxlKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIEVtaXQgZm9yIHRlc3Rp
bmcgcHVycG9zZXMsIHNvIHRoYXQgaXQgY2FuIGJlIHZlcmlmaWVkIHRoYXQKICAgICAvLyB3ZSBk
aWRuJ3QgZG8gc2NhbGUgYWRqdXN0bWVudC4KLSAgICBpZiAoIXNjYWxlQ29tbWl0Tm90aWZpZWQp
Ci0gICAgICAgIGVtaXQgcS0+ZXhwZXJpbWVudGFsKCktPnRlc3QoKS0+Y29udGVudHNTY2FsZUNv
bW1pdHRlZCgpOworICAgIGludGVyYWN0aW9uRW5naW5lLT5zZXRJdGVtUmVjdFZpc2libGUoaW50
ZXJhY3Rpb25FbmdpbmUtPm5lYXJlc3RWYWxpZEJvdW5kcygpKTsKKyAgICBlbWl0IHEtPmV4cGVy
aW1lbnRhbCgpLT50ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKIH0KIAotCiAvKiEK
ICAgICBccW1sc2lnbmFsIFdlYlZpZXc6Om9uTmF2aWdhdGlvblJlcXVlc3RlZChXZWJOYXZpZ2F0
aW9uUmVxdWVzdCByZXF1ZXN0KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAppbmRleCBmMzNjNmU2NTQ3NjY5OTUwZTA4NDIyZWQ0ZjA1
OWRhZTE0Njc1NmVlLi42YjU1NmQ4OTJhYWNlOTVlNWNhZjcyNjk5ZDAzNmU0OWVkZjg4YTVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
LmgKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgIFFTY29wZWRQb2ludGVyPFFRdWlj
a1dlYlZpZXdQcml2YXRlPiBkX3B0cjsKICAgICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsKiBt
X2V4cGVyaW1lbnRhbDsKIAorICAgIGZyaWVuZCBjbGFzcyBRV2ViS2l0VGVzdDsKICAgICBmcmll
bmQgY2xhc3MgV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU7CiAgICAgZnJpZW5k
IGNsYXNzIFdlYktpdDo6UXRXZWJQYWdlTG9hZENsaWVudDsKICAgICBmcmllbmQgY2xhc3MgV2Vi
S2l0OjpRdFdlYlBhZ2VQb2xpY3lDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F3ZWJraXR0ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYmtpdHRlc3QuY3BwCmluZGV4IDUyOWRmMDFlYjAzODA2ZjJlMjg1YmQ1MTlk
NjBhNzQ2YmQ2YWRlZDkuLmZhNjQ2NjdlMzFlYzFjZDEzZDU4ZWJiMWNlZmQ1MjAyNGYxMzA1Yzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3QuY3Bw
CkBAIC0yMiw5ICsyMiwxMCBAQAogI2luY2x1ZGUgInF3ZWJraXR0ZXN0X3AuaCIKIAogI2luY2x1
ZGUgIlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oIgotI2luY2x1ZGUgIlF0V2ViUGFnZUV2
ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogI2luY2x1ZGUgInFx
dWlja3dlYnZpZXdfcF9wLmgiCisjaW5jbHVkZSAicXdpbmRvd3N5c3RlbWludGVyZmFjZV9xcGEu
aCIKKyNpbmNsdWRlIDxRTXV0YWJsZUxpc3RJdGVyYXRvcj4KKyNpbmNsdWRlIDxRVG91Y2hFdmVu
dD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDMsNDEgKzQ0LDc5IEBAIHN0YXRp
YyBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCB0b3VjaFBvaW50KHFyZWFsIHgsIHFyZWFsIHkpCiAg
ICAgUVBvaW50RiBsb2NhbFBvcyh4LCB5KTsKIAogICAgIFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50
IHBvaW50OworICAgIHBvaW50LnNldElkKDEpOwogICAgIHBvaW50LnNldExhc3RQb3MobG9jYWxQ
b3MpOwogICAgIFFSZWN0RiB0b3VjaFJlY3QoMCwgMCwgNDAsIDQwKTsKICAgICB0b3VjaFJlY3Qu
bW92ZUNlbnRlcihsb2NhbFBvcyk7CiAgICAgcG9pbnQuc2V0UmVjdCh0b3VjaFJlY3QpOworICAg
IHBvaW50LnNldFByZXNzdXJlKDEpOwogCiAgICAgcmV0dXJuIHBvaW50OwogfQogCitib29sIFFX
ZWJLaXRUZXN0OjpzZW5kVG91Y2hFdmVudChRUXVpY2tXZWJWaWV3KiB3aW5kb3csIFFFdmVudDo6
VHlwZSB0eXBlLCBRTGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQb2ludD4mIHBvaW50cywgdWxvbmcg
dGltZXN0YW1wKQoreworICAgIEFTU0VSVCh3aW5kb3cpOworCisgICAgc3RhdGljIFFUb3VjaERl
dmljZSogZGV2aWNlID0gMDsKKyAgICBpZiAoIWRldmljZSkgeworICAgICAgICBkZXZpY2UgPSBu
ZXcgUVRvdWNoRGV2aWNlOworICAgICAgICBkZXZpY2UtPnNldFR5cGUoUVRvdWNoRGV2aWNlOjpU
b3VjaFNjcmVlbik7CisgICAgICAgIFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OnJlZ2lzdGVyVG91
Y2hEZXZpY2UoZGV2aWNlKTsKKyAgICB9CisKKyAgICBRdDo6VG91Y2hQb2ludFN0YXRlcyB0b3Vj
aFBvaW50U3RhdGVzID0gMDsKKyAgICBmb3JlYWNoIChjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQ
b2ludCYgdG91Y2hQb2ludCwgcG9pbnRzKQorICAgICAgICB0b3VjaFBvaW50U3RhdGVzIHw9IHRv
dWNoUG9pbnQuc3RhdGUoKTsKKworICAgIFFUb3VjaEV2ZW50IGV2ZW50KHR5cGUsIGRldmljZSwg
UXQ6Ok5vTW9kaWZpZXIsIHRvdWNoUG9pbnRTdGF0ZXMsIHBvaW50cyk7CisgICAgZXZlbnQuc2V0
VGltZXN0YW1wKHRpbWVzdGFtcCk7CisgICAgZXZlbnQuc2V0QWNjZXB0ZWQoZmFsc2UpOworCisg
ICAgd2luZG93LT50b3VjaEV2ZW50KCZldmVudCk7CisKKyAgICAvLyBHZXQgcmlkIG9mIHRvdWNo
LXBvaW50cyB0aGF0IGFyZSBubyBsb25nZXIgdmFsaWQuCisgICAgUU11dGFibGVMaXN0SXRlcmF0
b3I8UVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQ+IGl0KHBvaW50cyk7CisgICAgd2hpbGUgKGl0Lmhh
c05leHQoKSkgeworICAgICAgICBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCBwb2ludCA9IGl0Lm5l
eHQoKTsKKyAgICAgICAgaWYgKHBvaW50LnN0YXRlKCkgPT0gIFF0OjpUb3VjaFBvaW50UmVsZWFz
ZWQpCisgICAgICAgICAgICBpdC5yZW1vdmUoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZXZlbnQu
aXNBY2NlcHRlZCgpOworfQorCiBib29sIFFXZWJLaXRUZXN0Ojp0b3VjaFRhcChRT2JqZWN0KiBp
dGVtLCBxcmVhbCB4LCBxcmVhbCB5LCBpbnQgZGVsYXkpCiB7Ci0gICAgaWYgKCFxb2JqZWN0X2Nh
c3Q8UVF1aWNrV2ViVmlldyo+KGl0ZW0pKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBvbmx5IHN1
cHBvcnQgdGhlIGFjdHVhbCB3ZWIgdmlldyBmb3Igbm93LgotICAgICAgICBxV2FybmluZygiVG91
Y2ggZXZlbnQgXCJEb3VibGVUYXBcIiBub3QgYWNjZXB0ZWQgYnkgcmVjZWl2aW5nIGl0ZW0iKTsK
KyAgICBRUXVpY2tXZWJWaWV3KiB3aW5kb3cgPSBxb2JqZWN0X2Nhc3Q8UVF1aWNrV2ViVmlldyo+
KGl0ZW0pOworCisgICAgaWYgKCF3aW5kb3cpIHsKKyAgICAgICAgcVdhcm5pbmcoIlRvdWNoIGV2
ZW50IFwiVG91Y2hCZWdpblwiIG5vdCBhY2NlcHRlZCBieSByZWNlaXZpbmcgaXRlbSIpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IGltcGxlbWVudCBkZWxh
eSB1c2luZyBRVGVzdDo6cVdhaXQoKSBvciBzaW1pbGFyLgogICAgIFFfVU5VU0VEKGRlbGF5KTsK
LSAgICBtX3dlYlZpZXdQcml2YXRlLT5wYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVNp
bmdsZVRhcEV2ZW50KHRvdWNoUG9pbnQoeCwgeSkpOworCisgICAgUUxpc3Q8UVRvdWNoRXZlbnQ6
OlRvdWNoUG9pbnQ+IHBvaW50czsKKyAgICBwb2ludHMuYXBwZW5kKHRvdWNoUG9pbnQoeCwgeSkp
OworCisgICAgcG9pbnRzWzBdLnNldFN0YXRlKFF0OjpUb3VjaFBvaW50UHJlc3NlZCk7CisgICAg
c2VuZFRvdWNoRXZlbnQod2luZG93LCBRRXZlbnQ6OlRvdWNoQmVnaW4sIHBvaW50cywgUURhdGVU
aW1lOjpjdXJyZW50TVNlY3NTaW5jZUVwb2NoKCkpOworCisgICAgcG9pbnRzWzBdLnNldFN0YXRl
KFF0OjpUb3VjaFBvaW50UmVsZWFzZWQpOworICAgIHNlbmRUb3VjaEV2ZW50KHdpbmRvdywgUUV2
ZW50OjpUb3VjaEVuZCwgcG9pbnRzLCBRRGF0ZVRpbWU6OmN1cnJlbnRNU2Vjc1NpbmNlRXBvY2go
KSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBRV2ViS2l0VGVzdDo6dG91Y2hEb3Vi
bGVUYXAoUU9iamVjdCogaXRlbSwgcXJlYWwgeCwgcXJlYWwgeSwgaW50IGRlbGF5KQogewotICAg
IGlmICghcW9iamVjdF9jYXN0PFFRdWlja1dlYlZpZXcqPihpdGVtKSkgewotICAgICAgICAvLyBG
SVhNRTogV2Ugb25seSBzdXBwb3J0IHRoZSBhY3R1YWwgd2ViIHZpZXcgZm9yIG5vdy4KLSAgICAg
ICAgcVdhcm5pbmcoIlRvdWNoIGV2ZW50IFwiRG91YmxlVGFwXCIgbm90IGFjY2VwdGVkIGJ5IHJl
Y2VpdmluZyBpdGVtIik7CisgICAgaWYgKCF0b3VjaFRhcChpdGVtLCB4LCB5LCBkZWxheSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CiAKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IGRl
bGF5IHVzaW5nIFFUZXN0OjpxV2FpdCgpIG9yIHNpbWlsYXIuCi0gICAgUV9VTlVTRUQoZGVsYXkp
OwotCi0gICAgbV93ZWJWaWV3UHJpdmF0ZS0+cGFnZVZpZXctPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVEb3VibGVUYXBFdmVudCh0b3VjaFBvaW50KHgsIHkpKTsKKyAgICBpZiAoIXRvdWNoVGFwKGl0
ZW0sIHgsIHksIGRlbGF5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRy
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJr
aXR0ZXN0X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3Rf
cC5oCmluZGV4IDYxMzQ4NjQwOTAzZjM4ODVlMjY1MjNlN2NmZWMzZjIwYzEwYWQ3NDQuLjQ2ZTM5
NGY1ZDA4MGEzZWZjMjI0ZTY2NWZkNjUxZGViNTUyNmM2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3RfcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3RfcC5oCkBAIC0yMyw2ICsyMyw3IEBACiAK
ICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCiAKKyNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3Au
aCIKICNpbmNsdWRlIDxRdENvcmUvUU9iamVjdD4KICNpbmNsdWRlIDxRdENvcmUvUVBvaW50ZXI+
CiAjaW5jbHVkZSA8UXRDb3JlL1FTaXplPgpAQCAtNjAsNiArNjEsOCBAQCBwdWJsaWM6CiAgICAg
UVdlYktpdFRlc3QoUVF1aWNrV2ViVmlld1ByaXZhdGUqIHdlYnZpZXdQcml2YXRlLCBRT2JqZWN0
KiBwYXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5RV2ViS2l0VGVzdCgpOwogCisgICAgYm9vbCBz
ZW5kVG91Y2hFdmVudChRUXVpY2tXZWJWaWV3KiB3aW5kb3csIFFFdmVudDo6VHlwZSB0eXBlLCBR
TGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQb2ludD4mIHBvaW50cywgdWxvbmcgdGltZXN0YW1wKTsK
KwogICAgIFFTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0OwogICAgIFFWYXJpYW50IGNvbnRlbnRz
U2NhbGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAppbmRleCBkM2Q1ZWZlZjI3MDJl
MzljZmJlOGNjNmNiZTNiMjhhMzkxZDA3MDVhLi4wZWQzYzJlZTZjOTRjMGY3ZjcxYjVhOTE3ZjM2
NzVhMmI3YTIyNzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRW
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcApAQCAtMTcwLDYgKzE3MCw5IEBA
IHFyZWFsIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6b3V0ZXJCb3VuZGVkQ1NTU2NhbGUo
cXJlYWwgY3NzU2NhbGUpIGNvbnN0CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjpzZXRJdGVtUmVjdFZpc2libGUoY29uc3QgUVJlY3RGJiBpdGVtUmVjdCkKIHsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKG1fc3VzcGVuZENvdW50LAorICAgICAgICAic2V0SXRlbVJlY3RWaXNp
YmxlIGhhcyB0byBiZSBndWFyZGVkIHVzaW5nIGEgVmlld3BvcnRVcGRhdGVEZWZlcnJlci4iKTsK
KwogICAgIGlmIChpdGVtUmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjAy
LDEzICsyMDUsNiBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6YW5pbWF0ZUl0
ZW1SZWN0VmlzaWJsZShjb25zdCBRUmVjdEYmIGl0ZW1SZWN0KQogICAgIGlmIChpdGVtUmVjdCA9
PSBjdXJyZW50SXRlbVJlY3RWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBGSVhN
RTogSW52ZXN0aWdhdGUgd2h5IHRoYXQgYW5pbWF0aW9uIGRvZXNuJ3QgcnVuIHdoZW4gd2UgYXJl
IHVuZm9jdXNlZC4KLSAgICBpZiAoIW1fdmlld3BvcnQtPmlzVmlzaWJsZSgpIHx8ICFtX3ZpZXdw
b3J0LT5oYXNGb2N1cygpKSB7Ci0gICAgICAgIC8vIEFwcGx5IHRoZSBlbmQgcmVzdWx0IGltbWVk
aWF0ZWx5IHdoZW4gd2UgYXJlIG5vbi12aXNpYmxlLgotICAgICAgICBzZXRJdGVtUmVjdFZpc2li
bGUoaXRlbVJlY3QpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgUUVhc2luZ0N1cnZl
IGVhc2luZ0N1cnZlOwogICAgIGVhc2luZ0N1cnZlLnNldEN1c3RvbVR5cGUocGh5c2ljYWxPdmVy
c2hvb3QpOwogCkBAIC0yODYsMTAgKzI4Miw4IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjpwYWdlUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFFQb2ludCYgcGFnZVBvc2l0aW9uCiAK
ICAgICBRUmVjdEYgZW5kVmlzaWJsZUNvbnRlbnRSZWN0KGVuZFBvc2l0aW9uIC8gZW5kSXRlbVNj
YWxlLCBtX3ZpZXdwb3J0LT5ib3VuZGluZ1JlY3QoKS5zaXplKCkgLyBlbmRJdGVtU2NhbGUpOwog
CisgICAgVmlld3BvcnRVcGRhdGVEZWZlcnJlcih0aGlzKTsKICAgICBzZXRJdGVtUmVjdFZpc2li
bGUoZW5kVmlzaWJsZUNvbnRlbnRSZWN0KTsKLQotICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRpbGVz
IGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUgcmVxdWVzdGVkLgotICAgIGVtaXQgaW5m
b3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsKIH0KIAogdm9pZCBRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVnaW4oKQpAQCAtNTUzLDYgKzU0Nyw3IEBAIHZvaWQg
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpjYW5jZWxTY3JvbGxBbmltYXRpb24oKQogICAg
IC8vIGltbWVkaWF0ZWx5IHBvc2l0aW9uZWQgYmFjayB0byB2YWxpZCBib3VuZGFyaWVzLgogCiAg
ICAgbV92aWV3cG9ydC0+Y2FuY2VsRmxpY2soKTsKKyAgICBWaWV3cG9ydFVwZGF0ZURlZmVycmVy
KHRoaXMpOwogICAgIHNldEl0ZW1SZWN0VmlzaWJsZShuZWFyZXN0VmFsaWRCb3VuZHMoKSk7CiB9
CiAKQEAgLTU4Miw5ICs1NzcsNiBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6
cGluY2hHZXN0dXJlU3RhcnRlZChjb25zdCBRUG9pbnRGJiBwaW5jaENlbnRlcgogCiAgICAgbV9s
YXN0UGluY2hDZW50ZXJJblZpZXdwb3J0Q29vcmRpbmF0ZXMgPSBwaW5jaENlbnRlckluVmlld3Bv
cnRDb29yZGluYXRlczsKICAgICBtX3BpbmNoU3RhcnRTY2FsZSA9IG1fY29udGVudC0+Y29udGVu
dHNTY2FsZSgpOwotCi0gICAgLy8gUmVzZXQgdGhlIHRpbGluZyBsb29rLWFoZWFkIHZlY3RvciBz
byB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUgcmVxdWVzdGVkIG9u
IHBpbmNoLWVuZC4KLSAgICBlbWl0IGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKFFQb2ludEYo
KSk7CiB9CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwaW5jaEdlc3R1cmVS
ZXF1ZXN0VXBkYXRlKGNvbnN0IFFQb2ludEYmIHBpbmNoQ2VudGVySW5WaWV3cG9ydENvb3JkaW5h
dGVzLCBxcmVhbCB0b3RhbFNjYWxlRmFjdG9yKQpAQCAtNjM5LDYgKzYzMSw3IEBAIHZvaWQgUXRW
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjppdGVtU2l6ZUNoYW5nZWQoKQogICAgIGlmIChtX3N1
c3BlbmRDb3VudCkKICAgICAgICAgcmV0dXJuOwogCisgICAgVmlld3BvcnRVcGRhdGVEZWZlcnJl
cih0aGlzKTsKICAgICBzZXRJdGVtUmVjdFZpc2libGUobmVhcmVzdFZhbGlkQm91bmRzKCkpOwog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144504</attachid>
            <date>2012-05-29 03:44:17 -0700</date>
            <delta_ts>2012-05-29 03:46:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87236-20120529124301.patch</filename>
            <type>text/plain</type>
            <size>15073</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDA5YjJjNTY0MDkyOTUz
MTQ4MWRlODk0MmYwMmNhMTc2ZTNkMThmMC4uNzE4ZjhiMzMyNzgxNTIyMTFmM2VjOTFhMDM3NmVj
MWE5MTEzZTU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDEyLTA1LTI5ICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBb
UXRdW1dLMl0gRml4IGZhaWxpbmcgcW1sdGVzdHM6OkZpdFRvVmlldzo6dGVzdF9iYXNpYygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzIzNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBmaXggaXMg
YSBjb21iaW5hdGlvbiBvZiB0aGluZ3MuIEZpcnN0IG9mIGFsbCBzb21lIGV2ZW50cworICAgICAg
ICB3ZXJlIGVtaXR0ZWQgYXQgdGhlIHdyb25nIHRpbWVzIG9yIHdoZW4gbm90aGluZyBoYWQgY2hh
bmdlZC4KKworICAgICAgICBXZSBhbHNvIGluaXRpYWxpemVkIHRoZSB2aWV3IHNheWluZyBpdCB3
YXMgc3VzcGVuZGVkIHdoaWNoIGlzCisgICAgICAgIG5vdCBjb3JyZWN0LgorCisgICAgICAgIEFu
b3RoZXIgYnVnIHdhcyB0aGF0IHRoZSB0b3VjaCB0YXAsIGRpZG4ndCByZXN1bHQgaW4gbWFya2lu
ZworICAgICAgICB0aGUgdmlldyBhcyBoYXZpbmcgdXNlciBpbnRlcmFjdGlvbi4gVGhpcyB3YXMg
cmVjZW50bHkgZml4ZWQKKyAgICAgICAgaW4gcjExODQ5My4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHA6CisgICAgICAgIChRUXVpY2tXZWJQYWdlOjpzZXRD
b250ZW50c1NjYWxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OlFRdWlja1dlYlZp
ZXdGbGlja2FibGVQcml2YXRlKToKKworICAgICAgICAgICAgTWFrZSBzdXJlIHBhZ2VJc1N1c3Bl
bmRlZCBpcyBpbml0aWFsaXplZCB0byBmYWxzZS4KKworICAgICAgICAoUVF1aWNrV2ViVmlld0Zs
aWNrYWJsZVByaXZhdGU6Ol9xX29uSW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UpOgorCisgICAg
ICAgICAgICBFYXJseSBiYWlsIG91dCBpZiB0aGVyZSBpcyBubyBjaGFuZ2UuCisKKyAgICAgICAg
ICAgIEluZm9ybSBjb250ZW50U2NhbGVDb21taXR0ZWQgaWYgdGhlIHNjYWxlIGNoYW5nZWQgc2lu
Y2UgbGFzdCB0aW1lLgorCisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6
ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKworICAgICAgICAgICAgTWFrZSBzdXJlIHRvIGNvbW1p
dCB0aGUgcmlnaHQgc2lnbmFscywgaWUuICpDaGFuZ2VkIGFuZCBub3QgKkNvbW1pdHRlZC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9xdC9xd2Via2l0dGVzdC5jcHA6CisgICAgICAgICh0b3VjaFBvaW50KToK
KyAgICAgICAgKFFXZWJLaXRUZXN0OjpzZW5kVG91Y2hFdmVudCk6CisgICAgICAgIChRV2ViS2l0
VGVzdDo6dG91Y2hUYXApOgorICAgICAgICAoUVdlYktpdFRlc3Q6OnRvdWNoRG91YmxlVGFwKToK
KworICAgICAgICAgICAgQWRkIHByb3BlciB0b3VjaCBlbXVsYXRpb24gZm9yIHRoZSB0ZXN0aW5n
IHN5c3RlbS4gQ2FsbCBkaXJlY3RseQorICAgICAgICAgICAgdG8gb3VyIFdlYktpdCBBUEkgKGF2
b2lkIFF0IGV2ZW50IGxvb3ApIHRvIGVuc3VyZSBhbGwgZXZlbnRzIGdldHMKKyAgICAgICAgICAg
IGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3RfcC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnNldEl0ZW1S
ZWN0VmlzaWJsZSk6CisKKyAgICAgICAgICAgIEFzc2VydCB0aGF0IGEgVmlld3BvcnRVcGRhdGVE
ZWZlcnJlciBpcyBhbHdheXMgdXNlZCB3aGVuIGNhbGxpbmcKKyAgICAgICAgICAgIHRoaXMgbWV0
aG9kLgorCisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6YW5p
bWF0ZUl0ZW1SZWN0VmlzaWJsZSk6CisKKyAgICAgICAgICAgIFJlbW92ZSB3b3JrIGFyb3VuZCBu
b3cgd2UgaGF2ZSB0aGUgcHJvcGVyIGZpeCBpbiBwbGFjZS4KKworICAgICAgICAoV2ViS2l0OjpR
dFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVlc3QpOgorCisgICAg
ICAgICAgICBEbyBub3Qgc2VuZCB0aGUgaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UgbWFudWFs
bHksIHVzZSB0aGUKKyAgICAgICAgICAgIFZpZXdwb3J0VXBkYXRlRGVmZXJyZXIgaW5zdGVhZC4K
KworICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OmNhbmNlbFNj
cm9sbEFuaW1hdGlvbik6CisKKyAgICAgICAgICAgIEFkZCBtaXNzaW5nIFZpZXdwb3J0VXBkYXRl
RGVmZXJyZXIuCisKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjpwaW5jaEdlc3R1cmVTdGFydGVkKToKKworICAgICAgICAgICAgTm8gcmVhc29uIHRvIGVtaXQg
aW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UgYmVmb3JlIHBpbmNoCisgICAgICAgICAgICBzdGFy
dCwgYXMgaXQgaXMgYWx3YXlzIGRvbmUgb24gZW5kIChkdWUgdG8gdGhlIFZpZXdwb3J0VXBkYXRl
RGVmZXJyZXIpLgorCisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZTo6aXRlbVNpemVDaGFuZ2VkKToKKworICAgICAgICAgICAgQWRkIG1pc3NpbmcgVmlld3BvcnRV
cGRhdGVEZWZlcnJlci4KKwogMjAxMi0wNS0yOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIHJldHVybiB2YWx1ZSBpbmZvcm1h
dGlvbiB0byBXZWJLaXRXZWJWaWV3Ojpsb2FkLWZhaWxlZCBzaWduYWwgZG9jdW1lbnRhdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAK
aW5kZXggMTc4ZTJkYWRlMzc2NzExMWYxYjRlMjViNjhmZDM0ZWRiMzJjN2E5My4uZTBkNjAxMmQy
NmJhMjAyYzdlNjEzMjczYzFhNzk0MTI2Njg1ODllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAg
dm9pZCBRUXVpY2tXZWJQYWdlOjpzZXRDb250ZW50c1NjYWxlKHFyZWFsIHNjYWxlKQogICAgIEFT
U0VSVChzY2FsZSA+IDApOwogICAgIGQtPmNvbnRlbnRzU2NhbGUgPSBzY2FsZTsKICAgICBkLT51
cGRhdGVTaXplKCk7Ci0gICAgZW1pdCBkLT52aWV3cG9ydEl0ZW0tPmV4cGVyaW1lbnRhbCgpLT50
ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKKyAgICBlbWl0IGQtPnZpZXdwb3J0SXRl
bS0+ZXhwZXJpbWVudGFsKCktPnRlc3QoKS0+Y29udGVudHNTY2FsZUNoYW5nZWQoKTsKIH0KIAog
cXJlYWwgUVF1aWNrV2ViUGFnZTo6Y29udGVudHNTY2FsZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCA5ZDc3MTcx
Y2M4YjRiNzQ4MmM0ZjIxYzRhNTgyODI3ZDBiNDA5NzFiLi4xMWNjNWQ5NTY1OGY2N2Y1Y2VhMWZh
NmVjYTE1NzkwMDYyODBkNzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTc4Miw3ICs3ODIsOCBAQCB2b2lkIFFRdWlja1dl
YlZpZXdMZWdhY3lQcml2YXRlOjpzZXRab29tRmFjdG9yKHFyZWFsIGZhY3RvcikKIAogUVF1aWNr
V2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OlFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlKFFR
dWlja1dlYlZpZXcqIHZpZXdwb3J0KQogICAgIDogUVF1aWNrV2ViVmlld1ByaXZhdGUodmlld3Bv
cnQpCi0gICAgLCBwYWdlSXNTdXNwZW5kZWQodHJ1ZSkKKyAgICAsIHBhZ2VJc1N1c3BlbmRlZChm
YWxzZSkKKyAgICAsIGxhc3RDb21taXR0ZWRTY2FsZSgtMSkKIHsKICAgICAvLyBEaXNhYmxlIG1v
dXNlIGV2ZW50cyBvbiB0aGUgZmxpY2thYmxlIHdlYiB2aWV3IHNvIHdlIGRvIG5vdAogICAgIC8v
IHNlbGVjdCB0ZXh0IGR1cmluZyBwYW4gZ2VzdHVyZXMgb24gcGxhdGZvcm1zIHdoaWNoIHNlbmQg
Ym90aApAQCAtODc2LDE0ICs4NzcsMTkgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJp
dmF0ZTo6X3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnQKICAgICBp
ZiAoIWRyYXdpbmdBcmVhKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBRUmVjdCB2aXNp
YmxlUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0KCkpOworICAgIFFSZWN0RiBhY2N1cmF0ZVZpc2li
bGVSZWN0KHEtPmJvdW5kaW5nUmVjdCgpKTsKKyAgICBhY2N1cmF0ZVZpc2libGVSZWN0LnRyYW5z
bGF0ZShjb250ZW50UG9zKCkpOworCisgICAgaWYgKGFjY3VyYXRlVmlzaWJsZVJlY3QgPT0gZHJh
d2luZ0FyZWEtPmNvbnRlbnRzUmVjdCgpKQorICAgICAgICByZXR1cm47CisKICAgICBmbG9hdCBz
Y2FsZSA9IHBhZ2VWaWV3LT5jb250ZW50c1NjYWxlKCk7CiAKLSAgICBlbWl0IHEtPmV4cGVyaW1l
bnRhbCgpLT50ZXN0KCktPmNvbnRlbnRzU2NhbGVDaGFuZ2VkKCk7CisgICAgaWYgKHNjYWxlICE9
IGxhc3RDb21taXR0ZWRTY2FsZSkKKyAgICAgICAgZW1pdCBxLT5leHBlcmltZW50YWwoKS0+dGVz
dCgpLT5jb250ZW50c1NjYWxlQ29tbWl0dGVkKCk7CisgICAgbGFzdENvbW1pdHRlZFNjYWxlID0g
c2NhbGU7CiAKLSAgICBRUmVjdEYgYWNjdXJhdGVWaXNpYmxlUmVjdChxLT5ib3VuZGluZ1JlY3Qo
KSk7Ci0gICAgYWNjdXJhdGVWaXNpYmxlUmVjdC50cmFuc2xhdGUoY29udGVudFBvcygpKTsKLSAg
ICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlUmVjdCwgc2NhbGUs
IHRyYWplY3RvcnlWZWN0b3IsIEZsb2F0UG9pbnQoYWNjdXJhdGVWaXNpYmxlUmVjdC54KCksIGFj
Y3VyYXRlVmlzaWJsZVJlY3QueSgpKSk7CisgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250
ZW50c1JlY3QoUVJlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCgpKSwgc2NhbGUsIHRyYWplY3RvcnlW
ZWN0b3IsIEZsb2F0UG9pbnQoYWNjdXJhdGVWaXNpYmxlUmVjdC54KCksIGFjY3VyYXRlVmlzaWJs
ZVJlY3QueSgpKSk7CiAKICAgICAvLyBFbnN1cmUgdGhhdCB1cGRhdGVQYWludE5vZGUgaXMgYWx3
YXlzIGNhbGxlZCBiZWZvcmUgcGFpbnRpbmcuCiAgICAgcGFnZVZpZXctPnVwZGF0ZSgpOwpAQCAt
OTIwLDI2ICs5MjYsMjIgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFFTaXplJiBuZXdTaXplKQogCiAgICAgZmxvYXQgbWlu
aW11bVNjYWxlID0gV2ViQ29yZTo6Y29tcHV0ZU1pbmltdW1TY2FsZUZhY3RvckZvckNvbnRlbnRD
b250YWluZWQoYXR0cmlidXRlcywgdmlld3BvcnRTaXplLCBuZXdTaXplKTsKIAotICAgIGJvb2wg
c2NhbGVDb21taXROb3RpZmllZCA9IGZhbHNlOwotCiAgICAgaWYgKCFxRnV6enlDb21wYXJlKG1p
bmltdW1TY2FsZSwgYXR0cmlidXRlcy5taW5pbXVtU2NhbGUpKSB7CiAgICAgICAgIGludGVyYWN0
aW9uRW5naW5lLT5zZXRDU1NTY2FsZUJvdW5kcyhtaW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4
aW11bVNjYWxlKTsKICAgICAgICAgZW1pdCBxLT5leHBlcmltZW50YWwoKS0+dGVzdCgpLT52aWV3
cG9ydENoYW5nZWQoKTsKIAogICAgICAgICBpZiAoIWludGVyYWN0aW9uRW5naW5lLT5oYWRVc2Vy
SW50ZXJhY3Rpb24oKSAmJiAhcGFnZUlzU3VzcGVuZGVkKSB7Ci0gICAgICAgICAgICAvLyBFbWl0
cyBjb250ZW50c1NjYWxlQ29tbWl0dGVkKCk7Ci0gICAgICAgICAgICBzY2FsZUNvbW1pdE5vdGlm
aWVkID0gdHJ1ZTsKKyAgICAgICAgICAgIC8vIEVtaXRzIGNvbnRlbnRzU2NhbGVDaGFuZ2VkKCk7
CiAgICAgICAgICAgICBpbnRlcmFjdGlvbkVuZ2luZS0+c2V0Q1NTU2NhbGUobWluaW11bVNjYWxl
KTsKICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIEVtaXQgZm9yIHRlc3RpbmcgcHVycG9zZXMs
IHNvIHRoYXQgaXQgY2FuIGJlIHZlcmlmaWVkIHRoYXQKICAgICAvLyB3ZSBkaWRuJ3QgZG8gc2Nh
bGUgYWRqdXN0bWVudC4KLSAgICBpZiAoIXNjYWxlQ29tbWl0Tm90aWZpZWQpCi0gICAgICAgIGVt
aXQgcS0+ZXhwZXJpbWVudGFsKCktPnRlc3QoKS0+Y29udGVudHNTY2FsZUNvbW1pdHRlZCgpOwor
ICAgIGludGVyYWN0aW9uRW5naW5lLT5zZXRJdGVtUmVjdFZpc2libGUoaW50ZXJhY3Rpb25Fbmdp
bmUtPm5lYXJlc3RWYWxpZEJvdW5kcygpKTsKKyAgICBlbWl0IHEtPmV4cGVyaW1lbnRhbCgpLT50
ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKIH0KIAotCiAvKiEKICAgICBccW1sc2ln
bmFsIFdlYlZpZXc6Om9uTmF2aWdhdGlvblJlcXVlc3RlZChXZWJOYXZpZ2F0aW9uUmVxdWVzdCBy
ZXF1ZXN0KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3X3AuaAppbmRleCBmMzNjNmU2NTQ3NjY5OTUwZTA4NDIyZWQ0ZjA1OWRhZTE0Njc1NmVl
Li42YjU1NmQ4OTJhYWNlOTVlNWNhZjcyNjk5ZDAzNmU0OWVkZjg4YTVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKQEAgLTIxNyw2
ICsyMTcsNyBAQCBwcml2YXRlOgogICAgIFFTY29wZWRQb2ludGVyPFFRdWlja1dlYlZpZXdQcml2
YXRlPiBkX3B0cjsKICAgICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsKiBtX2V4cGVyaW1lbnRh
bDsKIAorICAgIGZyaWVuZCBjbGFzcyBRV2ViS2l0VGVzdDsKICAgICBmcmllbmQgY2xhc3MgV2Vi
S2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU7CiAgICAgZnJpZW5kIGNsYXNzIFdlYktp
dDo6UXRXZWJQYWdlTG9hZENsaWVudDsKICAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpRdFdlYlBh
Z2VQb2xpY3lDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggNTcyYTdmMjI2MjJjN2VjYjlkZTBhZjhiMTFmOTBj
ZGI0YTBmNjgyMi4uZmNmN2ViNjE1ZTE2NzNjOTA3ZGU3N2Q2YWJmMDkwODJmZDUwZmRiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Bf
cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
X3AuaApAQCAtMjM5LDYgKzIzOSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUVNjb3BlZFBv
aW50ZXI8V2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU+IGludGVyYWN0aW9uRW5n
aW5lOwogICAgIGJvb2wgcGFnZUlzU3VzcGVuZGVkOworICAgIGZsb2F0IGxhc3RDb21taXR0ZWRT
Y2FsZTsKIH07CiAKICNlbmRpZiAvLyBxcXVpY2t3ZWJ2aWV3X3BfcF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJraXR0ZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3QuY3BwCmluZGV4IDUyOWRmMDFlYjAz
ODA2ZjJlMjg1YmQ1MTlkNjBhNzQ2YmQ2YWRlZDkuLmEzNmY5ZmFhM2VjOTNkMjgzZGZhYThkYzE2
YzI5ZTAwOTEyNjRhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYmtpdHRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXdlYmtpdHRlc3QuY3BwCkBAIC0yMiw5ICsyMiwxMCBAQAogI2luY2x1ZGUgInF3ZWJraXR0ZXN0
X3AuaCIKIAogI2luY2x1ZGUgIlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oIgotI2luY2x1
ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5o
IgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcF9wLmgiCisjaW5jbHVkZSAicXdpbmRvd3N5c3Rl
bWludGVyZmFjZV9xcGEuaCIKKyNpbmNsdWRlIDxRTXV0YWJsZUxpc3RJdGVyYXRvcj4KKyNpbmNs
dWRlIDxRVG91Y2hFdmVudD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDMsNDEg
KzQ0LDcxIEBAIHN0YXRpYyBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCB0b3VjaFBvaW50KHFyZWFs
IHgsIHFyZWFsIHkpCiAgICAgUVBvaW50RiBsb2NhbFBvcyh4LCB5KTsKIAogICAgIFFUb3VjaEV2
ZW50OjpUb3VjaFBvaW50IHBvaW50OworICAgIHBvaW50LnNldElkKDEpOwogICAgIHBvaW50LnNl
dExhc3RQb3MobG9jYWxQb3MpOwogICAgIFFSZWN0RiB0b3VjaFJlY3QoMCwgMCwgNDAsIDQwKTsK
ICAgICB0b3VjaFJlY3QubW92ZUNlbnRlcihsb2NhbFBvcyk7CiAgICAgcG9pbnQuc2V0UmVjdCh0
b3VjaFJlY3QpOworICAgIHBvaW50LnNldFByZXNzdXJlKDEpOwogCiAgICAgcmV0dXJuIHBvaW50
OwogfQogCitib29sIFFXZWJLaXRUZXN0OjpzZW5kVG91Y2hFdmVudChRUXVpY2tXZWJWaWV3KiB3
aW5kb3csIFFFdmVudDo6VHlwZSB0eXBlLCBjb25zdCBRTGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQ
b2ludD4mIHBvaW50cywgdWxvbmcgdGltZXN0YW1wKQoreworICAgIEFTU0VSVCh3aW5kb3cpOwor
CisgICAgc3RhdGljIFFUb3VjaERldmljZSogZGV2aWNlID0gMDsKKyAgICBpZiAoIWRldmljZSkg
eworICAgICAgICBkZXZpY2UgPSBuZXcgUVRvdWNoRGV2aWNlOworICAgICAgICBkZXZpY2UtPnNl
dFR5cGUoUVRvdWNoRGV2aWNlOjpUb3VjaFNjcmVlbik7CisgICAgICAgIFFXaW5kb3dTeXN0ZW1J
bnRlcmZhY2U6OnJlZ2lzdGVyVG91Y2hEZXZpY2UoZGV2aWNlKTsKKyAgICB9CisKKyAgICBRdDo6
VG91Y2hQb2ludFN0YXRlcyB0b3VjaFBvaW50U3RhdGVzID0gMDsKKyAgICBmb3JlYWNoIChjb25z
dCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYgdG91Y2hQb2ludCwgcG9pbnRzKQorICAgICAgICB0
b3VjaFBvaW50U3RhdGVzIHw9IHRvdWNoUG9pbnQuc3RhdGUoKTsKKworICAgIFFUb3VjaEV2ZW50
IGV2ZW50KHR5cGUsIGRldmljZSwgUXQ6Ok5vTW9kaWZpZXIsIHRvdWNoUG9pbnRTdGF0ZXMsIHBv
aW50cyk7CisgICAgZXZlbnQuc2V0VGltZXN0YW1wKHRpbWVzdGFtcCk7CisgICAgZXZlbnQuc2V0
QWNjZXB0ZWQoZmFsc2UpOworCisgICAgd2luZG93LT50b3VjaEV2ZW50KCZldmVudCk7CisKKyAg
ICByZXR1cm4gZXZlbnQuaXNBY2NlcHRlZCgpOworfQorCiBib29sIFFXZWJLaXRUZXN0Ojp0b3Vj
aFRhcChRT2JqZWN0KiBpdGVtLCBxcmVhbCB4LCBxcmVhbCB5LCBpbnQgZGVsYXkpCiB7Ci0gICAg
aWYgKCFxb2JqZWN0X2Nhc3Q8UVF1aWNrV2ViVmlldyo+KGl0ZW0pKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBXZSBvbmx5IHN1cHBvcnQgdGhlIGFjdHVhbCB3ZWIgdmlldyBmb3Igbm93LgotICAgICAg
ICBxV2FybmluZygiVG91Y2ggZXZlbnQgXCJEb3VibGVUYXBcIiBub3QgYWNjZXB0ZWQgYnkgcmVj
ZWl2aW5nIGl0ZW0iKTsKKyAgICBRUXVpY2tXZWJWaWV3KiB3aW5kb3cgPSBxb2JqZWN0X2Nhc3Q8
UVF1aWNrV2ViVmlldyo+KGl0ZW0pOworCisgICAgaWYgKCF3aW5kb3cpIHsKKyAgICAgICAgcVdh
cm5pbmcoIlRvdWNoIGV2ZW50IFwiVG91Y2hCZWdpblwiIG5vdCBhY2NlcHRlZCBieSByZWNlaXZp
bmcgaXRlbSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgLy8gRklYTUU6
IGltcGxlbWVudCBkZWxheSB1c2luZyBRVGVzdDo6cVdhaXQoKSBvciBzaW1pbGFyLgogICAgIFFf
VU5VU0VEKGRlbGF5KTsKLSAgICBtX3dlYlZpZXdQcml2YXRlLT5wYWdlVmlldy0+ZXZlbnRIYW5k
bGVyKCktPmhhbmRsZVNpbmdsZVRhcEV2ZW50KHRvdWNoUG9pbnQoeCwgeSkpOworCisgICAgUUxp
c3Q8UVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQ+IHBvaW50czsKKyAgICBwb2ludHMuYXBwZW5kKHRv
dWNoUG9pbnQoeCwgeSkpOworCisgICAgcG9pbnRzWzBdLnNldFN0YXRlKFF0OjpUb3VjaFBvaW50
UHJlc3NlZCk7CisgICAgc2VuZFRvdWNoRXZlbnQod2luZG93LCBRRXZlbnQ6OlRvdWNoQmVnaW4s
IHBvaW50cywgUURhdGVUaW1lOjpjdXJyZW50TVNlY3NTaW5jZUVwb2NoKCkpOworCisgICAgcG9p
bnRzWzBdLnNldFN0YXRlKFF0OjpUb3VjaFBvaW50UmVsZWFzZWQpOworICAgIHNlbmRUb3VjaEV2
ZW50KHdpbmRvdywgUUV2ZW50OjpUb3VjaEVuZCwgcG9pbnRzLCBRRGF0ZVRpbWU6OmN1cnJlbnRN
U2Vjc1NpbmNlRXBvY2goKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBRV2ViS2l0
VGVzdDo6dG91Y2hEb3VibGVUYXAoUU9iamVjdCogaXRlbSwgcXJlYWwgeCwgcXJlYWwgeSwgaW50
IGRlbGF5KQogewotICAgIGlmICghcW9iamVjdF9jYXN0PFFRdWlja1dlYlZpZXcqPihpdGVtKSkg
ewotICAgICAgICAvLyBGSVhNRTogV2Ugb25seSBzdXBwb3J0IHRoZSBhY3R1YWwgd2ViIHZpZXcg
Zm9yIG5vdy4KLSAgICAgICAgcVdhcm5pbmcoIlRvdWNoIGV2ZW50IFwiRG91YmxlVGFwXCIgbm90
IGFjY2VwdGVkIGJ5IHJlY2VpdmluZyBpdGVtIik7CisgICAgaWYgKCF0b3VjaFRhcChpdGVtLCB4
LCB5LCBkZWxheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CiAKLSAgICAvLyBGSVhN
RTogaW1wbGVtZW50IGRlbGF5IHVzaW5nIFFUZXN0OjpxV2FpdCgpIG9yIHNpbWlsYXIuCi0gICAg
UV9VTlVTRUQoZGVsYXkpOwotCi0gICAgbV93ZWJWaWV3UHJpdmF0ZS0+cGFnZVZpZXctPmV2ZW50
SGFuZGxlcigpLT5oYW5kbGVEb3VibGVUYXBFdmVudCh0b3VjaFBvaW50KHgsIHkpKTsKKyAgICBp
ZiAoIXRvdWNoVGFwKGl0ZW0sIHgsIHksIGRlbGF5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3ZWJraXR0ZXN0X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYmtpdHRlc3RfcC5oCmluZGV4IDYxMzQ4NjQwOTAzZjM4ODVlMjY1MjNlN2NmZWMzZjIw
YzEwYWQ3NDQuLjk4MjM5OGQzYWNkNTdhZmU5YWQ4ZTk0MGZmZjMxNmMwYWExNGM3MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3RfcC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmtpdHRlc3RfcC5oCkBAIC0y
Miw2ICsyMiw3IEBACiAjZGVmaW5lIHF3ZWJraXR0ZXN0X3BfaAogCiAjaW5jbHVkZSAicXdlYmtp
dGdsb2JhbC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogCiAjaW5jbHVkZSA8UXRD
b3JlL1FPYmplY3Q+CiAjaW5jbHVkZSA8UXRDb3JlL1FQb2ludGVyPgpAQCAtNjAsNiArNjEsOCBA
QCBwdWJsaWM6CiAgICAgUVdlYktpdFRlc3QoUVF1aWNrV2ViVmlld1ByaXZhdGUqIHdlYnZpZXdQ
cml2YXRlLCBRT2JqZWN0KiBwYXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5RV2ViS2l0VGVzdCgp
OwogCisgICAgYm9vbCBzZW5kVG91Y2hFdmVudChRUXVpY2tXZWJWaWV3KiB3aW5kb3csIFFFdmVu
dDo6VHlwZSB0eXBlLCBjb25zdCBRTGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQb2ludD4mIHBvaW50
cywgdWxvbmcgdGltZXN0YW1wKTsKKwogICAgIFFTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0Owog
ICAgIFFWYXJpYW50IGNvbnRlbnRzU2NhbGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNw
cAppbmRleCBkM2Q1ZWZlZjI3MDJlMzljZmJlOGNjNmNiZTNiMjhhMzkxZDA3MDVhLi4wZWQzYzJl
ZTZjOTRjMGY3ZjcxYjVhOTE3ZjM2NzVhMmI3YTIyNzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNw
cApAQCAtMTcwLDYgKzE3MCw5IEBAIHFyZWFsIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6
b3V0ZXJCb3VuZGVkQ1NTU2NhbGUocXJlYWwgY3NzU2NhbGUpIGNvbnN0CiAKIHZvaWQgUXRWaWV3
cG9ydEludGVyYWN0aW9uRW5naW5lOjpzZXRJdGVtUmVjdFZpc2libGUoY29uc3QgUVJlY3RGJiBp
dGVtUmVjdCkKIHsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1fc3VzcGVuZENvdW50LAorICAg
ICAgICAic2V0SXRlbVJlY3RWaXNpYmxlIGhhcyB0byBiZSBndWFyZGVkIHVzaW5nIGEgVmlld3Bv
cnRVcGRhdGVEZWZlcnJlci4iKTsKKwogICAgIGlmIChpdGVtUmVjdC5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtMjAyLDEzICsyMDUsNiBAQCB2b2lkIFF0Vmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZTo6YW5pbWF0ZUl0ZW1SZWN0VmlzaWJsZShjb25zdCBRUmVjdEYmIGl0ZW1SZWN0
KQogICAgIGlmIChpdGVtUmVjdCA9PSBjdXJyZW50SXRlbVJlY3RWaXNpYmxlKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICAvLyBGSVhNRTogSW52ZXN0aWdhdGUgd2h5IHRoYXQgYW5pbWF0aW9uIGRv
ZXNuJ3QgcnVuIHdoZW4gd2UgYXJlIHVuZm9jdXNlZC4KLSAgICBpZiAoIW1fdmlld3BvcnQtPmlz
VmlzaWJsZSgpIHx8ICFtX3ZpZXdwb3J0LT5oYXNGb2N1cygpKSB7Ci0gICAgICAgIC8vIEFwcGx5
IHRoZSBlbmQgcmVzdWx0IGltbWVkaWF0ZWx5IHdoZW4gd2UgYXJlIG5vbi12aXNpYmxlLgotICAg
ICAgICBzZXRJdGVtUmVjdFZpc2libGUoaXRlbVJlY3QpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCiAgICAgUUVhc2luZ0N1cnZlIGVhc2luZ0N1cnZlOwogICAgIGVhc2luZ0N1cnZlLnNldEN1
c3RvbVR5cGUocGh5c2ljYWxPdmVyc2hvb3QpOwogCkBAIC0yODYsMTAgKzI4Miw4IEBAIHZvaWQg
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwYWdlUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFFQ
b2ludCYgcGFnZVBvc2l0aW9uCiAKICAgICBRUmVjdEYgZW5kVmlzaWJsZUNvbnRlbnRSZWN0KGVu
ZFBvc2l0aW9uIC8gZW5kSXRlbVNjYWxlLCBtX3ZpZXdwb3J0LT5ib3VuZGluZ1JlY3QoKS5zaXpl
KCkgLyBlbmRJdGVtU2NhbGUpOwogCisgICAgVmlld3BvcnRVcGRhdGVEZWZlcnJlcih0aGlzKTsK
ICAgICBzZXRJdGVtUmVjdFZpc2libGUoZW5kVmlzaWJsZUNvbnRlbnRSZWN0KTsKLQotICAgIC8v
IE1ha2Ugc3VyZSB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0IHdpbGwgYmUgcmVx
dWVzdGVkLgotICAgIGVtaXQgaW5mb3JtVmlzaWJsZUNvbnRlbnRDaGFuZ2UoUVBvaW50RigpKTsK
IH0KIAogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnRvdWNoQmVnaW4oKQpAQCAt
NTUzLDYgKzU0Nyw3IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpjYW5jZWxT
Y3JvbGxBbmltYXRpb24oKQogICAgIC8vIGltbWVkaWF0ZWx5IHBvc2l0aW9uZWQgYmFjayB0byB2
YWxpZCBib3VuZGFyaWVzLgogCiAgICAgbV92aWV3cG9ydC0+Y2FuY2VsRmxpY2soKTsKKyAgICBW
aWV3cG9ydFVwZGF0ZURlZmVycmVyKHRoaXMpOwogICAgIHNldEl0ZW1SZWN0VmlzaWJsZShuZWFy
ZXN0VmFsaWRCb3VuZHMoKSk7CiB9CiAKQEAgLTU4Miw5ICs1NzcsNiBAQCB2b2lkIFF0Vmlld3Bv
cnRJbnRlcmFjdGlvbkVuZ2luZTo6cGluY2hHZXN0dXJlU3RhcnRlZChjb25zdCBRUG9pbnRGJiBw
aW5jaENlbnRlcgogCiAgICAgbV9sYXN0UGluY2hDZW50ZXJJblZpZXdwb3J0Q29vcmRpbmF0ZXMg
PSBwaW5jaENlbnRlckluVmlld3BvcnRDb29yZGluYXRlczsKICAgICBtX3BpbmNoU3RhcnRTY2Fs
ZSA9IG1fY29udGVudC0+Y29udGVudHNTY2FsZSgpOwotCi0gICAgLy8gUmVzZXQgdGhlIHRpbGlu
ZyBsb29rLWFoZWFkIHZlY3RvciBzbyB0aGF0IHRpbGVzIGFsbCBhcm91bmQgdGhlIHZpZXdwb3J0
IHdpbGwgYmUgcmVxdWVzdGVkIG9uIHBpbmNoLWVuZC4KLSAgICBlbWl0IGluZm9ybVZpc2libGVD
b250ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiB9CiAKIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjpwaW5jaEdlc3R1cmVSZXF1ZXN0VXBkYXRlKGNvbnN0IFFQb2ludEYmIHBpbmNoQ2Vu
dGVySW5WaWV3cG9ydENvb3JkaW5hdGVzLCBxcmVhbCB0b3RhbFNjYWxlRmFjdG9yKQpAQCAtNjM5
LDYgKzYzMSw3IEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjppdGVtU2l6ZUNo
YW5nZWQoKQogICAgIGlmIChtX3N1c3BlbmRDb3VudCkKICAgICAgICAgcmV0dXJuOwogCisgICAg
Vmlld3BvcnRVcGRhdGVEZWZlcnJlcih0aGlzKTsKICAgICBzZXRJdGVtUmVjdFZpc2libGUobmVh
cmVzdFZhbGlkQm91bmRzKCkpOwogfQogCg==
</data>
<flag name="review"
          id="151360"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>